Commit Graph

4339 Commits

Author SHA1 Message Date
Simon Backx
9b8875c4be Added Whats New component to Dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1486

Includes a new component that correctly fetches the changelog and displays them in the old format (still requires some design changes).
2022-04-06 15:43:41 +02:00
Kevin Ansfield
e3de4ee704 Wired up active/archived newsletter filter
closes https://github.com/TryGhost/Team/issues/1476

- added dropdown for switching between active and archived newsletters
- modified the "default" newsletter display so it's only activated when a single active newsletter is shown
- added ability to un-archive a newsletter with a switch between "archive" and "un-archive" actions based on newsletter status
  - if all archived newsletters are un-archived, automatically switches to "active" filter so you're not left with an empty list
2022-04-06 13:18:07 +01:00
Kevin Ansfield
e5c26aac89 Added newsletter dropdown to publish menu
closes https://github.com/TryGhost/Team/issues/1479

- updated post adapter to append `?newsletter_id=xyz` when passed a `newsletterId` adapterOption
- updated editor save task to pass `options.newsletterId` through as `adapterOptions.newsletterId`
- set up `post.newsletter` relationship ready for handling embedded newsletter association from the API
  - explicitly deleted when serializing back to the API as it doesn't yet ignore the attribute
- updated `<GhPublishmenu>` for newsletter support
  - fetches newsletters on first render so they are available in the dropdown
  - sets "default" (first in the ordered list) newsletter as the initially selected newsletter
  - adds newsletter dropdown to draft publish menu
  - passes `newsletterId` option to editor save task when it's set

This is a minimal implementation for testing. Not included:
- correct free/paid member counts based on selected newsletter
- correct member count in confirmation modal
- indication of selected newsletter for scheduled post
2022-04-06 10:22:06 +01:00
Naz
114b359ab7 Reverted Accept-Version header usage in Admin API communication
closes https://github.com/TryGhost/Toolbox/issues/222
refs https://github.com/TryGhost/Toolbox/issues/227
refs 74735ab59c
refs e23ae31e8f

- The usecases for the Accept-Version header have shown we should not be exposing the users of the clients we control to unnecessary notification about client-API incompatibility. Ghost-Admin is one of those clients that is always expected to be up to date with the version of Ghost it ships with, so the Accept-Version header should not be used here
2022-04-06 10:12:09 +08:00
Kevin Ansfield
6e0be9e175 Wired up newsletter management with real newsletter model and API
refs https://github.com/TryGhost/Team/issues/1441

- switched "leave settings" confirmation modal on members email settings screen over to modern modal pattern
- removed unused `showEmailDesignSettings` property and `closeEmailDesignSettings()` action on `<Settings::MembersEmailLabs>` component
  - the used property and action live on the controller, looks like it was a copy/paste hangover when functionality was moved to a component
- added newsletter model
  - includes design-related attributes which are not yet supported by the API but are due to be added
  - includes `default` attribute but there is no setting for it, due to be removed from the API but it's needed for save not to error for now
  - set up basic mirage model and endpoints
  - added validation for main settings to match API validation
- added `EditNewsletter` modal
  - separate tabs for general newsletter settings and design-related settings
  - used for both creating and editing newsletters
- added `/settings/members-email/newsletters/new` and `/settings/members-email/newsletters/:id` routes
  - both display the `EditNewsletter` modal on top of the members-email settings screen with the appropriate newsletter model
- updated `<Settings::MembersEmailLabs::NewsletterManagement>` component to work with real newsletter model instances and the new add/edit routes
- removed now-unused `newsletter` service that was providing mocked data for earlier design iteration
2022-04-04 19:30:52 +01:00
Kevin Ansfield
9ab2f5dd3e 🐛 Fixed incorrect modal heights
closes https://github.com/TryGhost/Ghost/issues/14416
refs 1357390ac5

- after switching to a proper package version of our `ember-promise-modals` fork the addon's CSS was injected into the vendor file causing conflicts with our own modal styling
- added `align-items: unset` style override on `.epm-modal-container` so we're not fighting the addon's default `align-items: center;` style
2022-04-04 09:55:33 +01:00
Kevin Ansfield
1357390ac5 🐛 Fixed incorrect modal and theme preview positioning
closes https://github.com/TryGhost/Ghost/issues/14415

