Merge branch 'refactor/sidebar-transition2' into 'main'
Refactor Header.jsx to place users name, email, and avatar in a group to the right side of the header See merge request vkuchenik/website-framework!14
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() {
|
export default function Header() {
|
||||||
const recipe = useRecipe({ key: "header" });
|
const recipe = useRecipe({ key: "header" });
|
||||||
@@ -7,29 +7,32 @@ export default function Header() {
|
|||||||
return (
|
return (
|
||||||
<chakra.div css={styles}>
|
<chakra.div css={styles}>
|
||||||
<Button color="color" variant="plain" textStyle="5xl" fontWeight="bold">VDAP</Button>
|
<Button color="color" variant="plain" textStyle="5xl" fontWeight="bold">VDAP</Button>
|
||||||
<Stack gap="0">
|
<Flex align="center" gap={3} pr={6}>
|
||||||
<Text color="color" fontWeight="bold" textStyle="lg">{user.name}</Text>
|
<Stack gap="0" textAlign="right">
|
||||||
<Text color="fg.muted" textStyle="sm">{user.email}</Text>
|
<Text color="color" fontWeight="bold" textStyle="lg">{user.name}</Text>
|
||||||
</Stack>
|
<Text color="fg.muted" textStyle="sm">{user.email}</Text>
|
||||||
{/* Add a drop down menu to the avatar */}
|
</Stack>
|
||||||
<Menu.Root>
|
|
||||||
<Menu.Trigger rounded="full" focusRing="outside">
|
{/* Add a drop down menu to the avatar */}
|
||||||
<Avatar.Root>
|
<Menu.Root>
|
||||||
<Avatar.Fallback name={user.name} />
|
<Menu.Trigger rounded="full" focusRing="outside">
|
||||||
<Avatar.Image src={user.avatar} />
|
<Avatar.Root>
|
||||||
</Avatar.Root>
|
<Avatar.Fallback name={user.name} />
|
||||||
</Menu.Trigger>
|
<Avatar.Image src={user.avatar} />
|
||||||
<Portal>
|
</Avatar.Root>
|
||||||
<Menu.Positioner zIndex="popover">
|
</Menu.Trigger>
|
||||||
<Menu.Content>
|
<Portal>
|
||||||
<Menu.Item value="account">Account</Menu.Item>
|
<Menu.Positioner zIndex="popover">
|
||||||
<Menu.Item value="settings">Settings</Menu.Item>
|
<Menu.Content>
|
||||||
<Menu.Item value="logout">Logout</Menu.Item>
|
<Menu.Item value="account">Account</Menu.Item>
|
||||||
</Menu.Content>
|
<Menu.Item value="settings">Settings</Menu.Item>
|
||||||
</Menu.Positioner>
|
<Menu.Item value="logout">Logout</Menu.Item>
|
||||||
</Portal>
|
</Menu.Content>
|
||||||
</Menu.Root>
|
</Menu.Positioner>
|
||||||
{/* End drop down menu */}
|
</Portal>
|
||||||
|
</Menu.Root>
|
||||||
|
{/* End drop down menu */}
|
||||||
|
</Flex>
|
||||||
</chakra.div>
|
</chakra.div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
import { Input, InputGroup } from "@chakra-ui/react";
|
import { Input, InputGroup } from "@chakra-ui/react";
|
||||||
import { FiSearch } from "react-icons/fi"
|
import { FiSearch } from "react-icons/fi"
|
||||||
|
|
||||||
export function SearchBar({ placeholder="Search...", size="sm", width="200px"}) {
|
export function SearchBar({ placeholder="Enter a volcano to search", size="sm", width="210px" }) {
|
||||||
return (
|
return (
|
||||||
<InputGroup startElement={<FiSearch />}>
|
<InputGroup startElement={<FiSearch />}>
|
||||||
<Input placeholder="Enter volcano to search" />
|
<Input
|
||||||
|
placeholder={placeholder}
|
||||||
|
size={size}
|
||||||
|
width={width}
|
||||||
|
borderRadius="full"
|
||||||
|
|
||||||
|
/>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,7 @@ export default function Sidebar() {
|
|||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
css={styles.root}
|
css={styles.root}
|
||||||
width={isOpen ? "100%" : "86px"}
|
width={isOpen ? "210px" : "71px"}
|
||||||
transition="width 0.4s ease"
|
transition="width 0.4s ease"
|
||||||
>
|
>
|
||||||
<IconButton
|
<IconButton
|
||||||
|
|||||||
+4
-2
@@ -56,8 +56,10 @@ const config = defineConfig({
|
|||||||
base100: { value: {base: "#f7f9fa", _dark: "#787b73"}},
|
base100: { value: {base: "#f7f9fa", _dark: "#787b73"}},
|
||||||
base200: { value: {base: "#eef2f6", _dark: "#242424"}},
|
base200: { value: {base: "#eef2f6", _dark: "#242424"}},
|
||||||
base300: { value: {base: "#dfe5ed", _dark: "#60645a"}},
|
base300: { value: {base: "#dfe5ed", _dark: "#60645a"}},
|
||||||
primary: { value: {base: "#9cd855", _dark: "#629631"}},
|
// primary: { value: {base: "#9cd855", _dark: "#629631"}},
|
||||||
primaryLt: { value: {base: "#c9e9a0", _dark: "#92948e"}},
|
primary: { value: {base: "#2B98F8", _dark: "#629631"}},
|
||||||
|
// primaryLt: { value: {base: "#c9e9a0", _dark: "#92948e"}},
|
||||||
|
primaryLt: { value: {base: "#2BCFF8", _dark: "#92948e"}},
|
||||||
secondaryBG: { value: {base: "#EDF1F1", _dark: "#121212"}},
|
secondaryBG: { value: {base: "#EDF1F1", _dark: "#121212"}},
|
||||||
border: {value: {base: "#000000", _dark: "#CBCBCB"}},
|
border: {value: {base: "#000000", _dark: "#CBCBCB"}},
|
||||||
text: {value: {base: "#19332D", _dark: "#CBCBCB"}},
|
text: {value: {base: "#19332D", _dark: "#CBCBCB"}},
|
||||||
|
|||||||
Reference in New Issue
Block a user