import { Box, MetaButton } from '@metafam/ds'; import React, { useCallback, useState } from 'react'; import { Links } from '#components/Player/Section/Links'; import { AddPlayerLink } from '#components/Player/Section/PlayerLinks/AddPlayerLink'; import { EditPlayerLink } from '#components/Player/Section/PlayerLinks/EditPlayerLink'; import { usePlayerHydrationContext } from '#contexts/PlayerHydrationContext'; import { Link, Player } from '#graphql/autogen/hasura-sdk'; const SetupPlayerLinks: React.FC<{ onComplete?: () => void; player: Player; }> = ({ player, onComplete }) => { const [role, setRole] = useState('view'); return ( <> {role === 'view' && ( setRole('add')} bg="purple.500" > Add Link {onComplete && ( Done )} )} ); }; SetupPlayerLinks.displayName = 'SetupPlayerLinks'; export { SetupPlayerLinks }; const PlayerLinksView: React.FC<{ role: string; player: Player; setRole: (role: string) => void; }> = ({ role, player, setRole }) => { const { hydrateFromHasura } = usePlayerHydrationContext(); const closeInner = useCallback(async () => { await hydrateFromHasura(); setRole('view'); }, [hydrateFromHasura, setRole]); const [linkToEdit, setLinkToEdit] = useState(); const editLink = (link?: Link) => { setRole('edit'); setLinkToEdit(link); }; const currentView = { view: ( ), add: , edit: , }[role]; return currentView; };