From a0c183df8215805d9518759d81121d6742785b3e Mon Sep 17 00:00:00 2001 From: Tristan Michael Date: Tue, 14 Apr 2026 06:51:56 -0700 Subject: [PATCH 1/2] Hide subtask counter when parent subtask shown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When "show subtasks" is enabled, the UI could display both the parent subtask and its counter, leading to redundant information. Hide the subtask counter under a parent subtask when the parent itself is shown to reduce visual clutter and avoid duplicate counts. This change ensures a cleaner presentation of tasks and subtasks by preventing the counter from appearing alongside the visible parent subtask. if I drag a task in this mode, I would love to be able to drag it anywhere and have the task update its date - Added `date: Date | null` to TaskGroup (null = Overdue or No Date, Date = the group's calendar day) - Cross-group drops now update the task's due_date to the target group's date; preserves time-of-day when has_time is set; clears due_date when dropping into No Date - Dropping INTO Overdue is still blocked (it's a computed group); dragging OUT of Overdue to any other group works - Within-group drops still just reorder Close open submenus when clicking outside When submenu elements (like the kebab menu or workspace picker) were open, clicking elsewhere in the app did not close them and allowed interacting with underlying UI. This change adds a full-screen invisible overlay element whenever either menu is open that captures outside clicks and closes the menus, and removes the previous window-level mousedown handler and related element bindings. This ensures that clicking outside a submenu only closes it and prevents accidental interactions with other parts of the app. Prevent task clicks when closing dropdown menus When the list menu or workspace picker is open, clicking outside should close the menu but not also trigger underlying task click handlers. Add a mouse down handler that closes dropdowns when clicking outside and a capture-phase click handler that swallows the click immediately after a menu close to avoid propagation to task elements. This avoids accidental task activation right after closing a menu. Prevent clicks reaching background when menus open Stop clicks on the main task area from interacting with underlying elements when the workspace picker or list menu are open. Previously a global mousedown/click handler attempted to close menus and prevent a single stray click from propagating; this change replaces that logic by adding overlay divs inside the drawer and task list panels that capture clicks and close the respective menus. This simplifies interaction handling and fixes a bug where clicking menu items also triggered task clicks. the kebab menu calls the date on tasks a due date, but it's not a due date... it's just a date. can we make sure the codebase, documentation and everything is consistent about this? - Renamed `due_date` field on Task struct to `date` (Rust, TypeScript, all usages) - Renamed `group_by_due_date` field on TaskList/ListMetadata to `group_by_date` - Renamed `set_group_by_due_date`/`get_group_by_due_date` methods to `set_group_by_date`/`get_group_by_date` in repository, Tauri commands, and JS store - Renamed `with_due_date()` builder method to `with_date()` - Renamed `parse_due_date` CLI function to `parse_date` - Updated UI text "Group by due date" → "Group by date" in TasksScreen.svelte kebab menu - Renamed JS variables `dueDate`/`dueDateHasTime` → `date`/`dateHasTime` in NewTaskInput.svelte - Updated all test names and assertions across models.rs and repository.rs - Updated CLAUDE.md documentation to use "date" terminology consistently --- apps/tauri/src/lib/components/TaskItem.svelte | 2 +- apps/tauri/src/lib/screens/TasksScreen.svelte | 30 ++++++++----------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/apps/tauri/src/lib/components/TaskItem.svelte b/apps/tauri/src/lib/components/TaskItem.svelte index ff40adb..48f8aa8 100644 --- a/apps/tauri/src/lib/components/TaskItem.svelte +++ b/apps/tauri/src/lib/components/TaskItem.svelte @@ -161,7 +161,7 @@ {/if} {/if} - {#if subtaskCount > 0} + {#if subtaskCount > 0 && showSubtaskCount}
+
+ {#if showWorkspacePicker} + +
(showWorkspacePicker = false)}>
+ {/if}
@@ -303,7 +295,7 @@ onmousedown={handleHeaderMouseDown} class="flex h-11 shrink-0 items-center justify-between border-b border-border-light px-3 dark:border-border-dark" > -
+
-