refactor: repo (#1070)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { PreferenceId } from '@/Components/Preferences/PreferencesMenu'
|
||||
import { action, computed, makeObservable, observable } from 'mobx'
|
||||
|
||||
const DEFAULT_PANE = 'account'
|
||||
|
||||
export class PreferencesController {
|
||||
private _open = false
|
||||
currentPane: PreferenceId = DEFAULT_PANE
|
||||
|
||||
constructor() {
|
||||
makeObservable<PreferencesController, '_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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user