diff --git a/apps/web/src/lib/ui/data/TaskItem.svelte b/apps/web/src/lib/ui/data/TaskItem.svelte index 961846a..9ae9eaf 100644 --- a/apps/web/src/lib/ui/data/TaskItem.svelte +++ b/apps/web/src/lib/ui/data/TaskItem.svelte @@ -261,7 +261,7 @@ aria-label="Soltar" title="Soltar" on:click|preventDefault={doUnassign} - disabled={busy}>Soltar 🫳🫳 Soltar {/if} + ✅ Completar {#if !editingText} @@ -278,7 +280,9 @@ aria-label="Editar texto" title="Editar texto" on:click|preventDefault={toggleEditText} - disabled={busy}>Editar ✍️ + ✍️ Editar {:else} 🗓️ Mover {:else} @@ -329,8 +333,8 @@ grid-template-columns: 1fr max-content; grid-template-rows: min-content max-content max-content; grid-gap: 2px; - padding: 4px; - border-bottom: 1px solid var(--color-border); + padding: 4px 0 8px 0; + border-bottom: 2px dashed var(--color-border); position: relative; margin: 0 0 4px 0; } @@ -338,19 +342,20 @@ border-bottom: 0; } .code { - font-weight: 600; + font-weight: 300; font-size: 0.8rem; color: var(--color-text-muted); font-family: monospace; letter-spacing: 0.5px; grid-row: 1/2; grid-column: 1/2; + align-self: center; } .completed { opacity: 0.5; } .desc { - padding: 8px; + padding: 8px 4px; grid-column: 1/3; grid-row: 2/3; } @@ -373,7 +378,6 @@ .meta { justify-self: end; align-items: start; - gap: 8px; grid-row: 1/2; grid-column: 2/3; } @@ -381,7 +385,7 @@ color: var(--color-text-muted); } .date-badge { - padding: 2px 6px; + padding: 4px 6px; border-radius: 6px; border: 1px solid transparent; font-size: 12px; @@ -410,13 +414,12 @@ } .actions { - display: block; - gap: 6px; - justify-self: end; - align-items: center; - flex-wrap: wrap; + justify-self: center; + justify-content: space-between; + align-content: space-between; grid-column: 2/3; grid-row: 3/4; + margin-bottom: 4px; } .btn { padding: 4px 8px; @@ -426,6 +429,7 @@ border-radius: 6px; font-size: 13px; cursor: pointer; + font-family: monospace; } .btn[disabled] { opacity: 0.6; @@ -451,11 +455,31 @@ border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-surface); - font-size: 16px; + font-size: 12px; line-height: 1; + font-family: monospace; } .date { padding: 4px 6px; font-size: 14px; } + @media (max-width: 480px) { + .task { + grid-template-columns: 1fr; + } + .meta { + justify-self: end; + } + .assignees { + display: none; + } + .actions { + grid-row: 3/4; + grid-column: 1/3; + justify-self: center; + } + .icon-btn { + padding: 2px; + } + } diff --git a/apps/web/src/routes/app/+page.svelte b/apps/web/src/routes/app/+page.svelte index c31aa22..86a3c7f 100644 --- a/apps/web/src/routes/app/+page.svelte +++ b/apps/web/src/routes/app/+page.svelte @@ -1,8 +1,8 @@ -

Panel

Sesión: {data.userId}

-
-
- -
- - -
-

Mis tareas (abiertas)

{#if data.openTasks.length === 0}

No tienes tareas abiertas.

{:else} - - - + + + {/if} {#if (data.page ?? 1) > 1 || data.hasMore} - 1 - ? `/app?${new URLSearchParams({ q: data.q ?? '', soonDays: data.soonDays != null ? String(data.soonDays) : '', page: String((data.page ?? 1) - 1) }).toString()}` - : null} - nextHref={data.hasMore - ? `/app?${new URLSearchParams({ q: data.q ?? '', soonDays: data.soonDays != null ? String(data.soonDays) : '', page: String((data.page ?? 1) + 1) }).toString()}` - : null} - /> + 1 + ? `/app?${new URLSearchParams({ q: data.q ?? "", soonDays: data.soonDays != null ? String(data.soonDays) : "", page: String((data.page ?? 1) - 1) }).toString()}` + : null} + nextHref={data.hasMore + ? `/app?${new URLSearchParams({ q: data.q ?? "", soonDays: data.soonDays != null ? String(data.soonDays) : "", page: String((data.page ?? 1) + 1) }).toString()}` + : null} + /> {/if}

Completadas (últimas 24 h)

{#if data.recentTasks.length === 0} -

No hay tareas completadas recientemente.

+

No hay tareas completadas recientemente.

{:else} - -
    - {#each data.recentTasks as t} - - {/each} -
-
+ +
    + {#each data.recentTasks as t} + + {/each} +
+
{/if} -

La cookie de sesión se renueva con cada visita (idle timeout).

+
+
+ +
+ + +
+

+ La cookie de sesión se renueva con cada visita (idle timeout). +