File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -597,8 +597,16 @@ window.filter = async function (filters = {}) {
597597 window . history . replaceState ( { } , '' , '?' + query . join ( '&' ) ) ;
598598 form . elements [ 'countEvents' ] . innerText = count ;
599599 form . elements [ 'countCategories' ] . innerText = categories . length || 'All' ;
600- // Update the cached visible events list for card navigation
601- visibleEventsList = window . events . get ( ) ?. filter ( e => e . visible && e . title && e . geometry ) || [ ] ;
600+ // Update the cached visible events list for card navigation, sorted by start time
601+ const getEventStartTime = event => {
602+ if ( ! event . date_text || ! event . time ) return Infinity ;
603+ const timestamp = new Date ( `${ event . date_text } ${ event . time . split ( ' to ' ) [ 0 ] } ` ) . getTime ( ) ;
604+ return isNaN ( timestamp ) ? Infinity : timestamp ;
605+ } ;
606+ visibleEventsList = ( window . events . get ( ) ?. filter ( e => e . visible && e . title && e . geometry ) || [ ] )
607+ . map ( event => ( { event, startTime : getEventStartTime ( event ) } ) )
608+ . sort ( ( a , b ) => a . startTime - b . startTime )
609+ . map ( ( { event } ) => event ) ;
602610 // Dismiss the card when filters change since the current event may no longer be visible
603611 hideEventCard ( ) ;
604612} ;
You can’t perform that action at this time.
0 commit comments