File tree Expand file tree Collapse file tree
src/app/pages/session-detail Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,11 +42,11 @@ <h1 class="session-title">{{session.name}}</h1>
4242 </ div >
4343
4444 < div class ="session-body ">
45- < div *ngIf =" keynoteData " class ="keynote-speaker-card ">
46- < img [src] ="keynoteData .photo " [alt] ="keynoteData .name " class ="keynote-photo ">
45+ < div *ngFor =" let keynote of keynoteData " class ="keynote-speaker-card ">
46+ < img [src] ="keynote .photo " [alt] ="keynote .name " class ="keynote-photo ">
4747 < div class ="keynote-info ">
48- < h3 > {{keynoteData .name}}</ h3 >
49- < p > {{keynoteData .bio}}</ p >
48+ < h3 > {{keynote .name}}</ h3 >
49+ < p > {{keynote .bio}}</ p >
5050 </ div >
5151 </ div >
5252
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ export class SessionDetailPage {
1818 isFavorite = false ;
1919 isOpenSpace = false ;
2020 isKeynote = false ;
21- keynoteData : any = null ;
21+ keynoteData : any [ ] = [ ] ;
2222 defaultHref = '' ;
2323
2424 private keynoteSpeakers : Record < string , any > = {
@@ -63,15 +63,14 @@ export class SessionDetailPage {
6363 this . isOpenSpace = this . session ?. tracks ?. includes ( 'open-space' ) ;
6464 this . isKeynote = this . session ?. tracks ?. includes ( 'keynote' ) || this . session ?. track === 'Keynote' ;
6565
66- // Enrich keynote sessions with speaker photo/bio
66+ // Enrich keynote sessions with speaker photo/bio. Collect every
67+ // matching speaker so co-hosted keynotes (e.g. "Rachell Calhoun &
68+ // Tim Schilling") render all speakers, not just the first match.
6769 if ( this . isKeynote ) {
68- const sessionName = this . session ?. name || '' ;
69- for ( const [ name , data ] of Object . entries ( this . keynoteSpeakers ) ) {
70- if ( sessionName . toLowerCase ( ) . includes ( name . toLowerCase ( ) ) ) {
71- this . keynoteData = { name, ...data } ;
72- break ;
73- }
74- }
70+ const sessionName = ( this . session ?. name || '' ) . toLowerCase ( ) ;
71+ this . keynoteData = Object . entries ( this . keynoteSpeakers )
72+ . filter ( ( [ name ] ) => sessionName . includes ( name . toLowerCase ( ) ) )
73+ . map ( ( [ name , data ] ) => ( { name, ...data } ) ) ;
7574 }
7675
7776 this . isFavorite = this . userProvider . hasFavorite (
You can’t perform that action at this time.
0 commit comments