diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-16 13:01:39 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-16 13:01:39 -0300 |
commit | af6fb73b40795b7674c6f49dae805994326aaa4f (patch) | |
tree | 6e41f61d0d17cf6837fdc0ec78e6eba12b4e0304 /src | |
parent | d005f9f543d44670f88b831a55b695b515e81454 (diff) |
client: rectangles: WikiRect.display()
Just for debugging!
Diffstat (limited to 'src')
-rw-r--r-- | src/static/js/rectangles.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/static/js/rectangles.js b/src/static/js/rectangles.js index cdab2cb8..b00ed98e 100644 --- a/src/static/js/rectangles.js +++ b/src/static/js/rectangles.js @@ -510,4 +510,46 @@ export class WikiRect extends DOMRect { height: this.height, }); } + + // Other utilities + + #display = null; + + display() { + if (!this.#display) { + this.#display = document.createElement('div'); + document.body.appendChild(this.#display); + } + + Object.assign(this.#display.style, { + position: 'fixed', + background: '#000c', + border: '3px solid var(--primary-color)', + borderRadius: '4px', + top: this.top + 'px', + left: this.left + 'px', + width: this.width + 'px', + height: this.height + 'px', + pointerEvents: 'none', + }); + + let i = 0; + const int = setInterval(() => { + i++; + if (i >= 3) clearInterval(int); + if (!this.#display) return; + + this.#display.style.display = 'none'; + setTimeout(() => { + this.#display.style.display = ''; + }, 200); + }, 600); + } + + hide() { + if (this.#display) { + this.#display.remove(); + this.#display = null; + } + } } |