From 0f01e31cc3826df7000e0ddc35354aa9af515966 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 28 Nov 2018 14:59:23 -0800 Subject: feat(website): implement rest of links --- packages/website/ts/pages/instant/features.tsx | 106 +++++++++++++----------- packages/website/ts/pages/instant/instant.tsx | 8 +- packages/website/ts/pages/instant/need_more.tsx | 18 +++- 3 files changed, 77 insertions(+), 55 deletions(-) (limited to 'packages/website/ts') diff --git a/packages/website/ts/pages/instant/features.tsx b/packages/website/ts/pages/instant/features.tsx index 73be793d5..9c1668c1c 100644 --- a/packages/website/ts/pages/instant/features.tsx +++ b/packages/website/ts/pages/instant/features.tsx @@ -6,63 +6,65 @@ import { Image } from 'ts/components/ui/image'; import { Text } from 'ts/components/ui/text'; import { colors } from 'ts/style/colors'; import { ScreenWidths } from 'ts/types'; +import { utils } from 'ts/utils/utils'; export interface FeatureProps { screenWidth: ScreenWidths; + onGetStartedClick: () => void; } -export const Features = (props: FeatureProps) => ( - - - - - -); +export const Features = (props: FeatureProps) => { + const isSmallScreen = props.screenWidth === ScreenWidths.Sm; + const getStartedLinkInfo = { + displayText: 'Get started', + onClick: props.onGetStartedClick, + }; + const exploreTheDocsLinkInfo = { + displayText: 'Explore the docs', + linkSrc: `${utils.getCurrentBaseUrl()}/wiki#Get-Started`, + }; + const tokenLinkInfos = isSmallScreen ? [getStartedLinkInfo] : [getStartedLinkInfo, exploreTheDocsLinkInfo]; + return ( + + + + + + ); +}; interface LinkInfo { displayText: string; - linkSrc: string; + linkSrc?: string; + onClick?: () => void; } interface FeatureItemProps { @@ -95,7 +97,11 @@ const FeatureItem = (props: FeatureItemProps) => { {_.map(linkInfos, linkInfo => { const onClick = (event: React.MouseEvent) => { - window.open(linkInfo.linkSrc, '_blank'); + if (!_.isUndefined(linkInfo.onClick)) { + linkInfo.onClick(); + } else if (!_.isUndefined(linkInfo.linkSrc)) { + utils.openUrl(linkInfo.linkSrc); + } }; return ( { isNightVersion={true} /> - + - + {!this._isSmallScreen() && }