Skip to content

Commit 191fc44

Browse files
committed
feat:added shortcuts for addtaskdialog
2 parents a6ac244 + b63f248 commit 191fc44

3 files changed

Lines changed: 54 additions & 14 deletions

File tree

backend/utils/tw/add_task.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,18 @@ func AddTaskToTaskwarrior(req models.AddTaskRequestBody, dueDate string) error {
5151
cmdArgs = append(cmdArgs, "depends:"+dependsStr)
5252
}
5353
if req.EntryDate != "" {
54-
cmdArgs = append(cmdArgs, "entry:"+req.EntryDate)
54+
entry, err := utils.ConvertISOToTaskwarriorFormat(req.EntryDate)
55+
if err != nil {
56+
return fmt.Errorf("unexpected date format error: %v", err)
57+
}
58+
cmdArgs = append(cmdArgs, "entry:"+entry)
5559
}
5660
if req.WaitDate != "" {
57-
cmdArgs = append(cmdArgs, "wait:"+req.WaitDate)
61+
wait, err := utils.ConvertISOToTaskwarriorFormat(req.WaitDate)
62+
if err != nil {
63+
return fmt.Errorf("unexpected date format error: %v", err)
64+
}
65+
cmdArgs = append(cmdArgs, "wait:"+wait)
5866
}
5967
if req.End != "" {
6068
cmdArgs = append(cmdArgs, "end:"+req.End)

frontend/src/components/HomeComponents/Tasks/AddTaskDialog.tsx

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -437,16 +437,28 @@ export const AddTaskdialog = ({
437437
Entry
438438
</Label>
439439
<div className="col-span-3">
440-
<DatePicker
440+
<DateTimePicker
441441
ref={(element) => (inputRefs.current.entry = element)}
442-
date={newTask.entry ? new Date(newTask.entry) : undefined}
443-
onDateChange={(date) => {
442+
date={
443+
newTask.entry
444+
? new Date(
445+
newTask.entry.includes('T')
446+
? newTask.entry
447+
: `${newTask.entry}T00:00:00`
448+
)
449+
: undefined
450+
}
451+
onDateTimeChange={(date, hasTime) => {
444452
setNewTask({
445453
...newTask,
446-
entry: date ? format(date, 'yyyy-MM-dd') : '',
454+
entry: date
455+
? hasTime
456+
? date.toISOString()
457+
: format(date, 'yyyy-MM-dd')
458+
: '',
447459
});
448460
}}
449-
placeholder="Select an entry date"
461+
placeholder="Select entry date and time"
450462
/>
451463
</div>
452464
</div>
@@ -457,16 +469,28 @@ export const AddTaskdialog = ({
457469
Wait
458470
</Label>
459471
<div className="col-span-3">
460-
<DatePicker
472+
<DateTimePicker
461473
ref={(element) => (inputRefs.current.wait = element)}
462-
date={newTask.wait ? new Date(newTask.wait) : undefined}
463-
onDateChange={(date) => {
474+
date={
475+
newTask.wait
476+
? new Date(
477+
newTask.wait.includes('T')
478+
? newTask.wait
479+
: `${newTask.wait}T00:00:00`
480+
)
481+
: undefined
482+
}
483+
onDateTimeChange={(date, hasTime) => {
464484
setNewTask({
465485
...newTask,
466-
wait: date ? format(date, 'yyyy-MM-dd') : '',
486+
wait: date
487+
? hasTime
488+
? date.toISOString()
489+
: format(date, 'yyyy-MM-dd')
490+
: '',
467491
});
468492
}}
469-
placeholder="Select a wait date"
493+
placeholder="Select wait date and time"
470494
/>
471495
</div>
472496
</div>

frontend/src/components/HomeComponents/Tasks/__tests__/AddTaskDialog.test.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,16 @@ describe('AddTaskDialog Component', () => {
401401
label: 'Start',
402402
placeholder: 'Select start date and time',
403403
},
404+
{
405+
name: 'wait',
406+
label: 'Wait',
407+
placeholder: 'Select wait date and time',
408+
},
409+
{
410+
name: 'entry',
411+
label: 'Entry',
412+
placeholder: 'Select entry date and time',
413+
},
404414
];
405415

406416
test.each(dateTimeFields)(
@@ -506,8 +516,6 @@ describe('AddTaskDialog Component', () => {
506516
describe('DatePicker fields', () => {
507517
const dateOnlyFields = [
508518
{ name: 'end', label: 'End', placeholder: 'Select an end date' },
509-
{ name: 'entry', label: 'Entry', placeholder: 'Select an entry date' },
510-
{ name: 'wait', label: 'Wait', placeholder: 'Select a wait date' },
511519
];
512520

513521
test.each(dateOnlyFields)(

0 commit comments

Comments
 (0)