refactor: rename states to view controllers (#1060)

This commit is contained in:
Mo
2022-06-01 10:15:45 -05:00
committed by GitHub
parent 78f39ec85d
commit 54125cec21
177 changed files with 1518 additions and 1365 deletions

View 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',
})
}
}
}