import React, { Fragment, useRef } from "react"; import Colors from "./util/colors"; import deck from './img/deck.svg'; import { Commands } from "./StateRouter"; import Pawn from "./Pawn"; import { useDebounce } from "./util/useDebounce"; export default function Lobby({ message, pickColor, deal, setName }) { const { color, options, state, game_code, others, name, ...args } = message; const pickableColors = options.filter((o) => o.code === Commands.PICK_COLOR).map((o) => o.color); const scheduleSetName = useDebounce(setName, 500) const circle_args = { state, myColor: color, myName: name, setMyName: scheduleSetName, others, pickableColors, pickColor }; const canDeal = options.find((o) => o.code === Commands.DEAL); return
Je kan meedoen door naar {window.location.origin}/{game_code} te gaan
{ canDeal &&
kaartenstapel
Delen
}
} function PawnWrapper({ color, myColor, myName, setMyName, others, pickableColors, pickColor }) { const isMine = color === myColor; const playerInfo = isMine ? { color, name: myName } : others.find((o) => o.color === color); const isSelectable = pickableColors.includes(color); const isSelected = !isSelectable; const name = (playerInfo && playerInfo.name) || "\u00a0"; return
{isMine ?
{ e.preventDefault(); setMyName(e.target.value); }}/>
:
{name}
}
}