cd112bd683
* ♻️ Refactor and simplify backend code * ♻️ Refactor frontend state, integrate typesafe-vuex accessors into state files * ♻️ Use new state accessors and standardize layout * 🔒 Upgrade and fix npm security audit * 🔧 Update local re-generation scripts * 🔊 Log startup exceptions to detect errors early * ✏️ Fix password reset token content * 🔥 Remove unneeded Dockerfile directives * 🔥 Remove unnecessary print * 🔥 Remove unnecessary code, upgrade dependencies in backend * ✏️ Fix typos in docstrings and comments * 🏗️ Improve user Depends utilities to simplify and remove code * 🔥 Remove deprecated SQLAlchemy parameter
39 lines
924 B
Vue
39 lines
924 B
Vue
<template>
|
|
<router-view></router-view>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { Component, Vue } from 'vue-property-decorator';
|
|
import { store } from '@/store';
|
|
import { dispatchCheckLoggedIn } from '@/store/main/actions';
|
|
import { readIsLoggedIn } from '@/store/main/getters';
|
|
|
|
const startRouteGuard = async (to, from, next) => {
|
|
await dispatchCheckLoggedIn(store);
|
|
if (readIsLoggedIn(store)) {
|
|
if (to.path === '/login' || to.path === '/') {
|
|
next('/main');
|
|
} else {
|
|
next();
|
|
}
|
|
} else if (readIsLoggedIn(store) === false) {
|
|
if (to.path === '/' || (to.path as string).startsWith('/main')) {
|
|
next('/login');
|
|
} else {
|
|
next();
|
|
}
|
|
}
|
|
};
|
|
|
|
@Component
|
|
export default class Start extends Vue {
|
|
public beforeRouteEnter(to, from, next) {
|
|
startRouteGuard(to, from, next);
|
|
}
|
|
|
|
public beforeRouteUpdate(to, from, next) {
|
|
startRouteGuard(to, from, next);
|
|
}
|
|
}
|
|
</script>
|