diff --git a/src/components/Controls/CarUpdateStatusProgress/index.jsx b/src/components/Controls/CarUpdateStatusProgress/index.jsx index 78c09ae..103eeaf 100644 --- a/src/components/Controls/CarUpdateStatusProgress/index.jsx +++ b/src/components/Controls/CarUpdateStatusProgress/index.jsx @@ -8,22 +8,26 @@ import s from "./Statuses"; const AwaitStatus = -1; const ErrorStatus = -100; +const CompleteStatus = 100; const PHASES = [ { label: "Pending", events: [s.Pending], - progress: () => 100, + progress: () => CompleteStatus, }, { label: "Received", events: [s.ManifestAccepted, s.ManifestReceived, s.ManifestRejected], - progress: () => 100, + progress: (msg) => { + if (msg === s.ManifestRejected) return ErrorStatus; + return CompleteStatus; + }, }, { label: "Precondition", events: [s.PreconditionAwait, s.PreconditionSuceeded], - progress: () => 100, + progress: () => CompleteStatus, }, { label: "Download", @@ -55,14 +59,14 @@ const PHASES = [ ], progress: (msg, progress) => { if (msg === s.InstallFailed) return ErrorStatus; - if (msg === s.PackageInstallCompleted) return 100; + if (msg === s.PackageInstallCompleted) return CompleteStatus; return progress; }, }, { label: "Updated", events: [s.ManifestSucceeded], - progress: (_msg, _progress) => 100, + progress: (_msg, _progress) => CompleteStatus, }, ]; @@ -84,7 +88,7 @@ const Progress = ({ value, classes }) => { const getProgress = (index, phase, progress) => { if (index === phase) return progress; - if (index < phase) return 100; + if (index < phase) return CompleteStatus; return -1; };