@@ -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 ) }
0 commit comments