Files
dano-clone/script.js
2025-12-11 13:16:07 +03:00

49 lines
1.9 KiB
JavaScript

(() => {
const start = Date.parse("1984-01-01T00:00:00Z");
const timerEl = document.getElementById("ms-since");
const fmt = new Intl.NumberFormat("ru-RU");
const eggMessages = {
"p-value": "p-value = 0.73 — отсутствие результатов статистически значимо.",
sql: "SELECT * FROM results; 0 rows. База данных благодарит за лёгкий запрос.",
overfit: "Модель публикации переобучена на отмазках. Generalization error → ∞.",
feature: "Фича «1984» в проде. Release notes: добавили вечность.",
heatmap: "Строим тепловую карту пустоты: самый горячий пиксель под диваном.",
pivot: "Pivot в никуда: развернули таблицу, получили NaN.",
gradient: "Градиент неопределённости сошёлся к нулю информации."
};
function update() {
if (!timerEl) return;
const diff = Date.now() - start;
timerEl.textContent = fmt.format(diff);
}
function toast(message) {
console.log(`[dano easter] ${message}`);
const box = document.createElement("div");
box.className = "toast";
box.textContent = message;
document.body.appendChild(box);
requestAnimationFrame(() => box.classList.add("visible"));
setTimeout(() => box.classList.remove("visible"), 2200);
setTimeout(() => box.remove(), 2600);
}
document.querySelectorAll("[data-egg]").forEach((el) => {
el.addEventListener("click", () => {
const msg = eggMessages[el.dataset.egg] || "Логируем вакуум данных.";
toast(msg);
});
});
if (timerEl) {
timerEl.addEventListener("dblclick", () =>
toast("Таймер округляет миллисекунды в сторону драматизма.")
);
}
update();
setInterval(update, 100);
})();