diff --git a/landing/investor-profile.react.js b/landing/investor-profile.react.js --- a/landing/investor-profile.react.js +++ b/landing/investor-profile.react.js @@ -9,20 +9,21 @@ +description: string, +involvement: ?string, +imageURL: string, + +onClick: () => void, }; function InvestorProfile(props: Props): React.Node { - const { name, description, involvement, imageURL } = props; + const { name, description, involvement, imageURL, onClick } = props; return ( -
+ {`image

{name}

{description}

{involvement}

-
+ ); } diff --git a/landing/landing.react.js b/landing/landing.react.js --- a/landing/landing.react.js +++ b/landing/landing.react.js @@ -3,6 +3,11 @@ import * as React from 'react'; import { useRouteMatch } from 'react-router-dom'; +import { + ModalProvider, + useModalContext, +} from 'lib/components/modal-provider.react'; + import AppLanding from './app-landing.react'; import Footer from './footer.react'; import Header from './header.react'; @@ -19,6 +24,16 @@ import './global.css'; function Landing(): React.Node { + const modalContext = useModalContext(); + + const modals = React.useMemo( + () => + modalContext.modals.map(([modal, key]) => ( + {modal} + )), + [modalContext.modals], + ); + useScrollToTopOnNavigate(); const onPrivacy = useRouteMatch({ path: '/privacy' }); const onTerms = useRouteMatch({ path: '/terms' }); @@ -75,8 +90,17 @@ {header} {activePage} {footer} + {modals} ); } -export default Landing; +function LandingWithProvider(): React.Node { + return ( + + + + ); +} + +export default LandingWithProvider;