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 { BiChevronDown, BiChevronLeft } from 'react-icons/bi'; import PerformersData from '../data/performers/2025'; import { CSSTransition } from 'react-transition-group'; import Link from 'next/link'; import { FiExternalLink } from 'react-icons/fi'; interface PerformerCard extends Performer { showDesc: boolean; } const Performers = () => { const [performers, setPerformers] = useState([]); useEffect(() => { let cards: PerformerCard[] = []; PerformersData.map((p) => { let newCard = { ...p, showDesc: false }; cards.push(newCard); }); setPerformers(cards); }, []); const togglePerformerDesc = (id: string) => { let updated: PerformerCard[]; updated = performers.map((p) => { if (p.id === id) { p.showDesc = !p.showDesc; } return p; }); setPerformers(updated); }; return (

Esiintyjät

{performers.length !== 0 ? ( performers.map((p) => (
{p.name
togglePerformerDesc(p.id)} >

{p.name}

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

{parag.toString()}

))}
) : ( )}

)) ) : ( Lisätietoja tulossa myöhemmin... )} Aiempien vuosien esiintyjiä
); }; export default Performers;