fix player keys in BasketCourt

pull/23/head
Override-6 1 year ago committed by maxime.batista
parent 6731b02c6c
commit 44513a5049

@ -23,7 +23,7 @@ export function BasketCourt({
{players.map((player) => { {players.map((player) => {
return ( return (
<CourtPlayer <CourtPlayer
key={player.id} key={player.team + player.role}
player={player} player={player}
onChange={onPlayerChange} onChange={onPlayerChange}
onRemove={() => onPlayerRemove(player)} onRemove={() => onPlayerRemove(player)}

@ -43,7 +43,6 @@ export default function CourtPlayer({
setY(y) setY(y)
onChange({ onChange({
id: player.id,
rightRatio: x, rightRatio: x,
bottomRatio: y, bottomRatio: y,
team: player.team, team: player.team,

@ -1,12 +1,6 @@
import { Team } from "./Team" import { Team } from "./Team"
export interface Player { export interface Player {
/**
* unique identifier of the player.
* This identifier must be unique to the associated court.
*/
id: number
/** /**
* the player's team * the player's team
* */ * */

@ -128,7 +128,6 @@ function EditorView({
return [ return [
...players, ...players,
{ {
id: players.length,
team: element.team, team: element.team,
role: element.key, role: element.key,
rightRatio: x, rightRatio: x,
@ -151,11 +150,7 @@ function EditorView({
default_value={name} default_value={name}
on_validated={(new_name) => { on_validated={(new_name) => {
onNameChange(new_name).then((success) => { onNameChange(new_name).then((success) => {
if (success) { success ? setStyle({}) : setStyle(ERROR_STYLE)
setStyle({})
} else {
setStyle(ERROR_STYLE)
}
}) })
}} }}
/> />
@ -192,7 +187,9 @@ function EditorView({
onPlayerChange={(player) => { onPlayerChange={(player) => {
setPlayers((players) => { setPlayers((players) => {
const idx = players.findIndex( const idx = players.findIndex(
(p) => p.id === player.id, (p) =>
p.team === player.team &&
p.role === player.role,
) )
return players.toSpliced(idx, 1, player) return players.toSpliced(idx, 1, player)
}) })
@ -200,7 +197,9 @@ function EditorView({
onPlayerRemove={(player) => { onPlayerRemove={(player) => {
setPlayers((players) => { setPlayers((players) => {
const idx = players.findIndex( const idx = players.findIndex(
(p) => p.id === player.id, (p) =>
p.team === player.team &&
p.role === player.role,
) )
return players.toSpliced(idx, 1) return players.toSpliced(idx, 1)
}) })

Loading…
Cancel
Save