diff --git a/src/components/GameTable.tsx b/src/components/GameTable.tsx index 9db5bd7..7b88baf 100644 --- a/src/components/GameTable.tsx +++ b/src/components/GameTable.tsx @@ -443,38 +443,43 @@ function TrickArea({ const { front } = useCardSkins(); return (
-
- - {trick.map((pc) => { - const off = { x: TRICK_OFFSET[pc.seat].x * scale, y: TRICK_OFFSET[pc.seat].y * scale }; - const enter = TRICK_ENTER[pc.seat]; - const isWinner = phase === "trick-complete" && winner === pc.seat; - return ( - - - - ); - })} - - {/* Burst particles when trick is won */} - - {phase === "trick-complete" && winner != null && ( - - )} - -
+ + {trick.map((pc) => { + const off = { x: TRICK_OFFSET[pc.seat].x * scale, y: TRICK_OFFSET[pc.seat].y * scale }; + const enter = TRICK_ENTER[pc.seat]; + const isWinner = phase === "trick-complete" && winner === pc.seat; + return ( + + `translate(-50%, -50%) translate(${t.x ?? "0px"}, ${t.y ?? "0px"}) scale(${t.scale ?? 1})`} + style={{ + filter: isWinner + ? "drop-shadow(0 0 18px rgba(212,175,55,1)) drop-shadow(0 0 6px rgba(255,240,120,0.8))" + : undefined, + }} + > + + + ); + })} + + {/* Burst particles when trick is won (centered on the felt) */} + + {phase === "trick-complete" && winner != null && ( +
+ +
+ )} +
); }