'use client'; import { useState } from 'react'; import { useAppContext } from '@/app/AppContext'; import TiltCard from '@/components/TiltCard'; import ToolTip from '@/components/ToolTip'; import StackTheDeck from '@/components/StackTheDeck'; import getCardInfo from '@/tools/getCardInfo'; import getURL from '@/tools/getURL'; import tarokkaCards from '@/constants/tarokkaCards'; import { layout } from '@/constants/tarokka'; import { Settings, TarokkaGameCard } from '@/types'; const cardBack = tarokkaCards.find((card) => card.back)!; type CardProps = { dm: boolean; card: TarokkaGameCard; cardIndex: number; settings: Settings; }; export default function Card({ dm, card, cardIndex, settings }: CardProps) { const [tooltip, setTooltip] = useState(null); const { flipCard, redraw, setSelectCardIndex } = useAppContext(); const { aria, flipped } = card; const position = layout[cardIndex]; const handleClick = () => { if (dm) { flipCard(cardIndex); } }; const getTooltip = () => { const text = getCardInfo(card, position, dm, settings); return text.length ? ( <> {text.map((t, i) => (

{t}

{i < text.length - 1 &&
}
))} ) : null; }; return (
{dm && ( <> {aria} )} Card Back {dm && !flipped && ( redraw(cardIndex)} onSelect={() => setSelectCardIndex(cardIndex)} onHover={setTooltip} /> )}
{aria}
); }