SPR-606 Games per Team
The missing piece of the scheduler is to be able to produce a team matrix then manually allocate games to dates.
Requirements
Specify n games to be played per team
Step to refine how many games are played per team
Calendar mode to allocate games to a date
UX
This depends on the draft games revamp, which will change the draft creation flow so that it works as a modal which has multiple steps.
Game generation
The games per team method option would enable an additional step that isn’t otherwise shown when using the total rounds method
Total games per team must be an even number to avoid unbalanced schedules
The matrix will be a grid of all teams (similar to analysis) showing how many games are played between each team
Values are based on the games per team value entered in the first step and may be manually adjusted in the matrix by the user
Totals should be shown at the bottom of each column to indicate how games are being played by the team to highlight any discrepancies immediately
Date allocation
Games may be produced without a date. The current calendar depends on a date to be able to show the events at each arena, so we need to add an additional mode toggle to the calendar to allocate dates to games
This would be a month calendar grid (similar to the availability calendar) where selecting the game would instead show a full month view and a list of game numbers to show when either team is playing a game
We might be able to use icons/colours to signify which team’s game it is
Could also show a weekly view with an all day section at top (similar to most calendar) so we can show more game details and reuse existing components. Tradeoff is viewing a shorter period of days at once
This would be a quicker initial starting point before creating a monthly calendar grid
Implementation
Games per team generation TODO
https://spordle.atlassian.net/browse/SPR-609
Add configuration and implement the library
Monthly calendar view TODO
https://spordle.atlassian.net/browse/SPR-754
https://spordle.atlassian.net/browse/SPR-487
Initially, this would be a read-only mode to provide a zoomed out view
Extend the monthly view to be able to drag and drop games to allocate dates