about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/util
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-11-07 13:41:56 +0100
committerGitHub <noreply@github.com>2019-11-07 13:41:56 +0100
commitdd2ec970dbe39f09d3da32d6a8f524aaad68a9d6 (patch)
tree0d3596a944cd4ddc27c8c3989f039f640730f70c /app/javascript/flavours/glitch/util
parent00793a86bc52e4cb37318e42ea4ceb37a896c727 (diff)
parentf63dad52943c757489975e0c39e771b6bc96e5ba (diff)
Merge pull request #1242 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/javascript/flavours/glitch/util')
-rw-r--r--app/javascript/flavours/glitch/util/load_keyboard_extensions.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/util/load_keyboard_extensions.js b/app/javascript/flavours/glitch/util/load_keyboard_extensions.js
new file mode 100644
index 000000000..2dd0e45fa
--- /dev/null
+++ b/app/javascript/flavours/glitch/util/load_keyboard_extensions.js
@@ -0,0 +1,16 @@
+// On KaiOS, we may not be able to use a mouse cursor or navigate using Tab-based focus, so we install
+// special left/right focus navigation keyboard listeners, at least on public pages (i.e. so folks
+// can at least log in using KaiOS devices).
+
+function importArrowKeyNavigation() {
+  return import(/* webpackChunkName: "arrow-key-navigation" */ 'arrow-key-navigation');
+}
+
+export default function loadKeyboardExtensions() {
+  if (/KAIOS/.test(navigator.userAgent)) {
+    return importArrowKeyNavigation().then(arrowKeyNav => {
+      arrowKeyNav.register();
+    });
+  }
+  return Promise.resolve();
+}