All checks were successful
Build Quasar SPA and Go Backend for memberApp / build-spa (push) Successful in 2m34s
Build Quasar SPA and Go Backend for memberApp / build-backend (amd64, .exe, windows) (push) Successful in 5m39s
Build Quasar SPA and Go Backend for memberApp / build-backend (amd64, , linux) (push) Successful in 5m46s
Build Quasar SPA and Go Backend for memberApp / build-backend (arm, 6, , linux) (push) Successful in 5m32s
Build Quasar SPA and Go Backend for memberApp / build-backend (arm64, , linux) (push) Successful in 5m35s
33 lines
976 B
JavaScript
33 lines
976 B
JavaScript
import { boot } from 'quasar/wrappers';
|
||
import { useUserStore } from 'src/vueLib/login/userStore';
|
||
|
||
export default boot(async ({ router }) => {
|
||
const userStore = useUserStore();
|
||
|
||
// Restore logic after router is ready but before navigation
|
||
router.isReady().then(() => {
|
||
const lastRoute = sessionStorage.getItem('lastRoute');
|
||
const currentPath = router.currentRoute.value.fullPath;
|
||
|
||
// Restore only if:
|
||
// - we’re on root ("/" or "/#/"), and
|
||
// - a last route exists, and
|
||
// - the user is authenticated
|
||
if (
|
||
lastRoute &&
|
||
['/', '/#/', '/#/index.html'].includes(currentPath) &&
|
||
userStore.isAuthenticated
|
||
) {
|
||
router.replace(lastRoute).catch(() => {});
|
||
}
|
||
});
|
||
|
||
// Save the route after every successful navigation
|
||
router.afterEach((to) => {
|
||
// Don't save login page as "last route"
|
||
if (to.path !== '/login' && to.path !== '/') {
|
||
sessionStorage.setItem('lastRoute', to.fullPath);
|
||
}
|
||
});
|
||
});
|