diff --git a/src/renderer/src/components/GeneralSettingsPanel.tsx b/src/renderer/src/components/GeneralSettingsPanel.tsx
index a6fcd71..c11dde6 100644
--- a/src/renderer/src/components/GeneralSettingsPanel.tsx
+++ b/src/renderer/src/components/GeneralSettingsPanel.tsx
@@ -21,6 +21,9 @@
import { useCallback, useEffect, useState } from 'react'
import type { ReactNode } from 'react'
import type { GeneralSettingsView } from '@shared/types'
+import { Button } from '../ui/Button'
+import { Input } from '../ui/Input'
+import { Switch } from '../ui/Switch'
import { IconTaskOpenFolder } from './task-menu-icons'
import { IconNotificationAuthorize, IconSelectCaret } from './general-settings-icons'
import './source-general-settings.css'
@@ -110,40 +113,6 @@ function Section({ title, desc, action, body, stacked, className }: SectionProps
)
}
-function Switch({ checked, ariaLabel, disabled, onChange }: {
- checked: boolean
- ariaLabel: string
- disabled?: boolean
- onChange(checked: boolean): void
-}): React.JSX.Element {
- return (
-
-
-
- )
-}
-
-/** 未接入的开关:保持原版开/关外观与尺寸,但不可交互。 */
-function UnavailableSwitch({ checked, ariaLabel }: { checked: boolean; ariaLabel: string }): React.JSX.Element {
- return (
-
-
-
- )
-}
-
/** 未接入的下拉:原版 120×32 闭合态(value + caret),不可展开。 */
function UnavailableSelect({ value, className, ariaLabel }: { value: string; className?: string; ariaLabel: string }): React.JSX.Element {
return (
@@ -239,21 +208,27 @@ export default function GeneralSettingsPanel(): React.JSX.Element {
} />
update({ preventSleep: checked })} />} />
+ action={ update({ preventSleep: checked })} />} />
update({ autoLaunch: checked })} />} />
+ action={ update({ autoLaunch: checked })} />} />
}
body={} />
} />
+ action={
+
+
} />
} />
+ action={
+
+
} />
} />
+ action={
+
+
} />
@@ -263,11 +238,10 @@ export default function GeneralSettingsPanel(): React.JSX.Element {
系统缓存目录
-
+
}
+ className="wb-storage__open-folder" onClick={() => openFolder('data')}>
+ 打开目录
+
{view?.dataDir ?? '—'} · 存放对话记录、运行缓存与临时文件。
@@ -310,12 +284,9 @@ export default function GeneralSettingsPanel(): React.JSX.Element {
新建任务、工作空间时将自动存放在该路径下;修改后不影响已有数据。
-
-
+
+
@@ -325,15 +296,14 @@ export default function GeneralSettingsPanel(): React.JSX.Element {
通知
- 前往系统设置
-
- } />
+ action={}
+ onClick={openNotificationSettings}>前往系统设置} />
} />
} />
+ action={
+
+
} />
@@ -346,7 +316,9 @@ export default function GeneralSettingsPanel(): React.JSX.Element {
{' '} event.preventDefault()}>了解更多
>}
- action={} />
+ action={
+
+
} />
diff --git a/src/renderer/src/components/SettingsDialog.tsx b/src/renderer/src/components/SettingsDialog.tsx
index d31d521..1568329 100644
--- a/src/renderer/src/components/SettingsDialog.tsx
+++ b/src/renderer/src/components/SettingsDialog.tsx
@@ -3,6 +3,12 @@ import { useSettingsStore } from '../stores/settings'
import SourceSettingsNavigation from './SourceSettingsNavigation'
import { useSharedTheme } from '../useSharedTheme'
import { SOURCE_WINDOWS_SETTINGS_TABS } from './SourceSettingsNavigation'
+import { Button } from '../ui/Button'
+// 统一组件样式必须在恢复样式之前加载:恢复样式是页面作用域的覆盖层,
+// 同权重时后写者胜,顺序反转会让 `.yc-*` 默认值盖掉 `.general-settings-panel__*` 的页面覆盖。
+// `../ui/Button` 已把 button.css 提前带入,这里补上其余两张组件表。
+import '../ui/input.css'
+import '../ui/switch.css'
// Shared UI-kit controls are also used by direct links to Memory/Agents/About.
import './source-select/source-select-recovered.css'
import './source-select/source-select.css'
@@ -77,7 +83,7 @@ export default function SettingsDialog({ theme, onThemeChange, onClose, nativeWi
{error && {error}
}
{section === 'settings' && }
{section === 'model' && setCreateRequest(0)} onSave={settings.saveModel} onDelete={settings.deleteModel} onTest={(input) => window.ycode.models.test(input)} />}
- {section === 'workspace' && 工作空间
{settings.workspaces.map((space) => )}}
+ {section === 'workspace' && 工作空间
{settings.workspaces.map((space) => )}}
{section === 'appearance' && }
{section === 'keyboardShortcuts' && }
{section === 'personalization' && }