feat(settings): add searchable settings navigation

This commit is contained in:
Tunglies
2026-11-06 17:14:15 +08:00
parent 38faf20f90
commit 7fd537af08
47 changed files with 1832 additions and 337 deletions
+14 -1
View File
@@ -100,7 +100,10 @@ const SettingVergeBasic = ({ onError }: Props) => {
<UpdateViewer ref={updateRef} />
<BackupViewer ref={backupRef} />
<SettingItem label={t('settings.components.verge.basic.fields.language')}>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.language"
label={t('settings.components.verge.basic.fields.language')}
>
<GuardState
value={language ?? 'en'}
onCatch={onError}
@@ -119,6 +122,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
</SettingItem>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.themeMode"
label={t('settings.components.verge.basic.fields.themeMode')}
>
<GuardState
@@ -133,6 +137,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
{OS !== 'linux' && (
<SettingItem
data-setting-target="settings.components.verge.basic.fields.trayClickEvent"
label={t('settings.components.verge.basic.fields.trayClickEvent')}
>
<GuardState
@@ -166,6 +171,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
)}
<SettingItem
data-setting-target="settings.components.verge.basic.fields.copyEnvType"
label={t('settings.components.verge.basic.fields.copyEnvType')}
extra={
<TooltipIcon icon={ContentCopyRounded} onClick={onCopyClashEnv} />
@@ -189,6 +195,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
</SettingItem>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.startPage"
label={t('settings.components.verge.basic.fields.startPage')}
>
<GuardState
@@ -211,6 +218,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
</SettingItem>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.startupScript"
label={t('settings.components.verge.basic.fields.startupScript')}
>
<GuardState
@@ -228,6 +236,7 @@ const SettingVergeBasic = ({ onError }: Props) => {
endAdornment={
<>
<Button
data-setting-target="settings.components.verge.basic.actions.browse"
onClick={async () => {
const selected = await open({
directory: false,
@@ -264,21 +273,25 @@ const SettingVergeBasic = ({ onError }: Props) => {
</SettingItem>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.themeSetting"
onClick={() => themeRef.current?.open()}
label={t('settings.components.verge.basic.fields.themeSetting')}
/>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.layoutSetting"
onClick={() => layoutRef.current?.open()}
label={t('settings.components.verge.basic.fields.layoutSetting')}
/>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.misc"
onClick={() => miscRef.current?.open()}
label={t('settings.components.verge.basic.fields.misc')}
/>
<SettingItem
data-setting-target="settings.components.verge.basic.fields.hotkeySetting"
onClick={() => hotkeyRef.current?.open()}
label={t('settings.components.verge.basic.fields.hotkeySetting')}
/>