import type { CircuitStageId, ServiceSlug } from "@/content/types";

/**
 * Lightweight service index used by navigation, the home page, and cross-links.
 * Full page content lives in src/content/services/<slug>.ts.
 */
export interface ServiceSummary {
  slug: ServiceSlug;
  name: string;
  shortDescription: string;
  stage: CircuitStageId;
}

export const serviceCatalog: ServiceSummary[] = [
  {
    slug: "paid-media",
    name: "Paid Media",
    shortDescription: "Search, Shopping, and Performance Max run against CAC and MER.",
    stage: "acquire",
  },
  {
    slug: "paid-social",
    name: "Paid Social",
    shortDescription: "Meta and LinkedIn built on creative testing and lead quality.",
    stage: "acquire",
  },
  {
    slug: "seo-ai-search",
    name: "SEO + AI Search",
    shortDescription: "Technical SEO, commercial content, and AI answer visibility.",
    stage: "acquire",
  },
  {
    slug: "cro",
    name: "Conversion Rate Optimization",
    shortDescription: "Research-led experiments on demos, trials, and checkout.",
    stage: "convert",
  },
  {
    slug: "landing-pages",
    name: "Landing Pages",
    shortDescription: "Pages and test variants that match the ad and the offer.",
    stage: "convert",
  },
  {
    slug: "analytics-attribution",
    name: "Analytics + Attribution",
    shortDescription: "GA4, server-side tracking, and CRM revenue attribution.",
    stage: "measure",
  },
  {
    slug: "lifecycle-retention",
    name: "Lifecycle + Retention",
    shortDescription: "Email, segmentation, and expansion programs that lift LTV.",
    stage: "expand",
  },
];

export const serviceGroups: { label: string; slugs: ServiceSlug[] }[] = [
  { label: "Acquire", slugs: ["paid-media", "paid-social", "seo-ai-search"] },
  { label: "Convert", slugs: ["cro", "landing-pages"] },
  { label: "Measure + Expand", slugs: ["analytics-attribution", "lifecycle-retention"] },
];

export function getServiceSummary(slug: ServiceSlug): ServiceSummary {
  const service = serviceCatalog.find((item) => item.slug === slug);
  if (!service) throw new Error(`Unknown service: ${slug}`);
  return service;
}

export const industryCatalog = [
  {
    href: "/saas-marketing",
    name: "SaaS",
    title: "SaaS growth marketing",
    description: "Pipeline, CAC payback, and trial and demo conversion for software companies.",
    metrics: ["Pipeline", "CAC", "SQLs", "Trial-to-paid", "LTV:CAC"],
    tone: "mist",
  },
  {
    href: "/ecommerce-marketing",
    name: "E-commerce",
    title: "E-commerce growth marketing",
    description: "Profitable acquisition, MER, and repeat purchase for online brands.",
    metrics: ["MER", "Contribution margin", "AOV", "CVR", "Repeat rate"],
    tone: "sand",
  },
] as const;
