feat: add dark theme support and update homepage content

- Integrated next-themes for dark mode theming with default dark theme
- Added new UI components (GridBlink, Spotlight) and enhanced world map with cyan glow effects
- Updated homepage messaging to emphasize Mycelium as a living network with new audience imagery
This commit is contained in:
2025-11-12 15:18:34 +01:00
parent aab7e66f29
commit 0d9f357881
27 changed files with 578 additions and 131 deletions

View File

@@ -0,0 +1,55 @@
"use client";
import { Button } from "@/components/Button";
import { Spotlight } from "@/components/ui/spotlight";
import { cn } from "@/lib/utils";
import { H1, H4, H5 } from "@/components/Texts";
export function HomeSpotlight({
onGetStartedClick,
}: {
onGetStartedClick: () => void;
}) {
return (
<div className="px-4">
{/* Boxed container */}
<div className="relative mx-auto max-w-7xl border border-t-0 border-gray-100 bg-white overflow-hidden py-24 lg:py-32">
{/* ✅ Grid background */}
<div
className={cn(
"pointer-events-none absolute inset-0 select-none [background-size:40px_40px]",
"[background-image:linear-gradient(to_right,#f4f4f4_1px,transparent_1px),linear-gradient(to_bottom,#f4f4f4_1px,transparent_1px)]"
)}
/>
{/* ✅ Cyan Spotlight */}
<Spotlight className="-top-40 left-0 md:-top-20 md:left-60" />
{/* ✅ Foreground content */}
<div className="relative z-10 mx-auto w-full max-w-7xl p-4 md:pt-0">
<H1 className="bg-opacity-50 bg-gradient-to-b from-neutral-50 to-black bg-clip-text text-center font-bold text-transparent ">
MYCELIUM
</H1>
<H4 className="text-center mt-4">The Living Network of the Next Internet</H4>
<H5 className="mx-auto mt-6 max-w-4xl text-center font-normal text-neutral-500">
A new internet is emerging private, distributed, and self-sovereign.
Mycelium is the living network that makes it possible.
A peer-to-peer foundation where people, data, and intelligence connect
directly without intermediaries, without compromise.
</H5>
<div className="mt-8 flex justify-center gap-6">
<Button variant="solid" color="cyan" onClick={onGetStartedClick}>
Enter the Network
</Button>
<Button variant="outline" color="gray" onClick={onGetStartedClick}>
Explore Docs
</Button>
</div>
</div>
</div>
</div>
);
}