From ec567337dc21962996362c3917f6652a81bbd8e7 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Mon, 4 Nov 2019 04:03:09 -0800 Subject: [Glitch] fix: support KaiOS arrow navigation on public pages Port 1e232e455cfa75621264a0b90b783b21ebd5ea87 to glitch-soc Signed-off-by: Thibaut Girka --- .../flavours/glitch/util/load_keyboard_extensions.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 app/javascript/flavours/glitch/util/load_keyboard_extensions.js (limited to 'app/javascript/flavours/glitch/util') 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(); +} -- cgit