Removed NiceModal from settings and Shade - #30017
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: QUIET Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
Included review availability: Your plan includes up to 10 reviews per rolling hour; 8 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (1)
WalkthroughThe change removes Merge Risk: ⚪ Minimal · up to This change removes an unused modal dependency and converts settings dialogs to controlled rendering paths, with the stated tests, type checks, lint, and repository search passing. No actionable merge-blocking risk remains beyond normal checks. 🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
6c473c7 to
ad184ce
Compare
71346e8 to
a272234
Compare
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run @tryghost/admin:test:acceptance |
✅ Succeeded | 8m 52s | View ↗ |
nx run ghost:test:ci:integration |
✅ Succeeded | 2m 43s | View ↗ |
nx run-many -t test:unit -p @tryghost/admin-x-f... |
✅ Succeeded | 28s | View ↗ |
nx run ghost:test:integration |
✅ Succeeded | 3m 15s | View ↗ |
nx run @tryghost/koenig-lexical:test:acceptance |
✅ Succeeded | 2m 24s | View ↗ |
nx run ghost:test:legacy |
✅ Succeeded | 3m 9s | View ↗ |
nx run ghost:test:e2e |
✅ Succeeded | 2m 56s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 2m 24s | View ↗ |
Additional runs (9) |
✅ Succeeded | ... | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-08-18 16:13:48 UTC
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #30017 +/- ##
==========================================
- Coverage 75.35% 75.31% -0.04%
==========================================
Files 1610 1610
Lines 142809 142809
Branches 17682 17669 -13
==========================================
- Hits 107607 107554 -53
- Misses 34172 34256 +84
+ Partials 1030 999 -31
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
no ref Every settings dialog now renders as a controlled component, either from its route or from the component that opens it, so nothing is created or shown through NiceModal any more. This removes the NiceModal provider from the settings app, the NiceModal fallback paths from Shade's SettingsModal and the settings PreviewModalContent (onClose is now required on both), and the @ebay/nice-modal-react dependency from admin, Shade and the framework, along with its catalog entry. Shade's SettingsModal unit tests and story rendered through NiceModal only because that was the available mount path; they now render the modal directly with a controlled onClose.
a272234 to
e719b3e
Compare
no ref This keeps the NiceModal cleanup free of trailing blank lines and satisfies the repository whitespace check.

no ref
Every settings dialog now renders as a controlled component, either from its route or from the component that opens it, so nothing is created or shown through NiceModal any more. This removes:
NiceModal.Providerfrom the settings appSettingsModaland the settingsPreviewModalContent—onCloseis now required on both (every consumer already passed it)@ebay/nice-modal-reactdependency from admin, Shade and admin-x-framework (which had it listed but never imported it), plus its catalog entry and lockfile entriesShade's
SettingsModalunit tests and story rendered through NiceModal only because that was the available mount path; they now render the modal directly with a controlledonClose.Verification
pnpm test:acceptance src/settings— 327/327apps/adminunit — 1382/1382;apps/shadeunit — 295/295tsc --noEmitand eslint clean onapps/adminandapps/shade;rg nice-modalacross the repo returns nothing