From 66668d85d603c5841d755a6023aa1925559fc6d4 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Wed, 25 Feb 2026 01:32:51 +0800 Subject: chore(workspace): replace legacy codes --- packages/ui/src/components/sidebar.tsx | 185 +++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 packages/ui/src/components/sidebar.tsx (limited to 'packages/ui/src/components/sidebar.tsx') diff --git a/packages/ui/src/components/sidebar.tsx b/packages/ui/src/components/sidebar.tsx new file mode 100644 index 0000000..0147b0a --- /dev/null +++ b/packages/ui/src/components/sidebar.tsx @@ -0,0 +1,185 @@ +import { Folder, Home, LogOutIcon, Settings } from "lucide-react"; +import { useLocation, useNavigate } from "react-router"; +import { cn } from "@/lib/utils"; +import { useAuthStore } from "@/models/auth"; +import { Button } from "./ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuTrigger, +} from "./ui/dropdown-menu"; +import { UserAvatar } from "./user-avatar"; + +interface NavItemProps { + Icon: React.ComponentType>; + label: string; + to: string; +} + +function NavItem({ Icon, label, to }: NavItemProps) { + const navigate = useNavigate(); + const location = useLocation(); + const isActive = location.pathname === to; + + const handleClick = () => { + navigate(to); + }; + + return ( + + ); +} + +export function Sidebar() { + const authStore = useAuthStore(); + + return ( + + ); +} -- cgit v1.2.3-70-g09d2