tailthemes
all-access

sent here for Greenroom

at a glance: Greenroom

events calendar dashboard templateReact and HTML source

dashboard

Greenroomevents calendar dashboard template

An events calendar dashboard template for scheduling and venue-operations products, built on a calendar you can operate from the keyboard.

Live Preview
$14
both modes at 1280px
Greenroom — Events Calendar Dashboard week page, light mode
Greenroom — Events Calendar Dashboard week page, light mode
Greenroom — Events Calendar Dashboard week page, dark mode
lightdark
128 / 128
light / dark tokens
2
modes, both designed
1
DOM, rendered twice
events calendar dashboard templatereact calendar dashboard templatenextjs scheduling dashboard templatetailwind event management templatevenue booking dashboard templatetailwind-v4
$14one-time · unlimited projects
20components · every one pictured below
Live Preview
  • unlimited projects, client work included
  • 12 months of updates
  • 14 days, no questions
license terms

AGENTS.md and 4 skills ship in the zip, so your own agent keeps changing it after you buy.

docs: install, use, customize
017

pages, composed from 11 sections

Every page is a real render from the publish gate, in the mode on show. Open any of them in the live preview.

Seven routes ship: a month overview with tonight's run order beside it, a week view with an hour grid, a booking detail, a holds work queue, a booking form, a programme settings page, and a living component styleguide. The month grid is an ARIA grid with one tab stop and the cell-entry pattern the specification writes: arrows walk days and weeks, PageUp and PageDown walk months, Enter steps into a day and moves focus to its first booking, Escape steps back out, and walking off the end of the month pages it. Minimum and maximum dates disable paging and arrow movement. Its signature is the occupancy tail: every public booking shows the hours the room is committed for, load-in to strike, so a 19:30 show reads as the 13:30 commitment it creates. In the week view that is a block whose height is the hold with the public hours banded inside it; on the detail page it is a four-mark ledger. Six programme strands carry the calendar's colour. A cancelled booking is struck through, a pencilled one has a dotted edge, and every strand has a dot and a name. The state layer includes filters that preserve themselves and tell a no-result from a first use, a form that validates on submit, focuses an error summary, keeps valid values and leaves a durable receipt rather than a toast, and a permission boundary explained in words instead of a dead disabled button. Every figure on every route derives from one fixture file, so no two pages can disagree about the same show. The palette has 128 tokens per mode, with its structural ramp authored in OKLCH on one neutral hue. Every pair is computed against its contrast tier, and the receipt reads the shipped stylesheet. Self-hosted Nunito, Figtree and Azeret Mono. Built for Tailwind v4, Next.js 15 and React 19; every colour lives in theme.css.

0211 + 9

sections and primitives

You get the parts, not just the demo site. Every frame is a real capture from the theme's own styleguide page, and the source path under it is where the file lands in your project. 17 frames cover them, with 4 primitives sharing the ui/* frame.

ui/event-calendar

src/components/ui/event-calendar.tsx

tt-ui event calendar — month, week and agenda

Greenroom events calendar dashboard template — ui/event-calendar component at full size
1 / 17
03128

tokens, both modes

Change one variable and every part follows. Each badge is one token split down the middle: its light value on the left, its dark value on the right, with the theme's own paired ink on both halves.

roles10 of 128

hover or tab a badge for its name and both values, enter copies

supporting81
radius
0.375rem
1rem
1.25rem
1.75rem
999px

The occupancy tail: every public booking draws the hours the room is genuinely held — load-in to strike — around the solid band of its public hours. In the week view the block's whole height is the hold, with the public hours banded inside the hatched field; on a month chip it is the same hatch inset on the leading edge; on /event it is a four-mark ledger of load-in, doors, curfew and strike. holdFor() computes all three from the booking's own minutes and throws on one that claims a hold with no public hours to hang it off, so an uncited hold cannot be published.

every token

043

typefaces, self-hosted

Real woff2 files in src/fonts/, wired through next/font and licensed under OFL. Nothing is fetched from Google at build time, so the zip renders these letterforms offline. Scale ratio 1.333.

Greenroom

An events calendar dashboard template for scheduling and venue-operations products, built on a calendar you can operate from the keyboard.

const { open, close } = useLedger("2026-03") // 0123456789

icons · lucide-react · stroke 2
13px
14px
16px
display
Nunito
text
Figtree
mono
Azeret Mono
scaleratio 1.333
  • captionAg
  • smallAg
  • bodyAg
  • leadAg
  • d1Ag
  • d2Ag
  • d3Ag
  • d4Ag
05375–1920

every width is a real render from the publish gate

Four viewports, each one a render the gate produced and checked. Switch between them: the frame narrows exactly as a window does, because that is what it is.

week page at 1280px, light mode
Greenroom events calendar dashboard template — week page at 1280px
1280
061

every token and every part on one page

The styleguide route is not documentation about the theme. It is a page in the zip that renders the real components from the real tokens, so it stays true the day you change one.

07113

files in the zip

Two independently authored editions: React for applications, plus ready HTML, CSS and vanilla JavaScript for static hosts.

