import { NextRequest, NextResponse } from 'next/server' export async function middleware(request: NextRequest) { const { pathname } = request.nextUrl // Allow auth API routes and static files if ( pathname.startsWith('/api/auth') || pathname.startsWith('/_next') || pathname.startsWith('/favicon') || pathname.includes('.') ) { return NextResponse.next() } // Allow login page if (pathname === '/login') { return NextResponse.next() } // Check if session cookie exists (simple check, full validation happens in server) const sessionToken = request.cookies.get('better-auth.session_token') if (!sessionToken?.value) { const loginUrl = new URL('/login', request.url) loginUrl.searchParams.set('callbackUrl', pathname) return NextResponse.redirect(loginUrl) } return NextResponse.next() } export const config = { matcher: ['/((?!api/auth|_next/static|_next/image|favicon.ico).*)'], }