diff --git a/apps/web/src/lib/ui/data/TaskItem.svelte b/apps/web/src/lib/ui/data/TaskItem.svelte index 40aa501..6991bfd 100644 --- a/apps/web/src/lib/ui/data/TaskItem.svelte +++ b/apps/web/src/lib/ui/data/TaskItem.svelte @@ -7,10 +7,9 @@ isTomorrow, } from "$lib/utils/date"; import { success, error as toastError } from "$lib/stores/toasts"; - import { tick, onDestroy, createEventDispatcher } from "svelte"; + import { tick, createEventDispatcher } from "svelte"; import { fade } from "svelte/transition"; - import Popover from "$lib/ui/feedback/Popover.svelte"; - import { normalizeDigits, buildWaMeUrl } from "$lib/utils/phone"; + import { normalizeDigits } from "$lib/utils/phone"; import { colorForGroup } from "$lib/utils/groupColor"; import DueOkIcon from "$lib/ui/icons/DueOkIcon.svelte"; import DueSoonIcon from "$lib/ui/icons/DueSoonIcon.svelte"; @@ -21,6 +20,8 @@ import EditIcon from "$lib/ui/icons/EditIcon.svelte"; import CalendarEditIcon from "$lib/ui/icons/CalendarEditIcon.svelte"; import CheckCircleSuccessIcon from "$lib/ui/icons/CheckCircleSuccessIcon.svelte"; + import TaskDueBadge from "$lib/ui/data/task/TaskDueBadge.svelte"; + import TaskAssignees from "$lib/ui/data/task/TaskAssignees.svelte"; export let id: number; export let description: string; @@ -54,19 +55,8 @@ let busy = false; // Popover de responsables - let showAssignees = false; - let assigneesButtonEl: HTMLButtonElement | null = null; $: assigneesCount = Array.isArray(assignees) ? assignees.length : 0; $: canUnassign = !(groupId == null && assigneesCount === 1 && isAssigned); - $: assigneesAria = - assigneesCount === 0 - ? "Sin responsables" - : `${assigneesCount} responsable${assigneesCount === 1 ? "" : "s"}${isAssigned ? "; tú incluido" : ""}`; - - onDestroy(() => { - // Cerrar popover si se desmonta el item (por navegación o filtrado) - showAssignees = false; - }); // Edición de texto (inline) let editingText = false; @@ -322,21 +312,7 @@ : undefined}>{groupLabel} {#if due_date} - - {#if !overdue && !imminent} - - {:else if imminent} - - {:else} - - {/if} - {dateDmy} - + {/if}
@@ -363,38 +339,7 @@ {/if}
- {#if assigneesCount === 0} - - {:else} - - {/if} +
{#if !completed} @@ -472,38 +417,6 @@ {/if} {/if}
- -

Responsables

- {#if assigneesCount === 0} -

No hay responsables asignados.

- {:else} - - {/if} -
- -
-
diff --git a/apps/web/src/lib/ui/data/task/TaskDueBadge.svelte b/apps/web/src/lib/ui/data/task/TaskDueBadge.svelte new file mode 100644 index 0000000..ffc922a --- /dev/null +++ b/apps/web/src/lib/ui/data/task/TaskDueBadge.svelte @@ -0,0 +1,45 @@ + + +{#if due_date} + + {#if !overdue && !imminent} + + {:else if imminent} + + {:else} + + {/if} + {dateDmy} + +{/if} + +