@@ -666,25 +666,52 @@ <h3>Interested in having me speak at your event?</h3>
666666 fetch ( 'https://sessionize.com/api/speaker/json/8zkgq232gg' )
667667 . then ( response => response . json ( ) )
668668 . then ( data => {
669+ console . log ( 'Sessionize API response:' , data ) ; // Debug log
669670 const container = document . getElementById ( 'next-event-container' ) ;
670671
671672 // Find the next upcoming event
672673 let nextEvent = null ;
673674 const now = new Date ( ) ;
674675
676+ // Try to find upcoming sessions or events
677+ let upcomingItems = [ ] ;
678+
679+ // Check for sessions
675680 if ( data . sessions && data . sessions . length > 0 ) {
676- // Sort sessions by date
677- const upcomingSessions = data . sessions
681+ upcomingItems = data . sessions
678682 . filter ( session => {
679683 if ( ! session . startsAt ) return false ;
680684 const sessionDate = new Date ( session . startsAt ) ;
681685 return sessionDate >= now ;
682686 } )
683- . sort ( ( a , b ) => new Date ( a . startsAt ) - new Date ( b . startsAt ) ) ;
684-
685- if ( upcomingSessions . length > 0 ) {
686- nextEvent = upcomingSessions [ 0 ] ;
687- }
687+ . map ( session => ( {
688+ ...session ,
689+ type : 'session'
690+ } ) ) ;
691+ }
692+
693+ // Check for events (if sessions not found or empty)
694+ if ( upcomingItems . length === 0 && data . events && data . events . length > 0 ) {
695+ upcomingItems = data . events
696+ . filter ( event => {
697+ if ( ! event . startDate && ! event . endDate ) return false ;
698+ const eventDate = new Date ( event . startDate || event . endDate ) ;
699+ return eventDate >= now ;
700+ } )
701+ . map ( event => ( {
702+ title : event . name ,
703+ description : event . description ,
704+ startsAt : event . startDate ,
705+ room : event . location ,
706+ categories : event . categories || [ ] ,
707+ type : 'event'
708+ } ) ) ;
709+ }
710+
711+ // Sort by date and get the next one
712+ if ( upcomingItems . length > 0 ) {
713+ upcomingItems . sort ( ( a , b ) => new Date ( a . startsAt ) - new Date ( b . startsAt ) ) ;
714+ nextEvent = upcomingItems [ 0 ] ;
688715 }
689716
690717 if ( nextEvent ) {
@@ -721,7 +748,7 @@ <h3 class="event-title">${nextEvent.title}</h3>
721748 ${ nextEvent . categories && nextEvent . categories . length > 0 ? `
722749 <div class="event-tags">
723750 ${ nextEvent . categories . map ( cat =>
724- cat . categoryItems . map ( item => `<span class="event-tag">${ item . name } </span>` ) . join ( '' )
751+ cat . categoryItems ? cat . categoryItems . map ( item => `<span class="event-tag">${ item . name } </span>` ) . join ( '' ) : ''
725752 ) . join ( '' ) }
726753 </div>` : '' }
727754 ` ;
0 commit comments