Adding kick player support.
This commit is contained in:
@@ -34,7 +34,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
||||
import { faUser, faUsers, faTractor, faWindowRestore,
|
||||
faDollarSign, faTimes, faAsterisk, faExchangeAlt,
|
||||
faInfoCircle, faArrowUp, faArrowDown, faAward,
|
||||
faTimesCircle } from '@fortawesome/free-solid-svg-icons'
|
||||
faTimesCircle, faBan } from '@fortawesome/free-solid-svg-icons'
|
||||
|
||||
import { GroupBox, Row, Col, Button } from '../widgets.jsx'
|
||||
import SpaceNode from './SpaceNode.jsx'
|
||||
@@ -48,7 +48,7 @@ import { setSelectedCard, setMessagePanelSpace, setMPDims, movePlayer,
|
||||
import { buy, roll, endTurn, loan, trade, submitTradeAccept,
|
||||
submitTradeDeny, submitTradeCancel, audit,
|
||||
buyUncleBert, skip, endAiTurn, startGame, readyToStart,
|
||||
leaveGame } from './interface.js'
|
||||
leaveGame, kickPlayer } from './interface.js'
|
||||
|
||||
function netWorth(player) {
|
||||
return ((player.assets.hay + player.assets.grain) * 2000) +
|
||||
@@ -1935,7 +1935,8 @@ class Info extends React.Component {
|
||||
class StartGame extends React.Component {
|
||||
render() {
|
||||
const { auditThreshold, downPayment, loanInterest, maxDebt, startingOtbs, startingCash, startingDebt } = this.props.game.settings;
|
||||
const { name } = this.props.game;
|
||||
const playerName = this.props.player.name;
|
||||
const { name, host } = this.props.game;
|
||||
return (
|
||||
<>
|
||||
<h1>Lobby</h1>
|
||||
@@ -1948,6 +1949,11 @@ class StartGame extends React.Component {
|
||||
{this.props.game.otherPlayers.map((p, i) => (
|
||||
<li key={i}>
|
||||
{p.player.name}
|
||||
{playerName === host ? (
|
||||
<span title="Kick Player" className="kick-player" onClick={() => kickPlayer(p.player.name)}>
|
||||
<FontAwesomeIcon icon={faBan} />
|
||||
</span>
|
||||
): (<></>)}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
@@ -31,7 +31,7 @@ import { itemCard, fateCard } from 'game.js'
|
||||
export { initialize, buy, roll, endTurn, loan, trade, submitTradeAccept,
|
||||
submitTradeDeny, submitTradeCancel, audit, handleMessage,
|
||||
nextAction, buyUncleBert, actionsFinished, skip, endAiTurn,
|
||||
startGame, readyToStart, leaveGame }
|
||||
startGame, readyToStart, leaveGame, kickPlayer }
|
||||
|
||||
let store;
|
||||
let movingTimer = 0;
|
||||
@@ -213,6 +213,10 @@ function leaveGame() {
|
||||
sendCommand({ type: 'leave-game' });
|
||||
}
|
||||
|
||||
function kickPlayer(name) {
|
||||
sendCommand({ type: 'kick-player', name });
|
||||
}
|
||||
|
||||
// TODO share with Board.jsx
|
||||
// http://stackoverflow.com/questions/149055
|
||||
function formatMoney(n) {
|
||||
|
||||
@@ -106,6 +106,7 @@ const initialState = {
|
||||
turn: 0,
|
||||
oldMessages: [],
|
||||
name: '',
|
||||
host: '',
|
||||
settings: { downPayment: 0.2,
|
||||
loanInterest: 0.2,
|
||||
maxDebt: 50000,
|
||||
|
||||
Reference in New Issue
Block a user