Commit Graph

6764 Commits

Author SHA1 Message Date
Kevin Ansfield
6b6f220300 Fixed tests
no issue

- added basic products mocked endpoint
- fixed error when extracting filter param when filter is empty
2021-05-10 21:02:54 +01:00
Kevin Ansfield
95b450d412 Fixed linting 2021-05-10 20:38:07 +01:00
Kevin Ansfield
3e4b9a6865 🎨 Updated post settings menu visibility option to support member segments
https://github.com/TryGhost/Team/issues/581

The API now supports `posts.visibility` being an NQL string as well as the special-case `'members'` and  `'paid'` values so the post settings menu visibility select needs to be updated to reflect that.

- swapped visibility dropdown for two radio buttons, "Public" and "Members-only" which uses the `<GhMembersSegmentSelect>` component
- updated post model to use a `visibility-string` transform
  - converts `members` and `paid` to/from the NQL equivalent for correct display in the segment select
- updated post model with two additional properties `isPublic` and `visibilitySegment`
  - `isPublic` helps with the radio button display
  - `visibilitySegment` allows fallback to the default content visibility setting when set to public
- added validation for `post.visibility` so we can show an error and skip saving when members-only is selected and the segment select is cleared
- deleted the now-unused `<GhPsmVisibilityInput>` component
2021-05-10 20:34:23 +01:00
Peter Zimon
c47be38785 Updated site wizrd copy 2021-05-10 21:16:33 +02:00
Rishabh
2862d68f99 Fixed add price not erroring on empty amount
refs https://github.com/TryGhost/Team/issues/641

Updated error handling for empty amount on price modal
2021-05-11 00:18:45 +05:30
Rishabh
d3ac517056 Updated set pricing wizard if custom price exists
no refs

If a custom price is already set before completing the wizard, the set pricing wizard hides the UI to create default custom prices as it doesn't make sense and instead shows a custom message.
2021-05-11 00:17:28 +05:30
Rishabh
67d0c94c40 Removed dev experiment flag for custom products
closes https://github.com/TryGhost/Team/issues/672

Custom products and prices were behind dev experiment flag as it was under active development over last couple of releases. Now that its coming out of development, this removes the dev flag for custom products changes.
2021-05-10 23:38:47 +05:30
Rishabh
c449e32121 Cleaned add subscription prices for member details
closes https://github.com/TryGhost/Team/issues/678
closes https://github.com/TryGhost/Team/issues/681

The prices in "Add subscription" modal should follow the same ordering as on the product detail screen, ie. currency, amount. Also, we only want to allow adding subscriptions for active prices, so the list is filtered on that. Since a Stripe customer is not allowed to have subscriptions in multiple currencies, this also filters the available currency prices based on any active subscription for a member.
2021-05-10 22:25:01 +05:30
Rishabh
d3efc29f08 Added error handling for price modal
refs https://github.com/TryGhost/Team/issues/678

Covers error handling for missing name/amount/billing period for a price modal when adding a new price or editing existing price.
2021-05-10 20:59:05 +05:30
Rishabh
42463e4fdd Added error handling for product details page
refs https://github.com/TryGhost/Team/issues/678

Product name is a mandatory field for a custom product, this change adds error handling on save and custom error message if product is attempted to save without name.
2021-05-10 19:18:30 +05:30
Rishabh
76319c2717 Updated price description to sentence case
closes https://github.com/TryGhost/Team/issues/680

We use sentence case for labels everywhere, updating price descriptions to use the same.
2021-05-10 18:48:39 +05:30
Naz
a1aa9be287 Fixed hardcoded limit error message
refs https://github.com/TryGhost/Team/issues/588

- When the email limit was reached the hardcoded "members" error message was shown. Have changed implementation of the upgrade modal to take the "message" coming from the server into account
2021-05-10 15:04:10 +04:00
Renovate Bot
be60133f13 Update dependency eslint to v7.26.0 2021-05-10 01:17:31 +00:00
Rishabh
f3766091bd Disabled price actions on product save
no refs

Disables Edit/Archive actions on a price while an active save is ongoing for Product to avoid unwanted states due to multiple saves being called.
2021-05-09 23:28:44 +05:30
Rishabh
b762d3a873 Fixed price amount changing on save
no refs

