"use client" import { useState } from "react" import JsonToHtml from "@/components/JsonToHtml" import SectionContainer from "@/components/Section/Container" import SectionHeader from "@/components/Section/Header" import Accordion from "@/components/TempDesignSystem/Accordion" import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem" import ShowMoreButton from "@/components/TempDesignSystem/ShowMoreButton" import styles from "./accordion.module.css" import type { AccordionProps } from "@/types/components/blocks/Accordion" export default function AccordionSection({ accordion, title }: AccordionProps) { const initialPageSize = 5 const [pageSize, setPageSize] = useState(initialPageSize) const showMoreVisible = accordion.length > initialPageSize const showLessVisible = pageSize >= accordion.length function handleShowMore() { setPageSize(showLessVisible ? initialPageSize : accordion.length) } function getClassName(idx: number): string { if (showMoreVisible && idx > pageSize - 1) { return styles.hiddenItem } else if (showMoreVisible && idx == pageSize - 1) { return styles.lastItem } return "" } return ( {title && } {accordion.map((acc, idx: number) => ( ))} {showMoreVisible ? ( ) : null} ) }