refactor(frontend): migrate ResourcesView dialogs to Modal chrome (#945)

Replace raw Dialog/AlertDialog usage in ResourcesView with the §10 Modal
primitives:

- Prune confirms (managed and all scopes) -> destructive ConfirmModal
  with single shared kicker and scope-conditional title/hint/label
- Delete confirms (image, network, volume) -> destructive ConfirmModal
- Bulk purge of unmanaged containers -> destructive ConfirmModal
- Create network form -> Modal + ModalHeader + ModalBody + ModalFooter

Also enforce single-line kickers in the modal primitive by adding
whitespace-nowrap to the header kicker, so the rune at the top never
wraps even at sm width.

Tighten handlePurgeOrphans to close the dialog in finally rather than
only on success, since the new ConfirmModal Promise-aware behaviour
keeps the dialog open until state closes it.
This commit is contained in:
Anso
2026-05-06 19:15:33 -04:00
committed by GitHub
parent 99301bab7e
commit f0d03bc58f
2 changed files with 138 additions and 141 deletions
+1 -1
View File
@@ -83,7 +83,7 @@ function HeaderShell({
return (
<div className="relative border-b border-card-border/60 px-6 pt-6 pb-4 pr-12">
<span aria-hidden className={cn('absolute inset-y-0 left-0 w-[3px]', v.rail)} />
<div className={cn(KICKER_CLASS, v.kicker)}>
<div className={cn(KICKER_CLASS, 'whitespace-nowrap', v.kicker)}>
{kicker}
</div>
<TitleComponent className="mt-1 font-display text-[1.75rem] italic leading-tight text-stat-value">