根据 mac 地址屏蔽导航栏入口

This commit is contained in:
eafonyang
2026-10-10 17:12:40 +08:00
parent 365f3afc49
commit 30355a8e63
4 changed files with 184 additions and 8 deletions
+9 -1
View File
@@ -7,6 +7,7 @@
- Inactive: muted icon + label
============================================================ */
import { useDevice } from "@/contexts/DeviceContext";
import { useNavConfig } from "@/contexts/NavConfigContext";
import { cn } from "@/lib/utils";
import { readAndClearAiSplitRestorePath, useAIDrawer } from "@/contexts/AIDrawerContext";
import { useIsLgUp } from "@/hooks/useIsLgUp";
@@ -99,8 +100,15 @@ export default function BottomNav() {
const isLgUp = useIsLgUp();
const { open: aiDrawerOpen, setOpen: setAiDrawerOpen } = useAIDrawer();
const { deviceState } = useDevice();
const { isNavHidden } = useNavConfig();
const festival = useFestival();
// 按 MAC 下发的隐藏配置过滤入口(fail-open:无配置时全部显示)
const navItems = useMemo(
() => NAV_ITEMS.filter((item) => !isNavHidden(item.labelKey as string)),
[isNavHidden],
);
const navText = useMemo((): BottomNavLocale => {
const pack = resolveLocalePack(deviceState?.language);
return (pack.bottomNav ?? localeEn.bottomNav) as BottomNavLocale;
@@ -122,7 +130,7 @@ export default function BottomNav() {
}}
>
<div className="flex items-stretch justify-around">
{NAV_ITEMS.map((item) => {
{navItems.map((item) => {
const isActive =
item.path === "/ai"
? location === "/ai" || (isLgUp && aiDrawerOpen)