fix: catalog semester selection

This commit is contained in:
Rainer Killinger
2023-02-16 15:36:19 +01:00
parent 968cb72957
commit a8c7d5ab59
2 changed files with 45 additions and 8 deletions

View File

@@ -111,17 +111,22 @@ export class CatalogComponent implements OnInit, OnDestroy {
}
async fetchSemesters(): Promise<void> {
const today = moment().startOf('day').toISOString();
const semesters = await this.catalogProvider.getRelevantSemesters();
this.availableSemesters = semesters.slice(0, 3).reverse();
const currentSemester = semesters.find(
semester => semester.startDate <= today && semester.endDate > today,
);
const currentSemesterIndex = semesters.findIndex(semester => semester.uid === currentSemester?.uid);
this.availableSemesters = semesters.slice(currentSemesterIndex - 1, currentSemesterIndex + 2).reverse();
if (typeof this.activeSemester !== 'undefined') {
return;
}
const today = moment().startOf('day').toISOString();
this.activeSemester = this.availableSemesters[0];
this.activeSemester =
this.selectedSemesterUID === ''
? this.availableSemesters.find(semester => semester.startDate <= today && semester.endDate > today)
? currentSemester
: this.availableSemesters.find(semester => semester.uid === this.selectedSemesterUID);
if (this.activeSemester && this.selectedSemesterUID === '') {
this.selectedSemesterUID = this.activeSemester.uid;