13 lines
448 B
TypeScript
13 lines
448 B
TypeScript
export default defineNuxtRouteMiddleware(async (to) => {
|
|
if (to.path === "/login") return;
|
|
const session = useSessionStore();
|
|
if (!(await session.refresh())) return navigateTo("/login");
|
|
if (
|
|
(to.path === "/host" || to.path.startsWith("/settings/accounts")) &&
|
|
session.user?.role !== "admin"
|
|
)
|
|
return navigateTo("/watch");
|
|
if (to.path === "/")
|
|
return navigateTo(session.user?.role === "admin" ? "/host" : "/watch");
|
|
});
|