Skip to content

feat(schedule): add days/stages lineup views - #149

Open
chiptus wants to merge 6 commits into
mainfrom
claude/issue-47-schedule-tab-reveal-levels
Open

feat(schedule): add days/stages lineup views#149
chiptus wants to merge 6 commits into
mainfrom
claude/issue-47-schedule-tab-reveal-levels

Conversation

@chiptus

@chiptus chiptus commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Schedule tab now renders a day-grouped lineup or a stage x day grid instead of the placeholder at days/stages reveal levels, with filters that follow the level.
Timeline and List sub-tabs share this one Lineup view below full, since neither's time-based layout is meaningful without exact times.

Closes #47

Verification

  • Load an edition at schedule_reveal_level = draft: Schedule tab (both Timeline/List) shows the unchanged "Schedule not yet published" placeholder.
  • Load an edition at days: Schedule tab shows day headers (Friday/Saturday/...) with set cards, no stage badge or time; Filters panel offers only a Day select.
  • Load an edition at stages: Schedule tab shows a day-sectioned grid of stage cards, still no times; Filters panel offers Day + Stage.
  • Load an edition at full: Timeline and List tabs render exactly as before (horizontal timeline / time-slot list), unchanged.

Generated by Claude Code

Copilot AI review requested due to automatic review settings July 10, 2026 15:58
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
upline Ready Ready Preview, Comment Jul 25, 2026 1:46pm

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Implements progressive rendering for the Schedule tab based on schedule_reveal_level, replacing the “not yet published” placeholder with day- and stage-grouped lineup views at lower reveal levels while preserving the existing Timeline/List time-based layouts at full.

Changes:

  • Swap Timeline/List sub-tabs to render a shared ScheduleLineupView when exact times can’t be shown.
  • Add new lineup components for days (day-grouped list) and stages (stage cards grouped by day), plus a reveal-aware filters panel.
  • Remove the old “not revealed” gating from the Timeline and ListSchedule components so gating happens at the tab/view level.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/pages/EditionView/tabs/ScheduleTab/TimelineTab.tsx Uses useScheduleReveal() to switch between the existing timeline and the new lineup view when times aren’t available.
src/pages/EditionView/tabs/ScheduleTab/list/ListTab.tsx Uses useScheduleReveal() to switch between existing list+filters and the new lineup view when times aren’t available.
src/pages/EditionView/tabs/ScheduleTab/list/ListSchedule.tsx Removes reveal-level placeholder gating so the parent tab controls the non-full rendering.
src/pages/EditionView/tabs/ScheduleTab/lineup/StagesLineupGrid.tsx New stage-by-day grid view for the stages reveal level.
src/pages/EditionView/tabs/ScheduleTab/lineup/ScheduleLineupView.tsx New shared lineup rendering path for Timeline/List below full, including reveal-level gating and shared filters.
src/pages/EditionView/tabs/ScheduleTab/lineup/LineupSetItem.tsx New set card UI used by the lineup views.
src/pages/EditionView/tabs/ScheduleTab/lineup/LineupFilters.tsx New reveal-aware filters UI (day-only at days, day+stage at stages).
src/pages/EditionView/tabs/ScheduleTab/lineup/DaysLineupView.tsx New day-grouped lineup list for the days reveal level.
src/pages/EditionView/tabs/ScheduleTab/horizontal/Timeline.tsx Removes reveal-level placeholder gating so the parent tab controls the non-full rendering.

Comment thread src/pages/EditionView/tabs/ScheduleTab/TimelineTab.tsx
Comment thread src/pages/EditionView/tabs/ScheduleTab/list/ListTab.tsx
Comment thread src/pages/EditionView/tabs/ScheduleTab/TimelineTab.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Comment thread src/pages/EditionView/tabs/ScheduleTab/lineup/LineupSetItem.tsx Outdated
Comment thread src/pages/EditionView/tabs/ScheduleTab/lineup/ScheduleLineupView.tsx Outdated
claude added 5 commits July 24, 2026 12:21
…al levels

Adds a shared Lineup view (day-grouped list, or stage x day grid) rendered
by both Timeline and List sub-tabs when schedule_reveal_level is below
full, replacing the generic placeholder. Filters follow the level: day
only at "days", day + stage at "stages". draft and full are unchanged.

Closes #47
Fix stage-grid set order leaking real performance sequence (sort
alphabetically like the days view instead of by real start time),
hide the "all times" badge when times aren't revealed yet, and
gate the placeholder on canShowDay instead of an implicit level check.
Seed four read-only fixture editions (draft/days/stages/full) under a
dedicated "reveal-test" festival so parallel test workers never need to
mutate a shared row to exercise each reveal level.
Timeline and List render the same lineup view until schedule_reveal_level
is "full", so the tab switcher was a no-op below that - hide it entirely
instead of showing two tabs that look identical.
- TimelineTab: consolidate the canShowTime branches into one ternary
  per review suggestion
- LineupSetItem: only render the set link when slug is present, to
  avoid a broken /sets/ link
- ScheduleLineupView: split into a wrapper that bails on draft before
  a child component fetches sets/stages, avoiding an unnecessary query
@chiptus
chiptus force-pushed the claude/issue-47-schedule-tab-reveal-levels branch from e6bbea5 to ab9c100 Compare July 24, 2026 12:21
Comment thread src/pages/EditionView/tabs/ScheduleTab/list/ListTab.tsx Outdated
Comment thread src/pages/EditionView/tabs/ScheduleTab/lineup/ScheduleLineupView.tsx Outdated
- consolidate ListTab's FestivalTimeBadge into the canShowTime branch
- drop redundant comment in ScheduleLineupView
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-mode Schedule tab UX for days/stages reveal levels

3 participants