"use client"; import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { BarChart3, BookOpen, ClipboardList, Home, Wallet, } from "lucide-react"; import { useTranslation } from "react-i18next"; import { isCreditFundingPlayer } from "@/lib/player-funding-mode"; import { cn } from "@/lib/utils"; import { usePlayerSessionStore } from "@/stores/player-session-store"; const navItems = [ { href: "/hall", labelKey: "nav.home", labelDefault: "首页", icon: Home, match: (p: string) => p === "/hall", }, { href: "/results", labelKey: "nav.results", labelDefault: "开奖结果", icon: BarChart3, match: (p: string) => p === "/results" || p.startsWith("/results/"), }, { href: "/orders", labelKey: "nav.orders", labelDefault: "我的注单", icon: ClipboardList, match: (p: string) => p === "/orders" || p.startsWith("/orders/"), }, { href: "/wallet", labelKey: "nav.wallet", creditLabelKey: "nav.credit", labelDefault: "钱包", creditLabelDefault: "信用", icon: Wallet, match: (p: string) => p === "/wallet" || p.startsWith("/wallet/"), }, { href: "/rules", labelKey: "nav.rules", labelDefault: "规则", icon: BookOpen, match: (p: string) => p === "/rules", }, ] as const; /** 与 lotteryadmin `NAV_BTN` / `NAV_ACTIVE` 一致 */ const playerNavLinkClass = "flex h-8 w-full items-center gap-2 rounded-md px-2.5 text-[13px] leading-snug font-normal text-sidebar-foreground/90 transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0"; const playerNavLinkActiveClass = "bg-sidebar-primary/90 font-medium text-sidebar-primary-foreground shadow-sm hover:bg-sidebar-primary/90 hover:text-sidebar-primary-foreground"; /** 桌面端左侧导航(激活态对齐后台侧栏) */ export function PlayerSidebar() { const pathname = usePathname() ?? ""; const { t } = useTranslation("player"); const creditMode = isCreditFundingPlayer(usePlayerSessionStore((state) => state.profile)); return ( ); }