App.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <script setup lang="ts">
  2. import {RouterView} from 'vue-router';
  3. import {useI18n} from 'vue-i18n';
  4. import {
  5. NConfigProvider,
  6. zhCN,
  7. dateZhCN,
  8. koKR,
  9. dateKoKR,
  10. type GlobalThemeOverrides,
  11. NMessageProvider,
  12. } from 'naive-ui';
  13. import {computed} from 'vue';
  14. import {lightVariable} from '@utils';
  15. defineOptions({
  16. name: 'App',
  17. });
  18. const {locale} = useI18n();
  19. const uiLocale = computed(function() {
  20. if (locale.value === 'zh') {
  21. return {locale: zhCN, dateLocale: dateZhCN};
  22. }
  23. return {locale: koKR, dateLocale: dateKoKR};
  24. });
  25. const themeConfig: GlobalThemeOverrides = {
  26. common: {
  27. primaryColor: lightVariable.primaryColor,
  28. primaryColorHover: lightVariable.primaryColor4,
  29. primaryColorPressed: lightVariable.primaryColor2,
  30. primaryColorSuppl: lightVariable.primaryColor,
  31. },
  32. Scrollbar: {
  33. color: lightVariable.primaryColor8,
  34. colorHover: lightVariable.primaryColor,
  35. },
  36. Menu: {
  37. itemIconColor: lightVariable.tipFontColor,
  38. itemIconColorActive: lightVariable.primaryColor,
  39. itemIconColorHover: lightVariable.primaryColor,
  40. itemColorHover: lightVariable.primaryColor9,
  41. itemTextColor: lightVariable.subtitleFontColor,
  42. itemTextColorHover: lightVariable.primaryColor,
  43. itemIconColorCollapsed: lightVariable.tipFontColor,
  44. },
  45. Layout: {
  46. color: lightVariable.backgroundColor,
  47. siderColor: lightVariable.layoutBackgroundColor,
  48. siderBorderColor: lightVariable.backgroundColor,
  49. },
  50. };
  51. </script>
  52. <template>
  53. <NConfigProvider v-bind="uiLocale" :themeOverrides="themeConfig">
  54. <NMessageProvider>
  55. <RouterView />
  56. </NMessageProvider>
  57. </NConfigProvider>
  58. </template>