import React from 'react'; import { NavLink, useParams, useLocation } from 'react-router-dom'; import { CheckSquare, GalleryHorizontal, Home, Trophy } from 'lucide-react'; import { useEventData } from '../hooks/useEventData'; import { useTranslation } from '../i18n/useTranslation'; function TabLink({ to, children, isActive, }: { to: string; children: React.ReactNode; isActive: boolean; }) { return ( {children} ); } export default function BottomNav() { const { token } = useParams(); const location = useLocation(); const { event, status } = useEventData(); const { t } = useTranslation(); const isReady = status === 'ready' && !!event; if (!token || !isReady) return null; // Only show bottom nav within event context const base = `/e/${encodeURIComponent(token)}`; const currentPath = location.pathname; const labels = { home: t('navigation.home'), tasks: t('navigation.tasks'), achievements: t('navigation.achievements'), gallery: t('navigation.gallery'), }; // Improved active state logic const isHomeActive = currentPath === base || currentPath === `/${token}`; const isTasksActive = currentPath.startsWith(`${base}/tasks`) || currentPath === `${base}/upload`; const isAchievementsActive = currentPath.startsWith(`${base}/achievements`); const isGalleryActive = currentPath.startsWith(`${base}/gallery`) || currentPath.startsWith(`${base}/photos`); return (
{labels.home}
{labels.tasks}
{labels.achievements}
{labels.gallery}
); }