Improve support for year long modules in the timetable
Since we finally know which modules are year long, we can finally add support for it. Year long modules have moduleAttributes.year set to true. For the timetable we can implement the following features:
- Link year long modules so that when they are removed from one semester's timetable they are removed from all. This can be implemented at the reducer level.
- Fix module credit calculations so that they will only be credited at the last semester offered. This can be implemented at the view level.
Hi @ZhangYiJiang ! may I know if this issue is taken? If not, I would like to see if this issue still can be implemented.
From what I can see, we would need to also modify the timetable state to include a new key to preserve the state of modules that last through semester one and semester two.
I was thinking of adding a new type similar to what #2913 implemented such as
export type Semester = number | 'yearlong';
As a result, we should we able to make modifications to the reducer also in an easier way.
Do let me know your thoughts and if we are going on to implement this feature, thanks! orz
cc @chrisgzf @taneliang
Hi @seanlowjk, are you still interested in working on this? I was wondering if I could try to implement this feature, if no one is implementing this.