Files
template-nuxtsim/plugins/vuetify.ts
2025-06-20 02:59:01 +00:00

78 lines
1.7 KiB
TypeScript
Executable File

import { createVuetify } from "vuetify";
import * as components from "vuetify/components";
import * as directives from "vuetify/directives";
import PerfectScrollbar from "vue3-perfect-scrollbar";
// import VueApexCharts from "vue3-apexcharts";
import VueTablerIcons from "vue-tabler-icons";
import "@mdi/font/css/materialdesignicons.css";
import "~/scss/style.scss";
import {
BLUE_THEME,
AQUA_THEME,
PURPLE_THEME,
GREEN_THEME,
CYAN_THEME,
ORANGE_THEME
} from "~/theme/LightTheme";
import {
DARK_BLUE_THEME,
DARK_AQUA_THEME,
DARK_ORANGE_THEME,
DARK_PURPLE_THEME,
DARK_GREEN_THEME,
DARK_CYAN_THEME
} from "~/theme/DarkTheme";
export default defineNuxtPlugin((nuxtApp) => {
const vuetify = createVuetify({
components,
directives,
theme: {
defaultTheme: "BLUE_THEME",
themes: {
BLUE_THEME,
AQUA_THEME,
PURPLE_THEME,
GREEN_THEME,
CYAN_THEME,
ORANGE_THEME,
DARK_BLUE_THEME,
DARK_AQUA_THEME,
DARK_ORANGE_THEME,
DARK_PURPLE_THEME,
DARK_GREEN_THEME,
DARK_CYAN_THEME
}
},
defaults: {
VCard: {
rounded: "md"
},
VTextField: {
variant: "outlined",
density: "comfortable",
color: "primary"
},
VTextarea: {
variant: "outlined",
density: "comfortable",
color: "primary"
},
VSelect: {
variant: "outlined",
density: "comfortable",
color: "primary"
},
VListItem: {
minHeight: "45px"
},
VTooltip: {
location: "top"
}
}
});
nuxtApp.vueApp.use(vuetify);
nuxtApp.vueApp.use(PerfectScrollbar);
// nuxtApp.vueApp.use(VueApexCharts);
nuxtApp.vueApp.use(VueTablerIcons);
});