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 @@
@@ -21,4 +21,4 @@ import { Icon } from '@iconify/vue';
-
\ 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 @@
-
-
Navigation
-
-
-
Quick Links
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
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
+ }
+ },
+});