元旦节皮肤
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* ============================================================
|
||||
BOTTOM NAV — Luxsin X9 Controller (Mobile)
|
||||
Design: iOS/Android App-style bottom tab bar
|
||||
3 个入口(社区/主页/我的 AI),文案来自 locales/bottomNav,语言跟随 deviceState.language
|
||||
5 tabs — labels from locales/bottomNav, language = deviceState.language (同系统页)
|
||||
- 社区:移动端进入 /community 引导复制链接;桌面(lg+)点击仍 window.open 论坛
|
||||
- Active tab: cyan icon + top indicator bar
|
||||
- Inactive: muted icon + label
|
||||
@@ -13,7 +13,13 @@ import { useIsLgUp } from "@/hooks/useIsLgUp";
|
||||
import localeZh from "@/locales/data-zh.json";
|
||||
import localeEn from "@/locales/data-en.json";
|
||||
import { resolveLocalePack } from "@/locales/resolveLocale";
|
||||
import { Bot, Home, MessageSquare } from "lucide-react";
|
||||
import {
|
||||
Activity,
|
||||
Bot,
|
||||
Home,
|
||||
MessageSquare,
|
||||
Sliders,
|
||||
} from "lucide-react";
|
||||
import { Link, useLocation } from "wouter";
|
||||
import { useMemo } from "react";
|
||||
import { bottomNavInnerClass, bottomNavOuterClass } from "@/lib/appShell";
|
||||
@@ -33,7 +39,7 @@ interface NavItem {
|
||||
const FORUM_URL = "https://forum.zidoo.tv/index.php";
|
||||
|
||||
const festivalIcon = (festival: FestivalId, name: string) =>
|
||||
`${import.meta.env.BASE_URL}images/festival/${festival}/${name}.png`;
|
||||
`${import.meta.env.BASE_URL}images/festival/${festival}/${name}.${festival === "newyear" ? "svg" : "png"}`;
|
||||
|
||||
const NAV_ITEMS: NavItem[] = [
|
||||
{
|
||||
@@ -43,6 +49,17 @@ const NAV_ITEMS: NavItem[] = [
|
||||
festivalIcons: {
|
||||
christmas: festivalIcon("christmas", "bell"),
|
||||
halloween: festivalIcon("halloween", "ghost"),
|
||||
newyear: festivalIcon("newyear", "confetti"),
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "/eq",
|
||||
icon: Sliders,
|
||||
labelKey: "hpEq",
|
||||
festivalIcons: {
|
||||
christmas: festivalIcon("christmas", "reindeer"),
|
||||
halloween: festivalIcon("halloween", "skeleton"),
|
||||
newyear: festivalIcon("newyear", "clock"),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -52,6 +69,17 @@ const NAV_ITEMS: NavItem[] = [
|
||||
festivalIcons: {
|
||||
christmas: festivalIcon("christmas", "santa"),
|
||||
halloween: festivalIcon("halloween", "pumpkin"),
|
||||
newyear: festivalIcon("newyear", "calendar"),
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "/effects",
|
||||
icon: Activity,
|
||||
labelKey: "effects",
|
||||
festivalIcons: {
|
||||
christmas: festivalIcon("christmas", "tree"),
|
||||
halloween: festivalIcon("halloween", "witch"),
|
||||
newyear: festivalIcon("newyear", "fireworks"),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -61,6 +89,7 @@ const NAV_ITEMS: NavItem[] = [
|
||||
festivalIcons: {
|
||||
christmas: festivalIcon("christmas", "gift"),
|
||||
halloween: festivalIcon("halloween", "vampire"),
|
||||
newyear: festivalIcon("newyear", "party-hat"),
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -78,7 +107,9 @@ export default function BottomNav() {
|
||||
}, [deviceState?.language]);
|
||||
|
||||
return (
|
||||
<nav className={bottomNavOuterClass}>
|
||||
<nav
|
||||
className={bottomNavOuterClass}
|
||||
>
|
||||
<div
|
||||
className={bottomNavInnerClass}
|
||||
style={{
|
||||
@@ -90,7 +121,7 @@ export default function BottomNav() {
|
||||
paddingBottom: "env(safe-area-inset-bottom, 8px)",
|
||||
}}
|
||||
>
|
||||
<div className="grid grid-cols-3 items-stretch">
|
||||
<div className="flex items-stretch justify-around">
|
||||
{NAV_ITEMS.map((item) => {
|
||||
const isActive =
|
||||
item.path === "/ai"
|
||||
|
||||
Reference in New Issue
Block a user