Zostel
Stays Activity Card

Activity Card

Something on at the house, a game night, a walk, a cruise: its picture, name, when it runs, what it costs and the schedule.

Preview

On at the Zostel this week

Sunset on the beach

Every evening

Free

Icebreaker night

Wednesdays, in the common room

Pay at the house

The activities are samples; the pictures are Goa's covers, standing in for photos.

Usage

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

<ActivityCard
  title="Sunset on the beach"
  when="Every evening"
  cost="Free"
  imageUrl={activity.photo}
  scheduleHref={`/activities/${activity.id}`}
/>

Props

title
Type: string
Default: —

What’s on.

when · cost
Type: string · ReactNode
Default: —

When it runs; what it costs, as you print it.

imageUrl
Type: string
Default: —

Its picture.

scheduleHref · onSchedule · scheduleLabel
Type: string · (e) => void · string
Default: "See the schedule"

The schedule: a link (scheduleHref) or a button (onSchedule), never both; its words. The link passes through safeHref.

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

The title’s element.

className
Type: string
Default: —

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

On zostel.com

A stay’s page shows “Daily activities happening at this Zostel” (with a New tag) and opens them as cards: the picture, the name, day or evening, free or pay at the property, and View schedule. In the kit each is the card rule, and the schedule link names its activity for a screen reader.