Commit Graph

979 Commits

Author SHA1 Message Date
Peter Zimon
303e7286a2 Fixed current plan button z-index bug 2022-04-25 22:50:16 +02:00
Rishabh
37d9099d1a Wired subscribed toggle to single site newsletter
refs https://github.com/TryGhost/Team/issues/1554

With multiple newsletters, the subscribed property on a member is replaced by newsletter(s) [] which defines member's subscription instead.

- wires existing subscribe toggle on account home to new newsletter backend
2022-04-25 18:12:08 +05:30
Djordje Vlaisavljevic
74e5d629ba Refined design for newsletter selection step of signup
refs https://github.com/TryGhost/Team/issues/1490
2022-04-21 22:03:38 +02:00
Djordje Vlaisavljevic
a95b1c002f Added mock fixture for paid newsletters
refs https://github.com/TryGhost/Team/issues/1490
2022-04-21 22:02:58 +02:00
Djordje Vlaisavljevic
0e105fec06 Added lock icon
refs https://github.com/TryGhost/Team/issues/1490
2022-04-21 22:02:03 +02:00
Rishabh
d5c39b6d3c Removed background window scroll with Portal popup
refs https://github.com/TryGhost/Team/issues/1543

In some cases, when the background of page has scroll, scrolling inside Portal popup also scrolls the background page which causes confusion. To avoid this, we set the body of site to overflow hidden when Portal popup is opened to freeze the background, and then reset it back to original state when portal popup is hidden.
2022-04-21 16:30:02 +05:30
Rishabh
e64684655b Removed unused imports and logs 2022-04-21 15:19:24 +05:30
Rishabh
3cfc530b37 Updated newsletter selection flow for signup
refs https://github.com/TryGhost/Team/issues/1490

Updates newsletter selection flow on signup to render content inside the signup page, so we can keep the common header and popup modal for both pages.
2022-04-21 15:14:18 +05:30
Rishabh
7c6d9a07d4 Updated newsletters to follow sort order
- updates portal to respect newsletter ordering set in Admin
2022-04-19 15:12:16 +05:30
Djordje Vlaisavljevic
17414b23a2 Updated design for newsletter selection step of signup flow
refs https://github.com/TryGhost/Team/issues/1490
2022-04-18 17:36:08 +02:00
Rishabh
e0e6f48fc8 Wired unsubscribe all button for newsletter preference page 2022-04-14 22:07:54 +05:30
Rishabh
54b64c2634 Added newsletter selection to offer signup
refs https://github.com/TryGhost/Team/issues/1490

Adds newsletter subscription selection page as intermediary before signing up to a site via offer url.
2022-04-13 18:44:05 +05:30
Rishabh
031aa5f2bc Added newsletter selection for signup flows
refs https://github.com/TryGhost/Team/issues/1490

Adds newsletter subscription preference page as an intermediary step before signing up as paid or free member.
2022-04-13 18:43:23 +05:30
Rishabh
0d5df582f8 Fixed missing signup button for free portal link
closes https://github.com/TryGhost/Team/issues/1511
2022-04-12 21:24:53 +05:30
Rishabh
fdd1347268 Wired multiple newsletter preferences to API
refs https://github.com/TryGhost/Team/issues/1469

- wires newsletters data on email preference page to real data for view/edit
- allows members to control email preference to multiple newsletters
2022-04-05 22:43:20 +05:30
Peter Zimon
a110f1469e Various refinements
- Adjusted fading cover for sticky buttons
- Adjusted bottom margin of invite only popup
- Updated input font-size for mobile to prevent input focus zooming
2022-03-29 12:45:39 +02:00
Rishabh
9f335c36ff Fixed key warning for newsletter preference section 2022-03-29 14:02:28 +05:30
Rishabh
83d0a90a93 Removed input auto-zoom for mobile
Adds meta tag for iframe head to control viewport in mobile devices
2022-03-29 14:02:09 +05:30
Rishabh
3ab9a67577 Added popup notification for newsletter preference toggle
refs https://github.com/TryGhost/Team/issues/1440
2022-03-29 13:49:25 +05:30
Rishabh
0251989c0a Fixed loading indicator for upgrade plans 2022-03-29 12:12:03 +05:30
Peter Zimon
c339761a35 Removed input auto-zoom for mobile 2022-03-28 15:53:25 +02:00
Peter Zimon
315b2aa257 Removed cadence from offers 2022-03-28 13:49:57 +02:00
Peter Zimon
0b4bec1ac8 Updated offer preview height 2022-03-28 13:42:55 +02:00
Peter Zimon
c20fbb5a71 Added default product descriptions 2022-03-28 13:38:05 +02:00
Peter Zimon
4af2a89f13 Fixed various mobile bugs
- Fixed titles not breaking on small size screens
- Fixed bottom margin of powered by badge on mobile
- Updated word-wrap of detail values in lists
2022-03-28 13:19:15 +02:00
Peter Zimon
bd25c0cc6e Fixed mobile size bugs 2022-03-28 12:48:06 +02:00
Rishabh
44cff4145c Merged v1.17.3 into main
v1.17.3
2022-03-25 00:07:45 +05:30
Rishabh
34cb651202 Merged v1.17.2 into main
v1.17.2

# Conflicts:
#	package.json
#	src/components/common/PlansSection.js
2022-03-25 00:06:17 +05:30
Rishabh
8b02c85e3b Fixed alignment issues on mobile
refs 30703842b5

Portal popup was left aligned on mobile devices due to an earlier fix for inner scroll issue which is not working correctly.
2022-03-24 23:34:11 +05:30
Rishabh
920019da47 Fixed layout for prices with custom description
One of the early betas for multiple products allowed adding custom description for prices, which Portal had an extra check for when rendering. The price description is not a valid scenario anymore, and this change allows Portal to ignore description of prices so it shows consistent layout for single tier scenario.
2022-03-24 16:33:19 +05:30
Peter Zimon
3bec8f784e Updated padding for change plan 2022-03-23 16:06:29 +01:00
Djordje Vlaisavljevic
d9a9f0e90c Added newsletter descriptions
refs https://github.com/TryGhost/Team/issues/1440
2022-03-23 15:52:16 +01:00
Peter Zimon
76158d41af Fixed bottom spacing for offers in Admin preview 2022-03-23 15:07:47 +01:00
Peter Zimon
a034405bc4 Fixed login link under cta on offers screen 2022-03-23 14:28:59 +01:00
Peter Zimon
9529587ef7 Updated current plan visuals 2022-03-23 14:28:59 +01:00
Rishabh
f03ef9538d Added dummy newsletter preferences section for member account
refs https://github.com/TryGhost/Team/issues/1440

