import * as swarmCid from '@ethersphere/swarm-cid' import { Box } from '@material-ui/core' import { ReactElement, useContext, useEffect, useState } from 'react' import X from 'remixicon-react/CloseLineIcon' import { useNavigate, useParams } from 'react-router-dom' import { DocumentationText } from '../../components/DocumentationText' import ExpandableListItemActions from '../../components/ExpandableListItemActions' import ExpandableListItemKey from '../../components/ExpandableListItemKey' import ExpandableListItemLink from '../../components/ExpandableListItemLink' import { HistoryHeader } from '../../components/HistoryHeader' import { SwarmButton } from '../../components/SwarmButton' import { Context as BeeContext } from '../../providers/Bee' import { Context as IdentityContext } from '../../providers/Feeds' import { Context as SettingsContext } from '../../providers/Settings' import { ROUTES } from '../../routes' import { UploadArea } from '../files/UploadArea' export function FeedSubpage(): ReactElement { const { identities } = useContext(IdentityContext) const { uuid } = useParams() const { beeApi } = useContext(SettingsContext) const { status } = useContext(BeeContext) const navigate = useNavigate() const [available, setAvailable] = useState(false) const identity = identities.find(x => x.uuid === uuid) useEffect(() => { if (!identity || !identity.feedHash) { return } try { beeApi?.downloadData(identity.feedHash).then(() => setAvailable(true)) } catch { setAvailable(false) } }, [beeApi, uuid, identity]) if (!identity || !status.all) { navigate(ROUTES.ACCOUNT_FEEDS, { replace: true }) return <> } function onClose() { navigate(ROUTES.ACCOUNT_FEEDS) } return (
{`${identity.name} Website`} {available && identity.feedHash ? ( <> ) : ( This feed is curently not pointing anywhere, you can update the feed to fix this. Please refer to the{' '} official Bee documentation . )} Close
) }