import React, { useEffect, useState } from 'react'; import Image from 'next/image'; import { CSSTransition } from 'react-transition-group'; import shared from '../styles/Shared.module.scss'; import styles from '../styles/Archive.module.scss'; import PerformersData2021 from '../data/performers/2021'; import PerformersData2022 from '../data/performers/2022'; import PerformersData2023 from '../data/performers/2023'; import PerformersData2024 from '../data/performers/2024'; import PerformersData2025 from '../data/performers/2025'; import Performer from '../types/Performer'; import { BiChevronDown, BiChevronLeft } from 'react-icons/bi'; interface PerformerCard extends Performer { showDesc: boolean; } const dataByYear: Record = { 2025: PerformersData2025, 2024: PerformersData2024, 2023: PerformersData2023, 2022: PerformersData2022, 2021: PerformersData2021, }; const sortedYears = Object.keys(dataByYear).map(Number).sort((a, b) => b - a); const Archive = () => { const [performersByYear, setPerformersByYear] = useState>({}); useEffect(() => { const initial: Record = {}; for (const year of sortedYears) { initial[year] = dataByYear[year].map((p) => ({ ...p, showDesc: false })); } setPerformersByYear(initial); }, []); const togglePerformerDesc = (year: number, id: string) => { setPerformersByYear((prev) => ({ ...prev, [year]: prev[year].map((p) => p.id === id ? { ...p, showDesc: !p.showDesc } : p ), })); }; return (

Arkisto

{sortedYears.map((year) => (

{year}

{(performersByYear[year] ?? []).map((p) => (
{p.name}
togglePerformerDesc(year, p.id)} >

{p.name}

{p.showDesc ? (
{p.paragraphs.map((parag, index) => (

{parag.toString()}

))}
) : ( )}

))}
))}
); }; export default Archive;