import { ReadonlyRecord, Team, TeamActions } from '@rondo.dev/common' import { Button, Flex, Panel, PanelBlock, PanelHeading } from '../components' import React from 'react' import { FaEdit, FaPlus, FaTimes } from 'react-icons/fa' import { Link } from 'react-router-dom' export interface TeamListProps { ListButtons?: React.ComponentType<{team: Team}> teamsById: ReadonlyRecord teamIds: ReadonlyArray onAddTeam: TeamActions['create'] onRemoveTeam: TeamActions['remove'] } export interface TeamProps { ListButtons?: React.ComponentType<{team: Team}> team: Team onRemoveTeam: TeamActions['remove'] } export const marginLeft = {marginLeft: 'auto'} export class TeamRow extends React.PureComponent { handleRemove = async () => { const {onRemoveTeam, team: {id}} = this.props await onRemoveTeam({id}).payload } render() { const {team, ListButtons} = this.props return (
{team.name}
{!!ListButtons && }    
) } } export class TeamList extends React.PureComponent { render() { const {teamIds, teamsById} = this.props return ( Teams {teamIds.map(teamId => { const team = teamsById[teamId] return ( ) })} ) } }