Gateway Protocol Status
+ LIVE +Gateway Docs Version
+1.0.1
+ +
+ Gateway is the foundation to securely create, own, manage,
+ and verify private data assets (PDAs) across the digital world.
+
+ All you need to know to
+ start you journey
+
{card.description}
+ + ))} +{card.description}
+ + ))} +
+ We have built the technology needed to facilitate
regulatory
+ compliant data sharing, ownership, and usage
that was never
+ possible before.
+
+ © 2023 Gateway Inc. All rights reserved. +
+ ++ Subscribe to our newsletter +
++ Receive news about developments and updates. +
+ + setEmail(e.target.value)} + /> + + +
+ Gateway powers private data usage across the web
+ for organizations, users, and applications.
+
{step.text}
+{step.text}
+(textPdasParagraphRefs.current[0] = ref)} + > + (textPdasRefs.current[0] = ref)}> + Private Data Assets (PDAs) + + (slashRefs.current[0] = ref)} + > + _ + +
+(textPdasParagraphRefs.current[1] = ref)} + > + (textPdasRefs.current[1] = ref)}> + The key to sovereignty across the web. Turn raw data into + encrypted, secure, portable, and publicly verifiable assets. + + (slashRefs.current[1] = ref)} + > + _ + +
+(textPdasParagraphRefs.current[0] = ref)} + > + (textPdasRefs.current[0] = ref)}> + Private Data Assets (PDAs) + + (slashRefs.current[0] = ref)} + > + _ + +
+(textPdasParagraphRefs.current[1] = ref)} + > + (textPdasRefs.current[1] = ref)}> + The key to sovereignty across the web. Turn raw data into + encrypted, secure, portable, and publicly verifiable assets. + + (slashRefs.current[1] = ref)} + > + _ + +
+{children}
; +} diff --git a/src/app/(landing)/learn/components/hero/hero.module.scss b/src/app/(landing)/learn/components/hero/hero.module.scss new file mode 100644 index 000000000..0678741d5 --- /dev/null +++ b/src/app/(landing)/learn/components/hero/hero.module.scss @@ -0,0 +1,267 @@ +.element { + background-color: #e6d5fa; + padding-top: 185px; + padding-bottom: 200px; + overflow: hidden; + + @media (max-width: 599px) { + padding-bottom: 61px; + } +} + +.title { + color: rgba(0, 0, 0, 0.87); + font-size: 82px; + font-style: normal; + font-weight: 400; + line-height: 82px; + letter-spacing: 0.412px; + padding-bottom: 87px; + + strong { + color: #771ac9; + font-weight: 400; + } + + @media (max-width: 969px) { + br { + display: none; + } + } + + @media (max-width: 599px) { + font-size: 36px; + font-style: normal; + font-weight: 400; + line-height: 36px; + letter-spacing: 0.412px; + padding-bottom: 56px; + } +} + +.title { + margin: 0; +} + +.concepts_head { + align-items: center; + display: flex; + justify-content: space-between; + flex-wrap: wrap; + margin-bottom: 40px; + width: 100%; +} + +.concepts_title { + color: rgba(0, 0, 0, 0.87); + font-size: 20px; + font-weight: 400; + line-height: 28px; + letter-spacing: 0.412px; +} + +.concepts_buttons { + display: flex; + + @media (max-width: 599px) { + display: none; + } +} + +.concepts_link, +.solutions_link { + button { + border-color: #771ac9; + color: #771ac9; + padding: 8px 22px; + + &:hover { + color: #fff; + } + } + + &:not(:last-child) { + margin-right: 8px; + } +} + +.concepts { + display: flex; + justify-content: space-between; + padding-bottom: 80px; + margin-bottom: 40px; + position: relative; + + &:after { + background-color: rgba(0, 0, 0, 0.5); + bottom: 0; + content: ''; + height: 1px; + left: 0; + opacity: 0.4; + position: absolute; + width: 100%; + } + + @media (max-width: 599px) { + display: none; + } +} + +.mobile_concepts { + display: none; + padding-bottom: 56px; + margin-bottom: 56px; + position: relative; + + &:after { + background-color: rgba(0, 0, 0, 0.5); + bottom: 0; + content: ''; + height: 1px; + left: 0; + opacity: 0.4; + position: absolute; + width: 100%; + } + + @media (max-width: 599px) { + display: block; + } +} + +.card { + background-color: #771ac9; + border-radius: 16px; + padding: 30px 20px; + transition: background-color 0.8s ease; + text-decoration: none; + + &--concept { + height: 368px; + width: calc(33% - 12px); + + @media (max-width: 1199px) and (min-width: 600px) { + height: 260px; + } + + @media (max-width: 599px) { + height: 280px; + margin-right: 12px; + width: 70vw !important; + } + } + + &--solution { + height: 227px; + width: calc(50% - 12px); + + @media (max-width: 599px) { + height: 280px; + width: 100%; + + &:not(:last-child) { + margin-bottom: 12px; + } + } + } + + &:hover { + background-color: #591597; + } +} + +.card_container { + display: flex; + flex-direction: column; + height: 100%; + justify-content: space-between; + position: relative; + word-wrap: 100%; +} + +.card_title { + color: #e6d5fa; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 26px; + letter-spacing: 0.46px; + margin: 0; +} + +.card_description { + color: #fff; + font-size: 24px; + font-style: normal; + font-weight: 400; + line-height: 33.6px; + letter-spacing: 0.412px; + margin: 0; +} + +.solutions_title { + color: rgba(0, 0, 0, 0.87); + font-size: 48px; + font-style: normal; + font-weight: 400; + line-height: 67.2px; + letter-spacing: 0.412px; + margin-top: 0; + margin-bottom: 20px; + + @media (max-width: 599px) { + font-size: 34px; + font-style: normal; + font-weight: 400; + line-height: 50.4px; + letter-spacing: 0.412px; + } +} + +.solutions_subtitle { + color: rgba(0, 0, 0, 0.6); + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 28px; + letter-spacing: 0.412px; + margin-top: 0; + margin-bottom: 60px; + + @media (max-width: 599px) { + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 22.4px; + letter-spacing: 0.412px; + margin-bottom: 40px; + + br { + display: none; + } + } +} + +.solutions_cards_container { + display: flex; + justify-content: space-between; + margin-bottom: 40px; + + @media (max-width: 599px) { + flex-direction: column; + justify-content: initial; + } +} + +.mobile_comcepts_buttons { + margin-top: 24px; + + a { + display: block; + + &:not(:last-child) { + margin-bottom: 12px; + } + } +} diff --git a/src/app/(landing)/learn/components/hero/index.tsx b/src/app/(landing)/learn/components/hero/index.tsx new file mode 100644 index 000000000..27844e877 --- /dev/null +++ b/src/app/(landing)/learn/components/hero/index.tsx @@ -0,0 +1,179 @@ +import { useRef } from 'react'; + +import Button from '@/app/(landing)/components/button'; +import Wrapper from '@/app/(landing)/components/wrapper'; +import useHeaderVariantDetection from '@/app/(landing)/hooks/use-header-variant-detection'; +import { joinClasses } from '@/app/(landing)/utils/function'; +import GTWLink from '@/components/gtw-link'; +import Slider from 'react-slick'; + +import styles from './hero.module.scss'; +import { DOCS_BASE_URL } from '@/constants/docs'; +import routes from '@/constants/routes'; + +const conceptsCards = [ + { + title: 'Getting Started', + description: 'Learn the basics of our protocol', + href: `${DOCS_BASE_URL}docs/what-is-the-gatewayprotocol`, + target: '_blank', + }, + { + title: 'Architecture', + description: 'How the protocol is structured', + href: routes.build, + target: '_self', + }, + { + title: 'API', + description: 'Use GraphQL API to power your applications', + href: `${DOCS_BASE_URL}graphql`, + target: '_blank', + }, +]; + +const solutionsCards = [ + { + title: 'Sample Data Models', + description: + 'Read through various data models we suggest you can build and use.', + href: `${DOCS_BASE_URL}docs/data-model`, + }, + { + title: 'Automate Issuance', + description: 'SDK integration step-by-step', + href: `${DOCS_BASE_URL}docs/start-issuing`, + }, +]; + +export default function Hero() { + const sectionRef = useRef+ The basic concepts to play with Gateway +
+ +{card.description}
+{card.description}
+
+ We create different solutions with our protocol to help
+ organizations find the one that fits better to their context.
+
{card.description}
+
+ We create different solutions with our protocol to help
+ organizations find the one that fits better to their context.
+
+ {product.description} +
+ + ))} +{protocol.description}
+ + ))} ++ {feature.description} +
+{highlight.text}
++ {highlight.info.description} +
+ +nada ainda
} -