// @flow import React, { useEffect, useState } from 'react'; import FileRender from 'component/fileRender'; type Props = { uri: string, resolveUri: string => void, claim: Claim, triggerAnalyticsView: string => Promise, }; // $FlowFixMe apparently flow thinks this is wrong. export const EmbedContext = React.createContext(); const EmbedWrapperPage = (props: Props) => { const { resolveUri, claim, uri, triggerAnalyticsView } = props; const [hasRecordedView, setHasRecordedView] = useState(false); useEffect(() => { if (!hasRecordedView && uri && claim) { triggerAnalyticsView(uri).then(() => { setHasRecordedView(false); }); } }, [triggerAnalyticsView, setHasRecordedView, hasRecordedView, uri, claim]); useEffect(() => { if (resolveUri && uri) { resolveUri(uri); } }, []); return (
{claim && ( )}
); }; export default EmbedWrapperPage;