diff --git a/src/layout/AppConfigurator.vue b/src/layout/AppConfigurator.vue
index 2e6a909..e4a3a27 100644
--- a/src/layout/AppConfigurator.vue
+++ b/src/layout/AppConfigurator.vue
@@ -8,6 +8,8 @@ import { ref } from 'vue';
const { layoutConfig, setPrimary, setSurface, setPreset, isDarkTheme } = useLayout();
+const preset = ref(layoutConfig.preset);
+
const presets = {
Aura,
Lara,
@@ -72,7 +74,7 @@ const surfaces = ref([
]);
function getPresetExt() {
- const color = primaryColors.value.find((c) => c.name === layoutConfig.primary.value);
+ const color = primaryColors.value.find((c) => c.name === layoutConfig.primary);
if (color.name === 'noir') {
return {
@@ -123,7 +125,7 @@ function getPresetExt() {
}
};
} else {
- if (layoutConfig.preset.value === 'Nora') {
+ if (layoutConfig.preset === 'Nora') {
return {
semantic: {
primary: color.palette,
@@ -215,14 +217,12 @@ function applyTheme(type, color) {
} else if (type === 'surface') {
updateSurfacePalette(color.palette);
}
-
- /*EventBus.emit('theme-palette-change');*/
}
function onPresetChange(value) {
setPreset(value);
const presetValue = presets[value];
- const surfacePalette = surfaces.value.find((s) => s.name === layoutConfig.surface.value)?.palette;
+ const surfacePalette = surfaces.value.find((s) => s.name === layoutConfig.surface)?.palette;
$t().preset(presetValue).preset(getPresetExt()).surfacePalette(surfacePalette).use({ useDefaultOptions: true });
}
@@ -240,7 +240,7 @@ function onPresetChange(value) {
type="button"
:title="primaryColor.name"
@click="updateColors('primary', primaryColor)"
- :class="{ 'active-color': layoutConfig.primary.value === primaryColor.name }"
+ :class="{ 'active-color': layoutConfig.primary === primaryColor.name }"
:style="{ backgroundColor: `${primaryColor.name === 'noir' ? 'var(--text-color)' : primaryColor.palette['500']}` }"
>
@@ -254,14 +254,14 @@ function onPresetChange(value) {
type="button"
:title="surface.name"
@click="updateColors('surface', surface)"
- :class="{ 'active-color': layoutConfig.surface.value ? layoutConfig.surface.value === surface.name : isDarkTheme ? surface.name === 'zinc' : surface.name === 'slate' }"
+ :class="{ 'active-color': layoutConfig.surface ? layoutConfig.surface === surface.name : isDarkTheme ? surface.name === 'zinc' : surface.name === 'slate' }"
:style="{ backgroundColor: `${surface.palette['500']}` }"
>
Presets
-
+
diff --git a/src/layout/AppFooter.vue b/src/layout/AppFooter.vue
index 50818e6..bfceb22 100644
--- a/src/layout/AppFooter.vue
+++ b/src/layout/AppFooter.vue
@@ -2,10 +2,10 @@
import { useLayout } from '@/layout/composables/layout';
import { computed } from 'vue';
-const { layoutConfig } = useLayout();
+const { isDarkTheme } = useLayout();
const logoUrl = computed(() => {
- return `/layout/images/${layoutConfig.darkTheme.value ? 'logo-white' : 'logo-dark'}.svg`;
+ return `/layout/images/${isDarkTheme ? 'logo-white' : 'logo-dark'}.svg`;
});
diff --git a/src/layout/AppLayout.vue b/src/layout/AppLayout.vue
index 076aa57..4e46dda 100644
--- a/src/layout/AppLayout.vue
+++ b/src/layout/AppLayout.vue
@@ -5,7 +5,7 @@ import AppFooter from './AppFooter.vue';
import AppSidebar from './AppSidebar.vue';
import AppTopbar from './AppTopbar.vue';
-const { layoutConfig, layoutState, isSidebarActive } = useLayout();
+const { layoutConfig, layoutState, isSidebarActive, resetMenu } = useLayout();
const outsideClickListener = ref(null);
@@ -19,22 +19,20 @@ watch(isSidebarActive, (newVal) => {
const containerClass = computed(() => {
return {
- 'layout-theme-light': !layoutConfig.darkTheme.value,
- 'layout-theme-dark': layoutConfig.darkTheme.value,
- 'layout-overlay': layoutConfig.menuMode.value === 'overlay',
- 'layout-static': layoutConfig.menuMode.value === 'static',
- 'layout-static-inactive': layoutState.staticMenuDesktopInactive.value && layoutConfig.menuMode.value === 'static',
- 'layout-overlay-active': layoutState.overlayMenuActive.value,
- 'layout-mobile-active': layoutState.staticMenuMobileActive.value
+ 'layout-theme-light': !layoutConfig.darkTheme,
+ 'layout-theme-dark': layoutConfig.darkTheme,
+ 'layout-overlay': layoutConfig.menuMode === 'overlay',
+ 'layout-static': layoutConfig.menuMode === 'static',
+ 'layout-static-inactive': layoutState.staticMenuDesktopInactive && layoutConfig.menuMode === 'static',
+ 'layout-overlay-active': layoutState.overlayMenuActive,
+ 'layout-mobile-active': layoutState.staticMenuMobileActive
};
});
const bindOutsideClickListener = () => {
if (!outsideClickListener.value) {
outsideClickListener.value = (event) => {
if (isOutsideClicked(event)) {
- layoutState.overlayMenuActive.value = false;
- layoutState.staticMenuMobileActive.value = false;
- layoutState.menuHoverActive.value = false;
+ resetMenu();
}
};
document.addEventListener('click', outsideClickListener.value);
diff --git a/src/layout/AppMenuItem.vue b/src/layout/AppMenuItem.vue
index d2eaad4..62754ae 100644
--- a/src/layout/AppMenuItem.vue
+++ b/src/layout/AppMenuItem.vue
@@ -1,7 +1,7 @@
diff --git a/src/views/pages/auth/Login.vue b/src/views/pages/auth/Login.vue
index 5ef29f7..a665c95 100644
--- a/src/views/pages/auth/Login.vue
+++ b/src/views/pages/auth/Login.vue
@@ -1,14 +1,14 @@