From e0f284b23f8d46eb790e5ac4fc3ffb2071773792 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 10 Jun 2026 15:40:46 +0000 Subject: [PATCH] Add src/middleware.ts --- src/middleware.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/middleware.ts diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..926c3a5 --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,26 @@ +import { NextResponse } from 'next/server'; +import type { NextRequest } from 'next/server'; + +export function middleware(request: NextRequest) { + const { pathname } = request.nextUrl; + + // Protect /admin routes + if (pathname.startsWith('/admin') && !pathname.startsWith('/admin/login')) { + const adminToken = request.cookies.get('adminToken'); + + if (adminToken?.value === 'mock-admin-token') { + return NextResponse.next(); + } + + const url = request.nextUrl.clone(); + url.pathname = '/admin/login'; + url.searchParams.set('redirected', 'true'); // Optional: Add a query param to indicate redirection + return NextResponse.redirect(url); + } + + return NextResponse.next(); +} + +export const config = { + matcher: ['/admin/:path*'], // Apply middleware to all routes under /admin +};