From a1ebe00be2846c6fdcce52413ccd330253bd6a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fede=20=C3=81lvarez?= Date: Wed, 25 May 2022 20:14:33 +0200 Subject: [PATCH] CMS more content --- .../sections/partners/contact/index.tsx | 68 ++-- .../sections/partners/hero/index.tsx | 69 ++-- .../sections/partners/opportunities/index.tsx | 303 ++++++++---------- src/lib/cms/queries/partners.js | 56 ++++ src/pages/partners.tsx | 39 ++- 5 files changed, 287 insertions(+), 248 deletions(-) create mode 100644 src/lib/cms/queries/partners.js diff --git a/src/components/sections/partners/contact/index.tsx b/src/components/sections/partners/contact/index.tsx index a2e891f..f940301 100644 --- a/src/components/sections/partners/contact/index.tsx +++ b/src/components/sections/partners/contact/index.tsx @@ -6,34 +6,54 @@ import Heading from '~/components/primitives/heading' import s from './contact.module.scss' -const Contact = () => { +interface Props { + data: { + contactHeading: string + contactDescription: string + contactFormHeading: string + contactFormWarning: string + contactNameLabel: string + contactNamePlaceholder: string + contactEmailLabel: string + contactEmailPlaceholder: string + contactRoleLabel: string + contactRolePlaceholder: string + contactLegalLabel: string + contactLegalPlaceholder: string + contactCompanyLabel: string + contactCompanyPlaceholder: string + contactInquiryLabel: string + contactInquiryPlaceholder: string + contactMsgLabel: string + contactMsgPlaceholder: string + contactButtonLabel: string + } +} + +const Contact = ({ data }: Props) => { return (
- Are you interested in participating in Laconic Network’s testnet? + {data?.contactHeading} -

- It may be easier than you think, with multiple opportunities for - people with varying levels of technical expertise, from running - large data pipelines to simply leaving your browser tab open. -

+

{data?.contactDescription}

- Tell us a bit about yourself, and join for early access. + {data?.contactFormHeading} - ALL FIELDS ARE REQUIRED + {data?.contactFormWarning}
diff --git a/src/components/sections/partners/hero/index.tsx b/src/components/sections/partners/hero/index.tsx index d52ddc5..bef97c9 100644 --- a/src/components/sections/partners/hero/index.tsx +++ b/src/components/sections/partners/hero/index.tsx @@ -1,5 +1,3 @@ -import { useRef } from 'react' - import { Arrow } from '~/components/icons/arrow' import { Container } from '~/components/layout/container' import Section from '~/components/layout/section' @@ -8,59 +6,43 @@ import Link from '~/components/primitives/link' import s from './hero.module.scss' -// interface Props { -// data: { -// heroHeading: string -// heroLine: string -// } -// } - -const Hero = () => { - const heroVideoRef = useRef(null) +interface Props { + data: { + heroHeading: string + heroParagraph01: string + heroParagraph02: string + } +} +const Hero = ({ data }: Props) => { return (
-
- +
+ hero + hero
- hero
- Join Us to Build Web3 + {data?.heroHeading}
-

- Laconic is ushering in a new era of internet-scale Web3 apps. - We’re solving the hardest problems in Web3 by expanding access to - verifiable data, and building a global incentivized peer-to-peer - data marketplace that anyone can participate in. -

-

- Interested in participating in the network? We have multiple - opportunities for people and organizations around the world with - varying levels of technical expertise to get involved: -

+ {data?.heroParagraph01 &&

{data?.heroParagraph01}

} + {data?.heroParagraph01 &&

{data?.heroParagraph02}

}
  1. Validators @@ -74,6 +56,9 @@ const Hero = () => {
  2. Investors
  3. +
  4. + Testnet +
diff --git a/src/components/sections/partners/opportunities/index.tsx b/src/components/sections/partners/opportunities/index.tsx index 695fcf7..6dac7fe 100644 --- a/src/components/sections/partners/opportunities/index.tsx +++ b/src/components/sections/partners/opportunities/index.tsx @@ -1,4 +1,3 @@ -import { Arrow } from '~/components/icons/arrow' import { Container } from '~/components/layout/container' import Section from '~/components/layout/section' import Heading from '~/components/primitives/heading' @@ -6,189 +5,159 @@ import Link from '~/components/primitives/link' import s from './opportunities.module.scss' -const Opportunities = () => { +interface Props { + data: { + oportunitiesHeading01: string + oportunitiesDesc01: string + oportunitiesHeading02: string + oportunitiesDesc02: string + oportunitiesHeading03: string + oportunitiesDesc03: string + oportunitiesHeading04: string + oportunitiesDesc04: string + oportunitiesHeading05: string + oportunitiesDesc05: string + } +} + +const Opportunities = ({ data }: Props) => { return (
-
- - Validators - + validators +
+
+ + {data?.oportunitiesHeading01} + +
+
+

{data?.oportunitiesDesc01}

+
+
    +
  • + DUIS AUTE +
  • +
  • + Excepteur sint +
  • +
  • + Sunt in culpa +
  • +
  • + Qui oficia +
  • +
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut - enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-

- Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
-
    -
  • - DUIS AUTE -
  • -
  • - Excepteur sint -
  • -
  • - Sunt in culpa -
  • -
  • - Qui oficia -
  • -
-
- - Service Providers - + validators +
+
+ + {data?.oportunitiesHeading02} + +
+
+

{data?.oportunitiesDesc02}

+
+
    +
  • + DUIS AUTE +
  • +
  • + Excepteur sint +
  • +
  • + Sunt in culpa +
  • +
  • + Qui oficia +
  • +
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut - enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-

- Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
-
    -
  • - DUIS AUTE -
  • -
  • - Excepteur sint -
  • -
  • - Sunt in culpa -
  • -
  • - Qui oficia -
  • -
-
- - Developers - + validators +
+
+ + {data?.oportunitiesHeading03} + +
+
+

{data?.oportunitiesDesc03}

+
+
    +
  • + DUIS AUTE +
  • +
  • + Excepteur sint +
  • +
  • + Sunt in culpa +
  • +
  • + Qui oficia +
  • +
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut - enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-

- Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
-
    -
  • - DUIS AUTE -
  • -
  • - Excepteur sint -
  • -
  • - Sunt in culpa -
  • -
  • - Qui oficia -
  • -
-
- - Investors - + validators +
+
+ + {data?.oportunitiesHeading04} + +
+
+

{data?.oportunitiesDesc04}

+
+
    +
  • + DUIS AUTE +
  • +
  • + Excepteur sint +
  • +
  • + Sunt in culpa +
  • +
  • + Qui oficia +
  • +
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut - enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-

- Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
-
    -
  • - DUIS AUTE -
  • -
  • - Excepteur sint -
  • -
  • - Sunt in culpa -
  • -
  • - Qui oficia -
  • -
-
- - Incentivized Testnet - + validators +
+
+ + {data?.oportunitiesHeading05} + +
+
+

{data?.oportunitiesDesc05}

+
+
    +
  • + DUIS AUTE +
  • +
  • + Excepteur sint +
  • +
  • + Sunt in culpa +
  • +
  • + Qui oficia +
  • +
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut - enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. -

-

- Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
-
    -
  • - DUIS AUTE -
  • -
  • - Excepteur sint -
  • -
  • - Sunt in culpa -
  • -
  • - Qui oficia -
  • -
diff --git a/src/lib/cms/queries/partners.js b/src/lib/cms/queries/partners.js new file mode 100644 index 0000000..e05f34b --- /dev/null +++ b/src/lib/cms/queries/partners.js @@ -0,0 +1,56 @@ +const PartnersHero = { + query: ` + { + partnersPage { + heroHeading + heroParagraph01 + heroParagraph02 + } + }` +} + +const PartnersOportunities = { + query: ` + { + partnersPage { + oportunitiesDesc01 + oportunitiesDesc02 + oportunitiesDesc03 + oportunitiesDesc04 + oportunitiesDesc05 + oportunitiesHeading01 + oportunitiesHeading02 + oportunitiesHeading03 + oportunitiesHeading04 + oportunitiesHeading05 + } + }` +} + +const PartnersContact = { + query: ` + { + partnersPage { + contactCompanyLabel + contactCompanyPlaceholder + contactDescription + contactEmailLabel + contactEmailPlaceholder + contactFormHeading + contactFormWarning + contactHeading + contactInquiryLabel + contactInquiryPlaceholder + contactLegalLabel + contactLegalPlaceholder + contactMsgLabel + contactMsgPlaceholder + contactNameLabel + contactNamePlaceholder + contactRoleLabel + contactRolePlaceholder + contactButtonLabel + } + }` +} +export { PartnersContact, PartnersHero, PartnersOportunities } diff --git a/src/pages/partners.tsx b/src/pages/partners.tsx index bca0eb1..5fe3453 100644 --- a/src/pages/partners.tsx +++ b/src/pages/partners.tsx @@ -11,6 +11,11 @@ import Contact from '~/components/sections/partners/contact' import Hero from '~/components/sections/partners/hero' import Opportunities from '~/components/sections/partners/opportunities' import { HomeOthers, Testimonials } from '~/lib/cms/queries/home' +import { + PartnersContact, + PartnersHero, + PartnersOportunities +} from '~/lib/cms/queries/partners' import { request } from '../lib/datocms' @@ -22,16 +27,22 @@ export const getStaticProps = async () => { const heroBlogPost = allBlogPosts.data[0] - const [othersData, testimonialsData] = await Promise.all([ - request(HomeOthers), - - request(Testimonials) - ]) + const [othersData, testimonialsData, heroData, contactData, optData] = + await Promise.all([ + request(HomeOthers), + request(Testimonials), + request(PartnersHero), + request(PartnersContact), + request(PartnersOportunities) + ]) return { props: { othersData: othersData?.homePage, testimonialsData: testimonialsData?.allTestimonials, + heroData: heroData?.partnersPage, + contactData: contactData?.partnersPage, + optData: optData?.partnersPage, initialBlogPosts: { pagination: allBlogPosts.pagination, data: allBlogPosts.data.slice(0, 3) @@ -48,19 +59,17 @@ export const getStaticProps = async () => { const Careers = ({ othersData, - testimonialsData + testimonialsData, + heroData, + contactData, + optData }: InferGetStaticPropsType) => { return ( - - - - + + + + )