37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
/*
|
|
* Ícone "P.I.D." do card de login (`#login-logo-btn`). Fora do tema sazonal
|
|
* Halloween: clicar faz os olhos do disquete piscarem
|
|
* (`.pid-icon-eye`/`pidIconBlink` em base.css, mesmo mecanismo da logo da
|
|
* sidebar em sidebar-brand.js). Durante o Halloween
|
|
* (`pidIsHalloweenActive()`, seasonal-theme.js): o ícone vira o vampiro
|
|
* (`pidApplyVampireIcon`) e o clique dispara a animação de "susto"
|
|
* (`pidTriggerVampireScare`, `.is-scaring` em base.css) em vez da piscada.
|
|
* Sem navegação nenhuma aqui — já estamos na tela de login, é só um toque de
|
|
* graça ao clicar no mascote.
|
|
*/
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
const btn = document.getElementById("login-logo-btn");
|
|
if (!btn) return;
|
|
|
|
const halloween = typeof pidIsHalloweenActive === "function" && pidIsHalloweenActive();
|
|
|
|
if (halloween) {
|
|
pidApplyVampireIcon(btn.querySelector(".login-card__logo"));
|
|
if (typeof pidApplySeasonalFavicon === "function") pidApplySeasonalFavicon();
|
|
if (typeof pidApplyHalloweenCobwebs === "function") pidApplyHalloweenCobwebs("pw-cobwebs-login");
|
|
}
|
|
|
|
btn.addEventListener("click", () => {
|
|
if (halloween) {
|
|
pidTriggerVampireScare(btn);
|
|
return;
|
|
}
|
|
|
|
btn.querySelectorAll(".pid-icon-eye").forEach((eye) => {
|
|
eye.classList.remove("is-blinking");
|
|
void eye.getBoundingClientRect();
|
|
eye.classList.add("is-blinking");
|
|
});
|
|
});
|
|
});
|