Files
2026FIFAWorldCup/platform/web/app/layout.tsx

68 lines
2.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import Link from 'next/link';
import './globals.css';
import type { ReactNode } from 'react';
import type { Metadata } from 'next';
import { MobileBottomNav } from '@/components/MobileBottomNav';
import { PwaBootstrap } from '@/components/PwaBootstrap';
const navItems = [
{ href: '/', label: '主控總覽' },
{ href: '/matches', label: '賽事中心' },
{ href: '/odds', label: '跨平台賠率比較' },
{ href: '/sharp-money', label: '聰明錢追蹤' },
{ href: '/ml-edge', label: 'ML Ensemble' },
{ href: '/models', label: '量化模型' },
{ href: '/match-conditions', label: '裁判/天候模型' },
{ href: '/rlm', label: 'RLM 反向盤口' },
{ href: '/proof-of-yield', label: '公開收益帳本' },
{ href: '/props', label: '球員道具盤' },
{ href: '/kelly', label: '凱利下注' },
{ href: '/backtesting', label: '策略回測' },
{ href: '/deep-bet', label: '一鍵投注' },
{ href: '/daily-card', label: '每日作戰室' },
{ href: '/portfolio', label: '個人組合' },
];
export const metadata: Metadata = {
title: '2026 FIFA 專業投注研究中心',
description: '以台北時區驅動的全站即時投注資料與量化分析平台',
manifest: '/manifest.json',
themeColor: '#f6f0e1',
other: {
'application-name': '2026 World Cup Quantum Ops',
},
};
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="zh-Hant">
<body>
<PwaBootstrap />
<div className="dashboard-shell min-h-screen p-4 md:p-8">
<header className="mx-auto max-w-7xl rounded-2xl panel-glow px-5 py-4 md:px-8 md:py-5">
<div className="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<div>
<h1 className="dot-matrix text-2xl md:text-3xl text-[#7e2417]">2026 World Cup Quantum Ops</h1>
<p className="text-sm text-[#6d4d39]">UTC+8 | </p>
</div>
<nav className="flex flex-wrap gap-2">
{navItems.map((item) => (
<Link
key={item.href}
href={item.href}
className="rounded-full border border-[#b68a65]/70 bg-white/70 px-3 py-1.5 text-sm text-[#5f4330] transition hover:bg-white"
>
{item.label}
</Link>
))}
</nav>
</div>
</header>
<main className="mx-auto mt-6 mb-24 max-w-7xl">{children}</main>
</div>
<MobileBottomNav />
</body>
</html>
);
}