Commit Graph

103 Commits

Author SHA1 Message Date
Michael Barrett
7f9ba46ab6
Fixed data-members-newsletter when used with checkboxes (#18041)
no refs

When `data-members-newsletter` was used with checkboxes, if no
checkboxes were selected then the backend would subscribe the member to
the default newsletters which is not what we want - We want to subscribe
the members only to the newsletters they have selected
2023-09-08 14:12:16 +00:00
Michael Barrett
b472ffb39b
Fixed invalid selector for data-members-newsletter attribute (#18039)
no refs

Fixed invalid selector for `data-members-newsletter` attribute
2023-09-08 13:21:56 +00:00
Princi Vershwal
963d4002cd
Added support for selectable newsletters in custom sign up-forms (#18030)
refs https://github.com/TryGhost/Product/issues/3836
2023-09-08 18:30:07 +05:30
Simon Backx
c08538ba84
Released Portal v2.35.2 (#18031) 2023-09-08 11:07:20 +00:00
Simon Backx
669be72673
Wired up pagination to recommendations (#18018)
fixes https://github.com/TryGhost/Product/issues/3822
fixes https://github.com/TryGhost/Product/issues/3838

This PR became a bit big because it affected multiple parts of Ghost
that needed to be updated to prevent breaking anything.

### Backend
- Added pagination to the recommendations API's
- Updated BookshelfRepository template implementation to handle
pagination
- Allow to pass `page` and `limit` options to Models `findAll`, to allow
fetching a page without also fetching the count/metadata (=> in the
repository pattern we prefer to fetch the count explicitly if we need
pagination metadata)
- Added E2E tests for public recommendations API (content API)
- Extended E2E tests of admin recommendations API

### Portal
- Corrected recommendations always loaded in Portal. Instead they are
now only fetched when the recommendations page is opened.

### Admin-X
- Added `usePagination` hook: internally used in the new
`usePaginatedQuery` hook. This automatically adds working pagination to
a query that can be used to display in a table by passing the
`pagination` and `isLoading` results to the `<Table>`
- Added placeholder `<LoadingIndicator>` component
- Added a loading indicator to `<Table>`. This remembers the previous
height of the table, to avoid layout jumps when going to the next page.
2023-09-08 12:32:06 +02:00
Princi Vershwal
83282ca4cd
Added checks for subscription to multiple newsletter through custom sign up form (#17994)
refs https://github.com/TryGhost/Product/issues/3810

---------

Co-authored-by: Michael Barrett <mike@ghost.org>
2023-09-07 18:27:32 +01:00
Michael Barrett
b70fd30a39
Add ability to specify newsletter in a custom sign-up form (#17956)
refs https://github.com/TryGhost/Product/issues/3809

When an input is added to a custom sign-up form with the attribute
`data-members-newsletter`, the value of the input will be used as the
newsletter to subscribe the member to.
2023-09-07 16:31:14 +01:00
Simon Backx
6e7089e58a
Fixed loading of invalid recommendation icons and feature images (#18011)
fixes https://github.com/TryGhost/Product/issues/3811 
fixes https://github.com/TryGhost/Product/issues/3829
2023-09-07 12:30:59 +02:00
Simon Backx
8f618c7b5c Updated Portal tests 2023-09-07 10:29:43 +02:00
Simon Backx
afeb9579b5 Released Portal v2.35.1 2023-09-07 10:29:43 +02:00
Simon Backx
d1c6bfefbc Fixed direct subscribe links broken
refs https://github.com/TryGhost/Product/issues/3770

- Site is not always defined, so the things broke when using the signup action without a defined site, where it wants to read the recommendations_enabled setting
- Fixed this by removing the welcome page and looking for the existing query params instead
2023-09-07 10:29:43 +02:00
Simon Backx
2497a665b2 Released Portal v2.35.0 2023-09-06 17:33:42 +02:00
Simon Backx
f71c074d31
Added one-click-subscribe detection (#17995)
fixes https://github.com/TryGhost/Product/issues/3820

- This adds a new public site endpoint in the members API to check if a
site can offer the one-click-subscribe feature
- This is implemented on the members API as a copy of the `site`
endpoint because the admin API site endpoint is protected by CORS and
mainly because it can be served on a different domain than the
recommended site and this is hard to detect reliably from the frontend
- Added a new calculated setting `allow_self_signup`, which can replace
the setting that is currently used in Portal (best to do this after a
release otherwise we risk creating issues if a patch release happens)
2023-09-06 15:11:14 +00:00
Simon Backx
448e91d916
Fixed notification and showing of recommendation modal (#17991)
refs https://github.com/TryGhost/Product/issues/3771

- Don't show a notification if the recommendation modal is shown
- Don't show the recommendation modal if there are no recommendations
2023-09-06 12:01:27 +00:00
Sag
8f272e730b
Updated recommendation modal copy when triggered after signup (#17985)
refs https://github.com/TryGhost/Product/issues/3771
2023-09-05 18:50:34 +00:00
Djordje Vlaisavljevic
9e1b11f26e Added Close button to Recommendations modal
refs https://github.com/TryGhost/Product/issues/3824
2023-09-05 16:06:53 +01:00
Djordje Vlaisavljevic
8efeb20ae8 Updated heading copy
refs https://github.com/TryGhost/Product/issues/3771
2023-09-05 11:58:58 +01:00
Djordje Vlaisavljevic
ff1b256ff5 Improved design when Recommendation doesn't have a reason
refs https://github.com/TryGhost/Product/issues/3814
2023-09-05 11:58:58 +01:00
Sag
a017596a1d
Added a random order and a limit of 5 to the Recommendations modal (#17958)
refs https://github.com/TryGhost/Product/issues/3815

- recommendations are rendered in a random order, using Fisher-Yates
shuffle
- only 5 recommendations are rendered by default, the other ones are
hidden behind a "Show all" button
- recommendations are fetched all at once from the backend, as we assume
there won't be more than 100-ish recommendations per publication
2023-09-04 19:05:32 +02:00
Sag
d7504bdbf5
Added recommendation modal trigger on signup (#17925)
refs https://github.com/TryGhost/Product/issues/3771

- if recommendations are enabled, render the recommendation modal on
sign up, in Portal
- for free signups, the recommendations modal is rendered after clicking
on the magic link
- for paid signups, the recommendations modal is rendered after Stripe
Checkout
- the recommendations modal is not rendered on a free to paid upgrade
2023-09-04 14:35:56 +00:00
Daniel Lockyer
c6cb35074a Updated linting and testing packages 2023-09-01 15:51:17 +02:00
Sag
f56c36ca24
Wired up recommendations in Portal (#17888)
closes https://github.com/TryGhost/Product/issues/3796
refs https://github.com/TryGhost/Product/issues/3770

- also added a public endpoint for Recommendations in the Content API
2023-08-31 10:07:49 +00:00
Djordje Vlaisavljevic
69a6388009 Updated Recommendations list design in Portal
refs https://github.com/TryGhost/Product/issues/3770
2023-08-31 10:47:32 +01:00
Sag
62172fb883
Added basic Recommendations modal (#17877)
refs https://github.com/TryGhost/Product/issues/3770
2023-08-30 15:24:04 +00:00
renovate[bot]
d418a431be Update sentry-javascript monorepo to v7.66.0 2023-08-30 14:00:40 +02:00
renovate[bot]
24300120c2 Update dependency vitest to v0.34.3 2023-08-29 18:52:13 +01:00
Daniel Lockyer
1ca8dcc836 Released Portal v2.34.4 2023-08-29 08:59:11 +01:00
renovate[bot]
228b497076 Update dependency @babel/eslint-parser to v7.22.11 2023-08-29 08:25:12 +01:00
renovate[bot]
1a44d8106b Update sentry-javascript monorepo to v7.65.0 2023-08-28 19:06:53 +01:00
Simon Backx
e9703f6a15
Extended translations beta to comments (#17801)
refs https://github.com/TryGhost/Product/issues/3504
2023-08-24 10:33:03 +02:00
Chris Raible
851981ac1d
Released Portal 2.34.3 (#17808)
no issue

- this version allows use of the /signup/free link even if the free plan
is hidden from portal
2023-08-23 12:37:26 -07:00
Michael Barrett
a69841a465
🐛 Fixed member signup from offer when terms are not specified (#17795)
fixes https://github.com/TryGhost/Product/issues/3753

The validation for the terms checkbox was being executed when the terms
checkbox was not being rendered. The validation checks needed to be
updated to account for if the checkbox was rendered or not. Basically
the same as this:
45a70a3f4c
2023-08-23 13:25:26 +01:00
renovate[bot]
f9589ff7bd Update dependency vitest to v0.34.2 2023-08-23 11:45:02 +01:00
renovate[bot]
26bdba9d4c Update dependency concurrently to v8.2.1 2023-08-22 17:39:36 +01:00
Chris Raible
629aa08262
🐛 Fixed portal free signup link not working if free plan is hidden (#17742)
refs TryGhost/Product#3743

- Users should be able to hide the free plan from Portal, which removes it as an option on the main portal /signup page
- However, they should still be able to use the /signup/free link to allow members to signup for the free plan. Currently if the free plan is hidden from portal, the /signup/free link renders the main /signup page, with only paid plans available.
- This PR fixes that by allowing the /signup/free link to work even if the free plan is hidden from portal, but only by directly accessing the /signup/free link
2023-08-17 14:58:37 -07:00
renovate[bot]
bed89b7bec Update sentry-javascript monorepo to v7.64.0 2023-08-15 12:17:01 +02:00
Sag
06d6078731
Published Portal v2.34.2 (#17719)
no issue

- this version contains the latest changes for the Tips & Donations
feature
2023-08-15 09:54:34 +00:00
renovate[bot]
8dc4923041 Update babel monorepo to v7.22.10 2023-08-14 12:06:20 +02:00
renovate[bot]
9f2fac34ad Update sentry-javascript monorepo to v7.63.0 2023-08-11 09:27:14 +02:00
Sag
67426d5c35
Added a separate error flow for when Tips & Donations are disabled (#17625)
refs https://github.com/TryGhost/Product/issues/3686
2023-08-10 17:32:44 +02:00
Sag
82851aaa4a
Published Portal 2.34.1 (#17680)
refs https://github.com/TryGhost/Product/issues/3661

- this version contains WIP changes for the Tips & Donations feature
2023-08-10 14:12:25 +00:00
Sag
4ace11a441
Added logic to load Portal when Tips & Donations are enabled (#17659)
closes https://github.com/TryGhost/Product/issues/3661

- until now, Portal was not loaded if members were disabled. With the
introduction of Tips & Donations, signed-off readers can also make
payments, using the Portal link /#/portal/support.
- now, Portal is loaded when Tips & Donations are enabled, even if
Memberships are disabled
- depending on the member signup access, the top bar / trigger button
Portal buttons are hidden as before (signup/subscribe hidden if access is set to none, subscribe hidden if
access is set to invite-only)
- for any other signup / signin Portal links (e.g., added by the theme,
or added via a Post/Page), a new popup informs the reader when
Memberships are disabled: "Memberships unavailable, contact the site
owner for access".
2023-08-10 15:45:02 +02:00
Simon Backx
658f0a65e6
Fixed Portal temporary donation link saved in browser history (#17677)
no issue

- When clicking back button in the browser when on the checkout page,
will not open Stripe again
- Does not open Stripe checkout in peek and pop mode in Arc
2023-08-10 12:41:56 +00:00
Sag
6cfa4bb6e8
Revert "Added logic to load Portal when Tips & Donations are enabled" (#17655)
no issue

- this reverts commit b95c8275f2
- browser tests needs to be fixed
2023-08-09 13:53:17 +00:00
Sag
b95c8275f2
Added logic to load Portal when Tips & Donations are enabled (#17634)
closes https://github.com/TryGhost/Product/issues/3661

- until now, Portal was not loaded if members were disabled. With the
introduction of Tips & Donations, signed-off readers can also make
payments, using the Portal link /#/portal/support.
- now, Portal is loaded when Tips & Donations are enabled, even if
Memberships are disabled
- depending on the member signup access, the "sign in" / "subscribe"
Portal buttons are hidden (both hidden if none, signup hidden if
invite-only)
- for any other signup / signin Portal links (e.g., added by the theme,
or added via a Post/Page), a new popup informs the reader as such when
Memberships are disabled: "Memberships unavailable, contact the site owner for access".
2023-08-09 12:44:07 +00:00
renovate[bot]
0424915a31 Update dependency @vitejs/plugin-react to v4.0.4 2023-08-09 11:43:08 +02:00
renovate[bot]
1353b04c9d Update dependency vite-plugin-css-injected-by-js to v3.3.0 2023-08-09 11:28:50 +02:00
renovate[bot]
98dc4d7b06 Update dependency vite to v4.4.9 2023-08-09 10:09:03 +02:00
renovate[bot]
9f85124a2e Update dependency vitest to v0.34.1 2023-08-09 09:54:48 +02:00
renovate[bot]
ca7d829915 Update dependency vite to v4.4.8 2023-08-09 09:50:54 +02:00