Staaarter

Two Column Answer Grid

An always-open FAQ laid out as a two-column grid of numbered, hairline-separated question and answer entries. Closes with a soft support panel that pairs a short prompt with two actions.

By Staaarter Team
FAQ
Docs
Live preview

Docs

Installation

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

npx shadcn add https://staaarter.com/r/two-column-answer-grid.json

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

Usage

The file also exports faq80Demo, 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 { Faq80, faq80Demo } from "@/components/blocks/faq/faq80";

export default function Page() {
  return <Faq80 {...faq80Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"FAQ"Small label above the heading.
headingstring"All the answers, laid out plainly"Section heading.
descriptionstringnoneSupporting copy under the heading.
entriesFaqEntry[]noneNumbered question/answer entries, rendered in a 2-column grid in list order.
panelTextstring"Can't find what you're looking for?"Prompt text inside the closing support panel.
panelPrimaryLabelstring"Contact support"Label of the panel's primary (default variant) button.
panelSecondaryLabelstring"Browse docs"Label of the panel's secondary (outline variant) button.
classNamestringnoneExtra classes for the outer section element.

Types

type FaqEntry = { question: string; answer: string };

Behavior notes

  • All entries are always visible; there is no expand/collapse state, matching the brief's 'always-open' requirement.
  • Entries are numbered 01, 02, 03... in the order passed in entries, not by column position, so the numbering reads correctly down each column.
  • The 2-column grid stacks to a single column below the sm breakpoint, with hairline dividers between rows in both layouts.
  • The closing panel's two buttons (default and outline variant) have no href or onClick since this is a Server Component; they're inert placeholders for a real support flow.