diff --git a/frontend/src/components/calendar/EventDetailPanel.tsx b/frontend/src/components/calendar/EventDetailPanel.tsx index 3c0c4e4..882a0bf 100644 --- a/frontend/src/components/calendar/EventDetailPanel.tsx +++ b/frontend/src/components/calendar/EventDetailPanel.tsx @@ -13,6 +13,7 @@ import { formatUpdatedAt } from '@/components/shared/utils'; import CopyableField from '@/components/shared/CopyableField'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; +import { DatePicker } from '@/components/ui/date-picker'; import { Textarea } from '@/components/ui/textarea'; import { Select } from '@/components/ui/select'; import { Checkbox } from '@/components/ui/checkbox'; @@ -633,22 +634,24 @@ export default function EventDetailPanel({
- updateField('start_datetime', e.target.value)} + onChange={(v) => updateField('start_datetime', v)} className="text-xs" required />
- updateField('end_datetime', e.target.value)} + onChange={(v) => updateField('end_datetime', v)} className="text-xs" />
diff --git a/frontend/src/components/calendar/EventForm.tsx b/frontend/src/components/calendar/EventForm.tsx index f3168e3..4bae0fc 100644 --- a/frontend/src/components/calendar/EventForm.tsx +++ b/frontend/src/components/calendar/EventForm.tsx @@ -13,6 +13,7 @@ import { SheetClose, } from '@/components/ui/sheet'; import { Input } from '@/components/ui/input'; +import { DatePicker } from '@/components/ui/date-picker'; import { Textarea } from '@/components/ui/textarea'; import { Select } from '@/components/ui/select'; import { Label } from '@/components/ui/label'; @@ -281,22 +282,24 @@ export default function EventForm({ event, templateData, templateName, initialSt
- setFormData({ ...formData, start_datetime: e.target.value })} + onChange={(v) => setFormData({ ...formData, start_datetime: v })} required />
- setFormData({ ...formData, end_datetime: e.target.value })} + onChange={(v) => setFormData({ ...formData, end_datetime: v })} />
diff --git a/frontend/src/components/todos/TodoDetailPanel.tsx b/frontend/src/components/todos/TodoDetailPanel.tsx index e65021e..a7893ec 100644 --- a/frontend/src/components/todos/TodoDetailPanel.tsx +++ b/frontend/src/components/todos/TodoDetailPanel.tsx @@ -389,38 +389,31 @@ export default function TodoDetailPanel({ updateField('due_date', v)} + mode="datetime" + value={editState.due_date ? (editState.due_date + 'T' + (editState.due_time || '00:00')) : ''} + onChange={(v) => { + updateField('due_date', v ? v.slice(0, 10) : ''); + updateField('due_time', v ? v.slice(11, 16) : ''); + }} className="text-xs" />
- - updateField('due_time', e.target.value)} + +
-
- - -
- {/* Save / Cancel at bottom */}
- - setFormData({ ...formData, due_time: e.target.value })} - /> + +
- -
- - -