import { useState, useEffect } from 'react' import { Settings as SettingsIcon, Play, CheckCircle, Languages, Coins, Upload } from 'lucide-react' import { api } from '../utils/api' import { useLanguage } from '../i18n/LanguageContext' import { CURRENCIES } from '../i18n/LanguageContext' export default function Settings() { const { t, lang, setLang, currency, setCurrency } = useLanguage() const [restarting, setRestarting] = useState(false) const [success, setSuccess] = useState(false) const [maxSizeMB, setMaxSizeMB] = useState(50) const [sizeSaving, setSizeSaving] = useState(false) const [sizeSaved, setSizeSaved] = useState(false) useEffect(() => { api.get('/settings/app').then(s => setMaxSizeMB(s.uploadMaxSizeMB || 50)).catch(() => {}) }, []) const handleSaveMaxSize = async () => { setSizeSaving(true) setSizeSaved(false) try { const res = await api.patch('/settings/app', { uploadMaxSizeMB: maxSizeMB }) setMaxSizeMB(res.uploadMaxSizeMB) setSizeSaved(true) setTimeout(() => setSizeSaved(false), 2000) } catch (err) { alert(err.message || 'Failed to save') } finally { setSizeSaving(false) } } const handleRestartTutorial = async () => { setRestarting(true) setSuccess(false) try { await api.patch('/users/me/tutorial', { completed: false }) setSuccess(true) setTimeout(() => { window.location.reload() // Reload to trigger tutorial }, 1500) } catch (err) { console.error('Failed to restart tutorial:', err) alert('Failed to restart tutorial') } finally { setRestarting(false) } } return (
{/* Header */}

{t('settings.title')}

{t('settings.preferences')}

{/* General Settings */}

{t('settings.general')}

{/* Language Selector */}
{/* Currency Selector */}

{t('settings.currencyHint')}

{/* Uploads Section */}

{t('settings.uploads')}

setMaxSizeMB(Number(e.target.value))} className="w-24 px-3 py-2.5 border border-border rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-primary/20 focus:border-brand-primary bg-white" /> {t('settings.mb')}

{t('settings.maxFileSizeHint')}

{/* Tutorial Section */}

{t('settings.onboardingTutorial')}

{t('settings.tutorialDesc')}

{success && (

{t('settings.reloadingPage')}

)}
) }