Files
standardnotes-app-web/app/assets/javascripts/UIModels/AppState/PreferencesState.ts
2022-04-13 22:02:34 +05:30

38 lines
832 B
TypeScript

import { PreferenceId } from '@/Components/Preferences/PreferencesMenu'
import { action, computed, makeObservable, observable } from 'mobx'
const DEFAULT_PANE = 'account'
export class PreferencesState {
private _open = false
currentPane: PreferenceId = DEFAULT_PANE
constructor() {
makeObservable<PreferencesState, '_open'>(this, {
_open: observable,
currentPane: observable,
openPreferences: action,
closePreferences: action,
setCurrentPane: action,
isOpen: computed,
})
}
setCurrentPane = (prefId: PreferenceId): void => {
this.currentPane = prefId
}
openPreferences = (): void => {
this._open = true
}
closePreferences = (): void => {
this._open = false
this.currentPane = DEFAULT_PANE
}
get isOpen(): boolean {
return this._open
}
}