diff --git a/README.md b/README.md index 6d90bcd..9f6b493 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # DeCleanup Network Landing Page -Welcome to the open-source landing page project for [DeCleanup Network](https://decleanup.net) β€” a decentralized impact movement focused on tokenizing real-world environmental cleanups. +**DeCleanup is an SDG-aligned regenerative impact application.** + +Welcome to the open-source landing page project for [DeCleanup Network](https://decleanup.net) - a decentralized impact movement focused on tokenizing real-world environmental cleanups. ## 🧩 Project Purpose diff --git a/app/docs/page.tsx b/app/docs/page.tsx index 4595fe9..8853a71 100644 --- a/app/docs/page.tsx +++ b/app/docs/page.tsx @@ -100,6 +100,75 @@ export default function DocsPage() {

+ {/* For those who build and coordinate impact - intro before technical docs */} +
+

For those who build and coordinate impact

+ +

The problem

+

Impact coordinators struggle with:

+ + +

What DeCleanup provides

+

DeCleanup is open DMRV infrastructure, not a closed platform. You can:

+ + +

DMRV (Data-Measurement-Reporting-Verification) as infrastructure

+

We treat DMRV as a public good layer:

+ +

Compatible with:

+ +

This aligns with:

+ + +

Governance tools live on Celo

+ + +

Example funding pools

+ + +

Outcome

+ +

Coordination layer first.

+
+ {/* Mobile Overlay */} {sidebarOpen && (
+
+
+ + + + + Back to Home + +
+ +
+

+ Get started with DeCleanup Rewards +

+

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

+
+ + +
+ + ); +} diff --git a/app/globals.css b/app/globals.css index 3aa8526..7b46631 100644 --- a/app/globals.css +++ b/app/globals.css @@ -158,6 +158,22 @@ body { transform: translateY(-4px); } +/* Who is this for - subtle border glow */ +@keyframes border-glow { + 0%, 100% { + border-color: rgba(88, 177, 47, 0.35); + box-shadow: 0 0 0 1px rgba(88, 177, 47, 0.2); + } + 50% { + border-color: rgba(88, 177, 47, 0.6); + box-shadow: 0 0 20px rgba(88, 177, 47, 0.15); + } +} + +.card-border-glow { + animation: border-glow 3s ease-in-out infinite; +} + /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; diff --git a/app/litepaper/page.tsx b/app/litepaper/page.tsx index 499fcee..101bcf4 100644 --- a/app/litepaper/page.tsx +++ b/app/litepaper/page.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next"; import Link from "next/link"; export const metadata: Metadata = { - title: "DeCleanup Network β€” Litepaper", + title: "DeCleanup Network - Litepaper", description: "What DeCleanup is, how to try it (Base & Farcaster), DMRV, AI verification, tokens, and how to get involved. February 2026.", }; @@ -45,7 +45,7 @@ export default function LitepaperPage() {

- DeCleanup Network β€” Litepaper + DeCleanup Network - Litepaper

