tsx import { Link, useNavigate, useSearchParams } from 'react-router-dom' import { Menu, Search, Video, Bell, User, LogOut, Settings, Moon, Sun, Monitor } from 'lucide-react' import { Button } from './ui/button' import { Input } from './ui/input' import { useUIStore } from '@/store/ui' import { useAuthStore } from '@/store/auth' import { useTheme } from '@/providers/ThemeProvider' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './ui/dropdown-menu' import { useMemo } from 'react' export default function Header() { const navigate = useNavigate() const [params, setParams] = useSearchParams() const q = useMemo(() => params.get('q') || '', [params]) const { toggleSidebar } = useUIStore() const { user, logout } = useAuthStore() const { theme, setTheme } = useTheme() function onSearch(e: React.FormEvent) { e.preventDefault() const form = e.currentTarget const data = new FormData(form) const query = data.get('q') as string navigate(`/search?q=${encodeURIComponent(query)}`) } return (
LT
LobsterTube
{user ? ( <>
Вошли как {user.name}
navigate(`/channel/${user.id}`)}> Мой канал setTheme('system')}> Системная setTheme('light')}> Светлая setTheme('dark')}> Тёмная Настройки logout()}> Выйти ) : ( <> navigate('/login')}> Войти setTheme('dark')}> Тёмная )}
) }