Commit Graph

9226 Commits

Author SHA1 Message Date
James Morris
9c02f6a792 Updated What's New copy to be shorter and so doesn't so easily go to two lines
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-09 16:51:11 +01:00
Kevin Ansfield
e74b042d18 Fixed undefined member count for scheduled posts in publish update flow
no issue

- in the update flow we were always using `post.email.emailCount` but scheduled posts won't yet have a `post.email` record
- switched to showing a count of members based on the post's newsletter slug and `emailRecipientFilter`
2022-05-09 14:11:17 +01:00
Kevin Ansfield
2768dc74ad Fixed emails not being sent when using new publish flow
no issue

- `this.willEmail` was changed to include the post status as we only allow sending an email for draft posts but that meant the order of operations in the save task was wrong because we checked `willEmail` _after_ changing the status on a post meaning the newsletter/recipient filter query params were never attached when publishing
2022-05-09 14:11:17 +01:00
Matt Hanley
cae5adc6ed Switched Admin client to use avatars returned by the member API (#2373)
- Admin used a helper to generate Gravatar URLs for members
- This change switches to using the `avatar_image` returned by the Member API
- The helper predates the existence of `member.avatar_image`, and is no longer required
2022-05-09 13:29:45 +01:00
Kevin Ansfield
26741b701a Reset linter warnings with longer decay times
refs https://github.com/TryGhost/Ghost/issues/14101

- we have ~1000 linter warnings from historic code that is awaiting transforms as part of the Ember Octane migration
- the warning delay time of 30 days is too short, we keep hitting it because work on the migration has stalled
- keeping the linting errors in place is useful because the rules are useful for new code and the todo file helps track migration progress
- increased the ignore->warn decay time to 120 days, with a warn->fail time of 60 days after that giving us some time to clear up any remaining issues or add them back to the ignore list before builds start failing
2022-05-09 12:57:19 +01:00
Hannah Wolfe
51c1db079b Replaced white/black list terminology
refs 92986b77e3i

- found one more place where this has been missed
2022-05-09 12:23:20 +01:00
James Morris
0148f1deaa Added in the year to the date formats for anchor chart and tooltips for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-09 11:25:38 +01:00
James Morris
a972a3246b Fixed the Paid Mix alignement to be inline with Annual on new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-09 11:00:39 +01:00
Sanne de Vries
4a16cf74bc Updated publishing flow datepicker
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-09 10:53:44 +01:00
Kevin Ansfield
fc25bf5713 Added ability to set classes for parts of <GhDateTimePicker>
no issue

- adds additional class arguments:
  - `@datePickerTriggerClass`
  - `@datePickerClass`
  - `@timeInputClass`
2022-05-09 10:31:14 +01:00
Sanne de Vries
7356933d12 Made copy changes to publishing flow
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-06 17:10:08 +01:00
Kevin Ansfield
f9ce41620a Updated confirm publish button text
no issue

- button text changed to include the post type and time of publish
- the button text has become more complex than a static string so the logic was moved into a getter on the confirm component backing class
2022-05-06 15:12:38 +01:00
Sanne de Vries
a4c1f2f7e0 Added animation to publish confirmation button
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-06 14:56:11 +01:00
Sanne de Vries
f4405927ee Updated publish settings forms
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-06 13:54:15 +01:00
Simon Backx
dd901c6790 Fixed paid subscribers chart reloading when toggling fake data
refs https://ghost.slack.com/archives/C02G9E68C/p1651773627838629?thread_ts=1651771893.729649&cid=C02G9E68C

The chart was not reloading when the fake data toggle was changed. This code is only used when using mocked data. So if you loaded the page without mocked data, everything was working fine and the chart did show the right data. If you then enabled fake data, the chart just won’t reload and would keep showing the initial data (so it wasn’t always showing mocked data, just the initial data).
2022-05-06 14:35:13 +02:00
Simon Backx
089686132c Improved newsletter dragging
refs https://github.com/TryGhost/Team/issues/1582

- The draggable object container was too small and didn't include the drag handle
- Increased the size of the draggable object to include the drag handle by adding a container div
- The drag handle now doesn't require you to hover the card before becoming visible
- Fixed a bug where some newsletters would show the drag handle even when they were not hovered when you were dragging a different newsletter. When dragging, now only the dragged newsletter will show the drag handle, so it is more clear where you are dragging to.
- Fixed fading animation of the drag handle (visibilty animation needed step-start and step-end added)
- Fixed jumpiness when dragging or moving the last newsletter card, due to animated margin updates after a drag
- Fixed padding issue for newsletter cards on smaller devices (padding did increase) breaking the animation
2022-05-06 14:09:43 +02:00
James Morris
9af743ff3f Fixed the spacing issue with Subscribe button on new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-06 11:50:14 +01:00
Kevin Ansfield
b39fc7dba5 Changed recipient wording in publish flow to be more specific
no issue

- highlight all/free/paid/specific in the recipient overview wording in the options and confirmation stages of the publish flow
- fix "change settings" button on confirm step closing instead of going back to the options stage
2022-05-06 10:23:37 +01:00
Sanne de Vries
416976368b Updates publish settings
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-06 08:06:45 +01:00
Kevin Ansfield
bee7760815 Added default recipient settings handling to publishing flow
closes https://github.com/TryGhost/Team/issues/1593

- swapped `recipientFilter` for `selectedRecipientFilter` tracked property with a default value of `undefined`
- added `defaultRecipientFilter` getter that uses settings and post attributes to return a filter string that matches the defined default recipient settings
- added `recipientFilter` getter to replace the previous tracked property, this checks `selectedRecipientFilter` being `undefined` and will return `defaultRecipientFilter` instead
  - changing the filter updates `selectedRecipientFilter` acting as an override of the default
  - keeping `recipientFilter` naming means the options part of the flow requires no changes
2022-05-05 18:18:54 +01:00
James Morris
32ce367ee1 Adjusted some of the footer hover links for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-05 18:17:07 +01:00
Simon Backx
26e441d88d Updated members recipient selector counts
refs https://github.com/TryGhost/Team/issues/1576
refs https://github.com/TryGhost/Team/issues/1592

Improved code to use the members count fetcher in the recipient selector.
2022-05-05 18:09:41 +02:00
Simon Backx
a103184c6a Updated newsletter recipientFilter to use slugs instead of instead
refs https://github.com/TryGhost/Team/issues/1576
refs https://ghost.slack.com/archives/C02G9E68C/p1651763933403669?thread_ts=1651763878.116549&cid=C02G9E68C
2022-05-05 17:37:34 +02:00
Simon Backx
1f5f9645e6 Updated members count to use selected newsletter when publishing
refs https://github.com/TryGhost/Team/issues/1576

- Passes the selected newsletter to the recipient selector
- Added a `recipientFilter` getter to the newsletter model to make changes easier in the future
- Updates the `fullRecipientFilter` in the new publishing flow to use the newsletter's recipientFilter
- Already takes future paid only newsletters into account
- The counts in the status message after publishing is not updated yet (requires https://github.com/TryGhost/Team/issues/1569)
- The counts in the scheduled notification is not updated yet (requires https://github.com/TryGhost/Team/issues/1569)
2022-05-05 17:17:23 +02:00
Kevin Ansfield
03ba0da1a7 Fixed email wording showing on update-flow incorrectly
refs 8fb0d6ebb2

- logic for showing the "sent to x" wording on the published update flow was incorrect meaning it was showing for published posts/pages when nothing had been emailed
2022-05-05 16:08:45 +01:00
Kevin Ansfield
c6fdfab454 Fixed post/page wording on "View published x on site" button 2022-05-05 16:05:20 +01:00
Kevin Ansfield
8fb0d6ebb2 Added scheduled and published states to new publish flow
closes https://github.com/TryGhost/Team/issues/1589
closes https://github.com/TryGhost/Team/issues/1590

When a post is already scheduled or published the "Publish" button changes to "Update" and when clicked shows details about the last publish / upcoming schedule along with buttons to save any changes or revert to a draft.

- added separate `update-flow` modal with the save/revert options to keep the main `publish-flow` cleaner and focused just on the draft->publish flow
2022-05-05 16:02:58 +01:00
James Morris
27cb5a9fec More responsive tweaks so new Dashboard works on mobile
refs: https://github.com/TryGhost/Team/issues/1531

- better resource breakpoints at mobile widths
- also fixed the active mobile button in mobile as it was white in dark mode
2022-05-05 15:53:49 +01:00
James Morris
0fda84d71e Added in a more responsive new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531

- any triple column collapses down to one and sits underneath each other
- the mini charts' legends disappear and they also then go full width underneath each other
- the resources module loses it's thumbnail at smaller widths
- the 2/3 resources column goes to 1/2
- everything worth having has truncation that is only seen at very small sizes
2022-05-05 15:16:03 +01:00
Sanne de Vries
a01ae97801 Updated confirmation and completed pages of publishing flow
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-05 14:26:06 +01:00
Simon Backx
19249bdae5 Renamed members-email-labs to newsletters and removed unused files
no issue

We still had some old components and templates from the `members-email` settings that were only were used when the (now GA) `multipleNewsletters` flag was disabled. I’ve removed them and renamed all routes and components from `members-email` and `members-email-labs` to just `newsletters` because it was sometimes hard to understand if a given components was still used or not when fixing issues.
2022-05-05 13:37:53 +02:00
Kevin Ansfield
67505f838c Added first pass of recipient options to new publish flow
closes https://github.com/TryGhost/Team/issues/1585

- adds newsletter select, free/paid checkboxes, and specific label select to the email recipients area in publish flow
- updated `PublishOptions`
  - `willEmail` getter now takes into account the recipient filter so when free+paid+specific are all unchecked the flow corresponds to email not being sent
  - save task passes through the real recipient filter
  - added `fullRecipientFilter` for use in count fetchers so the selected newsletter is taken into account whilst we use `recipientFilter` as the main filter value
- fixed issues with dropdowns being cut off
  - `{{liquid-if}}` uses `overflow: hidden` to make it's animation work, this means any popups that are larger than the expanded option size are cut off
  - switched away from rendering the selects inline so they aren't limited by parent container size
  - fixed `z-index` issues to they appear on top of the modal
2022-05-05 11:18:49 +01:00
Kevin Ansfield
7c4674507e Switched members-count-fetcher to use members-count-cache
no issue

In the new publish flow we use `{{members-count-fetcher}}` to show member counts as needed in the template without needing to worry about manually fetching counts in the backing classes. However, when switching between states in the flow the count would be re-requested resulting in some glitchy looking async count rendering. By changing `{{members-count-fetcher}}` to use our `members-count-cache` service internally we reduce the likelihood of an async count being triggered when switching between publish flow states.

- updated `members-count-cache` service methods to work with filter strings or full query objects
- switched `members-count-fetcher` resource to use `members-count-cache` in place of directly querying the store
2022-05-05 11:18:49 +01:00
James Morris
1fc436f3e2 Small hack fix to totals chart to keep responsiveness for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531

- we've had to use a 99% width hack to ensure ChartJS is responsive
- this introduces a small negative margin to fix the container whilst keeping hack
2022-05-05 11:11:55 +01:00
Simon Backx
93632349b9 Fixed newsletter includes when adding or editing (#2365)
refs https://github.com/TryGhost/Team/issues/1571

- When creating a new newsletter, the counts were not loaded
- When updating a newsletter, the counts were not updated
- Requires https://github.com/TryGhost/Ghost/pull/14696
2022-05-05 11:31:45 +02:00
Fabien 'egg' O'Carroll
fe4d2aeb9c Removed usage of hasActiveStripeSubscriptions API (#2364)
refs https://github.com/TryGhost/Team/issues/1147

This endpoint is deprecated
2022-05-04 17:24:56 +01:00
James Morris
983d37253a Changed new Dashboard to default to 30 days rather than 7
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-04 17:02:08 +01:00
James Morris
d656258273 Fixed the dark mode border for What's New and changed text case for Staff Picks
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-04 16:56:54 +01:00
James Morris
516a7c3701 Recent post and member activity table updates for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531

- added in published dates if newsletters not enabled
- also tried out a state to remove engagement if members not enabled
2022-05-04 16:45:42 +01:00
Kevin Ansfield
6a28de85b8 Fixed editor error handling
refs adeef741fb

- there's no local `error()` action, we need to use `this.send()` so the route-level error handler is triggered
2022-05-04 16:30:59 +01:00
Simon Backx
bb4b3a7eec Handled duplicate newsletter name errors correctly
refs https://github.com/TryGhost/Team/issues/1564

- Shows the error inline
- Depends on https://github.com/TryGhost/Ghost/pull/14694
2022-05-04 15:58:06 +02:00
James Morris
ae1010ea03 Adding in more hover states and cleaning up what's there
refs: https://github.com/TryGhost/Team/issues/1531

- fixed up the hover states for staff picks and what's new
- matched padding and text baseline alignment for both boxes
- added in some truncation to stop breakage
2022-05-04 14:04:49 +01:00
James Morris
692c7619ef Tweaks to recents box for new Dashboard based on feedback
refs: https://github.com/TryGhost/Team/issues/1531

- made whole row clickable
- added in hover state based on posts table style
- added in event icons for activity
- increased row spacing
- other subtle tweaks based on feedback
2022-05-04 13:29:55 +01:00
Kevin Ansfield
adeef741fb Added first iteration of saving to new publish flow
refs https://github.com/TryGhost/Team/issues/1542

- extracted before/after save routines in the editor controller into separate actions
  - allows saving to occur in the publish flow without it needing any editor-specific knowledge
  - allows for easier cleanup of email related logic from the editor save tasks later on
- added `saveTask` to `PublishOptions`
  - applies the selected options to the post model where they correspond to model attributes and keeps the previous values in memory so the changes can be undone on failure - this keeps the local model state in sync because if a publish fails we want the editor to continue showing the draft state, non-scheduled publish time, and not have an unexpected email-only state
  - saves the post model directly passing `adapterOptions` so the save request query params match the chosen publish options
- added a `saveTask` to the `<PublishManagement>` component
  - passed through to the `publish-flow` modal and is triggered by the confirm button on the confirmation screen
  - runs the before/afterSave arguments passed in from the editor
  - runs the `saveTask` on `PublishOptions` which handles everything needed to change status and send emails
  - polls the post after saving to wait for the attached email to switch to submitted/failed which lets us show a failure message and retry button as required (message + retry not yet implemented)
- adds "complete" state to publish flow once save has finished
  - confirms what just happened based on saved post data rather than chosen publish options
  - has a link to the view the post
2022-05-04 10:30:45 +01:00
Simon Backx
6adecb5db1 Removed newsletter name from activity feed if no multiple newsletters
refs https://github.com/TryGhost/Team/issues/1563

- Check if we have multiple newsletters in the members-events-fetcher
- Pass the resulting value to the `parse-member-event` helper
- Pass the value to the activity feed table and table-row components
2022-05-04 10:23:32 +02:00
Peter Zimon
300cd79d3e Updated Dashboard spacings 2022-05-03 17:08:30 +02:00
Peter Zimon
3996455aa1 Updated minicharts positions 2022-05-03 16:34:17 +02:00
Peter Zimon
d0a77a48ba Dashboard typography cleanup 2022-05-03 16:26:05 +02:00
Simon Backx
a3218b0a2b Improved newsletter activity feed copy
refs https://github.com/TryGhost/Team/issues/1570
refs https://ghost.slack.com/archives/C02G9E68C/p1651581277636729?thread_ts=1651569897.474819&cid=C02G9E68C

Activity feed now shows 'Subscribed to newsletter – Weekly newsletter" text
2022-05-03 14:37:45 +02:00
Simon Backx
5c6316f051 Fixed linting error 2022-05-03 14:25:50 +02:00