From 21fcb26f45312dc9f0bbe1b6cdf55d29443367ed Mon Sep 17 00:00:00 2001 From: iverly Date: Tue, 24 Oct 2023 08:46:30 +0200 Subject: [PATCH 1/4] feat(landing): add hero component Signed-off-by: iverly --- components/hero.tsx | 85 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 13 +++---- pages/index.mdx | 14 +++----- pnpm-lock.yaml | 9 +++-- style.css | 41 ++++++++++++++++++++++ 5 files changed, 143 insertions(+), 19 deletions(-) create mode 100644 components/hero.tsx diff --git a/components/hero.tsx b/components/hero.tsx new file mode 100644 index 0000000..1d89db5 --- /dev/null +++ b/components/hero.tsx @@ -0,0 +1,85 @@ +import Link from 'next/link'; + +export default function Hero() { + return ( +
+ {/* Illustration behind hero content */} + + +
+ {/* Hero content */} +
+ {/* Section header */} +
+

+ Crafted in{' '} + + Rust + + , Honed for{' '} + + Speed + {' '} + ! +

+
+

+ Experience the fusion of robustness and performance in + serverless computing with Faast. +

+
+
+ + Get started + +
+
+
+
+
+
+
+ ); +} diff --git a/package.json b/package.json index 79d3bef..2c6ea4b 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "lint:prettier": "prettier --cache --check --ignore-path .gitignore --ignore-path .prettierignore ." }, "dependencies": { + "@headlessui/react": "^1.7.17", "next": "^13.0.6", "nextra": "latest", "nextra-theme-docs": "latest", @@ -18,15 +19,12 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/node": "18.11.10", - "autoprefixer": "^10.4.16", - "postcss": "^8.4.31", - "tailwindcss": "^3.3.3", - "typescript": "^4.9.3", "@ianvs/prettier-plugin-sort-imports": "4.1.0", "@next/eslint-plugin-next": "13.5.4", + "@types/node": "18.11.10", "@typescript-eslint/eslint-plugin": "6.7.4", "@typescript-eslint/parser": "6.7.4", + "autoprefixer": "^10.4.16", "eslint": "8.51.0", "eslint-config-prettier": "9.0.0", "eslint-plugin-import": "2.28.1", @@ -35,9 +33,12 @@ "eslint-plugin-tailwindcss": "3.13.0", "eslint-plugin-typescript-sort-keys": "3.0.0", "eslint-plugin-unicorn": "48.0.1", + "postcss": "^8.4.31", "prettier": "3.0.3", "prettier-plugin-pkg": "0.18.0", - "prettier-plugin-tailwindcss": "0.5.5" + "prettier-plugin-tailwindcss": "0.5.5", + "tailwindcss": "^3.3.3", + "typescript": "^4.9.3" }, "repository": { "type": "git", diff --git a/pages/index.mdx b/pages/index.mdx index ad63851..64b6d59 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -4,14 +4,8 @@ title: Faast - A Serverless runtime in Rust import Link from 'next/link'; -
-
-

- Make beautiful websites
- with Next.js & MDX -

- - Get started - -
+import Hero from '../components/hero'; + +
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8d33ff..2146fe5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@headlessui/react': + specifier: ^1.7.17 + version: 1.7.17(react-dom@18.2.0)(react@18.2.0) next: specifier: ^13.0.6 version: 13.0.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0) @@ -316,8 +319,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@headlessui/react@1.7.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1m66h/5eayTEZVT2PI13/2PG3EVC7a9XalmUtVSC8X76pcyKYMuyX1XAL2RUtCr8WhoMa/KrDEyoeU5v+kSQOw==} + /@headlessui/react@1.7.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 @@ -3558,7 +3561,7 @@ packages: react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: - '@headlessui/react': 1.7.10(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) '@popperjs/core': 2.11.6 clsx: 1.2.1 flexsearch: 0.7.31 diff --git a/style.css b/style.css index b5c61c9..027e210 100644 --- a/style.css +++ b/style.css @@ -1,3 +1,44 @@ @tailwind base; @tailwind components; @tailwind utilities; + +/* Typography */ +.h1 { + @apply text-4xl font-extrabold leading-tight tracking-tighter; +} + +.h2 { + @apply text-3xl font-extrabold leading-tight tracking-tighter; +} + +.h3 { + @apply text-3xl font-bold leading-tight; +} + +.h4 { + @apply text-2xl font-bold leading-snug tracking-tight; +} + +@screen md { + .h1 { + @apply text-5xl; + } + + .h2 { + @apply text-4xl; + } +} + +/* Buttons */ +.btn, +.btn-sm { + @apply inline-flex items-center justify-center rounded border border-transparent font-medium leading-snug transition duration-150 ease-in-out; +} + +.btn { + @apply px-8 py-3 shadow-lg; +} + +.btn-sm { + @apply px-4 py-2 shadow; +} From 3b56b246fe0b45ba02e0ac10008563914ab61e34 Mon Sep 17 00:00:00 2001 From: iverly Date: Tue, 24 Oct 2023 08:52:11 +0200 Subject: [PATCH 2/4] feat(landing): add features component Signed-off-by: iverly --- components/features.tsx | 169 ++++++++++++++++++++++++++++++++++ pages/index.mdx | 2 + public/images/features-bg.png | Bin 0 -> 45632 bytes 3 files changed, 171 insertions(+) create mode 100644 components/features.tsx create mode 100644 public/images/features-bg.png diff --git a/components/features.tsx b/components/features.tsx new file mode 100644 index 0000000..066f944 --- /dev/null +++ b/components/features.tsx @@ -0,0 +1,169 @@ +import { Transition } from '@headlessui/react'; +import Image from 'next/image'; +import { useEffect, useRef, useState } from 'react'; +import FeaturesBg from '../public/images/features-bg.png'; + +const Tab = ({ title, text, selected, onClick }) => { + return ( + +
+
+ {title} +
+
{text}
+
+
+ + + +
+
+ ); +}; + +const TabImage = ({ selected, heightFix, image }) => { + return ( + heightFix()} + unmount={false} + > +
+ Features bg +
+
+ ); +}; + +export default function Hero() { + const [tab, setTab] = useState(1); + const tabs = useRef(null); + const heightFix = () => { + if (tabs.current?.parentElement) + tabs.current.parentElement.style.height = `${tabs.current.clientHeight}px`; + }; + + useEffect(() => { + heightFix(); + }, []); + + return ( +
+ {/* Section background (needs .relative class on parent and next sibling elements) */} + +
+ +
+
+ {/* Section header */} +
+

Explore the solutions

+

+ Experience seamless integration, swift deployments, and the power + of FaaS out of the box. Elevate your serverless journey with us. +

+
+ + {/* Section content */} +
+ {/* Content */} +
+
+

Powerful suite of tools

+
+ {/* Tabs buttons */} +
+ { + e.preventDefault(); + setTab(1); + }} + /> + { + e.preventDefault(); + setTab(2); + }} + /> + { + e.preventDefault(); + setTab(3); + }} + /> +
+
+ + {/* Tabs items */} +
+
+
+ + + +
+
+
+
+
+
+
+ ); +} diff --git a/pages/index.mdx b/pages/index.mdx index 64b6d59..f3885d4 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -4,8 +4,10 @@ title: Faast - A Serverless runtime in Rust import Link from 'next/link'; +import Features from '../components/features'; import Hero from '../components/hero';
+
diff --git a/public/images/features-bg.png b/public/images/features-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e779850992199d5cabe86d93570294f14bd9b6 GIT binary patch literal 45632 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%0DXV201Lit_jQfQdc!( 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 Date: Mon, 23 Oct 2023 16:53:11 +0200 Subject: [PATCH 3/4] feat(landing): add testimonials component Signed-off-by: iverly --- components/testimonials.tsx | 124 +++++++++++++++++++ pages/index.mdx | 2 + public/images/logos/polycode.png | Bin 0 -> 6134 bytes public/images/logos/polytech-montpellier.png | Bin 0 -> 11226 bytes public/images/testimonial.jpg | Bin 0 -> 9229 bytes 5 files changed, 126 insertions(+) create mode 100644 components/testimonials.tsx create mode 100644 public/images/logos/polycode.png create mode 100644 public/images/logos/polytech-montpellier.png create mode 100644 public/images/testimonial.jpg diff --git a/components/testimonials.tsx b/components/testimonials.tsx new file mode 100644 index 0000000..383cf7f --- /dev/null +++ b/components/testimonials.tsx @@ -0,0 +1,124 @@ +import Image from 'next/image'; +import PolycodeLogo from '../public/images/logos/polycode.png'; +import PolytechMontpellierLogo from '../public/images/logos/polytech-montpellier.png'; +import TestimonialImage from '../public/images/testimonial.jpg'; + +export default function Testimonials() { + return ( +
+ {/* Illustration behind content */} + + +
+
+ {/* Section header */} +
+

+ Trusted by the community all over the world +

+
+ + {/* Items */} +
+ {/* Item */} +
+ Testimonial 01 +
+
+ Testimonial 02 +
+
+ + {/* Testimonials */} +
+
+ {/* Testimonial */} +
+
+ + Testimonial 01 +
+
+ "The self-hosted and open-source nature of Faast made it a + seamless fit for our infrastructure, granting us the + flexibility we craved without compromising on performance. + It's not just a FaaS; it's a fast, dependable, and + customizable engine that stands in a league of its own." +
+ + Maxime F. + +
+ Developer{' '} + + @Polycode + +
+
+
+
+
+
+
+ ); +} diff --git a/pages/index.mdx b/pages/index.mdx index f3885d4..d896f57 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -6,8 +6,10 @@ import Link from 'next/link'; import Features from '../components/features'; import Hero from '../components/hero'; +import Testimonials from '../components/testimonials';
+
diff --git a/public/images/logos/polycode.png b/public/images/logos/polycode.png new file mode 100644 index 0000000000000000000000000000000000000000..eebf119bc56db0358bf134442cdca915f617dfaf GIT binary patch literal 6134 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 literal 0 HcmV?d00001 diff --git a/public/images/logos/polytech-montpellier.png b/public/images/logos/polytech-montpellier.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5d1c2b3c0544da5fb82ea78bdb7862ed2e2885 GIT binary patch literal 11226 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 literal 0 HcmV?d00001 diff --git a/public/images/testimonial.jpg b/public/images/testimonial.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c36d2c48a351560f842557d4b89facee6b8e150 GIT binary patch literal 9229 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 literal 0 HcmV?d00001 From 0eb0abca77e6c367287c34c459baffd42c1d2054 Mon Sep 17 00:00:00 2001 From: iverly Date: Mon, 23 Oct 2023 16:53:32 +0200 Subject: [PATCH 4/4] feat(landing): add cta component Signed-off-by: iverly --- components/cta.tsx | 121 +++++++++++++++++++++++++++++++++++++++++++++ pages/index.mdx | 2 + 2 files changed, 123 insertions(+) create mode 100644 components/cta.tsx diff --git a/components/cta.tsx b/components/cta.tsx new file mode 100644 index 0000000..5423551 --- /dev/null +++ b/components/cta.tsx @@ -0,0 +1,121 @@ +import Link from 'next/link'; + +export default function CTA() { + return ( +
+
+
+ {/* CTA box */} +
+ {/* Background illustration */} + + +
+ {/* CTA content */} +
+

+ Want more tutorials & guides? +

+

+ Dive into a world of knowledge and explore the limitless + possibilities with Faast. +

+ + + Get started + +
+
+
+
+
+
+ ); +} diff --git a/pages/index.mdx b/pages/index.mdx index d896f57..7026c76 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -4,6 +4,7 @@ title: Faast - A Serverless runtime in Rust import Link from 'next/link'; +import CTA from '../components/cta'; import Features from '../components/features'; import Hero from '../components/hero'; import Testimonials from '../components/testimonials'; @@ -12,4 +13,5 @@ import Testimonials from '../components/testimonials'; +