mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| window.addEventListener('load', () => {
 | |
|   // Reload tracker every 60 seconds
 | |
|   const url = window.location;
 | |
|   setInterval(() => {
 | |
|     const ajax = new XMLHttpRequest();
 | |
|     ajax.onreadystatechange = () => {
 | |
|       if (ajax.readyState !== 4) { return; }
 | |
| 
 | |
|       // Create a fake DOM using the returned HTML
 | |
|       const domParser = new DOMParser();
 | |
|       const fakeDOM = domParser.parseFromString(ajax.responseText, 'text/html');
 | |
| 
 | |
|       // Update item tracker
 | |
|       document.getElementById('inventory-table').innerHTML = fakeDOM.getElementById('inventory-table').innerHTML;
 | |
|       // Update only counters in the location-table
 | |
|       let counters = document.getElementsByClassName('counter');
 | |
|       const fakeCounters = fakeDOM.getElementsByClassName('counter');
 | |
|       for (let i = 0; i < counters.length; i++) {
 | |
|         counters[i].innerHTML = fakeCounters[i].innerHTML;
 | |
|       }
 | |
|     };
 | |
|     ajax.open('GET', url);
 | |
|     ajax.send();
 | |
| }, 60000)
 | |
| 
 | |
|   // Collapsible advancement sections
 | |
|   const categories = document.getElementsByClassName("location-category");
 | |
|   for (let i = 0; i < categories.length; i++) {
 | |
|     let hide_id = categories[i].id.split('-')[0];
 | |
|     if (hide_id == 'Total') {
 | |
|       continue;
 | |
|     }
 | |
|     categories[i].addEventListener('click', function() {
 | |
|       // Toggle the advancement list
 | |
|       document.getElementById(hide_id).classList.toggle("hide");
 | |
|       // Change text of the header
 | |
|       const tab_header = document.getElementById(hide_id+'-header').children[0];
 | |
|       const orig_text = tab_header.innerHTML;
 | |
|       let new_text;
 | |
|       if (orig_text.includes("▼")) {
 | |
|         new_text = orig_text.replace("▼", "▲");
 | |
|       }
 | |
|       else {
 | |
|         new_text = orig_text.replace("▲", "▼");
 | |
|       }
 | |
|       tab_header.innerHTML = new_text;
 | |
|     });
 | |
|   }
 | |
| });
 | 
