feat: animar apertura y cierre de grupos

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
webui
brobert 2 weeks ago
parent 8e0fa53050
commit 1604ce8e75

@ -2,6 +2,7 @@
import TaskItem from "$lib/ui/data/TaskItem.svelte";
import Card from "$lib/ui/layout/Card.svelte";
import { onMount } from "svelte";
import { slide, fade } from "svelte/transition";
type GroupItem = {
id: string;
@ -162,23 +163,27 @@
<span class="badge warn">🙅‍♂️: {g.counts.unassigned}</span>
</span>
</summary>
<Card>
<ul class="list">
{#each itemsByGroup[g.id] || [] as t (t.id)}
<TaskItem
id={t.id}
description={t.description}
due_date={t.due_date}
display_code={t.display_code}
assignees={t.assignees || []}
currentUserId={data.userId}
groupName={g.name ?? g.id}
groupId={t.group_id ?? g.id}
on:changed={(e) => updateGroupTask(g.id, e.detail)}
/>
{/each}
</ul>
</Card>
{#if isOpen(g.id)}
<div in:slide={{ duration: 180 }} out:slide={{ duration: 180 }}>
<Card in:fade={{ duration: 120 }} out:fade={{ duration: 120 }}>
<ul class="list">
{#each itemsByGroup[g.id] || [] as t (t.id)}
<TaskItem
id={t.id}
description={t.description}
due_date={t.due_date}
display_code={t.display_code}
assignees={t.assignees || []}
currentUserId={data.userId}
groupName={g.name ?? g.id}
groupId={t.group_id ?? g.id}
on:changed={(e) => updateGroupTask(g.id, e.detail)}
/>
{/each}
</ul>
</Card>
</div>
{/if}
</details>
{/each}
{/if}

Loading…
Cancel
Save