import Link from 'next/link' import SeoIcon, { type SeoIconName } from '@/components/seo/SeoIcon' import type { SeoPageProfile } from '@/lib/seoPages' import type { SeoTemplateCopy } from '@/lib/seoTemplateCopy' interface SectionProps { profile: SeoPageProfile copy: SeoTemplateCopy } export function SeoHero({ profile, copy }: SectionProps) { return (
{copy.hero.eyebrow}

{profile.h1}

{profile.tagline}

{profile.directAnswer}

{copy.hero.ctaPrimary} {copy.hero.ctaSecondary}
{copy.hero.stat1Title}
{copy.hero.stat1Label}
{copy.hero.stat2Title}
{copy.hero.stat2Label}
{/* eslint-disable-next-line @next/next/no-img-element */} {copy.hero.imageAlt}
{copy.hero.floatTitle}
{copy.hero.floatLabel}
) } export function SeoAdvantage({ profile, copy }: SectionProps) { return (
{copy.advantage.eyebrow}

{copy.advantage.heading}

{profile.definitionBlock}

{copy.advantage.updated}: {profile.lastUpdated}

{copy.didYouKnow.title}

) } export function SeoMethodology({ copy }: { copy: SeoTemplateCopy }) { return (
{copy.methodology.eyebrow}

{copy.methodology.title}

{copy.methodology.lead}

{copy.methodology.steps.map((step, index) => (
{index + 1}

{step.title}

{step.body}

))}
) } const comparisonIcons: SeoIconName[] = ['check_circle', 'calendar', 'healing', 'sun'] export function SeoComparison({ profile, copy }: SectionProps) { const tipLink = profile.relatedLinks[0] return (
{copy.comparison.eyebrow}

{profile.featureTable.title}

{copy.comparison.lead}

{tipLink && (

{copy.comparison.tipTitle}

{copy.comparison.tipBody}

{tipLink.label} →
)}
{profile.featureTable.rows.map((row, index) => (

{row.feature}

{copy.comparison.greenlens}

{row.greenlens}

{profile.featureTable.alternativeLabel}

{row.alternative}

))}
) } export function SeoContentSections({ profile }: { profile: SeoPageProfile }) { if (!profile.contentSections || profile.contentSections.length === 0) return null return (
{profile.contentSections.map((section) => (
{section.eyebrow}

{section.title}

{section.body}

{section.bullets && (
    {section.bullets.map((item) => (
  • {item}
  • ))}
)}
))}
) } export function SeoBestFit({ profile, copy }: SectionProps) { return (
{copy.bestFit.chooseTag}

{copy.bestFit.chooseTitle}

{copy.bestFit.notTag}

{copy.bestFit.notTitle}

) } export function SeoFaq({ profile, copy }: SectionProps) { return (

{copy.faq.title}

{profile.faqs.map((item) => (

{item.question}

{item.answer}

))}
) } export function SeoRelated({ profile, copy }: SectionProps) { if (profile.relatedLinks.length === 0) return null return (
{copy.related.tag}

{copy.related.title}

{profile.relatedLinks.map((link) => (

{link.label}

{link.description}

))}
) }