mirror of
https://github.com/logos-co/logos-web.git
synced 2026-08-31 06:01:26 +00:00
81 lines
2.8 KiB
TypeScript
81 lines
2.8 KiB
TypeScript
import Image from 'next/image'
|
|
|
|
import type { TechStackOverviewSection } from '@repo/content/schemas'
|
|
|
|
import { OverviewMediaPanel } from '@/components/sections/shared/overview-media-panel'
|
|
import { TechStackDiagram } from '@/components/sections/shared/tech-stack-diagram'
|
|
import ContentWidth from '@/components/layout/content-width'
|
|
|
|
type Props = {
|
|
data: TechStackOverviewSection
|
|
/**
|
|
* Where the networking row links to. Page-level concern (the section
|
|
* fixture covers the four pillars; the networking row is a shared link
|
|
* across pages).
|
|
*/
|
|
networkingHref: string
|
|
/** Where the foundation row links to. Same rationale as `networkingHref`. */
|
|
foundationHref: string
|
|
}
|
|
|
|
export default function TechOverviewStack({
|
|
data,
|
|
networkingHref,
|
|
foundationHref,
|
|
}: Props) {
|
|
return (
|
|
<section id="stack">
|
|
<div className="bg-brand-off-white px-0 pb-6 md:pb-25">
|
|
<ContentWidth>
|
|
{data.architecture ? (
|
|
<OverviewMediaPanel
|
|
className="relative left-1/2 mb-10 w-screen -translate-x-1/2 md:static md:left-auto md:mb-35 md:w-auto md:-translate-x-0 md:-mx-3 min-[1367px]:mb-50!"
|
|
eyebrow={data.architecture.eyebrow}
|
|
footerLabel={data.pillars[0].title}
|
|
title={data.architecture.title}
|
|
body={data.architecture.body}
|
|
cta={data.architecture.cta}
|
|
primaryCtaDefaultVariant="secondary"
|
|
image={
|
|
<div className="relative h-[317px] w-full overflow-hidden rounded-[24px] md:h-full">
|
|
<div className="absolute top-[-53px] left-0 h-[936px] w-full md:top-[-33px]">
|
|
<Image
|
|
src={data.architecture.image.src}
|
|
alt={data.architecture.image.alt}
|
|
fill
|
|
sizes="702px"
|
|
className="object-cover"
|
|
/>
|
|
</div>
|
|
</div>
|
|
}
|
|
/>
|
|
) : null}
|
|
|
|
<div className="flex flex-col gap-15 min-[1367px]:gap-25">
|
|
<div className="grid gap-3 pt-25 md:pt-0 min-[1367px]:grid-cols-2">
|
|
{data.title ? (
|
|
<h2 className="text-h4-sans min-[1367px]:text-h3-sans text-brand-dark-green">
|
|
{data.title}
|
|
</h2>
|
|
) : null}
|
|
{data.eyebrow ? (
|
|
<p className="text-mono-s w-[226px] text-brand-dark-green">
|
|
{data.eyebrow}
|
|
</p>
|
|
) : null}
|
|
</div>
|
|
|
|
<TechStackDiagram
|
|
data={data}
|
|
networkingHref={networkingHref}
|
|
foundationHref={foundationHref}
|
|
desktopAt1367
|
|
/>
|
|
</div>
|
|
</ContentWidth>
|
|
</div>
|
|
</section>
|
|
)
|
|
}
|