import type { MetadataRoute } from "next";

const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || "http://localhost:3001";
const BASE_PATH = process.env.NEXT_PUBLIC_BASE_PATH || "";

// Clinical (health-data) and auth-token routes must not be indexed. Routes are
// locale-prefixed (/en/admin, /es/admin), so the `*` wildcard covers both.
const DISALLOWED = [
  "/*/admin",
  "/*/individual",
  "/*/practitioner",
  "/*/practice-manager",
  "/*/assessment",
  "/*/sample-report",
  "/*/reset-password",
  "/*/verify-email",
  "/api",
];

export default function robots(): MetadataRoute.Robots {
  return {
    rules: {
      userAgent: "*",
      allow: "/",
      disallow: DISALLOWED.map((path) => `${BASE_PATH}${path}`),
    },
    sitemap: `${SITE_URL}${BASE_PATH}/sitemap.xml`,
  };
}
