feat: add copyright components to enable preferences to configure copyright more accurately

This commit is contained in:
vben
2024-07-06 16:19:37 +08:00
parent 826907f6c3
commit 13f3af96b7
13 changed files with 116 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ export { default as Animation } from './general/animation.vue';
export { default as General } from './general/general.vue';
export { default as Breadcrumb } from './layout/breadcrumb.vue';
export { default as Content } from './layout/content.vue';
export { default as Copyright } from './layout/copyright.vue';
export { default as Footer } from './layout/footer.vue';
export { default as Header } from './layout/header.vue';
export { default as Layout } from './layout/layout.vue';

View File

@@ -0,0 +1,17 @@
<script setup lang="ts">
import { $t } from '@vben/locales';
import SwitchItem from '../switch-item.vue';
defineOptions({
name: 'PreferenceBreadcrumbConfig',
});
const copyrightEnable = defineModel<boolean>('copyrightEnable');
</script>
<template>
<SwitchItem v-model="copyrightEnable">
{{ $t('preferences.copyright.enable') }}
</SwitchItem>
</template>

View File

@@ -19,6 +19,7 @@ import Preferences from './preferences.vue';
:breadcrumb-show-home="preferences.breadcrumb.showHome"
:breadcrumb-show-icon="preferences.breadcrumb.showIcon"
:breadcrumb-style-type="preferences.breadcrumb.styleType"
:copyright-enable="preferences.copyright.enable"
:footer-enable="preferences.footer.enable"
:footer-fixed="preferences.footer.fixed"
:header-enable="preferences.header.enable"
@@ -85,6 +86,9 @@ import Preferences from './preferences.vue';
@update:breadcrumb-style-type="
(val) => updatePreferences({ breadcrumb: { styleType: val } })
"
@update:copyright-enable="
(val) => updatePreferences({ copyright: { enable: val } })
"
@update:footer-enable="
(val) => updatePreferences({ footer: { enable: val } })
"

View File

@@ -40,6 +40,7 @@ import {
BuiltinTheme,
ColorMode,
Content,
Copyright,
Footer,
General,
GlobalShortcutKeys,
@@ -106,6 +107,8 @@ const navigationAccordion = defineModel<boolean>('navigationAccordion');
const footerEnable = defineModel<boolean>('footerEnable');
const footerFixed = defineModel<boolean>('footerFixed');
const copyrightEnable = defineModel<boolean>('copyrightEnable');
const shortcutKeysEnable = defineModel<boolean>('shortcutKeysEnable');
const shortcutKeysGlobalSearch = defineModel<boolean>(
'shortcutKeysGlobalSearch',
@@ -321,6 +324,9 @@ async function handleReset() {
v-model:footer-fixed="footerFixed"
/>
</Block>
<Block :title="$t('preferences.copyright.title')">
<Copyright v-model:copyright-enable="copyrightEnable" />
</Block>
</template>
<template #shortcutKey>