import React, { useEffect, useState } from 'react' import './index.scss' interface Props { shortcode: string grid: GridWeapon[] onClick: (shortcode: string) => void } const GridRep = (props: Props) => { const numWeapons: number = 9 const [mainhand, setMainhand] = useState() const [weapons, setWeapons] = useState>({}) useEffect(() => { const newWeapons = Array(numWeapons) for (const [key, value] of Object.entries(props.grid)) { if (value.position == -1) setMainhand(value.object) else if (!value.mainhand && value.position != null) newWeapons[value.position] = value.object } setWeapons(newWeapons) }, [props.grid]) function navigate() { props.onClick(props.shortcode) } function generateMainhandImage() { return (mainhand) ? {mainhand?.name.en} : '' } function generateGridImage(position: number) { return (weapons[position]) ? {weapons[position]?.name.en} : '' } return (
{generateMainhandImage()}
    { Array.from(Array(numWeapons)).map((x, i) => { return (
  • {generateGridImage(i)}
  • ) }) }
) } export default GridRep