refactor(frontend): migrate Bash, Log, and Deploy feedback dialogs (#952)

- modal.tsx Modal now accepts a showClose prop that passes through to
  DialogContent, so callers that render their own close affordance
  (DeployFeedbackModal) can suppress the Radix close button
- DeployFeedbackModal -> Modal with showClose=false. Custom header,
  scroll body, embedded terminal, and footer stay in place; Modal
  provides the consistent overlay/blur chrome. DialogTitle is still
  imported from the dialog primitive purely as an sr-only
  accessibility wrapper, since this status panel doesn't fit the §10
  ModalHeader chrome
- BashExecModal -> Modal + ModalHeader. Kicker BASH · {CONTAINER}.
  The xterm container sits in the body
- LogViewer -> Modal + ModalHeader. Kicker LOGS · {CONTAINER}. The
  scroll region sits in the body
This commit is contained in:
Anso
2026-05-06 20:19:34 -04:00
committed by GitHub
parent 9ab7819b24
commit eb2d10af71
4 changed files with 67 additions and 59 deletions
+12 -11
View File
@@ -7,11 +7,8 @@ import {
Minimize2,
Terminal as TerminalIcon,
} from 'lucide-react';
import {
Dialog,
DialogContent,
DialogTitle,
} from '@/components/ui/dialog';
import { Modal } from '@/components/ui/modal';
import { DialogTitle } from '@/components/ui/dialog';
import { Button } from '@/components/ui/button';
import { StructuredLogRow } from '@/components/log-rendering/StructuredLogRow';
import TerminalComponent from '@/components/Terminal';
@@ -156,11 +153,15 @@ export function DeployFeedbackModal({ isMinimized, onMinimize }: DeployFeedbackM
const verbLabel = VERB_LABELS[action];
return (
<Dialog open={isDialogOpen} onOpenChange={handleOpenChange}>
<DialogContent
showClose={false}
<Modal
open={isDialogOpen}
onOpenChange={handleOpenChange}
showClose={false}
className="max-w-[640px] max-h-[70vh] flex flex-col"
>
<div
data-testid="deploy-feedback-modal"
className="max-w-[640px] p-0 gap-0 max-h-[70vh] flex flex-col"
className="flex flex-col flex-1 min-h-0"
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
>
@@ -273,8 +274,8 @@ export function DeployFeedbackModal({ isMinimized, onMinimize }: DeployFeedbackM
</Button>
</div>
</div>
</DialogContent>
</Dialog>
</div>
</Modal>
);
}