refactor(ui): consolidate bulk modals and sprint Primer shell#48
Conversation
Replace per-action bulk modal components with shared modal shell and factory patterns; refresh sprint modal/settings to match GitHub-native Primer CSS and extract sprint settings helpers with tests.
There was a problem hiding this comment.
3 issues found across 22 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
…cape Restore bulk close reason selection via ModalShell, prune disconnected sprint header widgets, and isolate modal Escape from global shortcuts.
There was a problem hiding this comment.
2 issues found across 6 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Mark menu close always uses COMPLETED per ADR/regression spec. Re-check selection after async PAT validation before opening modal.
|
/ecc-tools analyze |
Analysis QueuedAnalyzing fathiraz/refined-github-projects on pull request head Analysis Pipeline
Estimated time: 2-5 minutes depending on repository size. 10/10 analyses remaining this month (free tier) | ECC Tools |
|
Analysis CompleteGenerated ECC bundle from 3 commits | Confidence: 65% View Pull Request #49Repository Profile
Changed Files (23)
Top hotspots
Top directories
Analysis Depth Readiness (commit-history, 7%)ECC Tools uses this to decide whether recommendations should stay at commit-history/setup guidance or expand into CI, security, harness, reference-set, AI-routing, and team backlog work.
Reference Set Readiness (0/7, 0%)
Likely Future Issues (1)
Suggested Follow-up Work (1)
Copy-ready bodies test: add browser coverage for src/ui/tests/modal-shell.test.tsx + src/ui/modal-shell.tsx ## Summary
- Add browser or end-to-end coverage for the recently changed user-facing surface.
## Why
- Backfill browser coverage before another user-facing UI change lands on the touched surface.
## Touched paths
- `src/ui/__tests__/modal-shell.test.tsx`
- `src/ui/modal-shell.tsx`
## Validation
- Add or extend browser / e2e coverage for the changed component, page, or flow.
- Exercise the visible user journey that depends on the touched UI surface.Review Activity (3 reviews, 5 inline comments, 0 unresolved threads)
Latest reviewer states
Review Follow-up Signals (2)
Recommended next actions
Detected Workflows (2)
Generated Instincts (25)
After merging, import with: Files
|
Summary
ModalShelland route bulk/sprint dialogs through the modal factory for consistent Primer layoutChanges
Modal infrastructure (
src/ui/modal-shell.tsx,src/lib/modal-factory.tsx,src/lib/primer-css-helper.ts)Bulk actions (
src/features/bulk-actions-*.tsx, deletedbulk-*-modal.tsx)Sprint UI (
src/features/sprint-*.tsx,src/features/sprint-settings-utils.ts)sprint-settings-utilsplus tests for settings derivationContent script (
src/entries/content.ts)Test Plan
pnpm typecheckpasses locallySummary by cubic
Consolidated bulk action modals and rebuilt the sprint panel on a shared
ModalShellfor a consistent Primer look and correct focus/Escape behavior. Restores close-reason selection, streamlines sprint widgets, and removes duplicate components.Refactors
ModalShelland updated the modal factory to mount dialogs with shared Primer styling, motion, and Escape isolation.BulkCloseModal,BulkLockModal,BulkOpenModal,BulkPinModal,BulkUnpinModal); routed remaining flows through the factory and ported close/delete toModalShell.ProgressBarand updated header widget styling.sprint-settings-utilswith tests; extendedprimer-css-helperwith chip/button presets; injected sprint UI via light DOM usingctx.Bug Fixes
ModalShelltests to verify.Written for commit 63bbd43. Summary will update on new commits.