Skip to content

Removed legacy settings Form component - #29560

Merged
9larsons merged 1 commit into
mainfrom
codex/admin-settings-shade-form
Jul 23, 2026
Merged

Removed legacy settings Form component#29560
9larsons merged 1 commit into
mainfrom
codex/admin-settings-shade-form

Conversation

@9larsons

Copy link
Copy Markdown
Contributor

What changed

  • removed the legacy Form component, story, and design-system export
  • migrated all settings consumers to Shade FieldGroup, FieldSet, and FieldLegend primitives
  • preserved the previous grouped borders, spacing, responsive section headings, compact controls, and sticky-footer clearance
  • updated shared integration headers to use the modal background token for stronger dark-mode contrast

Why

Settings was the only consumer of this layout wrapper. Using Shade's existing field primitives removes duplicate ownership from admin-x-design-system and keeps the retirement work moving without introducing another settings-specific abstraction.

Validation

  • pnpm --filter @tryghost/admin-x-settings lint
  • pnpm --filter @tryghost/admin-x-settings exec tsc --noEmit
  • pnpm --filter @tryghost/admin-x-settings test:unit — 213 tests passed
  • pnpm --filter @tryghost/admin-x-design-system lint
  • pnpm --filter @tryghost/admin-x-design-system build
  • pnpm --filter @tryghost/admin test:acceptance src/settings — 299 tests passed
  • pre-commit ESLint, dependency-cruiser, secrets, submodule, and changeset checks

Manual validation

  • newsletter configuration sections and field contrast
  • tier editor headings, benefits, preview, and sticky footer
  • integration configuration panes in light and dark mode
  • portal, offers, recommendations, custom fields, signup embeds, and design settings forms

no ref

Settings was the only consumer, so using Shade field primitives removes duplicate layout ownership before admin-x-design-system is retired.
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0fbc183e-b4d8-4c9b-868a-7c75dc90e9f9

📥 Commits

Reviewing files that changed from the base of the PR and between d240cd7 and fd8fa70.

📒 Files selected for processing (30)
  • apps/admin-x-design-system/src/global/form/form.stories.tsx
  • apps/admin-x-design-system/src/global/form/form.tsx
  • apps/admin-x-design-system/src/index.ts
  • apps/admin-x-settings/src/components/settings/advanced/integrations/add-integration-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/custom-integration-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/first-promoter-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/integration-header.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/pintura-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/slack-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/transistor-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/unsplash-modal.tsx
  • apps/admin-x-settings/src/components/settings/advanced/integrations/webhook-modal.tsx
  • apps/admin-x-settings/src/components/settings/email/newsletters/add-newsletter-modal.tsx
  • apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/embed-signup/embed-signup-sidebar.tsx
  • apps/admin-x-settings/src/components/settings/growth/explore/testimonials-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/offers/add-offer-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/offers/edit-offer-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/offers/edit-retention-offer-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal.tsx
  • apps/admin-x-settings/src/components/settings/growth/recommendations/recommendation-description-form.tsx
  • apps/admin-x-settings/src/components/settings/membership/custom-fields/custom-field-modal.tsx
  • apps/admin-x-settings/src/components/settings/membership/portal/account-page.tsx
  • apps/admin-x-settings/src/components/settings/membership/portal/look-and-feel.tsx
  • apps/admin-x-settings/src/components/settings/membership/portal/signup-options.tsx
  • apps/admin-x-settings/src/components/settings/membership/stripe/stripe-connect-modal.tsx
  • apps/admin-x-settings/src/components/settings/membership/tiers/tier-detail-modal.tsx
  • apps/admin-x-settings/src/components/settings/site/announcement-bar-modal.tsx
  • apps/admin-x-settings/src/components/settings/site/design-and-branding/global-settings.tsx
  • apps/admin-x-settings/src/components/settings/site/design-and-branding/theme-settings.tsx
💤 Files with no reviewable changes (3)
  • apps/admin-x-design-system/src/global/form/form.tsx
  • apps/admin-x-design-system/src/global/form/form.stories.tsx
  • apps/admin-x-design-system/src/index.ts

Walkthrough

Removed the admin-x design-system Form component, stories, and public exports. Updated admin-x settings screens to use Shade FieldGroup, FieldSet, FieldLegend, and related primitives for form layout. Integration, newsletter, growth, membership, portal, and site settings components were migrated without changing their existing save, validation, or modal behavior. The integration header now uses Shade’s Stack primitive.

Possibly related PRs

  • TryGhost/Ghost#29512: Migrates additional legacy admin-x controls to Shade primitives in settings interfaces.
  • TryGhost/Ghost#29513: Migrates settings text-control UIs to Shade field and textarea primitives.
  • TryGhost/Ghost#29559: Updates overlapping settings components from legacy text fields to Shade inputs.

Suggested reviewers: weylandswart

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: removing the legacy settings Form component.
Description check ✅ Passed The description matches the PR and covers the component removal, migration to Shade primitives, and validation.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/admin-settings-shade-form

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@9larsons
9larsons marked this pull request as ready for review July 23, 2026 15:27
@nx-cloud

nx-cloud Bot commented Jul 23, 2026

Copy link
Copy Markdown

🤖 Nx Cloud AI Fix

Ensure the fix-ci command is configured to always run in your CI pipeline to get automatic fixes in future runs. For more information, please see https://nx.dev/ci/features/self-healing-ci


View your CI Pipeline Execution ↗ for commit fd8fa70

Command Status Duration Result
nx run @tryghost/admin:test:acceptance ✅ Succeeded 6m 11s View ↗
nx run-many -t test:unit -p @tryghost/admin-x-d... ✅ Succeeded 2m 7s View ↗
nx run ghost-monorepo:lint:boundaries ✅ Succeeded 23s View ↗
nx run-many -t lint -p @tryghost/admin-x-design... ✅ Succeeded 1m 13s View ↗
nx run @tryghost/admin:build ✅ Succeeded 26s 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 15:37:01 UTC

@9larsons
9larsons enabled auto-merge (squash) July 23, 2026 15:38
@9larsons
9larsons merged commit cadcb2f into main Jul 23, 2026
45 checks passed
@9larsons
9larsons deleted the codex/admin-settings-shade-form branch July 23, 2026 15:41
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