import { ReactElement, ReactNode, RefObject } from "react" import { Action } from "../../model/tactic/Action" import { CourtAction } from "./CourtAction.tsx" import { ComponentId, TacticComponent } from "../../model/tactic/Tactic" export interface BasketCourtProps { components: TacticComponent[] previewAction: ActionPreview | null renderComponent: (comp: TacticComponent) => ReactNode renderActions: (comp: TacticComponent) => ReactNode[] courtImage: ReactElement courtRef: RefObject } export interface ActionPreview extends Action { origin: ComponentId isInvalid: boolean } export function BasketCourt({ components, previewAction, renderComponent, renderActions, courtImage, courtRef, }: BasketCourtProps) { return (
{courtImage} {courtRef.current && components.map(renderComponent)} {courtRef.current && components.flatMap(renderActions)} {previewAction && ( {}} onActionChanges={() => {}} /> )}
) }