fix: improve event editing UX and allday toggle behavior
- Fix allday toggle: when unchecking allday, set end date = start date with rounded time (30min intervals) - Fix ResponsiveDialog CSS: set height only for expanded mode, remove maxHeight from normal mode - Show repeat info when editing solo instance of recurring event (checkbox checked and disabled) - Clear old event UI when updating recurring event allday status
This commit is contained in:
committed by
Benoit TELLIER
parent
a31825ce3a
commit
5017c1bd6b
@@ -65,6 +65,7 @@ export default function EventPreviewModal({
|
||||
const [showAllAttendees, setShowAllAttendees] = useState(false);
|
||||
const [openFullDisplay, setOpenFullDisplay] = useState(false);
|
||||
const [openUpdateModal, setOpenUpdateModal] = useState(false);
|
||||
const [hidePreview, setHidePreview] = useState(false);
|
||||
const [openEditModePopup, setOpenEditModePopup] = useState<string | null>(
|
||||
null
|
||||
);
|
||||
@@ -108,7 +109,7 @@ export default function EventPreviewModal({
|
||||
return (
|
||||
<>
|
||||
<ResponsiveDialog
|
||||
open={open}
|
||||
open={open && !hidePreview}
|
||||
onClose={() => onClose({}, "backdropClick")}
|
||||
style={{ overflow: "auto" }}
|
||||
title={
|
||||
@@ -143,10 +144,12 @@ export default function EventPreviewModal({
|
||||
onClick={() => {
|
||||
if (isRecurring) {
|
||||
setAfterChoiceFunc(() => () => {
|
||||
setHidePreview(true);
|
||||
setOpenUpdateModal(true);
|
||||
});
|
||||
setOpenEditModePopup("edit");
|
||||
} else {
|
||||
setHidePreview(true);
|
||||
setOpenUpdateModal(true);
|
||||
}
|
||||
}}
|
||||
@@ -509,7 +512,10 @@ export default function EventPreviewModal({
|
||||
/>
|
||||
<EventUpdateModal
|
||||
open={openUpdateModal}
|
||||
onClose={() => setOpenUpdateModal(false)}
|
||||
onClose={() => {
|
||||
setOpenUpdateModal(false);
|
||||
setHidePreview(false);
|
||||
}}
|
||||
onCloseAll={() => {
|
||||
setOpenUpdateModal(false);
|
||||
onClose({}, "backdropClick");
|
||||
|
||||
@@ -508,7 +508,8 @@ function EventUpdateModal({
|
||||
|
||||
const repetitionRulesChanged =
|
||||
JSON.stringify(oldRepetition) !== JSON.stringify(newRepetition) ||
|
||||
timezoneChanged;
|
||||
timezoneChanged ||
|
||||
event.allday !== allday;
|
||||
|
||||
if (repetitionRulesChanged) {
|
||||
// Repetition rules changed - need server to recalculate instances
|
||||
|
||||
Reference in New Issue
Block a user