import React, { useContext, useCallback } from "react"; import { assetsPath } from './Common.js'; import { GlobalContext } from "./GlobalContext.js"; import "./Placard.css"; const Placard = ({type, disabled, count, buildActive, setBuildActive}) => { const { ws } = useContext(GlobalContext); const sendMessage = useCallback((data) => { ws.send(JSON.stringify(data)); }, [ws]); const dismissClicked = () => { setBuildActive(false); } const buildClicked = () => { if (!type.match(/^l.*/)) { /* longest / largest ... */ if (!buildActive) { setBuildActive(true); } } }; const roadClicked = () => { sendMessage({ type: 'buy-road'}); setBuildActive(false); }; const settlementClicked = () => { sendMessage({ type: 'buy-settlement'}); setBuildActive(false); }; const cityClicked = () => { sendMessage({ type: 'buy-city'}); setBuildActive(false); }; const developmentClicked = () => { sendMessage({ type: 'buy-development'}); setBuildActive(false); }; if (!type) { return <>>; } if (type === 'B') { type = 'blue'; } else if (type === 'O') { type = 'orange'; } else if (type === 'R') { type = 'red'; } else if (type === 'W') { type = 'white'; } let buttons; if (!disabled && buildActive) { switch (type) { case 'orange': case 'red': case 'white': case 'blue': buttons = <>