feat: Split datetime fields
- Replace single datetime-local field with 4 separate fields: - Add helper functions: * splitDateTime(): Split datetime string into date and time parts * combineDateTime(): Combine date and time into datetime string - Implement internal state management: * startDate, startTime, endDate, endTime internal states * Sync effects to update internal states from start/end props * Change handlers for each field that combine values and call parent handlers - Fix test cases: * Update EventModal.test.tsx, EventUpdateModal.test.tsx to use new field labels * Change from 'Start'/'End' to 'Start Date'/'Start Time'/'End Time'/'End Date'
This commit is contained in:
committed by
Benoit TELLIER
parent
4f5308fe08
commit
701f2f2b71
@@ -152,7 +152,8 @@ describe("EventPopover", () => {
|
||||
allDay: false,
|
||||
} as unknown as DateSelectArg);
|
||||
|
||||
expect(screen.getByLabelText("Start")).toHaveValue("2026-07-20T10:00");
|
||||
expect(screen.getByLabelText("Start Date")).toHaveValue("2026-07-20");
|
||||
expect(screen.getByLabelText("Start Time")).toHaveValue("10:00");
|
||||
});
|
||||
|
||||
it("updates inputs on change", () => {
|
||||
@@ -276,10 +277,10 @@ describe("EventPopover", () => {
|
||||
target: { value: newEvent.title },
|
||||
});
|
||||
fireEvent.click(screen.getByLabelText("All day"));
|
||||
fireEvent.change(screen.getByLabelText("Start"), {
|
||||
fireEvent.change(screen.getByLabelText("Start Date"), {
|
||||
target: { value: newEvent.start.split("T")[0] },
|
||||
});
|
||||
fireEvent.change(screen.getByLabelText("End"), {
|
||||
fireEvent.change(screen.getByLabelText("End Date"), {
|
||||
target: { value: newEvent.end.split("T")[0] },
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user