diff --git a/middleware/auth.ts b/middleware/auth.ts new file mode 100644 index 0000000..acdadad --- /dev/null +++ b/middleware/auth.ts @@ -0,0 +1,14 @@ +export default defineNuxtRouteMiddleware((to, from) => { + // Skip middleware if on server-side + // This is important because localStorage is only available client-side + if (process.server) return + + // Check if user is logged in + const user = localStorage.getItem('user') + + // If not logged in and trying to access a protected route + if (!user) { + // Redirect to login page + return navigateTo('/login') + } +}) diff --git a/pages/review/[id].vue b/pages/review/[id].vue index 0cd12a8..eb648e8 100644 --- a/pages/review/[id].vue +++ b/pages/review/[id].vue @@ -1,4 +1,14 @@