Staaarter

Online Ordering Hub

Delivery platform cards with logos, fees, and delivery times alongside pickup info with address and phone. Perfect for food delivery integrations and takeout ordering.

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 button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/online-ordering-hub.json

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

Usage

The file also exports food3Demo, 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 { Food3, food3Demo } from "@/components/blocks/food/food3";

export default function Page() {
  return <Food3 {...food3Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNode"Order online"Section heading.
descriptionstringnoneSection intro text below the heading.
platformsDeliveryPlatform[][]Delivery platform cards, each with a fixed icon chosen by array position.
pickupPickupInfononePickup details banner, omitted entirely when not passed.
classNamestringnoneExtra classes for the outer section element.

Types

type DeliveryPlatform = {
  name: string;
  feeLabel: string;
  etaLabel: string;
  href?: string;
};

type PickupInfo = {
  address: string;
  phone: string;
  hoursLabel: string;
};

Behavior notes

  • Platform icons cycle through a fixed 3-icon set indexed by array position, standing in for each platform's real logo, rather than accepting an icon prop per platform.
  • The platform grid and the pickup banner render independently: either can be omitted (empty platforms array, or no pickup prop) without leaving broken layout behind.
  • This is a plain server component: every button is a real link via the render prop, with no client-side state or event handlers.