This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
frontend/src/models/userSettings.ts

28 lines
845 B
TypeScript

import AbstractModel from './abstractModel'
import type {IFrontendSettings, IUserSettings} from '@/modelTypes/IUserSettings'
import {getBrowserLanguage} from '@/i18n'
import {PrefixMode} from '@/modules/parseTaskText'
export default class UserSettingsModel extends AbstractModel<IUserSettings> implements IUserSettings {
name = ''
emailRemindersEnabled = true
discoverableByName = false
discoverableByEmail = false
overdueTasksRemindersEnabled = true
overdueTasksRemindersTime = undefined
defaultProjectId = undefined
weekStart = 0 as IUserSettings['weekStart']
timezone = ''
language = getBrowserLanguage()
frontendSettings: IFrontendSettings = {
playSoundWhenDone: true,
quickAddMagicMode: PrefixMode.Default,
colorSchema: 'auto',
}
constructor(data: Partial<IUserSettings> = {}) {
super()
this.assignData(data)
}
}