Launch FAQ Accordion

FAQ

Questions about the launch

Everything you need to know about what's coming, when it's arriving, and how it affects your account.

General

Technical

Still have questions?Reach out to our team
About this block

Launch FAQ AccordionPRO

Coming soon section with an expandable FAQ accordion addressing common questions about the upcoming launch. Perfect for reducing pre-launch support queries and building user confidence.

ComingSoon13: Launch FAQ Accordion

A centered coming-soon section that stacks an eyebrow badge, heading, and description above one or more titled FAQ groups, each rendering its question and answer pairs as a shadcn accordion, closed by an optional footer line with a contact link.

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/comingsoon13?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

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

Quick start

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

tsx
import { ComingSoon13, comingsoon13Demo } from "@/components/beste/block/comingsoon13";

export default function Page() {
  return <ComingSoon13 {...comingsoon13Demo} />;
}

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

tsx
import { ComingSoon13 } from "@/components/beste/block/comingsoon13";

export default function Page() {
  return (
    <ComingSoon13
      badge={{ label: "FAQ", variant: "secondary" }}
      heading="Questions about the launch"
      description="Everything you need to know about what's coming and when."
      groups={[
        {
          title: "General",
          initialOpenIndex: 0,
          items: [
            {
              question: "When is the expected launch date?",
              answer: "We're targeting Q3, with beta users getting access four weeks early.",
            },
            {
              question: "Is there a free tier?",
              answer: "Yes, the free tier includes all core features with generous limits.",
            },
          ],
        },
      ]}
      labels={{
        footerText: "Still have questions?",
        contactText: "Reach out to our team",
        contactHref: "/contact",
      }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Eyebrow badge rendered above the heading via the shadcn Badge, defaulting to the default variant
headingstringSection heading
descriptionstringSupporting paragraph under the heading
groupsFaqGroup[][]Titled FAQ groups, each holding its question and answer items and an optional initially open index
labels{ footerText?: string; contactText?: string; contactHref?: string }Footer line text plus the contact link label and href
classNamestringExtra classes for the outer <section>
ts
interface FaqItem {
  question: string;
  answer: string;
}

interface FaqGroup {
  title: string;
  items: FaqItem[];
  initialOpenIndex?: number;
}

Behavior notes

  • Each group renders its items inside a shadcn Accordion set to type="single" with collapsible, so at most one question per group is open at a time and clicking an open one closes it.
  • The block is a client component that watches a min-width: 768px media query with useState and useEffect; only on desktop does a group honor its initialOpenIndex as the accordion's defaultValue, and the accordion is re-keyed across the breakpoint so the default is reapplied.
  • The group layout adapts to count: one or two groups lay out in a centered flex row, three become a three-column grid, and four or more become a two-column grid.
  • The footer row renders when either labels.footerText or labels.contactText is set, and the contact link only appears when both contactText and contactHref are provided.
  • Questions and answers are rendered as plain text with no inline markup parsing, so HTML passed into either shows as escaped text.

More Coming Soon blocks

View all Coming Soon
PRO

comingsoon7

Launch Roadmap Timeline

Coming soon section with a vertical timeline showing launch phases, dates, and status indicators. Perfect for communicating a clear release plan and keeping users informed about upcoming milestones.

PRO

comingsoon14

Early Access Tiers

Coming soon section with tiered early access plans showing benefits, features, and availability for each level. Perfect for building a monetized waitlist with founding member perks.

FREE

comingsoon1

Countdown Timer Launch

Coming soon section with a live countdown timer showing days, hours, minutes, and seconds until launch. Perfect for product launches, event announcements, or building anticipation for new features.

PRO

comingsoon6

Waitlist with Avatars

Coming soon section with an email waitlist input, stacked subscriber avatars, and a live join count. Perfect for building early traction and social proof before launch.

PRO

comingsoon12

Before vs After Comparison

Coming soon section with a side-by-side comparison table showing current limitations versus upcoming improvements. Perfect for SaaS upgrades and product relaunches.

PRO

comingsoon63

Product Pre-Order Teaser

A product launch coming-soon section with a full-height product image beside a monospace parenthetical eyebrow, a product name, a tagline, a ship date, a working notify email form, and a spec grid.