From 31d7ade00f8f1e7c5dd7d8c149ef98580c2f997f Mon Sep 17 00:00:00 2001 From: adonis Date: Sun, 14 Jun 2026 21:42:58 +0330 Subject: [PATCH] added dark mode 2 --- src/core/components/ThemeMenuSection.vue | 149 +++++++++++++++++------ 1 file changed, 110 insertions(+), 39 deletions(-) diff --git a/src/core/components/ThemeMenuSection.vue b/src/core/components/ThemeMenuSection.vue index 2512e16..ac6d96b 100644 --- a/src/core/components/ThemeMenuSection.vue +++ b/src/core/components/ThemeMenuSection.vue @@ -1,27 +1,42 @@ @@ -29,8 +44,10 @@ import Icon from '@core/components/BaseIcon/src/Icon.vue' import { useAdminTheme } from '@core/composable/useAdminTheme' import type { DarkModeSchema } from '@core/stores/darkmode' +import { computed, ref } from 'vue' import { storeToRefs } from 'pinia' +const open = ref(false) const { isDark, darkmode } = useAdminTheme() const { colorSchema } = storeToRefs(darkmode) @@ -39,45 +56,99 @@ const themeOptions: Array<{ value: DarkModeSchema; label: string; icon: string } { value: 'dark', label: 'تاریک', icon: 'vuesax-linear:moon' }, { value: 'auto', label: 'سیستم', icon: 'vuesax-linear:monitor' } ] + +const triggerIcon = computed(() => { + if (colorSchema.value === 'dark') return 'vuesax-linear:moon' + if (colorSchema.value === 'light') return 'vuesax-linear:sun-1' + return 'vuesax-linear:monitor' +}) + +function selectSchema(schema: DarkModeSchema) { + darkmode.setSchema(schema) + open.value = false +} -html.is-dark .theme-menu-hint { - color: rgba(255, 255, 255, 0.45); +