Moved settings ModalPage to Shade - #29563
Conversation
no ref The remaining full-page settings modals can now stop depending on the legacy design system without changing their layout or behavior.
no ref The preview and settings tabs control overlapping rather than identical views, so partial synchronization left stale indicators and allowed the underline to flicker.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (13)
WalkthroughThe legacy design-system Possibly related PRs
✨ 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 |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run @tryghost/admin:test:acceptance |
✅ Succeeded | 8m | View ↗ |
nx run-many -t test:unit -p @tryghost/admin-x-d... |
✅ Succeeded | 4m 45s | View ↗ |
nx run ghost-admin:test |
✅ Succeeded | 3m 22s | View ↗ |
nx run ghost-monorepo:lint:boundaries |
✅ Succeeded | 16s | View ↗ |
nx run-many -t lint -p @tryghost/admin-x-design... |
✅ Succeeded | 1m 34s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 1m 29s | View ↗ |
nx run @tryghost/activitypub:test:acceptance |
✅ Succeeded | 46s | View ↗ |
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | <1s | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-07-23 20:07:00 UTC
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #29563 +/- ##
==========================================
+ Coverage 74.82% 74.84% +0.01%
==========================================
Files 1611 1611
Lines 141725 141744 +19
Branches 17330 17338 +8
==========================================
+ Hits 106051 106087 +36
+ Misses 34602 34584 -18
- Partials 1072 1073 +1
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:
|

What changed
ModalPagepage template to Shade, with Storybook and unit coverage.ModalPageimplementation and exports.Why
These were the final Settings consumers of the legacy
ModalPage. Moving the settled, state-free page shell into Shade removes another legacy design-system dependency while preserving the existing layout.The Portal tab regression came from partially synchronizing two tab bars that control overlapping, but not identical, views. The stale state also left the pseudo-element underline susceptible to visual flicker.
Validation
pnpm --dir apps/shade lintpnpm --dir apps/shade test:typespnpm --dir apps/shade test(235 tests)pnpm --dir apps/shade buildpnpm --dir apps/shade build-storybookpnpm --dir apps/admin-x-settings lintpnpm --dir apps/admin-x-settings test(217 tests)pnpm --dir apps/admin-x-design-system lintpnpm --dir apps/admin-x-design-system buildpnpm --dir apps/admin typecheckManual testing