Files
logos-web/apps/web/components/sections/technology-stack/tech-overview-stack.tsx
T
JulesFILIOT ea6ac520e9 fix(web): show tech stack section mobile design up to 1366px site-wide
Move the diagram breakpoint to min-[1367px] (flag renamed desktopAt1367)
and pass it from the shared explorer so detail pages match. Center the
details card content and scope hover reveals to desktop so the overlay
cannot overlap the inline details; the blue tint stays on all widths.
2026-06-10 16:52:34 +09:00

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:px-3 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-25 md:w-auto md:-translate-x-0 md:-mx-3"
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 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>
)
}