diff --git a/packages/web/components/templates/landing/LandingSection.tsx b/packages/web/components/templates/landing/LandingSection.tsx index a4890ab5a..a78e204bd 100644 --- a/packages/web/components/templates/landing/LandingSection.tsx +++ b/packages/web/components/templates/landing/LandingSection.tsx @@ -4,7 +4,7 @@ import { CSS, styled } from '@stitches/react' type LandingSectionProps = { titleText: string, descriptionText: React.ReactElement, - icon: React.ReactElement, + icon?: React.ReactElement, image: React.ReactElement, containerStyles?: CSS, } @@ -75,9 +75,9 @@ export function LandingSection(props: LandingSectionProps): JSX.Element { - + {/* {props.icon} - + */} {props.titleText} {props.descriptionText} diff --git a/packages/web/components/templates/landing/LandingSectionsContainer.tsx b/packages/web/components/templates/landing/LandingSectionsContainer.tsx index a954888c3..ab75357e6 100644 --- a/packages/web/components/templates/landing/LandingSectionsContainer.tsx +++ b/packages/web/components/templates/landing/LandingSectionsContainer.tsx @@ -1,8 +1,15 @@ import Link from 'next/link' -import { VStack, Box, SpanBox } from '../../elements/LayoutPrimitives' -import { CurvedUnderlineIcon } from '../../elements/images/CurvedUnderlineIcon' +import { VStack, Box } from '../../elements/LayoutPrimitives' +// import { CurvedUnderlineIcon } from '../../elements/images/CurvedUnderlineIcon' import { Button } from '../../elements/Button' -import { MagnifyingGlass, Palette, EnvelopeSimple, FloppyDisk, ArrowRight } from 'phosphor-react' + +import { + // MagnifyingGlass, + // Palette, + // EnvelopeSimple, + // FloppyDisk, + ArrowRight, +} from 'phosphor-react' import { LandingSection } from './LandingSection' const buttonStyles = { @@ -10,23 +17,30 @@ const buttonStyles = { borderRadius: 4, px: 30, background: 'rgb(255, 210, 52)', - color: '#3D3D3D' + color: '#3D3D3D', } const arrowStyles = { - marginLeft: 10, + marginLeft: 10, padding: 2, } export function GetStartedButton(): JSX.Element { return ( - ) } @@ -36,7 +50,8 @@ const containerStyles = { pt: 32, pb: 100, width: '100%', - background: 'linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), linear-gradient(0deg, rgba(253, 250, 236, 0.7), rgba(253, 250, 236, 0.7))', + background: + 'linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)), linear-gradient(0deg, rgba(253, 250, 236, 0.7), rgba(253, 250, 236, 0.7))', '@mdDown': { pt: 50, }, @@ -45,38 +60,38 @@ const containerStyles = { }, '@xl': { px: '100px', - } + }, } -const titleStyles = { - fontWeight: '600', - fontSize: '24', - textAlign: 'center', - lineHeight: '36px', - color: '#FF9B3E', - '@mdDown': { - fontSize: 16, - letterSpacing: '0.02em' - } -} +// const titleStyles = { +// fontWeight: '600', +// fontSize: '24', +// textAlign: 'center', +// lineHeight: '36px', +// color: '#FF9B3E', +// '@mdDown': { +// fontSize: 16, +// letterSpacing: '0.02em', +// }, +// } -const subTitleText = { - fontSize: 64, - maxWidth: 590, - fontWeight: '700', - textAlign: 'center', - lineHeight: '70px', - mb: 30, - '@mdDown': { - maxWidth: 295, - fontSize: 32, - lineHeight: '40px', - } -} +// const subTitleText = { +// fontSize: 64, +// maxWidth: 590, +// fontWeight: '700', +// textAlign: 'center', +// lineHeight: '70px', +// mb: 30, +// '@mdDown': { +// maxWidth: 295, +// fontSize: 32, +// lineHeight: '40px', +// }, +// } const reversedSectionStyles = { flexDirection: 'row-reverse', - marginBottom: 20 + marginBottom: 20, } const callToActionStyles = { @@ -84,13 +99,14 @@ const callToActionStyles = { borderRadius: '24px', boxSizing: 'border-box', border: '1px solid #D8D7D5', - boxShadow: '0px 7px 8px rgba(32, 31, 29, 0.03), 0px 18px 24px rgba(32, 31, 29, 0.03)', + boxShadow: + '0px 7px 8px rgba(32, 31, 29, 0.03), 0px 18px 24px rgba(32, 31, 29, 0.03)', padding: 40, marginTop: 64, height: 330, - '@mdDown': { - display: 'none', - }, + // '@mdDown': { + // display: 'none', + // }, '@md': { width: '100%', }, @@ -105,21 +121,21 @@ const callToActionText = { fontSize: 64, lineHeight: '70px', textAlign: 'center', - maxWidth: 500 + maxWidth: 500, } -const underlineIconStyles = { - height: '5px', - alignSelf: 'normal', - position: 'relative', - bottom: 20, -} +// const underlineIconStyles = { +// height: '5px', +// alignSelf: 'normal', +// position: 'relative', +// bottom: 20, +// } type LandingSectionsContainerProps = { - hideFirst?: boolean, - hideSecond?: boolean, - hideThird?: boolean, - hideFourth?: boolean, + hideFirst?: boolean + hideSecond?: boolean + hideThird?: boolean + hideFourth?: boolean } export function LandingSectionsContainer({ @@ -128,110 +144,167 @@ export function LandingSectionsContainer({ hideThird = false, hideFourth = false, }: LandingSectionsContainerProps): JSX.Element { - const iconColor = 'rgb(255, 210, 52)' + // const iconColor = 'rgb(255, 210, 52)' return ( - + + + landingHero-1 + + {!hideFirst && ( - Omnivore strips away the ads, trackers, and clutter and - formats pages for easy reading without distractions. The - text-focused view also makes articles smaller and quicker - to load. + Omnivore strips away the ads, trackers, and clutter and formats + pages for easy reading without distractions. The text-focused view + also makes articles smaller and quicker to load.

} image={ landing-1 } - icon={} + // icon={ + // + // } /> )} {!hideSecond && ( -

