@@ -495,67 +495,78 @@ import type { Course } from "../../types/schedule";
495495 if (modalTitleEl ) modalTitleEl .textContent = course .title_zh ?.split (" \n " )[0 ] || " " ;
496496 if (modalSubtitleEl ) modalSubtitleEl .textContent = course .title_zh ?.split (" \n " )[1 ] || " " ;
497497
498- // Get speaker data
499- const speakers = [
500- { name: course .speaker1 , id: course .speaker1id , desc: course .speaker1Desc },
501- { name: course .speaker2 , id: course .speaker2id , desc: course .speaker2Desc },
502- { name: course .speaker3 , id: course .speaker3id , desc: course .speaker3Desc },
503- { name: course .speaker4 , id: course .speaker4id , desc: course .speaker4Desc },
504- { name: course .speaker5 , id: course .speaker5id , desc: course .speaker5Desc }
505- ].filter (speaker => speaker .name && speaker .name .trim () !== " " );
506-
507- const speakerText = speakers .map (speaker => speaker .name ).join (" 、" );
508-
509- if (speakerSectionTitleEl ) {
510- speakerSectionTitleEl .textContent = " 講者介紹" ;
511- }
498+ // Hide speaker section entirely for Game type events
499+ if (course .type === " Game" ) {
500+ if (speakerSectionTitleEl ) speakerSectionTitleEl .style .display = " none" ;
501+ if (speakerDescriptionEl ) speakerDescriptionEl .style .display = " none" ;
502+ if (modalPersonImageEl ) modalPersonImageEl .style .display = " none" ;
503+ } else {
504+ // Show speaker section for non-Game events
505+ if (speakerSectionTitleEl ) speakerSectionTitleEl .style .display = " block" ;
506+ if (speakerDescriptionEl ) speakerDescriptionEl .style .display = " block" ;
507+
508+ // Get speaker data
509+ const speakers = [
510+ { name: course .speaker1 , id: course .speaker1id , desc: course .speaker1Desc },
511+ { name: course .speaker2 , id: course .speaker2id , desc: course .speaker2Desc },
512+ { name: course .speaker3 , id: course .speaker3id , desc: course .speaker3Desc },
513+ { name: course .speaker4 , id: course .speaker4id , desc: course .speaker4Desc },
514+ { name: course .speaker5 , id: course .speaker5id , desc: course .speaker5Desc }
515+ ].filter (speaker => speaker .name && speaker .name .trim () !== " " );
516+
517+ const speakerText = speakers .map (speaker => speaker .name ).join (" 、" );
518+
519+ if (speakerSectionTitleEl ) {
520+ speakerSectionTitleEl .textContent = " 講者介紹" ;
521+ }
512522
513- // Handle speaker images and descriptions
514- if (speakerDescriptionEl ) {
515- const speakersWithDesc = speakers .filter (speaker => speaker .desc && speaker .desc .trim () !== " " );
516-
517- if (speakers .length === 1 ) {
518- // Single speaker - show image in top-right position
519- const speaker = speakers [0 ];
520- if (modalPersonImageEl && speaker .id ) {
521- modalPersonImageEl .src = ` /2025/speakers/${speaker .id }.webp ` ;
522- modalPersonImageEl .style .display = " block" ;
523- modalPersonImageEl .onerror = () => {
523+ // Handle speaker images and descriptions
524+ if (speakerDescriptionEl ) {
525+ const speakersWithDesc = speakers .filter (speaker => speaker .desc && speaker .desc .trim () !== " " );
526+
527+ if (speakers .length === 1 ) {
528+ // Single speaker - show image in top-right position
529+ const speaker = speakers [0 ];
530+ if (modalPersonImageEl && speaker .id ) {
531+ modalPersonImageEl .src = ` /2025/speakers/${speaker .id }.webp ` ;
532+ modalPersonImageEl .style .display = " block" ;
533+ modalPersonImageEl .onerror = () => {
534+ modalPersonImageEl .style .display = " none" ;
535+ };
536+ }
537+
538+ // Show speaker description without inline image
539+ if (speakersWithDesc .length > 0 ) {
540+ speakerDescriptionEl .innerHTML = ` <div class="speaker-name emfont-NotoSansTC-600">${speakersWithDesc [0 ].name }</div>${renderMarkdown (speakersWithDesc [0 ].desc )} ` ;
541+ } else if (speakerText ) {
542+ speakerDescriptionEl .innerHTML = ` <div class="speaker-name emfont-NotoSansTC-600">${speaker .name }</div>${speakerText }是本課程的講師。<br>其他資訊可能得等你自己通靈 ` ;
543+ }
544+ } else if (speakers .length > 1 ) {
545+ // Multiple speakers - hide top image and show inline images
546+ if (modalPersonImageEl ) {
524547 modalPersonImageEl .style .display = " none" ;
525- };
526- }
527-
528- // Show speaker description without inline image
529- if (speakersWithDesc .length > 0 ) {
530- speakerDescriptionEl .innerHTML = ` <div class="speaker-name emfont-NotoSansTC-600">${speakersWithDesc [0 ].name }</div>${renderMarkdown (speakersWithDesc [0 ].desc )} ` ;
531- } else if (speakerText ) {
532- speakerDescriptionEl .innerHTML = ` <div class="speaker-name emfont-NotoSansTC-600">${speaker .name }</div>${speakerText }是本課程的講師。<br>其他資訊可能得等你自己通靈 ` ;
533- }
534- } else if (speakers .length > 1 ) {
535- // Multiple speakers - hide top image and show inline images
536- if (modalPersonImageEl ) {
537- modalPersonImageEl .style .display = " none" ;
538- }
539-
540- if (speakersWithDesc .length > 0 ) {
541- speakerDescriptionEl .innerHTML = speakersWithDesc .map (speaker => {
542- const imageHtml = speaker .id ? ` <img src="/2025/speakers/${speaker .id }.webp" alt="${speaker .name }" class="speaker-inline-image" onerror="this.style.display='none';"> ` : " " ;
543- return ` <div class="speaker-name emfont-NotoSansTC-600">${imageHtml }<span>${speaker .name }</span></div>${renderMarkdown (speaker .desc )} ` ;
544- }).join (" " );
545- } else if (speakerText ) {
546- speakerDescriptionEl .innerHTML = speakers .map (speaker => {
547- const imageHtml = speaker .id ? ` <img src="/2025/speakers/${speaker .id }.webp" alt="${speaker .name }" class="speaker-inline-image" onerror="this.style.display='none';"> ` : " " ;
548- return ` <div class="speaker-name emfont-NotoSansTC-600">${imageHtml }<span>${speaker .name }</span></div> ` ;
549- }).join (" " ) + ` <p>${speakerText }是本課程的講師。<br>其他資訊可能得等你自己通靈</p> ` ;
550- }
551- } else {
552- // No speakers
553- if (modalPersonImageEl ) {
554- modalPersonImageEl .style .display = " none" ;
548+ }
549+
550+ if (speakersWithDesc .length > 0 ) {
551+ speakerDescriptionEl .innerHTML = speakersWithDesc .map (speaker => {
552+ const imageHtml = speaker .id ? ` <img src="/2025/speakers/${speaker .id }.webp" alt="${speaker .name }" class="speaker-inline-image" onerror="this.style.display='none';"> ` : " " ;
553+ return ` <div class="speaker-name emfont-NotoSansTC-600">${imageHtml }<span>${speaker .name }</span></div>${renderMarkdown (speaker .desc )} ` ;
554+ }).join (" " );
555+ } else if (speakerText ) {
556+ speakerDescriptionEl .innerHTML = speakers .map (speaker => {
557+ const imageHtml = speaker .id ? ` <img src="/2025/speakers/${speaker .id }.webp" alt="${speaker .name }" class="speaker-inline-image" onerror="this.style.display='none';"> ` : " " ;
558+ return ` <div class="speaker-name emfont-NotoSansTC-600">${imageHtml }<span>${speaker .name }</span></div> ` ;
559+ }).join (" " ) + ` <p>${speakerText }是本課程��講師。<br>其他資訊可能得等你自己通靈</p> ` ;
560+ }
561+ } else {
562+ // No speakers
563+ if (modalPersonImageEl ) {
564+ modalPersonImageEl .style .display = " none" ;
565+ }
566+ speakerDescriptionEl .innerHTML = " 無講者資訊" ;
555567 }
556- speakerDescriptionEl .innerHTML = " 無講者資訊 " ;
568+ speakerDescriptionEl .classList . add ( " description-text " ) ;
557569 }
558- speakerDescriptionEl .classList .add (" description-text" );
559570 }
560571
561572 if (modalDescriptionEl ) {
0 commit comments