feat: re-populate default reminder enabled state when loading settings
This commit is contained in:
parent
8baafab456
commit
28312081ae
2 changed files with 19 additions and 11 deletions
|
@ -16,7 +16,7 @@ function calculateDefaultReminderSeconds(type: string, amount: number): number {
|
||||||
case 'months':
|
case 'months':
|
||||||
return amount * 60 * 60 * 24 * 30
|
return amount * 60 * 60 * 24 * 30
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,14 +29,18 @@ export function saveDefaultReminder(enabled: boolean, type: string, amount: numb
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDefaultReminderAmount(): number | null {
|
export function getDefaultReminderAmount(): number | null {
|
||||||
|
const settings = getDefaultReminderSettings()
|
||||||
|
|
||||||
|
return settings?.enabled
|
||||||
|
? settings.amount
|
||||||
|
: null
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getDefaultReminderSettings(): DefaultReminderSettings | null {
|
||||||
const s: string | null = localStorage.getItem(DEFAULT_REMINDER_KEY)
|
const s: string | null = localStorage.getItem(DEFAULT_REMINDER_KEY)
|
||||||
if (s === null) {
|
if (s === null) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
const settings: DefaultReminderSettings = JSON.parse(s)
|
return JSON.parse(s)
|
||||||
|
|
||||||
return settings.enabled
|
|
||||||
? settings.amount
|
|
||||||
: null
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,14 +20,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" v-model="settings.defaultReminder"/>
|
<input type="checkbox" v-model="defaultReminderEnabled"/>
|
||||||
{{ $t('user.settings.general.defaultReminder') }}
|
{{ $t('user.settings.general.defaultReminder') }}
|
||||||
</label>
|
</label>
|
||||||
<p class="is-size-7">
|
<p class="is-size-7">
|
||||||
{{ $t('user.settings.general.defaultReminderHint') }}
|
{{ $t('user.settings.general.defaultReminderHint') }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="field" v-if="settings.defaultReminder">
|
<div class="field" v-if="defaultReminderEnabled">
|
||||||
<label class="label" for="defaultReminderAmount">
|
<label class="label" for="defaultReminderAmount">
|
||||||
{{ $t('user.settings.general.defaultReminderAmount') }}
|
{{ $t('user.settings.general.defaultReminderAmount') }}
|
||||||
</label>
|
</label>
|
||||||
|
@ -219,7 +219,7 @@ import {AuthenticatedHTTPFactory} from '@/http-common'
|
||||||
import {useColorScheme} from '@/composables/useColorScheme'
|
import {useColorScheme} from '@/composables/useColorScheme'
|
||||||
import {useTitle} from '@/composables/useTitle'
|
import {useTitle} from '@/composables/useTitle'
|
||||||
import {objectIsEmpty} from '@/helpers/objectIsEmpty'
|
import {objectIsEmpty} from '@/helpers/objectIsEmpty'
|
||||||
import {saveDefaultReminder} from '@/helpers/defaultReminder'
|
import {getDefaultReminderSettings, saveDefaultReminder} from '@/helpers/defaultReminder'
|
||||||
|
|
||||||
const {t} = useI18n({useScope: 'global'})
|
const {t} = useI18n({useScope: 'global'})
|
||||||
useTitle(() => `${t('user.settings.general.title')} - ${t('user.settings.title')}`)
|
useTitle(() => `${t('user.settings.general.title')} - ${t('user.settings.title')}`)
|
||||||
|
@ -311,13 +311,17 @@ watch(
|
||||||
async function updateSettings() {
|
async function updateSettings() {
|
||||||
localStorage.setItem(playSoundWhenDoneKey, playSoundWhenDone.value ? 'true' : 'false')
|
localStorage.setItem(playSoundWhenDoneKey, playSoundWhenDone.value ? 'true' : 'false')
|
||||||
setQuickAddMagicMode(quickAddMagicMode.value)
|
setQuickAddMagicMode(quickAddMagicMode.value)
|
||||||
saveDefaultReminder(settings.value.defaultReminder, defaultReminderAmountType.value, defaultReminderAmount.value)
|
saveDefaultReminder(defaultReminderEnabled.value, defaultReminderAmountType.value, defaultReminderAmount.value)
|
||||||
|
|
||||||
await authStore.saveUserSettings({
|
await authStore.saveUserSettings({
|
||||||
settings: {...settings.value},
|
settings: {...settings.value},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const reminderSettings = getDefaultReminderSettings()
|
||||||
|
|
||||||
|
const defaultReminderEnabled = ref<boolean>(reminderSettings?.enabled || false)
|
||||||
|
// TODO: re-populate amount and type
|
||||||
const defaultReminderAmount = ref(1)
|
const defaultReminderAmount = ref(1)
|
||||||
const defaultReminderAmountType = ref('days')
|
const defaultReminderAmountType = ref('days')
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in a new issue