// @flow import React from 'react'; import Page from 'component/page'; import { useHistory } from 'react-router'; import RepostCreate from 'component/repostCreate'; import YrblWalletEmpty from 'component/yrblWalletEmpty'; import useThrottle from 'effects/use-throttle'; const REPOST_PARAMS = { FROM: 'from', TO: 'to', REDIRECT: 'redirect', }; type Props = { // --redux-- balance: number, resolveUri: (string) => void, }; function RepostPage(props: Props) { const { balance, resolveUri } = props; const { location: { search }, } = useHistory(); const [contentUri, setContentUri] = React.useState(''); const [repostUri, setRepostUri] = React.useState(''); const urlParams = new URLSearchParams(search); const repostFrom = urlParams.get(REPOST_PARAMS.FROM); const redirectUri = urlParams.get(REPOST_PARAMS.REDIRECT); const repostTo = urlParams.get(REPOST_PARAMS.TO); const decodedFrom = repostFrom && decodeURIComponent(repostFrom); const throttledContentValue = useThrottle(contentUri, 500); const throttledRepostValue = useThrottle(repostUri, 500); React.useEffect(() => { if (throttledContentValue) { resolveUri(throttledContentValue); } }, [throttledContentValue, resolveUri]); React.useEffect(() => { if (throttledRepostValue) { resolveUri(throttledRepostValue); } }, [throttledRepostValue, resolveUri]); React.useEffect(() => { if (repostTo) { resolveUri(repostTo); } }, [repostTo, resolveUri]); return ( {balance === 0 && }
); } export default RepostPage;