From dae921528e4d8607d2660f8d56f9a0a01d8a8538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Sat, 29 Nov 2025 15:59:45 +0100 Subject: [PATCH] fix at initial start undefined app name --- src/boot/quasar-global.ts | 8 ++++++-- src/localstorage/localStorage.ts | 6 +++--- src/vueLib/login/useLogin.ts | 20 ++++++++++++++++---- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/boot/quasar-global.ts b/src/boot/quasar-global.ts index 6f4ed4e..68e7015 100644 --- a/src/boot/quasar-global.ts +++ b/src/boot/quasar-global.ts @@ -14,8 +14,12 @@ export default boot(({ app, router }) => { const settings = getLocalSettings(); - logo.value = settings.icon ?? logo.value; - appName.value = settings.appName ?? appName.value; + if (settings.icon) { + logo.value = settings.icon; + } + if (settings.appName) { + appName.value = settings.appName; + } databaseName.value = settings.databaseName ?? databaseName.value; document.documentElement.style.setProperty('--q-primary', settings.primaryColor ?? '#1976d2'); diff --git a/src/localstorage/localStorage.ts b/src/localstorage/localStorage.ts index f540d32..75686eb 100644 --- a/src/localstorage/localStorage.ts +++ b/src/localstorage/localStorage.ts @@ -1,5 +1,5 @@ import { Dark } from 'quasar'; -import type { Settings } from 'src/vueLib/models/settings'; +import { appName, databaseName, type Settings } from 'src/vueLib/models/settings'; import { updateOrAddObject } from 'src/vueLib/utils/utils'; import { ref } from 'vue'; @@ -16,8 +16,8 @@ export function setLocalSettings(settings: Settings) { export function getLocalSettings(): Settings { return { icon: localStorage.getItem('icon'), - appName: localStorage.getItem('appName'), - databaseName: localStorage.getItem('databaseName'), + appName: localStorage.getItem('appName') || appName.value, + databaseName: localStorage.getItem('databaseName') || databaseName.value, primaryColor: localStorage.getItem('primaryColor'), primaryColorText: localStorage.getItem('primaryColorText'), secondaryColor: localStorage.getItem('secondaryColor'), diff --git a/src/vueLib/login/useLogin.ts b/src/vueLib/login/useLogin.ts index a17f7b0..f5bc6c8 100644 --- a/src/vueLib/login/useLogin.ts +++ b/src/vueLib/login/useLogin.ts @@ -17,8 +17,12 @@ export function useLogin() { await appApi.post('/login', { user, password }).then((resp) => { const sets = resp.data.settings as Settings; - logo.value = sets.icon; - appName.value = sets.appName; + if (sets.icon) { + logo.value = sets.icon; + } + if (sets.appName) { + appName.value = sets.appName; + } document.documentElement.style.setProperty('--q-primary', sets.primaryColor); document.documentElement.style.setProperty('--q-primary-text', sets.primaryColorText); document.documentElement.style.setProperty('--q-secondary', sets.secondaryColor); @@ -28,7 +32,11 @@ export function useLogin() { const resp = await appApi.get('/login/me'); await userStore - .setUser({ id: resp.data.id, username: resp.data.user, role: resp.data.role }) + .setUser({ + id: resp.data.id, + username: resp.data.user, + role: { role: resp.data.role, permissions: [] }, + }) .catch((err) => NotifyResponse(err, 'error')); startRefreshInterval(); @@ -57,7 +65,11 @@ export function useLogin() { .get('/login/me') .then((resp) => { userStore - .setUser({ id: resp.data.id, username: resp.data.user, role: resp.data.role }) + .setUser({ + id: resp.data.id, + username: resp.data.user, + role: { role: resp.data.role, permissions: [] }, + }) .catch((err) => NotifyResponse(err, 'error')); if (!intervalId) { startRefreshInterval();