From c376c8d4b455607dc8c7a033009dbc55ac605b31 Mon Sep 17 00:00:00 2001 From: gitstart-omnivore Date: Mon, 9 May 2022 17:12:09 +0000 Subject: [PATCH] Created Page 03 of Onboarding --- packages/web/components/elements/Checkbox.tsx | 38 +++++++++++++ .../web/components/elements/StyledText.tsx | 2 +- .../components/elements/images/CheckIcon.tsx | 12 +++++ .../components/templates/onboarding/03.tsx | 53 +++++++++++++++++++ .../templates/onboarding/SelectOption.tsx | 45 ++++++++++++++++ packages/web/package.json | 1 + packages/web/pages/onboarding/03.tsx | 5 ++ .../static/images/newsletter/BBCNews.svg | 9 ++++ .../static/images/newsletter/Columbia.svg | 10 ++++ .../public/static/images/newsletter/NYT.svg | 9 ++++ .../images/newsletter/NYTNewsletter.svg | 9 ++++ .../images/newsletter/TempleTelegram.svg | 10 ++++ .../images/newsletter/WashingtonDiplomat.svg | 10 ++++ ...tories.tsx => OnboardingPage2.stories.tsx} | 2 +- .../web/stories/OnboardingPage3.stories.tsx | 13 +++++ 15 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 packages/web/components/elements/Checkbox.tsx create mode 100644 packages/web/components/elements/images/CheckIcon.tsx create mode 100644 packages/web/components/templates/onboarding/03.tsx create mode 100644 packages/web/components/templates/onboarding/SelectOption.tsx create mode 100644 packages/web/pages/onboarding/03.tsx create mode 100644 packages/web/public/static/images/newsletter/BBCNews.svg create mode 100644 packages/web/public/static/images/newsletter/Columbia.svg create mode 100644 packages/web/public/static/images/newsletter/NYT.svg create mode 100644 packages/web/public/static/images/newsletter/NYTNewsletter.svg create mode 100644 packages/web/public/static/images/newsletter/TempleTelegram.svg create mode 100644 packages/web/public/static/images/newsletter/WashingtonDiplomat.svg rename packages/web/stories/{OnboardingPage2Story.stories.tsx => OnboardingPage2.stories.tsx} (89%) create mode 100644 packages/web/stories/OnboardingPage3.stories.tsx diff --git a/packages/web/components/elements/Checkbox.tsx b/packages/web/components/elements/Checkbox.tsx new file mode 100644 index 000000000..130bb260d --- /dev/null +++ b/packages/web/components/elements/Checkbox.tsx @@ -0,0 +1,38 @@ +import React from 'react' +import { styled } from '@stitches/react' +import * as CheckboxPrimitive from '@radix-ui/react-checkbox' +import { CheckIcon } from './images/CheckIcon' + +const Checkbox = styled(CheckboxPrimitive.Root, { + all: 'unset', + width: 15.83, + height: 15.83, + borderRadius: 3, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', +}) + +const CheckboxIndicator = styled(CheckboxPrimitive.Indicator, { + color: '#FFFFFF', +}) + +export const CheckboxComponent:React.FC<{ + checked: boolean; + setChecked:(arg: boolean) => void; +}> = ({checked, setChecked}) => { + const toggleChecked = () => setChecked(!checked); + + return ( + + + + + + ) +} + +export default CheckboxComponent diff --git a/packages/web/components/elements/StyledText.tsx b/packages/web/components/elements/StyledText.tsx index 55ef94b5e..5c2d72d27 100644 --- a/packages/web/components/elements/StyledText.tsx +++ b/packages/web/components/elements/StyledText.tsx @@ -180,4 +180,4 @@ export const StyledAnchor = styled('a', { export const StyledMark = styled('mark', { -}) \ No newline at end of file +}) diff --git a/packages/web/components/elements/images/CheckIcon.tsx b/packages/web/components/elements/images/CheckIcon.tsx new file mode 100644 index 000000000..9c4ede982 --- /dev/null +++ b/packages/web/components/elements/images/CheckIcon.tsx @@ -0,0 +1,12 @@ +export function CheckIcon(): JSX.Element { + return ( + + + + ) +} diff --git a/packages/web/components/templates/onboarding/03.tsx b/packages/web/components/templates/onboarding/03.tsx new file mode 100644 index 000000000..75fa651e5 --- /dev/null +++ b/packages/web/components/templates/onboarding/03.tsx @@ -0,0 +1,53 @@ +import React from 'react' +import { VStack } from '../../elements/LayoutPrimitives' +import OnboardingLayout2 from '../OnboardingLayout2' +import { SelectOption } from './SelectOption' + +const optionDetails = [ + { + icon: 'TempleTelegram', + label: 'Temple Daily Telegram - Temple, Tx', + }, + { + icon: 'NYTNewsletter', + label: 'Newsletters - The New York Times', + }, + { + icon: 'NYT', + label: 'NYT’s The Morning', + }, + { + icon: 'BBCNews', + label: 'London - BBC News', + }, + { + icon: 'WashingtonDiplomat', + label: 'Washington Diplomat - Washington, Dc', + }, + { + icon: 'Columbia', + label: 'The State - Columbia, Sc', + }, +] + +const OnboardingPage3 = () => { + return ( + + + {optionDetails.map(({ icon, label }, idx) => ( + + ))} + + + ) +} + +export default OnboardingPage3 diff --git a/packages/web/components/templates/onboarding/SelectOption.tsx b/packages/web/components/templates/onboarding/SelectOption.tsx new file mode 100644 index 000000000..1f863c884 --- /dev/null +++ b/packages/web/components/templates/onboarding/SelectOption.tsx @@ -0,0 +1,45 @@ +import React from 'react' +import Checkbox from '../../elements/Checkbox' +import { HStack } from '../../elements/LayoutPrimitives' +import { StyledText } from '../../elements/StyledText' + +export const SelectOption: React.FC<{ + icon: string + label: string +}> = ({ icon, label }) => { + const [checked, setChecked] = React.useState(false) + + const toggleChecked = () => setChecked(!checked) + + return ( + + + + {`${icon}-logo`} + + {label} + + + ) +} diff --git a/packages/web/package.json b/packages/web/package.json index 9036ce848..1f05e5e32 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -19,6 +19,7 @@ }, "dependencies": { "@radix-ui/react-avatar": "^0.1.1", + "@radix-ui/react-checkbox": "^0.1.5", "@radix-ui/react-dialog": "^0.1.1", "@radix-ui/react-dropdown-menu": "^0.1.1", "@radix-ui/react-id": "^0.1.1", diff --git a/packages/web/pages/onboarding/03.tsx b/packages/web/pages/onboarding/03.tsx new file mode 100644 index 000000000..d2c16adc8 --- /dev/null +++ b/packages/web/pages/onboarding/03.tsx @@ -0,0 +1,5 @@ +import OnboardingPage3 from "../../components/templates/onboarding/03"; + +export default function OnboardingPage03() { + return +} diff --git a/packages/web/public/static/images/newsletter/BBCNews.svg b/packages/web/public/static/images/newsletter/BBCNews.svg new file mode 100644 index 000000000..de8baa7da --- /dev/null +++ b/packages/web/public/static/images/newsletter/BBCNews.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/web/public/static/images/newsletter/Columbia.svg b/packages/web/public/static/images/newsletter/Columbia.svg new file mode 100644 index 000000000..01639d225 --- /dev/null +++ b/packages/web/public/static/images/newsletter/Columbia.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/web/public/static/images/newsletter/NYT.svg b/packages/web/public/static/images/newsletter/NYT.svg new file mode 100644 index 000000000..c84163934 --- /dev/null +++ b/packages/web/public/static/images/newsletter/NYT.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/web/public/static/images/newsletter/NYTNewsletter.svg b/packages/web/public/static/images/newsletter/NYTNewsletter.svg new file mode 100644 index 000000000..26d541a3a --- /dev/null +++ b/packages/web/public/static/images/newsletter/NYTNewsletter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/web/public/static/images/newsletter/TempleTelegram.svg b/packages/web/public/static/images/newsletter/TempleTelegram.svg new file mode 100644 index 000000000..836330940 --- /dev/null +++ b/packages/web/public/static/images/newsletter/TempleTelegram.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/web/public/static/images/newsletter/WashingtonDiplomat.svg b/packages/web/public/static/images/newsletter/WashingtonDiplomat.svg new file mode 100644 index 000000000..c7f69a0de --- /dev/null +++ b/packages/web/public/static/images/newsletter/WashingtonDiplomat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/web/stories/OnboardingPage2Story.stories.tsx b/packages/web/stories/OnboardingPage2.stories.tsx similarity index 89% rename from packages/web/stories/OnboardingPage2Story.stories.tsx rename to packages/web/stories/OnboardingPage2.stories.tsx index 5122b6ec7..6712aa0ae 100644 --- a/packages/web/stories/OnboardingPage2Story.stories.tsx +++ b/packages/web/stories/OnboardingPage2.stories.tsx @@ -2,7 +2,7 @@ import { ComponentStory, ComponentMeta } from '@storybook/react' import OnboardingPage2 from '../components/templates/onboarding/02' export default { - title: 'Components/OnboardingPage2Story', + title: 'Components/OnboardingPage2', component: OnboardingPage2, } as ComponentMeta diff --git a/packages/web/stories/OnboardingPage3.stories.tsx b/packages/web/stories/OnboardingPage3.stories.tsx new file mode 100644 index 000000000..9963217eb --- /dev/null +++ b/packages/web/stories/OnboardingPage3.stories.tsx @@ -0,0 +1,13 @@ +import { ComponentStory, ComponentMeta } from '@storybook/react' +import OnboardingPage3 from '../components/templates/onboarding/03' + +export default { + title: 'Components/OnboardingPage3', + component: OnboardingPage3, +} as ComponentMeta + +export const OnboardingPage3Story: ComponentStory = (args: any) => { + return ( + + ) +}