From 4b78af83c3eebc4f2622a2e9b4fb8a8772885653 Mon Sep 17 00:00:00 2001 From: Yash Rathore Date: Tue, 10 Nov 2020 17:13:25 +0530 Subject: [PATCH] made drop down menu --- web/src/layouts/MainLayout/MainLayout.js | 94 ++++++++++++++++++------ 1 file changed, 73 insertions(+), 21 deletions(-) diff --git a/web/src/layouts/MainLayout/MainLayout.js b/web/src/layouts/MainLayout/MainLayout.js index eb4516e..33a8215 100644 --- a/web/src/layouts/MainLayout/MainLayout.js +++ b/web/src/layouts/MainLayout/MainLayout.js @@ -1,8 +1,10 @@ -import { Link, routes } from '@redwoodjs/router' +import { useState, useEffect } from 'react' +import { Link, navigate ,routes } from '@redwoodjs/router' import { useAuth } from '@redwoodjs/auth' import { Flash } from '@redwoodjs/web' import Tooltip from '@material-ui/core/Tooltip'; import { useQuery } from '@redwoodjs/web' +import Popover from '@material-ui/core/Popover' import {getActiveClasses} from 'get-active-classes' export const QUERY = gql` @@ -10,18 +12,42 @@ export const QUERY = gql` user: user(id: $id) { id image + userName + name } } ` - import avatar from 'src/assets/harold.jpg' import Svg from 'src/components/Svg' import ImageUploader from 'src/components/ImageUploader' import logo from 'src/layouts/MainLayout/Logo_2.jpg' -const MainLayout = ({ children }) => { +const MainLayout = ({ children}) => { const { logIn, logOut, isAuthenticated, currentUser } = useAuth() const {data, loading} = useQuery(QUERY, {variables: {id: currentUser?.sub}}) + console.log(data?.user?.name); + const [isOpen, setIsOpen] = useState(false) + const [anchorEl, setAnchorEl] = useState(null) + const [popoverId, setPopoverId] = useState(undefined) + const openPopover = (target) => { + setAnchorEl(target) + setPopoverId('simple-popover') + setIsOpen(true) + } + + const closePopover = () => { + setAnchorEl(null) + setPopoverId(undefined) + setIsOpen(false) + } + + const togglePopover = ({ currentTarget }) => { + if (isOpen) { + return closePopover() + } + + openPopover(currentTarget) + } return ( <>
@@ -47,27 +73,53 @@ const MainLayout = ({ children }) => { + + { + isAuthenticated && currentUser? +
+ +

Hello {data?.user?.name}

+ +
+
+ +
Edit Profile
+ + Logout +
: +
+ LOGIN/SIGNUP +
+ } +