"use client"; import { ChevronUp } from "lucide-react"; import Image from "next/image"; import { useRouter } from "next/navigation"; import type { User } from "next-auth"; import { signOut, useSession } from "next-auth/react"; import { useTheme } from "next-themes"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "@/components/ui/sidebar"; import { guestRegex } from "@/lib/constants"; import { LoaderIcon } from "./icons"; import { toast } from "./toast"; export function SidebarUserNav({ user }: { user: User }) { const router = useRouter(); const { data, status } = useSession(); const { setTheme, resolvedTheme } = useTheme(); const isGuest = guestRegex.test(data?.user?.email ?? ""); return ( {status === "loading" ? (
正在获取登录状态
) : ( {user.email {isGuest ? "访客用户" : (user?.name || user?.email)} )} setTheme(resolvedTheme === "dark" ? "light" : "dark") } > 切换到 {resolvedTheme === "light" ? "深色" : "浅色"} 模式 ); }