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,45 +1,44 @@
'use client'
import { Button } from '@/components/Button'
import { Eyebrow, SectionHeader, P } from '@/components/Texts'
import { Eyebrow, H3 } from '@/components/Texts'
export function StorageHero() {
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 Storage visual"
src="/images/computehero11.webp"
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 xl:pr-32">
<Eyebrow className="tracking-[0.35em] uppercase text-cyan-500">
Mycelium Storage
</Eyebrow>
<SectionHeader as="h1" className="mt-4 text-gray-900">
Sovereign Storage With Self-Healing and Multi-Protocol Access
</SectionHeader>
<P className="mt-6 text-gray-600">
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 flex-wrap gap-4">
<Button to="#storage-features" as="a" variant="solid" color="cyan">
How It Works
</Button>
<Button
to="#storage-developer-experience"
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/computehero11.webp')", backgroundSize: "contain" }}
>
{/* Inner padding */}
<div className="px-6 py-16 lg:py-16">
<div className="max-w-2xl lg:pl-6">
<Eyebrow>Mycelium Storage</Eyebrow>
<H3 as="h1" className="mt-4">
Sovereign Storage With Self-Healing and Multi-Protocol Access
</H3>
<p className="mt-6 text-lg">
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">
How It Works
</Button>
<Button
to="#storage-developer-experience"
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>
)
}