App.vue 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <n-config-provider
  3. :locale="zhCN"
  4. :theme="getDarkTheme"
  5. :theme-overrides="getThemeOverrides"
  6. :date-locale="dateZhCN"
  7. >
  8. <app-provider>
  9. <router-view />
  10. </app-provider>
  11. </n-config-provider>
  12. </template>
  13. <script lang="ts" setup>
  14. import { computed } from 'vue'
  15. import {
  16. zhCN,
  17. dateZhCN,
  18. darkTheme,
  19. NConfigProvider,
  20. GlobalThemeOverrides
  21. } from 'naive-ui'
  22. import { AppProvider } from '@/components/Application'
  23. import { useRoute } from 'vue-router'
  24. import { useDesignStore } from '@/store/modules/designStore/designStore'
  25. import { borderRadius } from '@/settings/designSetting'
  26. const route = useRoute()
  27. const designStore = useDesignStore()
  28. const getThemeOverrides = computed(
  29. (): GlobalThemeOverrides => {
  30. return {
  31. common: {
  32. primaryColor: designStore.appTheme,
  33. borderRadius
  34. },
  35. LoadingBar: {
  36. colorLoading: designStore.appTheme
  37. }
  38. }
  39. }
  40. )
  41. const getDarkTheme = computed(() =>
  42. designStore.darkTheme ? darkTheme : undefined
  43. )
  44. </script>
  45. <style lang="scss"></style>