add date type easter egg

This commit is contained in:
Russell2259
2024-02-27 18:18:55 +00:00
parent 0c22df7b70
commit 99c72394bd
2 changed files with 43 additions and 3 deletions
+2 -2
View File
@@ -1043,7 +1043,7 @@
},
{
"name": "Radius Raid",
"target": "/cdn/images/radiusraid.jpg",
"image": "https://jackrugile.com/radius-raid/"
"target": "https://jackrugile.com/radius-raid/",
"image": "/cdn/images/radiusraid.jpg"
}
]
+41 -1
View File
@@ -7,8 +7,9 @@
/**
* @typedef easterEgg
* @type {object}
* @property {'keybind' | 'click'} easterEgg.type
* @property {'keybind' | 'date'} easterEgg.type
* @property {string} easterEgg.phrase
* @property {string} easterEgg.date
* @property {number} easterEgg.clickCount
* @property {object} easterEgg.element
* @property {object} easterEgg.variables
@@ -55,6 +56,31 @@ const utils = {
return {
remove: () => window.removeEventListener(listener)
};
},
/**
* @param {string} date
* @param {easterEgg['run']} script
*/
createDate: async (date, script) => {
date = date.split('/');
if (date.length === 3) {
const day = date[1] === '*' ? new Date().getDate() : date[1];
const month = date[0] === '*' ? new Date().getMonth() : date[0];
const year = date[2] === '*' ? new Date().getFullYear() : date[2];
if (!utils.easterEggActive && (new Date().getDate() === day && new Date().getMonth() === month && new Date().getFullYear() === year)) {
try {
await script({
remove: () => window.removeEventListener('keydown', listener, true)
});
utils.easterEggActive = false;
} catch (e) {
utils.easterEggActive = false;
}
}
} else throw new Error('Invalid date');
}
};
@@ -386,10 +412,24 @@ easterEggs.push({
})
});
easterEggs.push({
type: 'date',
date: '4/1/*',
run: () => {
// April fools =)
}
});
export default () => easterEggs.forEach(easterEgg => {
if (easterEgg.type === 'keybind') {
utils.createKeybind(easterEgg.phrase, easterEgg.run);
try {
easterEgg.preload();
} catch (e) { }
} else if (easterEgg.type === 'date') {
utils.createDate(easterEgg.date, easterEgg.run);
try {
easterEgg.preload();
} catch (e) { }