diff --git a/frontend/src/components/connections/ConnectionEditDialog.vue b/frontend/src/components/connections/ConnectionEditDialog.vue
index 05a78d8..6974639 100644
--- a/frontend/src/components/connections/ConnectionEditDialog.vue
+++ b/frontend/src/components/connections/ConnectionEditDialog.vue
@@ -145,21 +145,32 @@
-
+
+
+
+
+
@@ -421,6 +432,20 @@ function resetNewCredForm(): void {
newCredError.value = "";
}
+async function deleteSelectedCredential(): Promise {
+ if (!form.value.credentialId) return;
+ const cred = credentials.value.find(c => c.id === form.value.credentialId);
+ const name = cred?.name ?? `ID ${form.value.credentialId}`;
+ if (!confirm(`Delete credential "${name}"? This cannot be undone.`)) return;
+ try {
+ await Call.ByName(`${APP}.DeleteCredential`, form.value.credentialId);
+ form.value.credentialId = null;
+ await loadCredentials();
+ } catch (err) {
+ alert(`Failed to delete credential: ${err}`);
+ }
+}
+
async function loadCredentials(): Promise {
try {
const result = await Call.ByName(`${APP}.ListCredentials`) as Credential[];