From 610a0446a562681e2f44e5e5261c8b455058e23b Mon Sep 17 00:00:00 2001 From: Izan <66965250+SrIzan10@users.noreply.github.com> Date: Sat, 10 Jan 2026 00:38:49 +0100 Subject: [PATCH] chore: protect pages before i forget (and also auth page changes) --- app/components/app/SignInDialog.vue | 26 ++++++-------------------- app/middleware/auth.global.ts | 14 ++++++++++++++ app/pages/sign-in/[...slug].vue | 5 +++++ app/pages/sign-up/[...slug].vue | 5 +++++ 4 files changed, 30 insertions(+), 20 deletions(-) create mode 100644 app/middleware/auth.global.ts create mode 100644 app/pages/sign-in/[...slug].vue create mode 100644 app/pages/sign-up/[...slug].vue diff --git a/app/components/app/SignInDialog.vue b/app/components/app/SignInDialog.vue index 209a556..5f3c98c 100644 --- a/app/components/app/SignInDialog.vue +++ b/app/components/app/SignInDialog.vue @@ -1,26 +1,12 @@ diff --git a/app/middleware/auth.global.ts b/app/middleware/auth.global.ts new file mode 100644 index 0000000..99ac7dc --- /dev/null +++ b/app/middleware/auth.global.ts @@ -0,0 +1,14 @@ +// source: https://clerk.com/docs/guides/secure/protect-pages +// Define the routes you want to protect with `createRouteMatcher()` +const isProtectedRoute = createRouteMatcher(["/presets(.*)", "/stream(.*)"]); + +export default defineNuxtRouteMiddleware((to) => { + // Use the `useAuth()` composable to access the `isSignedIn` property + const { isSignedIn } = useAuth(); + + // Check if the user is not signed in and is trying to access a protected route + // If so, redirect them to the sign-in page + if (!isSignedIn.value && isProtectedRoute(to)) { + return navigateTo("/sign-in"); + } +}); diff --git a/app/pages/sign-in/[...slug].vue b/app/pages/sign-in/[...slug].vue new file mode 100644 index 0000000..ee848ec --- /dev/null +++ b/app/pages/sign-in/[...slug].vue @@ -0,0 +1,5 @@ + diff --git a/app/pages/sign-up/[...slug].vue b/app/pages/sign-up/[...slug].vue new file mode 100644 index 0000000..1fc2573 --- /dev/null +++ b/app/pages/sign-up/[...slug].vue @@ -0,0 +1,5 @@ +