fix: show Set... placeholder for scheduled/wait/until date fields
Also fix selectedTask going stale after store updates by syncing it from the store subscription instead of manual patching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -402,6 +402,12 @@
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{:else}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events a11y-no-static-element-interactions -->
|
||||
<div class="field-row editable" on:click={() => startEdit('scheduled')}>
|
||||
<span class="field-label">Scheduled</span>
|
||||
<span class="field-value clickable">Set...</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Wait -->
|
||||
@@ -425,6 +431,12 @@
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{:else}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events a11y-no-static-element-interactions -->
|
||||
<div class="field-row editable" on:click={() => startEdit('wait')}>
|
||||
<span class="field-label">Wait</span>
|
||||
<span class="field-value clickable">Set...</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Until -->
|
||||
@@ -448,6 +460,12 @@
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{:else}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events a11y-no-static-element-interactions -->
|
||||
<div class="field-row editable" on:click={() => startEdit('until')}>
|
||||
<span class="field-label">Until</span>
|
||||
<span class="field-value clickable">Set...</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Active since -->
|
||||
|
||||
@@ -37,6 +37,11 @@
|
||||
// Subscribe to store
|
||||
const unsubscribe = tasksStore.subscribe(value => {
|
||||
tasks = value;
|
||||
// Keep selectedTask in sync with store changes
|
||||
if (selectedTask) {
|
||||
const updated = value.find(t => t.uuid === selectedTask.uuid);
|
||||
if (updated) selectedTask = updated;
|
||||
}
|
||||
});
|
||||
|
||||
onMount(() => {
|
||||
@@ -197,10 +202,6 @@
|
||||
async function handleUpdate(uuid, updates) {
|
||||
try {
|
||||
await tasksStore.updateTask(uuid, updates);
|
||||
// Keep selectedTask fresh
|
||||
if (selectedTask?.uuid === uuid) {
|
||||
selectedTask = { ...selectedTask, ...updates };
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to update task:', error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user