Skip to content

Commit cc77d5e

Browse files
authored
fix(flat-components): incorrect end time picker at same hour (#1981)
1 parent 911b2d0 commit cc77d5e

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

packages/flat-components/src/components/EditRoomPage/EditRoomBody/renderBeginTimePicker.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ export function renderBeginTimePicker(
177177
const { endTime, periodic }: Pick<EditRoomFormValues, "endTime" | "periodic"> =
178178
form.getFieldsValue(["endTime", "periodic"]);
179179

180-
const compareTime = addMinutes(beginTime, MIN_CLASS_DURATION);
180+
const compareTime = addMinutes(beginTime, MIN_CLASS_DURATION * 2);
181181

182182
if (compareMinute(endTime, compareTime) < 0) {
183183
form.setFieldsValue({ endTime: compareTime });

packages/flat-components/src/components/EditRoomPage/EditRoomBody/renderEndTimePicker.tsx

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,10 @@ export function renderEndTimePicker(
5151
form.getFieldsValue(["beginTime", "endTime"]);
5252

5353
const compareTime = addMinutes(beginTime, MIN_CLASS_DURATION);
54-
5554
const diff = compareDay(compareTime, endTime);
5655

5756
if (nextPeriodicRoomEndTime) {
5857
const nextPeriodicEndTime = new Date(nextPeriodicRoomEndTime);
59-
const compareTime = addMinutes(beginTime, MIN_CLASS_DURATION);
60-
const diff = compareDay(compareTime, endTime);
6158
const endDiff = compareDay(nextPeriodicEndTime, endTime);
6259

6360
if (diff < 0) {
@@ -99,24 +96,20 @@ export function renderEndTimePicker(
9996

10097
if (nextPeriodicRoomEndTime) {
10198
const nextPeriodicEndTime = new Date(nextPeriodicRoomEndTime);
102-
const comparedTime = addMinutes(beginTime, MIN_CLASS_DURATION);
103-
const selectedEndTime = setHours(endTime, selectedHour);
104-
105-
const diff = compareDay(comparedTime, selectedEndTime);
106-
const sameHour = selectedHour === nextPeriodicEndTime.getHours();
99+
const endDiff = compareHour(nextPeriodicEndTime, endTime);
107100

108101
if (diff < 0) {
109-
if (sameHour) {
110-
return excludeRange(nextPeriodicEndTime.getMinutes(), 59);
102+
if (endDiff === 0) {
103+
return excludeRange(nextPeriodicEndTime.getMinutes() + 1, 59);
111104
}
112105
return [];
113106
}
114107

115108
if (diff === 0) {
116-
if (sameHour) {
117-
return excludeRange(nextPeriodicEndTime.getMinutes(), 59);
109+
if (endDiff === 0) {
110+
return excludeRange(nextPeriodicEndTime.getMinutes() + 1, 59);
118111
}
119-
return [];
112+
return excludeRange(comparedTime.getMinutes());
120113
}
121114

122115
return excludeRange(59);

0 commit comments

Comments
 (0)