'use client' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Switch } from '@/components/ui/switch'; import { Label } from '@/components/ui/label'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; import { DynamicTimeNoSSR } from '@/components/DynamicTimeNoSSR'; import { useAtom } from 'jotai'; import { useTranslations } from 'next-intl'; import { settingsAtom, serverSettingsAtom } from '@/lib/atoms'; import { Settings, WeekDay } from '@/lib/types' import { saveSettings, uploadAvatar } from '../actions/data' import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar' import { Button } from '@/components/ui/button'; import { User, Info } from 'lucide-react'; // Import Info icon import { toast } from '@/hooks/use-toast' export default function SettingsPage() { const t = useTranslations('SettingsPage'); const [settings, setSettings] = useAtom(settingsAtom); const [serverSettings] = useAtom(serverSettingsAtom); const updateSettings = async (newSettings: Settings) => { await saveSettings(newSettings) setSettings(newSettings) } if (!settings) return null return ( <>

{t('title')}

{t('uiSettingsTitle')}
{t('numberFormattingDescription')}
updateSettings({ ...settings, ui: { ...settings.ui, useNumberFormatting: checked } }) } />
{t('numberGroupingDescription')}
updateSettings({ ...settings, ui: { ...settings.ui, useGrouping: checked } }) } />
{t('systemSettingsTitle')}
{t('timezoneDescription')}
{t('weekStartDayDescription')}
{/* Add this section for Auto Backup */}

{t('autoBackupTooltip')}

{t('autoBackupDescription')}
updateSettings({ ...settings, system: { ...settings.system, autoBackupEnabled: checked } }) } />
{/* End of Auto Backup section */}
{t('languageDescription')}
{serverSettings.isDemo && (
{t('languageDisabledInDemoTooltip')}
)}
) }