// ─── Procedures Page — form state types ──────────────────────────────────────

export interface ProceduresHeroCategory {
  icon: string
  name: string
}

export interface ProceduresHeroSectionData {
  title: string
  description: string
  image: string
  imagePublicId: string
  categories: ProceduresHeroCategory[]
}

// ─── Filters Section ─────────────────────────────────────────────────────────

export interface ProceduresFilterOption {
  label: string
}

export interface ProceduresFilter {
  label: string
  options: ProceduresFilterOption[]
}

export interface ProceduresMainFilterOption {
  label: string
}

export interface ProceduresFiltersSectionData {
  filters: ProceduresFilter[]
  mainFilterOptionsTitle: string
  mainFilterOptions: ProceduresMainFilterOption[]
}

// ─── Statistics Section ───────────────────────────────────────────────────────

export interface ProceduresStat {
  label: string
  value: string
}

export interface ProceduresStatsSectionData {
  stats: ProceduresStat[]
}

// ─── Procedure Comparison Section ─────────────────────────────────────────────

export interface ProceduresComparisonSectionData {
  eyebrow: string
  title: string
  subtitle: string
}

// ─── Why Turkey Section ───────────────────────────────────────────────────────

export interface ProceduresWhyTurkeyFeature {
  cardColor: string
  icon: string
  title: string
  description: string
  label: string
  value: string
}

export interface ProceduresWhyTurkeySectionData {
  eyebrow: string
  title: string
  features: ProceduresWhyTurkeyFeature[]
}

// ─── FAQ Section ─────────────────────────────────────────────────────────────

export interface ProceduresFAQItem {
  question: string
  answer: string
}

export interface ProceduresFAQSectionData {
  eyebrow: string
  title: string
  faqs: ProceduresFAQItem[]
}

// ─── Quick Links Section ──────────────────────────────────────────────────────

export interface ProceduresQuickLink {
  icon: string
  title: string
  subtitle: string
  link: string
}

export interface ProceduresQuickLinksSectionData {
  links: ProceduresQuickLink[]
}

// ─── Final CTA Section ────────────────────────────────────────────────────────

export interface ProceduresFinalCTASectionData {
  eyebrow: string
  title: string
  subtitle: string
  buttonIcon: string
  buttonText: string
  buttonLink: string
}

// ─── Full page state ─────────────────────────────────────────────────────────

export interface ProceduresPageFormStateShape {
  hero: ProceduresHeroSectionData
  filters: ProceduresFiltersSectionData
  stats: ProceduresStatsSectionData
  comparison: ProceduresComparisonSectionData
  whyTurkey: ProceduresWhyTurkeySectionData
  faq: ProceduresFAQSectionData
  quickLinks: ProceduresQuickLinksSectionData
  finalCta: ProceduresFinalCTASectionData
}

export function createEmptyProceduresPageFormState(): ProceduresPageFormStateShape {
  return {
    hero: {
      title: "",
      description: "",
      image: "",
      imagePublicId: "",
      categories: [],
    },
    filters: {
      filters: [],
      mainFilterOptionsTitle: "",
      mainFilterOptions: [],
    },
    stats: {
      stats: [],
    },
    comparison: {
      eyebrow: "",
      title: "",
      subtitle: "",
    },
    whyTurkey: {
      eyebrow: "",
      title: "",
      features: [],
    },
    faq: {
      eyebrow: "",
      title: "",
      faqs: [],
    },
    quickLinks: {
      links: [],
    },
    finalCta: {
      eyebrow: "",
      title: "",
      subtitle: "",
      buttonIcon: "",
      buttonText: "",
      buttonLink: "",
    },
  }
}
