2022-08-04 18:57:43 +00:00
|
|
|
import AbstractModel from './abstractModel'
|
2020-12-19 00:12:30 +00:00
|
|
|
|
2023-06-11 15:31:04 +00:00
|
|
|
import type {IFrontendSettings, IUserSettings} from '@/modelTypes/IUserSettings'
|
2023-06-12 16:01:56 +00:00
|
|
|
import {getBrowserLanguage} from '@/i18n'
|
2023-06-11 15:31:04 +00:00
|
|
|
import {PrefixMode} from '@/modules/parseTaskText'
|
2022-07-20 22:42:36 +00:00
|
|
|
|
2022-09-06 09:36:01 +00:00
|
|
|
export default class UserSettingsModel extends AbstractModel<IUserSettings> implements IUserSettings {
|
2022-08-14 10:15:45 +00:00
|
|
|
name = ''
|
|
|
|
emailRemindersEnabled = true
|
|
|
|
discoverableByName = false
|
|
|
|
discoverableByEmail = false
|
|
|
|
overdueTasksRemindersEnabled = true
|
2022-10-17 11:14:07 +00:00
|
|
|
overdueTasksRemindersTime = undefined
|
2022-11-13 21:04:57 +00:00
|
|
|
defaultProjectId = undefined
|
2022-09-23 14:21:05 +00:00
|
|
|
weekStart = 0 as IUserSettings['weekStart']
|
2022-08-14 10:15:45 +00:00
|
|
|
timezone = ''
|
2023-06-12 16:01:56 +00:00
|
|
|
language = getBrowserLanguage()
|
2023-06-11 15:31:04 +00:00
|
|
|
frontendSettings: IFrontendSettings = {
|
|
|
|
playSoundWhenDone: true,
|
|
|
|
quickAddMagicMode: PrefixMode.Default,
|
2023-06-12 14:22:15 +00:00
|
|
|
colorSchema: 'auto',
|
2023-06-11 15:31:04 +00:00
|
|
|
}
|
2022-06-23 01:22:21 +00:00
|
|
|
|
2022-09-23 14:21:05 +00:00
|
|
|
constructor(data: Partial<IUserSettings> = {}) {
|
2022-08-14 10:15:45 +00:00
|
|
|
super()
|
|
|
|
this.assignData(data)
|
2020-12-19 00:12:30 +00:00
|
|
|
}
|
|
|
|
}
|