implement gameboard v1

This commit is contained in:
seavor 2026-04-19 23:21:42 -05:00
parent b103db681b
commit 0d7336edc2
177 changed files with 16995 additions and 139 deletions

View file

@ -0,0 +1,48 @@
import Divider from '@mui/material/Divider';
import Menu from '@mui/material/Menu';
import MenuItem from '@mui/material/MenuItem';
import './PlayerContextMenu.css';
export interface PlayerContextMenuProps {
isOpen: boolean;
anchorPosition: { top: number; left: number } | null;
onClose: () => void;
onRequestCreateToken: () => void;
onRequestViewSideboard: () => void;
}
function PlayerContextMenu({
isOpen,
anchorPosition,
onClose,
onRequestCreateToken,
onRequestViewSideboard,
}: PlayerContextMenuProps) {
const handleCreateToken = () => {
onRequestCreateToken();
onClose();
};
const handleViewSideboard = () => {
onRequestViewSideboard();
onClose();
};
return (
<Menu
open={isOpen}
onClose={onClose}
anchorReference="anchorPosition"
anchorPosition={anchorPosition ?? undefined}
data-testid="player-context-menu"
className="player-context-menu"
>
<MenuItem onClick={handleCreateToken}>Create token</MenuItem>
<Divider />
<MenuItem onClick={handleViewSideboard}>View sideboard</MenuItem>
</Menu>
);
}
export default PlayerContextMenu;