feat: add mobile navigation menu to header

- Implemented responsive mobile menu using Headless UI Dialog component with hamburger toggle
- Refactored hero sections to use consistent boxed layout with background images and improved spacing
- Standardized button styling across hero components with arrow indicators for secondary actions
This commit is contained in:
2025-11-06 23:43:28 +01:00
parent 0f2f6df299
commit 8d1e2f4c7d
5 changed files with 170 additions and 92 deletions

View File

@@ -1,42 +1,40 @@
'use client'
import { Button } from '@/components/Button'
import { Eyebrow, SectionHeader, P } from '@/components/Texts'
import { Eyebrow, H3 } from '@/components/Texts'
export function GpuHero() {
return (
<div className="relative bg-white">
<div className="relative h-80 overflow-hidden bg-transparent md:absolute md:right-0 md:h-full md:w-1/3 lg:w-1/2">
<img
alt="Mycelium GPU nebula illustration"
src="/images/gpuhero2.png"
className="size-full object-contain"
/>
</div>
<div className="relative mx-auto max-w-7xl py-24 lg:py-32 lg:px-8">
<div className="pr-6 pl-6 md:mr-auto md:w-2/3 md:pr-16 lg:w-1/2 lg:pl-0 lg:pr-24 ">
<Eyebrow className="tracking-[0.35em] uppercase text-cyan-500">
Mycelium GPU
</Eyebrow>
<SectionHeader as="h1" className="mt-4 text-gray-900">
Sovereign GPU Acceleration for AI and High-Performance Compute
</SectionHeader>
<P className="mt-6 text-gray-600">
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 flex-wrap gap-4">
<Button to="#gpu-getting-started" as="a" variant="solid" color="cyan">
How it works
</Button>
<Button to="#gpu-architecture" as="a" variant="outline" color="cyan">
Explore Docs
</Button>
<div className="">
{/* Boxed container */}
<div
className="relative mx-auto max-w-7xl border border-t-0 border-b-0 border-gray-200 bg-white overflow-hidden bg-contain bg-right bg-no-repeat"
style={{ backgroundImage: "url('/images/gpuhero2.png')", backgroundSize: "contain" }}
>
{/* Inner padding */}
<div className="px-6 py-16 lg:py-16">
<div className="max-w-2xl lg:pl-6">
<Eyebrow>Mycelium GPU</Eyebrow>
<H3 as="h1" className="mt-4">
Sovereign GPU Acceleration for AI and High-Performance Compute
</H3>
<p className="mt-6 text-lg">
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">
How it works
</Button>
<Button to="#gpu-architecture" as="a" variant="outline">
Explore Docs <span aria-hidden="true"></span>
</Button>
</div>
</div>
</div>
</div>
{/* ✅ Bottom horizontal line with spacing */}
<div className="w-full border-b border-gray-200" />
<div className="max-w-7xl bg-transparent mx-auto py-6 border border-t-0 border-b-0 border-gray-200"></div>
</div>
)
}