This commit is contained in:
xds
2025-10-28 15:20:51 +03:00
parent a151d1fafa
commit 1654759d5a
3 changed files with 71 additions and 4 deletions

View File

@@ -11,6 +11,7 @@ import {Category} from "@/models/category";
import router from "@/router";
import {useRecurrentsStore} from "@/stores/recurrent-store";
import {CreateRecurrentOperationDTO, UpdateRecurrentOperationDTO} from "@/models/recurrent-operation";
import ConfirmDialog from "@/components/ConfirmDialog.vue";
const route = useRoute()
const toolbar = useToolbarStore();
@@ -35,6 +36,7 @@ const recurrentDate = ref<number>(Math.floor(Math.random() * 31))
const isDateError = ref(false)
const fetchData = async () => {
try {
if (spaceStore.selectedSpaceId) {
@@ -165,6 +167,14 @@ const buildCreate = (): CreateRecurrentOperationDTO => {
}
}
const isDeleteAlertVisible = ref(false)
const deleteAlertMessage = ref('Do you want to delete recurrent?')
const deleteRecurrent = async () => {
await recurrentsService.deleteRecurrent(spaceStore.selectedSpaceId, recurrentId.value)
await recurrentsStore.fetchRecurrents(spaceStore.selectedSpaceId)
router.back()
}
onMounted(async () => {
if (tgApp && ['ios', 'android'].includes(tgApp.platform)) {
insetTop.value = tgApp.contentSafeAreaInset.top + tgApp.safeAreaInset.top
@@ -174,10 +184,22 @@ onMounted(async () => {
if (mode.value === "edit") {
toolbar.registerHandler('deleteRecurrent', async () => {
console.log('deleteRecurrent1')
if (spaceStore.selectedSpaceId && recurrentId.value) {
await recurrentsService.deleteRecurrent(spaceStore.selectedSpaceId, recurrentId.value)
await recurrentsStore.fetchRecurrents(spaceStore.selectedSpaceId)
router.back()
console.log('deleteRecurrent2')
if (tgApp.initData) {
console.log('deleteRecurrent3')
tgApp.showConfirm(deleteAlertMessage.value, async (bnt_id) => {
if (bnt_id === 'ok') {
console.log("recurrent id is deleted")
await deleteRecurrent()
}
})
} else {
console.log('deleteRecurrent4')
isDeleteAlertVisible.value = true
}
}
})
toolbar.registerHandler('updateRecurrent', async () => {
@@ -210,11 +232,17 @@ onMounted(async () => {
</script>
<template>
<div v-if="categories.length===0" class="card !gap-4 !p-10">
<span class="">No categories available.</span>
<span class="text-center">Maybe you want to <router-link to="/categories" class="!text-blue-700">create a new category</router-link> first?</span>
</div>
<div v-else class="flex flex-col w-full justify-items-start gap-1">
<ConfirmDialog
v-if="isDeleteAlertVisible"
:message="deleteAlertMessage"
:callback="(confirmed) => { if (confirmed) deleteRecurrent(); isDeleteAlertVisible = false; }"
/>
<!-- Fixed modal container -->
<div v-if="isCategorySelectorOpened" class="fixed inset-0 z-50 flex items-start justify-center p-4 overflow-y-auto"
style="background-color: var(--primary-color); "