Files
recipe-importer/kiskegyed-examples/kiskegyed3_files/adventCalendar.js.download
T
2026-02-24 18:41:11 +01:00

29 lines
1.2 KiB
Plaintext

function setViewedWindows(campaignId) {
const storedObject = JSON.parse(localStorage.getItem(`adventCalendar-${campaignId}`));
if (storedObject && Array.isArray(storedObject)) {
storedObject.forEach(date => {
document.querySelector(`#advent-calendar>.days-grid>a[data-date="${date}"]`)?.classList.add('viewed');
document.querySelector(`#advent-calendar-placed>.days-grid>a[data-date="${date}"]`)?.classList.add('viewed');
});
}
}
function addAdventListeners(campaignId) {
document.querySelectorAll('.days-grid>a').forEach(dayWindow => {
dayWindow.addEventListener('click', _e => {
addWindowToStorageAndRedirect(dayWindow.dataset.date, campaignId);
});
});
}
function addWindowToStorageAndRedirect(date, campaignId) {
const storedObject = JSON.parse(localStorage.getItem(`adventCalendar-${campaignId}`));
if (!storedObject || !Array.isArray(storedObject)) {
localStorage.setItem(`adventCalendar-${campaignId}`, JSON.stringify([date]));
} else if (!storedObject.includes(date)) {
localStorage.setItem(`adventCalendar-${campaignId}`, JSON.stringify([...storedObject, date]));
}
}