Files
zhixing-system/zhixing-web/src/app/layout/navigation.ts
T

75 lines
1.5 KiB
TypeScript
Raw Normal View History

import {
BarChart3,
BrainCircuit,
ClipboardCheck,
LayoutDashboard,
type LucideIcon,
} from "lucide-react"
export type NavigationAvailability = "available" | "unavailable"
export interface NavigationItem {
id: string
label: string
to: string | null
icon: LucideIcon
availability: NavigationAvailability
}
export const primaryNavigation: readonly NavigationItem[] = [
{
id: "home",
label: "首页",
to: "/",
icon: LayoutDashboard,
availability: "available",
},
{
id: "market",
label: "行情数据",
to: null,
icon: BarChart3,
availability: "unavailable",
},
{
id: "sync",
label: "同步任务",
to: null,
icon: ClipboardCheck,
availability: "unavailable",
},
{
id: "selection",
label: "选股策略",
to: "/selection",
icon: BrainCircuit,
availability: "available",
},
] as const
export const mobileNavigationMaxItems = 4
export const mobilePrimaryNavigation: readonly NavigationItem[] =
primaryNavigation.slice(0, mobileNavigationMaxItems)
export const mobileOverflowNavigation: readonly NavigationItem[] = []
export interface RoutePresentation {
id: string
breadcrumb: string
title: string
}
export const routePresentation: Record<string, RoutePresentation> = {
"/": {
id: "home",
breadcrumb: "研究工作台",
title: "市场数据概览",
},
"/selection": {
id: "selection",
breadcrumb: "研究工作台",
title: "知行 B1 执行结果",
},
}