refs https://github.com/TryGhost/Team/issues/579
We added a new setting to explicitly set `invite-only` mode which was not handled in the signup button and header icon for signup page
refs https://github.com/TryGhost/Team/issues/579
Admin preview screen now sends `allowSelfSignup` as a query param that allows customising the Portal preview UI based on the changes selected by the Admin. This change handles the new query param in Portal
refs https://github.com/TryGhost/Team/issues/579
A new setting `members_signup_access` can be set to `invite` by the site owner which explicitly makes Portal to behave invite only, this change updates Portal to handle the setting
refs https://github.com/TryGhost/Team/issues/530
This makes sure that sites not using the Portal modal will have their
cancel behaviour updated too.
* Added missing newline
refs https://github.com/TryGhost/Team/issues/530
A continueSubscription action has been added to handle continuing
subscriptions as a different flow since we now have `smart_cancel` for the cancellation. The "continue subscription" button in Portal is updated to use the new action to correctly continue a subscription instead of old action which did both cancel and continue.
refs https://github.com/TryGhost/Team/issues/530
The members-api now accepts the `smart_cancel` option when updating
subscriptions. This will automatically handle cancelling the
subscription if it is in an overdue state.
A continueSubscription action has been added to handle continuing
subscriptions.
refs https://github.com/TryGhost/Team/issues/536
From 4.0, we ensure and require that accent colour is always set. This change removes hardcoded accent color fallbacks to avoid confusion as well as cause accidental fallback that is undesired causing themes to look different
no refs
The portal links were not working in case of a trailing slash at the end, this fix updates the regex to allow and ignore the trailing slashes in portal links as it can be a common mistake to include trailing slashes.
SITE/#/portal/ - Did not work previously, now works
vs
SITE/#/portal - Works
no refs
Does member data refresh when hiding notification to ensure subscription data for member is fetched if Stripe webhooks are delayed on server and shows no subscription in first request.
no refs
- We updated site plans to use `currency_symbol` instead of `currency`, but missed updating it here so the popup showed `undefined` for the new plan on confirmation screen
- applied blur on modal cover background
- adjusted positioning of modal
- refined sign in / sign up link style
- adjusted magic link envelope icon position and size
no refs
`yarn build` used to throw up a lot of warnings because the webpack config was not correctly updated to use performance config for portal's usecase, this change -
- Sets the `mode` to explicit `production` instead of implicit which throws a warning
- Updated performance max* sizes to account for a single portal chunk bundled up as an external script
closes https://github.com/TryGhost/Team/issues/512
Updates naming of root container to `ghost-portal-root` instead of `ghost-membersjs-root` inline with overall naming to portal everywhere.
refs https://github.com/TryGhost/Team/issues/473
refs https://github.com/TryGhost/Ghost/pull/12700/commits/006cf434
Ghost no longer sends back currency symbols from the API, so we calculate the currency
symbol using `Intl.NumberFormat`.
We've also renamed the `currency` property to `currency_symbol` - as it does not store a currency.
Depending on currency and locale, currency symbols can be the currency ISO code (e.g. AED).
In order to style these differently we add a different class to the element.
- This is a temporary solution to being able to pass in the accent color
- Need to review if attributes / links should definitely support all of the current preview query params (probably should)
refs b739f14183
While adding plans params in preview mode, the site plans were incorrectly overridden with default empty value from preview mode so plan values didn't show up on the screen at all. This commit updates correct structure for site plans
no refs
Adds default opacity to trigger button iframe allowing themes like Edition to modify visibility of portal button in preview mode, but doesn't change any existing behavior
no issue
As part of launch wizard in Ghost-Admin, we allow site owner/admins to try different pricing and currency in Admin preview. This change allows Portal popup to consume and update pricing/currency/background on the preview screen using `monthlyPrice`, `yearlyPrice`, `currency` and `disableBackground` params.
- `monthlyPrice`- Allows updating monthly price value via preview
- `yearlyPrice`- Allows updating yearly price value via preview
- `currency`- Allows updating currency value via preview
- `disableBackground`- Allows disabling preview background for Portal UI
no issue
depends on https://github.com/TryGhost/Ghost/pull/12540
FirstPromoter allows sites to build their own referral programs.
Portal reads FirstPromoter settings from site data and uses them to setup FirstPromoter script to track member referrals
no refs
Using `location.hash` to remove hash params on Portal still keeps the `#` on browser. Instead, we take advantage of history API to remove Portal hash params from screen
no issue
Previously, we only returned active subscription for a member in their list of subscriptions, and Portal picked the first subscription in list for a paid member assuming it as active. This doesn't hold true since we now return list of all subscriptions for a member.
This patch updates to use first "active" subscription for a member in the subscription list instead.
no issue
Custom class is appended to trigger buttons based on popup state to allow UI changes based on different popup state. The class name is updated from using members terminology to new Portal terminology now.
closes https://github.com/TryGhost/Ghost/issues/12367
- Support and powered by links were not opened through `href` inside iframe
- Adds support to open these links via `window.open` to bypass iframe restriction
refs https://github.com/TryGhost/Ghost/issues/12403
This gives members the ability to share their cancellation reason with site owners.
The reason is included in the cancellation request and stored both in Ghost & Stripe.
Co-authored-by: Peter Zimon <zimo@ghost.org>
refs https://github.com/TryGhost/Ghost/issues/12365
Stripe back button previously redirected user to site home instead of keeping existing link where the checkout was triggered from. This updates the link to go back to old site URL in case the previous URL was still on the Ghost site.
no refs
- Updates stripe actions via portal to use custom parameter values to show notifications
- Updated parameter don't interfere with existing theme notifications
refs https://github.com/TryGhost/Ghost/issues/12365
- Added direct portal link handling for - `/signup/free` - to open Portal with Free plan only when available
- In case free plan is not available, Portal will show default signup screen
refs https://github.com/TryGhost/Ghost/issues/12365
- Browser back button from Stripe checkout takes users to infinite navigation loop as we were not clearing the direct checkout link
- Clears direct checkout link on load so user can continue navigation as normal
no issue
- Notification was fetching member's first name which caused error in case the member was not logged in
- Adds check for member to exist before fetching first name
There is a bug in these version where Portal does not load correctly after a successful
Stripe Checkout. We are reverting until we can determine the cause of the bug and fix it
* Revert "v0.11.1"
This reverts commit 828c4d59e2.
* Revert "Fixed incorrect link/path handling"
This reverts commit 9d853be979.
* Revert "v0.11.0"
This reverts commit 16c2224b9b.
* Revert "Updated portal direct checkout links to use path"
This reverts commit d26fad1ef2.
* Revert "Added direct links for monthly/yearly checkout"
This reverts commit bbea4f7ec5.
* Revert "Added user select style to plan container"
This reverts commit a665ca5923.
* Revert "Refined copy"
This reverts commit 32d4949e1d.
* Revert "Account home page refinements"
This reverts commit 6587eca37d.
* Revert "Notification refinements"
This reverts commit 23c75e3acc.
* Revert "Added name to welcome notification"
This reverts commit 7220049830.
* Revert "Refined notification"
This reverts commit d1c091584f.
refs https://github.com/TryGhost/Ghost/issues/12365
Last commit added Portal checkout links using query param on signup link - `signup?plan=monthly/yearly`, this updates the checkout links to use path instead of params on links and data attributes instead.
Portal link for monthly plan checkout - `#/portal/signup/monthly`
Portal data attribute for monthly plan checkout - `data-portal=signup/monthly`
Portal link for yearly plan checkout - `#/portal/signup/yearly`
Portal data attribute for monthly plan checkout - `data-portal=signup/yearly`
refs https://github.com/TryGhost/Ghost/issues/12365
Currently, while its possible to open Stripe checkout directly on a monthly/yearly plan, Portal links don't allow similar feature. This change allows opening a site on a specific Portal link that can directly open Stripe checkout for monthly/yearly plan, if the plan is allowed.
- Adds handling for new portal signup link for monthly plan - `/#/portal/signup?plan=monthly`
- Adds handling for new portal signup link for yearly plan - `/#/portal/signup?plan=yearly`
no issue
Ghost sends email on successful signup to a paid plan via Stripe checkout, but couldn't differentiate between a Stripe checkout as new member or as an upgrade previously. This led to an extra second email with magic link on upgrading to paid plan while logged in.
Passing `checkoutType` metadata to Stripe checkout allows webhook to ignore second email in case of an upgrade scenario.
refs https://github.com/TryGhost/Ghost/issues/12253
- Handles custom action param for requests from Portal by listening on `portal-action` instead of `action` and `portal-stripe` instead of `stripe` in query params for magic link and stripe checkout changes
- Allows theme to continue using the old params so in future Portal doesn't interfere with theme notifications
no issue
- If the site owner has no active plan enabled for signup in settings, it implies an invite-only site usecase which needs to be highlighted to he user
- Shows the invite only message along with option to login when SIgnup screen is opened in such scenario
no issue
- Default site fixtures for tests often break them as tests expect all 3 plans to be present at the moment, change here updates the tests to use custom site fixture with all 3 plans to avoid breaking with any changes for dev testing
no issue
- Currently, the newsletter switch works on the value update from the API which can have slight delay causing sluggish feeling on using the switch
- Adds logic to locally update the switch state before resetting to whatever value comes from the update so the behavior feels instant