- adds static email preferences section in account home page
- adds new account email page for preferences
- adds new fixture for multiple newsletters
- adds basic helper for multiple newsletters
2022-03-23 18:12:00 +05:30
Peter Zimon
2c81e94f74 Fixed discount bug
- fixes bug so that negative discount values won't be showen on tier cards.
2022-03-23 13:36:40 +01:00
Rishabh Garg
afe49de9c2 Refined UI/UX for Portal flows (#234)
On the heels of multiple tiers going GA, this change brings a massive visual overhaul to Portal for almost all pages and flows, along with adding consistency between different multiple tier flows. It also overhauls the tests to match our new UI/UX for Portal.

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2022-03-23 16:31:59 +05:30
Rishabh
4ed5e7e0e1 Removed unused console logs 2022-03-21 10:24:40 +05:30
Rishabh
d4407b9acd Fixed empty subscription object for comped members
refs https://github.com/TryGhost/Team/issues/1428

Editing a comped member's name doesn't return the dummy subscription object in API response, causing unexpected crash in Portal when setting Plan label as it expect's a subscription for a paid member. This change gracefully handles the crash and instead shows empty information for plan label so member can continue using Portal as expected.
2022-03-16 21:08:47 +05:30
Peter Zimon
6b88631521 Additional fix to avoid double scrollbars
Refs.
9425e5843e
https://github.com/TryGhost/Casper/issues/850

Adding additional margin/padding to wrapper to avoid double scrollbars
in small viewports.
2022-03-16 09:48:02 +01:00
Peter Zimon
9425e5843e Fixed double scrollbar bug
Ref: https://github.com/TryGhost/Casper/issues/850

Portal has a bug that the scrollbars for the popup wrapper are always
visible which results in double scrollbars for certian viewports.
This commit hides the wrapper's scrollbars, so only the site scrollbars
will be visible (if the content requires it).
2022-03-16 09:13:28 +01:00
Rishabh
c5154a43a7 Added paid member with selected tier fixture 2022-03-11 20:10:22 +05:30
Peter Zimon
389163c338 Fixed powered by positioning 2022-03-11 12:16:41 +01:00
Peter Zimon
3587052487 Updated preview styles 2022-03-08 11:34:55 +01:00
Rishabh
d82d86e600 Handled missing free tier for portal plans
refs https://github.com/TryGhost/Team/issues/1387

Free tier is only passed to portal when tiers flag is enabled.
2022-03-08 14:36:15 +05:30
Rishabh
eccad13871 Fixed default first product selection failing
The first product selection failed in case of multiple products when viewing in preview, as the id was not updating correctly. This fixes the selected product for products section to ensure there is always valid product selected.
2022-03-08 10:26:17 +05:30
Rishabh
ca29b5dc65 Moved tier visibility usage from portal settings to tier object
refs https://github.com/TryGhost/Team/issues/1387

We have moved away from the portal_products and portal_plans settings to using the visibility property on tiers to determine whether or not a tier should be visible in Portal. This updates Portal to use new tier visibility property to determine visibility at base API level, and in future we will update to remove all usage of portal settings.
2022-03-08 10:26:17 +05:30
Peter Zimon
30703842b5 Update multiple tiers signup (#230)
* Made signin screen normal size for multiple tiers

* Powered by updates

* Removed innser scrolling of portal modal
2022-03-07 16:55:12 +01:00
Rishabh
cc994a0ef1 Added tier name on account home page
As a site can have multiple tiers, instead of just showing "Plan" on account home, this change shows name of the tier member is on.
2022-03-04 15:18:08 +05:30
Rishabh
c9e88de5bf Fixed lint 2022-02-18 23:17:20 +05:30
Rishabh
4c15ecacd8 Added functional tests for member sign-in flow
closes https://github.com/TryGhost/Team/issues/1347
2022-02-18 22:51:29 +05:30
Rishabh
6be29d900c Added id to plan section tests to avoid key warnings 2022-02-18 21:29:05 +05:30
Rishabh
8481962df8 Extended tests for portal helpers
refs https://github.com/TryGhost/Team/issues/1366

- adds unit tests for helpers used across app for data
2022-02-18 21:24:47 +05:30
Rishabh
13fccc3b9f Added tests for direct portal links
closes https://github.com/TryGhost/Team/issues/1354

- extends test coverage to include direct portal links - `#/portal/*`
2022-02-18 18:48:28 +05:30
Rishabh
98f212c3df Added portal data attributes tests
closes https://github.com/TryGhost/Team/issues/1364

- extends data attributes test to cover `data-portal=*` tests
2022-02-18 18:22:06 +05:30
Rishabh
58f2025038 Fixed offer links signup type for logged in members
- logged in members need a special checkoutType metadata in api payload to avoid sending login link email
2022-02-18 00:27:11 +05:30
Rishabh
c0500c1a40 Added offer link tests with portal button disabled
closes https://github.com/TryGhost/Team/issues/1323
2022-02-18 00:26:05 +05:30
Rishabh
0ffa5830fd Fixed default name/email for logged-in member in offer checkout flow
- for logged in members, offer screen was not using the existing name/email values in stripe checkout request
- this did not have side effects as we still attach member session identity in checkout request,
- updates portal to send the name/email when present to checkout request
2022-02-17 11:32:52 +05:30
Rishabh
70013735cc Added tests for free member upgrade flows
closes https://github.com/TryGhost/Team/issues/1348
closes https://github.com/TryGhost/Team/issues/1352

- also updates dev mode check to use dummy member for offers page
2022-02-17 11:30:10 +05:30
Rishabh
a8448033fd Added tests for signup via data attributes
closes https://github.com/TryGhost/Team/issues/1365
2022-02-17 10:25:51 +05:30
Rishabh
b530672177 Added signup flow tests for paid members and offers
closes https://github.com/TryGhost/Team/issues/1351
closes https://github.com/TryGhost/Team/issues/1346

- adds test for members signing up via offer urls
- adds test for members signing up as paid members on single and multi tier sites
2022-02-16 11:59:25 +05:30
Rishabh
cbae75ce60 Cleaned up event listeners on app unmount 2022-02-16 11:53:18 +05:30
Rishabh
0921217fd8 Added free member signup flow tests for multiple tiers
closes https://github.com/TryGhost/Team/issues/1345

- adds free member signup tests for sites with multiple tiers
- updates test fixtures
2022-02-15 13:13:07 +05:30
Rishabh
83a4a0e62a Added basic functional app flow tests
refs https://github.com/TryGhost/Team/issues/1345

- updates App setup to take custom api prop
- adds new signup flow test to check functional behavior of App for specific site settings
- cleanup
2022-02-14 23:28:20 +05:30
Rishabh
2377cb630f Fixed paid signup notification message
refs 579b34434f

As part of the work of automatically logging members in after payment, we added a new action type for signup - `signup-paid` - which allows custom message for a member that is already signed up and doesn't need to confirm their subscription. The new action - `signup-paid` - wasn't added to Portal notification handler which then fallbacks to showing just `Success` as the message. This change -

- handles new `signup-paid` action type allowing Portal to show proper success message
2022-02-11 10:33:06 +05:30
Djordje Vlaisavljevic
7e4e1bcfe2 Added static HTML for tier names in account settings
refs https://github.com/TryGhost/Team/issues/1069
2022-02-10 10:43:37 +01:00
Fabien "egg" O'Carroll
0ad09da764 Fixed Offer handling when Portal disabled
no-issue

The checkoutPlan action should only be used for upgrading members as it
does not send an email upon completion.
2022-02-09 18:19:12 +02:00
Peter Zimon
3e8e6341ee Fixed avatar not appearing for text-only setting
- fixes a bug that avatars for logged in members didn't appear on the trigger button (bottom right) when the setting for the button was set to 'Text only'
2022-02-07 16:47:52 +01:00
Rishabh
b0139dcc6d 🐛 Fixed offer page showing empty name for logged in member
closes https://github.com/TryGhost/Team/issues/1301

- if a logged in member doesn't a name stored, the offer page for them gets bricked  while trying to redeem as the UI doesn't allow submit.
- removes name field for logged-in member if empty
2022-02-02 13:04:57 +05:30
Rishabh
67544a071a Fixed free signup portal link for multiple tiers
no refs

- free signup portal link with multiple tiers enabled was incorrectly showing all tiers instead of just free
2022-01-27 14:57:47 +05:30
Rishabh
a6e9f37b10 Fixed tests
no refs
2022-01-17 23:57:25 +05:30
Rishabh Garg
7cf843d3c7 Added description and benefits for free tier (#210)
refs https://github.com/TryGhost/Team/issues/1037

Free tier is now setup the same way as other tiers, to allow custom description/benefits. This change - 

- adds custom description and benefits UI for free tier when tiers beta is enabled
- updates fixtures structure
- fixes react overlay error for fast refresh

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2022-01-17 23:24:34 +05:30
Rishabh
2e02824a85 Refined offer label UI on account home page
closes https://github.com/TryGhost/Team/issues/1195
2022-01-14 19:39:58 +05:30
Rishabh
b659996082 Fixed archived offers incorrectly showing offer page
refs https://github.com/TryGhost/Team/issues/1269

- accessing an archived offer url was incorrectly showing the offer page, as we were not checking for the status of offer
- the archived offer redemption was working correctly as it was blocked on API, this change updates the ui to hide offer screen for archived as well
2022-01-06 19:25:14 +05:30
Peter Zimon
0cc37afc66 Removed separator line hack from signup footer 2022-01-05 16:38:59 +01:00
Rishabh
d6f0cb7010 Fixed tests
no refs

- fixes default value used for member creation fixture
2022-01-05 20:29:29 +05:30
Peter Zimon
cac9cc7ed4 Changed base modal width 2022-01-05 15:07:30 +01:00
Peter Zimon
1a25cac7ad Updated discount in account home page 2022-01-05 15:03:53 +01:00
Rishabh
86a8abdf30 Refined member account details to show any applied discounts
refs https://github.com/TryGhost/Team/issues/1195

- shows any applied discounts on subscription on account profile page
2022-01-04 20:12:06 +05:30
Fabien egg O'Carroll
709b5b2af6 Removed logic to set default urls for checkout
refs https://github.com/TryGhost/Team/issues/1067

Checkout success/cancel URLs are handled by the server, and should only
be passed if we particularly want a custom one!
2021-12-01 20:11:16 +02:00
Rishabh
f4fdda94e5 🐛 Fixed incorrect price shown for offer page with fixed discount
no refs

the fixed discount is only applied to offer if the offer currency matches with original price currency. The bug happened due to case difference between the offer and price currencies which should be compared case insensitive
2021-11-22 18:19:00 +05:30
Peter Zimon
351e34d74c Fixed trigger button opacity bug
Fixed trigger button bug of not being displayed in Portal settings with
certain themes (e.g. Edition) because of setting opacity to 1 with
inline CSS. Added condition to only set this property in preview mode.
2021-11-05 09:27:12 +01:00
Rishabh
b2827b3d9f Added loading screen while opening direct Stripe checkout
refs https://github.com/TryGhost/Team/issues/1184

When Portal tries to open Stripe checkout directly without any popup UI, since the time taken by checkout session to open can be few seconds it can cause invisible delay on the screen for user which is confusing. This change adds a loading popup while Stripe checkout session is loaded
2021-11-02 19:35:40 +05:30
Rishabh
399bbc0977 Updated fixtures for site used in tests
no refs
2021-11-02 19:35:40 +05:30
Rishabh
1dab76a274 Cleaned up mode utils 2021-11-02 19:35:40 +05:30
Heath Raftery
e419c3f868 Updated check for showing upgrade CTA in account welcome page (#182)
Co-authored-by: Heath Raftery <heath@newie.ventures>

- removes upgrade CTA if there are no paid plans available in portal to upgrade

Context:

When first configuring Portal, it is reasonable and straight-forward to connect a Stripe account as instructed, but then disable the paid tiers to delay presenting paid memberships until the site is mature enough to warrant paid memberships.

This results in a very functional Portal, which prompts for, processes and accepts free membership. After logging into a free account however, the Portal displays a call-to-action paragraph encouraging the user to upgrade to a paid account. Obviously this is confusing for the user, given that there are no paid options.

The result is no change for sites that have paid memberships, or do not have Stripe configured. But if the only membership plan is free, then the cta text is not added to the page, just as it would not be if Stripe was not configured or the subscription was complimentary or cancelled.
2021-11-02 11:13:40 +05:30
Rishabh
1a2c00d914 Updated duration in months for offer in preview mode
no refs
2021-10-22 01:57:13 +05:30
Rishabh
d818ca5c4b Updated maxlength attribute on field
no refs
2021-10-21 23:08:53 +05:30
Rishabh
52826b2324 Updated fixtures for tests
no refs
2021-10-21 23:05:04 +05:30
Rishabh
909b81e7e4 Updated tier label when multiple tiers is disabled
refs https://github.com/TryGhost/Team/issues/1162
2021-10-21 23:02:04 +05:30
Peter Zimon
dd6c9220af Offer screen refinements 2021-10-21 19:00:39 +02:00
Rishabh
d85755d91b Handled offer urls redirect to checkout when portal button is hidden
refs https://github.com/TryGhost/Team/issues/1162

- if portal button is hidden/disabled by site owner, portal offer urls redirect straight to checkout instead of opening portal offer detail screen
2021-10-21 00:50:58 +05:30
Rishabh
ac9a631fe3 Updated copy for offer renewal info on offer screen
refs https://github.com/TryGhost/Team/issues/1162

- updates renewal info based on offer duration and cadence
2021-10-20 20:21:57 +05:30
Rishabh
aef59ebf2b Ignored offer urls for paid members
refs https://github.com/TryGhost/Team/issues/1138

- paid members shouldn't see the offer detail UI as there is no clear path to upgrade for them from offer detail page at the moment
2021-10-19 13:22:52 +05:30
Rishabh
f3a861379a Updated default cadence to yearly for signups
closes https://github.com/TryGhost/Team/issues/1143

The most common pattern for signup pages when monthly and yearly plans are available is to have "yearly" as a default. Portal had default as monthly earlier, and is now changed to yearly
2021-10-18 23:57:26 +05:30
Rishabh
c100e18f05 Fixed lint
no refs
2021-10-18 23:40:05 +05:30
Rishabh
d20be44ba8 Updated checkout behavior for logged-in members
closes https://github.com/TryGhost/Team/issues/1165

- allows Stripe checkout to work for Portal direct checkout urls to monthly/yearly prices of a tier for logged-in members
2021-10-18 23:39:05 +05:30
Rishabh
aa96956320 Pre-filled name and email for free members on offer screen
closes https://github.com/TryGhost/Team/issues/1139

- also removes the signin alternate for logged-in members
2021-10-18 23:35:00 +05:30
Rishabh
6374b32f55 Updated price values to round off to 2 decimal places
refs https://github.com/TryGhost/Team/issues/1162
2021-10-18 23:11:08 +05:30
Rishabh
09e9432c20 Added checkout on offer page
refs https://github.com/TryGhost/Team/issues/1138
2021-10-18 19:17:17 +05:30
Rishabh
c13516e7e5 Fixed portal preview for offers
no refs
2021-10-18 16:34:10 +05:30
Peter Zimon
68b7608301 Optimised Offers title and description UI 2021-10-18 12:25:26 +02:00
Peter Zimon
b0027a79ab Fixed long names wrapping for product cards 2021-10-18 12:10:49 +02:00
Rishabh
e821710d80 Fixed lint
no refs
2021-10-18 15:10:29 +05:30
Rishabh
fd273ecdfe Removed unused LinkPage
no refs

Link page was originally added for usage in Admin, but has since been replaced by a Link page directly added via Admin and Portal version for it is no more used anywhere.
2021-10-18 15:05:28 +05:30
Rishabh
3b734f5c84 Removed uuid usage in favor of local object id generation
no refs
2021-10-18 14:25:06 +05:30
Rishabh
24f087ddf2 Fixed empty benefits UI for offer page
no refs
2021-10-18 14:24:12 +05:30
Rishabh
6e8e5e27bb Added preview handling for offers
refs https://github.com/TryGhost/Team/issues/1137

- Adds portal offers preview url handling on App load
- adds new `offerPreview` mode as a subset of preview mode to allow changes to Portal when offer preview is on
- loads offers screen with params from url for preview mode
- hide trigger button on portal offer preview
2021-10-18 14:22:53 +05:30
Peter Zimon
37e9255550 Fixed powered badge bug in preview 2021-10-18 10:37:58 +02:00
Peter Zimon
e1468b25ac Offers refinements 2021-10-15 16:04:54 +02:00
Peter Zimon
d1d0fa093f Further responsive style improvements 2021-10-15 15:15:37 +02:00
Rishabh
940725d978 Allowed offers page load with fixtures
no refs
2021-10-15 17:57:07 +05:30
Peter Zimon
7f0e55e7cf Responsive style improvements 2021-10-15 14:09:13 +02:00
Peter Zimon
a109538898 Fixed discount label wrapping bug 2021-10-15 13:36:18 +02:00
Rishabh
39441c7268 Updated offer detail page with real offer data
refs https://github.com/TryGhost/Team/issues/1139

- updates offer UI with offer data fetched via API
2021-10-15 11:35:49 +05:30
Rishabh
89ce25488c Wired offer endpoint to offer details page
refs https://github.com/TryGhost/Team/issues/1138

Updates Portal url for offer to fetch offer details from id and show new offer details page for non-paid members
2021-10-15 11:35:13 +05:30
Rishabh
61c387b293 Fixed plan tests
no refs
2021-10-14 23:10:34 +05:30
Rishabh
cd2e30a337 Fixed helper tests
no refs

- updated regex in get price id method to parse id
2021-10-14 22:54:25 +05:30
Rishabh
2076bb2af0 Cleaned up fixtures setup and usage
no refs

- updates fixtures file with fixture functions to easily generate test data
- adds `uuid` as dep to allow for reliably create unique ids for fixtures
2021-10-14 21:49:28 +05:30
Peter Zimon
fabb4ebc16 Added offers static data 2021-10-14 13:19:32 +02:00
Rishabh
e34cf74735 Added WIP offer page shell
refs https://github.com/TryGhost/Team/issues/1139

- adds basic offer page shell for offer screen development
2021-10-13 19:33:41 +05:30
Rishabh
2536204c71 🐛 Fixed broken portal link for yearly tier price signup
closes https://github.com/TryGhost/Team/issues/1142

Portal signup URLs for yearly plans of a tier were broken and resulted in "Failed to signup error", due to incorrect parsing of the yearly query.

- fixes regex for parsing yearly price id for tiers from portal url
- adds unit test to cover parsing of price id from page query
2021-10-13 13:12:35 +05:30
Rishabh
bb98d924f3 Updated account page fallback to signin for logged out members
closes https://github.com/TryGhost/Team/issues/1123

- on accessing `/account/*` page by logged-out member, we now fallback to show `signin` page instead of `signup`
2021-10-07 01:46:47 +05:30
Fabien O'Carroll
56d9a5c919 Made offerId & priceId exclusive when creating checkout
refs https://github.com/TryGhost/Team/issues/1090

This is required by the API
2021-10-06 16:56:51 +02:00
Rishabh
e9ed922f37 Added test for canceling member subscription on hidden tier
refs https://github.com/TryGhost/Team/issues/1119
refs ba592e891e

Canceling a member on a subscription which is not in list of portal products was throwing an error earlier, this test -

- covers cancel subscription flow for a member on hidden product subscription
- validates fix for above issue by checking confirmation screen correctly shows for cancellation
2021-10-05 14:00:37 +05:30
Rishabh
53e463aa4b Fixed subscription cancellation not working for hidden tiers
closes https://github.com/TryGhost/Team/issues/1119

- updates fetching price from all available products and not just those available to show on Portal
- handles missing price/product on Portal UI gracefully
2021-10-05 11:00:20 +05:30
Rishabh
63ca3a00f3 Added first version for offer redirects
refs https://github.com/TryGhost/Team/issues/1086

- fires stripe checkout for new Portal link for offers - `/#/portal/offers/OFFER_ID` as prototype
2021-09-28 16:43:56 +05:30
Rishabh
e6feb460c0 Fixed hidden products direct checkout via Portal links not working
no refs

- Portal links for direct stripe checkout were incorrectly ignoring products that were not included in portal product UI list
2021-09-27 22:32:24 +05:30
Rishabh
19a8f6abb9 Fixed react key warnings
no refs

- fixes key warnings from react by cleaning up key references across products and benefits
2021-09-27 20:03:56 +05:30
Rishabh
fc7f3432bd Fixed invalid metadata for ghost analytics
refs https://github.com/TryGhost/Team/issues/1061

- Stripe checkout metadata only accepts value as string for a key, and ghost_analytics was incorrectly attaching object for entry id and source url
2021-09-27 19:43:17 +05:30
Rishabh
d3295ccc13 Fixed incorrect event api response handling
no refs
2021-09-23 19:51:13 +05:30
Fabien O'Carroll
d82c15619d Used dedicated email address change endpoint
refs https://github.com/TryGhost/Ghost/security/advisories/GHSA-65p7-pjj8-ggmr

We were originally overloading the signup/signin flow for changing email
addresses, which was a security flaw because this route is
unauthenticated. This functionality has been removed and replaced with a
dedicated flow.
2021-09-22 16:37:32 +02:00
Rishabh
7e7cfb5227 Fixed entry url for view events
refs https://github.com/TryGhost/Team/issues/1062
2021-09-21 17:27:37 +05:30
Rishabh
25cb7dfd4d Added event metadata to member frontend requests
refs https://github.com/TryGhost/Team/issues/1061

Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.

This change passes the event metadata to member frontend requests which allows server to capture event information for member actions when the analytics is switched on.
2021-09-21 12:42:34 +05:30
Rishabh
5dff014c25 Attached member identity to analytic events
refs https://github.com/TryGhost/Team/issues/1062

- adds member identity to view events to attach member metadata on event
2021-09-21 11:58:57 +05:30
Rishabh
1c40c211f5 Added new alpha analytics script for capturing events
refs https://github.com/TryGhost/Team/issues/1063
refs https://github.com/TryGhost/Team/issues/1062

Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.

This change sets up new analytics script in portal if analytics is switched on, and fires post/page view event when a valid analytics id is found.
2021-09-20 15:11:54 +05:30
Rishabh
bfa91ee1ea Added alpha analytics api setup
refs https://github.com/TryGhost/Team/issues/1062

Member activity is a labs alpha feature which aims at capturing member events for site owner if switched on. The event metadata captures the site page/post where the event originates from, and the post/page id is included as content of new ghost analytics meta tag.

This change adds a new alpha API endpoint for pushing events to new ingress endpoint, which Portal's new analytics script can use to push events upstream.
2021-09-20 15:03:57 +05:30
Rishabh
14ca0e004b Added FirstPromoter referral information to Stripe checkout session when available
closes https://github.com/TryGhost/Team/issues/1038

- FirstPromoter integration needs the referral tracking id information as part of checkout session object to correctly attribute member referrals
- Adds `fp_tid` metadata key for FirstPromoter to correctly attribute paid signups
2021-09-13 13:41:11 +05:30
Sanne de Vries
94b2f58953 Fixed scrollbar showing up on Portal unnecessarily 2021-09-11 15:38:27 +02:00
Peter Zimon
de54f7de74 Updated copy for signup magic link popup 2021-09-09 13:56:03 +02:00
Rishabh
624a16ffad Updated last page context for magic link page
no refs

Allows Portal to determine if signup or signin page triggered the magic link flow in the page
2021-09-09 16:16:24 +05:30
Rishabh
5427943177 Fixed lint 2021-09-02 15:32:50 +05:30
Rishabh
1642afc25a Cleaned disabling input fields for preview mode
refs 7c3e724874

- extracts disable logic in preview mode to common component
2021-09-02 15:22:18 +05:30
Peter Zimon
7c3e724874 Disabling input fields in preview mode 2021-09-02 11:29:12 +02:00
Peter Zimon
8f4955e44d Fixed scrolling for Admin preview 2021-09-01 17:56:30 +02:00
Peter Zimon
0edb619630 Fixed spacing and shadow bug on signup 2021-08-20 14:40:15 +02:00
Peter Zimon
b0e3143d10 Updated breakpoints 2021-08-20 12:29:52 +02:00
Peter Zimon
3f66165bca Minor refinements on upgrade plan UI 2021-08-19 16:59:29 +02:00
Peter Zimon
5b0029b666 We finally found the perfect checkmark icon 2021-08-19 16:37:11 +02:00
Peter Zimon
8065e62856 Updated multi-tier card structure 2021-08-19 13:11:25 +02:00
Peter Zimon
da08cb844d Refined change plan and mobile sizes 2021-08-19 10:39:15 +02:00
Rishabh
66a2fc1e68 Added missing type to new change product section
refs https://github.com/TryGhost/Team/issues/877

- adds missing type to new change product section which caused CSS issues
2021-08-19 12:30:25 +05:30
Peter Zimon
1093436953 Refined multi-tier mobile UI 2021-08-18 17:30:57 +02:00
Peter Zimon
3210f5d346 Fixed change plan bug 2021-08-18 16:28:49 +02:00
Peter Zimon
e4e68f4526 Refined multi-tier discount label 2021-08-18 16:24:59 +02:00
Peter Zimon
ef38ff1132 Added more discoverable discount label 2021-08-18 16:21:11 +02:00
Peter Zimon
aa70a1b7b0 Removed automatic benefits 2021-08-18 14:07:38 +02:00
Rishabh
25971cf9b7 Refactored change plan page to new design
refs https://github.com/TryGhost/Team/issues/877

Refactors the change plan UI when a site has more than one product, using the Monthly/Yearly switch and the plan selection exactly how it's on the signup screen. To show the current plan, the M/Y switch is selected according to the user's subscription which lets us indicate the current price. To make the stacked prices lightweight, we also show benefits only for the price that is currently selected.
2021-08-18 12:37:16 +05:30
Peter Zimon
421654e491 Refined multiple tiers signup desktop UI 2021-08-17 17:56:24 +02:00
Peter Zimon
cf36bffe07 Fixed no-description bug 2021-08-17 15:03:45 +02:00
Peter Zimon
3300378843 Refined single product signup desktop size UI 2021-08-17 11:11:39 +02:00
Peter Zimon
9b5e57480d Refined description UI 2021-08-16 14:04:04 +02:00
Rishabh
ac33b47e7f Handled 204 API response for logged out member session
refs https://github.com/TryGhost/Team/issues/560

The endpoint `/members/api/session/` is used by Portal for fetching member session while setting up and redirecting to Stripe Checkout flow. The status code returned by API for logged out member is changed from 4xx Unauthorized to 204 No Content, which is consistent with member API response.
2021-07-30 10:29:46 +05:30
Peter Zimon
8fd452a055 Refined product styles 2021-07-12 15:00:16 +02:00
Peter Zimon
7fb558f00a Cleanup dev vs. preview environment CSS
- Cleaned up `preview` and `dev` environment CSS classes so that they are only added to the corresponding cases.
2021-07-12 14:48:00 +02:00
Rishabh
8c4bc2164b Fixed incorrect context member for logged out members
refs 859043e22e

- fixes context member incorrectly picking dev member state in some edge cases due to missing custom site url
- fixes complimentary member check to handle no member logged in
2021-07-09 07:03:53 +05:30
Rishabh
666fd36845 🐛 Fixed Portal links not working
refs 25389193f6

Fixes Portal link identification logic which was broken with updated regex for handling of new product specific plans
2021-07-09 06:32:08 +05:30
Rishabh
a114654e89 Reverted to bring back changes from 1.7.3
This reverts commit c2707d426a.
The changes for 1.7.3 were reverted as a temporary step due to a major bug in Portal link handling.
This commit brings back the changes followed by a patch for new release
2021-07-09 06:31:14 +05:30
Matt Hanley
c2707d426a Reverted changes from 1.7.3 2021-07-08 22:42:58 +01:00
Rishabh
25389193f6 Handled multiple products custom signup links
closes https://github.com/TryGhost/Team/issues/825

With multiple products, it's possible to link to any products from themes. The links area in Portal settings now handles signup links for multiple products. This change -

- updates portal to handle custom product monthly/yearly signup links - `signup/PRODUCT_ID/monthly` OR `signup/PRODUCT_ID/yearly`
2021-07-05 17:50:29 +05:30
Rishabh
6a68039334 Updated handling for complimentary member
no refs

With multiple products, its possible to assign a member complimentary product without active subscription.

- updates complimentary member helper to check for `paid` without subscription
- updates account home page to consider complimentary member without subscription
2021-07-02 15:20:05 +05:30
Rishabh
30491bf27b Fixed plan selection method prop passing on plan page
no refs
2021-07-02 09:15:32 +05:30
Rishabh
5e68ced56f Handled empty email input in data attributes
no refs
2021-07-02 09:13:21 +05:30
Rishabh
d2a3542bfb Fixed missing price data on member subscription
no refs

- update missing price data for member using existing plan data
2021-07-01 23:20:08 +05:30
Peter Zimon
38fba7936d Fixed single product benefit for mobile 2021-07-01 10:55:17 +02:00
Peter Zimon
63ea290da6 Updated product card width 2021-06-30 13:05:30 +02:00
Peter Zimon
48a52e942f Refined benefits 2021-06-30 12:43:40 +02:00
Rishabh
c0e69ea29b Fixed discount benefit for yearly plans
no refs

- adds missing `site` data for calculating yearly plan benefit with discount
2021-06-30 15:14:59 +05:30
Rishabh
bda6f36a3c Refined multiple product flows
closes https://github.com/TryGhost/Team/issues/835

- updates change flow to consider portal_plans setting
- updates confirm subscription screen to show product name
- removed discount benefit on yearly if only one plan
2021-06-29 21:26:58 +05:30
Peter Zimon
db12a9976f Refined signup footer for multiple products 2021-06-29 16:30:55 +02:00
Peter Zimon
0dd1637bdb Refined single product single price design 2021-06-29 15:53:21 +02:00
Peter Zimon
0d82697542 Refined change plan 2021-06-29 15:17:54 +02:00
Rishabh
e636542aa7 Refined desktop UI for change plan flow with multiple products
refs https://github.com/TryGhost/Team/issues/824

- updates desktop flow to match the mobile flow
2021-06-29 17:24:11 +05:30
Rishabh
d34d9c2489 Refined multiple products change plan flow
refs https://github.com/TryGhost/Team/issues/824

- updates the change plan flow for multiple products flag
- adds new plan components for change plan flow
- updates helpers
- updates fixtures
2021-06-29 17:12:53 +05:30
Peter Zimon
cdfbd18dbb Refined upgrade flow 2021-06-29 12:01:34 +02:00
Peter Zimon
594b951fb6 Refined mobile styles 2021-06-29 11:42:18 +02:00
Rishabh
fcf3dfce6a Refined upgrade flow for multiple products
refs https://github.com/TryGhost/Team/issues/823

- upgrade flow for multiple product reuses the UI from mobile signup page
- cleanup of helpers and components
2021-06-29 14:31:14 +05:30
Peter Zimon
d4f56d96a3 Refined singple product mobile sizes 2021-06-29 10:33:34 +02:00
Peter Zimon
e75a55bbea Single product benefits refinements 2021-06-29 10:22:03 +02:00
Rishabh
96a6f5d993 Updated benefits display for single product behind flag
refs https://github.com/TryGhost/Team/issues/796

- un-hides benefits on the mobile size for single product UI behind flag on signup
2021-06-29 12:30:49 +05:30
Rishabh
c3ead6703f Fixed default portal products in preview
no refs

- `portal_products` is used to determine the feature flag behavior for multiple products, so defaults to null if not passed
2021-06-29 12:18:23 +05:30
Rishabh
112a18bc0b Updated single product with feature flag signup UI
refs https://github.com/TryGhost/Team/issues/796

- adds new helper for explicit feature flag for multiple products
- updated single product signup ui to include benefits
- added new component for single product ui
2021-06-29 12:02:13 +05:30
Peter Zimon
8d4035a818 Single product benefits refinements 2021-06-28 16:03:51 +02:00
Rishabh
5d4e5aa4c8 Added hasBenefits helper to manage UI
no refs
2021-06-28 18:43:12 +05:30
Rishabh
d43998eb47 Added benefits to plans section
no refs
2021-06-28 16:22:10 +05:30
Rishabh
f8798952ac Updated benefits text to use name instead of title
no refs

- the benefits text is stored as `name` instead of `title`
2021-06-28 12:53:11 +05:30
Rishabh
cfdd8c93ca Updated portal products check for only multiple products
no refs
2021-06-28 11:07:23 +05:30
Rishabh
aabb02fc5f Filtered empty monthly/yearly prices in product
no refs

- in a rare scenario when monthly/yearly price comes as empty object, which happens if the price is missing in DB, this adds a guard to ignore the product than cause an error
2021-06-25 13:08:06 +05:30
Rishabh
0dcf06da99 Restricted Sentry event capturing to portal events
no refs

- updates Sentry's `beforeSend` method to restrict and send events originated by portal
2021-06-25 12:05:38 +05:30
Rishabh
4ae361f99a Updated Sentry release tag to include full version
no refs

Updates sentry release tag to include full Portal version from env variable
2021-06-25 09:42:06 +05:30
Rishabh
38202c1472 Added guard for missing contentDocument
no refs

- in a rare edge case, its possible that `contentDocument` is not available due to component unmount, guards against erroring in such scenarios
2021-06-24 21:47:31 +05:30
Rishabh
447d3571e8 Cleaned up benefits section for products
no refs
2021-06-24 21:08:00 +05:30
Rishabh
05999e0c81 Filtered portal script url for Sentry error reporting
no refs

By default, Sentry will pick up any uncaught error triggered from the site, which adds a lot of noise as we only want to listen to Portal specific errors. This change adds portal's unpkg script as the only allowed url for Sentry error reporting.
2021-06-24 21:01:23 +05:30
Peter Zimon
42eb39df0b Updated benefits for mobile sizes 2021-06-24 14:29:36 +02:00
Peter Zimon
435e9059bc Show benefits only if they exist 2021-06-24 14:16:35 +02:00
Peter Zimon
12599c282a Updated mobile sizes for benefits 2021-06-24 14:10:37 +02:00
Peter Zimon
ab60eed6fe Refined list of available products (upgrade) 2021-06-24 14:10:37 +02:00
Rishabh
aa9818ed83 Fixed price check for complimentary member
no refs
2021-06-24 16:53:24 +05:30
Rishabh
4fdcd9c4d0 Fixed product filtering for available products
no refs
2021-06-24 13:55:02 +05:30
Rishabh
7fe377d29a Updated plan upgrade UI for multiple products
refs https://github.com/TryGhost/Team/issues/767

- updates plan upgrade page to use multiple products UI if available
- filters products based on active currency if logged in member
2021-06-24 13:23:57 +05:30
Rishabh
21d1c1b9e8 Cleaned site and product helper usage
no refs

- cleans up helpers for site and products to more consistent and predictable usage
2021-06-24 13:21:16 +05:30
Rishabh
2af648e84f Fixed plan page tests
no refs
2021-06-22 12:40:16 +05:30
Rishabh
0535fab865 Added Sentry for error tracking
no refs

- adds sentry setup if Sentry DSN is available via Ghost config for better error tracking
2021-06-22 12:16:49 +05:30
Rishabh
4db821f9ee Fixed lint
no refs
2021-06-21 19:46:12 +05:30
Peter Zimon
75d0b40be8 Added benefit fixtures (alpha) 2021-06-21 15:32:55 +02:00
Rishabh
40e86e0a77 Added default product selection handling
refs https://github.com/TryGhost/Team/issues/767

- updates product selection if first available product's id changes between renders
2021-06-21 18:47:40 +05:30
Rishabh
b7d644cc66 Updated available site prices based on products
refs https://github.com/TryGhost/Team/issues/768

- updates available prices data based on available products
- updates available products to check portal products (which is behind a flag)
2021-06-21 18:47:40 +05:30
Peter Zimon
134d6a756a Refined spacing for desktop product card 2021-06-21 14:39:21 +02:00
Rishabh Garg
a8f6ea6aa9 Added portal products handling (#151)
refs https://github.com/TryGhost/Team/issues/768

- handles new `portal_products` to filter products shown on Portal UI (behind the flag for multiple products)
2021-06-21 14:37:53 +05:30
Rishabh
fda3726b93 Fixed lint
no refs
2021-06-20 13:32:46 +05:30
Joakimk
b80ab90d61 Updated dateString method to use cleaner toLocaleDateString (#144)
no refs

- Updates `getDateString` method to use `toLocaleDateString` which is cleaner and shorter with same result
2021-06-20 13:30:46 +05:30
Rishabh
097dfe4452 Handled available Products based on prices
refs https://github.com/TryGhost/Team/issues/767

- takes into account available prices to decide if multiple products screen needs to be shown
2021-06-17 17:18:34 +05:30
Rishabh
d91cd4240e Handled active interval for Products section
refs https://github.com/TryGhost/Team/issues/767

- handles active interval for product section based on available prices as well as switch
2021-06-17 17:17:39 +05:30
Rishabh
3a8e31f065 Handled portal plans selection in products list
refs https://github.com/TryGhost/Team/issues/767

- Portal products UI updates to the available prices from monthly/yearly in list
2021-06-17 14:08:44 +05:30
Rishabh
596cef4df7 Removed unused prop-types dependency
no refs
2021-06-16 20:58:44 +05:30
Rishabh
9061d40c6e Fixed plan name to monthly/yearly by interval
no refs

- Reverts using hardcoded monthly/yearly plan name on Portal UI instead of using the price nickname
2021-06-16 16:07:39 +05:30
Peter Zimon
9acb194214 Fixed signup grid for mobile 2021-06-15 13:44:05 +02:00
Rishabh
37295e32e9 Updated dynamic styling of product grid
refs https://github.com/TryGhost/Team/issues/767

- adds dynamic calculation of frame styles based on site data
- handles product grid style based on no of products available
2021-06-14 20:31:25 +05:30
Rishabh
47c3367396 Updated free product handling in list
refs https://github.com/TryGhost/Team/issues/767

- free product is shown based on other site settings like `allowSelfSignup` and `portalPlans`
- fixed product/price selection to handle selected interval
- updated default product/price handling
2021-06-14 20:13:15 +05:30
Peter Zimon
5e13f964bc Signup product grid update 2021-06-14 13:33:15 +02:00
Rishabh
c98ab9981a Handled price selection for multiple products
refs https://github.com/TryGhost/Team/issues/767

- updated list of site prices to use all prices from products
- handled price selection in product section
2021-06-14 13:55:11 +05:30
Rishabh
d7c645f71a Removed deprecated NODE_PATH usage in tests
no refs

Using NODE_PATH is deprecated in future versions of Create React App in favor of using jsconfig.json , this change removes files relying on NODE_PATH and uses relative path instead till we update usage to jsconfig in future as needed.
2021-06-14 11:55:09 +05:30
Peter Zimon
298ada96a2 Minor mobile refinements 2021-06-11 16:29:57 +02:00
Peter Zimon
06817969bb Mobile footer refinements 2021-06-11 16:10:41 +02:00
Peter Zimon
45147cacb2 Multiple products responsive UI 2021-06-11 16:03:35 +02:00
Peter Zimon
f94435dab5 Multiple products desktop UI
Lots of refinement for the desktop multiple products Portal signup and signin page. Alpha version.
2021-06-11 14:56:44 +02:00
Rishabh
fc0ef9d164 Fixed lint errors
no refs
2021-06-11 14:06:16 +05:30
Rishabh
950495c836 Updated product selection to work on full card
refs https://github.com/TryGhost/Team/issues/767

- handles product selection on full product card instead of just small surface area on checkbox
- removes dummy product card method
2021-06-11 14:03:20 +05:30
Rishabh
55298cd999 Sorted products by monthly price amount
refs https://github.com/TryGhost/Team/issues/767

- sorts list of products from site by their monthly price amount
2021-06-11 12:55:50 +05:30
Rishabh
1b1133cd47 Updated default product fixtures
refs https://github.com/TryGhost/Team/issues/767

- cleans up default set of products available in fixtures for easy testing
2021-06-11 12:55:24 +05:30
Rishabh
42c8a481c5 Removed dummy products component
no refs

- comments out the dummy products component till needed again for UI development
2021-06-11 12:46:57 +05:30
Rishabh
33adaedc97 Cleaned fixtures data
no refs

- cleans up the products/prices passed to fixtures
2021-06-11 12:45:06 +05:30
Rishabh
8d7988a334 Wired UI for multiple products with site data
refs https://github.com/TryGhost/Team/issues/767

- wires real products data from site/fixtures to multiple products UI
- adds new helpers to manage price display/UI
- cleans up switch default params to clear type errors
2021-06-11 12:41:36 +05:30
Rishabh
7a65caa806 Updated fixtures for products
refs https://github.com/TryGhost/Team/issues/718

- updates `products` fixture to match API and include monthly/yearly price
2021-06-11 12:39:00 +05:30
Rishabh
5ebfbb79a7 Fixed multiple products check helper method
no refs

- fixes incorrect condition in helper that determines if Portal has multiple products or single from site
2021-06-11 12:38:02 +05:30
Rishabh
8d51bc20f0 Fixed tests
no refs
2021-06-11 12:33:45 +05:30
Peter Zimon
5516e348af Alpha version of multiple products
- added Products grid component to signup page with static data
- separate signup design between single vs. multiple products
- alpha!
2021-06-10 17:26:10 +02:00
Rishabh
859043e22e Updated dev mode check with custom site url
no refs

- takes advantage of new dev script by loading Portal in dev mode on ghost site with full features
- restricts some dev mode features only if no custom site url is passed, which is expected with fixture development
2021-06-10 15:26:32 +05:30
Rishabh
a73a04034b Added logic for introducing multiple products
refs https://github.com/TryGhost/Team/issues/767

- Adds new helper to switch UI for multiple products
- Cleans up fixtures
2021-06-09 20:51:18 +05:30