import Image from 'next/image'; import React, { useEffect, useState } from 'react'; import styles from '../styles/Performers.module.scss'; import shared from '../styles/Shared.module.scss'; import Performer from '../types/Performer'; import performers2021 from '../data/performers/2022'; import { BiChevronDown, BiChevronLeft } from 'react-icons/bi'; interface PerformerCard extends Performer { id: number; showDesc: boolean; } const Performers = () => { const [performers, setPerformers] = useState([]); useEffect(() => { let cards: PerformerCard[] = []; performers2021.map((p, index) => { let newCard = { ...p, id: index, showDesc: false }; cards.push(newCard); }); return () => { 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); console.log(performers); }; return (

Esiintyjät

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

{p.name}

{p.showDesc && ( <> {p.paragraphs.map((parag) => (

{parag.toString()}

))} )}
))}
); }; export default Performers;