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

import { MiddlewareAuth } from "./middleware/auth";
import { MiddlewareLocale } from "./middleware/locale";
import { MiddlewareRedirect } from "./middleware/redirect";

export async function proxy(request: NextRequest) {
  let response = NextResponse.next();

  // Redirect middleware
  response = await MiddlewareRedirect(request, response);

  // Auth middleware
  // response = await MiddlewareAuth(request, response);

  // Locale middleware
  response = await MiddlewareLocale(request, response);

  return response;
}

export const config = {
  matcher: [
    "/((?!api|_next/static|_next/image|logo.png|_next/static/chunks/app|_next/static/chunks|assets/images|assets/fonts).*)",
  ],
};
