"use client" import { useEffect, useState } from "react" import Link from "next/link" import { useTheme } from "@/components/theme-provider" import { ChevronsUpDownIcon, MonitorIcon, MoonIcon, PaletteIcon, SettingsIcon, SunIcon, } from "lucide-react" import { cn } from "@/lib/utils" import { Avatar, AvatarFallback } from "@/components/ui/avatar" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "@/components/ui/sidebar" /** Sidebar footer account menu — app-shell-1 NavUser. @see https://reui.io/preview/base/app-shell-1 */ const THEMES = [ { value: "light" as const, label: "Светлая", icon: , }, { value: "dark" as const, label: "Тёмная", icon: , }, { value: "system" as const, label: "Системная", icon: , }, ] function ThemeSegmentedToggle() { const { theme, setTheme } = useTheme() const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) }, []) const currentTheme = mounted ? (theme ?? "system") : "system" return (
e.stopPropagation()} onPointerDown={(e) => e.stopPropagation()} > {THEMES.map(({ value, label, icon }) => { const isActive = currentTheme === value return ( ) })}
) } export function NavUser() { const { isMobile } = useSidebar() const name = "Оператор" const email = "локальный доступ" const fallback = "ОП" return ( } > {fallback}
{name} {email}
{fallback}
{name} {email}
}> Настройки Тема
) }