| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  | window.addEventListener('load', () => { | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |   // Add toggle listener to all elements with .collapse-toggle
 | 
					
						
							|  |  |  |   const toggleButtons = document.querySelectorAll('.collapse-toggle'); | 
					
						
							|  |  |  |   toggleButtons.forEach((e) => e.addEventListener('click', toggleCollapse)); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |   // Handle game filter input
 | 
					
						
							|  |  |  |   const gameSearch = document.getElementById('game-search'); | 
					
						
							|  |  |  |   gameSearch.value = ''; | 
					
						
							|  |  |  |   gameSearch.addEventListener('input', (evt) => { | 
					
						
							|  |  |  |     if (!evt.target.value.trim()) { | 
					
						
							|  |  |  |       // If input is empty, display all collapsed games
 | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |       return toggleButtons.forEach((header) => { | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |         header.style.display = null; | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |         header.firstElementChild.innerText = '▶'; | 
					
						
							|  |  |  |         header.nextElementSibling.classList.add('collapsed'); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |       }); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Loop over all the games
 | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |     toggleButtons.forEach((header) => { | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |       // If the game name includes the search string, display the game. If not, hide it
 | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |       if (header.getAttribute('data-game').toLowerCase().includes(evt.target.value.toLowerCase())) { | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |         header.style.display = null; | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |         header.firstElementChild.innerText = '▼'; | 
					
						
							|  |  |  |         header.nextElementSibling.classList.remove('collapsed'); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |       } else { | 
					
						
							|  |  |  |         header.style.display = 'none'; | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |         header.firstElementChild.innerText = '▶'; | 
					
						
							|  |  |  |         header.nextElementSibling.classList.add('collapsed'); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  |       } | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   document.getElementById('expand-all').addEventListener('click', expandAll); | 
					
						
							|  |  |  |   document.getElementById('collapse-all').addEventListener('click', collapseAll); | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  | const toggleCollapse = (evt) => { | 
					
						
							|  |  |  |   const gameArrow = evt.target.firstElementChild; | 
					
						
							|  |  |  |   const gameInfo = evt.target.nextElementSibling; | 
					
						
							|  |  |  |   if (gameInfo.classList.contains('collapsed')) { | 
					
						
							|  |  |  |     gameArrow.innerText = '▼'; | 
					
						
							|  |  |  |     gameInfo.classList.remove('collapsed'); | 
					
						
							|  |  |  |   } else { | 
					
						
							|  |  |  |     gameArrow.innerText = '▶'; | 
					
						
							|  |  |  |     gameInfo.classList.add('collapsed'); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  | const expandAll = () => { | 
					
						
							|  |  |  |   document.querySelectorAll('.collapse-toggle').forEach((header) => { | 
					
						
							|  |  |  |     if (header.style.display === 'none') { return; } | 
					
						
							|  |  |  |     header.firstElementChild.innerText = '▼'; | 
					
						
							|  |  |  |     header.nextElementSibling.classList.remove('collapsed'); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const collapseAll = () => { | 
					
						
							| 
									
										
										
										
											2023-10-20 02:58:41 +02:00
										 |  |  |   document.querySelectorAll('.collapse-toggle').forEach((header) => { | 
					
						
							|  |  |  |     if (header.style.display === 'none') { return; } | 
					
						
							|  |  |  |     header.firstElementChild.innerText = '▶'; | 
					
						
							|  |  |  |     header.nextElementSibling.classList.add('collapsed'); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2023-09-25 22:15:00 -04:00
										 |  |  | }; |