import { useLocation, useNavigate } from 'react-router-dom' import { useAppDispatch, useAppSelector } from '@/store' import { closeTab, type TabItem } from '@/store/tabs' import { loggedOut } from '@/store/auth' import { IconAntler, IconBell, IconHome, IconMenu, IconSearch, IconUser } from './icons' interface Props { navOpen: boolean onToggleNav: () => void } export default function TopBar({ navOpen, onToggleNav }: Props) { const navigate = useNavigate() const location = useLocation() const dispatch = useAppDispatch() const tabs = useAppSelector(s => s.tabs.items) const user = useAppSelector(s => s.auth.user) const isHome = location.pathname === '/' const handleTabClick = (t: TabItem) => navigate(t.path) const handleClose = (e: React.MouseEvent, t: TabItem) => { e.stopPropagation() const idx = tabs.findIndex(x => x.key === t.key) dispatch(closeTab(t.key)) if (location.pathname === t.path) { const next = tabs[idx + 1] || tabs[idx - 1] navigate(next ? next.path : '/') } } const handleLogout = () => { dispatch(loggedOut()) navigate('/login', { replace: true }) } return (