'use client'; import { useMemo, useState } from 'react'; import { CircleX, ScrollText } from 'lucide-react'; import { useAppContext } from '@/app/AppContext'; import CopyButton from '@/components/CopyButton'; import Scrim from '@/components/Scrim'; import getCardInfo from '@/tools/getCardInfo'; import { cardMap, layout } from '@/constants/tarokka'; export default function Notes() { const { gameData } = useAppContext(); const { dmID, cards, settings } = gameData; const isDM = !!dmID; const show = cards.every(({ flipped }) => flipped); const [open, setOpen] = useState(false); const notes: (string[] | undefined)[] = 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), [cards, isDM, settings], ); const showNotes = show && open && (isDM || settings.notes); return (
{blurb}
))}