Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/state/progress.ts
7458 views
1
import { action, Action } from 'easy-peasy';
2
3
export interface ProgressStore {
4
continuous: boolean;
5
progress?: number;
6
7
startContinuous: Action<ProgressStore>;
8
setProgress: Action<ProgressStore, number | undefined>;
9
setComplete: Action<ProgressStore>;
10
}
11
12
const progress: ProgressStore = {
13
continuous: false,
14
progress: undefined,
15
16
startContinuous: action((state) => {
17
state.continuous = true;
18
}),
19
20
setProgress: action((state, payload) => {
21
state.progress = payload;
22
}),
23
24
setComplete: action((state) => {
25
if (state.progress) {
26
state.progress = 100;
27
}
28
29
state.continuous = false;
30
}),
31
};
32
33
export default progress;
34
35