apply suggestions
continuous-integration/drone/push Build is passing Details

pull/113/head
maxime.batista 1 year ago
parent 5359bb12de
commit 1043207e2d

@ -1,10 +1,4 @@
import {
ReactElement,
ReactNode,
RefObject,
useLayoutEffect,
useState,
} from "react"
import { ReactElement, ReactNode, RefObject } from "react"
import { Action } from "../../model/tactic/Action"
import { CourtAction } from "./CourtAction.tsx"
@ -36,14 +30,6 @@ export function BasketCourt({
courtImage,
courtRef,
}: BasketCourtProps) {
const [forceEmptyComponents, setForceEmptyComponents] = useState(true)
useLayoutEffect(() => {
setForceEmptyComponents(false)
}, [setForceEmptyComponents])
const usedComponents = forceEmptyComponents ? [] : components
return (
<div
className="court-container"
@ -51,8 +37,8 @@ export function BasketCourt({
style={{ position: "relative" }}>
{courtImage}
{usedComponents.map(renderComponent)}
{usedComponents.flatMap(renderActions)}
{courtRef.current && components.map(renderComponent)}
{courtRef.current && components.flatMap(renderActions)}
{previewAction && (
<CourtAction

@ -41,7 +41,7 @@ export function getPlayerNextTo(
): PlayerLike | undefined {
const playerOrigin =
player.type === "player" ? player : getOrigin(player, components)
const pathItems = playerOrigin.path?.items!
const pathItems = playerOrigin.path!.items
// add one as there is a shifting because a Player is never at the head of its own path
const idx = pathItems.indexOf(player.id) + 1 // is 0 if the player is the origin
@ -49,11 +49,9 @@ export function getPlayerNextTo(
const targetIdx = idx + n
// remove the screen phantom
const result =
targetIdx == 0
? playerOrigin
: getComponent<PlayerLike>(pathItems[targetIdx - 1], components)
return result
return targetIdx == 0
? playerOrigin
: getComponent<PlayerLike>(pathItems[targetIdx - 1], components)
}
//FIXME this function can be a bottleneck if the phantom's position is
@ -219,22 +217,20 @@ export function removePlayer(
-1,
content.components,
)!
const actionIdx = playerBefore.actions.findIndex(
const actions = playerBefore.actions.filter(
(a) => a.target === pos.attach,
)
content = updateComponent(
{
...playerBefore,
actions: playerBefore.actions.toSpliced(actionIdx, 1),
actions,
},
content,
)
}
const origin = getOrigin(player, content.components)
content = truncatePlayerPath(origin, player, content)
console.log(content)
return content
return truncatePlayerPath(origin, player, content)
}
content = clearPlayerPath(player, content)

Loading…
Cancel
Save