diff --git a/web/components/ui/Sidebar.vue b/web/components/ui/Sidebar.vue index 0f2829a..761a19e 100644 --- a/web/components/ui/Sidebar.vue +++ b/web/components/ui/Sidebar.vue @@ -14,6 +14,8 @@ const currentTheme = ref<'dark' | 'system' | 'light'>(colorMode.preference as 'd const showTaskCreateModal = ref(false); const showTaskEditModal = ref(false); const taskFormModalInput = ref>({}); +const showDeleteModal = ref(false); +const deleteContext = ref(); const date = defineModel('date', { required: true }) const tasks = defineModel('tasks', { required: true }) @@ -96,17 +98,19 @@ function addTask(task: Task) { console.log(tasks.value) emits('createTask', task) } -function deleteTask(task: Task) { - if (task.id === undefined) { +function deleteTask() { + if (deleteContext.value === undefined || deleteContext.value.id === undefined) { toast.add({ title: "Task does not exist anymore" }) return } - tasks.value = tasks.value.filter(t => t.id !== task.id) + tasks.value = tasks.value.filter(t => t.id !== (deleteContext.value?.id ?? -1)) - emits('deleteTask', task.id) + emits('deleteTask', deleteContext.value.id) + deleteContext.value = undefined + showDeleteModal.value = false } function editTask(task: Task) { @@ -123,6 +127,11 @@ function openTaskEditModal(task: Task) { showTaskEditModal.value = true } +function openDeleteModal(task: Task) { + deleteContext.value = task + showDeleteModal.value = true +} + function scheduleTask(task: Task) { emits('scheduleTask', task) } @@ -136,6 +145,14 @@ function scheduleTask(task: Task) { + + + +
Calendar @@ -156,7 +173,7 @@ function scheduleTask(task: Task) { + icon="octicon:trashcan-16" @click="() => openDeleteModal(task)" />
@@ -172,7 +189,7 @@ function scheduleTask(task: Task) { + @click="() => openDeleteModal(task)" icon="octicon:trashcan-16" />