Add To Calendar Reminder

(Mark your calendar)

Doors open

Thursday, October 24

We go live at 09:00 with an open studio session. Drop it in your calendar and we'll take it from there.

Or add it straight toGoogleAppleOutlook
About this block

Add To Calendar ReminderPRO

A centered launch-reminder section with a monospace parenthetical eyebrow, a kicker, an oversized launch-date heading, a supporting line, an add-to-calendar pill button, and a row of calendar-provider links.

ComingSoon35: Add To Calendar Reminder

A monochrome, editorial centered launch-reminder section with a parenthetical eyebrow, a small kicker, an oversized launch-date heading, a supporting line, an add-to-calendar pill button, and a row of dot-separated calendar-provider links.

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.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/comingsoon35?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/comingsoon35?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/comingsoon35.tsx.

Quick start

The installed file exports comingsoon35Demo alongside the block: the exact props behind the preview above. Spread it to get a working reminder in one line.

tsx
import { ComingSoon35, comingsoon35Demo } from "@/components/beste/block/comingsoon35";

export default function Page() {
  return <ComingSoon35 {...comingsoon35Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { ComingSoon35 } from "@/components/beste/block/comingsoon35";

export default function Page() {
  return (
    <ComingSoon35
      badge={{ label: "Mark your calendar" }}
      heading="Thursday, October 24"
      description="We go live at 09:00 with an open studio session."
      button={{ label: "Add to your calendar", href: "/launch.ics" }}
      providers={[
        { label: "Google", href: "/calendar/google" },
        { label: "Apple", href: "/launch.ics" },
        { label: "Outlook", href: "/calendar/outlook" },
      ]}
      labels={{ kicker: "Doors open", providersCaption: "Or add it straight to" }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Parenthetical eyebrow rendered above the kicker via Badge7
labelsComingSoon35Labels{}Kicker line above the heading and the caption before the provider links
headingstringOversized launch-date heading
descriptionstringSupporting paragraph under the heading
buttonActionLinkAdd-to-calendar pill link rendered via Button12 with a CalendarPlus icon
providersActionLink[][]Dot-separated calendar-provider links
classNamestringExtra classes for the outer <section>
ts
type ComingSoon35Labels = {
  kicker?: string;
  providersCaption?: string;
};

type ActionLink = {
  label: string;
  href: string;
};

Behavior notes

  • There is no form or event callback: the button renders via Button12 asChild wrapping a Next.js <Link href={button.href} /> with a CalendarPlus icon, so it always points at a URL such as an .ics file.
  • The provider row renders only when providers is non-empty, mapping each entry to a Next.js <Link href={provider.href} /> with a middot separator between items (rendered for every entry except the last).
  • The eyebrow, kicker, heading, description, button, and provider caption each render only when their prop or label is present.
  • The heading is set at a text-4xl to md:text-6xl display scale, so the launch date reads as the visual anchor of the section.
  • Every string is plain text with no inline markup parsing, so HTML passed in shows as escaped text.

More Coming Soon blocks

View all Coming Soon
PRO

comingsoon32

Trusted By Waitlist

A centered pre-launch section with a monospace parenthetical eyebrow, a statement heading, a supporting paragraph, a waitlist pill button, and a captioned grayscale logo strip of early partners.

PRO

comingsoon25

Launch Day Announcement

An editorial launch-date announcement with a square eyebrow, a kicker, an oversized date headline paired with a supporting note and a dark seal remind-me button, above a three-column ruled list of launch facts.

PRO

comingsoon29

Upcoming Writing Grid

A newsletter-forward pre-launch section with a monospace parenthetical eyebrow, a heading and subscribe pill button on top, and a three-card grid of upcoming articles each with a kind label, title, and summary.

PRO

comingsoon50

Launch Readiness Progress

A coming-soon section on a soft muted card with a monospace parenthetical eyebrow, a heading, a launch-readiness percentage that counts up with an animated progress bar, a build-status row, and a working email notify form.

PRO

comingsoon22

Coming Soon Notify Page

A centered coming-soon launch page with a brand wordmark, a square eyebrow, an accent-highlighted heading, a working email notify form with a success state, a launch note, and a row of social links.

PRO

comingsoon27

Launch Roadmap Columns

A pre-launch roadmap laid out as three now-next-later columns with a monospace parenthetical eyebrow, a heading and changelog pill button on top, and ruled entry lists under each column header.