import { useState } from "react"; import { Form } from "@remix-run/react"; import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar"; import { Button } from "~/components/ui/button"; import { Input } from "~/components/ui/input"; import { Badge } from "~/components/ui/badge"; import { ModeToggle } from "~/components/ui/dark-mode-toggle"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "~/components/ui/dropdown-menu"; import { Sheet, SheetContent, SheetTrigger } from "~/components/ui/sheet"; import { Menu, Search, Bell, Sun, Moon, User, Settings, LogOut, ChevronDown, MoreHorizontal, PanelLeftClose, PanelLeft } from "lucide-react"; import { SessionData } from "~/sessions.server"; // Import SessionData type interface PengelolaHeaderProps { onMenuClick: () => void; sidebarCollapsed: boolean; isMobile: boolean; user: SessionData; // Add user prop } export function PengelolaHeader({ onMenuClick, sidebarCollapsed, isMobile, user // Add user prop }: PengelolaHeaderProps) { // const [isDark, setIsDark] = useState(false); // Get user initials for avatar fallback const getUserInitials = (name: string) => { return name .split(" ") .map((n) => n[0]) .join("") .toUpperCase() .slice(0, 2); }; return (
{/* Mobile header */}
{/* Hamburger menu button */} {/* Mobile logo */}
LOGO
{/* Mobile more menu */}
{/* Desktop search - Commented out for now */} {/*
⌘K
*/}
{/* Desktop header actions */}
{/* Theme toggle */} {/* Notifications */}

Notifications 3 new

New user registered

2 minutes ago

System update available

1 hour ago

New message received

3 hours ago

{/* User menu */}
{user.phone || "User"}
{user.email || "user@example.com"}
Profile Settings
); }