Initial commit with 2026 World Cup Quant Platform core modules and CI/CD
This commit is contained in:
41
platform/web/components/MobileBottomNav.tsx
Normal file
41
platform/web/components/MobileBottomNav.tsx
Normal file
@@ -0,0 +1,41 @@
|
||||
'use client';
|
||||
|
||||
import Link from 'next/link';
|
||||
import { usePathname } from 'next/navigation';
|
||||
|
||||
type NavItem = {
|
||||
href: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
const navItems: NavItem[] = [
|
||||
{ href: '/daily-card', label: '每日作戰室' },
|
||||
{ href: '/matches', label: '賽事' },
|
||||
{ href: '/portfolio', label: '投資組合' },
|
||||
{ href: '/proof-of-yield', label: '帳本' },
|
||||
];
|
||||
|
||||
export function MobileBottomNav() {
|
||||
const path = usePathname() || '/';
|
||||
|
||||
return (
|
||||
<nav className="fixed inset-x-0 bottom-0 z-40 border-t border-[#e7cfa7] bg-[#f6f0e1]/95 shadow-[0_-8px_24px_rgba(98,58,34,0.12)] backdrop-blur md:hidden">
|
||||
<div className="mx-auto flex max-w-7xl justify-between px-2 py-2">
|
||||
{navItems.map((item) => {
|
||||
const isActive = path === item.href;
|
||||
return (
|
||||
<Link
|
||||
key={item.href}
|
||||
href={item.href}
|
||||
className={`dot-matrix flex-1 rounded-xl px-3 py-2 text-center text-xs font-semibold transition ${
|
||||
isActive ? 'bg-[#7d2a15] text-white' : 'text-[#6a4935]'
|
||||
}`}
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user