refactor: consolidate cloud and agents page components

- Removed duplicate hero component variations (AgentsHero/AgentsHeroAlt, CloudHero/CloudHeroAlt)
- Deleted unused CloudCTA, CloudGettingStarted, and CloudDesign components
- Cleaned up empty files and legacy page structure
This commit is contained in:
2025-11-06 15:00:37 +01:00
parent b1c59a9b5a
commit b3836062a3
43 changed files with 193 additions and 71 deletions

View File

@@ -0,0 +1,103 @@
import { Container } from '../../../components/Container'
import { Eyebrow, SectionHeader, P, Small } from '../../../components/Texts'
const steps = [
{
number: '01',
title: 'Account Setup',
description:
'Create your Mycelium account and ensure GPU access is enabled.',
bullets: [
'Sign up and verify your account credentials.',
'Enable GPU access or request it from the Mycelium team.',
'Configure billing to align usage with your budget.',
],
},
{
number: '02',
title: 'Request GPU Resources',
description: 'Use the Mycelium GPU API to allocate the acceleration you need.',
bullets: [
'Describe the GPU profile (memory, cores, region) your workload requires.',
'Let smart contracts reserve and attest the selected hardware.',
'Receive deterministic allocation details for orchestration.',
],
},
{
number: '03',
title: 'Deploy & Monitor',
description:
'Launch your workload, integrate storage, and monitor performance from the dashboard.',
bullets: [
'Deploy via Kubernetes, containers, or custom runtimes.',
'Bind to Quantum-Safe Storage for datasets and checkpoints.',
'Track GPU utilization, cost, and health in real time.',
],
},
]
const workflow = 'Application → Mycelium GPU API → GPU Resource Allocation → Workload Execution'
export function GpuGettingStarted() {
return (
<section
id="gpu-getting-started"
className="relative overflow-hidden bg-gray-900 py-24 sm:py-32"
>
<div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(34,211,238,0.12),transparent_60%)]" />
<Container className="relative">
<div className="mx-auto max-w-3xl text-center">
<Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
Getting Started
</Eyebrow>
<SectionHeader as="h2" color="light" className="mt-6">
Allocate, run, and observe in three moves.
</SectionHeader>
<P color="lightSecondary" className="mt-6">
Mycelium GPU keeps onboarding simpledeclare what you need, deploy
your workload, and let the mesh guarantee performance with full
transparency.
</P>
</div>
<div className="mt-16 grid gap-10 lg:grid-cols-3">
{steps.map((step) => (
<div
key={step.title}
className="flex h-full flex-col rounded-3xl border border-white/10 bg-white/3 p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/6"
>
<div className="flex items-center justify-between">
<Small className="text-xs uppercase tracking-[0.4em] text-cyan-300">
{step.number}
</Small>
<span className="inline-flex size-10 items-center justify-center rounded-full border border-cyan-300/40 text-sm font-semibold uppercase tracking-[0.25em] text-cyan-200">
Go
</span>
</div>
<h3 className="mt-6 text-xl font-semibold text-white">{step.title}</h3>
<p className="mt-4 text-sm leading-relaxed text-gray-300">
{step.description}
</p>
<ul className="mt-6 space-y-3 text-sm text-gray-300">
{step.bullets.map((bullet) => (
<li
key={bullet}
className="flex items-start gap-3 rounded-2xl border border-cyan-500/10 bg-cyan-500/5 p-3 leading-relaxed"
>
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-300" />
<span>{bullet}</span>
</li>
))}
</ul>
</div>
))}
</div>
<div className="mt-16 rounded-3xl border border-white/10 bg-white/3 p-6 text-center backdrop-blur-sm">
<p className="text-sm font-medium uppercase tracking-[0.3em] text-cyan-200">
Basic Workflow
</p>
<p className="mt-4 text-base text-gray-100">{workflow}</p>
</div>
</Container>
</section>
)
}