import { Box, Flex, HStack, Text } from '@metafam/ds'; import { PlayerFragmentFragment } from 'graphql/autogen/types'; import React from 'react'; import ethereumImage from '../../../assets/moloch/ethereum.png'; import hausdaoImage from '../../../assets/moloch/hausdao.png'; import metacartelImage from '../../../assets/moloch/metacartel.png'; import metaclanImage from '../../../assets/moloch/metaclan.png'; import metagameImage from '../../../assets/moloch/metagame.png'; import raidGuildImage from '../../../assets/moloch/raid_guild.png'; import { ProfileSection } from '../../ProfileSection'; type Props = { player: PlayerFragmentFragment; onRemoveClick: () => void }; export const PlayerMemberships: React.FC = ({ player, onRemoveClick, }) => { const [show, setShow] = React.useState(false); // TODO Probably a better way to do that or should be completed, API/IPFS ? const getImageMoloch = (title: string) => { if (title.toLowerCase().includes('hausdao')) return hausdaoImage; if (title.toLowerCase().includes('metacartel')) return metacartelImage; if (title.toLowerCase().includes('metaclan')) return metaclanImage; if (title.toLowerCase().includes('raid guild')) return raidGuildImage; return ethereumImage; }; return ( MetaGame { // TODO Im not 100% sure this should be player.rank ? } {(player.rank || '').toLowerCase()} {`XP: ${Math.floor(player.total_xp || 0)}`} { // TODO Fake data => Should be retrieved from DAO (player.daohausMemberships || []) .slice(0, show ? 999 : 3) .map((member) => ( {member.moloch.title} player Shares: {member.shares}/{member.moloch.totalShares} )) } {(player.daohausMemberships || []).length > 3 && ( setShow(!show)} > View {show ? 'less' : 'all'} )} ); };