From 365d3c5b9bbdda85dfebfad7a6cf9288159c1eaa Mon Sep 17 00:00:00 2001 From: Webifi Date: Sun, 28 May 2023 12:41:49 -0500 Subject: [PATCH] Add double-touch to edit for mobile support --- src/lib/EditMessage.svelte | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/lib/EditMessage.svelte b/src/lib/EditMessage.svelte index 8c476c0..04489d5 100644 --- a/src/lib/EditMessage.svelte +++ b/src/lib/EditMessage.svelte @@ -34,11 +34,11 @@ noEdit = !!message.summarized }) - const edit = (uuid:string) => { + const edit = () => { if (noEdit) return editing = true setTimeout(() => { - const el = document.getElementById(uuid) + const el = document.getElementById('edit-' + message.uuid) el && el.focus() }, 0) } @@ -82,6 +82,17 @@ console.error("Can't find element with message ID", uuid) } } + + // Double click for mobile support + let lastTap: number = 0 + function editOnDoubleTap () { + const now: number = new Date().getTime() + const timesince: number = now - lastTap + if ((timesince < 400) && (timesince > 0)) { + edit() + } + lastTap = new Date().getTime() + } @@ -135,12 +146,15 @@ {#if editing && !noEdit}
-
+
{:else}
edit('edit-' + message.uuid)} + + on:touchend={editOnDoubleTap} + on:dblclick|preventDefault={() => edit()} >