feat(preferences): add toggle for copy preferences button (#7594)

Co-authored-by: hl <hl@nmcsoft.com>
This commit is contained in:
han
2026-03-02 15:30:38 +08:00
committed by GitHub
parent a46ed55a86
commit b8a0199cde
9 changed files with 19 additions and 0 deletions

View File

@@ -219,6 +219,7 @@ const defaultPreferences: Preferences = {
dynamicTitle: true,
enableCheckUpdates: true,
enablePreferences: true,
enableCopyPreferences: true,
enableRefreshToken: false,
isMobile: false,
layout: 'sidebar-nav',
@@ -376,6 +377,8 @@ interface AppPreferences {
enableCheckUpdates: boolean;
/** Whether to display preferences */
enablePreferences: boolean;
/** Whether to display copy preferences button */
enableCopyPreferences: boolean;
/**
* @zh_CN Whether to enable refreshToken
*/

View File

@@ -218,6 +218,7 @@ const defaultPreferences: Preferences = {
dynamicTitle: true,
enableCheckUpdates: true,
enablePreferences: true,
enableCopyPreferences: true,
enableRefreshToken: false,
isMobile: false,
layout: 'sidebar-nav',
@@ -375,6 +376,8 @@ interface AppPreferences {
enableCheckUpdates: boolean;
/** 是否显示偏好设置 */
enablePreferences: boolean;
/** 是否显示复制偏好设置按钮 */
enableCopyPreferences: boolean;
/**
* @zh_CN 是否开启refreshToken
*/

View File

@@ -21,6 +21,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"dynamicTitle": true,
"enableCheckUpdates": true,
"enablePreferences": true,
"enableCopyPreferences": true,
"enableRefreshToken": false,
"enableStickyPreferencesNavigationBar": true,
"isMobile": false,

View File

@@ -21,6 +21,7 @@ const defaultPreferences: Preferences = {
dynamicTitle: true,
enableCheckUpdates: true,
enablePreferences: true,
enableCopyPreferences: true,
enableRefreshToken: false,
enableStickyPreferencesNavigationBar: true,
isMobile: false,

View File

@@ -55,6 +55,8 @@ interface AppPreferences {
enableCheckUpdates: boolean;
/** 是否显示偏好设置 */
enablePreferences: boolean;
/** 是否显示复制偏好设置按钮 */
enableCopyPreferences: boolean;
/**
* @zh_CN 是否开启refreshToken
*/

View File

@@ -15,6 +15,7 @@ const appDynamicTitle = defineModel<boolean>('appDynamicTitle');
const appWatermark = defineModel<boolean>('appWatermark');
const appWatermarkContent = defineModel<string>('appWatermarkContent');
const appEnableCheckUpdates = defineModel<boolean>('appEnableCheckUpdates');
const appEnableCopyPreferences = defineModel<boolean>('appEnableCopyPreferences');
</script>
<template>
@@ -44,4 +45,7 @@ const appEnableCheckUpdates = defineModel<boolean>('appEnableCheckUpdates');
<SwitchItem v-model="appEnableCheckUpdates">
{{ $t('preferences.checkUpdates') }}
</SwitchItem>
<SwitchItem v-model="appEnableCopyPreferences">
{{ $t('preferences.enableCopyPreferences') }}
</SwitchItem>
</template>

View File

@@ -70,6 +70,7 @@ const appContentCompact = defineModel<ContentCompactType>('appContentCompact');
const appWatermark = defineModel<boolean>('appWatermark');
const appWatermarkContent = defineModel<string>('appWatermarkContent');
const appEnableCheckUpdates = defineModel<boolean>('appEnableCheckUpdates');
const appEnableCopyPreferences = defineModel<boolean>('appEnableCopyPreferences');
const appEnableStickyPreferencesNavigationBar = defineModel<boolean>(
'appEnableStickyPreferencesNavigationBar',
);
@@ -300,6 +301,7 @@ async function handleReset() {
<General
v-model:app-dynamic-title="appDynamicTitle"
v-model:app-enable-check-updates="appEnableCheckUpdates"
v-model:app-enable-copy-preferences="appEnableCopyPreferences"
v-model:app-locale="appLocale"
v-model:app-watermark="appWatermark"
v-model:app-watermark-content="appWatermarkContent"
@@ -467,6 +469,7 @@ async function handleReset() {
<template #footer>
<VbenButton
v-if="appEnableCopyPreferences"
:disabled="!diffPreference"
class="mx-4 w-full"
size="sm"

View File

@@ -31,6 +31,7 @@
"plain": "Plain",
"rounded": "Rounded",
"copyPreferences": "Copy Preferences",
"enableCopyPreferences": "Show copy preferences button",
"copyPreferencesSuccessTitle": "Copy successful",
"copyPreferencesSuccess": "Copy successful, please override in `src/preferences.ts` under app",
"clearAndLogout": "Clear Cache & Logout",

View File

@@ -31,6 +31,7 @@
"plain": "朴素",
"rounded": "圆润",
"copyPreferences": "复制偏好设置",
"enableCopyPreferences": "显示复制偏好设置按钮",
"copyPreferencesSuccessTitle": "复制成功",
"copyPreferencesSuccess": "复制成功,请在 app 下的 `src/preferences.ts`内进行覆盖",
"clearAndLogout": "清空缓存 & 退出登录",