From 1210d4f9f336f9b6c20b4c740be72378e7e867d0 Mon Sep 17 00:00:00 2001 From: Gilles Soulier Date: Mon, 25 May 2026 13:22:07 +0200 Subject: [PATCH] =?UTF-8?q?feat(todos):=20case=20=C3=A0=20cocher=20=C2=ABP?= =?UTF-8?q?as=20de=20date=C2=BB=20dans=20le=20formulaire=20todo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cochée par défaut à la création (aucune date soumise). Décochée si la tâche éditée a déjà une date (champ date pré-rempli). Décocher affiche le sélecteur de date ; cocher le masque et efface la date. v0.4.14 Co-Authored-By: Claude Sonnet 4.6 --- frontend/package.json | 2 +- frontend/src/components/todos/TodoForm.tsx | 30 ++++++++++++++++------ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index b652c90..8bdf6e5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "homehub-frontend", "private": true, - "version": "0.4.13", + "version": "0.4.14", "type": "module", "scripts": { "dev": "vite", diff --git a/frontend/src/components/todos/TodoForm.tsx b/frontend/src/components/todos/TodoForm.tsx index 05a0b3c..5edcc77 100644 --- a/frontend/src/components/todos/TodoForm.tsx +++ b/frontend/src/components/todos/TodoForm.tsx @@ -57,6 +57,7 @@ export default function TodoForm({ onSubmit, onCancel, initialValues, submitLabe const [title, setTitle] = useState(initialValues?.title ?? '') const [selectedDomains, setSelectedDomains] = useState(initialValues?.domains ?? []) const [priority, setPriority] = useState<'low' | 'medium' | 'high'>(initialValues?.priority ?? 'medium') + const [noDate, setNoDate] = useState(!initialValues?.due_date) const [dueDate, setDueDate] = useState( initialValues?.due_date ? initialValues.due_date.slice(0, 10) : today ) @@ -114,7 +115,7 @@ export default function TodoForm({ onSubmit, onCancel, initialValues, submitLabe title: title.trim(), domains: selectedDomains, priority, - due_date: dueDate ? new Date(dueDate).toISOString() : undefined, + due_date: noDate ? undefined : (dueDate ? new Date(dueDate).toISOString() : undefined), body: body.trim() || undefined, url: url.trim() || undefined, tags: tags ? tags.split(',').map(t => t.trim()).filter(Boolean) : [], @@ -201,13 +202,26 @@ export default function TodoForm({ onSubmit, onCancel, initialValues, submitLabe {/* Date objectif */}
-
Date objectif
- setDueDate(e.target.value)} - /> +
+ + {!noDate && Date objectif} +
+ {!noDate && ( + setDueDate(e.target.value)} + /> + )}
{/* Description */}