Skip to main content

Homepage & Sections

The homepage is the store entry at /. Theme developers decide layout; Join Markt supplies store + products.

Goals

  1. Brand / hero
  2. Path to browse or buy (product grid or CTA → /products)
  3. Trust (policies, support links)
  4. Fast first paint — avoid huge client bundles on Nunjucks; code-split on Vite

Nunjucks homepage (templates/home.njk)

In settings.json:
In template:

Vite homepage

Default template: src/pages/LandingPage.tsx (or equivalent route /). Pattern:
  1. Read useStore() / storefront bootstrap.
  2. Render Visual Builder sections when present (Hero, Features, Product grid).
  3. Fallback static layout if no section config.
Hero settings (Visual Builder) may include:
  • Headline, subcopy, CTAs
  • Optional hero image (imageUrl, showImage, imageScale)
  • Search / stats toggles
Product section = map products to cards linking to /product/:slug. Developers customize section components in the theme; sellers edit content in Visual Builder without touching code.

Empty & loading states

Always handle:
  • Loading — skeleton while storefront API resolves (Vite)
  • Empty catalog — “No products yet” instead of a blank grid
  • Hidden products — respect platform visibility; do not show drafts

See also