Zostel
Site Offer Banner

Offer Banner

Stays on offer, one at a time: the picture, and on a Steel Grey plate the stay, the place, the offer and Explore. The rest wait as thumbnails.

Preview

Zostel Bangalore

Bangalore, Karnataka

Filter coffee, gigs and gardens. Bangalore runs on all three.
This week
Explore Zostel Bangalore

The demo shows each place's line where an offer would go.

Usage

tsx
import { OfferBanner } from "zostel-ui";

<OfferBanner
  offers={[
    { id, title: "Zostel Bangalore", place: "Bangalore, Karnataka", imageUrl, offer: offerLine, badge: "20% off", href },
    …
  ]}
  label="Limited time offers"
/>

Props

offers
Type: OfferBannerItem[]: { id; title; place; imageUrl; offer?; badge?; href? }
Default: —

The stays on offer. offer is printed as you give it (a rate, a saving, a line); badge is the short tag beside it; href is the stay’s page (http, https or relative: anything else shows no link).

actionLabel
Type: string
Default: "Explore"

The link’s words.

label
Type: string
Default: "Offers"

The banner’s name.

titleAs
Type: "h2" | "h3" | "h4" | "p"
Default: "h3"

Each stay’s name’s element, so it sits in the page’s outline.

className
Type: string
Default: —

More classes, merged with the component’s own (tailwind-merge).

On zostel.com

The home page’s limited-time offers. Words never sit on a photo here: they go on a flat Steel Grey plate (under the picture on a phone). The thumbnails are toggle buttons (pressed = on show) and the round controls step through.