diff --git a/app/layout.tsx b/app/layout.tsx index eff0459..819d6f3 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -19,12 +19,12 @@ const SITE_URL = "https://decleanup.net"; export const metadata: Metadata = { metadataBase: new URL(SITE_URL), - title: "Real cleanups. Real proof. Real impact. | DeCleanup Network", + title: "Cleanups with action. Proof under verified. Fundable impact. | DeCleanup Network", description: "A global platform that verifies environmental cleanups and turns them into measurable, fundable impact.", alternates: { canonical: SITE_URL }, openGraph: { - title: "Real cleanups. Real proof. Real impact. | DeCleanup Network", + title: "Cleanups with action. Proof under verified. Fundable impact. | DeCleanup Network", description: "A global platform that verifies environmental cleanups and turns them into measurable, fundable impact.", url: SITE_URL, @@ -33,7 +33,7 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Real cleanups. Real proof. Real impact. | DeCleanup Network", + title: "Cleanups with action. Proof under verified. Fundable impact. | DeCleanup Network", description: "A global platform that verifies environmental cleanups and turns them into measurable, fundable impact.", }, diff --git a/app/litepaper/page.tsx b/app/litepaper/page.tsx index 2be7e65..348afbc 100644 --- a/app/litepaper/page.tsx +++ b/app/litepaper/page.tsx @@ -4,9 +4,6 @@ import Image from "next/image"; import { Leaf, Info, - BadgeCheck, - TrendingUp, - Users, Building2, RefreshCw, CloudSun, @@ -31,6 +28,7 @@ import { Menu } from "lucide-react"; import TheoryOfChange from "@/components/TheoryOfChange/TheoryOfChange"; +import LitepaperOverviewCards from "@/components/LitepaperOverviewCards/LitepaperOverviewCards"; export const metadata: Metadata = { @@ -105,10 +103,10 @@ export default function LitepaperPage() {
-
Network
-
- - +
Chain
+
+ Base + Celo
@@ -116,48 +114,14 @@ export default function LitepaperPage() { - {/* 1. Overview Cards */} + {/* 1. Overview Cards (flip on click) */}

The Mission

- -
- {/* Card 1 */} -
-
- -
-

Verifiable Data

-

- Transforming invisible cleanup efforts into standardized, onchain evidence. No more "trust me" - only "verify me." -

-
- - {/* Card 2 */} -
-
- -
-

Auditable Impact

-

- Creating specific, traceable records compatible with Hypercerts. Funders can see exactly where capital goes. -

-
- - {/* Card 3 */} -
-
- -
-

Governable Funding

-

- DAO-based allocation of resources using stable assets. Outcome-based funding pools for long-term sustainability. -

-
-
+
@@ -167,44 +131,44 @@ export default function LitepaperPage() {

SDG ALIGNMENT

- UN SUSTAINABLE DEVELOPMENT GOALS + United Nations Sustainable Development Goals
{/* SDG 11 */} -
+
SDG 11

Sustainable
Cities

-
+ {/* SDG 12 */} -
+
SDG 12

Responsible
Consumption

-
+ {/* SDG 13 */} -
+
SDG 13

Climate
Action

-
+ {/* SDG 14 */} -
+
SDG 14

Life Below
Water

-
+ {/* SDG 15 */} -
+
SDG 15

Life On
Land

-
+
@@ -222,7 +186,7 @@ export default function LitepaperPage() { className="flex-1 relative group block" >
-
+
@@ -232,9 +196,9 @@ export default function LitepaperPage() {

Mini App

-

Lightweight entry for individuals via Farcaster or Base app.

+

Lightweight entry for individuals via Farcaster or Base app.

-
+
Photo-based logging @@ -249,7 +213,7 @@ export default function LitepaperPage() {
-
+
Open on Farcaster
@@ -269,7 +233,7 @@ export default function LitepaperPage() { className="flex-1 relative group block" >
-
+
@@ -279,9 +243,9 @@ export default function LitepaperPage() {

Full Platform

-

Full platform for individuals, NGOs and organizers. Governance and coordination.

+

Full platform for individuals, NGOs and organizers. Governance and coordination.

-
+
Geolocation and maps @@ -296,7 +260,7 @@ export default function LitepaperPage() {
-
+
Explore Celo dApp
@@ -352,63 +316,83 @@ export default function LitepaperPage() {
- {/* 5. Tokens */} + {/* 5. Tokens (same shape as tokenomics TWO TOKENS) */}
-

NETWORK TOKENS

- +

TWO TOKENS

{/* $bDCU */}
-
+
$bDCU
-
+
-

$bDCU

- BASE +

Utility token

+ BASE
-
Utility Token
-
{/* $cDCU */}
-
+
$cDCU
-
+
-

$cDCU

- CELO +

Governance

+ CELO
-
Governance
-
    -
  • Reputation Based
  • -
  • Non-speculative
  • -
  • Proposal Voting
  • +

    Reputation, governance & advanced utilities

    +
      +
    • Earned through verified cleanups
    • +
    • Non-tradable (reputation-linked)
    • +
    • Governance via Gardens.fund
    • +
    • Verifier roles, streaks, analytics
    -
    - - CONTRACT COMING SOON -
    +
@@ -424,27 +408,27 @@ export default function LitepaperPage() { {/* Vertical Line for mobile */}
- {/* Phase 1 */} + {/* Phase 1 - Base blue */}
- PHASE 1 + PHASE 1 Live
{/* Node */} -
+
-
-

PHASE 1 - LIVE

+
+

PHASE 1 - LIVE

Foundation

-
Base Mini App
-
$bDCU Rewards
-
Basic Verification
+
Base Mini App
+
$bDCU Rewards
+
Basic Verification
- {/* Phase 2 */} + {/* Phase 2 - Celo yellow */}
PHASE 2 diff --git a/app/toc/page.tsx b/app/toc/page.tsx index b97f0aa..a0d97ac 100644 --- a/app/toc/page.tsx +++ b/app/toc/page.tsx @@ -31,7 +31,6 @@ import { BookOpen, Clock, Target, - ChevronRight, } from "lucide-react"; /* ─── Tiny inline SVG checkmark for lists ─── */ @@ -231,9 +230,6 @@ export default function TocPage() {

{step.label}

{step.desc}

- {i < 4 && ( - - )} ))}
@@ -316,91 +312,138 @@ export default function TocPage() {
- {/* ─── 04 Pathways ─── */} + {/* ─── 04 Pathways (vertical tree) ─── */}
04 - Causal Pathways Four pathways to systemic change

- Each pathway is an independent theory of how one type of intervention produces lasting change. + From shared root to canopy: trust creation is the trunk; coordination and incentives branch in parallel; verification credibility is where institutional trust lives.

-
- {[ - { - pathwayId: "P1", - title: "Trust Creation", - sub: "Simple docs - capital flows", - accent: "green" as const, - steps: [ - "Documentation under 60s", - "Geotag + timestamp", - "Verifiable onchain records", - "Funders gain confidence", - "Capital flows to verified cleanups", - ], - }, - { - pathwayId: "P2", - title: "Coordination Scaling", - sub: "Shared infrastructure - network effects", - accent: "yellow" as const, - steps: [ - "Shared DMRV across regions", - "Common data standards", - "Organizers discover best practices", - "Knowledge transfer", - "Effectiveness improves network-wide", - ], - }, - { - pathwayId: "P3", - title: "Incentive Alignment", - sub: "Recognition - sustained behavior", - accent: "green" as const, - steps: [ - "$bDCU structured recognition", - "Tangible acknowledgment per action", - "Episodic - sustained participation", - "Documentation normalized", - "Data quality improves", - ], - }, - { - pathwayId: "P4", - title: "Verification Credibility", - sub: "AI + human - institutional trust", - accent: "yellow" as const, - steps: [ - "Open source waste detection model", - "AI flags for human review", - "Hybrid reduces fraud", - "Quality = network reputation", - "Partners trust for ESG reporting", - ], - }, - ].map((pw) => ( - -
- - {pw.pathwayId} - -
-

{pw.title}

-

{pw.sub}

+
+ {/* Root: DMRV Infrastructure */} + +
Shared root
+

DMRV Infrastructure

+
+ + {/* Connector ↓ */} +
+
+ +
+ + {/* P1: Trust Creation (trunk) */} + +
+ P1 +
+

Trust Creation

+

Trunk — what makes everything else possible

+
+
+
    + {["Documentation under 60s", "Geotag + timestamp", "Verifiable onchain records", "Funders gain confidence", "Capital flows to verified cleanups"].map((s) => ( +
  • + + {s} +
  • + ))} +
+
+ + {/* Labeled connector: P1 enables scale */} +
+
+

P1 Trust enables shared infrastructure to scale

+
+
+ + {/* Branches: P2 + P3 side by side */} +
+ {/* P2: Coordination */} +
+
+
+
+ +
+ P2 +
+

Coordination

+

Shared infrastructure — network effects

+
+
    + {["Shared DMRV across regions", "Common data standards", "Organizers discover best practices", "Knowledge transfer", "Effectiveness improves network-wide"].map((s) => ( +
  • + + {s} +
  • + ))} +
+
+ → More organizers generate more submissions +
+
+
+ + {/* P3: Incentives */} +
+
+
-
    - {pw.steps.map((s) => ( -
  • - - {s} -
  • - ))} -
- - ))} + +
+ P3 +
+

Incentives

+

Recognition — sustained behavior

+
+
+
    + {["$bDCU structured recognition", "Tangible acknowledgment per action", "Episodic → sustained participation", "Documentation normalized", "Data quality improves"].map((s) => ( +
  • + + {s} +
  • + ))} +
+
+ → Higher volume feeds verification pipeline +
+
+
+
+ + {/* Converge line */} +
+
+

P2 + P3 converge: volume × quality feeds the verification layer

+
+
+ + {/* P4: Verification Credibility (canopy) */} + +
+ P4 +
+

Verification Credibility

+

Canopy — where institutional trust lives

+
+
+
    + {["Open source waste detection model", "AI flags for human review", "Hybrid reduces fraud", "Quality = network reputation", "Partners trust for ESG reporting"].map((s) => ( +
  • + + {s} +
  • + ))} +
+
+ Loops back to P1 +
+
diff --git a/app/tokenomics/page.tsx b/app/tokenomics/page.tsx index f580dc7..67736d9 100644 --- a/app/tokenomics/page.tsx +++ b/app/tokenomics/page.tsx @@ -51,9 +51,10 @@ export default function TokenomicsPage() {
-

Utility Token

+

Utility token

BASE
+

$bDCU

The "action token." Used on Base for:

  • Cleanup rewards
  • diff --git a/components/HeroSection/Hero.tsx b/components/HeroSection/Hero.tsx index 81bce7d..acfb10d 100644 --- a/components/HeroSection/Hero.tsx +++ b/components/HeroSection/Hero.tsx @@ -52,7 +52,7 @@ const Hero = () => { {/* Headline */}

    - Real cleanups. Real proof. Real impact. + Cleanups with action. Proof under verified. Fundable impact.

    {/* Subheadline */} diff --git a/components/HowToTokonizeImpact/TokenizeImpactSection.tsx b/components/HowToTokonizeImpact/TokenizeImpactSection.tsx index 44bdaca..af794e3 100644 --- a/components/HowToTokonizeImpact/TokenizeImpactSection.tsx +++ b/components/HowToTokonizeImpact/TokenizeImpactSection.tsx @@ -6,9 +6,10 @@ import Link from "next/link"; import Image from "next/image"; const steps = [ - { number: "1.", title: "Start a Cleanup" }, - { number: "2.", title: "Capture the Impact" }, - { number: "3.", title: "Earn Rewards" }, + { number: "1.", title: "Capture cleanup area" }, + { number: "2.", title: "Complete cleanup" }, + { number: "3.", title: "Capture the Impact" }, + { number: "4.", title: "Claim Rewards" }, ]; // Placeholder for real cleanup before/after photo diff --git a/components/LitepaperOverviewCards/LitepaperOverviewCards.tsx b/components/LitepaperOverviewCards/LitepaperOverviewCards.tsx new file mode 100644 index 0000000..2f1e772 --- /dev/null +++ b/components/LitepaperOverviewCards/LitepaperOverviewCards.tsx @@ -0,0 +1,99 @@ +"use client"; + +import React, { useState } from "react"; +import { BadgeCheck, ClipboardCheck, Users } from "lucide-react"; + +const cards = [ + { + title: "Verifiable Data", + icon: BadgeCheck, + iconColor: "text-[#58B12F]", + bgColor: "bg-[#58B12F]/10", + borderHover: "hover:border-[#58B12F]/50", + backContent: ( + <> +

    + We turn invisible cleanup efforts into standardized, onchain evidence. No more "trust me"—only "verify me." +

    +

    + Geotagged photos, timestamps, and DMRV create immutable records on Base and Celo—the foundation for rewards, impact products, and ESG reporting. +

    + + ), + }, + { + title: "Auditable Impact", + icon: ClipboardCheck, + iconColor: "text-[#FAFF00]", + bgColor: "bg-[#FAFF00]/10", + borderHover: "hover:border-[#FAFF00]/50", + backContent: ( + <> +

    + Traceable impact records compatible with Hypercerts. Funders see where capital goes and what outcomes it produced. +

    +

    + AI + human verification reduces fraud; impact is attributed to real actors, building reputation and outcome-based funding. +

    + + ), + }, + { + title: "Governable Funding", + icon: Users, + iconColor: "text-blue-400", + bgColor: "bg-blue-500/10", + borderHover: "hover:border-blue-400/50", + backContent: ( + <> +

    + DAO-based allocation using stable assets and impact-linked tokens. Communities and funders decide how capital flows. +

    +

    + Outcome-based pools and Gardens proposals support long-term sustainability; governance is tied to $cDCU and reputation. +

    + + ), + }, +]; + +export default function LitepaperOverviewCards() { + const [flipped, setFlipped] = useState(null); + + return ( +
    + {cards.map((card, index) => { + const isFlipped = flipped === index; + const Icon = card.icon; + return ( + + ); + })} +
    + ); +} diff --git a/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx b/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx index 92e44d9..a722800 100644 --- a/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx +++ b/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx @@ -1,248 +1,9 @@ "use client"; -import React, { useRef, useState } from "react"; +import React from "react"; import Image from "next/image"; -import Link from "next/link"; - -const RoadmapCarousel = ({ roadmap }: { roadmap: Array<{ phase: string; bullets: string[] }> }) => { - const [currentIndex, setCurrentIndex] = useState(0); - const touchStartX = useRef(null); - const touchEndX = useRef(null); - - const goToPrevious = () => { - setCurrentIndex((prev) => (prev === 0 ? roadmap.length - 1 : prev - 1)); - }; - - const goToNext = () => { - setCurrentIndex((prev) => (prev === roadmap.length - 1 ? 0 : prev + 1)); - }; - - // Touch handlers for mobile swipe - const handleTouchStart = (e: React.TouchEvent) => { - touchStartX.current = e.touches[0].clientX; - }; - - const handleTouchMove = (e: React.TouchEvent) => { - touchEndX.current = e.touches[0].clientX; - }; - - const handleTouchEnd = () => { - if (!touchStartX.current || !touchEndX.current) return; - - const distance = touchStartX.current - touchEndX.current; - const minSwipeDistance = 50; - - if (distance > minSwipeDistance) { - // Swipe left - go to next - goToNext(); - } else if (distance < -minSwipeDistance) { - // Swipe right - go to previous - goToPrevious(); - } - - touchStartX.current = null; - touchEndX.current = null; - }; - - return ( -
    - {/* Container with padding to prevent border cutoff */} -
    - {/* Cards Container - Centered with stacked effect */} -
    - {roadmap.map((item, index) => { - const isActive = index === currentIndex; - const offset = index - currentIndex; - const absOffset = Math.abs(offset); - - // Calculate position and scale for stacked cards - let transform = ""; - let zIndex = roadmap.length - absOffset; - let opacity = 1; - - if (isActive) { - transform = "translateX(0) translateY(0)"; - zIndex = roadmap.length + 1; - } else if (offset < 0) { - // Cards to the left - transform = `translateX(${-100 * absOffset - 50}px) translateY(${20 * absOffset}px) scale(${1 - absOffset * 0.1})`; - opacity = Math.max(0.3, 1 - absOffset * 0.2); - } else { - // Cards to the right - transform = `translateX(${100 * absOffset + 50}px) translateY(${20 * absOffset}px) scale(${1 - absOffset * 0.1})`; - opacity = Math.max(0.3, 1 - absOffset * 0.2); - } - - return ( -
    -
    !isActive && setCurrentIndex(index)} - onClick={() => !isActive && setCurrentIndex(index)} - style={{ - transform: isActive ? "scale(1)" : "scale(0.9)", - }} - > -

    - {item.phase} -

    -
      - {item.bullets.map((bullet, idx) => { - // Check if bullet contains a link - const linkMatch = bullet.match(/\(https?:\/\/[^)]+\)/); - if (linkMatch) { - const url = linkMatch[0].slice(1, -1); - const textBefore = bullet.substring(0, bullet.indexOf("(")); - return ( -
    • - - - {textBefore} - e.stopPropagation()} - > - {url} - - -
    • - ); - } - return ( -
    • - - {bullet} -
    • - ); - })} -
    -
    -
    - ); - })} -
    -
    - - {/* Navigation Arrows - Hidden on mobile, visible on desktop */} -
    - - - {/* Dots indicator */} -
    - {roadmap.map((_, index) => ( -
    - - -
    - - {/* Dots indicator for mobile - visible on mobile, hidden on desktop */} -
    - {roadmap.map((_, index) => ( -
    -
    - ); -}; +import { CheckCircle, Clock } from "lucide-react"; const NetworkRoadmapSection = () => { - const roadmap = [ - { - phase: "Phase 1 - Base Mini App (live)", - bullets: [ - "Farcaster mini app for quick cleanups", - "$bDCU rewards on Base", - "Simple logging + basic stats", - ], - }, - { - phase: "Phase 2 - Celo Full dApp (building)", - bullets: [ - "Full dashboard, leaderboard, streaks", - "Impact Products, claim & stake", - "Hypercert minted after every 10 verified cleanups", - ], - }, - { - phase: "Phase 3 - Reputation & Governance", - bullets: [ - "$cDCU as reputation + governance token on Celo", - "Voting on Gardens.fund", - "Cleaner profiles and long-term contribution history", - ], - }, - { - phase: "Phase 4 - Multichain Ecosystem", - bullets: [ - "Base + Celo live side-by-side", - "Integrations with Regen Bazaar and partners", - "New Impact Product levels and impact metrics", - ], - }, - ]; - const galleryImages = [ { src: "/testimonial1.jpg", @@ -269,22 +30,72 @@ const NetworkRoadmapSection = () => { return (
    - {/* Roadmap Section with responsive margins */} -
    -
    - {/* Header */} -
    -

    - Network Roadmap -

    -
    + {/* Roadmap Section - litepaper-style vertical timeline */} +
    +
    +

    + ROADMAP +

    + +
    + {/* Vertical Line for mobile */} +
    + + {/* Phase 1 - Base blue */} +
    +
    + PHASE 1 + Live +
    +
    +
    +

    PHASE 1 - LIVE

    +

    Foundation

    +
    +
    Base Mini App
    +
    $bDCU Rewards
    +
    Basic Verification
    +
    +
    +
    + + {/* Phase 2 - Celo yellow */} +
    +
    + PHASE 2 + In Dev +
    +
    +
    +

    PHASE 2 - IN DEV

    +

    Governance & Celo

    +
    +
    Celo Full dApp
    +
    Impact Products v2
    +
    Hypercert Records
    +
    +
    +
    - {/* Roadmap Carousel */} - + {/* Phase 3 */} +
    +
    + PHASE 3 + Future +
    +
    +
    +

    PHASE 3

    +

    AI verification

    +
    +
    • RWI Rank
    +
    • Impact Staking
    +
    +
    +
    +
    -
    +
    {/* Community Impact Section */}
    - Aligned with the UN Sustainable Development Goals + Aligned with the United Nations Sustainable Development Goals
    {sdgs.map((goal) => ( diff --git a/components/UseDeCleanupToday/UseDeCleanupToday.tsx b/components/UseDeCleanupToday/UseDeCleanupToday.tsx index bd17f32..10bce7f 100644 --- a/components/UseDeCleanupToday/UseDeCleanupToday.tsx +++ b/components/UseDeCleanupToday/UseDeCleanupToday.tsx @@ -39,7 +39,7 @@ const UseDeCleanupToday = () => { className="flex-1 relative group block" >
    -
    +
    @@ -49,9 +49,9 @@ const UseDeCleanupToday = () => {

    Mini App

    -

    Lightweight entry for individuals via Farcaster or Base app.

    +

    Lightweight entry for individuals via Farcaster or Base app.

    -
    +
    Photo-based logging @@ -66,7 +66,7 @@ const UseDeCleanupToday = () => {
    -
    +
    Open on Farcaster
    @@ -80,7 +80,7 @@ const UseDeCleanupToday = () => { className="flex-1 relative group block" >
    -
    +
    @@ -90,9 +90,9 @@ const UseDeCleanupToday = () => {

    Full Platform

    -

    Full platform for individuals, NGOs and organizers. Governance and coordination.

    +

    Full platform for individuals, NGOs and organizers. Governance and coordination.

    -
    +
    Geolocation and maps @@ -107,7 +107,7 @@ const UseDeCleanupToday = () => {
    -
    +
    Explore Celo dApp
    diff --git a/components/WhoIsThisFor/WhoIsThisFor.tsx b/components/WhoIsThisFor/WhoIsThisFor.tsx index e60c139..a70aced 100644 --- a/components/WhoIsThisFor/WhoIsThisFor.tsx +++ b/components/WhoIsThisFor/WhoIsThisFor.tsx @@ -2,48 +2,45 @@ import React from "react"; import Link from "next/link"; const cardBase = - "relative rounded-2xl border bg-gray-900/80 p-6 text-left transition hover:bg-gray-900/90 card-border-glow"; + "relative flex h-full flex-col rounded-2xl border bg-gray-900/80 p-6 text-left transition hover:bg-gray-900/90 card-border-glow"; export default function WhoIsThisFor() { return (
    -

    +

    Who is this for?

    -
    +
    {/* Card 1 - Individuals and communities who clean, care and act */}

    Individuals and communities who clean, care and act

    -

    +

    For those who care about the planet

    -

    +

    Choose how you want to use the app: within other platforms with minimum features or full experience in browser. We’ll show you what you need and where to go.

    -
      +
      • - + Join or organize cleanup actions
      • - + Take photos of the result
      • - + Get recognition and rewards for real impact
      Learn more and begin → @@ -54,30 +51,30 @@ export default function WhoIsThisFor() {

      Web3-native, but impact first

      -

      +

      For those who build and coordinate impact

      -

      +

      Use onchain tools to coordinate cleanups, rewards, and community governance.

      -
        +
        • - + Participate in governance and proposals
        • - + Help shape how impact is verified and rewarded
        • - + Build on open, impact-focused infrastructure
        Dive deeper to the network → @@ -88,30 +85,30 @@ export default function WhoIsThisFor() {

        Capital with intention

        -

        +

        For those who fund real-world impact

        -

        +

        Support verified environmental cleanups and help scale them globally.

        -
          +
          • - + Fund cleanup actions at scale
          • - + Support open verification infrastructure
          • - + Hold tokens connected to real-world impact
          See how funding works →