refactor(frontend): migrate MFA dialogs to Modal chrome system (D-3) (#907)

Replace raw Dialog/AlertDialog scaffolding in MfaEnrollDialog,
MfaDisableDialog, and MfaBackupCodesDialog with the shared Modal*
primitives introduced in D-1. Extract the duplicated BackupCodeTicket
component into a shared file consumed by both enroll and regen flows.

Fix a CSS grid auto-column blowout in Modal: the dialog's implicit auto
column was sizing to the step rail's min-content (492px), overflowing
the 448px max-w-md constraint and clipping right-side content. Adding
grid-cols-1 to the DialogContent override forces the column to use
minmax(0, 1fr), preventing any grid item from expanding the track past
available space. Also add min-w-0 to the TOTP secret code element so
its long monospaced string can truncate rather than drive column sizing.

Kicker prefixes updated to SECURITY · per the tracker convention.
This commit is contained in:
Anso
2026-05-04 09:08:44 -04:00
committed by GitHub
parent 2a2a7deef1
commit 90ea26f7c7
5 changed files with 285 additions and 345 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ export function Modal({ open, onOpenChange, children, size = 'md', className }:
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent
className={cn(
'p-0 gap-0 overflow-hidden',
'p-0 gap-0 overflow-hidden grid-cols-1',
SIZE_CLASS[size],
className,
)}