Ship Track C UX polish: toasts, settings, lists, navigation
CI / test (push) Successful in 9m55s

Add a visible toast stack, fix presentError double-notify, wire density and auto-refresh settings, gate destructive confirms, improve empty/skeleton/search on resource lists, and enable browser history plus keyboard palette navigation.
This commit is contained in:
2026-07-10 22:10:40 -04:00
parent 3b3336fbde
commit 4063c83597
8 changed files with 733 additions and 235 deletions
+6 -14
View File
@@ -91,24 +91,16 @@ function stripPrefix(message) {
}
/**
* Present error via toast + optional notification.
* Present error via toast (showAlert already writes the notification tray).
* Do not call notificationManager.add a second time — wrong signature and double noise.
*/
export function presentError(err, method, { showAlert, notificationManager } = {}) {
export function presentError(err, method, { showAlert } = {}) {
const info = explainError(err, method)
const text = `${info.title}: ${info.message}${info.recovery ? `${info.recovery}` : ''}`
if (typeof showAlert === 'function') {
showAlert(info.severity === 'warning' ? 'warning' : 'danger', text)
}
if (notificationManager?.add) {
try {
notificationManager.add({
type: info.severity === 'warning' ? 'warning' : 'error',
title: info.title,
message: info.message,
})
} catch {
// ignore
}
showAlert(info.severity === 'warning' ? 'warning' : 'danger', text, {
duration: 7000,
})
}
return info
}