diff --git a/frontend/src/components/tasks/partials/ReminderDetail.vue b/frontend/src/components/tasks/partials/ReminderDetail.vue index f9202c637..22d583f34 100644 --- a/frontend/src/components/tasks/partials/ReminderDetail.vue +++ b/frontend/src/components/tasks/partials/ReminderDetail.vue @@ -36,6 +36,7 @@ {{ $t('task.reminder.custom') }} (), { modelValue: () => new TaskReminderModel() as ITaskReminder, clearAfterUpdate: false, defaultRelativeTo: REMINDER_PERIOD_RELATIVE_TO_TYPES.DUEDATE, + allowAbsolute: true, }) const emit = defineEmits<{ @@ -118,13 +122,20 @@ const reminderDate = ref(null) const showFormSwitch = ref(null) const activeForm = computed(() => { - if (props.defaultRelativeTo === null) { + if (props.defaultRelativeTo === null && props.allowAbsolute) { return 'absolute' } return showFormSwitch.value }) +const lockedRelativeTo = computed(() => { + if (props.allowAbsolute) { + return null + } + return props.defaultRelativeTo +}) + const reminderText = computed(() => { if (reminder.value.relativeTo !== null) { return formatReminder(reminder.value) diff --git a/frontend/src/components/tasks/partials/ReminderPeriod.vue b/frontend/src/components/tasks/partials/ReminderPeriod.vue index 59d411acb..4048635d8 100644 --- a/frontend/src/components/tasks/partials/ReminderPeriod.vue +++ b/frontend/src/components/tasks/partials/ReminderPeriod.vue @@ -44,7 +44,10 @@ - + () + lockRelativeTo?: IReminderPeriodRelativeTo | null, +}>(), { + lockRelativeTo: null, +}) const emit = defineEmits<{ 'update:modelValue': [ITaskReminder] @@ -103,7 +109,7 @@ watch( const p = secondsToPeriod(value?.relativePeriod) period.value.durationUnit = p.unit period.value.duration = Math.abs(p.amount) - period.value.relativeTo = value?.relativeTo || REMINDER_PERIOD_RELATIVE_TO_TYPES.DUEDATE + period.value.relativeTo = props.lockRelativeTo ?? value?.relativeTo ?? REMINDER_PERIOD_RELATIVE_TO_TYPES.DUEDATE }, { immediate: true,