Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Commit

Permalink
fix chakra portal issue
Browse files Browse the repository at this point in the history
  • Loading branch information
benhoneywill committed Mar 15, 2022
1 parent 7352dfc commit d735394
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 27 deletions.
4 changes: 2 additions & 2 deletions app/apps/users/helpers/get-avatar-url.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import type { User } from "@prisma/client";
import cloudinaryClient from "integrations/cloudinary-client";

const getAvatarUrl = (
user: Pick<User, "avatar_id" | "avatar_version">,
user: Pick<User, "avatar_id" | "avatar_version"> | null | undefined,
size: number
) => {
if (!user.avatar_id) return "";
if (!user?.avatar_id) return "";

const version = user.avatar_version ? `${user.avatar_version}` : undefined;

Expand Down
47 changes: 22 additions & 25 deletions app/components/header/components/header-user-menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { Menu, MenuList, MenuItem, MenuButton } from "@chakra-ui/menu";
import Icon from "@chakra-ui/icon";
import { SkeletonCircle } from "@chakra-ui/skeleton";
import { FaChevronDown, FaCog, FaSignOutAlt, FaUser } from "react-icons/fa";
import { Portal } from "@chakra-ui/portal";

import useCurrentUser from "app/apps/users/hooks/use-current-user";
import logoutMutation from "app/apps/auth/mutations/logout-mutation";
Expand Down Expand Up @@ -39,7 +38,7 @@ const UserMenuButton: FC = () => {
px={1}
rightIcon={<Icon pr={1} as={FaChevronDown} />}
>
{user && <Avatar size="xs" src={getAvatarUrl(user, 100)} />}
<Avatar size="xs" src={getAvatarUrl(user, 100)} />
</MenuButton>
</Fade>
);
Expand All @@ -54,32 +53,30 @@ const HeaderUserMenu: FC = () => {
<Menu>
<UserMenuButton />

<Portal>
<MenuList>
{user && (
<Link
href={Routes.ProfilePage({ username: user.username })}
passHref
>
<MenuItem as="a" icon={<FaUser />}>
My profile
</MenuItem>
</Link>
)}
<Link href={Routes.PreferencesPage()} passHref>
<MenuItem as="a" icon={<FaCog />}>
My preferences
<MenuList>
{user && (
<Link
href={Routes.ProfilePage({ username: user.username })}
passHref
>
<MenuItem as="a" icon={<FaUser />}>
My profile
</MenuItem>
</Link>
<MenuItem
as="button"
onClick={() => logout()}
icon={<FaSignOutAlt />}
>
Logout
)}
<Link href={Routes.PreferencesPage()} passHref>
<MenuItem as="a" icon={<FaCog />}>
My preferences
</MenuItem>
</MenuList>
</Portal>
</Link>
<MenuItem
as="button"
onClick={() => logout()}
icon={<FaSignOutAlt />}
>
Logout
</MenuItem>
</MenuList>
</Menu>
</Suspense>
);
Expand Down

0 comments on commit d735394

Please sign in to comment.