Skip to content

Commit 0bf42e9

Browse files
committed
updates
1 parent 4e02849 commit 0bf42e9

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ export interface TimetableShare {
3838
timetables: Timetable[];
3939
}
4040

41+
function sortingFunction(a: Timetable, b: Timetable) {
42+
if (a.favorite == b.favorite)
43+
return b?.updated_at.localeCompare(a?.updated_at);
44+
if (a.favorite) return -1;
45+
if (b.favorite) return 1;
46+
return 0;
47+
}
48+
4149
/**
4250
* Home component that displays the user's timetables and provides options to create or compare timetables.
4351
* @returns {JSX.Element} The rendered component.
@@ -65,18 +73,16 @@ const Home = () => {
6573

6674
const isLoading = myTimetablesDataLoading || sharedWithmeDataLoading;
6775

68-
const myOwningTimetables = [...(myTimetablesData ?? [])].sort((a, b) =>
69-
b.updated_at.localeCompare(a.updated_at),
70-
);
76+
const myOwningTimetables = [...(myTimetablesData ?? [])].sort(sortingFunction);
7177
const sharedWithMeTimetables = [...(sharedWithMeData ?? [])]
7278
.flatMap((share) => share.timetables)
73-
.sort((a, b) => b.updated_at.localeCompare(a.updated_at));
79+
.sort(sortingFunction);
7480
const allTimetables = [...myOwningTimetables, ...sharedWithMeTimetables].map(
7581
(timetable, index) => ({
7682
...timetable,
7783
isShared: index >= myOwningTimetables.length,
7884
}),
79-
);
85+
).sort(sortingFunction);
8086

8187
console.log("My Owning Timetables", myOwningTimetables);
8288
console.log("Shared With Me Timetables", sharedWithMeTimetables);
@@ -181,6 +187,7 @@ const Home = () => {
181187
isShared={timetable.isShared}
182188
timetable={timetable}
183189
setSelectedSharedTimetable={setSelectedSharedTimetable}
190+
favorite={timetable.favorite}
184191
/>
185192
))
186193
) : activeTab === "Mine" ? (
@@ -196,6 +203,7 @@ const Home = () => {
196203
isShared={false}
197204
timetable={timetable}
198205
setSelectedSharedTimetable={setSelectedSharedTimetable}
206+
favorite={timetable.favorite}
199207
/>
200208
))
201209
) : (
@@ -211,6 +219,7 @@ const Home = () => {
211219
isShared={true}
212220
timetable={timetable}
213221
setSelectedSharedTimetable={setSelectedSharedTimetable}
222+
favorite={timetable.favorite}
214223
/>
215224
))
216225
)}

course-matrix/frontend/src/pages/Home/TimetableCard.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ import { Star, Pencil } from "lucide-react";
1111
import { useState, useEffect } from "react";
1212
import TimetableCardKebabMenu from "./TimetableCardKebabMenu";
1313
import TimetableCardShareKebabMenu from "./TimetableCardShareKebabMenu";
14-
import { useUpdateTimetableMutation } from "@/api/timetableApiSlice";
1514
import { useGetUsernameFromUserIdQuery } from "@/api/authApiSlice";
16-
import { Link } from "react-router-dom";
1715
import { Timetable } from "./Home";
1816
import {
1917
useUpdateTimetableMutation,
@@ -34,7 +32,6 @@ interface TimetableCardProps {
3432
setSelectedSharedTimetable: React.Dispatch<
3533
React.SetStateAction<Timetable | null>
3634
>;
37-
owner: string;
3835
favorite: boolean;
3936
}
4037

@@ -53,7 +50,6 @@ const TimetableCard = ({
5350
isShared,
5451
timetable,
5552
setSelectedSharedTimetable,
56-
owner,
5753
favorite,
5854
}: TimetableCardProps) => {
5955
const [updateTimetable] = useUpdateTimetableMutation();

0 commit comments

Comments
 (0)