carouselforge / src /components /layout /MobileNavigation.tsx
CarouselForge Developer
feat: Phase 15 complete β€” mobile responsiveness, monitoring, Telegram polish, UAT
d0ded63
'use client';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
interface NavItem {
href: string;
label: string;
icon: string;
}
const NAV_ITEMS: NavItem[] = [
{ href: '/', label: 'Dashboard', icon: '⚑' },
{ href: '/create', label: 'Create', icon: '✨' },
{ href: '/schedule', label: 'Schedule', icon: 'πŸ“…' },
{ href: '/analytics', label: 'Analytics', icon: 'πŸ“Š' },
{ href: '/settings', label: 'Settings', icon: 'βš™οΈ' },
];
export default function MobileNavigation(): React.ReactElement {
const pathname = usePathname();
return (
<nav className="fixed bottom-0 left-0 right-0 bg-gray-900 border-t border-gray-700">
<div className="flex justify-around">
{NAV_ITEMS.map((item) => {
const isActive = pathname === item.href;
return (
<Link
key={item.href}
href={item.href}
className={`flex-1 flex flex-col items-center gap-1 px-3 py-2 text-xs font-medium transition-colors ${
isActive
? 'bg-blue-600 text-white'
: 'text-gray-300 hover:bg-gray-800 hover:text-white'
}`}
>
<span className="text-lg">{item.icon}</span>
<span>{item.label}</span>
</Link>
);
})}
</div>
</nav>
);
}