"use client"; import Link from "next/link"; import { ArrowLeft } from "lucide-react"; import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { ADMIN_SETTINGS_NAV_ITEMS } from "../_lib/settings-navigation"; import type { AdminSettingsNavItem } from "../_lib/types"; function SettingsQuickAction({ activeTab, item, onTabChange, stretched = false, }: { activeTab: string; item: AdminSettingsNavItem; onTabChange: (value: string) => void; stretched?: boolean; }) { const Icon = item.icon; const className = item.value === activeTab ? "border-foreground/10 bg-foreground text-background shadow-sm hover:!bg-foreground/90 hover:!text-background dark:border-white/20 dark:bg-white dark:text-black dark:hover:!bg-white/90 dark:hover:!text-black" : "border-transparent bg-transparent text-muted-foreground hover:!border-border/80 hover:!bg-zinc-100 hover:!text-foreground dark:hover:!bg-zinc-900/50"; const layoutClassName = stretched ? "h-8 w-full min-w-0 justify-center gap-1.5 rounded-md border px-2.5 text-xs" : "h-8 shrink-0 gap-1.5 rounded-md border px-2.5 text-xs"; if (item.href) { return ( {item.label} ); } return ( onTabChange(item.value)} size="sm" variant="ghost" > {item.label} ); } export function AdminSettingsNavigation({ activeTab, onTabChange, }: { activeTab: string; onTabChange: (value: string) => void; }) { const router = useRouter(); const activeItem = ADMIN_SETTINGS_NAV_ITEMS.find( (item) => item.value === activeTab ); const handleSelectChange = (value: string) => { const nextItem = ADMIN_SETTINGS_NAV_ITEMS.find( (item) => item.value === value ); if (nextItem?.href) { router.push(nextItem.href); return; } onTabChange(value); }; return ( {ADMIN_SETTINGS_NAV_ITEMS.map((item) => ( {item.label} ))} 返回 {ADMIN_SETTINGS_NAV_ITEMS.map((item) => ( ))} 返回工作台 ); }