Browse tests in month, week, and agenda views #59

Open
opened 2026-11-01 20:12:22 +00:00 by viacheslavshuka · 0 comments

Outcome

Users need a calendar view of tests alongside the lightweight upcoming list. Add FullCalendar Standard on demand using the same authorized discovery data.

Acceptance criteria

  • Opening the calendar loads its implementation. The initial upcoming list does not require that code.
  • Users can switch between month, week, and agenda views. Desktop defaults to week. Small screens default to agenda.
  • Views use the saved named timezone and the explicit absolute-time display contract. Cross-midnight and offset-changing events preserve their actual intervals.
  • Calendar navigation requests the visible date range and applies the discovery filters, joined/organized views, and show-all override.
  • Full sessions remain browsable and link to the ordinary waiting-list workflow where registration remains open.
  • Keyboard and touch users can navigate dates, switch views, and open a session. Availability editing remains a separate interaction.
  • Use FullCalendar Standard with only required plugins and locale data. No Premium dependency is needed.
  • Production measurements report calendar loading cost separately from the initial list. Do not add a fixed numeric performance gate.

Validation design

Use events crossing midnight and timezone transitions to detect date truncation and incorrect duration rendering. Verify that switching visible ranges changes requests without downloading full history. Test keyboard navigation and a mobile viewport with Playwright and axe. Measure the real production bundle and cold/warm route loads rather than inferring performance from the library name.

Dependencies

## Outcome Users need a calendar view of tests alongside the lightweight upcoming list. Add FullCalendar Standard on demand using the same authorized discovery data. ## Acceptance criteria - Opening the calendar loads its implementation. The initial upcoming list does not require that code. - Users can switch between month, week, and agenda views. Desktop defaults to week. Small screens default to agenda. - Views use the saved named timezone and the explicit absolute-time display contract. Cross-midnight and offset-changing events preserve their actual intervals. - Calendar navigation requests the visible date range and applies the discovery filters, joined/organized views, and show-all override. - Full sessions remain browsable and link to the ordinary waiting-list workflow where registration remains open. - Keyboard and touch users can navigate dates, switch views, and open a session. Availability editing remains a separate interaction. - Use FullCalendar Standard with only required plugins and locale data. No Premium dependency is needed. - Production measurements report calendar loading cost separately from the initial list. Do not add a fixed numeric performance gate. ## Validation design Use events crossing midnight and timezone transitions to detect date truncation and incorrect duration rendering. Verify that switching visible ranges changes requests without downloading full history. Test keyboard navigation and a mobile viewport with Playwright and axe. Measure the real production bundle and cold/warm route loads rather than inferring performance from the library name. ## Dependencies - [#54: Open Quorum on a filtered list of upcoming tests](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/54). Supplies discovery queries, filters, and navigation. - [#20: Display dates and deadlines in each user's saved timezone](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/20). Supplies saved-timezone rendering. - [#58: Offer available places to waiting testers with explicit acceptance](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/58). Provides the working waiting-list entry and offer workflow reached from full calendar sessions. ## Related work - [#28: Edit recurring availability with date overrides and overnight slots](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/28) - [#24: Keep browser data useful during slow or lost connections](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/24) - [#9: Enforce frontend correctness and report runtime performance](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/9)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
viacheslavshuka/quorum#59
No description provided.