Staaarter

Drinks Menu

Beverage menu with glass/bottle pricing columns, category icons, and organized sections for cocktails and wines. Perfect for bar menus and drink lists.

By Staaarter Team
Food
Docs
Live preview

Docs

Installation

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

npx shadcn add https://staaarter.com/r/drinks-menu.json

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

Usage

The file also exports food29Demo, 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 { Food29, food29Demo } from "@/components/blocks/food/food29";

export default function Page() {
  return <Food29 {...food29Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNode"Drinks Menu"Section heading.
descriptionstringundefinedSection intro text.
sectionsDrinkSection[]noneMenu sections (e.g. Cocktails, Wines), each with its own icon and item list.
classNamestringnoneExtra classes for the outer section element.

Types

type DrinkItem = {
  name: string;
  description?: string;
  glassPrice?: string;
  bottlePrice?: string;
};

type DrinkSection = {
  title: string;
  icon: LucideIcon;
  items: DrinkItem[];
};

Behavior notes

  • Every section always shows both a Glass and Bottle price column; an item missing one of the two prints an em-dash placeholder rather than collapsing the column, so items within a section stay aligned.
  • Section icons are passed directly as LucideIcon component references in the sections array, since this is a plain server component (no client-boundary restriction on function-valued props applies here).
  • Prices are plain display strings (e.g. "$14"), not parsed or formatted as currency.
  • This block has no shared UI-kit dependencies (no Button/Badge/Avatar/MediaSlot) - just semantic-token markup and lucide-react icons.