(
+
+ Location
+
+
+
+ {/*
+ Keep title short and concise
+ */}
+
+
+ )}
+ />
+
+ (
+
+ Event Type
+
+
+
+ )}
+ />
+ (
+
+ Host (Optional)
+
+
+
+
+
+ )}
+ />
+
+
+ (
+
+ Event Start
+ {
+ const newDate = date
+ ? date.toDate(userLocalTimeZone)
+ : null;
+ field.onChange(newDate);
+ const isEventStartBeforeEnd =
+ newDate &&
+ newDate > form.getValues("endTime");
+ if (isEventStartBeforeEnd) {
+ form.setValue(
+ "endTime",
+ new Date(
+ newDate.getTime() +
+ ONE_HOUR_IN_MILLISECONDS,
+ ),
+ );
+ }
+ }}
+ shouldCloseOnSelect={false}
+ granularity={"minute"}
+ label="Event Start"
+ />
+
+
+ )}
+ />
+ (
+
+ Event End
+ {
+ const newDate = !!date
+ ? date.toDate(userLocalTimeZone)
+ : null;
+ field.onChange(newDate);
+ const isEventEndBeforeStart =
+ newDate &&
+ newDate <
+ form.getValues("startTime");
+ if (isEventEndBeforeStart) {
+ form.setValue(
+ "startTime",
+ new Date(
+ newDate.getTime() -
+ ONE_HOUR_IN_MILLISECONDS,
+ ),
+ );
+ }
+ }}
+ shouldCloseOnSelect={false}
+ granularity={"minute"}
+ label="Event End"
+ />
+
+
+ )}
+ />
+
+ {loading ? (
+
+ Updating Event{" "}
+
+
+ ) : (
+
+ )}
+