diff --git a/src/seqta/utils/Loaders/LoadHomePage.ts b/src/seqta/utils/Loaders/LoadHomePage.ts index d46dec39..9f4e576c 100644 --- a/src/seqta/utils/Loaders/LoadHomePage.ts +++ b/src/seqta/utils/Loaders/LoadHomePage.ts @@ -104,17 +104,7 @@ export async function loadHomePage() { const date = new Date(); const TodayFormatted = formatDate(date); - const [timetablePromise, assessmentsPromise, classesPromise, prefsPromise] = [ - fetch(`${location.origin}/seqta/student/load/timetable?`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ - from: TodayFormatted, - until: TodayFormatted, - student: 69, - }), - }).then((res) => res.json()), - + const [assessmentsPromise, classesPromise, prefsPromise] = [ GetUpcomingAssessments(), GetActiveClasses(), @@ -126,65 +116,13 @@ export async function loadHomePage() { }).then((res) => res.json()), ]; - const [timetableData, assessments, classes, prefs] = await Promise.all([ - timetablePromise, + const [assessments, classes, prefs] = await Promise.all([ assessmentsPromise, classesPromise, prefsPromise, ]); - const dayContainer = document.getElementById("day-container"); - if (dayContainer && timetableData.payload.items.length > 0) { - const lessonArray = timetableData.payload.items.sort((a: any, b: any) => - a.from.localeCompare(b.from), - ); - const colours = await GetLessonColours(); - - dayContainer.innerHTML = ""; - for (let i = 0; i < lessonArray.length; i++) { - const lesson = lessonArray[i]; - const subjectname = `timetable.subject.colour.${lesson.code}`; - const subject = colours.find( - (element: any) => element.name === subjectname, - ); - - lesson.colour = subject - ? `--item-colour: ${subject.value};` - : "--item-colour: #8e8e8e;"; - lesson.from = lesson.from.substring(0, 5); - lesson.until = lesson.until.substring(0, 5); - - if (settingsState.timeFormat === "12") { - lesson.from = convertTo12HourFormat(lesson.from); - lesson.until = convertTo12HourFormat(lesson.until); - } - - lesson.attendanceTitle = CheckUnmarkedAttendance(lesson.attendance); - - const div = makeLessonDiv(lesson, i + 1); - if (GetThresholdOfColor(subject?.value) > 300) { - const firstChild = div.firstChild as HTMLElement; - if (firstChild) { - firstChild.classList.add("day-inverted"); - } - } - dayContainer.appendChild(div.firstChild!); - } - - if (currentSelectedDate.getDate() === date.getDate()) { - for (let i = 0; i < lessonArray.length; i++) { - CheckCurrentLesson(lessonArray[i], i + 1); - } - CheckCurrentLessonAll(lessonArray); - } - } else if (dayContainer) { - dayContainer.innerHTML = ` -
- -

No lessons available.

-
`; - } - dayContainer?.classList.remove("loading"); + callHomeTimetable(TodayFormatted, true); const activeClass = classes.find((c: any) => c.hasOwnProperty("active")); const activeSubjects = activeClass?.subjects || []; @@ -742,7 +680,8 @@ function callHomeTimetable(date: string, change?: any) { GetLessonColours().then((colours) => { let subjects = colours; for (let i = 0; i < lessonArray.length; i++) { - let subjectname = `timetable.subject.colour.${lessonArray[i].code}`; + + let subjectname = ((lessonArray[i].type == "tutorial") ? `timetable.tutor.${lessonArray[i].tutorID}` : `timetable.subject.colour.${lessonArray[i].code}`); let subject = subjects.find( (element: any) => element.name === subjectname, @@ -930,33 +869,35 @@ function makeLessonDiv(lesson: any, num: number) { programmeID, metaID, assessments, + type } = lesson; let lessonString = `
-

${description || "Unknown"}

+

${(type == "class") ? description : (type == "tutorial") ? "Tutorial" : "Unknown"}

${staff || "Unknown"}

-

${room || "Unknown"}

+

${(type == "class") ? room : (type == "tutorial") ? "N/A" : "Unknown"}

${from || "Unknown"} - ${until || "Unknown"}

${attendanceTitle || "Unknown"}
`; - if (programmeID !== 0) { - lessonString += ` + if (type == "class") { + if (programmeID !== 0) { + lessonString += `
${assessmentsicon}
${coursesicon}
`; - } + } - if (assessments && assessments.length > 0) { - const assessmentString = assessments - .map( - (element: any) => - `

${element.title}

`, - ) - .join(""); + if (assessments && assessments.length > 0) { + const assessmentString = assessments + .map( + (element: any) => + `

${element.title}

`, + ) + .join(""); - lessonString += ` + lessonString += `
@@ -964,6 +905,7 @@ function makeLessonDiv(lesson: any, num: number) {
${assessmentString}
`; + } } lessonString += "
";