import { IconArrowRight as ArrowRight, IconMenu2 as Menu, IconX as X } from '@tabler/icons-react'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router'; import { useDocsVisibility } from '@/hooks/api'; import { cn } from '@/lib/utils'; import { useAuth } from './auth/AuthProvider'; import { GitHubStarsButton } from './GitHubStarsButton'; import { LanguageSwitcher } from './LanguageSwitcher'; import { Wordmark } from './Logo'; import { Button } from './ui/button'; export function Nav() { const { t } = useTranslation(); const { user } = useAuth(); const [isScrolled, setIsScrolled] = useState(false); const { userDocsEnabled, apiDocsEnabled } = useDocsVisibility(); const [mobileOpen, setMobileOpen] = useState(false); useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 20); }; window.addEventListener('scroll', handleScroll, { passive: true }); return () => window.removeEventListener('scroll', handleScroll); }, []); // Close mobile menu on resize to desktop useEffect(() => { const handleResize = () => { if (window.innerWidth >= 768) setMobileOpen(false); }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); return ( ); }