Skip to content

Commit b8673dd

Browse files
committed
Some UX enhancements
1 parent 7d039b4 commit b8673dd

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

course-matrix/frontend/src/pages/TimetableBuilder/Calendar.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ const Calendar = React.memo<CalendarProps>(
227227
}, [timetablesData, editingTimetableId, isEditingTimetable]);
228228

229229
const handleCreate = async () => {
230+
setShowLoadingPage(true);
230231
const timetableTitle = timetableTitleRef.current?.value ?? "";
231232
// Create timetable
232233
const { data, error } = await createTimetable({

course-matrix/frontend/src/pages/TimetableBuilder/OfferingInfo.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ const OfferingInfo = ({ course, semester, form }: OfferingInfoProps) => {
3131

3232
const lectures = offeringsData?.filter((offering: OfferingModel) =>
3333
offering.meeting_section.startsWith("LEC"),
34-
);
34+
).sort((a: OfferingModel, b: OfferingModel) => a.meeting_section < b.meeting_section ? -1 : 1);
3535
const tutorials = offeringsData?.filter((offering: OfferingModel) =>
3636
offering.meeting_section.startsWith("TUT"),
37-
);
37+
).sort((a: OfferingModel, b: OfferingModel) => a.meeting_section < b.meeting_section ? -1 : 1);
3838
const practicals = offeringsData?.filter((offering: OfferingModel) =>
3939
offering.meeting_section.startsWith("PRA"),
40-
);
40+
).sort((a: OfferingModel, b: OfferingModel) => a.meeting_section < b.meeting_section ? -1 : 1);
4141

4242
const lectureSections: string[] = [
4343
...new Set(

course-matrix/frontend/src/pages/TimetableBuilder/TimetableBuilder.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ const TimetableBuilder = () => {
103103
const isEditingTimetable = queryParams.has("edit");
104104
const timetableId = parseInt(queryParams.get("edit") || "0");
105105

106-
const [showLoadingPage, setShowLoadingPage] = useState(false);
106+
const [showLoadingPage, setShowLoadingPage] = useState(isEditingTimetable);
107107

108108
const selectedCourses = form.watch("courses") || [];
109109
const enabledRestrictions = form.watch("restrictions") || [];
@@ -190,7 +190,6 @@ const TimetableBuilder = () => {
190190
form.setValue("semester", currentTimetableSemester);
191191
setLoadedSemester(true);
192192
}
193-
194193
if (
195194
timetableEventsData &&
196195
coursesData &&
@@ -221,7 +220,6 @@ const TimetableBuilder = () => {
221220
);
222221
form.setValue("courses", existingCourses);
223222
setLoadedCourses(true);
224-
225223
// Parse restrictions data (For startTime and endTime, we just care about the time, so we use the random date of 2025-01-01 so that the date can be parsed correctly)
226224
// We also add 1 hour (i.e. 60 * 60 * 1000 milliseconds) to the time to account for the timezone difference between the server and the client
227225
const parsedRestrictions = restrictionsData.map(
@@ -249,6 +247,7 @@ const TimetableBuilder = () => {
249247
);
250248
form.setValue("restrictions", parsedRestrictions);
251249
setLoadedRestrictions(true);
250+
setShowLoadingPage(false);
252251
}
253252
}, [
254253
timetableEventsData,

0 commit comments

Comments
 (0)