On (un)archiving a price, the visible amount for a price fluctuated till the save was completed due to incorrect amount calculation, fixed here.
2021-05-09 23:27:16 +05:30
Rishabh
fab98939fd Updated sorted price list in product details
refs https://github.com/TryGhost/Team/issues/641

By default, the prices list for a Product will be now shown sorted based on this order -> Active -> Currency -> Amount.
2021-05-09 18:22:42 +05:30
Rishabh
575f85a8ca Added default description to prices
refs https://github.com/TryGhost/Team/issues/641

When default prices are created via the setup wizard, this adds a default description for Monthly and Yearly prices that mimics the values set for them currently in Portal.
2021-05-09 17:36:45 +05:30
Kevin Ansfield
d00d1c2052 Removed unnecessary options from default email recipients setting
refs https://github.com/TryGhost/Team/issues/496

- all/free/paid are selectable via the segment select
- radio buttons should be kept to 3-4 max
- fixed pluralisation of member count below member segment when only 1 member is selected
2021-05-08 12:21:22 +01:00
Renovate Bot
d5e7d6cac1 Update dependency eslint-plugin-ghost to v2.2.0 2021-05-07 17:53:14 +00:00
Rishabh
d2c82c8d27 Fixed signup link for Portal prices
refs https://github.com/TryGhost/Team/issues/643
refs dd75d831c0

