about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/load_keyboard_extensions.js
blob: 2dd0e45fa714c46485d056cdf78e886b933557c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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();
}