import { useState } from 'react'; import { useNavigate, useLocation } from 'react-router-dom'; import { FiDroplet, FiStar, FiMap, FiSettings, FiChevronLeft, FiChevronRight, FiDatabase } from 'react-icons/fi'; import { type Language, t } from '../translations'; import { useFavorites } from '../hooks/useFavorites'; interface Props { language: Language; onOpenSettings: () => void; isMobileMenuOpen?: boolean; onCloseMobileMenu?: () => void; } const Sidebar = ({ language, onOpenSettings, isMobileMenuOpen, onCloseMobileMenu }: Props) => { const [isCollapsed, setIsCollapsed] = useState(false); const navigate = useNavigate(); const location = useLocation(); const dict = t[language].sidebar; const { favorites } = useFavorites(); const isOverview = location.pathname === '/'; const isFavoritesPage = location.pathname === '/favorites'; const isMap = location.pathname === '/map'; const handleNavigate = (path: string) => { navigate(path); if (onCloseMobileMenu) onCloseMobileMenu(); }; return (
HLADINATOR v1.0
{/* Toggle Button */}
{/* Favourites */}
handleNavigate('/favorites')} style={{ position: 'relative' }}>
0 ? '#f59e0b' : 'none'} color={favorites.length > 0 ? '#f59e0b' : 'currentColor'} /> {favorites.length > 0 && ( {favorites.length} )}
{dict.favorites}
{/* Lakes & Reservoirs */}
handleNavigate('/')}> {dict.lakes}
{/* Map */}
handleNavigate('/map')}> {dict.map}
{dict.settings}
); }; export default Sidebar;