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 PerformersData from '../data/performers/2021'; import Performer from '../types/Performer'; import { BiChevronDown, BiChevronLeft } from 'react-icons/bi'; interface PerformerCard extends Performer { id: number; showDesc: boolean; } const Archive = () => { const [performers, setPerformers] = useState([]); useEffect(() => { let cards: PerformerCard[] = []; PerformersData.map((p, index) => { let newCard = { ...p, id: index, showDesc: false }; cards.push(newCard); }); setPerformers(cards); }, []); const togglePerformerDesc = (id: number) => { let updated: PerformerCard[]; updated = performers.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers(updated); }; return (

Arkisto

2021

{performers.map((p) => (
{p.name
togglePerformerDesc(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

))}
); }; export default Archive;