Files
personal-portfolio/plugins/vuetify.ts
2023-04-18 11:18:09 +02:00

70 lines
1.8 KiB
TypeScript

import { createVuetify, ThemeDefinition } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
import '@mdi/font/css/materialdesignicons.css'
import { mdi } from 'vuetify/iconsets/mdi'
import { brands } from '~/iconsets/brands'
// @ts-expect-error Missing type definitions
import colors from 'vuetify/lib/util/colors'
const myCustomDarkTheme: ThemeDefinition = {
dark: true,
colors: {
background: '#0A192F',
backgroundSecondary: '#112240',
primary: '#64FFDA',
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3
}
// Bert
/* dark: {
background: '#0B0C10',
primary: '#66FCF1',
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3,
},
// Nuxt Default
dark: {
primary: colors.blue.darken2,
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3,
}, */
}
export default defineNuxtPlugin(nuxtApp => {
const vuetify = createVuetify({
components,
directives,
theme: {
// customVariables: ['~/assets/variables.scss'],
defaultTheme: 'myCustomDarkTheme',
themes: {
myCustomDarkTheme,
}
},
icons: {
defaultSet: 'mdi',
sets: {
mdi,
brands
}
}
})
nuxtApp.vueApp.use(vuetify)
// Define global variables
nuxtApp.provide('myName', 'Manuel Veigel')
})