|
|
|
@ -1,15 +1,22 @@ |
|
|
|
<script setup lang="ts"> |
|
|
|
import type { LayoutHeaderModeType, SelectOption } from '@vben/types'; |
|
|
|
import type { |
|
|
|
LayoutHeaderMenuAlignType, |
|
|
|
LayoutHeaderModeType, |
|
|
|
SelectOption, |
|
|
|
} from '@vben/types'; |
|
|
|
|
|
|
|
import { $t } from '@vben/locales'; |
|
|
|
|
|
|
|
import SelectItem from '../select-item.vue'; |
|
|
|
import SwitchItem from '../switch-item.vue'; |
|
|
|
import ToggleItem from '../toggle-item.vue'; |
|
|
|
|
|
|
|
defineProps<{ disabled: boolean }>(); |
|
|
|
|
|
|
|
const headerEnable = defineModel<boolean>('headerEnable'); |
|
|
|
const headerMode = defineModel<LayoutHeaderModeType>('headerMode'); |
|
|
|
const headerMenuAlign = |
|
|
|
defineModel<LayoutHeaderMenuAlignType>('headerMenuAlign'); |
|
|
|
|
|
|
|
const localeItems: SelectOption[] = [ |
|
|
|
{ |
|
|
|
@ -29,6 +36,21 @@ const localeItems: SelectOption[] = [ |
|
|
|
value: 'auto-scroll', |
|
|
|
}, |
|
|
|
]; |
|
|
|
|
|
|
|
const headerMenuAlignItems: SelectOption[] = [ |
|
|
|
{ |
|
|
|
label: $t('preferences.header.menuAlignStart'), |
|
|
|
value: 'start', |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: $t('preferences.header.menuAlignCenter'), |
|
|
|
value: 'center', |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: $t('preferences.header.menuAlignEnd'), |
|
|
|
value: 'end', |
|
|
|
}, |
|
|
|
]; |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
@ -42,4 +64,11 @@ const localeItems: SelectOption[] = [ |
|
|
|
> |
|
|
|
{{ $t('preferences.mode') }} |
|
|
|
</SelectItem> |
|
|
|
<ToggleItem |
|
|
|
v-model="headerMenuAlign" |
|
|
|
:disabled="!headerEnable" |
|
|
|
:items="headerMenuAlignItems" |
|
|
|
> |
|
|
|
{{ $t('preferences.header.menuAlign') }} |
|
|
|
</ToggleItem> |
|
|
|
</template> |
|
|
|
|