Commit Graph

2304 Commits

Author SHA1 Message Date
Kevin Ansfield ca16132f91 Reverted dashboard route
no issue

- removing dashboard prototype from master ready to re-apply in 4.0 branch
2021-01-21 09:04:54 +00:00
Kevin Ansfield e88e8f88e8 Reverted launch wizard prototype
no issue

- removing launch wizard from master ready to re-apply in 4.0 branch
2021-01-21 09:02:19 +00:00
Kevin Ansfield 39eec85180 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 95bcd2a7db 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 0bf09d88ed 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 524d84ffba 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 322dc85613 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 e3e1c4bb0a 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 06d47f53e5
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 a1da989d21 Updated integrations showcase: Plausible, Ulysses, GitHub 2021-01-14 19:29:21 +07:00
Kevin Ansfield 213c7b8b0b 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 90343a5dc8
🐛 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 3e9e48cc44 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 90f5447c54 Fixed overflowing content on mobile for user rows on staff page 2021-01-07 17:12:28 +01:00
Sanne de Vries 5b9f4b6940 Fixed bug navigation margins on mobile 2021-01-06 21:52:44 +01:00
Kevin Ansfield be080c5604 🐛 Fixed blank data in member customer tab
refs 5e1b78abe2

- 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 5e1b78abe2 🐛 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 26a20abb2b 🐛 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 900c52f769
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 c9933b7a2d 🐛 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 26fa14ea1f Changed tooltip on hovering schedule state in post list from uppercase to capitalised 2020-12-11 09:49:07 +01:00
Sanne de Vries 602e619cfb Fixed date alignment in activity feed on mobile 2020-12-11 09:41:10 +01:00
Kevin Ansfield 52f90c6450 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 ce5e388a8c Fixed overflow issue for ID and email in member Stripe info 2020-12-10 15:33:12 +01:00
Sanne de Vries b4fd71e736 Changed icon color for received emails in member feed 2020-12-10 15:06:45 +01:00
Kevin Ansfield 4307bcc846 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 36baf94b24
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 30a036eb83 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 42e34c5f88
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 1282a007dd 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 bc74425a70
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 7b39124014 Fixed responsive layout for members list 2020-12-09 19:10:12 +01:00
Sanne de Vries 0d26b528b4 Fixed font color bug for email on member details page 2020-12-09 17:23:25 +01:00
Sanne de Vries 23cc61e186
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 3d3173ca90
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 d64d725dec 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 9d439dd986 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 6df5fe8c54 Fixed copy for open-tracking settings 2020-12-02 21:31:11 +01:00
Peter Zimon 3fcded4cec
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 d1c07b7e4c 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 4236d5b806
🐛 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 dc8e618ff4 Changed font styling for email stats in posts list 2020-11-30 10:14:27 +01:00
Sanne de Vries e883c1ce45
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 b246f614d7
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 4a9144e118
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 bca926b5ee
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 6cc1fd1890
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 288e6cd5b8 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 5c22c0292e 🐛 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 36999ced34
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