From 3203131f4a7586205a539a3c1d88bb3443fe6964 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Sat, 10 May 2025 14:55:38 +0300 Subject: [PATCH] feat: implement auth middleware and protect review page route --- middleware/auth.ts | 14 ++++++++++++++ pages/review/[id].vue | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 middleware/auth.ts 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 @@