From c9dd5255d95f9c38e5d11b5fc14cab8554203b88 Mon Sep 17 00:00:00 2001 From: talksik Date: Fri, 1 Apr 2022 16:05:32 -0400 Subject: [PATCH] starting to use materia uil --- .../src/components/ProtectedRoute/index.tsx | 6 +- .../desktop/src/pages/Home/header/index.tsx | 121 +++++++++++++----- 2 files changed, 95 insertions(+), 32 deletions(-) diff --git a/packages/desktop/src/components/ProtectedRoute/index.tsx b/packages/desktop/src/components/ProtectedRoute/index.tsx index 78f093c..a99f7f6 100644 --- a/packages/desktop/src/components/ProtectedRoute/index.tsx +++ b/packages/desktop/src/components/ProtectedRoute/index.tsx @@ -13,7 +13,7 @@ export default function ProtectedRoute({ }: { children?: React.ReactNode; }) { - const { isLoading, isError, isSuccess, refetch } = useAuthCheck(); + const { isLoading, isError, isFetching, isSuccess, refetch } = useAuthCheck(); const [jwtToken, setJwtToken] = useRecoilState($jwtToken); @@ -31,6 +31,8 @@ export default function ProtectedRoute({ }, []); useEffect(() => { + console.log("change in jwt token"); + if (jwtToken) { window.electronAPI.store.set(STORE_ITEMS.AUTH_SESSION_JWT, jwtToken); } else { @@ -41,7 +43,7 @@ export default function ProtectedRoute({ refetch(); }, [jwtToken]); - if (isLoading) { + if (isLoading || isFetching) { return (
diff --git a/packages/desktop/src/pages/Home/header/index.tsx b/packages/desktop/src/pages/Home/header/index.tsx index c59a223..1667557 100644 --- a/packages/desktop/src/pages/Home/header/index.tsx +++ b/packages/desktop/src/pages/Home/header/index.tsx @@ -1,17 +1,23 @@ import { $jwtToken, $searchQuery } from "../../../controller/recoil"; -import { Dropdown, Menu } from "antd"; +import { + Avatar, + Divider, + ListItemIcon, + Menu, + MenuItem, + MenuProps, +} from "@mui/material"; +import { Check, Logout } from "@mui/icons-material"; import Logo, { LogoType } from "../../../components/Logo"; import { useRecoilState, useSetRecoilState } from "recoil"; +import { useRef, useState } from "react"; import { GlobalHotKeys } from "react-hotkeys"; -import NirvanaApi from "../../../controller/nirvanaApi"; -import { STORE_ITEMS } from "../../../electron/constants"; import SocketChannels from "@nirvana/core/sockets/channels"; import UserAvatarWithStatus from "../../../components/User/userAvatarWithStatus"; import { UserStatus } from "@nirvana/core/models"; import { socket } from "../../../nirvanaApp"; import { useGetUserDetails } from "../../../controller/index"; -import { useRef } from "react"; export default function Header() { const { data: userDetailsResponse, isLoading } = useGetUserDetails(); @@ -21,11 +27,23 @@ export default function Header() { const inputRef = useRef(null); + const [anchorEl, setAnchorEl] = useState(null); + const openAvatarMenu = Boolean(anchorEl); + + const handleClick = (event: any) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + if (isLoading) { return getting data; } const logOut = () => { + console.log("logging out!"); setJwtToken(undefined); }; @@ -38,25 +56,6 @@ export default function Header() { ); }; - const ProfileMenu = ( - - - - - - {userDetailsResponse.user.status === UserStatus.ONLINE ? ( - - ) : ( - - )} - - - ); - // hot keys for selecting search const handleSearch = () => { if (inputRef?.current) { @@ -89,14 +88,76 @@ export default function Header() { flow state - - - {userDetailsResponse?.user && ( - - )} - - + + {userDetailsResponse?.user && ( + + )} +
+ + + updateStatus(UserStatus.ONLINE)}> + + + + Online + + updateStatus(UserStatus.OFFLINE)}> + + + + Away + + updateStatus(UserStatus.FLOW_STATE)}> + + + + Flow State + + + + + + + + + Sign Out + + ); }