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
no issue
- On closing portal popup, the hash link was not getting reset which then prevented the popup to be opened again
- Clears portal hash link on popup close
no issue
- We had previously removed the Back button for account profile/plan pages when opened directly via Portal link
- This updates the behavior to show the back button which takes back to Account Home as the previous behavior seemed incomplete to users
no issue
- Hash handler was not updating Portal state if it pointed to a Portal link, which caused the need for a full refresh to reflect new link triggers
- Updates hash handler to use handle both preview and link states
no issue
- When account plan/profile pages are opened via Portal Link, the back button is non-functional as we don't have a last page to go to, fix hides the back button in such cases
refs #12249
refs ce14d8113a
This was incorrectly assuming the presence of the data-members-name
element in the document. By guarding against it and defaulting to
undefined, we fallback to the existing behaviour when the element is not
present.
no issue
- Added yearly back to fixtures as tests rely on them
- Long term fix is to directly override fixtures with expected value for tests to not rely on value in file
- Updated notification style for a less opinionated design so that it works better with any accent color
- Changed full width notificaiton style to smaller to avoid covering navigation
no issue
Current logic ignored empty accent color value coming from the preview url which did not unset the accent color when removed from preview. The fix allows for empty accent color in preview so that it can be reset to default.
no issue
- We recently updated Ghost to allow theme developers to pass member's name via `data-members-name` attribute
- The script covers the usecase for any themes using the attribute to fill member's name during the signup process
refs https://github.com/TryGhost/Team/issues/393
- Updates behavior of popup notification for account update
- Updates popup notification clear without animation for manual close and retry click
- Adds redirect to home page correctly for popup notification on success
no issue
- Adds success and error notification messages for different actions
- Cleans up notification flows and messages
- Adds new helpers for members and site
- Updates actions for email/name update
no refs.
- added different disabled cookie warning messages depending on the context
- disabled input fields, checkboxes and buttons globally if cookies are disabled
- refined copy and visuals
no issue
- Adds new helpers to create portal links on existing site url paths
- Updates retry links for signin and signup to use new helpers
- Helps preventing any unwanted bugs with Portal links by providing consistent link creation