save({ due_date: dueDate, due_time: dueTime })} /> save({ due_date: dueDate, due_time: dueTime })} /> save({ duration_min: duration === '' ? 0 : Math.max(0, Math.round(Number(duration))) })} />
{t('detail.snooze')} {#if snoozed}
{t('task.snoozedUntil', { when: snoozedText })}
{:else}
snoozeCustom && snoozeTo(new Date(snoozeCustom).toISOString())} />
{/if}
{#if members.length > 1}
{/if}

{t('detail.subtasks')}

{#each subtasks as subtask (subtask.id)}
{subtask.content}
{/each}

{t('detail.files')}

{#each attachments as attachment (attachment.id)}
{attachment.filename} {kb(attachment.size)}
{/each}

{t('detail.reminders')}

{#each reminders as reminder (reminder.id)}
{reminder.remind_at ? stamp(reminder.remind_at) : `${reminder.offset_min} min.`} {#if reminder.sent}{t('detail.sent')}{/if}
{/each}
{#if notes.length}

{t('notes.title')}

{#each notes as note (note.id)} {note.title || t('notes.untitled')} {/each}
{/if}

{t('detail.comments')}

{#each comments as comment (comment.id)}
{comment.user_name?.[0]?.toUpperCase() ?? '?'}
{comment.user_name} {stamp(comment.created_at)}

{comment.body}

{#each comment.attachments ?? [] as attachment (attachment.id)} {attachment.filename} {/each}
{#if comment.user_id === app.user?.id} {/if}
{/each}