fix(ui): Enter restores hidden devices instead of approving them

In the Hidden view the only bulk action is Restore, but the Enter
shortcut in select mode always called handleBulkApprove — approving
hidden devices. Dispatch on statusFilter: restore when hidden, approve
when pending. Add regression tests for both views.

ha-relevant: maybe
This commit is contained in:
Pouzor
2026-06-03 01:09:36 +02:00
parent 79093fdcfb
commit 01fce64b2c
2 changed files with 28 additions and 1 deletions
@@ -373,7 +373,13 @@ export function PendingDevicesModal({ open, onClose, highlightId, initialStatus
if (e.key === '/') { e.preventDefault(); searchRef.current?.focus() }
else if (e.key.toLowerCase() === 's') { e.preventDefault(); if (selectMode) exitSelectMode(); else enterSelectMode() }
else if (e.key.toLowerCase() === 'a' && selectMode) { e.preventDefault(); selectAllVisible() }
else if (e.key === 'Enter' && selectMode && selectedIds.size > 0) { e.preventDefault(); handleBulkApprove() }
else if (e.key === 'Enter' && selectMode && selectedIds.size > 0) {
// Enter confirms the bulk action for the current view: approving
// hidden devices would be wrong — they restore.
e.preventDefault()
if (statusFilter === 'hidden') handleBulkRestore()
else handleBulkApprove()
}
}
window.addEventListener('keydown', handler)
return () => window.removeEventListener('keydown', handler)