From 23c446d7bec71e999e10d7852c35a380dd09b622 Mon Sep 17 00:00:00 2001 From: ZXY101 Date: Mon, 2 Oct 2023 14:05:00 +0200 Subject: [PATCH] Mobile improvements --- src/lib/components/Reader/Reader.svelte | 7 ++++++- src/lib/components/Reader/TextBoxes.svelte | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/lib/components/Reader/Reader.svelte b/src/lib/components/Reader/Reader.svelte index 4945280..a83545b 100644 --- a/src/lib/components/Reader/Reader.svelte +++ b/src/lib/components/Reader/Reader.svelte @@ -190,10 +190,12 @@ let startX = 0; let startY = 0; + let touchStart: Date; function handleTouchStart(event: TouchEvent) { if ($settings.mobile) { const { clientX, clientY } = event.touches[0]; + touchStart = new Date(); startX = clientX; startY = clientY; @@ -211,7 +213,10 @@ const isSwipe = distanceY < 200 && distanceY > 200 * -1; - if (isSwipe) { + const end = new Date(); + const touchDuration = end.getTime() - touchStart?.getTime(); + + if (isSwipe && touchDuration < 500) { const swipeThreshold = Math.abs(($settings.swipeThreshold / 100) * window.innerWidth); if (distanceX > swipeThreshold) { diff --git a/src/lib/components/Reader/TextBoxes.svelte b/src/lib/components/Reader/TextBoxes.svelte index 240ccc8..0926da7 100644 --- a/src/lib/components/Reader/TextBoxes.svelte +++ b/src/lib/components/Reader/TextBoxes.svelte @@ -52,6 +52,13 @@ } } } + + function onContextMenu(event: Event, lines: string[]) { + if ($settings.ankiConnectSettings.enabled) { + event.preventDefault(); + onUpdateCard(lines); + } + } {#each textBoxes as { fontSize, height, left, lines, top, width, writingMode }, index (`text-box-${index}`)} @@ -67,6 +74,7 @@ style:border style:writing-mode={writingMode} role="none" + on:contextmenu={(e) => onContextMenu(e, lines)} on:dblclick={() => onUpdateCard(lines)} {contenteditable} >