Northwind Landing
A complete SaaS landing page built from Sundae sections: hero, logo strip, features, metrics, testimonials, pricing, call to action and footer.
Overview
A whole page, ready to make yours. A nav that turns frosted once you scroll leads into Aperture Hero, a paused-on-hover logo strip, Chapter Features, Metric Strip, Testimonial Columns and Odometer Pricing, then a closing call to action with huge type over a fading grid, and a four-column footer.
Every section is a real Sundae component shipped alongside the page, so each one keeps working on its own and can be reordered, removed or reused elsewhere. The nav links scroll to the sections they name.
One installs it all: the page and its five sections land side by side in components/sundae. Light and dark (.dark), the page font, no animation library, and reduced motion respected throughout.
When to use
- Starting a whole site or app from a finished, consistent base.
When not to use
- Adding one section to an existing design.
Installation
pnpm dlx shadcn@latest add https://sundaeui.dev/r/northwind-landing.jsonnpx shadcn@latest add https://sundaeui.dev/r/northwind-landing.jsonyarn dlx shadcn@latest add https://sundaeui.dev/r/northwind-landing.jsonbunx --bun shadcn@latest add https://sundaeui.dev/r/northwind-landing.jsonWorks in any React project. Files are written to components/sundae/. Read the source in the stage’s Code view. Pro assets need a personal token. See authenticated installs.
- No dependencies beyond React 18 or later.
- Copy northwind-landing.tsx and northwind-landing.css and aperture-hero.tsx and aperture-hero.css and chapter-features.tsx and chapter-features.css and metric-strip.tsx and metric-strip.css and testimonial-columns.tsx and testimonial-columns.css and odometer-pricing.tsx and odometer-pricing.css into components/sundae/.
- The CSS file is imported by the component, so no extra configuration is needed.
- Import the component and use it as shown below.
Usage
import { NorthwindLanding } from '@/components/sundae/northwind-landing'
export default function Page() {
return <NorthwindLanding brand="Northwind" />
}
// Then edit the copy in components/sundae/northwind-landing.tsx.Props
| Prop | Type | Default |
|---|---|---|
brandProduct name used in the nav, copy and footer. | string | 'Northwind' |
navNav links. Defaults point at the page’s own sections. | { label: string; href: string }[] | — |
logosNames for the logo strip. | string[] | — |
Accessibility
- Landmarks: header with a labelled primary nav, main, footer with labelled link groups.
- The logo strip is read once as text; the moving copy is aria-hidden.
- Each section keeps its own accessibility behaviour (see their pages).
Customization
- Edit the copy in place in northwind-landing.tsx; every section takes its content as props.
- Colours for the nav, CTA and footer are --nl-* custom properties; each section has its own tokens.
- The example quotes and figures are placeholders. Replace them with your own before publishing.
FAQ
- Is Northwind Landing free?
- Northwind Landing is part of Sundae Pro. The live preview is open to everyone; the source installs with a Pro account.
- How do I install Northwind Landing?
- Run npx shadcn@latest add https://sundaeui.dev/r/northwind-landing.json. The files are written to components/sundae/. It has no dependencies beyond React 18 or later.
- Does Northwind Landing support keyboard and screen readers?
- Landmarks: header with a labelled primary nav, main, footer with labelled link groups. The logo strip is read once as text; the moving copy is aria-hidden.
- Does Northwind Landing respect reduced motion?
- Yes. With prefers-reduced-motion set, decorative motion is removed and state changes are instant.
More like this
All templates →- Pro
Ledger Dashboard
Templates · Refined Atelier
Templates · Editorial- Pro
Aperture Hero
Sections · Refined - Pro
Odometer Pricing
Sections · Refined - Pro
Ledger Pricing
Sections · Editorial - Pro
Chapter Features
Sections · Refined