From 2303ccce6896b95f62b656cc22f28f388e2f2551 Mon Sep 17 00:00:00 2001 From: Sandro Date: Sat, 31 Oct 2026 09:38:54 +0100 Subject: [PATCH] fix(tasks): tapping anywhere on a task card opens it Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + frontend/src/features/triage/TasksView.tsx | 29 +++++++++++++--------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ec1ef2..cfcbe03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die V ### Fixed - Triage am Handy: Die Warteschlange lässt sich wieder zuklappen („Warteschlange ausblenden“) und fährt beim Auf- und Zuklappen weich auf bzw. zu. - Triage auf dem Desktop: Notizen, die auf einem anderen Gerät einsortiert oder gelöscht wurden, verschwinden jetzt sofort auch hier (bisher wurde nur der Aufgaben-Tab aktualisiert). Kommt der Tab wieder in den Vordergrund, lädt er außerdem neu, falls Änderungen im Hintergrund verpasst wurden. +- Aufgaben: Ein Tipp irgendwo auf die Aufgabe öffnet sie jetzt zuverlässig, nicht nur auf den Text. Bisher schluckten die Zeile mit Datum/Tags und in Kanban die Pfeil-Leiste jeden Tipp, und am Handy konnte ein etwas längerer Tipp als Ziehen gewertet werden (Ziehen gibt es nur noch mit Maus oder Stift). ## [0.15.0] - 2026-10-31 diff --git a/frontend/src/features/triage/TasksView.tsx b/frontend/src/features/triage/TasksView.tsx index a3fa495..7921f8c 100644 --- a/frontend/src/features/triage/TasksView.tsx +++ b/frontend/src/features/triage/TasksView.tsx @@ -37,6 +37,17 @@ import { CountBadge } from '../../components/CountBadge'; import { FormSheet } from '../../components/FormSheet'; import { useMobileActions } from '../../context/MobileActionContext'; +// Drag & drop needs a mouse or pen; on touch-only devices a draggable row can swallow a slightly +// longer tap, so the row would not open +const canDragTasks = + typeof window !== 'undefined' && !!window.matchMedia?.('(any-pointer: fine)').matches; + +// Rows inside a task card keep taps on their own controls; taps on empty space or plain labels +// (due date, webhook) reach the card and open the task +const stopOnControl = (e: React.MouseEvent) => { + if ((e.target as HTMLElement).closest('button, select, a, input')) e.stopPropagation(); +}; + interface TasksViewProps { currentUser?: User | null; onRefreshStats: () => void; @@ -1093,7 +1104,7 @@ export const TasksView: React.FC = ({ return (
handleTaskDragStart(e, task)} onDragEnd={() => { setDraggingTaskId(null); @@ -1143,13 +1154,7 @@ export const TasksView: React.FC = ({ {/* Clickable Title & Metadata */} -
{ - setDetailTaskId(task.id); - setShowDetailModal(true); - }} - className="min-w-0 flex-1 cursor-pointer space-y-1" - > +

= ({ {/* Interactive Badges Bar */}

e.stopPropagation()} + onClick={stopOnControl} > {(task.convertedType === 'document_block' || task.docId) && (