import type { MetadataRoute } from "next";
import { getSetting } from "@/lib/settings";

// Always re-read site.url from DB so admin can change domain without rebuild.
export const dynamic = "force-dynamic";
export const revalidate = 0;

export default async function robots(): Promise<MetadataRoute.Robots> {
  const SITE_URL = await getSetting("site.url");
  return {
    rules: [
      {
        userAgent: "*",
        allow: "/",
        disallow: [
          "/admin",
          "/admin/*",
          "/api",
          "/api/*",
          "/me",
          "/me/*",
          "/settings",
          "/settings/*",
          "/la-so",
          "/login",
          "/register",
          "/verify",
        ],
      },
    ],
    sitemap: `${SITE_URL}/sitemap.xml`,
    host: SITE_URL,
  };
}
