feat: move RealWorldExamples section to bottom
Position real-world examples near call-to-action areas. #VERCEL_SKIP Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
This commit is contained in:
parent
af9eecf02a
commit
20c30f166d
|
|
@ -10,10 +10,10 @@ export default function Home() {
|
||||||
return (
|
return (
|
||||||
<main className="min-h-screen">
|
<main className="min-h-screen">
|
||||||
<Hero />
|
<Hero />
|
||||||
<RealWorldExamples />
|
|
||||||
<Features />
|
<Features />
|
||||||
<Philosophy />
|
<Philosophy />
|
||||||
<HowItWorks />
|
<HowItWorks />
|
||||||
|
<RealWorldExamples />
|
||||||
<Network />
|
<Network />
|
||||||
<Footer />
|
<Footer />
|
||||||
</main>
|
</main>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,13 @@ import { Card } from "@/components/ui/card"
|
||||||
import { MessageSquare, FolderOpen, Shield, BarChart3, Coins, Lock } from "lucide-react"
|
import { MessageSquare, FolderOpen, Shield, BarChart3, Coins, Lock } from "lucide-react"
|
||||||
|
|
||||||
const features = [
|
const features = [
|
||||||
|
{
|
||||||
|
icon: Coins,
|
||||||
|
title: "Shared Funds",
|
||||||
|
description: "Allocate and manage community resources through transparent, customizable controls.",
|
||||||
|
color: "text-primary",
|
||||||
|
bgColor: "bg-primary/10",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
icon: MessageSquare,
|
icon: MessageSquare,
|
||||||
title: "Secure Messaging",
|
title: "Secure Messaging",
|
||||||
|
|
@ -24,13 +31,6 @@ const features = [
|
||||||
color: "text-accent",
|
color: "text-accent",
|
||||||
bgColor: "bg-accent/10",
|
bgColor: "bg-accent/10",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
icon: Coins,
|
|
||||||
title: "Shared Funds",
|
|
||||||
description: "Allocate and manage community resources through transparent, multi-sig controls.",
|
|
||||||
color: "text-primary",
|
|
||||||
bgColor: "bg-primary/10",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
icon: BarChart3,
|
icon: BarChart3,
|
||||||
title: "Interactive Dashboards",
|
title: "Interactive Dashboards",
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export function Hero() {
|
||||||
<div className="mb-8 flex justify-center">
|
<div className="mb-8 flex justify-center">
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<div className="absolute inset-0 animate-pulse blur-2xl bg-primary/30" />
|
<div className="absolute inset-0 animate-pulse blur-2xl bg-primary/30" />
|
||||||
<div className="absolute -inset-4 animate-pulse blur-3xl bg-accent/20 glitter" />
|
|
||||||
<div className="relative text-center">
|
<div className="relative text-center">
|
||||||
<div className="text-xl font-semibold text-muted-foreground mb-2 sm:text-2xl">Welcome to</div>
|
<div className="text-xl font-semibold text-muted-foreground mb-2 sm:text-2xl">Welcome to</div>
|
||||||
<h1 className="text-5xl font-bold tracking-tight sm:text-6xl lg:text-8xl retro-shadow">
|
<h1 className="text-5xl font-bold tracking-tight sm:text-6xl lg:text-8xl retro-shadow">
|
||||||
|
|
@ -24,23 +24,31 @@ export function Hero() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mx-auto max-w-3xl space-y-4">
|
<div className="mx-auto mb-8 max-w-3xl">
|
||||||
<p className="text-2xl font-bold leading-relaxed text-primary sm:text-3xl text-balance">
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mx-auto mt-16 mb-1 max-w-3xl">
|
||||||
|
<p className="text-2xl font-bold leading-relaxed text-foreground sm:text-3xl text-balance">
|
||||||
Remember back when the internet was <span className="text-accent">cool</span>?
|
Remember back when the internet was <span className="text-accent">cool</span>?
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mx-auto max-w-3xl space-y-2">
|
||||||
|
|
||||||
<p className="text-3xl font-bold leading-relaxed text-balance sm:text-3xl">
|
<p className="text-3xl font-bold leading-relaxed text-balance sm:text-3xl">
|
||||||
We may not have <em>my</em>space anymore, but we have{" "}
|
We may not have <em className="">{"My"}</em>space anymore, but we have
|
||||||
<span className="drop-shadow-[0_0_10px_oklch(0.72_0.19_45)] text-primary">(ou)r</span>
|
|
||||||
<span className="text-foreground">Space</span>
|
|
||||||
</p>
|
|
||||||
<p className="font-bold leading-relaxed text-balance text-2xl">
|
|
||||||
<span className="text-muted-foreground">(and it's </span>
|
|
||||||
<span className="text-secondary drop-shadow-[0_0_10px_oklch(0.72_0.19_45)]">online</span>
|
|
||||||
<span className="text-muted-foreground">)</span>
|
|
||||||
</p>
|
</p>
|
||||||
|
<div className="flex items-end justify-center gap-2">
|
||||||
|
<p className="text-4xl font-bold leading-relaxed text-balance sm:text-4xl">
|
||||||
|
<span className="drop-shadow-[0_0_10px_oklch(0.72_0.19_45)] text-primary">(ou)r</span>
|
||||||
|
<span className="text-foreground">Space</span>
|
||||||
|
</p>
|
||||||
|
<p className="text-sm font-bold leading-relaxed text-balance">
|
||||||
|
<span className="text-muted-foreground">(and it's </span>
|
||||||
|
<span className="text-secondary drop-shadow-[0_0_10px_oklch(0.72_0.19_45)]">online</span>
|
||||||
|
<span className="text-muted-foreground">)</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p className="mx-auto mt-8 max-w-2xl text-lg leading-relaxed text-muted-foreground sm:text-xl">
|
<p className="mx-auto mt-8 max-w-2xl text-lg leading-relaxed text-muted-foreground sm:text-xl">
|
||||||
|
|
|
||||||
|
|
@ -1,57 +1,3 @@
|
||||||
import { Card } from "@/components/ui/card"
|
|
||||||
import { MapPin, Snowflake, Sprout, Users, Calendar, Coins } from "lucide-react"
|
|
||||||
|
|
||||||
const examples = [
|
|
||||||
{
|
|
||||||
icon: MapPin,
|
|
||||||
title: "Litter Cleanup Bounties",
|
|
||||||
description:
|
|
||||||
"Map trash hotspots in your neighborhood, set bounties for cleanup tasks, track progress on an interactive dashboard, and reward community members who pitch in.",
|
|
||||||
color: "text-primary",
|
|
||||||
bgColor: "bg-primary/10",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: Snowflake,
|
|
||||||
title: "Snow Shoveling Co-op",
|
|
||||||
description:
|
|
||||||
"Elderly neighbors need help? Create a schedule, assign volunteers, track completed driveways, and manage community appreciation funds—all in your rspace.",
|
|
||||||
color: "text-secondary",
|
|
||||||
bgColor: "bg-secondary/10",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: Sprout,
|
|
||||||
title: "Lawn Care Exchange",
|
|
||||||
description:
|
|
||||||
"Trade services with neighbors: mow a lawn, earn credits for garden help. Track commitments, share equipment calendars, and build real community connections.",
|
|
||||||
color: "text-accent",
|
|
||||||
bgColor: "bg-accent/10",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: Users,
|
|
||||||
title: "Community Tool Library",
|
|
||||||
description:
|
|
||||||
"Share tools collectively. Schedule borrowing, track inventory, split maintenance costs through shared funds, and reduce waste by owning things together.",
|
|
||||||
color: "text-primary",
|
|
||||||
bgColor: "bg-primary/10",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: Calendar,
|
|
||||||
title: "Neighborhood Events",
|
|
||||||
description:
|
|
||||||
"Plan block parties, potlucks, or skill-sharing workshops. Poll for dates, coordinate food signups, and manage event budgets transparently.",
|
|
||||||
color: "text-secondary",
|
|
||||||
bgColor: "bg-secondary/10",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: Coins,
|
|
||||||
title: "Local Mutual Aid",
|
|
||||||
description:
|
|
||||||
"Pool resources for emergency support. Transparent fund management, democratic decision-making on aid distribution, all with zero-knowledge privacy.",
|
|
||||||
color: "text-accent",
|
|
||||||
bgColor: "bg-accent/10",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function RealWorldExamples() {
|
export function RealWorldExamples() {
|
||||||
return (
|
return (
|
||||||
<section className="border-b-4 border-secondary bg-muted/30 py-24">
|
<section className="border-b-4 border-secondary bg-muted/30 py-24">
|
||||||
|
|
@ -62,36 +8,10 @@ export function RealWorldExamples() {
|
||||||
</h2>
|
</h2>
|
||||||
<p className="mt-6 text-xl text-muted-foreground max-w-3xl mx-auto leading-relaxed">
|
<p className="mt-6 text-xl text-muted-foreground max-w-3xl mx-auto leading-relaxed">
|
||||||
rSpaces aren't just for chatting online—they're tools for making your{" "}
|
rSpaces aren't just for chatting online—they're tools for making your{" "}
|
||||||
<span className="font-semibold text-foreground">real neighborhood</span> better. Here's how communities are
|
<span className="font-semibold text-foreground">real neighborhood</span> better.
|
||||||
already using them:
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-16 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
|
||||||
{examples.map((example, index) => {
|
|
||||||
const Icon = example.icon
|
|
||||||
return (
|
|
||||||
<Card
|
|
||||||
key={index}
|
|
||||||
className="group relative overflow-hidden border-2 border-border bg-card p-6 transition-all hover:border-primary hover:-translate-y-1 hover:retro-shadow-sm"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className={`absolute inset-0 ${example.bgColor} opacity-0 transition-opacity group-hover:opacity-100`}
|
|
||||||
/>
|
|
||||||
<div className="relative">
|
|
||||||
<div
|
|
||||||
className={`mb-4 inline-flex rounded-lg ${example.bgColor} p-3 ${example.color} border-2 border-current`}
|
|
||||||
>
|
|
||||||
<Icon className="h-7 w-7" />
|
|
||||||
</div>
|
|
||||||
<h3 className="mb-3 text-xl font-bold text-card-foreground">{example.title}</h3>
|
|
||||||
<p className="text-sm leading-relaxed text-muted-foreground">{example.description}</p>
|
|
||||||
</div>
|
|
||||||
</Card>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mt-16 text-center">
|
<div className="mt-16 text-center">
|
||||||
<div className="inline-block rounded-lg border-2 border-accent bg-accent/10 px-6 py-4 backdrop-blur-sm retro-shadow-sm">
|
<div className="inline-block rounded-lg border-2 border-accent bg-accent/10 px-6 py-4 backdrop-blur-sm retro-shadow-sm">
|
||||||
<p className="text-lg font-semibold text-foreground">
|
<p className="text-lg font-semibold text-foreground">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue