import { NextRequest, NextResponse } from 'next/server'; const PUBLIC_PATHS = ['/login']; export function middleware(request: NextRequest) { const { pathname } = request.nextUrl; if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) { return NextResponse.next(); } // Token is stored in localStorage (client-side only), so middleware can't // read it directly. We use a cookie set on login as the server-side signal. const token = request.cookies.get('auth_token')?.value; if (!token) { return NextResponse.redirect(new URL('/login', request.url)); } return NextResponse.next(); } export const config = { matcher: ['/((?!_next/static|_next/image|favicon.ico|api).*)'], };