feat(board): edit task deadlines

This commit is contained in:
aj
2026-08-13 16:48:44 -04:00
parent 5c90a6dd76
commit 48a749fde3
5 changed files with 158 additions and 2 deletions
@@ -8,4 +8,10 @@
placeholder="New task..."
class="input"
autocomplete="off" />
<label for="new-task-deadline" class="sr-only">Deadline</label>
<input id="new-task-deadline"
type="datetime-local"
name="dueAt"
class="input"
aria-label="Deadline" />
</form>
@@ -14,6 +14,7 @@
var (statusColor, statusLabel) = statusColors[Model.Status];
var catColor = BoardModel.GetCategoryColor(Model.Category);
var elapsed = BoardModel.FormatElapsed(Model.StartedAt, Model.CompletedAt);
var deadlineLocalValue = Model.DueAt?.LocalDateTime.ToString("yyyy-MM-ddTHH:mm");
double? progressPercent = null;
if (Model.EstimatedMinutes.HasValue && Model.StartedAt.HasValue)
@@ -139,6 +140,31 @@
<span style="color: var(--color-text-primary); font-variant-numeric: tabular-nums;">@elapsed</span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; font-size: 13px;">
<span style="color: var(--color-text-secondary);">Deadline</span>
<div class="inline-edit" id="edit-deadline" style="text-align: right;">
<span class="inline-edit-display inline-edit-display--field"
onclick="startEdit('deadline')"
style="color: var(--color-text-primary); font-variant-numeric: tabular-nums; padding: 2px 8px;">
@(deadlineLocalValue ?? "--")
</span>
<form class="inline-edit-form" style="display:none"
hx-put="/board?handler=UpdateTask&id=@Model.Id"
hx-target="#detail-panel"
hx-swap="innerHTML">
<label for="task-deadline-@Model.Id" class="sr-only">Deadline</label>
<input id="task-deadline-@Model.Id" type="datetime-local" name="dueAt"
value="@deadlineLocalValue" class="inline-edit-input"
aria-label="Deadline" />
<div style="display: flex; gap: 6px; margin-top: 6px;">
<button type="submit" class="btn btn--sm btn--primary">Save</button>
<button type="button" class="btn btn--sm btn--ghost" onclick="cancelEdit('deadline')">Cancel</button>
<button type="submit" name="clearDueAt" value="true" class="btn btn--sm btn--ghost">Clear deadline</button>
</div>
</form>
</div>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; font-size: 13px;">
<span style="color: var(--color-text-secondary);">Estimate</span>
<div class="inline-edit" id="edit-estimate" style="text-align: right;">