← All repositories

listless

A simple list app for Apple platforms

git clone https://code.inqk.net/listless.git


commit d8e196bd917a92ed7a0138dbf02ff92f969cb263
parent fe917bdb7c7a12c3ba5261e16c4a82bc9c7d2543
Author: Michael Camilleri <[email protected]>
Date:   Wed, 25 Feb 2026 11:17:12 +0900

Use 'complete' rather than 'completed'

Co-Authored-By: Codex GPT 5.3 <[email protected]>

Diffstat

MListlessMac/Helpers/AppCommands.swift | 2+-
MListlessMac/ListlessMacApp.swift | 2+-
MListlessMac/Views/TaskListView.swift | 2+-
MListlessiOS/ListlessiOSApp.swift | 7++++++-
MListlessiOS/Views/PullToClear.swift | 8++++----

5 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/ListlessMac/Helpers/AppCommands.swift b/ListlessMac/Helpers/AppCommands.swift

@@ -23,5 +23,5 @@ final class MenuCoordinator {
     var canClearCompletedTasks = false
 
     // Dynamic titles — read by AppDelegate in validateMenuItem.
-    var markCompletedTitle: String = "Mark as Completed"
+    var markCompletedTitle: String = "Mark as Complete"
 }

diff --git a/ListlessMac/ListlessMacApp.swift b/ListlessMac/ListlessMacApp.swift

@@ -157,7 +157,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuItemValidation {
         moveDownItem.target = self
         editMenu.addItem(moveDownItem)
 
-        let markCompletedItem = NSMenuItem(title: "Mark as Completed", action: #selector(handleMarkCompleted), keyEquivalent: " ")
+        let markCompletedItem = NSMenuItem(title: "Mark as Complete", action: #selector(handleMarkCompleted), keyEquivalent: " ")
         markCompletedItem.keyEquivalentModifierMask = []
         markCompletedItem.target = self
         editMenu.addItem(markCompletedItem)

diff --git a/ListlessMac/Views/TaskListView.swift b/ListlessMac/Views/TaskListView.swift

@@ -99,7 +99,7 @@ struct TaskListView: View {
         guard let currentID = selectedTaskID,
               let task = allTasksInDisplayOrder.first(where: { $0.id == currentID }),
               task.isCompleted else {
-            return "Mark as Completed"
+            return "Mark as Complete"
         }
         return "Mark as Incomplete"
     }

diff --git a/ListlessiOS/ListlessiOSApp.swift b/ListlessiOS/ListlessiOSApp.swift

@@ -2,7 +2,12 @@ import SwiftUI
 
 @main
 struct ListlessiOSApp: App {
-    private let persistenceController = PersistenceController.shared
+    private let persistenceController: PersistenceController
+
+    init() {
+        let isUITesting = ProcessInfo.processInfo.arguments.contains("UI_TESTING")
+        persistenceController = isUITesting ? PersistenceController(inMemory: true) : .shared
+    }
 
     var body: some Scene {
         WindowGroup {

diff --git a/ListlessiOS/Views/PullToClear.swift b/ListlessiOS/Views/PullToClear.swift

@@ -14,9 +14,9 @@ struct PullToClearIndicator: View {
         HStack(spacing: 6) {
             ZStack {
                 Image(systemName: "checkmark")
-                    .offset(y: isReady ? 0 : -textSlideDistance)
+                    .offset(y: isReady ? 0 : textSlideDistance)
                 Image(systemName: "tray")
-                    .offset(y: isReady ? textSlideDistance : 0)
+                    .offset(y: isReady ? -textSlideDistance : 0)
             }
             .frame(width: 26, height: textSlideDistance, alignment: .leading)
             .clipped()
@@ -26,9 +26,9 @@ struct PullToClearIndicator: View {
             .animation(.easeInOut(duration: 0.15), value: isReady)
             ZStack(alignment: .leading) {
                 Text("Release to clear")
-                    .offset(y: isReady ? 0 : -textSlideDistance)
+                    .offset(y: isReady ? 0 : textSlideDistance)
                 Text("Clear completed")
-                    .offset(y: isReady ? textSlideDistance : 0)
+                    .offset(y: isReady ? -textSlideDistance : 0)
             }
             .foregroundStyle(.secondary)
             .font(.body)