import React from 'react' import { connect, ConnectedProps } from 'react-redux' import { t } from 'ttag' import config from '../config' import Trait from './Trait' import { addTrait } from '../actions/traits' import { selectSpecies } from '../actions/species' const connector = connect( ({ runConfiguration }: { runConfiguration: { traits: any[]; species: any } }) => { const { traits, species } = runConfiguration const names = traits.map(item => item.name) const unusedTraits = config.functions .filter(item => item.species.includes(species)) .filter(item => !names.includes(item.name)) return { traits, unusedTraits, species } }, (dispatch: (action: any) => any) => { return { onChange: (trait: any) => dispatch(addTrait(trait)), onSpeciesChange: (species: any) => dispatch(selectSpecies(species)), } }, ) class Traits extends React.Component> { componentDidMount() { const { species, onSpeciesChange } = this.props onSpeciesChange(species) } render() { const { traits, unusedTraits, onChange } = this.props return ( <> {traits.map((trait, index: number) => ( ))}
{t`Name`} {t`Value`} {t`Transfer Limit (+/-)`}
) } } export default connector(Traits)