This commit is contained in:
ct
2025-07-15 03:27:39 +08:00
parent eb207b98d9
commit 852346ee3b
13 changed files with 44 additions and 61 deletions

View File

@@ -7,8 +7,9 @@ import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/co
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
import { UserMenuContent } from '@/components/user-menu-content';
import { cn } from '@/lib/utils';
import { type BreadcrumbItem, type NavItem, type SharedData } from '@/types';
import { Link, usePage } from '@inertiajs/react';
import { type BreadcrumbItem, type NavItem } from '@/types';
import { Link } from '@inertiajs/react';
import useUserStore from '@/stores/UserStore';
import { LayoutGrid, Menu, Search } from 'lucide-react';
import AppLogo from './app-logo';
import AppLogoIcon from './app-logo-icon';
@@ -41,8 +42,7 @@ interface AppHeaderProps {
}
export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
const page = usePage<SharedData>();
const { auth } = page.props;
const { user } = useUserStore();
return (
<>
<div className="border-sidebar-border/80 border-b">
@@ -156,7 +156,7 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className="w-56" align="end">
<UserMenuContent user={auth.user} />
<UserMenuContent user={user} />
</DropdownMenuContent>
</DropdownMenu>
</div>

View File

@@ -2,8 +2,9 @@ import { NavFooter } from '@/components/nav-footer';
import { NavMain } from '@/components/nav-main';
import { NavUser } from '@/components/nav-user';
import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar';
import { SharedData, type NavItem } from '@/types';
import { Link, usePage } from '@inertiajs/react';
import { type NavItem } from '@/types';
import { Link } from '@inertiajs/react';
import useUserStore from '@/stores/UserStore';
import { LayoutGrid, UserCog } from 'lucide-react';
import AppLogo from './app-logo';
@@ -42,7 +43,7 @@ const footerNavItems: NavItem[] = [
];
export function AppSidebar() {
const { auth } = usePage<SharedData>().props;
const { user } = useUserStore();
return (
<Sidebar collapsible="icon" variant="inset">

View File

@@ -3,12 +3,11 @@ import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '@/c
import { UserInfo } from '@/components/user-info';
import { UserMenuContent } from '@/components/user-menu-content';
import { useIsMobile } from '@/hooks/use-mobile';
import { type SharedData } from '@/types';
import { usePage } from '@inertiajs/react';
import useUserStore from '@/stores/UserStore';
import { ChevronsUpDown } from 'lucide-react';
export function NavUser() {
const { auth } = usePage<SharedData>().props;
const { user } = useUserStore();
const { state } = useSidebar();
const isMobile = useIsMobile();
@@ -18,7 +17,7 @@ export function NavUser() {
<DropdownMenu>
<DropdownMenuTrigger asChild>
<SidebarMenuButton size="lg" className="text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent group">
<UserInfo user={auth.user} />
<UserInfo user={user} />
<ChevronsUpDown className="ml-auto size-4" />
</SidebarMenuButton>
</DropdownMenuTrigger>
@@ -27,7 +26,7 @@ export function NavUser() {
align="end"
side={isMobile ? 'bottom' : state === 'collapsed' ? 'left' : 'bottom'}
>
<UserMenuContent user={auth.user} />
<UserMenuContent user={user} />
</DropdownMenuContent>
</DropdownMenu>
</SidebarMenuItem>