import { useState } from 'react' import { createFileRoute } from '@tanstack/react-router' import { useQueryClient } from '@tanstack/react-query' import { Check } from 'lucide-react' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { getApiToken, setApiToken } from '@/api/fetcher' import { m } from '@/paraglide/messages' import { useLocale, changeLocale, locales, type Locale } from '@/lib/i18n' import { cn } from '@/lib/utils' export const Route = createFileRoute('/settings')({ component: SettingsPage }) function SettingsPage() { const current = useLocale() const qc = useQueryClient() const [token, setToken] = useState(getApiToken()) const [saved, setSaved] = useState(false) const onSave = (e: React.FormEvent) => { e.preventDefault() setApiToken(token.trim()) // Re-fetch everything with the new credential. qc.invalidateQueries() setSaved(true) setTimeout(() => setSaved(false), 2_000) } return (

{m.settings_title()}

{m.settings_token_label()}
setToken(e.target.value)} placeholder="••••••••" />

{m.settings_token_help()}

{m.settings_language()} {locales.map((l: Locale) => ( ))}
) }