-
Notifications
You must be signed in to change notification settings - Fork 24
Implement Confirmation Dialog System #260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Confirmation Dialog System #260
Conversation
- Created `ConfirmContext` for managing confirmation state with a Promise-based API.
- Created `ConfirmDialog` component with dual-theme support (Glassmorphism/Neobrutalism) and 'danger' variant.
- Updated `Modal` component to include `role="dialog"` and `aria-modal="true"` for accessibility.
- Integrated `ConfirmProvider` into `web/App.tsx`.
- Replaced `window.confirm` calls in `web/pages/GroupDetails.tsx` with `useConfirm` for:
- Deleting expenses
- Deleting groups
- Leaving groups
- Removing members
- Verified with Playwright tests.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
✅ Deploy Preview for split-but-wiser canceled.
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
|
@coderabbitai review this product compared to #256 |
- Created `ConfirmContext` for managing confirmation state with a Promise-based API.
- Created `ConfirmDialog` component with dual-theme support (Glassmorphism/Neobrutalism) and 'danger' variant.
- Updated `Modal` component to include `role="dialog"` and `aria-modal="true"` for accessibility.
- Integrated `ConfirmProvider` into `web/App.tsx`.
- Replaced `window.confirm` calls in `web/pages/GroupDetails.tsx` with `useConfirm` for:
- Deleting expenses
- Deleting groups
- Leaving groups
- Removing members
- Verified with Playwright tests.
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain
🏁 Script executed: Length of output: 19626 🏁 Script executed: Length of output: 14709
📊 Overview
🔍 Key Differences1. Component Variants
2. Accessibility ImplementationPR // Adds aria-labelledby, id="modal-title", aria-label on close button
<div role="dialog" aria-modal="true" aria-labelledby="modal-title">
<h3 id="modal-title">...</h3>
<button aria-label="Close modal">...</button>PR // Only role and aria-modal on motion.div
<motion.div role="dialog" aria-modal="true">3. API Design
4. Usage PatternPR const confirmed = await confirm({...});
if (confirmed) { ... }PR if (await confirm({...})) { ... }5. Context Implementation
6. Documentation Quality
7. Component Complexity
🎯 RecommendationPR
PR
💡 SuggestionConsider merging PR
Would you like me to help enhance PR |
|
@coderabbitai we should proceed with #256 |
- Created `ConfirmContext` for managing confirmation state with a Promise-based API.
- Created `ConfirmDialog` component with dual-theme support (Glassmorphism/Neobrutalism) and 'danger' variant.
- Updated `Modal` component to include `role="dialog"` and `aria-modal="true"` for accessibility.
- Integrated `ConfirmProvider` into `web/App.tsx`.
- Replaced `window.confirm` calls in `web/pages/GroupDetails.tsx` with `useConfirm` for:
- Deleting expenses
- Deleting groups
- Leaving groups
- Removing members
- Verified with Playwright tests.
|
Tip For best results, initiate chat on the files or code changes.
Next steps:
Would you like me to help with anything specific on PR |
Implemented a complete confirmation dialog system to replace native browser alerts. This system provides a consistent, themed UI for destructive actions and improves accessibility.
Key changes:
web/contexts/ConfirmContext.tsxweb/components/ui/ConfirmDialog.tsxweb/pages/GroupDetails.tsxto use the new systemweb/components/ui/Modal.tsxPR created automatically by Jules for task 2948144666080415986 started by @Devasy23