--- // Import the necessary AccordionItem component and JSON data import AccordionItem from '@components/ui/blocks/AccordionItem.astro'; // Define props from Astro const { title, faqs } = Astro.props; // Define TypeScript interface for props interface Faq { question: string; answer: string; } interface FaqGroup { subTitle?: string; faqs: Faq[]; } interface Props { title: string; faqs: FaqGroup; } // Define a helper function to generate ids dynamically. const makeId = (base: any, index: any) => `${base}${index + 1}`; --- { /* Main container that holds all content. Customized for different viewport sizes. */ }

{/* FAQ accordion items */}
{ faqs.faqs.map((question, i) => { { /* Generate ids dynamically for each FAQ accordion item. */ } let id = makeId( 'hs-basic-with-title-and-arrow-stretched-heading-', i ); let collapseId = makeId( 'hs-basic-with-title-and-arrow-stretched-collapse', i ); return ( ); }) }