Block Variants

33 swappable block variants across 8 categories, configured from siteConfig.

LaunchFst includes 33 block variants across 7 categories. Every landing page section has multiple design options you can swap with a single config change.

Categories

Heroes (4 variants)

VariantFileDescription
centeredhero-centered.tsxHeadline + CTA centered, screenshot below
splithero-split.tsxText left, image/demo right
videohero-video.tsxBackground or inline video hero
producthero-product.tsxProduct screenshot focus with minimal text

Features (4 variants)

VariantFileDescription
gridfeatures-grid.tsxResponsive card grid
bentofeatures-bento.tsxBento box layout with mixed sizes
asymmetricfeatures-asymmetric.tsxAlternating left/right sections
tabsfeatures-tabs.tsxTabbed feature showcase

Pricing (3 variants)

VariantFileDescription
cardspricing-cards.tsxStandard pricing cards
simplepricing-simple.tsxMinimal single-tier layout
comparisonpricing-comparison.tsxFeature comparison table

Testimonials (4 variants)

VariantFileDescription
marqueetestimonials-marquee.tsxInfinite scroll marquee
gridtestimonials-grid.tsxStatic card grid
carouseltestimonials-carousel.tsxSwipeable carousel
featuredtestimonials-featured.tsxSingle featured testimonial

FAQ (3 variants)

VariantFileDescription
accordionfaq-accordion.tsxExpandable accordion
two-columnfaq-two-column.tsxTwo-column layout
categorizedfaq-categorized.tsxGrouped by category

CTA (5 variants)

VariantFileDescription
centeredcta-centered.tsxFull-width centered headline + button
splitcta-split.tsxText + checklist left, stats card right
bannercta-banner.tsxPrimary-colored full-width banner
cardcta-card.tsxCentered card with gradient border glow
minimalcta-minimal.tsxSimple inline text + link

Dashboard Widgets (10 variants)

VariantFileDescription
stat-simplewidget-stat-simple.tsxNumber + label
stat-chartwidget-stat-chart.tsxNumber + sparkline
stat-progresswidget-stat-progress.tsxNumber + progress bar
chart-areawidget-chart-area.tsxArea chart card
chart-barwidget-chart-bar.tsxBar chart card
chart-donutwidget-chart-donut.tsxDonut chart card
chart-sparklinewidget-chart-sparkline.tsxCompact sparkline
activity-feedwidget-activity-feed.tsxRecent activity list
recent-userswidget-recent-users.tsxLatest registered users
quick-actionswidget-quick-actions.tsxQuick action buttons grid

Switching Variants

Update the design object in lib/config/site.ts:

design: {
  heroStyle: "centered",       // centered | split | video | product
  headerStyle: "default",      // default | centered | minimal | floating | bordered
  featuresLayout: "grid",      // grid | bento | asymmetric | tabs
  testimonials: "marquee",     // marquee | grid | carousel | featured
  ctaStyle: "centered",        // centered | split | banner | card | minimal
  // ...
}

How Blocks Load

Blocks are loaded dynamically based on the design config. The landing page assembler reads siteConfig.design and renders the matching component for each section. All blocks live in components/blocks/ organized by category.

components/blocks/
  heroes/          — 4 hero layout variants
  features/        — 4 features section variants
  pricing/         — 3 pricing layout variants
  testimonials/    — 4 testimonials variants
  faq/             — 3 FAQ layout variants
  cta/             — 5 CTA section variants
  dashboard-widgets/ — 10 chart + stat widgets
  backgrounds/     — 6 hero background presets
  headers/         — site-header.tsx (single file, style via headerStyle config)
  templates/       — 5 full-page landing templates
  marketing/       — shared marketing components

Each block receives its content from siteConfig (headlines, items, CTAs) so you can swap variants without changing any copy.

Demo Mode — Explore freely. Some actions are restricted. demo@launchfst.dev / demo1234

Get LaunchFst →