feat: redesign compute capabilities section with dark theme

- Updated ComputeCapabilities component with dark background, bordered container layout, and improved visual hierarchy
- Replaced icon components with technology-specific images (Kubernetes, VM, Linux)
- Standardized button color scheme across components (gray to white outline variant)
This commit is contained in:
2025-11-06 23:03:36 +01:00
parent c56f67ae2e
commit 0f2f6df299
10 changed files with 77 additions and 40 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
public/images/linux.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
public/images/vm.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -75,7 +75,7 @@ export function CloudArchitecture() {
<Button variant="solid" color="cyan" href="/start"> <Button variant="solid" color="cyan" href="/start">
Get Started Get Started
</Button> </Button>
<Button variant="outline" color="gray" href="/docs"> <Button variant="outline" color="white" href="/docs">
Explore Docs Explore Docs
</Button> </Button>
</div> </div>

View File

@@ -1,58 +1,95 @@
import { 'use client';
CpuChipIcon,
CubeIcon,
ServerIcon,
} from '@heroicons/react/24/solid'
import { Eyebrow, H3, P, CT, CP } from '@/components/Texts'
import { Container } from '@/components/Container' import { Container } from '@/components/Container'
import { Eyebrow, H3, P } from '@/components/Texts'
import { Button } from '@/components/Button'
const capabilities = [ const capabilities = [
{ {
name: 'Containers', title: 'Containers & K3s',
description: 'Services, web apps, APIs. Fully compatible with Kubernetes.', description:
icon: CubeIcon, 'Deploy services, web apps, and APIs with full Kubernetes compatibility.',
icon: (
<div className=" flex items-center justify-center">
<img src="/images/kubernetes.webp" alt="Kubernetes" className="h-full w-full object-cover" />
</div>
),
}, },
{ {
name: 'Virtual Machines', title: 'Virtual Machines',
description: description:
'Legacy apps and specialized runtime stacks. Secure boot + attestation included.', 'Run legacy apps and specialized stacks with secure boot and attestation.',
icon: ServerIcon, icon: (
<div className="flex items-center justify-center">
<img src="/images/vm.webp" alt="Virtual Machines" className="h-full w-full object-cover" />
</div>
),
}, },
{ {
name: 'Native Linux Workloads', title: 'Native Linux Workloads',
description: description:
'Agents, batch jobs, tooling. Runs statelessly anywhere.', 'Execute agents, batch jobs, and custom tooling statelessly across the grid.',
icon: CpuChipIcon, icon: (
<div className="flex items-center justify-center">
<img src="/images/linux.png" alt="Linux" className="h-full w-full object-cover" />
</div>
),
}, },
] ]
export function ComputeCapabilities() { export function ComputeCapabilities() {
return ( return (
<section className="bg-white py-24 sm:py-32"> <section className="bg-[#121212] w-full max-w-8xl mx-auto">
{/* Top horizontal spacer */}
<div className="max-w-7xl mx-auto py-6 border border-t-0 border-b-0 border-gray-800 bg-transparent" />
<div className="w-full border-t border-l border-r border-gray-800" />
{/* Boxed container */}
<div className="relative mx-auto max-w-7xl border border-t-0 border-b-0 border-gray-800 bg-[#111111] py-12">
<Container> <Container>
<div className="mx-auto max-w-3xl text-center"> <div className="mx-auto max-w-4xl sm:text-center">
<Eyebrow>CAPABILITIES</Eyebrow> <Eyebrow className="text-cyan-400">CAPABILITIES</Eyebrow>
<H3 className="mt-4 text-gray-900">What You Can Run</H3> <H3 className="text-3xl lg:text-4xl font-medium tracking-tight text-white">
<P className="mt-6 text-gray-600"> What You Can Run
Mycelium Compute supports multiple workload types on a single </H3>
execution fabric. <P className="mt-6 text-lg text-gray-300">
Mycelium Compute supports multiple workload types on a single execution
fabric, from legacy VMs to modern Kubernetes clusters.
</P> </P>
</div> </div>
<div className="mx-auto mt-16 max-w-5xl"> {/* Card layout */}
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-3"> <ul
{capabilities.map((feature) => ( role="list"
<div key={feature.name} className="flex flex-col text-center"> className="mx-auto mt-12 grid max-w-2xl grid-cols-1 gap-6 text-sm sm:grid-cols-2 lg:max-w-none lg:grid-cols-3 md:gap-y-10"
<div className="mx-auto flex size-12 items-center justify-center rounded-xl bg-cyan-50"> >
<feature.icon aria-hidden="true" className="size-6 text-cyan-600" /> {capabilities.map((capability) => (
</div> <li
<CT className="mt-6 text-gray-900">{feature.name}</CT> key={capability.title}
<CP className="mt-2 text-gray-600">{feature.description}</CP> className="rounded-xl border border-gray-800 bg-[#111]/60 p-6 text-center lg:text-left"
</div> >
{capability.icon}
<h3 className="text-lg font-semibold text-white">{capability.title}</h3>
<p className="mt-2 text-gray-400 leading-snug">{capability.description}</p>
</li>
))} ))}
</dl> </ul>
{/* Button section */}
<div className="mx-auto mt-12 flex justify-center gap-6">
<Button variant="solid" color="cyan" href="#">
Get Started
</Button>
<Button variant="outline" color="white" href="#">
Explore Docs
</Button>
</div> </div>
</Container> </Container>
</div>
{/* Bottom border + spacer */}
<div className="w-full border-b border-gray-800" />
<div className="max-w-7xl mx-auto py-6 border border-t-0 border-b-0 border-gray-800 bg-transparent" />
</section> </section>
) )
} }

View File

@@ -19,7 +19,7 @@ export function HomeHero() {
Start Hosting Start Hosting
</Button> </Button>
<Button href="#" variant="outline" color="gray"> <Button href="#" variant="outline" color="white">
Deploy in Cloud <span aria-hidden="true"></span> Deploy in Cloud <span aria-hidden="true"></span>
</Button> </Button>
</div> </div>