Files
Web-Frontend/client/src/components/layout/Header.jsx
T

40 lines
1.4 KiB
React
Raw Normal View History

2026-06-04 15:30:01 -07:00
import { useRecipe, Button, Stack, Text, Flex } from "@chakra-ui/react"
import UserAvatarMenu from "./UserAvatarMenu.jsx";
2026-06-04 15:30:01 -07:00
import { NavLink } from "react-router-dom";
2026-06-05 13:06:12 -07:00
// Import the asset properly so Vite can bundle it for any server
// import defaultAvatar from "@/assets/user_profile.svg";
// TODO: Pull this dynamically from an Auth Context later!
const placeholderUser = {
name: "Princess Zelda",
email: "zelda.royal@hyrule.gov",
// avatar: defaultAvatar
}
2026-06-05 13:06:12 -07:00
// Accept a 'user' prop now, fallback to placeholder if empty
export default function Header({ user = placeholderUser }) {
const recipe = useRecipe({ key: "header" });
const styles = recipe();
2026-06-05 13:06:12 -07:00
return (
<Flex css={styles} justify="space-between" align="center" width="100%">
{/* Home Link Logo */}
<Button as={NavLink} to="/home" color="color" variant="plain" textStyle="5xl" fontWeight="bold">
VDAP
</Button>
2026-06-05 13:06:12 -07:00
{/* User Profile Section */}
<Flex align="center" gap={3} pr={6}>
<Stack gap="0" textAlign="right" cursor="default">
<Text color="color" fontWeight="bold" textStyle="lg">{user.name}</Text>
<Text color="fg.muted" textStyle="sm">{user.email}</Text>
</Stack>
<UserAvatarMenu
name={user.name}
avatar={user.avatar}
/>
</Flex>
</Flex>
);
}