diff --git a/src/composables/theme.js b/src/composables/theme.js new file mode 100644 index 0000000..c06b5cf --- /dev/null +++ b/src/composables/theme.js @@ -0,0 +1,52 @@ +import { toRefs, reactive } from 'vue'; + +const appConfig = reactive({ + ripple: false, + darkTheme: false, + inputStyle: 'outlined', + menuMode: 'static', + theme: 'lara-light-indigo', + scale: 14 +}); + +const layoutState = reactive({ + staticMenuDesktopInactive: false, + overlayMenuActive: false, + profileSidebarVisible: false, + configSidebarVisible: false, + staticMenuMobileActive: false, + menuHoverActive: false +}); + +export function useThemeService () { + const changeThemeSettings = (theme, darkTheme) => { + appConfig.theme = theme; + appConfig.darkTheme = darkTheme; + }; + + const setScale = scale => { + appConfig.scale = scale; + }; + + const onMenuToggle = () => { + debugger; + if (appConfig.menuMode === 'overlay') { + layoutState.overlayMenuActive = !layoutState.overlayMenuActive; + /* if (layoutState.overlayMenuActive) { + this.overlayOpen.next(null); + } */ + } + + if (window.innerWidth > 991) { + layoutState.staticMenuDesktopInactive = !layoutState.staticMenuDesktopInactive; + } else { + layoutState.staticMenuMobileActive = !layoutState.staticMenuMobileActive; + + /* if (this.state.staticMenuMobileActive) { + this.overlayOpen.next(null); + } */ + } + }; + + return { appConfig: toRefs(appConfig), layoutState: toRefs(layoutState), changeThemeSettings, setScale, onMenuToggle }; +} diff --git a/src/layout/AppConfig.vue b/src/layout/AppConfig.vue index d6651f1..6303c24 100644 --- a/src/layout/AppConfig.vue +++ b/src/layout/AppConfig.vue @@ -3,24 +3,24 @@ - +
Scale
- +
- +
- +
@@ -29,39 +29,39 @@
Input Style
- +
- +
Ripple Effect
- +
Bootstrap
-
-
-
-
@@ -69,23 +69,23 @@
Material Design
-
-
-
-
@@ -93,23 +93,23 @@
Material Design Compact
-
-
-
-
@@ -117,8 +117,8 @@
Tailwind
-
@@ -126,8 +126,8 @@
Fluent UI
-
@@ -135,43 +135,43 @@
PrimeOne Design - 2022
-
-
-
-
-
-
-
-
@@ -179,63 +179,63 @@
PrimeOne Design - 2021
-
-
-
-
-
-
-
-
-
-
-
-
@@ -244,8 +244,46 @@ diff --git a/src/layout/AppFooter.vue b/src/layout/AppFooter.vue index 73c01b8..6d48618 100644 --- a/src/layout/AppFooter.vue +++ b/src/layout/AppFooter.vue @@ -1,9 +1,18 @@ + diff --git a/src/layout/AppLayout.vue b/src/layout/AppLayout.vue index bccb0d2..db22a0a 100644 --- a/src/layout/AppLayout.vue +++ b/src/layout/AppLayout.vue @@ -1,5 +1,5 @@ diff --git a/src/layout/AppTopbar.vue b/src/layout/AppTopbar.vue index f1b9c08..e58e715 100644 --- a/src/layout/AppTopbar.vue +++ b/src/layout/AppTopbar.vue @@ -1,11 +1,11 @@ - +