export type PublicPlanId = "free" | "pro";

export type PublicPlanDefinition = {
  id: PublicPlanId;
  name: string;
  summary: string;
  features: readonly string[];
  cta: string;
};

// Public copy mirrors the server-owned AccountPlans policy. It describes capabilities only:
// billing supplies commercial terms at checkout when that deployment is configured.
export const PUBLIC_PLANS: readonly PublicPlanDefinition[] = [
  {
    id: "free",
    name: "Free",
    summary: "Core job-search organisation without AI generation.",
    features: [
      "Track applications in table and Kanban views",
      "Keep notes, correspondence and documents with each job",
      "Edit your Career Profile and CVs manually",
      "Use the deterministic CV-to-job match score",
      "Export and retain your own data",
    ],
    cta: "Create a Free account",
  },
  {
    id: "pro",
    name: "Pro",
    summary: "AI assistance and Pro CV themes, with you in control.",
    features: [
      "Everything in Free",
      "AI-assisted CV and cover-letter drafting",
      "AI job analysis and application strategy",
      "AI interview and follow-up preparation",
      "AI-assisted Career Profile import and rewriting",
      "Pro CV themes",
    ],
    cta: "Sign in to view Pro",
  },
] as const;

export function publicPlan(id: PublicPlanId) {
  return PUBLIC_PLANS.find((plan) => plan.id === id)!;
}
