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 Performer from '../types/Performer'; import { BiChevronDown, BiChevronLeft } from 'react-icons/bi'; interface PerformerCard extends Performer { showDesc: boolean; } const Archive = () => { const [performers2021, setPerformers2021] = useState([]); const [performers2022, setPerformers2022] = useState([]); const [performers2023, setPerformers2023] = useState([]); const [performers2024, setPerformers2024] = useState([]); useEffect(() => { let cards: PerformerCard[] = []; PerformersData2021.map((p) => { let newCard = { ...p, showDesc: false }; cards.push(newCard); }); setPerformers2021(cards); }, []); useEffect(() => { let cards: PerformerCard[] = []; PerformersData2022.map((p) => { let newCard = { ...p, showDesc: false }; cards.push(newCard); }); setPerformers2022(cards); }, []); useEffect(() => { let cards: PerformerCard[] = []; PerformersData2023.map((p) => { let newCard = { ...p, showDesc: false }; cards.push(newCard); }); setPerformers2023(cards); }, []); useEffect(() => { let cards: PerformerCard[] = []; PerformersData2024.map((p) => { let newCard = { ...p, showDesc: false }; cards.push(newCard); }); setPerformers2024(cards); }, []); const togglePerformerDesc2021 = (id: string) => { let updated: PerformerCard[]; updated = performers2021.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers2021(updated); }; const togglePerformerDesc2022 = (id: string) => { let updated: PerformerCard[]; updated = performers2022.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers2022(updated); }; const togglePerformerDesc2023 = (id: string) => { let updated: PerformerCard[]; updated = performers2023.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers2023(updated); }; const togglePerformerDesc2024 = (id: string) => { let updated: PerformerCard[]; updated = performers2024.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers2024(updated); }; return (

Arkisto

2024

{performers2024.map((p) => (
{p.name}
togglePerformerDesc2024(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

))}

2023

{performers2023.map((p) => (
{p.name}
togglePerformerDesc2023(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

))}

2022

{performers2022.map((p) => (
{p.name}
togglePerformerDesc2022(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

))}

2021

{performers2021.map((p) => (
{p.name}
togglePerformerDesc2021(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

))}
); }; export default Archive;