Widget:AvailableCritters

From Dreamlight Valley Wiki
Revision as of 22:32, 26 February 2024 by Marblemadmax (talk | contribs)
Jump to navigation Jump to search

<script> document.addEventListener('DOMContentLoaded', function() {

 // Critter availability
 const critters = [
   { "name": "Emerald Sunbird", "times": { "Monday": ["12:00", "24:00"] } },
   { "name": "Golden Sunbird", "times": { "Monday": ["00:00", "12:00"] } }

];

   // Function to check if a critter is available based on the current day and time
   function isCritterAvailable(critter) {
       const now = new Date();
       const dayOfWeek = now.toLocaleString('en-us', { weekday: 'long' });
       const currentTime = now.getHours() * 100 + now.getMinutes();
       const times = critter.times[dayOfWeek];
       if (!times) return false; // Not available today
       return times.some(timeRange => {
           const [start, end] = timeRange.map(time => {
               const [hours, minutes] = time.split(':');
               return parseInt(hours, 10) * 100 + parseInt(minutes, 10);
           });
           return currentTime >= start && currentTime <= end;
       });
   }
   // Function to generate gallery content string based on availability
   function generateGalleryContent(critters) {
       return critters.filter(isCritterAvailable).map(critter => 

`

  • [[File:${critter.name.replace(/ /g, '_').png|120x120px|link=${critter.name.replace(/ /g, '_')]]

    [[${critter.name.replace(/ /g, '_')]]

  • }`

           ).join('\n');
       }
    
       // Insert the gallery content into the page
       function insertGalleryContent() {
           const galleryContent = generateGalleryContent(critters);
           // Assuming there's an element with an ID where you want to insert the gallery content
           const targetElement = document.getElementById('crittergallery');
           if (targetElement) {
               targetElement.innerHTML = galleryContent;
           }
       }
    
       // Insert the gallery content
       insertGalleryContent();
    

    });