import { NextResponse } from 'next/server' import type { NextRequest } from 'next/server' import { sessionOptions } from '@/lib/session' const protectedRoutes = ['/dashboard', '/products', '/todos', '/settings', '/solo'] const authRoutes = ['/login', '/register'] export function proxy(request: NextRequest) { const path = request.nextUrl.pathname const isProtected = protectedRoutes.some(r => path.startsWith(r)) const isAuthRoute = authRoutes.some(r => path.startsWith(r)) // Check cookie existence only — full session validation happens in layout.tsx const hasSession = !!request.cookies.get(sessionOptions.cookieName)?.value if (isProtected && !hasSession) { return NextResponse.redirect(new URL('/login', request.url)) } if (isAuthRoute && hasSession) { return NextResponse.redirect(new URL('/dashboard', request.url)) } return NextResponse.next() } export const config = { matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'], }