import { Box, Flex, Heading, HStack, MetaButton, MetaHeading, Text, Wrap, } from '@metafam/ds'; import { FlexContainer } from 'components/Container'; import { useSetupFlow } from 'contexts/SetupContext'; import { Membership } from 'graphql/types'; import React, { useState } from 'react'; import { useWeb3 } from '../../lib/hooks'; import { getDaoLink, getImageMoloch, LinkGuild } from '../Player/PlayerGuild'; export type SetupMembershipsProps = { memberships: Array | null | undefined; setMemberships: React.Dispatch< React.SetStateAction | null | undefined> >; }; export const SetupMemberships: React.FC = ({ memberships, }) => { const { connected } = useWeb3(); const { onNextPress, nextButtonLabel } = useSetupFlow(); const [loading, setLoading] = useState(false); return ( Memberships {!memberships && (connected ? ( Loading… ) : ( Account Not Connected ))} {memberships && (memberships.length > 0 ? ( <> We found the following guilds associated with your account and automatically added them to your profile. You can edit them later in your profile. {memberships.map((member) => ( ))} ) : ( We did not find any guilds associated with your account. ))} { setLoading(true); onNextPress(); }} mt={10} isLoading={loading} > {nextButtonLabel} ); }; type MembershipListingProps = { member: Membership; }; const MembershipListing: React.FC = ({ member }) => { const guildLogo = getImageMoloch(member.moloch.title || member.moloch.chain); const daoUrl = getDaoLink(member.moloch.chain, member.moloch.id); return ( {member.moloch.title || `Unknown ${member.moloch.chain} DAO`} ); };