generated from legonzaur/webapp-front
32 lines
688 B
TypeScript
32 lines
688 B
TypeScript
import { useGameStore } from "~/store/game.store";
|
|
|
|
const validPaths = ["/", "/rules", "/test", "/words", "/concepts"];
|
|
|
|
export default defineNuxtRouteMiddleware(async (to, from) => {
|
|
const config = useRuntimeConfig();
|
|
|
|
if (to.path.startsWith("/game/")) {
|
|
const gameId = Number(to.params.id);
|
|
const gameStore = useGameStore();
|
|
|
|
return;
|
|
}
|
|
|
|
if (to.path == "/login") {
|
|
const code = to.query.code;
|
|
if (!code) {
|
|
navigateTo(config.public.discordLoginEndpoint, { external: true });
|
|
} else {
|
|
navigateTo("/login");
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (validPaths.includes(to.path)) {
|
|
return;
|
|
}
|
|
if (to.path !== "/") {
|
|
return navigateTo("/");
|
|
}
|
|
});
|