import React, { useState } from 'react' import { useModal as useModal } from '~utils/useModal' import CharacterUnit from '~components/CharacterUnit' import SearchModal from '~components/SearchModal' import './index.scss' export enum GridType { Class, Character, Weapon, Summon } interface Props { userId?: string grid: GridArray editable: boolean exists: boolean onSelect: (type: GridType, character: Character, position: number) => void } const CharacterGrid = (props: Props) => { const { open, openModal, closeModal } = useModal() const [searchPosition, setSearchPosition] = useState(0) const numCharacters: number = 5 function isCharacter(object: Character | Weapon | Summon): object is Character { // There aren't really any unique fields here return (object as Character).gender !== undefined } function openSearchModal(position: number) { setSearchPosition(position) openModal() } function receiveCharacter(character: Character, position: number) { props.onSelect(GridType.Character, character, position) } function sendData(object: Character | Weapon | Summon, position: number) { if (isCharacter(object)) { receiveCharacter(object, position) } } return (
) } export default CharacterGrid