Commit Graph

2302 Commits

Author SHA1 Message Date
Kevin Ansfield
f6a82b0099 Added pricing setup to launch site wizard
refs https://github.com/TryGhost/Team/issues/450

- duplicated and refactored/updated members pricing settings UI from labs to the "set pricing" step of the launch site wizard
2021-01-20 15:49:14 +00:00
Kevin Ansfield
63c1f2060c Added stripe connection to launch site wizard
refs https://github.com/TryGhost/Team/issues/450

- duplicated and refactored/updated direct and connect settings UI from labs to the "connect stripe" step of the launch site wizard
- updated wizard buttons to be right-aligned
2021-01-19 22:31:59 +00:00
Aileen Nowak
abc38ab375 Updated links to ghost.org sites
no issue

Follow-up task of the updated Ghost Docs structure. Updated links reflecting the new structure to prevent unnecessary 404s and redirects.
2021-01-19 13:18:59 +13:00
Kevin Ansfield
2b41499b22 Added design customisation and preview to launch wizard
refs https://github.com/TryGhost/Team/issues/450

- moved next/finish buttons into wizard step components in case they need to save before triggering transition
- added icon, logo, and cover image upload+removal to "customise design" step alongside a preview that reloads each time an image is changed
2021-01-18 17:48:11 +00:00
Kevin Ansfield
d48abaa1f8 Added outline launch wizard framework
refs https://github.com/TryGhost/Team/issues/450

- adds `launch/*` routes corresponding to launch wizard steps
- sets up navigation between each wizard step
- adds components for each `launch/*` step to contain step-related functionality and facilitate later refactoring to a generalised wizard component
- adds link to the launch wizard from the dashboard screen
2021-01-18 13:48:23 +00:00
Kevin Ansfield
5463e95d8e Added blank dashboard screen
no issue

