"use client"; import { useState } from "react"; import Image from "next/image"; import Link from "next/link"; import { SHOP_INFO, MOCK_USERS } from "@/lib/constants"; import type { User } from "@/lib/types"; /** * Site Header — sticky top bar, always visible on all screen sizes. * * 3-column layout: * [Brand: logo + name + tagline] | [Center: quick info] | [Auth button] * * Login state cycles for UI demo (click the button to switch): * Guest → Manager (Quản lý) → Staff → Guest * * Responsive: * - Logo + shop name : always visible * - Tagline : hidden on mobile, shown on md+ * - Center info : hidden on mobile, shown on lg+ * - Button label : hidden on xs, shown on sm+ */ export default function Header() { const [user, setUser] = useState(null); const cycleUser = () => { if (!user) setUser(MOCK_USERS.manager); else if (user.role === "manager") setUser(MOCK_USERS.staff); else setUser(null); }; return (
{/* ── LEFT: Brand ── */} {/* Logo */}
{`Logo
{/* Name + tagline */}
{SHOP_INFO.name} {SHOP_INFO.tagline}
{/* ── RIGHT: Auth ── */}
{!user ? ( /* Guest: sign-in button */ ) : user.role === "manager" ? ( /* Manager: gold badge */ ) : ( /* Staff / regular user: avatar + name */ )}
); }