It doesn't have to be a generous donation. A few cents are enough to show me who is interested in further development. So the motivation stays and I just know that I am not programming for the bin ;)
+ `;
+ const close = () => {
+ document.removeEventListener("keydown", onKey);
+ wrap.remove();
+ if (back && document.contains(back)) back.focus();
+ };
+ const onKey = (e) => { if (e.key === "Escape") close(); };
+ wrap.querySelector(".guide-close").addEventListener("click", close);
+ wrap.addEventListener("click", (e) => { if (e.target === wrap) close(); });
+ document.addEventListener("keydown", onKey);
+ document.body.appendChild(wrap);
+ wrap.querySelector(".guide-close").focus();
+}
+
// The server rescans on its own when games are added or removed and bumps
// titles_gen whenever the list or an update check changes; reload quietly then.
let watchBusy = false;
diff --git a/web/index.html b/web/index.html
index 54b9335..456f43f 100644
--- a/web/index.html
+++ b/web/index.html
@@ -58,6 +58,7 @@