general.vue 958 B

12345678910111213141516171819202122232425262728293031323334
  1. <script setup lang="ts">
  2. import type { SelectListItem } from '@vben/types';
  3. import { $t } from '@vben/locales';
  4. import { SUPPORT_LANGUAGES } from '@vben-core/preferences';
  5. import SelectItem from '../select-item.vue';
  6. import SwitchItem from '../switch-item.vue';
  7. defineOptions({
  8. name: 'PreferenceGeneralConfig',
  9. });
  10. const appLocale = defineModel<string>('appLocale');
  11. const appDynamicTitle = defineModel<boolean>('appDynamicTitle');
  12. const appAiAssistant = defineModel<boolean>('appAiAssistant');
  13. const localeItems: SelectListItem[] = SUPPORT_LANGUAGES.map((item) => ({
  14. label: item.text,
  15. value: item.key,
  16. }));
  17. </script>
  18. <template>
  19. <SelectItem v-model="appLocale" :items="localeItems">
  20. {{ $t('preferences.language') }}
  21. </SelectItem>
  22. <SwitchItem v-model="appDynamicTitle">
  23. {{ $t('preferences.dynamic-title') }}
  24. </SwitchItem>
  25. <SwitchItem v-model="appAiAssistant">
  26. {{ $t('preferences.ai-assistant') }}
  27. </SwitchItem>
  28. </template>