2 Commits

Author SHA1 Message Date
1834ec9391 get changes from development 2025-11-25 16:34:40 +02:00
71e6a16d5e fix routing 2025-11-25 13:18:35 +02:00
13 changed files with 28 additions and 22 deletions

View File

@@ -1,4 +1,4 @@
import { HashRouter, Routes, Route, useLocation } from 'react-router-dom';
import { BrowserRouter, Routes, Route, useLocation } from 'react-router-dom';
import { Layout } from './components/Layout';
import { lazy, Suspense, useEffect } from 'react';
@@ -35,7 +35,7 @@ function ScrollToTop() {
function App() {
return (
<HashRouter>
<BrowserRouter>
<ScrollToTop />
<Suspense fallback={<div>Loading...</div>}>
<Routes>
@@ -54,7 +54,7 @@ function App() {
</Route>
</Routes>
</Suspense>
</HashRouter>
</BrowserRouter>
)
}

View File

@@ -94,7 +94,7 @@ export function Header() {
<div className="fixed inset-0 z-10" />
<Dialog.Panel className="fixed inset-y-0 right-0 z-10 w-full overflow-y-auto lg:bg-transparent lg:bg-transparent bg-white px-6 py-6 sm:max-w-sm sm:ring-1 sm:ring-gray-900/10">
<div className="flex items-center justify-between">
<Link to="#" className="-m-1.5 p-1.5">
<Link to="/" className="-m-1.5 p-1.5" onClick={() => setMobileMenuOpen(false)}>
<span className="sr-only">Mycelium</span>
<img
className="h-8 w-auto"

View File

@@ -94,7 +94,7 @@ export function HeaderDark() {
<div className="fixed inset-0 z-10" />
<Dialog.Panel className="fixed inset-y-0 right-0 z-10 w-full overflow-y-auto bg-[#111111] px-6 py-6 sm:max-w-sm sm:ring-1 sm:ring-gray-200/10">
<div className="flex items-center justify-between">
<Link to="#" className="-m-1.5 p-1.5">
<Link to="/" className="-m-1.5 p-1.5" onClick={() => setMobileMenuOpen(false)}>
<span className="sr-only">Mycelium</span>
<img
className="h-8 w-auto"

View File

@@ -65,8 +65,7 @@ export function CallToAction() {
<div className="flex flex-col items-center text-center max-w-xs">
<Button
to="#gpu-architecture"
as="a"
to="/gpu#gpu-architecture"
variant="outline"
color="white"
className="mt-4"

View File

@@ -1,6 +1,7 @@
"use client";
import { useRef } from "react";
import { Link } from "react-router-dom";
import { Eyebrow, CP, CT, H5 } from "@/components/Texts";
import { IoArrowBackOutline, IoArrowForwardOutline } from "react-icons/io5";
@@ -82,12 +83,12 @@ export function GpuCapabilities() {
</div>
<div className="flex items-center gap-x-4 mt-3">
<a
href="#"
<Link
to="/gpu#gpu-architecture"
className="inline-flex items-center gap-1 text-cyan-500 hover:text-cyan-400 text-sm font-medium mr-auto"
>
Learn more
</a>
</Link>
<button
onClick={scrollLeft}

View File

@@ -22,7 +22,7 @@ export function GpuHero() {
Access GPUs across the Mycelium mesh without waitlists, inflated pricing, or centralized control. Run inference, training, and compute workloads where they make sense: cloud, edge, or on your own hardware.
</p>
<div className="mt-10 flex items-center gap-x-6">
<Button to="#gpu-getting-started" as="a" variant="solid" color="cyan">
<Button to="/gpu#gpu-getting-started" variant="solid" color="cyan">
How it works
</Button>
<Button to="#gpu-architecture" as="a" variant="outline">

View File

@@ -32,7 +32,7 @@ const coreFeatures = [
export function GpuOverview() {
return (
<section className="bg-[#121212] w-full max-w-8xl mx-auto">
<section id="gpu-getting-started" className="bg-[#121212] w-full max-w-8xl mx-auto">
{/* ✅ Top spacer */}
<div className="max-w-7xl mx-auto py-6 border border-t-0 border-b-0 border-gray-800 bg-transparent" />

View File

@@ -14,6 +14,14 @@ const benefits = [
export function CallToAction() {
const handleJoinWaitlist = () => {
if (typeof window !== 'undefined' && typeof (window as any).ml_account === 'function') {
;(window as any).ml_account('webforms', '6108375', 'l9m8g1', 'show')
} else {
console.log('MailerLite script (ml_account) not fully loaded or not in browser.')
}
}
return (
<section className="relative overflow-hidden bg-[#121212] ">
{/* ✅ Top horizontal line with spacing */}
@@ -83,13 +91,13 @@ export function CallToAction() {
{/* ✅ Two cards, stacked center with spacing */}
<div className="mt-6 flex flex-wrap justify-center gap-x-8 gap-y-8">
<div className="flex flex-col items-center text-center max-w-xs">
<Button to="#" variant="solid" color="cyan" className="mt-4">
<Button variant="solid" color="cyan" className="mt-4" onClick={handleJoinWaitlist}>
Join the Waitlist
</Button>
</div>
<div className="flex flex-col items-center text-center max-w-xs">
<Button to="#" variant="outline" color="white" className="mt-4">
<Button to="/pods#pods-learn-more" variant="outline" color="white" className="mt-4">
Learn More
</Button>
</div>

View File

@@ -222,7 +222,7 @@ const icons = [
export function PodsFeatures() {
return (
<section className="w-full max-w-8xl mx-auto bg-transparent">
<section id="pods-learn-more" className="w-full max-w-8xl mx-auto bg-transparent">
{/* Top horizontal spacing */}
<div className="max-w-7xl bg-transparent mx-auto py-6 border border-t-0 border-b-0 border-gray-100"></div>
<div className="w-full border-t border-l border-r border-gray-100" />

View File

@@ -64,8 +64,7 @@ export function CallToAction() {
<div className="flex flex-col items-center text-center max-w-xs">
<Button
to="#storage-developer-experience"
as="a"
to="/storage#storage-developer-experience"
variant="outline"
color="white"
className="mt-4"

View File

@@ -24,7 +24,7 @@ export function StorageArchitecture() {
const [active, setActive] = useState(0);
return (
<section className="bg-[#121212] w-full max-w-8xl mx-auto">
<section id="storage-developer-experience" className="bg-[#121212] w-full max-w-8xl mx-auto">
{/* ✅ Top horizontal line with spacing */}
<div className="max-w-7xl mx-auto py-6 border border-t-0 border-b-0 border-gray-800" />
<div className="w-full border-t border-l border-r border-gray-800" />

View File

@@ -41,7 +41,7 @@ export function StorageCapabilitiesNew() {
const scrollRight = () => sliderRef.current?.scrollBy({ left: 400, behavior: "smooth" });
return (
<section className="bg-[#121212] w-full max-w-8xl mx-auto">
<section id="storage-features" className="bg-[#121212] w-full max-w-8xl mx-auto">
<div className="max-w-7xl mx-auto py-6 border border-t-0 border-b-0 border-gray-800" />
<div className="w-full border-t border-l border-r border-gray-800" />

View File

@@ -22,12 +22,11 @@ export function StorageHero() {
Store, replicate, and serve data across the global mesh with encrypted, quantum safe, verifiable storage you control at the infrastructure layer.
</p>
<div className="mt-10 flex items-center gap-x-6">
<Button to="#storage-features" as="a" variant="solid" color="cyan">
<Button to="/storage#storage-features" variant="solid" color="cyan">
How It Works
</Button>
<Button
to="#storage-developer-experience"
as="a"
to="/storage#storage-developer-experience"
variant="outline"
>
Explore Docs