import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const { pathname } = request.nextUrl;

  // Rutas públicas: login y archivos estáticos de la API de auth
  if (
    pathname.startsWith('/login') ||
    pathname.startsWith('/api/auth') ||
    pathname.startsWith('/favicon.ico') ||
    pathname.startsWith('/_next')
  ) {
    return NextResponse.next();
  }

  // Verificar cookie de sesión
  const session = request.cookies.get('session_token');

  // Si no hay sesión y no es la página de login, redirigir a /login
  if (!session) {
    return NextResponse.redirect(new URL('/login', request.url));
  }

  return NextResponse.next();
}

export const config = {
  // Aplicar a todas las rutas excepto archivos estáticos y la propia página de login
  matcher: ['/((?!api/auth|_next/static|_next/image|favicon.ico).*)'],
};
