diff --git a/components/layout/full/Main.vue b/components/layout/full/Main.vue index 7428ef5..10b1179 100644 --- a/components/layout/full/Main.vue +++ b/components/layout/full/Main.vue @@ -64,7 +64,7 @@ watch([mdAndDown, () => props.items], ([mdVal, items]) => {
- +
- + +
diff --git a/components/layout/full/vertical-header/AppsLink.vue b/components/layout/full/vertical-header/AppsLink.vue index 345505b..b0382e8 100644 --- a/components/layout/full/vertical-header/AppsLink.vue +++ b/components/layout/full/vertical-header/AppsLink.vue @@ -1,5 +1,5 @@ \ No newline at end of file + diff --git a/components/layout/full/vertical-header/RightMobileSidebar.vue b/components/layout/full/vertical-header/RightMobileSidebar.vue index e986bd2..7e563ed 100644 --- a/components/layout/full/vertical-header/RightMobileSidebar.vue +++ b/components/layout/full/vertical-header/RightMobileSidebar.vue @@ -1,59 +1,24 @@ - diff --git a/components/layout/full/vertical-header/ThemeToggler.vue b/components/layout/full/vertical-header/ThemeToggler.vue new file mode 100644 index 0000000..da5c672 --- /dev/null +++ b/components/layout/full/vertical-header/ThemeToggler.vue @@ -0,0 +1,77 @@ + + + diff --git a/config.ts b/config.ts new file mode 100644 index 0000000..8dd7c46 --- /dev/null +++ b/config.ts @@ -0,0 +1,23 @@ +export type ConfigProps = { + Sidebar_drawer: any; + Customizer_drawer: boolean; + mini_sidebar: boolean; + setHorizontalLayout: boolean; + setRTLLayout: boolean; + actTheme: string; + boxed: boolean; + setBorderCard: boolean; +}; + +const config: ConfigProps = { + Sidebar_drawer: null, + Customizer_drawer: false, + mini_sidebar: false, + setHorizontalLayout: false, // Horizontal layout + setRTLLayout: false, // RTL layout + actTheme: 'BLUE_THEME', + boxed: true, + setBorderCard: false +}; + +export default config; diff --git a/package.json b/package.json index 17b3574..08d3f5f 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "@iconify/vue": "^4.3.0", "@mdi/font": "7.4.47", "@nuxt/vite-builder": "3.16.2", - "@pinia/nuxt": "^0.11.0", + "@pinia/nuxt": "^0.5.1", "@vueform/nuxt": "^1.13.0", "apexcharts": "4.5.0", "axios": "^1.9.0", @@ -24,7 +24,7 @@ "nuxt-auth-utils": "^0.5.20", "nuxt-mongoose": "^1.0.6", "openid-client": "^5.7.1", - "pinia": "^3.0.2", + "pinia": "2.1.7", "sass": "1.70.0", "sweetalert2": "^11.22.0", "vue": "3.5.13", diff --git a/plugins/vuetify.ts b/plugins/vuetify.ts index 167ecf0..b887758 100644 --- a/plugins/vuetify.ts +++ b/plugins/vuetify.ts @@ -1,15 +1,20 @@ - 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 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 } from "@/theme/LightTheme"; import { - BLUE_THEME, -} from "@/theme/LightTheme"; + 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, @@ -18,24 +23,30 @@ export default defineNuxtPlugin((nuxtApp) => { defaultTheme: "BLUE_THEME", themes: { BLUE_THEME, + DARK_BLUE_THEME, + DARK_AQUA_THEME, + DARK_ORANGE_THEME, + DARK_PURPLE_THEME, + DARK_GREEN_THEME, + DARK_CYAN_THEME, }, }, defaults: { VBtn: {}, VCard: { - rounded: 'md' + rounded: "md", }, VTextField: { - rounded: 'lg' + rounded: "lg", }, VTooltip: { - location: 'top' - } - } + location: "top", + }, + }, }); nuxtApp.vueApp.use(vuetify); + nuxtApp.provide('vuetify', vuetify) nuxtApp.vueApp.use(PerfectScrollbar); nuxtApp.vueApp.use(VueApexCharts); nuxtApp.vueApp.use(VueTablerIcons); }); - diff --git a/stores/customizer.ts b/stores/customizer.ts new file mode 100644 index 0000000..ed91e36 --- /dev/null +++ b/stores/customizer.ts @@ -0,0 +1,40 @@ +import { defineStore } from "pinia"; +import config from '@/config' + + +export const useCustomizerStore = defineStore('theme',{ + id: "customizer", + state: () => ({ + Sidebar_drawer: config.Sidebar_drawer, + Customizer_drawer: config.Customizer_drawer, + mini_sidebar: config.mini_sidebar, + setHorizontalLayout: config.setHorizontalLayout, // Horizontal layout + setRTLLayout:config.setRTLLayout, // RTL layout + actTheme: config.actTheme, + boxed: config.boxed, + setBorderCard: config.setBorderCard + }), + + getters: {}, + actions: { + SET_SIDEBAR_DRAWER() { + this.Sidebar_drawer = !this.Sidebar_drawer; + }, + SET_MINI_SIDEBAR(payload: any) { + this.mini_sidebar = payload; + }, + SET_CUSTOMIZER_DRAWER(payload: any) { + this.Customizer_drawer = payload; + }, + + SET_LAYOUT(payload: any) { + this.setHorizontalLayout = payload; + }, + SET_THEME(payload: any) { + this.actTheme = payload; + }, + SET_CARD_BORDER(payload: any){ + this.setBorderCard = payload + } + }, +});