You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

14 lines
442 B

const PUBLIC_PATHS = ["/", "/index"];
const AUTH_PATHS = ["/login", "/register"];
export default defineNuxtRouteMiddleware((to) => {
const { isLoggedIn } = useAuth();
if (isLoggedIn.value && AUTH_PATHS.includes(to.path)) {
return navigateTo("/");
}
if (!AUTH_PATHS.includes(to.path) && !PUBLIC_PATHS.includes(to.path) && !isLoggedIn.value) {
return navigateTo("/login?redirect=" + encodeURIComponent(to.fullPath));
}
});