Refactor Header.jsx to place users name, email, and avatar in a group on the right side of the header
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { chakra, useRecipe, Box, Button, Avatar, Stack, Text, Menu, Portal } from "@chakra-ui/react"
|
||||
import { chakra, useRecipe, Box, Button, Avatar, Stack, Text, Menu, Portal, Flex } from "@chakra-ui/react"
|
||||
|
||||
export default function Header() {
|
||||
const recipe = useRecipe({ key: "header" });
|
||||
@@ -7,29 +7,32 @@ export default function Header() {
|
||||
return (
|
||||
<chakra.div css={styles}>
|
||||
<Button color="color" variant="plain" textStyle="5xl" fontWeight="bold">VDAP</Button>
|
||||
<Stack gap="0">
|
||||
<Text color="color" fontWeight="bold" textStyle="lg">{user.name}</Text>
|
||||
<Text color="fg.muted" textStyle="sm">{user.email}</Text>
|
||||
</Stack>
|
||||
{/* Add a drop down menu to the avatar */}
|
||||
<Menu.Root>
|
||||
<Menu.Trigger rounded="full" focusRing="outside">
|
||||
<Avatar.Root>
|
||||
<Avatar.Fallback name={user.name} />
|
||||
<Avatar.Image src={user.avatar} />
|
||||
</Avatar.Root>
|
||||
</Menu.Trigger>
|
||||
<Portal>
|
||||
<Menu.Positioner zIndex="popover">
|
||||
<Menu.Content>
|
||||
<Menu.Item value="account">Account</Menu.Item>
|
||||
<Menu.Item value="settings">Settings</Menu.Item>
|
||||
<Menu.Item value="logout">Logout</Menu.Item>
|
||||
</Menu.Content>
|
||||
</Menu.Positioner>
|
||||
</Portal>
|
||||
</Menu.Root>
|
||||
{/* End drop down menu */}
|
||||
<Flex align="center" gap={3} pr={6}>
|
||||
<Stack gap="0" textAlign="right">
|
||||
<Text color="color" fontWeight="bold" textStyle="lg">{user.name}</Text>
|
||||
<Text color="fg.muted" textStyle="sm">{user.email}</Text>
|
||||
</Stack>
|
||||
|
||||
{/* Add a drop down menu to the avatar */}
|
||||
<Menu.Root>
|
||||
<Menu.Trigger rounded="full" focusRing="outside">
|
||||
<Avatar.Root>
|
||||
<Avatar.Fallback name={user.name} />
|
||||
<Avatar.Image src={user.avatar} />
|
||||
</Avatar.Root>
|
||||
</Menu.Trigger>
|
||||
<Portal>
|
||||
<Menu.Positioner zIndex="popover">
|
||||
<Menu.Content>
|
||||
<Menu.Item value="account">Account</Menu.Item>
|
||||
<Menu.Item value="settings">Settings</Menu.Item>
|
||||
<Menu.Item value="logout">Logout</Menu.Item>
|
||||
</Menu.Content>
|
||||
</Menu.Positioner>
|
||||
</Portal>
|
||||
</Menu.Root>
|
||||
{/* End drop down menu */}
|
||||
</Flex>
|
||||
</chakra.div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user