@@ -401,73 +401,4 @@ layout: base.njk
401
401
</div >
402
402
</div >
403
403
404
- <script >
405
- document .addEventListener (' DOMContentLoaded' , () => {
406
- const cards = document .querySelectorAll (' .schedule-card' );
407
- const contents = document .querySelectorAll (' .schedule-content' );
408
- let selectedCard = null ;
409
-
410
- // Function to reset all card backgrounds
411
- const resetCardBackgrounds = () => {
412
- cards .forEach (card => {
413
- const highlightDiv = card .querySelector (' .card-grid' );
414
- highlightDiv .classList .remove (' pycon-bg-lime' );
415
- highlightDiv .style .backgroundColor = ' #FFFFFF' ;
416
- });
417
- };
418
-
419
- // Function to hide all schedules
420
- const hideAllSchedules = () => {
421
- contents .forEach (content => content .classList .add (' hidden' ));
422
- };
423
-
424
- // Initial state: Highlight the first card and show the first schedule
425
- if (cards .length > 0 && contents .length > 0 ) {
426
- selectedCard = cards[0 ];
427
- const firstContentId = selectedCard .getAttribute (' data-schedule' );
428
-
429
- // Highlight the first card
430
- const firstHighlightDiv = selectedCard .querySelector (' .card-grid' );
431
- firstHighlightDiv .classList .add (' bg:pycon-bg-lime' );
432
- firstHighlightDiv .style .backgroundColor = ' #CDFF89' ;
433
-
434
- // Show the first schedule
435
- document .getElementById (firstContentId).classList .remove (' hidden' );
436
- }
437
-
438
- // Add event listeners to all cards
439
- cards .forEach (card => {
440
- const highlightDiv = card .querySelector (' .card-grid' );
441
-
442
- card .addEventListener (' click' , () => {
443
- // Reset previous selection
444
- resetCardBackgrounds ();
445
- hideAllSchedules ();
446
-
447
- // Highlight the clicked card
448
- highlightDiv .classList .add (' pycon-bg-lime' );
449
- highlightDiv .style .backgroundColor = ' #CDFF89' ; // Lime background
450
-
451
- // Show the corresponding schedule
452
- const scheduleId = card .getAttribute (' data-schedule' );
453
- document .getElementById (scheduleId).classList .remove (' hidden' );
454
-
455
- // Update the selected card
456
- selectedCard = card;
457
- });
458
-
459
- // Handle hover for unselected cards
460
- card .addEventListener (' mouseenter' , () => {
461
- if (card !== selectedCard) {
462
- highlightDiv .style .backgroundColor = ' #CDFF89' ; // Hover lime background
463
- }
464
- });
465
-
466
- card .addEventListener (' mouseleave' , () => {
467
- if (card !== selectedCard) {
468
- highlightDiv .style .backgroundColor = ' #FFFFFF' ; // Default white background
469
- }
470
- });
471
- });
472
- });
473
- </script >
404
+ <script src =" {{ env.baseUrl ~ 'js/schedule.js'}}" defer ></script >
0 commit comments