Skip to content

Commit 76fbb9e

Browse files
committed
chore(web): extract start-end date update logic into dedicated functions
1 parent 8d74f73 commit 76fbb9e

File tree

2 files changed

+39
-21
lines changed

2 files changed

+39
-21
lines changed

packages/web/src/common/utils/web.date.util.ts

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import {
77
YMDHAM_FORMAT,
88
YMDHM_FORMAT,
99
} from "@core/constants/date.constants";
10-
import { Categories_Event, Direction_Migrate } from "@core/types/event.types";
10+
import {
11+
Categories_Event,
12+
Direction_Migrate,
13+
Schema_Event,
14+
} from "@core/types/event.types";
1115
import { Option_Time } from "@web/common/types/util.types";
1216
import { GRID_TIME_STEP } from "@web/views/Calendar/layout.constants";
1317
import { roundToNext } from ".";
@@ -345,3 +349,29 @@ const _getWeeklyMigrationDates = (
345349

346350
return { startDate, endDate };
347351
};
352+
353+
export const setEventStartEndDatesToCurrentWeek = (
354+
event: Schema_Event,
355+
): Schema_Event => {
356+
const weekStart = dayjs(new Date()).startOf("week");
357+
const weekEnd = dayjs(new Date()).endOf("week");
358+
359+
return {
360+
...event,
361+
startDate: weekStart.format(),
362+
endDate: weekEnd.format(),
363+
};
364+
};
365+
366+
export const setEventStartEndDatesToCurrentMonth = (
367+
event: Schema_Event,
368+
): Schema_Event => {
369+
const monthStart = dayjs(new Date()).startOf("month");
370+
const monthEnd = dayjs(new Date()).endOf("month");
371+
372+
return {
373+
...event,
374+
startDate: monthStart.format(),
375+
endDate: monthEnd.format(),
376+
};
377+
};

packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions.ts

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import { getX } from "@web/common/utils/grid.util";
2626
import {
2727
getDatesByCategory,
2828
getMigrationDates,
29+
setEventStartEndDatesToCurrentMonth,
30+
setEventStartEndDatesToCurrentWeek,
2931
} from "@web/common/utils/web.date.util";
3032
import {
3133
selectDraft,
@@ -438,38 +440,24 @@ export const useSidebarActions = (
438440
};
439441
setSomedayEvents(newState);
440442

441-
const draggedEvent = state.somedayEvents.events[draggableId];
443+
let draggedEvent = state.somedayEvents.events[draggableId];
442444

443445
const draggedToMonthColumn = destColumn.id === COLUMN_MONTH;
444446

445-
let newStartDate;
446-
let newEndDate;
447-
448447
if (draggedToMonthColumn) {
449-
// set month start-end to current month
450-
const monthStart = dayjs(new Date()).startOf("month");
451-
const monthEnd = dayjs(new Date()).endOf("month");
452-
newStartDate = monthStart.format();
453-
newEndDate = monthEnd.format();
448+
draggedEvent = setEventStartEndDatesToCurrentMonth(draggedEvent);
454449
} else {
455-
// set week start-end to current week
456-
const weekStart = dayjs(new Date()).startOf("week");
457-
const weekEnd = dayjs(new Date()).endOf("week");
458-
newStartDate = weekStart.format();
459-
newEndDate = weekEnd.format();
450+
draggedEvent = setEventStartEndDatesToCurrentWeek(draggedEvent);
460451
}
461452

462453
const newOrder = destEventIds.indexOf(draggableId);
463454

455+
draggedEvent.order = newOrder;
456+
464457
dispatch(
465458
editEventSlice.actions.request({
466459
_id: draggedEvent._id,
467-
event: {
468-
...draggedEvent,
469-
startDate: newStartDate,
470-
endDate: newEndDate,
471-
order: newOrder,
472-
},
460+
event: draggedEvent,
473461
}),
474462
);
475463
};

0 commit comments

Comments
 (0)