feat: refs #7826 add error handling and refresh icon to NavBar

This commit is contained in:
Javier Segarra 2025-01-25 09:20:07 +01:00
parent 31a5dd653c
commit 0c714d2c04
2 changed files with 19 additions and 2 deletions

View File

@ -63,7 +63,15 @@ onMounted(() => stateStore.setMounted());
<div id="searchbar" class="searchbar"></div> <div id="searchbar" class="searchbar"></div>
<QSpace /> <QSpace />
<div class="q-pl-sm q-gutter-sm row items-center no-wrap"> <div class="q-pl-sm q-gutter-sm row items-center no-wrap">
{{ state }}
<div id="actions-prepend"></div> <div id="actions-prepend"></div>
<QIcon
name="refresh"
size="md"
color="red"
v-if="state.get('error')"
@click="() => window.location.reload()"
/>
<QBtn <QBtn
:class="{ 'q-pa-none': quasar.platform.is.mobile }" :class="{ 'q-pa-none': quasar.platform.is.mobile }"
id="pinnedModules" id="pinnedModules"

View File

@ -15,6 +15,7 @@ import { useAcl } from 'src/composables/useAcl';
import { isLoggedIn } from 'src/utils/session'; import { isLoggedIn } from 'src/utils/session';
import { useSession } from 'src/composables/useSession'; import { useSession } from 'src/composables/useSession';
import { Notify } from 'quasar'; import { Notify } from 'quasar';
import { useStateStore } from 'stores/useStateStore';
let session = null; let session = null;
const { t, te } = i18n.global; const { t, te } = i18n.global;
@ -100,7 +101,9 @@ export default defineRouter(function (/* { store, ssrContext } */) {
title += builtTitle; title += builtTitle;
} }
setTimeout(() => {
state.set('error', true);
}, 1000);
document.title = title; document.title = title;
}); });
@ -108,13 +111,19 @@ export default defineRouter(function (/* { store, ssrContext } */) {
if ( if (
error.message.includes('Failed to fetch dynamically imported module') || error.message.includes('Failed to fetch dynamically imported module') ||
error.message.includes('Importing a module script failed') error.message.includes('Importing a module script failed')
) ) {
state.set('error', {
message: t('globals.errorLoadingPage'),
timeout: 5000,
type: 'negative',
});
Notify.create({ Notify.create({
message: t('globals.noSelectedRows'), message: t('globals.noSelectedRows'),
type: 'negative', type: 'negative',
timeout: 5000, timeout: 5000,
progress: true, progress: true,
}); });
}
}); });
return Router; return Router;
}); });