Staaarter

Webinar Registration Split

A bordered container split into two columns. The left column carries the pitch heading and description, a hairline-divided table of practical facts (When, Duration), and a checked takeaway list. The right column is a softer-background panel holding a plain name/email registration form (no real submit handler) and a small host blurb with name, title, and avatar below it. Perfect for a live webinar or online workshop landing section.

By Staaarter Team
Event
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, avatar, avatar-initials dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/webinar-registration-split.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/event/event26.tsx instead.

Usage

The file also exports event26Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Event26, event26Demo } from "@/components/blocks/event/event26";

export default function Page() {
  return <Event26 {...event26Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading, e.g. "Free webinar".
headingReactNodenonePitch heading in the left column.
descriptionstringundefinedSupporting copy under the heading.
factsWebinarFact[]nonePractical facts rendered as a hairline-divided label/value table (e.g. When, Duration).
takeawaysHeadingstring"What you'll learn"Heading above the checked takeaway list.
takeawaysstring[]noneTakeaway items, each rendered with a check-circle icon.
host{ name: string; title: string; avatar?: { src: string; alt: string } }noneHost/speaker blurb shown below the registration form.
classNamestringnoneExtra classes for the outer section element.

Types

interface WebinarFact {
  label: string;
  value: string;
}

Behavior notes

  • This is a static, presentational block: the registration form has no onSubmit handler and the Save my seat button performs no real submission — there is no backend wired up.
  • The name and email inputs are plain, uncontrolled <Input> elements with real <Label htmlFor> associations, but they do not validate or persist anything.
  • The host blurb is a fixed name/title/avatar, not pulled from a real speakers directory.