Last commit had incorrectly formatted the signup links for custom prices, fixed.
2021-05-07 22:59:59 +05:30
Rishabh Garg
5d598d5e50 Wired free membership settings to API (#1949)
refs https://github.com/TryGhost/Team/issues/637

With custom products it's possible to change the name and description of any price. This assumes that people would want to change the same properties of a Free membership, and wires up the values for free membership price settings to API


Co-authored-by: Peter Zimon <zimo@ghost.org>
2021-05-07 22:46:35 +05:30
Peter Zimon
6f6951700b Refined Portal links UI details 2021-05-07 19:15:04 +02:00
Rishabh
dd75d831c0 Updated Portal links to show dynamic prices
refs https://github.com/TryGhost/Team/issues/643

Currently, the whole setup for choosing plans is built around hardcoded `monthly` / `yearly` which is also exposed in the Portal links/data attributes. Since we now have custom prices, this updates the UI to show links/attributes for all available custom prices and allowing them to function via their price ids.
2021-05-07 22:08:54 +05:30
Peter Zimon
af5b053aab Removed welcome page settings from Portal settings UI 2021-05-07 18:36:39 +02:00
Peter Zimon
8eee71f2d6 Refined archive/unarchive prices 2021-05-07 17:45:59 +02:00
Peter Zimon
ad41a44620 Removed prices from payment settings 2021-05-07 17:10:28 +02:00
Peter Zimon
a94f27bbc0 Removed 'Add price' button when not connected to Stripe 2021-05-07 17:10:28 +02:00
Sanne de Vries
b6cfe7ed7c Updated publishmenu styles
Refs https://github.com/TryGhost/Team/issues/581
2021-05-07 15:59:32 +02:00
Rishabh
c53e0fce77 Added handling for active prices
refs https://github.com/TryGhost/Team/issues/665

- Allows (un)archiving of prices
- Filters Portal settings on active prices only
2021-05-07 19:14:22 +05:30
Daniel Lockyer
998d42fc33 ⬆️ Bumped minimum Node version to 12.22.1 and 14.16.1
refs https://nodejs.org/en/blog/vulnerability/april-2021-security-releases/

- these are the latest security releases and we should encourage people
  to upgrade to them
- also replaces Node 12 in the tests with Node 14 as this is soon our
  recommended version
2021-05-07 14:10:26 +01:00
Peter Zimon
4a7f313282 Updated portal copy 2021-05-07 14:13:53 +02:00
Kevin Ansfield
0642a8b3cc Fixed email segment selector counts not taking subscription status into account
refs https://github.com/TryGhost/Team/issues/496
refs https://github.com/TryGhost/Team/issues/581

- added ability to pass an enforced filter to the segment count component
- used the enforced filter to add `subscribed:true` to segment counts where we're counting the number of members that would receive an email
2021-05-07 12:04:01 +01:00
Kevin Ansfield
0caa539330 Added label and product options for email recipients (#1947)
refs https://github.com/TryGhost/Team/issues/581
requires https://github.com/TryGhost/Ghost/pull/12932

- added segment option and select to default newsletter recipients setting
- updated segment selector to fetch labels/products and show as options
- updated segment selector and count component to call an action when count changes so we can use it in the email confirmation modal
- removed usage and mapping of older `'none'`, `'all'`, `'free'`, and `'paid'` email recipient filter values
2021-05-07 11:58:05 +01:00
Rishabh
e066fb5345 Reverted "Added home redirect for pricing wizard"
This reverts commit 0cf2fc9c24.

Hiding the launch wizard when there are existing prices causes an annoying flicker on the dashboard everytime we reload the page or navigate away. Instead of handling this client side, we'll push up the logic to hide the wizard on server.
2021-05-07 16:15:29 +05:30
Kevin Ansfield
fa454a8e47 Hid segment count for non-admins
refs https://github.com/TryGhost/Team/issues/496
refs https://github.com/TryGhost/Team/issues/581

Only owners and admins have browse access to members so they are the only ones able to fetch member counts. Don't render segment counts if there's no permission because we'll get errors back from the API and the count will be useless.
2021-05-07 10:25:44 +01:00
Rishabh
0cf2fc9c24 Added home redirect for pricing wizard
refs https://github.com/TryGhost/Team/issues/644

In case the prices are already set for the default product, its confusing to have the launch wizard show the price setup again. We remove the wizard completely if the prices are already created for the default product.
2021-05-07 14:34:59 +05:30
Kevin Ansfield
da49dc4922 Added default newsletter recipients setting (#1946)
refs https://github.com/TryGhost/Team/issues/496
reqs https://github.com/TryGhost/Ghost/pull/12925

The publish menu was meant to default to matching post visibility but that wasn't working consistently and didn't make sense for sites which don't email every post to their members.

A "Default newsletter recipients" option has been added to the "Email newsletter" settings screen and the publish menu updated to reflect the option. The free/paid toggles in the publish menu have also been swapped out for a multi-select style component that will cater to more complex member segmentation.
2021-05-07 10:02:19 +01:00
Peter Zimon
09b50995ec Removed subscription count from pricelist 2021-05-07 10:56:10 +02:00
Peter Zimon
764aa9a132 Updated product description on Product list screen 2021-05-07 10:26:58 +02:00
Rishabh
6bdc1c85e0 Wired welcome page UI to settings API
refs https://github.com/TryGhost/Team/issues/611

The UI for welcome page for paid signups is moved from Portal settings to Product page, this change wires up the new UI to the settings API as in Portal settings to function correctly
2021-05-06 22:28:34 +05:30
Peter Zimon
f4a4ef52fd Fixed select dropdown UI bug 2021-05-06 18:33:08 +02:00
Peter Zimon
897acb1909 Updated select style 2021-05-06 18:28:23 +02:00
Peter Zimon
4f16d2cf16 Updated subscription action menu button 2021-05-06 18:24:08 +02:00
Peter Zimon
e6dd0ee56b Removed product from add subscription modal 2021-05-06 18:16:56 +02:00
Peter Zimon
ccf2dff413 Added welcome page UI to product details 2021-05-06 17:40:29 +02:00
Peter Zimon
be30046419 Updated member detail screen for custom products
- added "Add subscription" button to product list
- copy updates
2021-05-06 17:13:08 +02:00
Rishabh
ea49c4d89c Fixed paid signup input in portal setting
refs https://github.com/TryGhost/Team/issues/637

The paid signup setting was incorrectly still checking only for Monthly and yearly prices instead of custom prices list to show the paid signup input.
2021-05-06 17:55:27 +05:30
Kevin Ansfield
7b340929ef Refactored members email settings screen
no issue

- simplified query params as they are only used to display a notification
  - removed all controller knowledge and associated reset behaviour for query params
  - moved notification display from `setupController` to `beforeModel` so the raw query params can be pulled off of the transition object
- removed unused service injections from `<GhMembersEmailSetting>`
- removed unused service injections and properties from members-email controller that were left over from a copy/paste
- converted members-email controller to a native class
- fixed "leave settings" confirmation modal behaviour that wasn't moved across in the the settings screen re-org
2021-05-05 16:59:26 +01:00
Peter Zimon
284b012083 Member activity list refinements 2021-05-05 17:46:50 +02:00
Renovate Bot
015ab8cec0 Update dependency fs-extra to v10 2021-05-05 16:37:02 +01:00