what unzipsgreenroom-1.0.3.zip
  • AGENTS.mdthe theme's own rules, written for an agent
  • .claude/skills/4 skills, each one job
    • add-page/SKILL.mdAdd a Greenroom route with one operator job, the real AppShell fill/rail pattern, truthful manifest and styleguide wiring, an HTML twin, and current gates.
    • add-section/SKILL.mdAdd a Greenroom section or composition surface with fixture-derived facts, manifest and styleguide registration, an independently authored HTML twin, and current gates.
    • check-quality/SKILL.mdRun Greenroom's real repository gates, then audit its 7-route twin editions, 20-row manifest, 31-file tt-ui inventory, fixture spine, calendar keyboard model and visual invariants.
    • rebrand/SKILL.mdRebrand Greenroom across its 128-token light and dark tables, six strand families, three local typefaces, HTML edition and computed AA receipt.
  • src/
    • theme.css128 tokens, light and dark
    • fonts.tsthe faces, wired to the type tokens
    • app/7 files
    • components/11 files
      • ui/9 files
    • fonts/3 font files, 3 licenses, 1 markdown file
  • app/7 routes, plus layout.tsx and globals.css
  • theme.jsonthe manifest: tokens, components, pages
  • html/the framework-free edition
    • dist/7 compiled routes, deploy-ready — no build step
    • src/the Nunjucks source the routes compile from
  • scripts/build-html.ts · serve-html.ts — `bun run build:html` / `preview:html`
  • README.mdquickstart
  • 6 project filespackage.json · tsconfig.json · next.config.ts · postcss.config.mjs · env.d.ts · .gitignore
your agent reads these first
what it runs on
next >=15react >=19tailwind >=4HTMLlucide-reactrechartsstandard license
install into a project you already have
$ bunx shadcn add @tailthemes/greenroom

Your key goes in TAILTHEMES_LICENSE_KEY, and the registry entry goes in components.json. The snippet is on the docs page.

or run it standalone
$ unzip greenroom.zip && bun install && bun dev
Read this theme's AGENTS.md
084

skills your agent can run

Your agent reads AGENTS.md before it edits, then runs the skill that fits the change. The skills are the theme's own, and the publish gate makes an agent complete every one of them in a scratch copy before the theme goes live.

the source

20 components, 7 pages and 128 tokens, as a Next.js project.

the kit

AGENTS.md carries the design spec. Each skill is one job written against it.

add-pageadd-sectioncheck-qualityrebrand
your agent

Claude Code, Codex, or any agent that reads AGENTS.md. It runs on your machine, on your own account.

the new page

Built from the theme's own sections, on the same tokens and the same rhythm.

the spec travels with the code

The source is yours to run, edit and deploy.

The spec ships inside the folder, so the page your agent adds next month is built by the same rules as the ten it came with. Nothing calls back here.

What the standard license covers
before you decide
What do I actually get?
A runnable Next.js >=15 project — not a screenshot and not a component dump. 7 pages, 11 sections and 9 primitives, 128 light tokens with 128 dark overrides, self-hosted fonts, and every image generated for this theme. AGENTS.md and 4 skills ship inside the zip, so your own agent can keep changing it after you buy. The same pages also ship as a framework-free HTML edition, with local fonts and vanilla JavaScript.
Does it include the pages I'd otherwise have to build?
Greenroom ships august at quarry hall, this week, hour by hour, hollow bell, holds waiting on a decision, can we take this on?, strands and rooms and the parts. Every one of them is a real route in the project with real content — you can open all of them in the live preview before you pay, and what you see there is what unzips.
Will it work with my stack?
Built for Tailwind >=4, Next.js >=15 and React >=19. Runtime dependencies are lucide-react, recharts — nothing else is required. The styling is tokens and Tailwind utilities, so it drops into an existing app rather than asking you to adopt a framework.
How long before it stops looking like a template?
The palette, type and spacing are 128 named tokens in one file, with 128 overrides for dark mode — change those and every screen moves together, which is the whole reason the theme is built as a system rather than as pages. Nothing here claims a number of hours: how long it takes depends on how far you move it.
Can I use it for client work?
Yes. One payment, unlimited projects, client work included, and 12 months of updates. Fourteen days to change your mind, no questions asked. The full terms are published, and this page and that page are the same source.
the other half
Grove — home page

The dashboard needs a front door.

Greenroom is what your customers use. Grove is the page that gets them there — same Tailwind version, same token architecture, so the marketing site and the product do not look like two different companies.

activity
20
components
sections + primitives
7
pages
all in the preview
last updated
v1.0.3
roadmap
  • v1.0.3: The listing now opens on the week view, where each booking shows the hours the room is really held.
  • v1.0.2: Held bookings that want the same room at the same time are flagged as clashes, the holds queue says what blocks each pencil, and dark strands keep light's saturation.
  • v1.0.1: The styleguide's sheet specimen stays in its frame, the first hour label is whole, phone month dots are round with +N overflow, and held chips use the hatch.
  • v1.0.0 — seven-route events calendar console: month, week and agenda over one fixture spine, the occupancy tail on three routes, and the catalog's first keyboard-complete calendar
  • the vanilla calendar twin, and the framework-free HTML edition it unblocksplanned
  • a room-conflict view once buyer demand names oneplanned
for agents

This listing is also a markdown document and a JSON endpoint. The theme's own agent kit is on the kit and agents plates above.

/api/themes/greenroom
mcpsearch_themesget_themeget_componentdownload_theme