civicsetu / frontend /src /components /BottomNavBar.tsx
adeshboudh16
feat: add BottomNavBar for mobile view switching
7c8004c
'use client';
interface Props {
activeTab: 'chat' | 'graph';
onTabChange: (tab: 'chat' | 'graph') => void;
}
export function BottomNavBar({ activeTab, onTabChange }: Props) {
return (
<nav className="fixed bottom-0 left-0 z-50 flex h-20 w-full items-center justify-around bg-[#141414] pb-safe shadow-[0_-10px_30px_rgba(0,0,0,0.5)] lg:hidden">
<button
type="button"
onClick={() => onTabChange('chat')}
className={`flex flex-col items-center gap-1 transition-transform duration-150 ease-out active:scale-[0.97] ${
activeTab === 'chat' ? 'text-[#4f98a3]' : 'text-zinc-500'
}`}
>
<span className="text-xl">
<span className="material-symbols-outlined">chat_bubble</span>
</span>
<span className="text-[10px] font-medium uppercase tracking-wider">Chat</span>
</button>
<button
type="button"
onClick={() => onTabChange('graph')}
className={`flex flex-col items-center gap-1 transition-transform duration-150 ease-out active:scale-[0.97] ${
activeTab === 'graph' ? 'text-[#4f98a3]' : 'text-zinc-500'
}`}
>
<span className="text-xl">
<span className="material-symbols-outlined">graph_4</span>
</span>
<span className="text-[10px] font-medium uppercase tracking-wider">Graph</span>
</button>
</nav>
);
}