Added trial private site UI lockdown for Access settings#27963
Conversation
When the publicSiteAccess limit marks is_private and password as read-only, the Access settings page now shows a pre-launch banner, disables the site visibility select and access code field, and exposes a regenerate button for the access code. Private badges appear in both the settings sidebar and the main admin sidebar header. Design system disabled styling improved to use muted backgrounds and subtle rings instead of opacity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
WalkthroughThis PR updates the form component disabled styling and implements private site access control across the admin interface. It refines the Select and TextField components to use explicit text colors and shadow effects instead of opacity for disabled states. The membership access UI adds a locked state that prevents modification when Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
…field disabling The banner and overflow styling are trial-specific (gated on publicSiteAccess limit), while field disabling is generic (gated on isSettingReadOnly). This prevents trial-specific messaging from appearing if settings are ever marked read-only for a different reason. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
publicSiteAccesshost limit is active, the Access settings page shows a gradient "Pre-launch mode" banner with an upgrade CTA, disables the site visibility select (locked to Private), disables the access code text field, and exposes a regenerate button for the access codepublicSiteAccesslimit (viauseLimiter) drives trial-specific messaging (banner, CTA), whileisSettingReadOnlydrives generic field disabling — so trial copy won't appear if settings are ever marked read-only for a different reasonSelectandTextFieldin the design system — uses muted backgrounds and subtle rings instead of opacity washpublicSiteAccessto the host settings limits type definitionLifts the UI from the spike on
codex/trial-private-site-simulator-demo, wired to real limit and settings signals instead of the localStorage simulator.Depends on #27917 (merged) for the
is_read_onlyfield on settings. The regenerate endpoint is a follow-up (sendspassword: nullvia Settings edit for now).Test plan
publicSiteAccesslimit active: banner shown, visibility select disabled and locked to Private, access code field disabled, regenerate button visible, RSS hint hidden🤖 Generated with Claude Code