From 18b6cf03339c85475ac42346b8bc6c2c6eed2794 Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Wed, 2 Mar 2022 23:42:52 -0800 Subject: [PATCH] Fix discard display so it says who needs to do what Signed-off-by: James Ketrenos --- client/src/Activities.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/client/src/Activities.js b/client/src/Activities.js index cd46503..381b19b 100644 --- a/client/src/Activities.js +++ b/client/src/Activities.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; import "./Activities.css"; - +import { getPlayerName } from './Common.js'; import PlayerColor from './PlayerColor.js'; import Dice from './Dice.js'; @@ -61,12 +61,22 @@ const Activities = ({ table }) => { game = table.game, isTurn = (game.turn && game.turn.color === game.color) ? true : false, normalPlay = (game.state === 'initial-placement' || game.state === 'normal'), - mustDiscard = game.player ? parseInt(game.player.mustDiscard ? game.player.mustDiscard : 0) : 0, mustPlaceRobber = (game.turn && !game.turn.placedRobber && game.turn.robberInAction), placement = (game.state === 'initial-placement' || game.turn.active === 'road-building'), placeRoad = placement && game.turn && game.turn.actions && game.turn.actions.indexOf('place-road') !== -1, mustStealResource = game.turn && game.turn.actions && game.turn.actions.indexOf('steal-resource') !== -1; - + + let discarders = [], mustDiscard = false; + for (let color in table.game.players) { + const player = table.game.players[color]; + if (!player.mustDiscard) { + continue; + } + mustDiscard = true; + const name = (game.color === color) ? 'You' : getPlayerName(table.game.sessions, color); + discarders.push(
{name} must discard {player.mustDiscard} cards.
); + } + const list = game.activities .filter(activity => game.timestamp - activity.date < 11000) .map(activity => { @@ -94,11 +104,8 @@ const Activities = ({ table }) => {
{who} must select a player to steal from.
} - { normalPlay && mustDiscard !== 0 && -
You must discard {mustDiscard} cards.
- } + { normalPlay && mustDiscard !== 0 && <> { discarders } } - { !isTurn && normalPlay &&
It is {table.game.turn.name}'s turn.
}