diff --git a/apps/tauri/src/app.css b/apps/tauri/src/app.css index 7da049f..c298efe 100644 --- a/apps/tauri/src/app.css +++ b/apps/tauri/src/app.css @@ -248,7 +248,7 @@ body { border-color: rgba(0, 0, 0, 0.5); } -/* ── Dropdown/kebab menu shadow ──────────────────────────────────── */ +/* ── Dropdown/kebab menu shadow + open/close animation ───────────── */ .menu-shadow { box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.12); @@ -257,6 +257,18 @@ body { box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3); } +.dropdown-menu { + transition: opacity 120ms ease, transform 120ms ease, display 120ms ease allow-discrete; + transform-origin: top right; + opacity: 1; + transform: scale(1); + + @starting-style { + opacity: 0; + transform: scale(0.92); + } +} + /* ── Borderless mode: square corners on all popups/overlays ─────── */ .decorations-none .rounded-sm, diff --git a/apps/tauri/src/lib/components/NewTaskInput.svelte b/apps/tauri/src/lib/components/NewTaskInput.svelte index e43c7b0..9bac827 100644 --- a/apps/tauri/src/lib/components/NewTaskInput.svelte +++ b/apps/tauri/src/lib/components/NewTaskInput.svelte @@ -139,8 +139,8 @@ {#if showDatePicker} (showDatePicker = false)} /> diff --git a/apps/tauri/src/lib/screens/TasksScreen.svelte b/apps/tauri/src/lib/screens/TasksScreen.svelte index c923983..39c8676 100644 --- a/apps/tauri/src/lib/screens/TasksScreen.svelte +++ b/apps/tauri/src/lib/screens/TasksScreen.svelte @@ -118,12 +118,12 @@ renamingListId = null; } - async function handleToggleGroupByDueDate() { + async function handleToggleGroupByDate() { showListMenu = false; if (!app.activeListId) return; var list = app.lists.find(l => l.id === app.activeListId); if (!list) return; - await app.setGroupByDueDate(app.activeListId, !list.group_by_due_date); + await app.setGroupByDate(app.activeListId, !list.group_by_date); } function handleKeydown(e: KeyboardEvent) { @@ -188,16 +188,16 @@ const targetGroup = app.groupedPendingTasks?.find((g) => g.label === group); const task = app.pendingTasks.find((t) => t.id === taskId); if (task && targetGroup !== undefined) { - let newDueDate: string | null = null; + let newDate: string | null = null; if (targetGroup.date !== null) { const target = new Date(targetGroup.date); - if (task.has_time && task.due_date) { - const existing = new Date(task.due_date); + if (task.has_time && task.date) { + const existing = new Date(task.date); target.setHours(existing.getHours(), existing.getMinutes(), existing.getSeconds(), 0); } - newDueDate = target.toISOString(); + newDate = target.toISOString(); } - await app.updateTask({ ...task, due_date: newDueDate, has_time: newDueDate ? task.has_time : false }); + await app.updateTask({ ...task, date: newDate, has_time: newDate ? task.has_time : false }); } } @@ -554,21 +554,21 @@ {/if}