import { useEffect, useState } from 'react' import { BrowserRouter, Routes, Route, Navigate, NavLink } from 'react-router-dom' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { Button } from '@/components/ui/button' import KeysPage from '@/pages/KeysPage' import PlaygroundPage from '@/pages/PlaygroundPage' import FallbackPage from '@/pages/FallbackPage' import AnalyticsPage from '@/pages/AnalyticsPage' const queryClient = new QueryClient() function NavItem({ to, children }: { to: string; children: React.ReactNode }) { return ( `relative text-sm px-1 py-4 transition-colors ${ isActive ? 'text-foreground after:absolute after:inset-x-0 after:-bottom-px after:h-px after:bg-foreground' : 'text-muted-foreground hover:text-foreground' }` } > {children} ) } function DarkModeToggle() { const [dark, setDark] = useState(() => typeof window !== 'undefined' && document.documentElement.classList.contains('dark') ) useEffect(() => { const stored = localStorage.getItem('theme') if (stored === 'dark' || (!stored && window.matchMedia('(prefers-color-scheme: dark)').matches)) { document.documentElement.classList.add('dark') setDark(true) } }, []) function toggle() { const next = !dark setDark(next) document.documentElement.classList.toggle('dark', next) localStorage.setItem('theme', next ? 'dark' : 'light') } return ( ) } function Brand() { return (
FreeLLMAPI
) } function App() { return (
} /> } /> } /> } /> } /> } /> } />
) } export default App