🐛 Fix circular import in router
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
import { MenuIcon } from "lucide-vue-next";
|
import { MenuIcon } from "lucide-vue-next";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useRoute, useRouter, RouterLink } from "vue-router";
|
import { useRoute, useRouter, RouterLink } from "vue-router";
|
||||||
import { lastRoute } from "../store";
|
import { lastRoute } from "../router/index";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { createRouter, createWebHistory } from "vue-router";
|
import { createRouter, createWebHistory } from "vue-router";
|
||||||
import { lastRoute } from "../store";
|
import { shouldLogin } from "../store";
|
||||||
|
import { ref, watch } from "vue";
|
||||||
import TimetableView from "../views/TimetableView.vue";
|
import TimetableView from "../views/TimetableView.vue";
|
||||||
import SubstitutionView from "../views/SubstitutionView.vue";
|
import SubstitutionView from "../views/SubstitutionView.vue";
|
||||||
import HistoryView from "../views/HistoryView.vue";
|
import HistoryView from "../views/HistoryView.vue";
|
||||||
@ -47,9 +48,14 @@ const router = createRouter({
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export let lastRoute = ref();
|
||||||
router.beforeEach((_to, from) => {
|
router.beforeEach((_to, from) => {
|
||||||
lastRoute.value = from;
|
lastRoute.value = from;
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(shouldLogin, (value) => {
|
||||||
|
if (value) router.push("/login");
|
||||||
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
import { ref, watch, computed } from "vue";
|
import { ref, watch, computed } from "vue";
|
||||||
import router from "./router";
|
|
||||||
import { getNextAndPrevDay } from "./util";
|
import { getNextAndPrevDay } from "./util";
|
||||||
import i18n from "./i18n";
|
import i18n from "./i18n";
|
||||||
|
|
||||||
/* Router */
|
/* Router */
|
||||||
export const lastRoute = ref();
|
export const shouldLogin = ref(false);
|
||||||
export const loading = ref(false);
|
export const loading = ref(false);
|
||||||
export const loadingProgress = ref(0);
|
export const loadingProgress = ref(0);
|
||||||
export const loadingFailed = ref(false);
|
export const loadingFailed = ref(false);
|
||||||
@ -70,7 +69,7 @@ export async function fetchData(days, partial) {
|
|||||||
try {
|
try {
|
||||||
const checkResponse = await fetch(`${baseUrl}/check`);
|
const checkResponse = await fetch(`${baseUrl}/check`);
|
||||||
if (checkResponse.status == 401) {
|
if (checkResponse.status == 401) {
|
||||||
router.push("/login");
|
shouldLogin.value = true;
|
||||||
return;
|
return;
|
||||||
} else if (checkResponse.status != 200) {
|
} else if (checkResponse.status != 200) {
|
||||||
loadingFailed.value = true;
|
loadingFailed.value = true;
|
||||||
|
Reference in New Issue
Block a user