listless

A simple list app for Apple platforms
Log | Files | Refs | README | LICENSE

commit c990a8dc3d4cf9106d428bcc8f42b847f6bbdbc9
parent 59905f028de91c4e3360a615cf448f9b8ccf217d
Author: Michael Camilleri <[email protected]>
Date:   Tue, 24 Mar 2026 14:26:07 +0900

Support tap to uncomplete on item bodies in iOS version

Diffstat:
MListlessiOS/Helpers/TappableTextField.swift | 1+
MListlessiOS/Views/TaskRowView.swift | 9+++++++--
2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ListlessiOS/Helpers/TappableTextField.swift b/ListlessiOS/Helpers/TappableTextField.swift @@ -60,6 +60,7 @@ struct TappableTextField: UIViewRepresentable { textView.accessibilityIdentifier = uiAccessibilityIdentifier textView.isEditable = !isCompleted textView.isSelectable = !isCompleted + textView.isUserInteractionEnabled = !isCompleted // Defer isDragging updates to break an AttributeGraph cycle: setting // isEditable/isSelectable during updateUIView causes UITextView to // invalidate its intrinsic content size, creating a layout-to-state diff --git a/ListlessiOS/Views/TaskRowView.swift b/ListlessiOS/Views/TaskRowView.swift @@ -122,8 +122,13 @@ struct TaskRowView: View { { return } - onSelect(taskID) - if !task.isCompleted { + if task.isCompleted { + withAnimation { + onSelect(taskID) + onToggle(task) + } + } else { + onSelect(taskID) focusedField = .task(taskID) } }