A high-contrast agency home page: masthead navbar with status and location, a hero with twin scrolling image reels, a four-phase process flow, a project showcase grid, a rotating client quote, a statement call to action, and a footer that opens with its own CTA.
Composed from 7 blocks. Installing this page installs all of them, plus the pieces and primitives they use.
Built in the Polaris collection.
A high-contrast agency home page: a masthead navbar with status and location, a hero built from twin scrolling image reels, a four-phase process flow, a project showcase grid, a rotating client quote, a statement call to action, and a footer that opens with its own CTA. Seven blocks, one install.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
npx shadcn add "https://ui.beste.co/page/r/home3?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the page to components/beste/page/home3.tsx and everything behind it: the seven blocks it composes (navbar41, hero116, workflow26, portfolio101, testimonial27, cta64, footer103), the button1 and badge6 components they use, and the shadcn/ui button primitive. Ten files, no follow-up installs.
The installed file exports home3Demo alongside the page: the exact props behind the preview above. Spread it to get a working page in one line.
import { Home3, home3Demo } from "@/components/beste/page/home3";
export default function Page() {
return <Home3 {...home3Demo} />;
}Each section is a separate prop, so the usual next step is to keep the demo and replace one section at a time.
import { Home3, home3Demo } from "@/components/beste/page/home3";
export default function Page() {
return (
<Home3
{...home3Demo}
process={{
label: "Process",
heading: "Four phases, and you see the work in all of them.",
steps: [
{ title: "Read the room", description: "Two weeks with your team, your data and your customers." },
{ title: "Decide the argument", description: "One sentence the whole brand has to defend." },
{ title: "Make it", description: "Identity, packaging and the campaign that carries them." },
{ title: "Hand it over", description: "A system your team runs without calling us." },
],
}}
/>
);
}Every prop is the full prop object of the block that renders that section, so anything the block accepts is accepted here.
| Prop | Type | Default | Description |
|---|---|---|---|
navbar | ComponentProps<typeof Navbar41> | – | Masthead with status and location |
hero | ComponentProps<typeof Hero116> | – | Twin scrolling image reels |
process | ComponentProps<typeof Workflow26> | – | Four-phase process flow |
work | ComponentProps<typeof Portfolio101> | – | Project showcase grid |
testimonial | ComponentProps<typeof Testimonial27> | – | Rotating client quote |
cta | ComponentProps<typeof Cta64> | – | Statement call to action |
footer | ComponentProps<typeof Footer103> | – | Footer opening with its own CTA |
className | string | – | Extra classes for the page's outer wrapper |
| Section | Block | Notes |
|---|---|---|
| Navbar | navbar41 | Masthead layout; not sticky, since the hero reels run under it |
| Hero | hero116 | Two reels scrolling in opposite directions |
| Process | workflow26 | Given bg-muted/50 by the page |
| Work | portfolio101 | Card grid, so item counts that fill the row read best |
| Quote | testimonial27 | Also given bg-muted/50, tying it to the process band |
| Closing | cta64 | Dark inside the block already, so the page adds no wrapper |
| Footer | footer103 | Leads with a CTA of its own |
process removes that section entirely rather than rendering an empty one.className="bg-muted/50" on both the process and quote sections after spreading their props, so a className passed inside those props is overridden. Tint from the page, not through the prop.dark wrapper on this page: cta64 is already dark inside the block, so wrapping it would invert an inversion and hand back a light band.navbar41
Two-tier studio navbar with an availability utility strip, square-mark wordmark, index-numbered links and a seal CTA.
hero116
Editorial hero with twin vertical image marquees scrolling in opposite directions beside the headline.
workflow26
Horizontal connected process steps with numbered nodes on a continuous rail.
portfolio101
Portfolio grid of project cards with hover-zoom imagery, numbered titles, category tags and a seal arrow link.