aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/static/slides/slide.js
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-25 23:36:44 +0900
committernsfisis <nsfisis@gmail.com>2026-02-25 23:36:44 +0900
commit2913b09233ac0c83143fb004896a7b1fec5fca99 (patch)
tree1670bd8f0ddf9e03e681c494bdacec3b239c81cb /services/nuldoc/static/slides/slide.js
parentaa9c29c190ea8b15f6dbb1a38a1c554e1ade77b7 (diff)
downloadnsfisis.dev-2913b09233ac0c83143fb004896a7b1fec5fca99.tar.gz
nsfisis.dev-2913b09233ac0c83143fb004896a7b1fec5fca99.tar.zst
nsfisis.dev-2913b09233ac0c83143fb004896a7b1fec5fca99.zip
feat(slides): allow users to navigate slide pages by arrow keys and h/l keysHEADmain
Diffstat (limited to 'services/nuldoc/static/slides/slide.js')
-rw-r--r--services/nuldoc/static/slides/slide.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/services/nuldoc/static/slides/slide.js b/services/nuldoc/static/slides/slide.js
index 530bef77..db6f9c1e 100644
--- a/services/nuldoc/static/slides/slide.js
+++ b/services/nuldoc/static/slides/slide.js
@@ -66,6 +66,18 @@ async function init() {
queueRenderPage(pageNum);
});
+ document.addEventListener("keydown", (e) => {
+ if (e.key === "ArrowLeft" || e.key === "h") {
+ if (pageNum <= 1) return;
+ pageNum--;
+ queueRenderPage(pageNum);
+ } else if (e.key === "ArrowRight" || e.key === "l") {
+ if (pageNum >= doc.numPages) return;
+ pageNum++;
+ queueRenderPage(pageNum);
+ }
+ });
+
// TODO: error handling
doc = await getDocument(url).promise;
queueRenderPage(pageNum);