diff --git a/ghost/admin/app/controllers/settings/membership.js b/ghost/admin/app/controllers/settings/membership.js index f83c39b45b..b0d15b0c95 100644 --- a/ghost/admin/app/controllers/settings/membership.js +++ b/ghost/admin/app/controllers/settings/membership.js @@ -102,6 +102,22 @@ export default class MembersAccessController extends Controller { this.leaveSettingsTransition = null; } + @action + async membersSubscriptionAccessChanged() { + const [oldValue] = this.settings.changedAttributes().membersSignupAccess; + + if (oldValue === 'none') { + // when saved value is 'none' the server won't inject the portal script + // to work around that and show the expected portal preview we save and + // force a refresh + await this.saveSettingsTask.perform(); + this.updatePortalPreview(); + this.portalPreviewGuid = Date.now().valueOf(); + } else { + this.updatePortalPreview(); + } + } + @action setStripePlansCurrency(event) { const newCurrency = event.value; diff --git a/ghost/admin/app/templates/settings/membership.hbs b/ghost/admin/app/templates/settings/membership.hbs index c3f2f17e93..3045f633a3 100644 --- a/ghost/admin/app/templates/settings/membership.hbs +++ b/ghost/admin/app/templates/settings/membership.hbs @@ -41,7 +41,7 @@