import React from 'react'; import { AppState } from 'reducers'; import { NameState } from 'libs/ens'; import { NameOwned, NameAuction, NameForbidden, NameNotYetAvailable, NameOpen, NameReveal } from './components'; import './NameResolve.scss'; import { Spinner } from 'components/ui'; type Props = AppState['ens']; const modeResult = { [NameState.Auction]: NameAuction, [NameState.Forbidden]: NameForbidden, [NameState.NotYetAvailable]: NameNotYetAvailable, [NameState.Open]: NameOpen, [NameState.Owned]: NameOwned, [NameState.Reveal]: NameReveal }; export const NameResolve: React.SFC = props => { const { domainRequests, domainSelector } = props; const { currentDomain } = domainSelector; if (!currentDomain || !domainRequests[currentDomain] || domainRequests[currentDomain].error) { return null; } const domainData = domainRequests[currentDomain].data! || false; const Component = domainData ? modeResult[domainData.mode] : Spinner; return ; };