From 5d9fd1fa3ec7ae8150c12af48ca43bc47cb84c71 Mon Sep 17 00:00:00 2001 From: Shiva Gupta Date: Thu, 8 Jan 2026 14:31:56 +0530 Subject: [PATCH] feat(AddTaskDialog): add DateTimePicker for entry field - Replace DatePicker with DateTimePicker for entry field in AddTaskDialog - Add entry to dateTimeFields array in tests - Support both date-only and datetime formats for entry Contributes: #325 --- backend/utils/tw/add_task.go | 6 ++++- .../HomeComponents/Tasks/AddTaskDialog.tsx | 22 ++++++++++++++----- .../Tasks/__tests__/AddTaskDialog.test.tsx | 6 ++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/backend/utils/tw/add_task.go b/backend/utils/tw/add_task.go index ee485e21..d362f903 100644 --- a/backend/utils/tw/add_task.go +++ b/backend/utils/tw/add_task.go @@ -51,7 +51,11 @@ func AddTaskToTaskwarrior(req models.AddTaskRequestBody, dueDate string) error { cmdArgs = append(cmdArgs, "depends:"+dependsStr) } if req.EntryDate != "" { - cmdArgs = append(cmdArgs, "entry:"+req.EntryDate) + entry, err := utils.ConvertISOToTaskwarriorFormat(req.EntryDate) + if err != nil { + return fmt.Errorf("unexpected date format error: %v", err) + } + cmdArgs = append(cmdArgs, "entry:"+entry) } if req.WaitDate != "" { wait, err := utils.ConvertISOToTaskwarriorFormat(req.WaitDate) diff --git a/frontend/src/components/HomeComponents/Tasks/AddTaskDialog.tsx b/frontend/src/components/HomeComponents/Tasks/AddTaskDialog.tsx index 20b317de..18ed7f7e 100644 --- a/frontend/src/components/HomeComponents/Tasks/AddTaskDialog.tsx +++ b/frontend/src/components/HomeComponents/Tasks/AddTaskDialog.tsx @@ -334,15 +334,27 @@ export const AddTaskdialog = ({ Entry
- { + { setNewTask({ ...newTask, - entry: date ? format(date, 'yyyy-MM-dd') : '', + entry: date + ? hasTime + ? date.toISOString() + : format(date, 'yyyy-MM-dd') + : '', }); }} - placeholder="Select an entry date" + placeholder="Select entry date and time" />
diff --git a/frontend/src/components/HomeComponents/Tasks/__tests__/AddTaskDialog.test.tsx b/frontend/src/components/HomeComponents/Tasks/__tests__/AddTaskDialog.test.tsx index 987e7def..51d11ab6 100644 --- a/frontend/src/components/HomeComponents/Tasks/__tests__/AddTaskDialog.test.tsx +++ b/frontend/src/components/HomeComponents/Tasks/__tests__/AddTaskDialog.test.tsx @@ -406,6 +406,11 @@ describe('AddTaskDialog Component', () => { label: 'Wait', placeholder: 'Select wait date and time', }, + { + name: 'entry', + label: 'Entry', + placeholder: 'Select entry date and time', + }, ]; test.each(dateTimeFields)( @@ -511,7 +516,6 @@ describe('AddTaskDialog Component', () => { describe('DatePicker fields', () => { const dateOnlyFields = [ { name: 'end', label: 'End', placeholder: 'Select an end date' }, - { name: 'entry', label: 'Entry', placeholder: 'Select an entry date' }, ]; test.each(dateOnlyFields)(