From d3fa62d4c2cc7e82b46bca8c349c42a20745fc87 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 20 Apr 2025 16:21:08 +0200 Subject: [PATCH] Inline touch check thats only used once Not worth loading an entire file for this. --- app/javascript/controllers/soft_keyboard_controller.js | 4 ++-- app/javascript/helpers/navigator_helpers.js | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 app/javascript/helpers/navigator_helpers.js diff --git a/app/javascript/controllers/soft_keyboard_controller.js b/app/javascript/controllers/soft_keyboard_controller.js index becc36c52..75fb4f2ee 100644 --- a/app/javascript/controllers/soft_keyboard_controller.js +++ b/app/javascript/controllers/soft_keyboard_controller.js @@ -1,10 +1,10 @@ import { Controller } from "@hotwired/stimulus" import { nextEventNamed } from "helpers/timing_helpers" -import { isTouchDevice } from "helpers/navigator_helpers" export default class extends Controller { + // Only load for touch devices static get shouldLoad() { - return isTouchDevice() + return "ontouchstart" in window && navigator.maxTouchPoints > 0 } // Use a fake input to trigger the soft keyboard on actions that load async content diff --git a/app/javascript/helpers/navigator_helpers.js b/app/javascript/helpers/navigator_helpers.js deleted file mode 100644 index b75f62875..000000000 --- a/app/javascript/helpers/navigator_helpers.js +++ /dev/null @@ -1,3 +0,0 @@ -export function isTouchDevice() { - return "ontouchstart" in window && navigator.maxTouchPoints > 0 -}