- Read actively, not passively. Highlight key sections and add - notes as you read. You can access your highlights and notes any - time — they stay with your articles forever. -

-

- Fun fact: research shows that highlighting while you read - improves retention and makes you a more effective reader. -

- - } - image={ - landing-2 - } - icon={} - containerStyles={reversedSectionStyles} - /> - )} - {!hideThird && ( - - Send subscriptions directly to your Omnivore library, and - read them on your own time, away from the constant distractions - and interruptions of your email inbox. -

- } - image={ - landing-3 - } - icon={} - /> - )} - {!hideFourth && ( - -

With the Omnivore app for iOS and Android and extensions for all +

+ With the Omnivore app for iOS and Android and extensions for all major web browsers, you can add to your reading list any time.

-

Saved articles remain in your Omnivore library forever — even if the - site where you found them goes away. Access them any time in our reader - view or in their original format. +

+ Saved articles remain in your Omnivore library forever — even if + the site where you found them goes away. Access them any time in + our reader view or in their original format.

} image={ landing-4 } - icon={} + // icon={} containerStyles={reversedSectionStyles} /> )} - - - Sign up for free - + {!hideThird && ( + + Send subscriptions directly to your Omnivore library, and read + them on your own time, away from the constant distractions and + interruptions of your email inbox. +

+ } + image={ + landing-3 + } + // icon={} + /> + )} + {!hideFourth && ( + + Read what you want, not what some algorithm says you should. Keep + your reading organized and easily available with labels, filters, + and fully indexed text searches. +

+ } + image={ + landing-5 + } + // icon={} + containerStyles={reversedSectionStyles} + /> + )} + + The intuitive command palette puts basic and advanced functionality + at your fingertips. Keyboard shortcuts for all features mean your + hands never have to leave the keyboard. Our open-source app allows + integrations with knowledge bases and note-taking apps, using + plug-ins or by triggering webhooks. +

