import type { EquipmentPreset } from "@blitzkit/protos"; import { Flex } from "@radix-ui/themes"; import { chunk, cloneDeep } from "lodash-es"; import type { EquipmentMatrix } from "../../stores/duel"; import { EquipmentButton } from "../ModuleButtons/EquipmentButton"; import "./index.css"; interface EquipmentManagerProps { preset: EquipmentPreset; matrix: EquipmentMatrix; onChange: (matrix: EquipmentMatrix) => void; } export function EquipmentManager({ preset, matrix, onChange, }: EquipmentManagerProps) { return ( {chunk(preset.slots, 3).map((equipmentRow, rowIndex) => ( {equipmentRow.map((equipment, columnIndex) => ( { const draft = cloneDeep(matrix); if (draft[rowIndex][columnIndex] === -1) { draft[rowIndex][columnIndex] = 0; } else { draft[rowIndex][columnIndex] = -1; } onChange(draft); }} /> { const draft = cloneDeep(matrix); if (draft[rowIndex][columnIndex] === 1) { draft[rowIndex][columnIndex] = 0; } else { draft[rowIndex][columnIndex] = 1; } onChange(draft); }} /> ))} ))} ); }