import { NextResponse, type NextRequest } from "next/server";
import { COOKIE_SESSION, lireSession } from "@/lib/session";

const PUBLIQUES = ["/connexion", "/manifest.webmanifest", "/icone.svg"];

export async function middleware(req: NextRequest) {
  const { pathname } = req.nextUrl;
  if (PUBLIQUES.some((p) => pathname.startsWith(p))) return NextResponse.next();
  const session = await lireSession(req.cookies.get(COOKIE_SESSION)?.value);
  if (!session) {
    const url = req.nextUrl.clone();
    url.pathname = "/connexion";
    url.search = "";
    return NextResponse.redirect(url);
  }
  return NextResponse.next();
}

export const config = {
  matcher: ["/((?!_next/static|_next/image|favicon.ico).*)"],
};
