import React from 'react'
import Script from 'next/script'

interface GlossaryTermStructuredDataProps {
  term: {
    name_en: string
    name_fr: string
    summary_en: string
    summary_fr: string
    category_en: string
    category_fr: string
    slug_en: string
    slug_fr: string
  }
  locale: string
}

const GlossaryTermStructuredData: React.FC<GlossaryTermStructuredDataProps> = ({ term, locale }) => {
  const name = locale === 'en' ? term.name_en : term.name_fr
  const description = locale === 'en' ? term.summary_en : term.summary_fr
  const category = locale === 'en' ? term.category_en : term.category_fr
  const slug = locale === 'en' ? term.slug_en : term.slug_fr
  const url = `${process.env.NEXT_PUBLIC_FRONTEND_HOST}${locale === 'en' ? '/en/glossary' : '/glossaire'}/${slug}`

  const structuredData = {
    "@context": "https://schema.org",
    "@type": "DefinedTerm",
    "name": name,
    "description": description,
    "inDefinedTermSet": {
      "@type": "DefinedTermSet",
      "name": locale === 'en' 
        ? "Dadycar Fleet Management Glossary" 
        : "Glossaire de Gestion de Flotte Dadycar",
      "url": `${process.env.NEXT_PUBLIC_FRONTEND_HOST}${locale === 'en' ? '/en/glossary' : '/glossaire'}`
    },
    "termCode": category,
    "url": url
  }

  return (
    <Script
      id="glossary-term-structured-data"
      type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
    />
  )
}

export default GlossaryTermStructuredData