February 2026 @@ -58,33 +58,108 @@ export default function LitepaperPage() { 1. What is DeCleanup?

- DeCleanup is a platform that helps people and organizations prove real-world environmental cleanups β€” transparently and at scale. + DeCleanup Network is an SDG-aligned regenerative impact application. +

+

+ It provides open infrastructure to measure, verify, and fund real-world environmental action, starting with waste cleanup and expanding into regenerative and biodiversity-aligned activities.

People all over the world clean beaches, forests, rivers, and cities. The problem is simple: there is no trusted, shared way to prove this work happened and measure its impact.

- DeCleanup solves this by: + DeCleanup transforms on-the-ground environmental work into:

+

+ so that capital can reliably support outcomes aligned with the UN Sustainable Development Goals (SDGs). +

- This is not just an app β€” it's open infrastructure for environmental impact verification. + DeCleanup is designed to interoperate with the broader Regen ecosystem, enabling impact data to be reused across applications, funding programs, and reporting frameworks. This is not just an app - it's open infrastructure for environmental impact verification.

+ {/* 1b. SDG Mapping (Theory of Change) */} +
+

+ SDG Alignment +

+

+ DeCleanup directly contributes to the following UN Sustainable Development Goals: +

+ +

Primary SDGs

+
+
+

SDG 11 – Sustainable Cities & Communities

+
    +
  • Reduces unmanaged waste in public spaces
  • +
  • Supports community-led environmental stewardship
  • +
+
+
+

SDG 12 – Responsible Consumption & Production

+
    +
  • Enables waste tracking, categorization, and accountability
  • +
  • Supports circular economy insights through cleanup data
  • +
+
+
+

SDG 13 – Climate Action

+
    +
  • Prevents emissions from unmanaged waste and open burning
  • +
  • Enables climate-aligned impact reporting
  • +
+
+
+

SDG 14 – Life Below Water

+
    +
  • Removes plastic and waste before entering waterways
  • +
  • Produces verifiable marine pollution prevention data
  • +
+
+
+

SDG 15 – Life on Land

+
    +
  • Restores degraded land areas
  • +
  • Enables land-based environmental monitoring
  • +
+
+
+ +

Secondary / Enabling SDGs

+
+
+

SDG 16 – Peace, Justice & Strong Institutions

+
    +
  • Transparent governance of public goods funding
  • +
  • Auditable decision-making and capital allocation
  • +
+
+
+

SDG 17 – Partnerships for the Goals

+
    +
  • Interoperability with Regen apps (e.g. Green Goods)
  • +
  • Open standards for shared impact reporting
  • +
+
+
+
+ +
+ {/* 2. Try DeCleanup in minutes */}

2. Try DeCleanup in minutes (no setup needed)

- If you already have an account on Base or Farcaster, you can use DeCleanup here β€” no extra sign-up. Pick where you're active: + If you already have an account on Base or Farcaster, you can use DeCleanup here - no extra sign-up. Pick where you're active:

@@ -107,7 +182,7 @@ export default function LitepaperPage() {

🟣 I have a Farcaster account

- Use DeCleanup inside Farcaster as a Mini App. Open it from the Farcaster app β€” same rewards and verification, in your feed. + Use DeCleanup inside Farcaster as a Mini App. Open it from the Farcaster app - same rewards and verification, in your feed.

  • Open the DeCleanup Mini App from Farcaster
  • @@ -162,7 +237,7 @@ export default function LitepaperPage() {

πŸ› Governance & Funding (Gardens)

-

DeCleanup integrates governance and funding flows.

+

DeCleanup integrates governance and funding flows with outcome-based funding aligned with the SDGs.

  • Proposals for cleanup equipment reimbursement
  • Community voting on funding priorities
  • @@ -178,7 +253,7 @@ export default function LitepaperPage() { {/* 4. DMRV */}

    - 4. DMRV β€” Digital Monitoring, Reporting & Verification + 4. DMRV - Digital Monitoring, Reporting & Verification

    At the core of DeCleanup is DMRV. @@ -196,16 +271,16 @@ export default function LitepaperPage() {

  • on-chain records for transparency

- This makes DeCleanup useful not only for individuals, but also for: NGOs, corporates, large cleanup sponsors, and public funding programs. + This makes DeCleanup useful not only for individuals, but also for: NGOs, corporates, large cleanup sponsors, and public funding programs - with impact data aligned to SDG reporting needs.

- {/* 5. AI Verification β€” Coming Soon */} + {/* 5. AI Verification - Coming Soon */}

- 5. AI Verification (DMRV) β€” Coming Soon + 5. AI Verification (DMRV) - Coming Soon

AI-assisted verification is being rolled out in phases. @@ -213,9 +288,9 @@ export default function LitepaperPage() {

πŸ€– ML Verification (DMRV)

-

Status: Phase 1 & 2 complete β€” AI-assisted verification pipeline ready.

+

Status: Phase 1 & 2 complete - AI-assisted verification pipeline ready.

- The system detects waste in before/after photos, scores cleanup impact, and can auto-verify or flag for human review. It uses object-detection models trained on real-world litter data (e.g. TACO: Trash Annotations in Context β€” 60+ waste categories). + The system detects waste in before/after photos, scores cleanup impact, and can auto-verify or flag for human review. It uses object-detection models trained on real-world litter data (e.g. TACO: Trash Annotations in Context - 60+ waste categories).

Reference:{" "} @@ -237,17 +312,19 @@ export default function LitepaperPage() { 6. Tokens & Network Economy

- DeCleanup uses tokens to coordinate incentives β€” not to replace real impact. + DeCleanup uses tokens to coordinate incentives - not to replace real impact. + Governance and funding use stable capital (e.g. cUSD) and Gardens.fund for outcome-based funding pools aligned with the SDGs.

Live tokens:

$cDCU Airdrop

$cDCU will be airdropped to:

    +
  • Holders of $bDCU (to get the full Base + Celo experience)
  • Early DeCleanup V1 users
  • Community donors & supporters
  • Contributors (2024–2025)
  • @@ -264,13 +341,13 @@ export default function LitepaperPage() { 7. What DeCleanup enables long-term

    - DeCleanup is building infrastructure for: + DeCleanup is building SDG-aligned infrastructure for:

    • verified environmental impact
    • -
    • transparent funding flows
    • +
    • transparent, outcome-based funding flows
    • scalable cleanup programs
    • -
    • interoperable impact data
    • +
    • interoperable impact data across the Regen ecosystem

    Possible future integrations:

      @@ -304,13 +381,13 @@ export default function LitepaperPage() { {/* Final note */}

      - DeCleanup is not hype β€” it's infrastructure. We welcome non-crypto readers, let people try the product in minutes, and layer in technical depth only when it helps. Real cleanups, real proof, real impact. + DeCleanup is not hype - it's SDG-aligned impact infrastructure. We welcome non-crypto readers, let people try the product in minutes, and layer in technical depth only when it helps. Real cleanups, real proof, real impact.

      - {/* Roadmap Section β€” kept */} + {/* Roadmap Section - kept */}

      Roadmap (Updated) @@ -324,7 +401,7 @@ export default function LitepaperPage() {

      - Phase 1 β€” Base Mini App (Live) + Phase 1 - Base Mini App (Live)

      • Farcaster app
      • @@ -335,7 +412,7 @@ export default function LitepaperPage() {

        - Phase 2 β€” Celo Full dApp (In Development) + Phase 2 - Celo Full dApp (In Development)

        • dashboards + leaderboards
        • @@ -350,7 +427,7 @@ export default function LitepaperPage() {

          - Phase 3 β€” Reputation + Marketplace Layer + Phase 3 - Reputation + Marketplace Layer

          • RWI Rank
          • @@ -362,7 +439,7 @@ export default function LitepaperPage() {

            - Phase 4 β€” Multichain Expansion + Phase 4 - Multichain Expansion

            • unified identity
            • @@ -374,7 +451,7 @@ export default function LitepaperPage() {

              - Phase 5 β€” DeCleanup V3 + Phase 5 - DeCleanup V3

              • ESG partnerships
              • @@ -399,44 +476,6 @@ export default function LitepaperPage() {

      -
      - - {/* Backed by β€” Giveth, Octant, Gitcoin, Ethereum for the World (logo placeholders) */} -
      -

      - Backed by -

      -

      - DeCleanup has been supported by Giveth, Octant, Gitcoin, and Ethereum for the World. -

      - {/* Logo placeholders β€” replace with or when logos are ready */} -
      -
      -
      - Giveth logo -
      - Giveth -
      -
      -
      - Octant logo -
      - Octant -
      -
      -
      - Gitcoin logo -
      - Gitcoin -
      -
      -
      - E4W logo -
      - Ethereum for the World -
      -
      -
); diff --git a/app/page.tsx b/app/page.tsx index 8492f13..85249ba 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,12 +4,15 @@ import TokenizeImpactSection from "@/components/HowToTokonizeImpact/TokenizeImpa import NetworkRoadmapSection from "@/components/NetworkRoadmapSection/NetworkRoadmapSection"; import UseDeCleanupToday from "@/components/UseDeCleanupToday/UseDeCleanupToday"; import WhoIsThisFor from "@/components/WhoIsThisFor/WhoIsThisFor"; +import WhyDeCleanup from "@/components/WhyDeCleanup/WhyDeCleanup"; const Page = () => { return (
{/* Aura-style hero: gradient orbs + badge + CTAs */} + {/* Why DeCleanup Exists - SDG positioning */} + {/* Who is this for? – Aura glow cards */} {/* Earn DeCleanup Rewards – Base/Celo CTA cards with hover glow */} @@ -17,7 +20,7 @@ const Page = () => { {/* Transparent, Verifiable Digital Impact / DMRV – two-column + progress bar */} - {/* How to Tokenize Impact – 3-step + photo verified card */} + {/* How to Tokenize Impact – 3-step + photo verified card, Backed by + SDGs just above footer */}
); diff --git a/app/tokenomics/page.tsx b/app/tokenomics/page.tsx index 4c2a880..4b97f74 100644 --- a/app/tokenomics/page.tsx +++ b/app/tokenomics/page.tsx @@ -43,10 +43,89 @@ export default function TokenomicsPage() {

- {/* SECTION 1 β€” TWO-TOKEN OVERVIEW */} + {/* For those who fund real-world impact - intro before token details */} +
+

For those who fund real-world impact

+ +

The problem

+

Funders want:

+ + +

What DeCleanup enables

+

We don't promise financial returns first. We offer verifiable impact infrastructure. Funders can:

+ + +

DMRV (Data, Measurement, Reporting, Verification) from a funder's perspective

+ +

Data can be:

+ +

This reduces:

+ + +

Tokens

+

+ + $bDCU (Base) + +

+ +

Governance on Celo ($cUSD)

+ +

Value grows through usage, legitimacy, and adoption, not speculation.

+ +

Outcome

+ +

A base layer for future impact finance

+

Fund what you can verify.

+
+ + {/* Expandable: Dive into tokenomics */} +
+ + Dive into tokenomics + + + + +
+ {/* SECTION 1 - TWO-TOKEN OVERVIEW */}
- {/* Card 1 β€” $bDCU β€” Base */} + {/* Card 1 - $bDCU - Base */}

- {/* Card 2 β€” $cDCU β€” Celo */} + {/* Card 2 - $cDCU - Celo */}

- {/* SECTION 2 β€” TOKEN COMPARISON TABLE */} + {/* SECTION 2 - TOKEN COMPARISON TABLE */}

Token Comparison @@ -216,13 +295,13 @@ export default function TokenomicsPage() {

- {/* SECTION 3 β€” IMPACT SYSTEM CARDS */} + {/* SECTION 3 - IMPACT SYSTEM CARDS */}

Impact System

- {/* Card A β€” Impact Products */} + {/* Card A - Impact Products */}

Impact Products @@ -243,7 +322,7 @@ export default function TokenomicsPage() {

- {/* Card B β€” Verifier System */} + {/* Card B - Verifier System */}

Verifier System @@ -268,7 +347,7 @@ export default function TokenomicsPage() {

- {/* Card C β€” Hypercerts */} + {/* Card C - Hypercerts */}

Hypercerts @@ -291,7 +370,7 @@ export default function TokenomicsPage() {

- {/* SECTION 4 β€” TOKEN LIFECYCLE */} + {/* SECTION 4 - TOKEN LIFECYCLE */}

Token Lifecycle @@ -314,28 +393,28 @@ export default function TokenomicsPage() {
-
1 β€” Earn through the Base mini app
+
1 - Earn through the Base mini app
-
2 β€” Stake to become a Verifier
+
2 - Stake to become a Verifier
-
3 β€” Trade freely on Base DEXes
+
3 - Trade freely on Base DEXes
-
4 β€” Participate in Base-side campaigns
+
4 - Participate in Base-side campaigns
@@ -358,28 +437,28 @@ export default function TokenomicsPage() {
-
1 β€” Earn through verified cleanups
+
1 - Earn through verified cleanups
-
2 β€” Stake for governance and Verifier role
+
2 - Stake for governance and Verifier role
-
3 β€” Grow Impact Product reputation
+
3 - Grow Impact Product reputation
-
4 β€” Vote on proposals through Gardens.fund
+
4 - Vote on proposals through Gardens.fund
@@ -388,7 +467,7 @@ export default function TokenomicsPage() {

- {/* SECTION 5 β€” $bDCU SUPPLY & ALLOCATION */} + {/* SECTION 5 - $bDCU SUPPLY & ALLOCATION */}

supply and allocation. @@ -400,7 +479,7 @@ export default function TokenomicsPage() {

- Circulating Supply β€” 85% + Circulating Supply - 85%

85% of the total supply circulates immediately @@ -409,7 +488,7 @@ export default function TokenomicsPage() {

- Clanker Vault β€” 15% + Clanker Vault - 15%

15% of supply is held in the Clanker Vault for burns, ecosystem rewards, and liquidity stabilization @@ -422,12 +501,12 @@ export default function TokenomicsPage() {

- {/* SECTION 6 β€” $cDCU SUPPLY & ALLOCATION */} + {/* SECTION 6 - $cDCU SUPPLY & ALLOCATION */}

- Staking & Verifier Rewards β€” 35% + Staking & Verifier Rewards - 35%

Supports long-term staking and review system @@ -436,7 +515,7 @@ export default function TokenomicsPage() {

- Cleanup Campaign Incentives β€” 25% + Cleanup Campaign Incentives - 25%

Fuels Impact Circles, leaderboards and global events @@ -445,7 +524,7 @@ export default function TokenomicsPage() {

- Public Distribution β€” 20% + Public Distribution - 20%

Onboarding users through controlled vesting @@ -454,7 +533,7 @@ export default function TokenomicsPage() {

- Team & Development β€” 10% + Team & Development - 10%

Multi-year vesting for stability and alignment @@ -463,7 +542,7 @@ export default function TokenomicsPage() {

- Verification Treasury β€” 5% + Verification Treasury - 5%

Funds Proof-of-Impact validation rewards @@ -472,7 +551,7 @@ export default function TokenomicsPage() {

- Community Incentives β€” 4% + Community Incentives - 4%

Supports ambassadors, referrals, content, contributors @@ -481,7 +560,7 @@ export default function TokenomicsPage() {

- Liquidity β€” 1% + Liquidity - 1%

Seeds Celo-side DEX access @@ -490,7 +569,7 @@ export default function TokenomicsPage() {

- {/* SECTION 7 β€” CLOSING STATEMENT */} + {/* SECTION 7 - CLOSING STATEMENT */}

@@ -498,6 +577,8 @@ export default function TokenomicsPage() {

+ + ); diff --git a/components/BackedBy/BackedBy.tsx b/components/BackedBy/BackedBy.tsx new file mode 100644 index 0000000..738c7b4 --- /dev/null +++ b/components/BackedBy/BackedBy.tsx @@ -0,0 +1,39 @@ +import React from "react"; + +const backers = [ + { name: "Giveth", logoLabel: "Giveth logo" }, + { name: "Octant", logoLabel: "Octant logo" }, + { name: "Gitcoin", logoLabel: "Gitcoin logo" }, + { name: "Ethereum for the World", logoLabel: "E4W logo" }, +]; + +export default function BackedBy() { + return ( +
+
+

+ Backed by +

+

+ DeCleanup has been supported by Giveth, Octant, Gitcoin, and Ethereum for the World. +

+
+ {backers.map((backer) => ( +
+
+ {backer.logoLabel} +
+ {backer.name} +
+ ))} +
+
+
+ ); +} diff --git a/components/GetStartedFlow/GetStartedFlow.tsx b/components/GetStartedFlow/GetStartedFlow.tsx new file mode 100644 index 0000000..03bc4db --- /dev/null +++ b/components/GetStartedFlow/GetStartedFlow.tsx @@ -0,0 +1,447 @@ +"use client"; + +import React, { useState } from "react"; +import Link from "next/link"; + +type Step = + | "intro" + | "start" + | "choose" + | "celo" + | "farcaster" + | "base" + | "base_only" + | "end"; + +const GUIDE_LINKS = { + metamask: "https://metamask.io/download/", + baseNetwork: "https://docs.base.org/network-information", + celoNetwork: "https://docs.celo.org/network", + celoSepoliaNetwork: "https://docs.celo.org/tooling/wallets/metamask/add-celo-testnet-to-metamask", + celoFaucet: "https://faucet.celo.org/celo-sepolia", + ethForGas: "https://www.coinbase.com/learn/tips-and-tutorials/how-to-get-eth", + farcasterDocs: "https://docs.farcaster.xyz", + farcasterRegister: "https://farcaster.xyz/", + baseAppRegister: "https://join.base.app/", + baseApp: "https://base.org", + baseAppGetStarted: "https://help.coinbase.com/en/base/getting-started/get-started", + decleanupFarcaster: "https://farcaster.xyz/miniapps/SfsGBDcHpuSA/decleanup-rewards", + decleanupBase: "https://base.app/app/miniapp.decleanup.net", + decleanupCelo: "https://dapp.decleanup.net", + warpcast: "https://warpcast.com", +}; + +function Card({ + children, + className = "", +}: { + children: React.ReactNode; + className?: string; +}) { + return ( +
+ {children} +
+ ); +} + +function GuideLinks({ variant }: { variant: "base" | "celo" | "wallet" }) { + const links = + variant === "base" + ? [ + { label: "Get started with Base app", href: GUIDE_LINKS.baseAppGetStarted }, + { label: "Tips and tutorials", href: GUIDE_LINKS.ethForGas }, + ] + : variant === "celo" + ? [ + { label: "Download MetaMask", href: GUIDE_LINKS.metamask }, + { label: "Add Celo Sepolia network", href: GUIDE_LINKS.celoSepoliaNetwork }, + { label: "Get CELO for transactions", href: GUIDE_LINKS.celoFaucet }, + ] + : [ + { label: "MetaMask guide", href: GUIDE_LINKS.metamask }, + { label: "Farcaster setup", href: GUIDE_LINKS.farcasterDocs }, + ]; + return ( +
+

Guides

+ +
+ ); +} + +export default function GetStartedFlow() { + const [step, setStep] = useState("intro"); + + return ( +
+ {/* Step: Intro - For those who care about the planet (before flowchart) */} + {step === "intro" && ( +
+ +

For those who care about the planet

+ +

The problem

+

People clean beaches, rivers, forests - but:

+
    +
  • β€’Their work is invisible beyond social media
  • +
  • β€’There's no durable proof they can reuse
  • +
  • β€’Recognition and support are inconsistent
  • +
  • β€’Motivation drops without feedback or continuity
  • +
+ +

What DeCleanup changes

+

We give everyday people a simple flow:

+
    +
  • β€’Join or organize a cleanup
  • +
  • β€’Document the result (photos, location, basic data)
  • +
  • β€’Publish (immutable proof onchain)
  • +
  • β€’Earn recognition, reputation, and rewards
  • +
+ +

DMRV

+
    +
  • β€’Data: photos, location, cleanup type, waste categories
  • +
  • β€’Measurement: amount collected, frequency, participation
  • +
  • β€’Reporting: standardized, readable cleanup records
  • +
  • β€’Verification: records anchored onchain so they can't be altered
  • +
+

This means: Your cleanup can't be erased. Your contribution adds up over time. Your impact becomes provable.

+ +

Outcome

+
    +
  • β€’More people clean up, more often
  • +
  • β€’Contributors build an onchain impact reputation
  • +
  • β€’Cleanups become visible, countable, and supportable
  • +
+

Impact first. Web3 only where it helps.

+ + +
+
+ )} + + {/* Step: Start - Do you have / want Farcaster or Base App? */} + {step === "start" && ( + +

+ Do you have a Farcaster account or the Base app? +

+

+ DeCleanup Rewards runs as a mini app inside Farcaster client or the Base app. If you prefer not to use either, you can use the full platform on Celo chain. +

+
+
+

+ + Farcaster + +

+

+ Farcaster is an open social protocol that lets people own their identity and social graph. Multiple apps can use the same feed, profiles, and followers, so your social presence isn’t locked into one platform. +

+
+
+

+ + Base App + +

+

+ Base App is an onchain consumer app built on Base that uses the Farcaster feed. It combines social posts, mini apps, payments, trading, chat, and earning into one place - so content isn’t just read, it’s actionable. +

+
+
+
+ + +
+
+ +
+
+ )} + + {/* Step: Choose - Base App or Farcaster */} + {step === "choose" && ( + <> + +

+ Choose one to get started +

+

+ You can add the other later. Pick the one you prefer to set up first. +

+
+ + +
+
+ +
+
+ + )} + + {/* Step: Celo path */} + {step === "celo" && ( + +

+ Try the full DeCleanup Rewards platform +

+

+ Explore full dashboard, leaderboard, and governance. Works with a wallet (e.g. MetaMask) on Celo chain. +

+
+ + Open DeCleanup dApp (currently on testnet) β†’ + +
+ +
+ +
+
+ )} + + {/* Step: Farcaster path - then β€œAlso Base?” */} + {step === "farcaster" && ( + +

+ DeCleanup on Farcaster +

+

+ Open the DeCleanup mini app inside Farcaster. Log in with your Farcaster account and start logging cleanups. +

+
+ + Get Farcaster app or use in browser + + + Open DeCleanup mini app on Farcaster β†’ + +
+
+

+ To fund your wallet: open the Farcaster wallet, press Deposit, then copy your wallet address. Transfer ETH from an exchange or another wallet to that address, or buy directly via a linked Coinbase account. +

+ + Tips and tutorials β†’ + +
+

+ Do you also want to use DeCleanup on the Base app? +

+
+ + +
+
+ +
+
+ )} + + {/* Step: Base only (user chose Base at β€œchoose”) */} + {step === "base_only" && ( + +

+ DeCleanup on Base app +

+

+ Install the Base app, then open DeCleanup Rewards as a mini app inside it. Pin it to your apps to be able to always find it later. +

+
+ + Get Base app + + + Open DeCleanup on Base app β†’ + +
+ +
+ +
+
+ )} + + {/* Step: Base after Farcaster (β€œAlso use Base?” β†’ Yes) */} + {step === "base" && ( + +

+ DeCleanup on Base app +

+

+ Install the Base app, then open DeCleanup Rewards as a mini app inside it. Pin it to your apps to be able to always find it later. +

+
+ + Get Base app + + + Open DeCleanup on Base app β†’ + +
+ +
+ +
+
+ )} + + {/* Step: End */} + {step === "end" && ( + +

+ You’re all set +

+

+ Use DeCleanup on Farcaster to log cleanups and earn rewards. Need the full dApp or Base app later? Come back to this page or use the links on the main page. +

+ + Back to main page β†’ + +
+ )} +
+ ); +} diff --git a/components/HeroSection/Hero.tsx b/components/HeroSection/Hero.tsx index 846f89e..fd87670 100644 --- a/components/HeroSection/Hero.tsx +++ b/components/HeroSection/Hero.tsx @@ -51,7 +51,7 @@ const Hero = () => { CLEAN UP, SNAP, EARN - {/* Main title β€” DECLEANUP NETWORK (gradient on NETWORK + pulse) */} + {/* Main title - DECLEANUP NETWORK (gradient on NETWORK + pulse) */}

{ - + {/* Links: Litepaper, Tokenomics, Docs, User Guide, External Links */} + + {/* Backed by + SDG logos just above footer */} + + + diff --git a/components/NavLink/NavLink.tsx b/components/NavLink/NavLink.tsx index c499204..fa3614f 100644 --- a/components/NavLink/NavLink.tsx +++ b/components/NavLink/NavLink.tsx @@ -4,7 +4,9 @@ import Image from "next/image"; import Divider from "../ui/Divider"; // Simple Divider component since it's imported -const NavLink = () => { +type NavLinkVariant = "full" | "linksOnly" | "footerOnly"; + +const NavLink = ({ variant = "full" }: { variant?: NavLinkVariant }) => { // Internal links (same domain) const internalLinks = [ { name: "LITEPAPER", href: "/litepaper" }, @@ -29,10 +31,15 @@ const NavLink = () => { }, ]; + const showLinks = variant === "full" || variant === "linksOnly"; + const showFooter = variant === "full" || variant === "footerOnly"; + return ( ); }; diff --git a/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx b/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx index be69a36..e9c6fe4 100644 --- a/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx +++ b/components/NetworkRoadmapSection/NetworkRoadmapSection.tsx @@ -204,7 +204,7 @@ const RoadmapCarousel = ({ roadmap }: { roadmap: Array<{ phase: string; bullets: const NetworkRoadmapSection = () => { const roadmap = [ { - phase: "Phase 1 β€” Base Mini App (live)", + phase: "Phase 1 - Base Mini App (live)", bullets: [ "Farcaster mini app for quick cleanups", "$bDCU rewards on Base", @@ -212,7 +212,7 @@ const NetworkRoadmapSection = () => { ], }, { - phase: "Phase 2 β€” Celo Full dApp (building)", + phase: "Phase 2 - Celo Full dApp (building)", bullets: [ "Full dashboard, leaderboard, streaks", "Impact Products, claim & stake", @@ -220,7 +220,7 @@ const NetworkRoadmapSection = () => { ], }, { - phase: "Phase 3 β€” Reputation & Governance", + phase: "Phase 3 - Reputation & Governance", bullets: [ "$cDCU as reputation + governance token on Celo", "Voting on Gardens.fund", @@ -228,7 +228,7 @@ const NetworkRoadmapSection = () => { ], }, { - phase: "Phase 4 β€” Multichain Ecosystem", + phase: "Phase 4 - Multichain Ecosystem", bullets: [ "Base + Celo live side-by-side", "Integrations with Regen Bazaar and partners", @@ -387,7 +387,7 @@ const NetworkRoadmapSection = () => {

- β€” Yuichi Hosomo, Hem Japan + - Yuichi Hosomo, Hem Japan

diff --git a/components/SDGsFooter/SDGsFooter.tsx b/components/SDGsFooter/SDGsFooter.tsx new file mode 100644 index 0000000..9e2d092 --- /dev/null +++ b/components/SDGsFooter/SDGsFooter.tsx @@ -0,0 +1,62 @@ +import React from "react"; +import Image from "next/image"; + +const UN_SDG_BASE = + "https://www.un.org/sustainabledevelopment/wp-content/uploads/2019/08"; + +// Major SDGs DeCleanup aligns with: cities & waste, consumption & waste, climate, life below water, life on land +const MAJOR_SDG_NUMS = [11, 12, 13, 14, 15]; + +const sdgIcons = MAJOR_SDG_NUMS.map((num) => ({ + num, + src: `${UN_SDG_BASE}/E-Goal-${String(num).padStart(2, "0")}-1024x1024.png`, + alt: `SDG ${num}`, +})); + +export default function SDGsFooter() { + return ( +
+
+

+ Aligned with the UN Sustainable Development Goals +

+
+ {sdgIcons.map((goal) => ( + + {goal.alt} + + ))} +
+

+ + United Nations Sustainable Development Goals + + {" Β· "} + The content of this publication has not been approved by the United Nations and does not reflect the views of the United Nations or its officials or Member States. +

+
+
+ ); +} diff --git a/components/UseDeCleanupToday/UseDeCleanupToday.tsx b/components/UseDeCleanupToday/UseDeCleanupToday.tsx index a5a0d3d..eaf067e 100644 --- a/components/UseDeCleanupToday/UseDeCleanupToday.tsx +++ b/components/UseDeCleanupToday/UseDeCleanupToday.tsx @@ -38,6 +38,7 @@ const UseDeCleanupToday = () => { bullets: [ "Live on Base", "Used for quick rewards and trading", + "Holders will be airdropped $cDCU for the full experience", ], buttonLabel: "Swap ETH/bDCU", buttonHref: "https://app.uniswap.org/swap?chain=base&inputCurrency=ETH&outputCurrency=0x30171b7014c02229497CdE6745DD3aD821F12b07", @@ -72,7 +73,7 @@ const UseDeCleanupToday = () => { className="w-full overflow-x-hidden px-4 py-12 sm:px-6 sm:py-16 lg:px-8 lg:py-20" >
- {/* Section Header β€” after hero: EARN DECLEANUP REWARDS TODAY */} + {/* Section Header - after hero: EARN DECLEANUP REWARDS TODAY */}

EARN DECLEANUP REWARDS TODAY diff --git a/components/UserGuide/UserGuide.tsx b/components/UserGuide/UserGuide.tsx index f8dd6e3..d893090 100644 --- a/components/UserGuide/UserGuide.tsx +++ b/components/UserGuide/UserGuide.tsx @@ -329,7 +329,7 @@ const UserGuide = () => {

- {/* SECTION 2 β€” HOW IT WORKS (3-STEP FLOW) */} + {/* SECTION 2 - HOW IT WORKS (3-STEP FLOW) */}

How It Works @@ -376,13 +376,13 @@ const UserGuide = () => {

- {/* SECTION 3 β€” REWARDS OVERVIEW (2 FEATURE CARDS) */} + {/* SECTION 3 - REWARDS OVERVIEW (2 FEATURE CARDS) */}

Rewards Overview

- {/* Card A β€” Impact Product */} + {/* Card A - Impact Product */}
@@ -395,7 +395,7 @@ const UserGuide = () => {

- {/* Card B β€” $bDCU Rewards */} + {/* Card B - $bDCU Rewards */}
@@ -411,7 +411,7 @@ const UserGuide = () => {
- {/* SECTION 4 β€” REWARDS BREAKDOWN */} + {/* SECTION 4 - REWARDS BREAKDOWN */}

Rewards Breakdown @@ -514,13 +514,13 @@ const UserGuide = () => {

- {/* SECTION 5 β€” VERIFICATION SYSTEM (SPLIT LAYOUT) */} + {/* SECTION 5 - VERIFICATION SYSTEM (SPLIT LAYOUT) */}

Verification System

- {/* LEFT SIDE β€” Text block */} + {/* LEFT SIDE - Text block */}

Your cleanup will be reviewed by community verifiers, who are @@ -534,7 +534,7 @@ const UserGuide = () => {

- {/* RIGHT SIDE β€” Illustration with icon */} + {/* RIGHT SIDE - Illustration with icon */}
@@ -545,7 +545,7 @@ const UserGuide = () => {
- {/* SECTION 6 β€” CELO FULL APP COMING SOON (FINAL CARD) */} + {/* SECTION 6 - CELO FULL APP COMING SOON (FINAL CARD) */}
@@ -553,7 +553,7 @@ const UserGuide = () => {

- Full Celo dApp β€” Coming Soon + Full Celo dApp - Coming Soon

The complete DeCleanup experience is launching soon on Celo with diff --git a/components/WhatIsDecleanUp/WhatIsDeCleanupNetwork.tsx b/components/WhatIsDecleanUp/WhatIsDeCleanupNetwork.tsx index e1f2536..ba688ed 100644 --- a/components/WhatIsDecleanUp/WhatIsDeCleanupNetwork.tsx +++ b/components/WhatIsDecleanUp/WhatIsDeCleanupNetwork.tsx @@ -5,7 +5,7 @@ export default function WhatIsDeCleanupNetwork() {

- {/* LEFT β€” Visual DMRV: gradient, concentric circles, placeholders, overlay */} + {/* LEFT - Visual DMRV: gradient, concentric circles, placeholders, overlay */}
{/* Abstract gradient background */}
- {/* Placeholder: Community impact (nodes / growth) β€” top-left area */} + {/* Placeholder: Community impact (nodes / growth) - top-left area */}
Community impact visualization
- {/* Placeholder: Cleanup done (check + bag) β€” top-right area */} + {/* Placeholder: Cleanup done (check + bag) - top-right area */}
Cleanup done visualization
- {/* UI overlay: Total Impact β€” LIVE (lighter so label and border are visible) */} + {/* UI overlay: Total Impact - LIVE (lighter so label and border are visible) */}
@@ -78,7 +78,7 @@ export default function WhatIsDeCleanupNetwork() {
- {/* RIGHT β€” DMRV Explanation */} + {/* RIGHT - DMRV Explanation */}

DMRV: Digital Monitoring, Reporting & Verification diff --git a/components/WhoIsThisFor/WhoIsThisFor.tsx b/components/WhoIsThisFor/WhoIsThisFor.tsx index 6883cef..ff12124 100644 --- a/components/WhoIsThisFor/WhoIsThisFor.tsx +++ b/components/WhoIsThisFor/WhoIsThisFor.tsx @@ -1,110 +1,117 @@ 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"; + export default function WhoIsThisFor() { return (
- {/* Section title */} -

+

Who is this for?

-

- Different ways to take part in DeCleanup. -

- {/* Card 1 β€” Environmental Activists (People who clean, care, and act) */} -
+ {/* Card 1 - Individuals and communities who clean, care and act */} +

- People who clean, care, and act + Individuals and communities who clean, care and act

- People who care about the planet + For those who care about the planet

- You clean up nature. We help you prove it and get support for it. + 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
  • +
      +
    • + β€’ + Join or organize cleanup actions +
    • +
    • + β€’ + Take photos of the result +
    • +
    • + β€’ + Get recognition and rewards for real impact +
    -

    - “Finally, my cleanup actually counts.” -

    - Start a cleanup β†’ + Learn more and begin β†’ -

    - No crypto knowledge needed -

- {/* Card 2 β€” Impact Builders & Governors (Web3-native, but impact-first) */} -
-

- Web3-native, but impact-first + {/* Card 2 - Web3-native, but impact first */} +

+

+ Web3-native, but impact first

- People who build and coordinate impact + For those who build and coordinate impact

- Use on-chain tools to coordinate cleanups, rewards, and community + 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
  • +
      +
    • + β€’ + Participate in governance and proposals +
    • +
    • + β€’ + Help shape how impact is verified and rewarded +
    • +
    • + β€’ + Build on open, impact-focused infrastructure +
    -

    - “This is public-good Web3 that actually touches the real - world.” -

    - Explore how the network works β†’ + Dive deeper to the network β†’ -

    - For Web3-native users -

- {/* Card 3 β€” Investors & Impact Sponsors (Capital with intention) */} -
-

+ {/* Card 3 - Capital with intention */} +

+

Capital with intention

- People who fund real-world impact + 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
  • +
      +
    • + β€’ + Fund cleanup actions at scale +
    • +
    • + β€’ + Support open verification infrastructure +
    • +
    • + β€’ + Hold tokens connected to real-world impact +
    -

    - “My capital supports something real and measurable.” -

    See how funding works β†’ -

    - Transparent Β· Trackable Β· Verifiable -

diff --git a/components/WhyDeCleanup/WhyDeCleanup.tsx b/components/WhyDeCleanup/WhyDeCleanup.tsx new file mode 100644 index 0000000..9af766c --- /dev/null +++ b/components/WhyDeCleanup/WhyDeCleanup.tsx @@ -0,0 +1,45 @@ +import React from "react"; + +export default function WhyDeCleanup() { + return ( +
+
+

+ Why DeCleanup Exists +

+

+ Environmental cleanups already happen. + What's missing is credible, open, reusable proof that they happened - and tools to coordinate, incentivize, and fund them transparently. +

+

+ DeCleanup is an SDG-aligned application focused on: +

+
    +
  • + β€’ + DMRV (Data, Measurement, Reporting, Verification) for cleanups +
  • +
  • + β€’ + Onchain immutability of cleanup records +
  • +
  • + β€’ + Incentives and reputation for people doing real work +
  • +
  • + β€’ + Open coordination and funding for future cleanups +
  • +
+
+
+ ); +} diff --git a/next.config.ts b/next.config.ts index 265460b..ae973fe 100644 --- a/next.config.ts +++ b/next.config.ts @@ -4,6 +4,13 @@ const nextConfig = { output: "export", images: { unoptimized: true, + remotePatterns: [ + { + protocol: "https", + hostname: "www.un.org", + pathname: "/sustainabledevelopment/**", + }, + ], }, basePath: process.env.BASE_PATH || "", assetPrefix: process.env.BASE_PATH || "",