portal_publico/static/js/sidebar-brand.js

29 lines
1.1 KiB
JavaScript

/*
* Logo da sidebar (`#sidebar-brand-link`, presente nos 10 shells) — link de
* verdade pra `portal.html` (tela Principal), com os olhos do ícone
* piscando antes de navegar. A navegação é adiada (`setTimeout`) só o
* suficiente pra a piscada (`.pid-icon-eye`/`pidIconBlink` em base.css,
* 200ms) terminar de tocar antes da página trocar; ctrl/cmd/shift/clique do
* meio continuam abrindo em nova aba normalmente (não intercepta esses
* casos).
*/
document.addEventListener("DOMContentLoaded", () => {
const brand = document.getElementById("sidebar-brand-link");
if (!brand) return;
brand.addEventListener("click", (event) => {
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
event.preventDefault();
brand.querySelectorAll(".pid-icon-eye").forEach((eye) => {
eye.classList.remove("is-blinking");
void eye.getBoundingClientRect();
eye.classList.add("is-blinking");
});
setTimeout(() => {
window.location.href = brand.getAttribute("href");
}, 260);
});
});