- preparatory work for upcoming features
- default homepage when developer experiments is enabled
2021-01-18 09:02:44 +00:00
Rishabh Garg
464e601c4d Added new FirstPromoter integration (#1825)
no issue

Adds new FirstPromoter integration on the integrations page. FirstPromoter enables sites to launch their own members referral program, and integration allows Site admins to directly add their FirstPromoter tracking ID in the settings to enable FirstPromoter script on their site.
2021-01-15 20:01:40 +05:30
John O'Nolan
eea1ddab71 Updated integrations showcase: Plausible, Ulysses, GitHub 2021-01-14 19:29:21 +07:00
Kevin Ansfield
17a69850a2 Removed "unsubscribed" events from member activity feed
refs 63f7f9a827
closes https://github.com/TryGhost/Team/issues/446

- email failures no longer auto-unsubscribe members so we shouldn't show that in the activity feed
2021-01-12 18:44:43 +00:00
Harsh Maur
78513b7998 🐛 Fixed flash of unstyled content appearing when toggling night mode (#1818)
closes https://github.com/TryGhost/Ghost/issues/12396

We use two stylesheets ghost-light.css and ghost-dark.css for light mode and night mode respectively. The problem occurs when we disable the light stylesheet when we enable dark stylesheet, as there is a moment when there is no style applied. This causes flash of unstyled content (or a big logo when users flip the night mode switch)

Since the ghost-dark style is loaded after the ghost-light stylesheet, we only need to enable or disable the dark stylesheet. When the dark stylesheet is enabled, the light stylesheet will be overridden automatically by the browser. I could not find any performance implications on overriding styles. The only performance implication is around loading a new stylesheet which we already do.
2021-01-12 09:45:33 +00:00
Sanne de Vries
44ff46277c Fixed several responsiveness issues in members list
No issue

- Member email is cut off when overflowing on mobile
- Not displaying date moment-from-now and chevron on mobile
- Fixed left alignment issue for geolocation when there's no open rate
2021-01-08 14:01:48 +01:00
Sanne de Vries
57c376e202 Fixed overflowing content on mobile for user rows on staff page 2021-01-07 17:12:28 +01:00
Sanne de Vries
6a6858238a Fixed bug navigation margins on mobile 2021-01-06 21:52:44 +01:00
Kevin Ansfield
8c712d62bf 🐛 Fixed blank data in member customer tab
refs 772f5fa766

- when pulling the customer data display out of the subscriptions loop the data output was not updated to match
- adds a `customer` property to the `<GhMemberSettingsForm>` backing class that pulls the customer data from the first available subscription and adds the `startDate` property. Using the first available customer record works because there's a 1:1 mapping of member to stripe customer
2021-01-06 11:56:15 +00:00
Kevin Ansfield
772f5fa766 🐛 Fixed duplicate customers showing for members with multiple subscriptions
no issue

- the customer info table was being rendered as part of the `{{#each member.subscriptions}}` loops which meant it was being rendered again for every subscription
- moved the customer record display out of the subscriptions loop
2020-12-19 09:11:13 +00:00
Kevin Ansfield
eca8392296 🐛 Fixed potential "Request entity too large" error when saving members
no issue

- `email_recipient` records are embedded alongside member data when fetching individual members so the member activity feed can be generated
- full email details are included for each email so that previews can be generated which can result in a large payload
- by default Ember Data will push all embedded records back to the server when saving which resulted in `Request entity too large` errors in some environments when a member has received many emails
2020-12-16 13:41:45 +00:00
Sanne de Vries
27cc99c907 Fixed issues for member details mobile view (#1807)
* Fixed issues for member details mobile view

No-ref

- Changed order to display feed at the bottom
- Displayed heading and value vertically between 1400px and 1160px
- Displayed "Complementary plan" copy and switch vertically between 1400px and 1160px
- Added margin below "Continue subscription" button
- Prevented date in feed to wrap

* fixed tests

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-12-16 10:04:33 +01:00
Kevin Ansfield
a3b2f2072a 🐛 Fixed clipped tooltips in member activity feed after showing all
no issue

- liquid-fire containers (inserted by `{{#liquid-if}}`) have `overflow: hidden` applied which means the absolutely positioned tooltips that leave the container are clipped or in some cases not visible at all
- adding `class="show-overflow"` to `{{#liquid-if}}` adds the class to the top-level `.liquid-container` element allowing us to alter the behaviour slightly in CSS by making use of the `.liquid-animating` class that is added whilst the animation is in progress. By only applying `overflow: hidden` whilst animating we can keep the reveal whilst eliminating the clipping when the animation finishes
  - does not work in all cases and can introduce jankiness in others where the visible overflow causes positioning changes
2020-12-11 11:04:18 +00:00
Sanne de Vries
20d0ef2fe7 Changed tooltip on hovering schedule state in post list from uppercase to capitalised 2020-12-11 09:49:07 +01:00
Sanne de Vries
c53363586c Fixed date alignment in activity feed on mobile 2020-12-11 09:41:10 +01:00
Kevin Ansfield
ca956981c3 Fixed open rate appearing twice in posts ordering dropdown
no issue

- sometimes the controller's init method can be triggered twice so a guard was added to ensure we're not re-adding the same option
2020-12-10 15:14:13 +00:00
Sanne de Vries
e4c4237365 Fixed overflow issue for ID and email in member Stripe info 2020-12-10 15:33:12 +01:00
Sanne de Vries
57dc3ca115 Changed icon color for received emails in member feed 2020-12-10 15:06:45 +01:00
Kevin Ansfield
c84282d5da Added member activity feed icon color classes
no issue

- use green for normal activities and red for failed/undesireable activities
2020-12-10 14:01:11 +00:00
Sanne de Vries
2453f6afbd Added activity feed to member details screen (#1796)
closes https://github.com/TryGhost/Ghost/issues/12461

Design changes:
- added activity feed to member details page
- rearranged Stripe info to display on the right
- added toggle buttons for Stripe subscription and customer info
- added box to display activity feed for received and opened emails

Functionality changes:
- added `queryRecord()` to member adapter so `queryRecord('member', {id: x})` will hit `/members/:id/?query` instead of `/members/?id=x&query`
- updated member route to query member with `?include=email_recipients`
- added `EmailRecipient` model for access to event timestamps and email relationship setup
- added `<GhMemberActivityFeed>` component that accepts an `EmailRecipient` array and converts that into an activity list
- added support for `@model=emailInstance` to the email preview modal
- fixed a timing issue with email preview that could result in it showing blank content until the mobile/desktop toggle is used
- fixed sometimes blank member location

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-12-10 11:38:38 +00:00
Peter Zimon
be0ad730e0 Copy fix for member import errors
no refs.
- removed full stops from member import error messages
2020-12-10 12:15:07 +01:00
Rishabh Garg
69782e7aca Updated UI for empty member import (#1801)
no issue

- Disabled import button if mapping screen has 0 members to be imported
- Updated UI logic for no-member upload case
- Used bullet list for email summary
2020-12-10 16:33:56 +05:30
Kevin Ansfield
65129a0d9f Fixed missing email received/opened count when creating new member
no issue

- adds default value of 0 for `member.{email_count,opened_email_count}` to match server-side behaviour and allow consistency in the UI
2020-12-10 10:15:42 +00:00
Rishabh Garg
f068e40723 Added new members CSV importer (#1797)
no refs
depends on https://github.com/TryGhost/Ghost/pull/12472

The members CSV importer gets an overhaul and works with new importer module in members service, performing the import in a background job when the import will take too long to complete in a reasonable time and send an email with data on completion. Also includes updated CSV mapping UI and error handling to allow easier import from different type of exports.

Co-authored-by: Fabien O'Carroll <fabien@allou.is>
Co-authored-by: Peter Zimon <zimo@ghost.org>
2020-12-10 01:02:31 +05:30
Sanne de Vries
4b51ae8705 Fixed responsive layout for members list 2020-12-09 19:10:12 +01:00
Sanne de Vries
3adcf2b5d8 Fixed font color bug for email on member details page 2020-12-09 17:23:25 +01:00
Sanne de Vries
ecfb77b980 Added email stats overview to member details page (#1795)
refs https://github.com/TryGhost/Ghost/issues/12461

- Added "Emails received", "Emails opened", and "Avg. open rate" to member details
- Adjusted visual display of avatar, name and email. Made email a mailto link
- Rearranged Name and Email fields to reduce height
- Changed height of the notes textarea

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-12-09 13:26:00 +00:00
Sanne de Vries
ffe0f84700 Added open-rate column and ordering to the members list (#1790)
closes https://github.com/TryGhost/Ghost/issues/12421

- added `emailOpenRate` property to member model
- added open-rate column to the members list
  - hidden when email analytics is disabled
- added `{{feature "flag"}}` helper so feature flags can be checked in templates without injecting the feature service into the backing class
- added `order` query param to the members controller/route and wired it into the data fetching routine
- added order dropdown to the filter bar with "Newest" (default) and "Open rate" as the two options
  - whole dropdown is hidden if email analytics is disabled

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-12-08 19:23:57 +00:00
Kevin Ansfield
84aaa5224c Moved email open rate ordering behind analytics flag
refs https://github.com/TryGhost/Ghost/issues/12420

- email analytics can be disabled, when that's the case it doesn't make sense to allow posts to be sorted by open rate
2020-12-04 14:08:48 +00:00
Kevin Ansfield
439ba03053 Added open rate order option to posts list
closes https://github.com/TryGhost/Ghost/issues/12420

- adds "Open rate" to the available ordering options in the posts list order dropdown
- amends pages controller to have it's own order list because pages can't be ordered by open rate
2020-12-04 10:30:03 +00:00
Sanne de Vries
70b34432c8 Fixed copy for open-tracking settings 2020-12-02 21:31:11 +01:00
Peter Zimon
b616a839a9 Email settings preview refinements (#1788)
- fixed sizes for email preview area
- replaced static values with dynamic ones
- replaced radio button with font selector
- fixed footer textarea styles
- refined styles
- refined copy
2020-12-02 13:12:41 +01:00
Kevin Ansfield
ca97f84cad Added emailAnalytics feature flag
no issue

- email analytics feature has a potential to be resource-intensive so it may be switched off via config, when this is the case we don't want to show stats in the admin that are out of date or won't be added/updated
- fixed page link titles saying "Edit this post" instead of "Edit this page"
2020-12-02 11:47:34 +00:00
Kukhyeon Heo
8e219f35c9 🐛 Fixed infinite spinner when admin login attempt fails (#1755)
closes TryGhost/Ghost#12189

- This bug happened because authenticate function always returned success(true) even when it is failed.
2020-12-01 14:32:59 +00:00
Sanne de Vries
8467bf025b Changed font styling for email stats in posts list 2020-11-30 10:14:27 +01:00
Sanne de Vries
a2a98b575f Added email open rate to posts list in admin (#1772)
no issue

- added "Sends" and "Opens" columns to the posts list to see newsletter performance at a glance
- "Sends" will show the type of members sent to (free, paid, all) as a tooltip
- "Opens" shows open rate by default and total opens on hover
2020-11-26 17:19:05 +00:00
Rishabh Garg
1dd2b33499 Updated Stripe Subscription status label handling (#1784)
refs https://github.com/TryGhost/Ghost/issues/12256

* Replace `_` in stripe's status with space to setup proper status label for subscriptions
* Displayed subscription status for cancelled subscriptions

Co-authored-by: Fabien O'Carroll <fabien@allou.is>
2020-11-25 10:45:18 +00:00
Peter Zimon
f476c268b5 Zapier templates update (#1783)
- updated Zapier templates page to show the most relevant Zaps instead of the latest
- fixed design regression in Slack, Amp and Unsplash integration pages
2020-11-25 11:31:15 +01:00
Fabien 'egg' O'Carroll
9cd6ed06a7 Added cancellation reason to Members UI (#1782)
refs https://github.com/TryGhost/Ghost/issues/12403

This is only displayed when it is present, so as not to clutter the UI
unless it's required.
2020-11-24 10:20:21 +00:00
Sanne de Vries
50a423ed2b Added toggle in settings to enable open-tracking configuration (#1777)
closes https://github.com/TryGhost/Ghost/issues/12390
requires https://github.com/TryGhost/Ghost/pull/12404

- Added toggle for open-tracking in settings (Labs > Members > Email section)

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-11-23 18:36:57 +00:00
Daniel Lockyer
0ed99dd0a1 Merged 3.38.3 into master
v3.38.3

* tag '3.38.3':
  v3.38.3
  🐛 Fixed editor unable to handle non-latin IME languages
  🐛 Fixed authors failing to publish post with newsletters
2020-11-23 17:37:19 +00:00
Rish
aec4ee21bc 🐛 Fixed authors failing to publish post with newsletters
no refs

With last release, by default a post has newsletter sending option enabled by default based on default visibility. Since authors don't have permission to see or toggle the email newsletter options, if the newsletter was enabled for them the post publish failed as they lacked permissions to send newsletter. This patches the option by switching off newsletter option when publishing post as an author.
2020-11-23 21:07:34 +05:30
Rishabh Garg
487724e0fe Added support for external urls for redirect (#1778)
refs https://github.com/TryGhost/Ghost/issues/12366

Adds support for saving external URL's for custom redirects and improves error handling to validate on blur/before saving

Co-authored-by: Fabien O'Carroll <fabien@allou.is>
2020-11-23 09:38:29 +00:00
Peter Zimon
660762e100 Added scrolling for Portal settings links
no refs.
2020-11-20 12:02:35 +01:00
Rish
d8dec01edd Added new portal link for free plan
refs TryGhost/Ghost#12365

Portal allows direct free signup link or data attributes, allowing members to directly share or link to only free plan in Portal popup if available

- A new portal signup link for free plan - `/signup/free`
2020-11-20 15:48:18 +05:30