51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
import { deepMerge } from '@antfu/utils'
|
|
import { useI18n } from 'vue-i18n'
|
|
import { createVuetify } from 'vuetify'
|
|
import { VBtn } from 'vuetify/components/VBtn'
|
|
import { createVueI18nAdapter } from 'vuetify/locale/adapters/vue-i18n'
|
|
import defaults from './defaults'
|
|
import { icons } from './icons'
|
|
import { staticPrimaryColor, staticPrimaryDarkenColor, themes } from './theme'
|
|
import { getI18n } from '@/plugins/i18n/index'
|
|
|
|
// Styles
|
|
import { cookieRef } from '@/@layouts/stores/config'
|
|
import '@core-scss/template/libs/vuetify/index.scss'
|
|
import 'vuetify/styles'
|
|
|
|
export default function (app) {
|
|
const cookieThemeValues = {
|
|
defaultTheme: resolveVuetifyTheme(),
|
|
themes: {
|
|
light: {
|
|
colors: {
|
|
'primary': cookieRef('lightThemePrimaryColor', staticPrimaryColor).value,
|
|
'primary-darken-1': cookieRef('lightThemePrimaryDarkenColor', staticPrimaryDarkenColor).value,
|
|
},
|
|
},
|
|
dark: {
|
|
colors: {
|
|
'primary': cookieRef('darkThemePrimaryColor', staticPrimaryColor).value,
|
|
'primary-darken-1': cookieRef('darkThemePrimaryDarkenColor', staticPrimaryDarkenColor).value,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
const optionTheme = deepMerge({ themes }, cookieThemeValues)
|
|
|
|
const vuetify = createVuetify({
|
|
aliases: {
|
|
IconBtn: VBtn,
|
|
},
|
|
defaults,
|
|
icons,
|
|
theme: optionTheme,
|
|
locale: {
|
|
adapter: createVueI18nAdapter({ i18n: getI18n(), useI18n }),
|
|
},
|
|
})
|
|
|
|
app.use(vuetify)
|
|
}
|