@@ -8,7 +8,6 @@ import { dateIsValid } from "@web/common/utils/web.date.util";
88import { DatePicker } from "@web/components/DatePicker/DatePicker" ;
99import { AlignItems } from "@web/components/Flex/styled" ;
1010import { SetEventFormField } from "../../types" ;
11- import { adjustEndDate } from "../form.datetime.util" ;
1211import { StyledDateFlex } from "./styled" ;
1312
1413const stopPropagation = ( e : React . MouseEvent < HTMLDivElement > ) => {
@@ -131,9 +130,15 @@ export const DatePickers: FC<Props> = ({
131130 } ) ;
132131
133132 if ( shouldAdjustEnd ) {
133+ // Given an all-day event that starts and ends on December 25,
134+ // the event form should show a start of "2025-12-25" and an end of "2025-12-25",
135+ // and the backend should store the start as "2025-12-25" and the end as "2025-12-26".
136+ // Adding one day to the end here helps us achieve that requirement.
134137 const endDisplay = dayjs ( compliment ) . add ( 1 , "day" ) . toDate ( ) ;
135- setSelectedEndDate ( compliment ) ;
136138 setDisplayEndDate ( endDisplay ) ;
139+
140+ setSelectedEndDate ( compliment ) ;
141+
137142 onSetEventField ( {
138143 startDate : dayjs ( start ) . format ( MONTH_DAY_YEAR ) ,
139144 endDate : dayjs ( compliment ) . format ( MONTH_DAY_YEAR ) ,
@@ -147,38 +152,19 @@ export const DatePickers: FC<Props> = ({
147152 const onSelectEndDate = ( end : Date ) => {
148153 setIsEndDatePickerOpen ( false ) ;
149154
150- const { shouldAdjust : shouldAdjustStart , compliment : sharedDate } =
151- shouldAdjustComplimentDate ( "end" , {
152- start : selectedStartDate ,
153- end,
154- } ) ;
155+ const { shouldAdjust, compliment } = shouldAdjustComplimentDate ( "end" , {
156+ start : selectedStartDate ,
157+ end,
158+ } ) ;
155159
156- if ( shouldAdjustStart ) {
157- setSelectedStartDate ( sharedDate ) ;
158- setSelectedEndDate ( sharedDate ) ;
159- setDisplayEndDate ( sharedDate ) ;
160+ if ( shouldAdjust ) {
161+ setSelectedStartDate ( compliment ) ;
162+ setSelectedEndDate ( compliment ) ;
163+ setDisplayEndDate ( compliment ) ;
160164 onSetEventField ( {
161- startDate : dayjs ( sharedDate ) . format ( MONTH_DAY_YEAR ) ,
162- endDate : dayjs ( sharedDate ) . format ( MONTH_DAY_YEAR ) ,
165+ startDate : dayjs ( compliment ) . format ( MONTH_DAY_YEAR ) ,
166+ endDate : dayjs ( compliment ) . format ( MONTH_DAY_YEAR ) ,
163167 } ) ;
164-
165- // const endDisplay = dayjs(compliment).add(1, "day").toDate();
166- // const isOneDay =
167- // dayjs(compliment).format(MONTH_DAY_YEAR) ===
168- // dayjs(end).format(MONTH_DAY_YEAR);
169- // const endDisplay = isOneDay
170- // ? end
171- // : dayjs(compliment).subtract(1, "day").toDate();
172- // console.log("endDisplay", endDisplay);
173- // setDisplayEndDate(endDisplay);
174- // setSelectedStartDate(compliment);
175- // const { datePickerDate, formattedEndDate } = adjustEndDate(end);
176- // setSelectedEndDate(datePickerDate);
177- // console.log("setting event field...");
178- // onSetEventField({
179- // endDate: dayjs(selectedStartDate).format(MONTH_DAY_YEAR),
180- // startDate: dayjs(endDisplay).format(MONTH_DAY_YEAR),
181- // });
182168 } else {
183169 const newEndDate = dayjs ( end ) . add ( 1 , "day" ) . format ( MONTH_DAY_YEAR ) ;
184170 onSetEventField ( "endDate" , newEndDate ) ;
0 commit comments