'use client' import { useState } from 'react' import { SettingsNav, SettingsSection, SettingToggle, SettingSelect, SettingInput } from '@/components/settings' import { updateAISettings } from '@/app/actions/ai-settings' import { toast } from 'sonner' import { useLanguage } from '@/lib/i18n' export default function AISettingsPage() { const { t } = useLanguage() const [apiKey, setApiKey] = useState('') // Mock settings state - in real implementation, load from server const [settings, setSettings] = useState({ titleSuggestions: true, semanticSearch: true, paragraphRefactor: true, memoryEcho: true, memoryEchoFrequency: 'daily' as 'daily' | 'weekly' | 'custom', aiProvider: 'auto' as 'auto' | 'openai' | 'ollama', preferredLanguage: 'auto' as 'auto' | 'en' | 'fr' | 'es' | 'de' | 'fa' | 'it' | 'pt' | 'ru' | 'zh' | 'ja' | 'ko' | 'ar' | 'hi' | 'nl' | 'pl', demoMode: false }) const handleToggle = async (feature: string, value: boolean) => { setSettings(prev => ({ ...prev, [feature]: value })) try { await updateAISettings({ [feature]: value }) } catch (error) { toast.error(t('aiSettings.error')) setSettings(settings) // Revert on error } } const handleFrequencyChange = async (value: string) => { setSettings(prev => ({ ...prev, memoryEchoFrequency: value as any })) try { await updateAISettings({ memoryEchoFrequency: value as any }) } catch (error) { toast.error(t('aiSettings.error')) } } const handleProviderChange = async (value: string) => { setSettings(prev => ({ ...prev, aiProvider: value as any })) try { await updateAISettings({ aiProvider: value as any }) } catch (error) { toast.error(t('aiSettings.error')) } } const handleApiKeyChange = async (value: string) => { setApiKey(value) // TODO: Implement API key persistence } return (
{/* Sidebar Navigation */} {/* Main Content */}

{t('aiSettings.title')}

{t('aiSettings.description')}

{/* AI Provider */} 🤖} description={t('aiSettings.providerDesc')} > {settings.aiProvider === 'openai' && ( )} {/* Feature Toggles */} ✨} description={t('aiSettings.description')} > handleToggle('titleSuggestions', checked)} /> handleToggle('semanticSearch', checked)} /> handleToggle('paragraphRefactor', checked)} /> handleToggle('memoryEcho', checked)} /> {settings.memoryEcho && ( )} {/* Demo Mode */} 🎭} description={t('demoMode.description')} > handleToggle('demoMode', checked)} />
) }