Add parody DANO landing page
This commit is contained in:
48
script.js
Normal file
48
script.js
Normal file
@@ -0,0 +1,48 @@
|
||||
(() => {
|
||||
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);
|
||||
})();
|
||||
Reference in New Issue
Block a user