- 设置 -
-- 管理您的账户设置和偏好 -
+diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx index 064480c..a9d5a1d 100644 --- a/src/app/settings/page.tsx +++ b/src/app/settings/page.tsx @@ -2,11 +2,11 @@ import { useState, useEffect } from 'react'; import Link from 'next/link'; -import { ArrowLeft, Download, Check, Loader2, Eye, EyeOff, RotateCcw } from 'lucide-react'; -import { Sidebar, SidebarToggle } from '@/components/layout/Sidebar'; +import { ArrowLeft, Download, Check, Loader2, Eye, EyeOff, RotateCcw, Moon, Sun, Sparkles, Trash2 } from 'lucide-react'; import { Toggle } from '@/components/ui/Toggle'; +import { ModelCardSelector } from '@/components/ui/ModelCardSelector'; +import { FontSizePicker } from '@/components/ui/FontSizePicker'; import { cn } from '@/lib/utils'; -import { currentUser, chatHistories } from '@/data/mock'; import { useSettings, useModels, useTools } from '@/hooks/useSettings'; // 默认系统提示词 @@ -44,7 +44,6 @@ const DEFAULT_SYSTEM_PROMPT = `你是一个专业、友好的 AI 助手。请遵 - 承认不确定的地方,不要编造信息`; export default function SettingsPage() { - const [sidebarOpen, setSidebarOpen] = useState(true); const { settings, loading, saving, updateSettings } = useSettings(); const { models, loading: modelsLoading } = useModels(); const { tools, loading: toolsLoading } = useTools(); @@ -105,6 +104,17 @@ export default function SettingsPage() { } }; + // 更新字体大小 + const handleFontSizeChange = async (fontSize: number) => { + try { + await updateSettings({ fontSize }); + // 实时应用到页面 + document.documentElement.style.setProperty('--font-size-base', `${fontSize}px`); + } catch (error) { + console.error('Failed to update font size:', error); + } + }; + // 切换工具 const handleToolToggle = async (toolId: string) => { const currentTools = settings?.defaultTools || []; @@ -177,6 +187,17 @@ export default function SettingsPage() { setTemperature(value); }; + // 切换主题 + const handleToggleTheme = async () => { + const newTheme = settings?.theme === 'dark' ? 'light' : 'dark'; + try { + await updateSettings({ theme: newTheme }); + document.documentElement.setAttribute('data-theme', newTheme); + } catch (error) { + console.error('Failed to update theme:', error); + } + }; + if (loading) { return (
- 管理您的账户设置和偏好 -
+