Build & Push Docker Image / build (push) Has been cancelled
Refresh the homepage around new hero/services/roadmap sections, shared design tokens, and updated brand assets. Co-authored-by: Cursor <cursoragent@cursor.com>
2.0 KiB
2.0 KiB
Container
The site has one content container. All sections, imported blocks, and future features must use it.
API
import { Container } from "@/components/container";
import { layout, containerClassName } from "@/lib/layout";
| Export | What it does |
|---|---|
<Container> |
Renders div with layout.container |
layout.container |
Class string for rare cases without the component |
containerClassName(extra?) |
Merges extras via cn |
Spec
| Property | Value |
|---|---|
| Display | Block, full width of parent |
| Max width | 76.8rem (1228.8px) — 20% wider than former max-w-5xl |
| Horizontal padding | 1.5rem (px-6) at all breakpoints |
| Centering | mx-auto |
| Vertical padding | None — vertical rhythm belongs on the <section> |
Full-bleed vs constrained
{/* Background spans viewport; content stays aligned */}
<section className={cn("section-shell bg-gradient-cta", layout.sectionY)}>
<Container className="section-content">
…
</Container>
</section>
Rules:
- Backgrounds, borders, and decorative washes may be full viewport width.
- Text, forms, card grids, and CTAs stay inside
<Container>. - Edge-to-edge imagery (hero photos, marquees) may break out only when the design intentionally requires it; any overlaid copy still uses
Container.
Replacing imported containers
When adapting Shadcn / Tailark / marketing blocks:
- Delete their
container,mx-auto max-w-*, and conflictingpx-*. - Wrap content with
<Container>(or applylayout.container). - Move vertical padding to
layout.sectionYon the outer<section>. - Keep inner
max-w-*only on prose columns.
Do not
- Create
ContainerSm,ContainerWide, or page-specific max-widths. - Use
px-4/px-8as section gutters (alwayspx-6via the shared token). - Apply
layout.containertwice (nested containers).