- after switching to a proper package version of our `ember-promise-modals` fork the addon's CSS was injected into the vendor file causing conflicts with our own modal styling
- added `transform: none` style override on `.epm-modal` so we're not fighting the addon's default `translate(0, -30vh) scale(1.1);` transform
2022-04-04 09:43:54 +01:00
Kevin Ansfield
86598fbd76 Extracted newsletter management section into separate component
refs https://github.com/TryGhost/Team/issues/1441

- pulls newsletter-related functionality into one place to keep higher-level components from knowing about too many concepts and becoming bloated
- updated temporary newsletters service to have fully tracked objects so the `active/archivedNewsletters` properties can be closer to how they will work with full models
2022-04-03 22:14:07 +01:00
Kevin Ansfield
ec5a080d56 Converted <Settings::MembersEmailLabs> to Glimmer component
refs https://github.com/TryGhost/Team/issues/1441

- bringing code up to more modern style ready for further development
2022-04-03 22:14:07 +01:00
James Morris
93f30eadb7 Added little copy tweak to engagement charts to be clearer
refs: https://github.com/TryGhost/Team/issues/1462
2022-04-01 17:09:17 +01:00
James Morris
298e9b4d04 Further tweaks to the new dashboard to make it feel a little nicer
refs: https://github.com/TryGhost/Team/issues/1462
2022-04-01 17:04:39 +01:00
James Morris
8fe18d7e30 Dashboard consolidated graph (#2323)
* Basic work to combine the three line graphs for the new dashboard

refs: https://github.com/TryGhost/Team/issues/1467

- combined three line graphs into one main one at the top
- still working on this, so some code is a little rough

* Tidying up a few bits of consolidated graph in new dashboard

refs: https://github.com/TryGhost/Team/issues/1467

* Updated chart anchor component for removed member counts

no issue

* Updated chart paid members to not reload on days change

no refs

* Moved did-insert to top element in chart-anchor

* Fixed chart anchor to use filled member data

* Replaced chart anchor divs with buttons

* Tweaking up the paid graphs below anchor to improve visuals

refs: https://github.com/TryGhost/Team/issues/1467

* Fixed missing type attributes on buttons in chart anchor

* Updated MMR to MRR for the new consolidated graph

refs: https://github.com/TryGhost/Team/issues/1467

* Added real MRR to chart anchor

* Added open rate percentage data to chart email

Co-authored-by: Simon Backx <simon@ghost.org>
2022-04-01 14:53:55 +01:00
Kevin Ansfield
da972bfe58 🐛 Fixed non-functioning "Leave" button on unsaved-changes confirmation modals
no issue

- bumped version of our `ember-promise-modals` fork containing a workaround for modal promises missing their return values
  - upstream issue: https://github.com/simplabs/ember-promise-modals/issues/565
- switched from a GitHub ref to a proper published package to avoid issues with yarn not bumping versions of the fork for developers who installed an earlier version
2022-04-01 12:47:08 +01:00
Peter Zimon
626634246f Updated Portal mock for offers (#2319)
Updated the preview block of offer creation screen to match the new style of Portal.
2022-04-01 13:22:41 +02:00
Simon Backx
0023695a29 Implemented loadSiteStatus in dashboard 5.0 stats service
refs https://github.com/TryGhost/Team/issues/1468

- Implemented loadSiteStatus with real data
- Replaced unused stripeEnabled with hasMultipleTiers
- hasMultipleTiers=false hides the tiers paid mix chart
- Improved loading and updating fake state
- Removed deprecated loadMembersCounts method in dashboard stats service
2022-04-01 10:51:15 +02:00
Kevin Ansfield
623825f8f0 🐛 Fixed scheduled send-only post switching to publish+send when rescheduling
closes https://github.com/TryGhost/Ghost/issues/14354

When setting/cleaning up the publish menu state we were incorrectly reverting to the default "publish & send" state when a post was already set to be email-only. This resulted in an unexpected and non-obvious switch to "publish & send" when re-scheduling a scheduled email-only post.

- updated the publish menu setup and cleanup routines to account for scheduled, email-only posts
- fixed the header in the publish menu to say "sent" rather than "published" when an email-only post is scheduled
2022-03-31 17:11:06 +01:00
Simon Backx
37ee53bb4a Renamed stats endpoint member again
refs 759e362a30
2022-03-31 17:11:36 +02:00
Simon Backx
09f4d9b373 Changed member count stats endpoint URL
refs https://ghost.slack.com/archives/C02G9E68C/p1648737467414789?thread_ts=1648644801.253699&cid=C02G9E68C
2022-03-31 17:06:48 +02:00
Simon Backx
01b411de85 Added paid mix chart implementation for dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1443

- Includes support for 'all' data in member count charts
- Fixed reloading of MRR data when switching between days
- Loading data now always returns a 'promise' instead of just dropping it
- Tiers and cadence paid mix chart added
- Defaults to mocked data = off (required to prevent loading paid mix tiers on page load)
- Note that there is still some discussion about the correctness of the tiers paid mix data, refs Slack https://ghost.slack.com/archives/C02G9E68C/p1648717224956659
2022-03-31 16:22:49 +02:00
Simon Backx
4cae27f5e2 Replaced custom member counting queries with MembersCountCacheService
no issue

- Replaced custom member counting queries with the MembersCountCacheService
- Results are reused if they were already fetched less then 60 seconds ago
- Fixed logic in MembersCountCacheService to only return old results (> 60) instead of new results (<= 60)
2022-03-31 16:09:41 +02:00
Simon Backx
5b120d5574 Updated member count charts to use the new Stats API
refs https://github.com/TryGhost/Team/issues/1443
refs https://github.com/TryGhost/Team/issues/1458
refs https://github.com/TryGhost/Team/issues/1459

- Includes the new paid members chart (deltas)
- Reused the counts from the stats endpoint, instead of doing separate calls to the members api browse endpoint.
2022-03-31 16:09:41 +02:00
Kevin Ansfield
78e08af003 Fixed newsletter settings tests
refs a4ca693871

- label's "for" was removed to enable more direct use of the checkbox enabling keyboard usage but the test was not updated to reflect the change
2022-03-31 11:37:38 +01:00
Kevin Ansfield
a4ca693871 Resolved template linting errors in <Settings::MembersEmailLabs>
refs https://github.com/TryGhost/Team/issues/1441

- applying scout rule
- brings template closer to swapping backing class to glimmer
2022-03-31 11:27:39 +01:00
Kevin Ansfield
d6487d3630 Created labs versions of members-email settings code
refs https://github.com/TryGhost/Team/issues/1441

- duplicated route/controller/template and component to `-labs` versions so larger changes and refactors can be made without affecting the GA code
- added redirect for `/settings/members-email -> /settings/members-email-labs` when `multipleNewsletters` flag is enabled
- cleaned up multiple-newsletters related code from the non-labs component
2022-03-31 11:06:21 +01:00
Kevin Ansfield
4bfc7529d6 Cleaned up membersActivityFeed labs flag (#2309)
no issue

- `membersActivityFeed` is GA so we don't need any of the conditionals or now-unused code
2022-03-30 12:43:52 +01:00
James Morris
f6a8febbb4 Removed an unless statement for the new dashboard activity feed to avoid linting issues
refs: https://github.com/TryGhost/Team/issues/1462
2022-03-29 17:31:12 +01:00
James Morris
fa9b8829f1 Fixing up the linting issues with my previous commit
refs: https://github.com/TryGhost/Team/issues/1462
2022-03-29 17:20:03 +01:00
James Morris
3b9525dd63 First round of getting better styles into the new dashboard
refs: https://github.com/TryGhost/Team/issues/1462

- remove dummy percentages where not necessary
- trying out a narrower width for the dashboard
- added in a basic layout for the various charts
- added more specific styles to each of the graphs
- tried out a different way of displaying metrics
- different way to show headers for each module
- made the grid and flex layouts a little more flexible
- there are some bits to still clean up with code
2022-03-29 16:53:50 +01:00
James Morris
60a3b742ea Pulled out dummy percentage comparisons on some graphs for Dashboard prototype
refs: https://github.com/TryGhost/Team/issues/1462
2022-03-29 10:20:32 +01:00
Peter Zimon
d32f4fc5e3 Typography updates (#2317)
* Updated Editor typography
* Updated email header border logic
2022-03-28 17:09:08 +02:00
Simon Backx
8d3c1dacc2 Added member count trends in dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1443

- Fetch member counts from 30 days ago
- Added Percentage component to show +1%, -1% or = changes
- Fixed: emails sent number was not formatted
- Fixed: wrong dates were used for some stats
2022-03-28 16:28:09 +02:00
Simon Backx
7d104b2b44 Improved email open rate chart in dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1443

- Now fetches email models instead of posts
- Fetches up to 8 emails
- Autofills missing emails, so we always have 8 emails
- Changed data structure of emailOpenRateStats variable in dashboard stats service
2022-03-28 14:20:07 +02:00
Simon Backx
6e8bf040a9 Added emails sent in past 30 days from real endpoints to dashboard 5
refs https://github.com/TryGhost/Team/issues/1443

- Also fixed the open rate that was used in the email open rate chart
- Calculate the total emails sent in the last 30 days
2022-03-28 13:49:44 +02:00
Simon Backx
801a910f7d Added newsletter subscribers count from real endpoints to dashboard 5
refs https://github.com/TryGhost/Team/issues/1443
2022-03-28 13:19:56 +02:00
Simon Backx
5505500fc0 Added MRR data to dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1443

Will still require some optimizations in the future.
2022-03-28 11:12:01 +02:00
Simon Backx
cc478dcb53 Added basic member counts chart implementation for dashboard 5
refs https://github.com/TryGhost/Team/issues/1443

A real API endpoint is now used to power the member counts chart. But it sill requires some optimizations.
2022-03-28 10:47:09 +02:00
Simon Backx
16d0629de3 Added last seen and member count stats from real API in dashboard 5
refs https://github.com/TryGhost/Team/issues/1443
2022-03-28 09:55:37 +02:00
Simon Backx
9213e590ad Added recent posts and email open rate data to dashboard 5
refs https://github.com/TryGhost/Team/issues/1448
refs https://github.com/TryGhost/Team/issues/1443

- Toggle to switch between fake and real data
- Email open rate can now use real data (still problem with posts that don't have email data)
- Recent posts data
2022-03-24 18:17:02 +01:00
James Morris
0890a6fe41 Added some static resources modules to dashboard prototype
refs: https://github.com/TryGhost/Team/issues/1445

- threw in some static generic resources modules based off offers styling
- these will be dynamic but adding them to pad out prototype
2022-03-24 15:29:01 +00:00
Simon Backx
abcfcbb3ed Added recent posts component in dashboard 5
refs https://github.com/TryGhost/Team/issues/1448
2022-03-24 16:21:55 +01:00
James Morris
1fc31fa60d Added more tweaks for Dashboard 5.0
refs: https://github.com/TryGhost/Team/issues/1445

- includes more tweaks
- adds on to recent merged conflicts commit
2022-03-24 15:08:12 +00:00
Simon Backx
5134e0822d Fixed tiers/cadence toggle hidden in dashboard 5 2022-03-24 16:07:06 +01:00
Simon Backx
6892bf06ef Fixed empty state not working in dashboard 5 2022-03-24 16:03:54 +01:00
Simon Backx
a41785ae95 Added async loading to dashboard 5 prototype charts
refs https://github.com/TryGhost/Team/issues/1443

- Also moved loading of charts outside of constructors to avoid infinite update loops in Ember
- Random loading delay when using fake states
2022-03-24 15:40:48 +01:00
James Morris
ef285a2f02 Merged conflicts 2022-03-24 14:02:13 +00:00
Sanne de Vries
a51b625a37 Fixed linting error and updated .to-do 2022-03-24 12:47:49 +00:00
Sanne de Vries
6e86be3b88 Added default newsletter selection component for multiple newsletters
Refs https://github.com/TryGhost/Team/issues/1441
2022-03-24 12:37:48 +00:00
Sanne de Vries
eaf21760fe Added static status toggle for when archived newsletters exist
Refs https://github.com/TryGhost/Team/issues/1441
2022-03-24 12:19:28 +00:00
Sanne de Vries
5785e156b5 Changed design for one vs multiple newsletters
Refs https://github.com/TryGhost/Team/issues/1441
2022-03-24 11:35:33 +00:00
Simon Backx
7fdf3c7433 Added mechansim to save prototype state for dashboard 5.0
refs https://github.com/TryGhost/Team/issues/1444

- Moved control panel to separate component
- Moved storage of amount of graph days to load to dashboard stats service
- Moved storage of engagement filtered status to dashboard stats service
- Dropdown state selector
- Save state in localstorage
- SiteStatus object and loadStatus methods in dashboard stats service and mock service
2022-03-24 12:09:09 +01:00