Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Meetups Team Block for React

Four community organisers as rows with a twelve-month cadence strip, filled where a meetup ran, plus the next topic, when the group meets, its members and a Remind me toggle.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A meetups section for React with Base UI, written for Whitbarrow, a fictional community-events app. A centred header says how many organisers there are and how to read the strips. Under it, four rows run rail to rail and the last ends the block. Each row has the organiser (an initials avatar, a name and their group), a badge with the cadence in words ("Almost every month", "Every quarter" or "7 of 12 months"), and a strip of twelve cells under the name: filled for a month the group met, hollow for a month it didn't, with the month's initial under each. At the end of the row sit the next topic and when the group meets ("Second Thursday"), the member count and a Remind me toggle. Reminders live on the page only: nothing is sent. From lg the row is two columns; on a phone it stacks. It is built from Toggle, Badge, Avatar and Guides with your theme's tokens. The groups, topics and people are made up for the example.

FAQ

How do I change the groups and the strips?

Edit GROUPS at the top of the file. A group has an organiser, a name, a member count, a rhythm (meets), the next topic and held: twelve characters, January first, with x for a month the group met and . for a month it didn't. The cadence badge is worked out from the number of xs, and the strip, its screen-reader text and the labels all come from the same twelve characters.

How is a strip read without seeing it?

The strip is a list of twelve months and each month's item carries text ("March, meetup held" or "March, no meetup"); the filled and hollow cells are hidden from assistive technology, so a screen reader hears the facts, not the drawing. A hollow cell is an outline and a filled one is solid, so the strip reads without colour.

What does Remind me do?

It changes the page and nothing else: the toggle is pressed, its bell becomes a check and a polite status line says how many reminders you set. Nothing is sent and a reload clears it. To make it real, call your own endpoint in the toggle's change handler. The toggle takes pressed and onPressedChange.

Why does the next meetup say Second Thursday and not a date?

A date would be true once. "Second Thursday" is a rhythm that stays true, and the block never reads the clock. If you do want a date, add it to the group and format it where you render the row.

How does it fit on a phone?

Each row stacks: the organiser and the cadence badge, the twelve-cell strip (still twelve cells at 320 pixels), then the next topic, the member count and the toggle. Nothing scrolls sideways.

Does it work right to left?

Yes, with one exception on purpose: the strip is drawn left to right in a dir="ltr" box because January to December is a time series. The member counts are wrapped in bdi.

  • Pro

    Speaking Events Team

    Interests and clubs

    Upcoming and Past tabs over talk rows led by a calendar tile, each opening to topics, an abstract and, for past talks, a Slides link; Upcoming ends in an invitation to book a speaker and Past is a two-column archive.

  • Pro

    Podcasts Team

    Interests and clubs

    A podcast host's own show: the latest episode in a framed cell with a drawn waveform and a Listen link, over earlier episodes as rows with a length bar and a Newest or Longest switch.

  • Pro

    Book Club Team

    Interests and clubs

    A split showing a bookshop's current club read, with a chapter progress bar, the members reading along and the next meeting, beside a drawn cover plate, over a band that opens the past reads.

  • Pro

    Event announcements as ticket stubs: a date tile, a perforated edge, the title, the place, a seats bar and a Register link.

  • Pro

    Weekly office hours of a pair-programming service: five day tabs, each with three engineers' half-hour slots as pills, and a single Shine Button that reads 'Book Thu 14:00 with Noor' once a slot is picked.

  • Pro

    Reading Picks Team

    Interests and clubs

    One teammate's three recommendations, a book, an article and a talk, as hairline rows with a kind badge, a link, a one-line reason and a Save toggle that counts how many colleagues saved it.