diff --git a/src/components/settings/SettingsModal.tsx b/src/components/settings/SettingsModal.tsx index 86a12c2..462f5ec 100644 --- a/src/components/settings/SettingsModal.tsx +++ b/src/components/settings/SettingsModal.tsx @@ -3,12 +3,13 @@ */ import { useState, useEffect, useCallback } from 'react'; -import { Dialog, DialogContent, DialogTitle, Button, TextField, Select, MenuItem, Tabs, Tab, Checkbox, Box, Typography, Stack, Divider, FormControlLabel, InputLabel, FormControl, IconButton, Chip, Switch, Alert, CircularProgress } from '@mui/material'; +import { Dialog, DialogContent, DialogTitle, DialogActions, Button, TextField, Select, MenuItem, Tabs, Tab, Checkbox, Box, Typography, Stack, Divider, FormControlLabel, InputLabel, FormControl, IconButton, Chip, Switch, Alert, CircularProgress } from '@mui/material'; import { alpha } from '@mui/material/styles'; import { X, Settings, Bot, Wrench, Server, Palette, FileText, Eye, EyeOff, FolderOpen, Globe } from 'lucide-react'; import { useUIStore, type ThemeMode } from '@renderer/stores/ui-store'; import { useAgentStore } from '@renderer/stores/agent-store'; import { PROVIDER_LABELS } from '@renderer/lib/constants'; +import { ErrorBoundary } from '@renderer/components/common/ErrorBoundary'; type SettingsTab = 'workspace' | 'llm' | 'agent' | 'tools' | 'mcp' | 'searxng' | 'appearance' | 'logs'; const TABS: { id: SettingsTab; label: string; icon: typeof Settings }[] = [ @@ -48,14 +49,30 @@ export function SettingsModal(): React.JSX.Element | null { {TABS.map((t) => } iconPosition="start" />)} - {tab === 'workspace' && } - {tab === 'llm' && } - {tab === 'agent' && } - {tab === 'tools' && } - {tab === 'mcp' && } - {tab === 'searxng' && } - {tab === 'appearance' && } - {tab === 'logs' && } + + {tab === 'workspace' && } + + + {tab === 'llm' && } + + + {tab === 'agent' && } + + + {tab === 'tools' && } + + + {tab === 'mcp' && } + + + {tab === 'searxng' && } + + + {tab === 'appearance' && } + + + {tab === 'logs' && } +