+ } + image={ + landing-6 + } + // icon={} + /> + + Lorem IpsumRead what you want, not what some algorithm says you + should. Keep your reading organized and easily available with + labels, filters, and fully indexed text searches. +

+ } + image={ + landing-7 + } + // icon={} + containerStyles={reversedSectionStyles} + /> + + Get Started With Omnivore Today
diff --git a/packages/web/pages/about.tsx b/packages/web/pages/about.tsx index c6c505f96..c7ec5d013 100644 --- a/packages/web/pages/about.tsx +++ b/packages/web/pages/about.tsx @@ -1,5 +1,8 @@ import { VStack, Box } from './../components/elements/LayoutPrimitives' -import { LandingSectionsContainer, GetStartedButton } from '../components/templates/landing/LandingSectionsContainer' +import { + LandingSectionsContainer, + GetStartedButton, +} from '../components/templates/landing/LandingSectionsContainer' import { LandingHeader } from '../components/templates/landing/LandingHeader' import { LandingFooter } from '../components/templates/landing/LandingFooter' @@ -14,7 +17,7 @@ const mobileContainerStyles = { }, '@xl': { px: '120px', - } + }, } const headingStyles = { @@ -24,12 +27,15 @@ const headingStyles = { lineHeight: '53px', padding: '10px', paddingBottom: '0px', + textAlign: 'center', } - const subHeadingStyles = { color: 'rgb(125, 125, 125)', padding: '10px', + textAlign: 'center', + width: '100%', + fontWeight: '600', } export default function LandingPage(): JSX.Element { @@ -38,18 +44,34 @@ export default function LandingPage(): JSX.Element { - Omnivore is the read-it-later app for serious readers. - - Distraction free. Privacy focused. Open source. + + Omnivore is the read-it-later app for serious readers. - - Save interesting articles, newsletter subscriptions, and documents and - read them later — focused and distraction free. Add notes and highlights. - Organize your reading list the way you want and sync it across all your - devices. + Distraction free. Privacy focused. Open source. - + + + Save interesting articles, newsletter subscriptions, and documents + and read them later — focused and distraction free. Add notes and + highlights. Organize your reading list the way you want and sync it + across all your devices. + + @@ -59,5 +81,3 @@ export default function LandingPage(): JSX.Element { ) } - - diff --git a/packages/web/public/static/landing/landingPage-1.png b/packages/web/public/static/landing/landingPage-1.png new file mode 100644 index 000000000..462f98b41 Binary files /dev/null and b/packages/web/public/static/landing/landingPage-1.png differ diff --git a/packages/web/public/static/landing/landingPage-2.png b/packages/web/public/static/landing/landingPage-2.png new file mode 100644 index 000000000..422b44d0d Binary files /dev/null and b/packages/web/public/static/landing/landingPage-2.png differ diff --git a/packages/web/public/static/landing/landingPage-3.png b/packages/web/public/static/landing/landingPage-3.png new file mode 100644 index 000000000..f398ba13f Binary files /dev/null and b/packages/web/public/static/landing/landingPage-3.png differ diff --git a/packages/web/public/static/landing/landingPage-4.png b/packages/web/public/static/landing/landingPage-4.png new file mode 100644 index 000000000..563675e28 Binary files /dev/null and b/packages/web/public/static/landing/landingPage-4.png differ diff --git a/packages/web/public/static/landing/landingPage-5.png b/packages/web/public/static/landing/landingPage-5.png new file mode 100644 index 000000000..723483910 Binary files /dev/null and b/packages/web/public/static/landing/landingPage-5.png differ diff --git a/packages/web/public/static/landing/landingPage-6.png b/packages/web/public/static/landing/landingPage-6.png new file mode 100644 index 000000000..f2d7d3d9b Binary files /dev/null and b/packages/web/public/static/landing/landingPage-6.png differ diff --git a/packages/web/public/static/landing/landingPage-7.png b/packages/web/public/static/landing/landingPage-7.png new file mode 100644 index 000000000..eac6671bd Binary files /dev/null and b/packages/web/public/static/landing/landingPage-7.png differ