themeConfig.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { defineThemeConfig } from "@core";
  2. import { Skins } from "@core/enums";
  3. import { breakpointsVuetify } from "@vueuse/core";
  4. import { VIcon } from "vuetify/lib/components/VIcon";
  5. // ❗ Logo SVG must be imported with ?raw suffix
  6. import logo from "@images/logo.svg?raw";
  7. import {
  8. AppContentLayoutNav,
  9. ContentWidth,
  10. FooterType,
  11. NavbarType,
  12. } from "@layouts/enums";
  13. export const { themeConfig, layoutConfig } = defineThemeConfig({
  14. app: {
  15. title: "MAA",
  16. logo: h("div", {
  17. innerHTML: logo,
  18. style: "line-height:0; color: rgb(var(--v-global-theme-primary))",
  19. }),
  20. contentWidth: ContentWidth.Boxed,
  21. contentLayoutNav: AppContentLayoutNav.Vertical,
  22. overlayNavFromBreakpoint: breakpointsVuetify.md + 16,
  23. i18n: {
  24. enable: true,
  25. defaultLocale: "tw",
  26. langConfig: [
  27. {
  28. label: "English",
  29. i18nLang: "en",
  30. isRTL: false,
  31. },
  32. {
  33. label: "French",
  34. i18nLang: "fr",
  35. isRTL: false,
  36. },
  37. {
  38. label: "Arabic",
  39. i18nLang: "ar",
  40. isRTL: true,
  41. },
  42. {
  43. label: "繁體中文",
  44. i18nLang: "tw",
  45. isRTL: false,
  46. },
  47. ],
  48. },
  49. theme: "system",
  50. skin: Skins.Default,
  51. iconRenderer: VIcon,
  52. },
  53. navbar: {
  54. type: NavbarType.Sticky,
  55. navbarBlur: true,
  56. },
  57. footer: {
  58. type: FooterType.Static,
  59. },
  60. verticalNav: {
  61. isVerticalNavCollapsed: false,
  62. defaultNavItemIconProps: {
  63. icon: "tabler-circle",
  64. size: 10,
  65. },
  66. isVerticalNavSemiDark: false,
  67. },
  68. horizontalNav: {
  69. type: "sticky",
  70. transition: "slide-y-reverse-transition",
  71. },
  72. /*
  73. // ℹ️ In below Icons section, you can specify icon for each component. Also you can use other props of v-icon component like `color` and `size` for each icon.
  74. // Such as: chevronDown: { icon: 'tabler-chevron-down', color:'primary', size: '24' },
  75. */
  76. icons: {
  77. chevronDown: {
  78. icon: "tabler-chevron-down",
  79. },
  80. chevronRight: {
  81. icon: "tabler-chevron-right",
  82. size: 18,
  83. },
  84. close: {
  85. icon: "tabler-x",
  86. },
  87. verticalNavPinned: {
  88. icon: "tabler-circle-dot",
  89. },
  90. verticalNavUnPinned: {
  91. icon: "tabler-circle",
  92. },
  93. sectionTitlePlaceholder: {
  94. icon: "tabler-separator",
  95. },
  96. },
  97. });