AI Settings
Configure AI-powered features and preferences
'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) { console.error('Error updating setting:', error) toast.error('Failed to save setting') setSettings(settings) // Revert on error } } const handleFrequencyChange = async (value: 'daily' | 'weekly' | 'custom') => { setSettings(prev => ({ ...prev, memoryEchoFrequency: value })) try { await updateAISettings({ memoryEchoFrequency: value }) } catch (error) { console.error('Error updating frequency:', error) toast.error('Failed to save setting') } } const handleProviderChange = async (value: 'auto' | 'openai' | 'ollama') => { setSettings(prev => ({ ...prev, aiProvider: value })) try { await updateAISettings({ aiProvider: value }) } catch (error) { console.error('Error updating provider:', error) toast.error('Failed to save setting') } } const handleApiKeyChange = async (value: string) => { setApiKey(value) // TODO: Implement API key persistence console.log('API Key:', value) } return (
Configure AI-powered features and preferences