diff --git a/src/components/Header.tsx b/src/components/Header.tsx new file mode 100644 index 0000000..2b6dd46 --- /dev/null +++ b/src/components/Header.tsx @@ -0,0 +1,117 @@ +import { useState } from "react"; +import { Link } from "react-router-dom"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Badge } from "@/components/ui/badge"; +import { Avatar, AvatarFallback } from "@/components/ui/avatar"; +import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet"; +import { + DropdownMenu, DropdownMenuContent, DropdownMenuItem, + DropdownMenuSeparator, DropdownMenuTrigger +} from "@/components/ui/dropdown-menu"; +import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; +import { Separator } from "@/components/ui/separator"; +import { + Menu, Search, Bell, User, Settings, LogOut, Clock +} from "lucide-react"; +import { ThemeToggle } from "@/components/ThemeToggle"; +import { SidebarContent } from "@/components/Sidebar"; +import { useAuth } from "@/hooks/use-tygarun"; + +const notifications = [ + { title: "New task assigned", desc: "Alex assigned you to API integration", time: "5m ago", unread: true }, + { title: "Comment on task", desc: "Maria commented on Homepage redesign", time: "22m ago", unread: true }, + { title: "Project completed", desc: "API Migration marked as complete", time: "1h ago", unread: false }, +]; + +export default function Header() { + const [mobileOpen, setMobileOpen] = useState(false); + const { signout } = useAuth(); + + return ( +
+
+ {/* Mobile menu */} + + + + + + + + + + {/* Search */} +
+
+ + +
+
+ +
+ {/* Notifications */} + + + + + +
+
+

Notifications

+ 2 new +
+
+
+ {notifications.map((n, i) => ( +
+
+ {n.unread &&
} +
+

{n.title}

+

{n.desc}

+

+ {n.time} +

+
+
+
+ ))} +
+
+ +
+ + + + + + + + {/* User Menu */} + + + + + + Profile + Settings + + signout()} className="text-red-600"> Log Out + + +
+
+
+ ); +}