diff --git a/public/assets/icons/foundation_icons/open.svg b/public/assets/icons/foundation_icons/open.svg new file mode 100644 index 0000000..04dc3bd --- /dev/null +++ b/public/assets/icons/foundation_icons/open.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/assets/icons/foundation_icons/people.svg b/public/assets/icons/foundation_icons/people.svg new file mode 100644 index 0000000..f51ed28 --- /dev/null +++ b/public/assets/icons/foundation_icons/people.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/icons/foundation_icons/planet.svg b/public/assets/icons/foundation_icons/planet.svg new file mode 100644 index 0000000..4f8401d --- /dev/null +++ b/public/assets/icons/foundation_icons/planet.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/assets/icons/foundation_icons/simplicity.svg b/public/assets/icons/foundation_icons/simplicity.svg new file mode 100644 index 0000000..387a00f --- /dev/null +++ b/public/assets/icons/foundation_icons/simplicity.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/ventures/freezone.jpg b/public/images/ventures/freezone.jpg new file mode 100644 index 0000000..21ac35d Binary files /dev/null and b/public/images/ventures/freezone.jpg differ diff --git a/public/images/ventures/geomind.jpg b/public/images/ventures/geomind.jpg new file mode 100644 index 0000000..0d8699c Binary files /dev/null and b/public/images/ventures/geomind.jpg differ diff --git a/public/images/ventures/threefold.jpg b/public/images/ventures/threefold.jpg new file mode 100644 index 0000000..7c0167d Binary files /dev/null and b/public/images/ventures/threefold.jpg differ diff --git a/public/images/ventures/ventures_logo/freezone_logo.png b/public/images/ventures/ventures_logo/freezone_logo.png new file mode 100644 index 0000000..63a969b Binary files /dev/null and b/public/images/ventures/ventures_logo/freezone_logo.png differ diff --git a/public/images/ventures/ventures_logo/geomind_logo.png b/public/images/ventures/ventures_logo/geomind_logo.png new file mode 100644 index 0000000..7b5ba41 Binary files /dev/null and b/public/images/ventures/ventures_logo/geomind_logo.png differ diff --git a/public/images/ventures/ventures_logo/threefold_logo.png b/public/images/ventures/ventures_logo/threefold_logo.png new file mode 100644 index 0000000..ffb4964 Binary files /dev/null and b/public/images/ventures/ventures_logo/threefold_logo.png differ diff --git a/src/app/page.tsx b/src/app/page.tsx index 4cbfbc2..9a1e6a6 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,7 +1,6 @@ import { CallToAction } from '@/components/CallToAction' import { Faqs } from '@/components/Faqs' import { Footer } from '@/components/Footer' -import { HomeAbout } from '@/components/home/HomeAbout' import { Hero } from '@/components/home/Hero' import { HomePrinciples } from '@/components/home/HomePrinciples' import { HomeMilestones } from '@/components/home/HomeMilestones' @@ -10,6 +9,8 @@ import { Quote } from '@/components/Quote' import { HomeStickyHeader } from '@/components/home/HomeStickyHeader' import { FadeInOnView } from '@/components/UI/FadeInOnView' import { About } from '@/components/home/About' +import { Ventures } from '@/components/home/Ventures' +import { Foundation } from '@/components/home/Foundation' export default function Home() { return ( @@ -20,14 +21,20 @@ export default function Home() { - + - - + + + + + + + + diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 5d767dc..5fdae88 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -14,7 +14,10 @@ const variantStyles = { 'bg-slate-900 text-white hover:bg-slate-700 hover:text-slate-100 active:bg-slate-800 active:text-slate-300 focus-visible:outline-slate-900', black: 'bg-black text-white hover:bg-gray-800 hover:text-white active:bg-gray-900 active:text-gray-100 focus-visible:outline-black', - blue: 'bg-blue-600 text-white hover:text-slate-100 hover:bg-blue-500 active:bg-blue-800 active:text-blue-100 focus-visible:outline-blue-600', + blue: + 'bg-blue-600 text-white hover:text-slate-100 hover:bg-blue-500 active:bg-blue-800 active:text-blue-100 focus-visible:outline-blue-600', + green: + 'bg-green text-void hover:bg-green/90 hover:text-void active:bg-green/80 active:text-void focus-visible:outline-green', white: 'bg-white text-black hover:bg-gray-100 hover:text-black active:bg-gray-200 active:text-gray-800 focus-visible:outline-white', radial: @@ -25,6 +28,8 @@ const variantStyles = { 'ring-slate-200 text-slate-700 hover:text-slate-900 hover:ring-slate-300 active:bg-slate-100 active:text-slate-600 focus-visible:outline-blue-600 focus-visible:ring-slate-300', white: 'ring-white text-white hover:ring-slate-500 active:ring-slate-900 active:text-slate-400 focus-visible:outline-white', + green: + 'ring-green text-void hover:ring-green/90 hover:text-void active:ring-green/80 active:text-void focus-visible:outline-green', }, } diff --git a/src/components/UI/Texts.tsx b/src/components/UI/Texts.tsx index 7110e06..7203639 100644 --- a/src/components/UI/Texts.tsx +++ b/src/components/UI/Texts.tsx @@ -102,6 +102,13 @@ export const P = createTextComponent( 'text-base lg:text-xl leading-relaxed', { font: 'sans' } ) + +export const PS = createTextComponent( + 'p', + 'text-base lg:text-lg leading-relaxed', + { font: 'sans' } +) + export const Small = createTextComponent( 'small', 'text-sm font-medium leading-normal tracking-normal' diff --git a/src/components/home/About.tsx b/src/components/home/About.tsx index e353413..04ed511 100644 --- a/src/components/home/About.tsx +++ b/src/components/home/About.tsx @@ -23,7 +23,7 @@ const features = [ export function About() { return ( -
+

diff --git a/src/components/home/Foundation.tsx b/src/components/home/Foundation.tsx new file mode 100644 index 0000000..7aad125 --- /dev/null +++ b/src/components/home/Foundation.tsx @@ -0,0 +1,75 @@ +import Image from 'next/image' +import { H2, H4, CP } from '@/components/UI/Texts' + +const foundations = [ + { + name: 'Planet First', + description: + 'Each initiative supports regeneration and uses natural resources responsibly. Every venture should leave the planet better than it found it.', + iconSrc: '/assets/icons/foundation_icons/planet.svg', + iconAlt: 'Planet First icon', + }, + { + name: 'People First', + description: + 'Empowering people to own their digital lives through shared ownership, governance, and lifelong learning so everyone can participate.', + iconSrc: '/assets/icons/foundation_icons/people.svg', + iconAlt: 'People First icon', + }, + { + name: 'Open & Authentic', + description: + 'By designing tools that are open source and transparent, we help restore trust online and ensure people, information, and systems remain accountable.', + iconSrc: '/assets/icons/foundation_icons/open.svg', + iconAlt: 'Open & Authentic icon', + }, + { + name: 'Simplicity', + description: + 'Our ventures are designed to be modular and autonomous. Anyone should be able to connect, innovate, and contribute without friction.', + iconSrc: '/assets/icons/foundation_icons/simplicity.svg', + iconAlt: 'Simplicity icon', + }, +] + +export function Foundation() { + return ( +
+
+
+
+

+ The Foundation of Every Venture +

+
+ +
+ {foundations.map((foundation) => ( +
+
+
+ {foundation.iconAlt} +
+

{foundation.name}

+
+
+ {foundation.description} +
+
+ ))} +
+
+
+
+ ) +} diff --git a/src/components/home/Ventures.tsx b/src/components/home/Ventures.tsx new file mode 100644 index 0000000..65c9837 --- /dev/null +++ b/src/components/home/Ventures.tsx @@ -0,0 +1,76 @@ +import Image from 'next/image' +import { H2, PS } from '@/components/UI/Texts' +import { Button } from '@/components/Button' + +const ventures = [ + { + src: '/images/ventures/geomind.jpg', + alt: 'Geomind venture', + logoSrc: '/images/ventures/ventures_logo/geomind_logo.png', + logoAlt: 'Geomind logo', + }, + { + src: '/images/ventures/threefold.jpg', + alt: 'ThreeFold venture', + logoSrc: '/images/ventures/ventures_logo/threefold_logo.png', + logoAlt: 'ThreeFold logo', + }, + { + src: '/images/ventures/freezone.jpg', + alt: 'Freezone venture', + logoSrc: '/images/ventures/ventures_logo/freezone_logo.png', + logoAlt: 'Freezone logo', + }, +] + +export function Ventures() { + return ( +
+
+
+
+

+ Meet the Ventures Shaping Our Future +

+
+
+ + All ventures within the OurWorld ecosystem are connected through our shared principles, values, and the aim to bring forward a new era of digital autonomy and self-empowerment. + + +
+
+
+
+ {ventures.map((venture) => ( +
+
+
+ {venture.alt} +
+ {venture.logoAlt} +
+
+
+
+ ))} +
+
+
+
+ ) +}