'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 { TarokkaGameCard } from '@/types'; const cardBack = tarokkaCards.find((card) => card.back)!; type CardProps = { card: TarokkaGameCard; cardIndex: number; }; export default function Card({ card, cardIndex }: CardProps) { const [tooltip, setTooltip] = useState(null); const { flipCard, gameData, redraw, setSelectCardIndex } = useAppContext(); const { dmID, settings } = gameData; const isDM = !!dmID; const { aria, flipped } = card; const position = layout[cardIndex]; const handleClick = () => { if (isDM) { flipCard(cardIndex); } }; const getTooltip = () => { const text = getCardInfo(card, position, isDM, settings); return text.length ? ( <> {text.map((t, i) => (

{t}

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