website/_src/assets/js/cat.js

41 lines
880 B
JavaScript
Raw Normal View History

2025-09-11 19:30:58 +03:00
import { audioPath } from "./path.js";
2025-06-11 09:36:54 +03:00
let pipe = document.getElementById("meow");
2025-06-16 16:31:53 +03:00
let preload = new Image();
preload.src = "/assets/img/button/braixdragon-cat2.gif";
2025-09-11 19:30:58 +03:00
let hoverTimeout;
let hovered = false;
let played = localStorage.getItem("audioPlayed") === "true";
let audio = new Audio(`${audioPath}anvil_land_low.ogg`);
2025-06-16 16:31:53 +03:00
2025-09-11 19:30:58 +03:00
window.addEventListener("beforeunload", () => {
localStorage.removeItem("catflattened");
});
2025-06-16 16:31:53 +03:00
pipe.addEventListener(
2025-09-11 19:30:58 +03:00
"mouseover",
() => {
if (played) return;
hovered = true;
hoverTimeout = setTimeout(() => {
if (hovered && !played) {
pipe.src = preload.src;
setTimeout(() => {
if (!played) {
audio.play();
played = true;
localStorage.setItem("catflattened", "true");
}
}, 600);
}
}, 650);
},
true
);
pipe.addEventListener("mouseout", () => {
hovered = false;
clearTimeout(hoverTimeout);
});