diff --git a/src/boot/quasar-global.ts b/src/boot/quasar-global.ts index 1c309a6..ab338b2 100644 --- a/src/boot/quasar-global.ts +++ b/src/boot/quasar-global.ts @@ -3,12 +3,17 @@ import { setQuasarInstance } from 'src/vueLib/utils/globalQ'; import { setRouterInstance } from 'src/vueLib/utils/globalRouter'; import { databaseName } from 'src/vueLib/tables/members/MembersTable'; import { Logo } from 'src/vueLib/models/logo'; +import { Dark } from 'quasar'; export default boot(({ app, router }) => { setRouterInstance(router); // store router for global access const $q = app.config.globalProperties.$q; setQuasarInstance($q); + console.log(99, localStorage.getItem('mode')); + + Dark.set(localStorage.getItem('mode') === 'true'); + Logo.value = localStorage.getItem('icon') ?? Logo.value; databaseName.value = localStorage.getItem('databaseName') ?? databaseName.value; let primaryColor = localStorage.getItem('primaryColor'); diff --git a/src/vueLib/login/LoginMenu.vue b/src/vueLib/login/LoginMenu.vue index 19e4ad2..4e0e0b6 100644 --- a/src/vueLib/login/LoginMenu.vue +++ b/src/vueLib/login/LoginMenu.vue @@ -8,7 +8,7 @@ {{ loginText }} - + user.user); +const darkMode = computed(() => { + if (Dark.mode) { + return 'light_mode'; + } + return 'dark_mode'; +}); const showLogin = computed( () => (route.path !== '/' && route.path !== '/login') || currentUser.value?.username === '', ); -const user = useUserStore(); const autorized = computed(() => !!user.isAuthorizedAs(['admin'])); -const { NotifyResponse } = useNotify(); -const currentUser = computed(() => user.user); +// switch between logged in or logged out text const loginText = computed(() => { - return currentUser.value ? 'Logout' : 'Login'; + return currentUser.value ? i18n.global.t('logout') : i18n.global.t('login'); }); -const refLoginDialog = ref(); +//switch between dark and light mode and save it in localStorage +function toggleDarkMode() { + Dark.toggle(); + localStorage.setItem('mode', String(Dark.mode)); +} +// opens login page if no user is logged in otherwise it serves as logout function openLogin() { if (currentUser.value) { userLogin.logout().catch((err) => NotifyResponse(err, 'error'));