Skip to content

Commit 7ea7233

Browse files
author
anakin_karrot
committed
estimated transition end
1 parent 660db05 commit 7ea7233

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

core/src/Stack.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export type Activity = {
2828
id: string;
2929
name: string;
3030
transitionState: ActivityTransitionState;
31-
estimatedTransitionEnd?: number;
31+
estimatedTransitionEnd: number;
3232
params: {
3333
[key: string]: string | undefined;
3434
};

core/src/activity-utils/makeActivitiesReducer.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ export function makeActivitiesReducer({
2525
* Push new activity to activities
2626
*/
2727
Pushed(activities: Activity[], event: PushedEvent): Activity[] {
28-
const isTransitionDone =
29-
now - (resumedAt ?? event.eventDate) >= transitionDuration;
3028
const estimatedTransitionEnd =
3129
(resumedAt ?? event.eventDate) + transitionDuration;
30+
const isTransitionDone = estimatedTransitionEnd <= now;
3231

3332
const transitionState: ActivityTransitionState =
3433
event.skipEnterActiveState || isTransitionDone
@@ -48,10 +47,9 @@ export function makeActivitiesReducer({
4847
* Replace activity at reservedIndex with new activity
4948
*/
5049
Replaced(activities: Activity[], event: ReplacedEvent): Activity[] {
51-
const isTransitionDone =
52-
now - (resumedAt ?? event.eventDate) >= transitionDuration;
5350
const estimatedTransitionEnd =
5451
(resumedAt ?? event.eventDate) + transitionDuration;
52+
const isTransitionDone = estimatedTransitionEnd <= now;
5553

5654
const reservedIndex = findNewActivityIndex(activities, event);
5755

core/src/activity-utils/makeActivityReducer.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ export function makeActivityReducer(context: {
3030
...activity,
3131
exitedBy: event,
3232
transitionState: "exit-done",
33-
estimatedTransitionEnd: context.now,
33+
estimatedTransitionEnd: context.resumedAt ?? event.eventDate,
3434
}),
3535

3636
/**
3737
* Change transition state to exit-done or exit-active depending on skipExitActiveState
3838
*/
3939
Popped: (activity: Activity, event: PoppedEvent): Activity => {
40-
const isTransitionDone =
41-
context.now - (context.resumedAt ?? event.eventDate) >=
42-
context.transitionDuration;
40+
const estimatedTransitionEnd =
41+
(context.resumedAt ?? event.eventDate) + context.transitionDuration;
42+
const isTransitionDone = estimatedTransitionEnd <= context.now;
4343

4444
const transitionState: ActivityTransitionState =
4545
event.skipExitActiveState || isTransitionDone
@@ -50,8 +50,7 @@ export function makeActivityReducer(context: {
5050
...activity,
5151
exitedBy: event,
5252
transitionState,
53-
estimatedTransitionEnd:
54-
(context.resumedAt ?? event.eventDate) + context.transitionDuration,
53+
estimatedTransitionEnd,
5554
params:
5655
transitionState === "exit-done"
5756
? activity.steps[0].params

0 commit comments

Comments
 (0)