From 3e16f66180abc9cee1154da914b5ba4028ded467 Mon Sep 17 00:00:00 2001 From: gabdevele Date: Mon, 15 Jun 2026 15:55:01 +0200 Subject: [PATCH] feat(admin): enhance delete confirmation messages for areas, categories, teams, and users in admin panel --- app/pages/admin/areas.vue | 5 ++++- app/pages/admin/catalog.vue | 10 ++++++++-- app/pages/admin/users.vue | 13 ++++++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/pages/admin/areas.vue b/app/pages/admin/areas.vue index ba3cd4a..0ae8190 100644 --- a/app/pages/admin/areas.vue +++ b/app/pages/admin/areas.vue @@ -33,6 +33,9 @@ const modalTitle = computed(() => editingAreaId.value ? 'Modifica Area' : 'Nuova const submitLabel = computed(() => editingAreaId.value ? 'Salva Modifiche' : 'Crea Area') const isEditing = computed(() => editingAreaId.value !== null) const areas = computed(() => areasRes.value?.areas || []) +const areaDeleteMessage = computed(() => + areaPendingDelete.value ? `Vuoi eliminare area "${areaPendingDelete.value.name}"? Operazione irreversibile.` : '' +) const openCreateModal = () => { actionError.value = '' @@ -393,7 +396,7 @@ const handleDeleteArea = async () => { (null) const categories = computed(() => categoriesRes.value?.categories || []) const teams = computed(() => teamsRes.value?.teams || []) const areas = computed(() => areasRes.value?.areas || []) +const categoryDeleteMessage = computed(() => + categoryPendingDelete.value ? `Vuoi eliminare categoria "${categoryPendingDelete.value.name}"? Operazione irreversibile.` : '' +) +const teamDeleteMessage = computed(() => + teamPendingDelete.value ? `Vuoi eliminare team "${teamPendingDelete.value.name}"? Operazione irreversibile.` : '' +) const resetCategoryForm = () => { editingCategoryId.value = null @@ -418,7 +424,7 @@ const handleDeleteTeam = async () => { { (null) const isUpdatingBan = ref(false) const parseRoles = (roles?: string) => roles ? roles.split(',').map((r) => r.trim().toUpperCase()).filter(Boolean) : [] +const banConfirmMessage = computed(() => + pendingBanUser.value + ? `Vuoi ${pendingBanUser.value.banned ? 'sbloccare' : 'bannare'} utente ${pendingBanUser.value.first_name} ${pendingBanUser.value.last_name}?` + : '' +) +const banConfirmLabel = computed(() => pendingBanUser.value?.banned ? 'Sblocca utente' : 'Banna utente') +const banConfirmClass = computed(() => pendingBanUser.value?.banned ? 'btn-success' : 'btn-danger') const filteredUsers = computed(() => { if (!usersRes.value?.users) return [] @@ -210,9 +217,9 @@ const saveRoles = async () => {