A product page that shows the software rather than listing it: a media-first hero floating a live appointment card, a three-tab tour of the screens a team lives in, a three-phase rollout timeline, an inverted band of customer quotes, a closing call to action and a newsletter footer.
Composed from 7 blocks. Installing this page installs all of them, plus the pieces and primitives they use.
Built in the Sirius collection.
A product page that shows the software rather than listing it: a media-first hero floating a live appointment card, a three-tab tour of the screens a team lives in, a three-phase rollout timeline, an inverted band of customer quotes, a closing call to action, and a newsletter footer. 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/platform1?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the page to components/beste/page/platform1.tsx and everything behind it: the seven blocks it composes (navbar74, hero164, showcase46, workflow47, testimonial42, cta74, footer119), the six components they use (browser35, calendar31, dashboard32, chat33, button21, badge23) and the shadcn/ui tabs, input and button primitives. Fourteen files.
The installed file exports platform1Demo alongside the page: the exact props behind the preview above. Spread it to get a working page in one line.
import { Platform1, platform1Demo } from "@/components/beste/page/platform1";
export default function Page() {
return <Platform1 {...platform1Demo} />;
}Each section is a separate prop, so the usual next step is to keep the demo and replace one section at a time.
import { Platform1, platform1Demo } from "@/components/beste/page/platform1";
export default function Page() {
return (
<Platform1
{...platform1Demo}
rollout={{
label: "Rollout",
heading: "Live in three weeks, not three quarters.",
phases: [
{ title: "Week one", description: "We import your records and check them with you." },
{ title: "Week two", description: "Your team runs a real day beside the old system." },
{ title: "Week three", description: "The old system is read only." },
],
}}
/>
);
}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 Navbar74> | – | Capsule navbar, transparent over the hero |
hero | ComponentProps<typeof Hero164> | – | Media-first hero floating an appointment card |
tour | ComponentProps<typeof Showcase46> | – | Three-tab tour of the product screens |
rollout | ComponentProps<typeof Workflow47> | – | Three-phase rollout timeline |
testimonial | ComponentProps<typeof Testimonial42> | – | Customer quotes |
cta | ComponentProps<typeof Cta74> | – | Closing call to action |
footer | ComponentProps<typeof Footer119> | – | Newsletter footer |
className | string | – | Extra classes for the page's outer wrapper |
| Section | Block | Notes |
|---|---|---|
| Navbar | navbar74 | Sticky and transparent, so the hero runs under it |
| Hero | hero164 | The floating card is calendar31, a real component |
| Tour | showcase46 | Given bg-muted/40; the tabs hold their own state |
| Rollout | workflow47 | Three phases, matched to the layout |
| Quotes | testimonial42 | Rendered on the inverted band |
| Closing | cta74 | One decision, one button |
| Footer | footer119 | Newsletter capture, hence the shadcn input dependency |
rollout removes that section entirely rather than rendering an empty one.sticky top-0 z-50 bg-transparent by the page. The transparent background is deliberate and is what lets the hero's media run under the bar; it works because hero164 is media-first, and it would not work over a hero whose copy starts at the top.browser35, dashboard32, chat33, calendar31), not screenshots, so they inherit your theme and typography rather than shipping someone else's.dark class, which swaps the theme tokens for that subtree, so the block's cards and borders follow the switch rather than staying light on a dark rectangle.className="bg-muted/40" on the tour after spreading tour, so a className passed inside that prop is overridden.hero164 keeps its floating card inside a centred max-w-7xl row: the background runs to the edges but the card does not drift into the far corner on a widescreen display.navbar74
A navbar contained in a softly rounded, bordered capsule with a lowercase wordmark, uppercase links, an accent call to action, and a matching mobile panel.
hero164
A hero that opens on a full-bleed image band with a live phone frame anchored into it, then sets the eyebrow, light display heading, paragraph, and actions underneath rather than above.
showcase46
A tabbed showcase with an eyebrow over a hairline rule and a two-column heading, where each tab reveals a light title, checked bullets, and an image tile floating a live product micro-asset.
workflow47
An implementation timeline laid out as three hairline columns, each opening with a week marker over a phase title, a short explanation, and a checked deliverable list, closing on a soft summary strip.
testimonial42
A testimonial grid with an eyebrow over a hairline rule, a two-column heading, and three bordered quote cards each closing with an author avatar, name, and role.