From 2247b7990811ab9a3b36ed661dfaec1c4c33ab1b Mon Sep 17 00:00:00 2001 From: NanamiAdmin Date: Thu, 7 May 2026 22:59:44 +0800 Subject: [PATCH] refactor(views): replace confirm dialogs with custom dialog manager Replace native confirm dialogs with showFSDialog in Users, Sessions and InstanceDetail views for consistent UI and better user experience --- src/views/InstanceDetail.vue | 8 ++++++++ src/views/Sessions.vue | 9 ++++++++- src/views/Users.vue | 9 ++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/views/InstanceDetail.vue b/src/views/InstanceDetail.vue index 23776e8..e772251 100644 --- a/src/views/InstanceDetail.vue +++ b/src/views/InstanceDetail.vue @@ -305,6 +305,7 @@ import { ref, onMounted, onUnmounted } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { instanceApi } from '../api/index.js'; import { showNotification, formatDate, getCookie } from '../utils/functions.js'; +import { showFSDialog } from '../utils/dialogManager.js'; export default { name: 'InstanceDetail', @@ -393,6 +394,13 @@ export default { }; const deleteInstance = async () => { + const result = await showFSDialog( + 1, + 'Delete Instance', + 'Are you sure you want to delete this instance? This action cannot be undone.' + ); + if (result !== 1) return; + try { const result = await instanceApi.deleteInstance(instanceID.value); showNotification(result.message || 'Instance deleted successfully', 'success'); diff --git a/src/views/Sessions.vue b/src/views/Sessions.vue index 81d20b5..c7d3eff 100644 --- a/src/views/Sessions.vue +++ b/src/views/Sessions.vue @@ -43,6 +43,7 @@ import { ref, onMounted } from 'vue'; import { sessionApi } from '../api/index.js'; import { showNotification, formatDate } from '../utils/functions.js'; +import { showFSDialog } from '../utils/dialogManager.js'; export default { name: 'Sessions', @@ -59,7 +60,13 @@ export default { }; const deleteSession = async (sessionId) => { - if (!confirm('Are you sure you want to delete this session? This will force the user to re-login.')) return; + const result = await showFSDialog( + 1, + 'Delete Session', + 'Are you sure you want to delete this session? This will force the user to re-login.' + ); + if (result !== 1) return; + try { await sessionApi.removeSession(sessionId); showNotification('Session deleted successfully', 'success'); diff --git a/src/views/Users.vue b/src/views/Users.vue index 1b74508..84b6ea9 100644 --- a/src/views/Users.vue +++ b/src/views/Users.vue @@ -84,6 +84,7 @@ import { ref, onMounted } from 'vue'; import { userApi } from '../api/index.js'; import { showNotification, formatDate } from '../utils/functions.js'; +import { showFSDialog } from '../utils/dialogManager.js'; export default { name: 'Users', @@ -162,7 +163,13 @@ export default { }; const deleteUser = async (userId) => { - if (!confirm('Are you sure you want to delete this user?')) return; + const result = await showFSDialog( + 1, + 'Delete User', + 'Are you sure you want to delete this user?' + ); + if (result !== 1) return; + try { await userApi.removeUser(userId); showNotification('User deleted successfully', 'success');