Skip to content

Fix nested confirmation dialog layering - #24

Merged
AFR0011 merged 3 commits into
mainfrom
fix/confirm-dialog-layering
Sep 17, 2026
Merged

AFR0011 merged 3 commits into
mainfrom
fix/confirm-dialog-layering

Conversation

@AFR0011

@AFR0011 AFR0011 commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the Transactions delete confirmation rendering underneath the open Edit transaction sheet.

The edit flow uses AdaptiveSheet, which is portaled at z-index 80, while ConfirmDialog was rendered in-place at z-index 50. That made the destructive confirmation visually appear behind the editor. The two document-level focus/Escape handlers could also compete when both dialogs were open.

Changes

  • portal ConfirmDialog to document.body
  • place confirmation dialogs above adaptive sheets at z-index 100
  • keep body scroll locked while a confirmation is open
  • let the top-most confirmation capture Escape/Tab so the underlying sheet does not close or steal the focus trap
  • add a Playwright regression that verifies the delete confirmation is above the editor and that Escape closes only the confirmation

Safety

  • UI-only change; no finance data or ledger logic is modified
  • existing confirmation API remains unchanged

Verification

Ravel CI will run lint, typecheck, unit tests, dependency audits, build, route smoke, and the Playwright browser suite including the new nested-dialog regression.

@vercel

vercel Bot commented Sep 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ravel Ready Ready Preview Sep 17, 2026 8:32pm UTC

@AFR0011
AFR0011 merged commit a0cbe9e into main Sep 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant