'use client'; import { useMemo, useState } from 'react'; import { ScrollText } from 'lucide-react'; import CopyButton from '@/components/CopyButton'; import Scrim from '@/components/Scrim'; import getCardInfo from '@/tools/getCardInfo'; import { cardMap, layout } from '@/constants/tarokka'; import { GameUpdate } from '@/types'; type NotesProps = { gameData: GameUpdate; }; export default function Notes({ gameData: { dmID, cards, settings } }: NotesProps) { const isDM = !!dmID; const [open, setOpen] = useState(false); const gameDummy = { dmID: '', spectatorID: '', cards: [], settings: { positionBack: false, positionFront: false, prophecy: false, notes: false, cardStyle: 'color', }, }; const notes = useMemo( () => Array.from({ length: 9 }) .map((_cell: unknown, index: number) => cards[cardMap[index]]) .map((card, index) => card ? getCardInfo(card, layout[cardMap[index]], isDM, settings) : null, ) .map( (_cell: unknown, index: number, cards) => cards[Object.keys(cardMap).find((key) => cardMap[key] === index) || 0], ) .filter((truthy) => truthy), [settings], ); return isDM || settings.notes ? (
{blurb}
))}