refactor: rename states to view controllers (#1060)
This commit is contained in:
33
app/assets/javascripts/Controllers/SyncStatusController.ts
Normal file
33
app/assets/javascripts/Controllers/SyncStatusController.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { SyncOpStatus } from '@standardnotes/snjs'
|
||||
import { action, makeObservable, observable } from 'mobx'
|
||||
|
||||
export class SyncStatusController {
|
||||
inProgress = false
|
||||
errorMessage?: string = undefined
|
||||
humanReadablePercentage?: string = undefined
|
||||
|
||||
constructor() {
|
||||
makeObservable(this, {
|
||||
inProgress: observable,
|
||||
errorMessage: observable,
|
||||
humanReadablePercentage: observable,
|
||||
update: action,
|
||||
})
|
||||
}
|
||||
|
||||
update = (status: SyncOpStatus): void => {
|
||||
this.errorMessage = status.error?.message
|
||||
this.inProgress = status.syncInProgress
|
||||
const stats = status.getStats()
|
||||
const completionPercentage =
|
||||
stats.uploadCompletionCount === 0 ? 0 : stats.uploadCompletionCount / stats.uploadTotalCount
|
||||
|
||||
if (completionPercentage === 0) {
|
||||
this.humanReadablePercentage = undefined
|
||||
} else {
|
||||
this.humanReadablePercentage = completionPercentage.toLocaleString(undefined, {
|
||||
style: 'percent',
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user