Widget:AvailableCritters: Difference between revisions

From Dreamlight Valley Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
<script>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Data structure for critters and their availability
  // Critter availability
const critters = {
  const critters = [
     "Emerald Sunbird": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
    [
    "Golden Sunbird": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "Emerald Sunbird", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Orchid Sunbird": { "Friday": "9 AM to 3 PM" },
    { "name": "Golden Sunbird", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Red Sunbird": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
    { "name": "Orchid Sunbird", "times": { "Friday": ["09:00", "15:00"] } },
    "Turquoise Sunbird": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
     { "name": "Red Sunbird", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Black Squirrel": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "Turquoise Sunbird", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Classic Squirrel": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
     { "name": "Black Squirrel", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Gray Squirrel": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
     { "name": "Classic Squirrel", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Red Squirrel": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
     { "name": "Gray Squirrel", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "White Squirrel": { "Sunday": "12 AM to 6 AM" },
     { "name": "Red Squirrel", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Blue Crocodile": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
     { "name": "White Squirrel", "times": { "Sunday": ["00:00", "06:00"] } },
    "Classic Crocodile": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
     { "name": "Blue Crocodile", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Golden Crocodile": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "Classic Crocodile", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Pink Crocodile": { "Saturday": "6 AM to 12 PM" },
    { "name": "Golden Crocodile", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Red Crocodile": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
     { "name": "Pink Crocodile", "times": { "Saturday": ["06:00", "12:00"] } },
    "White Crocodile": { "Sunday": "6 PM to 12 AM" },
     { "name": "Red Crocodile", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Black Rabbit": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
     { "name": "White Crocodile", "times": { "Sunday": ["18:00", "24:00"] } },
     "Brown Rabbit": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
     { "name": "Black Rabbit", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Calico Rabbit": { "Thursday": "8 AM to 2 PM" },
     { "name": "Brown Rabbit", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Classic Rabbit": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
     { "name": "Calico Rabbit", "times": { "Thursday": ["08:00", "14:00"] } },
    "White Rabbit": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "Classic Rabbit", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Blue Raven": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "White Rabbit", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Brown Raven": { "Tuesday": "6 PM to 12 AM" },
     { "name": "Blue Raven", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Classic Raven": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
     { "name": "Brown Raven", "times": { "Tuesday": ["18:00", "24:00"] } },
    "Red Raven": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
    { "name": "Classic Raven", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "White Raven": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
     { "name": "Red Raven", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Black Sea Turtle": { "Monday": "10 AM to 4 PM" },
    { "name": "White Raven", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Brown Sea Turtle": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
    { "name": "Black Sea Turtle", "times": { "Monday": ["10:00", "16:00"] } },
     "Classic Sea Turtle": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
     { "name": "Brown Sea Turtle", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Purple Sea Turtle": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
    { "name": "Classic Sea Turtle", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "White Sea Turtle": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
    { "name": "Purple Sea Turtle", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Black Fox": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
    { "name": "White Sea Turtle", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Blue Fox": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
     { "name": "Black Fox", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Classic Fox": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
     { "name": "Blue Fox", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Red Fox": { "Saturday": "2 AM to 8 AM" },
     { "name": "Classic Fox", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "White Fox": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
    { "name": "Red Fox", "times": { "Saturday": ["02:00", "08:00"] } },
    "Black Raccoon": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
    { "name": "White Fox", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Blue Raccoon": { "Wednesday": "4 PM to 10 PM" },
    { "name": "Black Raccoon", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Classic Raccoon": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
    { "name": "Blue Raccoon", "times": { "Wednesday": ["16:00", "22:00"] } },
    "Red Raccoon": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
    { "name": "Classic Raccoon", "times": { "Sunday": ["12:00", "24:00"], "Monday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "White Raccoon": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
    { "name": "Red Raccoon", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
     "Black and White Capybara": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Thursday": "12 PM to 12 AM", "Friday": "12 PM to 12 AM", "Saturday": "12 PM to 12 AM" },
    { "name": "White Raccoon", "times": { "Sunday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Blue Striped Capybara": { "Monday": "12 AM to 12 PM", "Tuesday": "12 AM to 12 PM", "Wednesday": "12 AM to 12 PM", "Thursday": "All day", "Saturday": "All day" },
    { "name": "Black and White Capybara", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Friday": ["12:00", "24:00"], "Saturday": ["12:00", "24:00"] } },
    "Classic Capybara": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
    { "name": "Blue Striped Capybara", "times": { "Monday": ["00:00", "12:00"], "Tuesday": ["00:00", "12:00"], "Wednesday": ["00:00", "12:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Gray Spotted Capybara": { "Monday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Wednesday": "12 PM to 12 AM", "Friday": "All day", "Saturday": "All day" },
    { "name": "Classic Capybara", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["00:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Red and White Striped Capybara": { "Saturday": "12 PM to 6 PM" },
    { "name": "Gray Spotted Capybara", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["12:00", "24:00"], "Tuesday": ["12:00", "24:00"], "Wednesday": ["12:00", "24:00"], "Friday": ["00:00", "24:00"] } },
    "Blue and Red Striped Cobra": { "Sunday": "All day", "Monday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Thursday": "All day", "Saturday": "12 PM to 12 AM" },
    { "name": "Red and White Striped Capybara", "times": { "Saturday": ["12:00", "18:00"] } },
    "Classic Cobra": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
    { "name": "Blue and Red Striped Cobra", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["12:00", "24:00"], "Tuesday": ["12:00", "24:00"], "Thursday": ["00:00", "24:00"], "Saturday": ["12:00", "24:00"] } },
    "Green and White Striped Cobra": { "Thursday": "6 AM to 12 PM" },
    { "name": "Classic Cobra", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["00:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Pink Spotted Cobra": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "12 AM to 12 PM", "Thursday": "12 AM to 12 PM", "Friday": "All day" },
    { "name": "Green and White Striped Cobra", "times": { "Thursday": ["06:00", "12:00"] } },
    "Yellow and Purple Striped Cobra": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "12 PM to 12 AM", "Thursday": "12 PM to 12 AM", "Saturday": "All day" },
    { "name": "Pink Spotted Cobra", "times": { "Sunday": ["00:00", "12:00"], "Monday": ["00:00", "24:00"], "Wednesday": ["00:00", "12:00"], "Thursday": ["00:00", "12:00"], "Friday": ["00:00", "24:00"] } },
    "Beige Monkey": { "Sunday": "All day", "Monday": "12 PM to 12 AM", "Wednesday": "12 PM to 12 AM", "Thursday": "All day", "Friday": "12 PM to 12 AM" },
    { "name": "Yellow and Purple Striped Cobra", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["12:00", "24:00"], "Thursday": ["12:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
     "Black and Brown Monkey": { "Sunday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Wednesday": "All day", "Thursday": "12 PM to 12 AM", "Saturday": "All day" },
    { "name": "Beige Monkey", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["12:00", "24:00"], "Wednesday": ["12:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["12:00", "24:00"] } },
     "Black and Gray Monkey": { "Tuesday": "6 PM to 12 AM" },
    { "name": "Black and Brown Monkey", "times": { "Sunday": ["12:00", "24:00"], "Tuesday": ["12:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Thursday": ["12:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
    "Classic Monkey": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
    { "name": "Black and Gray Monkey", "times": { "Tuesday": ["18:00", "24:00"] } },
     "Red and Beige Monkey": { "Monday": "12 AM to 12 PM", "Tuesday": "All day", "Wednesday": "12 AM to 12 PM", "Friday": "12 AM to 12 PM", "Saturday": "All day" }
    { "name": "Classic Monkey", "times": { "Sunday": ["00:00", "24:00"], "Monday": ["00:00", "24:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "24:00"], "Thursday": ["00:00", "24:00"], "Friday": ["00:00", "24:00"], "Saturday": ["00:00", "24:00"] } },
};
    { "name": "Red and Beige Monkey", "times": { "Monday": ["00:00", "12:00"], "Tuesday": ["00:00", "24:00"], "Wednesday": ["00:00", "12:00"], "Friday": ["00:00", "12:00"], "Saturday": ["00:00", "24:00"] } }
]
  ];


  function updateGallery() {
    function isAvailable(critter, day, hour) {
    const now = new Date();
        const availability = critters[critter][day];
    const dayOfWeek = now.toLocaleString('en-US', { weekday: 'long' });
        if (!availability) return false; // 'n/a' or undefined
    const currentTime = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0');
        if (availability === 'All day') return true;
    const gallery = document.getElementById('crittergallery');
        const [start, end] = availability.split(' to ');
    let galleryContent = '';
        const startHour = parseHour(start);
        const endHour = parseHour(end);
        return hour >= startHour && hour < endHour;
    }


     critters.forEach(critter => {
     function parseHour(timeStr) {
      const availability = critter.times[dayOfWeek];
        const [time, period] = timeStr.split(' ');
      if (availability) {
         let [hours, minutes] = time.split(':');
         const [startTime, endTime] = availability.map(time => time.replace('AM', ':00').replace('PM', ':00'));
        hours = parseInt(hours);
         // assuming times don't cross midnight
        if (period === 'PM' && hours !== 12) hours += 12;
         if (currentTime >= startTime && currentTime < endTime) {
        if (period === 'AM' && hours === 12) hours = 0;
          galleryContent += `File:${critter.name.replace(/ /g, '_')}.png|link=${critter.name}\n`;
        return hours;
         }
    }
      }
 
     });
    function updateCritterList() {
        const now = new Date();
        const dayOfWeek = now.toLocaleString('en-US', { weekday: 'long' });
        const hour = now.getHours();
         let listContent = '';
 
         Object.entries(critters).forEach(([critterName, _]) => {
            if (isAvailable(critterName, dayOfWeek, hour)) {
                listContent += `{{name|${critterName}}}<br>`;
            }
         });
 
        parseContent(listContent);
    }
 
     function parseContent(wikitext) {
        const apiEndpoint = "/api.php";
        const params = new URLSearchParams({
            action: 'parse',
            format: 'json',
            contentmodel: 'wikitext',
            text: wikitext,
            prop: 'text'
        });


    gallery.innerHTML = galleryContent;
        fetch(apiEndpoint + "?" + params.toString(), {
  }
            method: 'POST',
            credentials: 'same-origin'
        })
        .then(response => response.json())
        .then(data => {
            const parsedHtml = data.parse.text['*'];
            document.getElementById('critterList').innerHTML = parsedHtml;
        })
        .catch(error => console.error('Error parsing content:', error));
    }


  // Initial update and set interval to update every minute (60000 milliseconds)
    window.addEventListener('load', function() {
  updateGallery();
        updateCritterList(); // Initial update
  setInterval(updateGallery, 60000);
        setInterval(updateCritterList, 60000); // Refresh every minute
});
    });
</script>
</script>

Latest revision as of 21:14, 29 April 2024

<script> // Data structure for critters and their availability const critters = {

   "Emerald Sunbird": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Golden Sunbird": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Orchid Sunbird": { "Friday": "9 AM to 3 PM" },
   "Red Sunbird": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Turquoise Sunbird": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "Black Squirrel": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Classic Squirrel": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Gray Squirrel": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Red Squirrel": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "White Squirrel": { "Sunday": "12 AM to 6 AM" },
   "Blue Crocodile": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "Classic Crocodile": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Golden Crocodile": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Pink Crocodile": { "Saturday": "6 AM to 12 PM" },
   "Red Crocodile": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "White Crocodile": { "Sunday": "6 PM to 12 AM" },
   "Black Rabbit": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "Brown Rabbit": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Calico Rabbit": { "Thursday": "8 AM to 2 PM" },
   "Classic Rabbit": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "White Rabbit": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Blue Raven": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Brown Raven": { "Tuesday": "6 PM to 12 AM" },
   "Classic Raven": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Red Raven": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "White Raven": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Black Sea Turtle": { "Monday": "10 AM to 4 PM" },
   "Brown Sea Turtle": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "Classic Sea Turtle": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Purple Sea Turtle": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "White Sea Turtle": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Black Fox": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Blue Fox": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Classic Fox": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "Red Fox": { "Saturday": "2 AM to 8 AM" },
   "White Fox": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Black Raccoon": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "All day", "Saturday": "All day" },
   "Blue Raccoon": { "Wednesday": "4 PM to 10 PM" },
   "Classic Raccoon": { "Sunday": "12 PM to 12 AM", "Monday": "All day", "Thursday": "All day", "Saturday": "All day" },
   "Red Raccoon": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "All day", "Friday": "All day" },
   "White Raccoon": { "Sunday": "12 AM to 12 PM", "Tuesday": "All day", "Thursday": "All day", "Friday": "All day" },
   "Black and White Capybara": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Thursday": "12 PM to 12 AM", "Friday": "12 PM to 12 AM", "Saturday": "12 PM to 12 AM" },
   "Blue Striped Capybara": { "Monday": "12 AM to 12 PM", "Tuesday": "12 AM to 12 PM", "Wednesday": "12 AM to 12 PM", "Thursday": "All day", "Saturday": "All day" },
   "Classic Capybara": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
   "Gray Spotted Capybara": { "Monday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Wednesday": "12 PM to 12 AM", "Friday": "All day", "Saturday": "All day" },
   "Red and White Striped Capybara": { "Saturday": "12 PM to 6 PM" },
   "Blue and Red Striped Cobra": { "Sunday": "All day", "Monday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Thursday": "All day", "Saturday": "12 PM to 12 AM" },
   "Classic Cobra": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
   "Green and White Striped Cobra": { "Thursday": "6 AM to 12 PM" },
   "Pink Spotted Cobra": { "Sunday": "12 AM to 12 PM", "Monday": "All day", "Wednesday": "12 AM to 12 PM", "Thursday": "12 AM to 12 PM", "Friday": "All day" },
   "Yellow and Purple Striped Cobra": { "Sunday": "12 PM to 12 AM", "Tuesday": "All day", "Wednesday": "12 PM to 12 AM", "Thursday": "12 PM to 12 AM", "Saturday": "All day" },
   "Beige Monkey": { "Sunday": "All day", "Monday": "12 PM to 12 AM", "Wednesday": "12 PM to 12 AM", "Thursday": "All day", "Friday": "12 PM to 12 AM" },
   "Black and Brown Monkey": { "Sunday": "12 PM to 12 AM", "Tuesday": "12 PM to 12 AM", "Wednesday": "All day", "Thursday": "12 PM to 12 AM", "Saturday": "All day" },
   "Black and Gray Monkey": { "Tuesday": "6 PM to 12 AM" },
   "Classic Monkey": { "Sunday": "All day", "Monday": "All day", "Tuesday": "All day", "Wednesday": "All day", "Thursday": "All day", "Friday": "All day", "Saturday": "All day" },
   "Red and Beige Monkey": { "Monday": "12 AM to 12 PM", "Tuesday": "All day", "Wednesday": "12 AM to 12 PM", "Friday": "12 AM to 12 PM", "Saturday": "All day" }

};

   function isAvailable(critter, day, hour) {
       const availability = critters[critter][day];
       if (!availability) return false; // 'n/a' or undefined
       if (availability === 'All day') return true;
       const [start, end] = availability.split(' to ');
       const startHour = parseHour(start);
       const endHour = parseHour(end);
       return hour >= startHour && hour < endHour;
   }
   function parseHour(timeStr) {
       const [time, period] = timeStr.split(' ');
       let [hours, minutes] = time.split(':');
       hours = parseInt(hours);
       if (period === 'PM' && hours !== 12) hours += 12;
       if (period === 'AM' && hours === 12) hours = 0;
       return hours;
   }
   function updateCritterList() {
       const now = new Date();
       const dayOfWeek = now.toLocaleString('en-US', { weekday: 'long' });
       const hour = now.getHours();
       let listContent = ;
       Object.entries(critters).forEach(([critterName, _]) => {
           if (isAvailable(critterName, dayOfWeek, hour)) {
               listContent += `[[File:${critterName.png|20x20px|alt=|link=]] [[${critterName]]}
`; } });
       parseContent(listContent);
   }
   function parseContent(wikitext) {
       const apiEndpoint = "/api.php";
       const params = new URLSearchParams({
           action: 'parse',
           format: 'json',
           contentmodel: 'wikitext',
           text: wikitext,
           prop: 'text'
       });
       fetch(apiEndpoint + "?" + params.toString(), {
           method: 'POST',
           credentials: 'same-origin'
       })
       .then(response => response.json())
       .then(data => {
           const parsedHtml = data.parse.text['*'];
           document.getElementById('critterList').innerHTML = parsedHtml;
       })
       .catch(error => console.error('Error parsing content:', error));
   }
   window.addEventListener('load', function() {
       updateCritterList(); // Initial update
       setInterval(updateCritterList, 60000); // Refresh every minute
   });

</script>