Confirm modals
Release rolling / release (push) Successful in 13m15s

This commit is contained in:
Raven Scott
2026-07-30 17:36:00 -04:00
parent e3d0f70b29
commit 215f52ff53
7 changed files with 491 additions and 18 deletions
+17 -6
View File
@@ -13,6 +13,7 @@ import {
} from './agents.js'
import { chartIdsFromToolLog, mountChartEmbeds } from './chart-embed.js'
import { createSwarmPanel } from './swarm-ui.js'
import { appConfirm } from '../confirm-modal.js'
/**
* @param {{
@@ -68,12 +69,22 @@ export function createQvacView(opts) {
dashboards: opts.dashboards,
getAutoNavigate: () => settings().qvacAutoNavigate || 'ask',
confirmAction: (msg) => {
try {
// Must be strict true — Cancel returns false
return typeof confirm === 'function' ? confirm(msg) : false
} catch {
return false
}
const text = String(msg || 'Continue?')
const danger =
/silence|acknowledge|ack |run job|delete|forget|prune|remove|kill/i.test(text)
const isNav = /open|switch|view|navigate/i.test(text)
return appConfirm({
title: danger
? 'Confirm agent action'
: isNav
? 'Switch view'
: 'Confirm',
message: text,
confirmLabel: danger ? 'Allow' : isNav ? 'Open' : 'Continue',
cancelLabel: 'Not now',
danger,
icon: danger ? '!' : isNav ? '↗' : '?',
})
},
})