Skip to content

Add ability to save multiple timetables #3961

Open
@ryanozx

Description

@ryanozx

Is your feature request related to a problem? Please describe.

When planning a timetable, we often want to create multiple versions and decide between them. Currently, we can only save a single timetable in NUSMods.

Describe the solution you'd like

As mentioned in #3727, a scrollable panel could be added to the timetable page, displaying several timetable slots. Each slot would contain a user-defined name (default-generated if none is specified) and the module codes of the modules added to that slot. Clicking each slot would render the corresponding timetable. There will always be at least one timetable slot, and the currently selected/default timetable slot will be displayed on the Today page.

Next, we could enhance the "Add to Semester" button by adding more options to the dropdown menu, allowing users to specify which timetable slots they want to add or remove the module from. The dropdown might list each timetable slot name with toggles beside them.

Describe alternatives you've considered

Since the dropdown list with toggles could be unwieldy, a possible alternative is to replace the "Add to Semester" button with an "Add to Timetable" button, which adds the module to a basket of modules. From the Timetable page, the user could select which modules in the basket to add/remove from the currently selected timetable slot. However, this solution is likely more complex, and I haven't figured out how detecting timetable clashes will work in this scenario.

Additional context

I am happy to accept any suggestions/alternatives!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions