From b275a3668b140d9ce4663de646519d2dbd4297e7 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Tue, 24 Feb 2026 22:41:36 +0800 Subject: refactor: rewrite login and settings pages --- packages/ui-new/src/components/sidebar.tsx | 117 +++++++++++++++-------------- 1 file changed, 61 insertions(+), 56 deletions(-) (limited to 'packages/ui-new/src/components/sidebar.tsx') diff --git a/packages/ui-new/src/components/sidebar.tsx b/packages/ui-new/src/components/sidebar.tsx index a8c899b..0147b0a 100644 --- a/packages/ui-new/src/components/sidebar.tsx +++ b/packages/ui-new/src/components/sidebar.tsx @@ -1,51 +1,62 @@ -import { Bot, Folder, Home, Package, Settings } from "lucide-react"; -import { Link, useLocation } from "react-router"; -import { useUIStore, type ViewType } from "../stores/ui-store"; +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 { - view: string; Icon: React.ComponentType>; label: string; to: string; } -function NavItem({ view, Icon, label, to }: NavItemProps) { - const uiStore = useUIStore(); +function NavItem({ Icon, label, to }: NavItemProps) { + const navigate = useNavigate(); const location = useLocation(); - const isActive = location.pathname === to || uiStore.currentView === view; + const isActive = location.pathname === to; const handleClick = () => { - uiStore.setView(view as ViewType); + navigate(to); }; return ( - - - + ); } export function Sidebar() { - const uiStore = useUIStore(); + const authStore = useAuthStore(); return ( -