Commit Graph

5303 Commits

Author SHA1 Message Date
Hannah Wolfe
704f17ff96
Added beta search helper implementation (#15236)
refs: TryGhost/Team#1732

- We're testing out the feasibility of having a {{search}} helper that outputs an pre-styled icon to trigger search.
2022-08-19 12:27:38 +01:00
Fabien "egg" O'Carroll
dd0097e68f Added signup & conversion counts to post index page
refs https://github.com/TryGhost/Team/issues/1818

This is all hidden behind the alpha flag, and is missing the links to filtered
members as that has not been implemented yet.
2022-08-18 19:24:54 -04:00
Djordje Vlaisavljevic
0169487745 Removed unused variables
refs https://github.com/TryGhost/Team/issues/1811
2022-08-18 23:18:44 +02:00
Djordje Vlaisavljevic
c38cc89ea5 Added dynamic title to select input field
refs https://github.com/TryGhost/Team/issues/1811
2022-08-18 23:15:17 +02:00
Djordje Vlaisavljevic
d106a741c2 Removed pricing from the select field values
refs https://github.com/TryGhost/Team/issues/1811
2022-08-18 23:15:17 +02:00
Simon Backx
59851fc1ab Revert "First iteration of adding in post and page columns to event tables"
This reverts commit 26150ca769.
2022-08-18 17:29:40 +02:00
Daniel Lockyer
7ce6b27772
Protected Audit Log page behind labs flag
refs https://github.com/TryGhost/Toolbox/issues/356

- even though I was hiding the button, it's better to prevent going to
  the route entirely by redirecting to the homepage if the labs flag is
  not enabled
2022-08-18 17:03:44 +02:00
Daniel Lockyer
7b160493db
Added support for integration actors in Audit Log UI
refs https://github.com/TryGhost/Toolbox/issues/356

- this enables showing when an integration is the actor doing something
- still need to add a fallback for missing icons
2022-08-18 17:00:56 +02:00
Aileen Nowak
2b151db601 Explore in dark mode 2022-08-18 15:50:28 +01:00
Simon Backx
d01557cdf8 🐛 Fixed comments not visible in activity feed
refs https://ghost.slack.com/archives/C02G9E68C/p1660830163171599?thread_ts=1660829884.159749&cid=C02G9E68C

- Feature flag was still used, causing comment events to get filtered out
2022-08-18 15:46:21 +02:00
Daniel Lockyer
b10ceb75ff
Aligned user's name to cell center 2022-08-18 15:30:11 +02:00
Daniel Lockyer
35f5a38a17
Altered column sizes for audit log table
- this makes the data clearer to see
2022-08-18 15:28:03 +02:00
Daniel Lockyer
62915cccff
Removed brackets from resource IDs
- I don't think they're needed and it's a little cleaner without
2022-08-18 14:22:59 +02:00
Daniel Lockyer
9fda97550d
Fixed linking users resource
refs https://github.com/TryGhost/Toolbox/issues/356

- some resources don't have titles, like users, so we should optionally
  see if they have a name
- this is starting to become unwieldy so I'll likely pull this logic out
  in an upcoming commit
2022-08-18 13:30:50 +02:00
Daniel Lockyer
fa158b3831
Added link to Audit Log resource
refs https://github.com/TryGhost/Toolbox/issues/356

- this allows you to click on the title and go to whatever resource was
  acted upon
- if the resource has not be found, it'll just show the resource ID
2022-08-18 13:17:21 +02:00
Djordje Vlaisavljevic
1c7f38395c Fixed issue with tier card price
refs https://github.com/TryGhost/Team/issues/1806
2022-08-18 10:28:44 +02:00
Djordje Vlaisavljevic
824d03c803 Updated error message
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 21:27:02 +02:00
Djordje Vlaisavljevic
0c49fac5f7 Updated new/edit offer form design
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 21:18:23 +02:00
Djordje Vlaisavljevic
586a912e47 Updated tier form design
refs https://github.com/TryGhost/Team/issues/1791
2022-08-17 21:18:23 +02:00
Djordje Vlaisavljevic
3cb8226100 Added links to help docs
refs https://github.com/TryGhost/Team/issues/1819
2022-08-17 18:23:38 +02:00
Djordje Vlaisavljevic
cceabac8af Added disabled state for radio buttons
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 18:23:38 +02:00
Rishabh
f000048223 Fixed odd behavior with saving complimentary members
closes https://github.com/TryGhost/Team/issues/1715
refs https://github.com/TryGhost/Members/pull/407

- when comped boolean was brought back for backwards compatibility, it accidentally opened a path from admin to set comped stripe subscriptions on members on save, as Admin always sends back `comped` value
- since we don't allow stripe comped subscriptions anymore, this caused weird behavior with assigning the default tier on comped stripe subscription.
- this change removes the `json.comped` value to be sent up from Admin to avoid any weird comped changes to the member
2022-08-17 20:53:34 +05:30
James Morris
26150ca769 First iteration of adding in post and page columns to event tables
- Adding in dummy column for page or post to various event table places
- This still requires wiring up with real data

refs https://github.com/TryGhost/Team/issues/1815
2022-08-17 16:20:05 +01:00
Djordje Vlaisavljevic
ee3f458053 Switched custom tooltip to standard one
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 15:23:54 +02:00
Daniel Lockyer
3ce7e241a1
Added fallback icon to audit log
- in the event we don't have a specific icon, I've just chosen to show
  an `info` one for now
2022-08-17 14:54:54 +02:00
Daniel Lockyer
83702c7e86
Added resource to data available to audit log
- this allows us to hydrate the post title into the UI
- needs work to support non-post and missing resources
2022-08-17 14:43:01 +02:00
Kevin Ansfield
2d1d810198 Fetched actor record to display real name when listing audit log events
no issue

- switched `parse-audit-log-event` to a class helper to get access to dependency injection
- added `get actor()` to the parsed event object
  - uses the store to find the related user record, returning an already loaded record if it exists otherwise fetches the record
  - allows use of `event.actor.*` in templates because they are promise-aware and will be filled in once the record is loaded
2022-08-17 14:14:47 +02:00
Djordje Vlaisavljevic
9f294fa900 Switched divs to buttons
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 13:08:45 +02:00
Djordje Vlaisavljevic
e359d2cb32 Updated new/edit offer form design
refs https://github.com/TryGhost/Team/issues/1811
2022-08-17 12:55:30 +02:00
Peter Zimon
d3fb88ecb3 Open first section by default in email settings
no refs.

- All the sections of the accordion in Email newsletter settings is closed by default. Opening the first section makes the workflow quicker.
2022-08-17 11:42:35 +02:00
Peter Zimon
41484e60a3 Minor Portal settings UX improvements
refs. https://github.com/TryGhost/Team/issues/1813

- All the groups of the Portal settings accordion was closed by default. Opening the first group when showing the modal makes the workflow faster.
- The top heading on the content area had a white background which made the screen visually a bit cluttered.
2022-08-17 11:06:53 +02:00
Peter Zimon
56409d0193 Removed enable/disable logic from offer link
refs. https://github.com/TryGhost/Team/issues/1812

- The "Copy link" button on the Offer detail screen was only enabled once certain fields were filled. This makes unnecessary cognitive load on the end user.
2022-08-17 10:58:24 +02:00
Daniel Lockyer
714611b9fd
Added resource ID to action row
refs https://github.com/TryGhost/Toolbox/issues/356

- this will soon be populated with the actual resource name, if present
2022-08-17 10:53:21 +02:00
Daniel Lockyer
6c2aebbf0c
Added first version of Audit Log UI
refs https://github.com/TryGhost/Toolbox/issues/356

- skateboard version w/ loading data from API, settings button guarded
  by labs, and a basic UI populating a table with info
2022-08-17 10:16:47 +02:00
Djordje Vlaisavljevic
5f2d55dace Updated tier preview in tier modal
refs https://github.com/TryGhost/Team/issues/1791
2022-08-16 16:44:26 +02:00
Peter Zimon
e811a75972 Fixed tier card dropdown link bug
no refs.

- There was a bug on the tier cards action menu dropdown in Settings/Membership that the buttons in the dropdown were clickable even when it was closed.
2022-08-16 14:27:22 +02:00
Peter Zimon
1b6b905dcd Added free trial indicator to tier card in Admin
refs. https://github.com/TryGhost/Team/issues/1806

- free trial indicator - which helps users identify tiers easier - was missing on tier cards in Settings / Membership in the Admin
2022-08-16 14:15:31 +02:00
Fabien "egg" O'Carroll
73fec0fc93 Added the memberAttribution alpha flag
refs https://github.com/TryGhost/Team/issues/1801

This will allow us to develop behind a flag, and switch it to beta
down the line.
2022-08-15 17:10:08 -04:00
Daniel Lockyer
70aa1dd3c8
Added auditLog labs flag
refs https://github.com/TryGhost/Toolbox/issues/356

- allows work on the Audit Log project whilst in alpha
2022-08-15 14:59:32 +02:00
Peter Zimon
373a682d54 Fixed descenders bug in editor title
no refs.

- After switching to Inter font in the Admin font descenders were cut in the editor title in Safari.
2022-08-15 13:31:04 +02:00
Ronald Langeveld
5e98c78493
Added accentColour to KoenigReactEditor as prop. (#15231)
no issue
2022-08-15 11:29:09 +02:00
Djordje Vlaisavljevic
713635b49f Fixed tier modal when free trial not enabled
refs https://github.com/TryGhost/Team/issues/1791
2022-08-14 13:59:37 +02:00
Djordje Vlaisavljevic
ab97216c3f Updated tier modal design
refs https://github.com/TryGhost/Team/issues/1791
2022-08-12 18:24:05 +02:00
Simon Backx
27df4e536f
Added native comments (#15223)
no issue

- Removes the comments lab flag (bumping it to GA).
- Bumps comments-ui to v0.8
2022-08-12 16:06:06 +02:00
Rishabh
60cd54dda3 Added auto focus on name when creating new tier
closes https://github.com/TryGhost/Team/issues/1785
2022-08-12 16:24:44 +05:30
Rishabh
00f2c73d93 Added auto generated offer code for new offers
closes https://github.com/TryGhost/Team/issues/1784

- auto generates offer code for new offers from name, same as display name
- stops auto generation as soon as offer code is manually edited once
2022-08-12 16:20:26 +05:30
Rishabh
d4860e7fe3 Fixed typo for free trial flag
refs https://github.com/TryGhost/Team/issues/1726
2022-08-12 14:21:54 +05:30
Djordje Vlaisavljevic
0f0d21e074 Updated font weight
refs https://github.com/TryGhost/Team/issues/1724
2022-08-12 09:44:33 +02:00
Djordje Vlaisavljevic
a0ce5b4b7e Updated spacing
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 18:38:03 +02:00
Djordje Vlaisavljevic
8daa4afc34 Updated tier preview price terms design
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 17:13:36 +02:00
Djordje Vlaisavljevic
49abd41af8 Updated button group design
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 17:06:12 +02:00
Djordje Vlaisavljevic
28a69ec5c6 Switched word to lowercase
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 14:30:22 +02:00
Djordje Vlaisavljevic
2a8c414717 Revert "Switched word to lowercase"
This reverts commit fd69f7fbcc.
2022-08-11 14:27:10 +02:00
Djordje Vlaisavljevic
fd69f7fbcc Switched word to lowercase
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 14:19:58 +02:00
Rishabh
18cd104510 Updated default trial days on new offer
refs https://github.com/TryGhost/Team/issues/1726

- updates default trial days to 7 for new offers
2022-08-11 17:40:56 +05:30
Rishabh
ae7f39168b Refined member free trial details for canceled subs
refs https://github.com/TryGhost/Team/issues/1726

- shows canceled info for free trial subscriptions on member detail page
2022-08-11 15:47:39 +05:30
Rishabh
c51edc19d9 Fixed lint 2022-08-11 12:03:38 +05:30
Rishabh
728b2d36e1 Updated trial duration validation for new offers
refs https://github.com/TryGhost/Team/issues/1726

- handles negative trial duration to show inline errors in offer creation UI
2022-08-11 12:03:38 +05:30
Rishabh
52e3ae2058 Handled mapping offer to subscription for free trials
refs https://github.com/TryGhost/Team/issues/1726

Free trial offers don't have a Stripe coupon created for them, as the trial is directly added to checkout session. So for mapping a subscription to offer, we pass the offer id directly from checkout metadata to link the subscription in backend with right offer data. This also handles the case where the offer id against a subscription can get overwritten for a subsequent subscription event, as the sub event from Stripe doesn't has the trial offer info.

- handles storing an offer id for a subscription
- updates member detail in Admin to show the offer info for a subscription
2022-08-11 12:03:38 +05:30
Rishabh
7130fc2833 Wired free trial offer UI in offers list
refs https://github.com/TryGhost/Team/issues/1726

- refines UI for a trial offer in offer list
2022-08-11 12:03:38 +05:30
Rishabh
b8acc9ef19 Wired trial offer UI to data
refs https://github.com/TryGhost/Team/issues/1726

- wires creating new trial offers in the Admin UI
2022-08-11 12:03:38 +05:30
Djordje Vlaisavljevic
530da36a9c Added static HTML for free trial offer variant in offers list
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 12:03:38 +05:30
Djordje Vlaisavljevic
5cf6d212a9 Added static HTML for free trial option to offer creation
refs https://github.com/TryGhost/Team/issues/1726
2022-08-11 12:03:38 +05:30
James Morris
40d5b213f9 Tweaked the email notifications in the staff profile to look a little less weird
refs https://github.com/TryGhost/Team/issues/1774
2022-08-10 16:13:32 +01:00
Ronald Langeveld
0a03164fe4
Added uploadUrl props to React component (#15208)
no issue
- passes `uploadUrl` to React component as a prop.
2022-08-10 11:57:49 +02:00
Djordje Vlaisavljevic
f50857afaf Updated copy
refs https://github.com/TryGhost/Team/issues/1757
2022-08-09 16:54:19 +02:00
Rishabh
63fc06da28 Added trial info on member subscription
refs https://github.com/TryGhost/Team/issues/1724

- shows free trial info in member detail page for subscription
2022-08-09 19:20:38 +05:30
Rishabh
ce80d250bf Handled null trial days on tiers
refs e26c977c66

- handles null trial days in admin and API, sets trial days as 0 for null values
2022-08-09 14:14:22 +05:30
Daniel Lockyer
1d06439633
Prevented linking to GitHub for pre-releases
- if we're running a pre-release, we haven't released it on GitHub so
  Admin shouldn't provide a link to it
- instead of pulling in `semver`, I've just gone for the simpler method
  of looking for the pre-release string identifier
2022-08-09 08:32:59 +02:00
Aileen Nowak
f390e0217b Updated copy on Explore screen
no issue
2022-08-08 15:03:45 +01:00
Aileen Nowak
15a9ccc5ad Fixed typo on Explore site 2022-08-08 15:03:45 +01:00
Rishabh
800a2ee3d7 Updated portal preview in tier modal
refs 9e43fa9332

- cleans up free trial logic in portal preview
2022-08-08 17:57:02 +05:30
Djordje Vlaisavljevic
9e43fa9332 Updated portal preview in edit/add tier
refs https://github.com/TryGhost/Team/issues/1757
2022-08-08 12:53:14 +02:00
James Morris
b757b4ae9c Updated the copy for comments in the staff profile settings
refs https://github.com/TryGhost/Team/issues/1744
2022-08-08 11:29:14 +01:00
Rishabh
de49ab6423 Removed explore from labs
refs 6ce3e8efd6

- explore was accidentally left behind in labs alpha UI after going GA due to merge conflicts
2022-08-08 14:07:16 +05:30
Sanne de Vries
dee631e70e Fixed broken calendar icon in members filter 2022-08-08 10:29:13 +02:00
Daniel Lockyer
edca39bbc1
Revert "🐛 Fixed avatar overlapping with initials (#15167)"
This reverts commit 1f9fadf4c7.
2022-08-05 16:23:29 +02:00
Aileen Nowak
036cf865d0 Added responsive styles for Explore screen
no issue

The submit button was not reachable on mobile devices. This commit adds responsive styles for the majority of mobile devices.
2022-08-05 15:06:21 +01:00
Rishabh
a016834427 Fixed cancel button on tier modal with free trials
refs https://github.com/TryGhost/Team/issues/1724
2022-08-05 18:34:28 +05:30
Salih Candir
1f9fadf4c7
🐛 Fixed avatar overlapping with initials (#15167) 2022-08-05 14:57:00 +02:00
Rishabh
6ce3e8efd6 Wired trial days to tiers UI in Admin
refs https://github.com/TryGhost/Team/issues/1724

- allows site owners to add trial days to tiers (behind feature flag)
2022-08-05 17:23:40 +05:30
arsereg
182a7ea07c
💡 Upgraded Tenor API to v2 (#15087)
closes: https://github.com/TryGhost/Ghost/issues/14980
refs: cc276486f0

- Tenor is now operated by Google, and the old v1 Tenor API has been decommissioned
- At present anyone with a pre-configured tenor integration will get intermittent errors, whilst it is impossible to setup a new tenor API integration
- Sadly old keys do not work with the new API, and new keys do not work with the old API, so there is no happy path forward.
- After this lands, everyone will need to go and get a new Google API Key for Tenor, update their config, and then the integration will work properly again.
- This particular change renames the API key from `publicReadOnlyApiKey` to `googleApiKey` to reflect that the key itself changes in type and behaviour

Co-authored-by: Hannah Wolfe <github.erisds@gmail.com>
2022-08-05 12:13:27 +01:00
Daniel Lockyer
949d3e7508
Updated error copy when running an unsupported database
refs https://ghost.org/docs/faq/supported-databases/

- the supported database changes we were putting in place for v5 are
  now applicable, so the copy needs to change
- also including minor design updates to make it look like an error
2022-08-05 12:23:21 +02:00
Aileen Nowak
085958d53d Added Ghost Explore integration
no issue

- bumps Ghost Explore to GA from alpha
2022-08-05 10:06:10 +01:00
Sanne de Vries
a16dd5e8dd Fixed post title placeholder being invisible in dark mode 2022-08-04 18:04:55 +02:00
Sanne de Vries
7ab1d0eb40 Added more visual contrast to publish button 2022-08-04 17:57:40 +02:00
Sanne de Vries
175c3d645f Added styles to react editor wrapper 2022-08-04 17:32:36 +02:00
Kevin Ansfield
677f2961f4 Added wrapper element around react editor loading/error/editor states
no issue

- has a default class of `koenig-react-editor` which can be added to by using `@className`
- adds classes of `koenig-react-editor-loading` and `koenig-react-editor-error` to the `<p>` elements rendered during loading or when loading fails
2022-08-04 15:55:52 +01:00
Kevin Ansfield
03c5201d51 Made koenig-react async import protocol agnostic
no issue

- when running locally with local development version of koenig-react without any proxies we were previously forcing `https://` even if the specific url in config was `http://` meaning a proxy was required
- switched to allowing both http and https urls in config
2022-08-04 14:54:41 +01:00
arsereg
cc276486f0 Updated Tenor API to v2 (#2418)
refs: https://github.com/TryGhost/Ghost/issues/14980
refs: https://github.com/TryGhost/Ghost/pull/15087

- The Tenor v1 API has been decommissioned https://developers.google.com/tenor/guides/migrate-from-v1
- Updated the API to v2, but there are some differences we have to account for 
- Swapped from using the old "trending" API to the new "featured" API, which at present seem to be the same thing
- Added a new client_key, which identifies the integration using the google API key, as google API keys can be used for multiple APIs and projects
-  Fixed up the error handling to support Google's error format, and also caught and replaced the error that everyone with old keys will see to make it clearer. This includes adding an htmlError property so that we can output HTML safely in the frontend.

There is still an active TODO with the naming of the config key, but we will resolve this after merging admin into the monorepo.

Co-authored-by: Hannah Wolfe <github.erisds@gmail.com>
2022-08-03 14:11:55 +01:00
Simon Backx
407760e1cd Fixed clicking on member in dashboard activity feed comment events
refs https://github.com/TryGhost/Team/issues/1731#issuecomment-1203007918

- The memberId property was not parsed correctly for comment events
- Updated code to fallback on member.id instead of member_id
2022-08-03 13:40:51 +02:00
Simon Backx
235ede719c Updated comment activity feed text and styles
refs https://github.com/TryGhost/Team/issues/1731
2022-08-03 13:35:24 +02:00
Kevin Ansfield
90a080e0b8 Update dependency eslint-plugin-ghost to v2.14.0 (#2441)
no issue

- bumped dependency
- fixed all new lint failures
- removed deprecated `ember-cli-eslint`
  - it was tying us to an old version of `eslint` resulting in missing rule definition errors when linting was run as part of `yarn dev` and `ember test`
  - we run linting separately in CI so we don't need linting to run _again_ on each of our ember test runs
2022-08-03 12:21:16 +01:00
Aileen Nowak
c263f48b79 Fixed using the correct token for Explore
no issue

- The `adminKey.secret` property is already in the correct format of `admiKey.Id:adminKey.secret` so we were returning the id twice as query param
- Minor style adjustments for Explore
2022-08-03 11:51:18 +01:00
Sanne de Vries
9729ec11be Removed bottom margin on post preview 2022-08-03 12:23:04 +02:00
Kukhyeon Heo
3780e80b14 🐛 Fixed pasting into the post tags input not working (#1739)
closes https://github.com/tryghost/ghost/issues/12294
refs https://github.com/TryGhost/Admin/pull/1707

- cache registered shortcuts and check KeyboardEvent before dispatching event to the root
2022-08-03 11:14:12 +01:00
Scott Beinlich
08b31ebadb 🐛 Fixed impersonate modal not closing correctly when navigating away from member page. (#1753)
closes https://github.com/TryGhost/Ghost/issues/12214

- previously, when navigating back from the members page with the impersonate modal open, opening a new member showed the impersonate modal.
2022-08-03 10:13:16 +01:00
James Morris
7af8ef0c10 Tidied up the comments post title style for events
- Following styling from email events
- Includes other tweaks to bring consistency
- Added in text truncating for member activity page

refs https://github.com/TryGhost/Team/issues/1731
2022-08-02 18:11:50 +01:00
Kevin Ansfield
577a749e12 Updated modifiers to resolve ember-modifier@4.x deprecations
no issue

- followed the migration guide to switch to from lifecycle hooks to single `modify()` method
  - https://togithub.com/ember-modifier/ember-modifier/blob/master/MIGRATIONS.md
- forced resolution of `ember-in-viewport@4.0.2` to avoid older version of `ember-modifier` being pulled in through `ember-infinity`
2022-08-02 16:54:34 +01:00
Simon Backx
2d5c9ff5d7 Added POC for activity feed comment post name
refs https://github.com/TryGhost/Team/issues/1731

- Includes the post title and url in the activity feed
- For now only implemented on the member page (not yet in remaining 2 activity feeds)
- No styling added
2022-08-02 17:02:42 +02:00
Gabriel Csapo
ddfeb90fc6 Updated ember-auto-import@1 -> ember-auto-import@2 (#2252)
requires https://github.com/TryGhost/Ghost/pull/15128
refs https://github.com/TryGhost/Admin/pull/2252

- bumped `ember-auto-import` dependency
  - updated `autoImport` config to match new format
  - added dependencies for node packages that no longer have built-in polyfills in webpack@5
- updated `asset-delivery` to work with `ember-auto-import@2`
  - reverted to standard ember `index.html` to let `ember-auto-import` handle it's insertion of multiple JS chunk files
  - updated the `asset-delivery` addon to copy the the `index.html` and `/assets` to `core/built/admin/{development|production}/` directory rather than splitting the `index.html` file apart from the assets inside Ghost's directory structure
- switched to relative root URL in development/production
  - required because assets are served from the same directory the index file is served from in Ghost rather than from the root
  - Admin uses `/#/` URLs so it can be served from any subdirectory without requiring prior knowledge of that directory at build time

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2022-08-02 13:43:28 +01:00
tatsuya-ogawa
3feee8b816 Added missing schedule events to webhook dropdown (#2082)
- these webhook events are not available to choose from in Ghost admin, even though they exist and work
2022-08-02 12:34:30 +01:00
Sanne de Vries
22344a28b5 Fixed username being cut off in profile menu 2022-08-02 12:04:14 +02:00
Kevin Ansfield
50aa6f4877 Dropped app.import for react/react-dom in favor of ember-auto-import
refs a4a4136c2f (commitcomment-79676720)

- `ember-auto-import` does the right thing automatically so manual `app.import` is not necessary and avoids potential pitfalls with multiple copies of react being bundled
- added the `window.*` global attachments after importing so that our async loaded UMD components have access to our bundled React and ReactDOM instances
2022-08-02 09:42:25 +01:00
Paul Davis
1c36b93949 Fixed display of warnings after content import (#2192)
- Fixes the horizontal overflow caused my longer warning/error messages. This means the <pre> tag is sized to fit the container and can now be scrolled and read in its entirety.
- Adds some top margin so these errors are not so bunched up to the text & input.
2022-08-02 09:23:46 +01:00
Scott Beinlich
80326996f5 🐛 Fixed markdown card lacking superscripts & subscripts. (#1763)
fixes: https://github.com/TryGhost/Ghost/issues/12219

- the WYSIWYG editor supports ^2^ for superscript and ~2~ for subscript
- with this change, the same syntax is supported in the markdown card, which was missing

Co-authored-by: Hannah Wolfe <github.erisds@gmail.com>
2022-08-01 19:51:27 +01:00
Rishabh
9d43a7a7cf Removed alpha flag for newsletter paywalls
refs https://github.com/TryGhost/Team/issues/1680

- newsletter paywalls is now GA, no need for alpha flag
2022-08-01 18:02:35 +05:30
Aileen Nowak
515bf1cc14 Added Ghost Explore UI
no issue

- Added `/explore` route which requires min. Admin and is behind a feature flag
- Fetches Admin API key and ID to create a token and return back to Ghost Explore with the correct query params
- Fullscreen UI
2022-08-01 11:11:47 +01:00
Kevin Ansfield
bbf7e8ed7a Cleaned up react component rendering
no issue

- switched from needing to extend from `ReactComponent` to using a `{{react-render}}` modifier
  - modifiers are modern idiomatic Ember for handing "did-insert" hooks and associated lifecycle
- moved code from `<ReactMobiledocEditor>` into `<KoenigReactEditor>`
  - no need for the extra layering of components and need to remember two places to modify when adding passthrough args/props
2022-07-28 15:52:50 +01:00
Kevin Ansfield
bd194f4ccc Fixed loading of react editor in production
no issue

- replaced use of `GhostAdmin` global when it doesn't exist in production by using the `Ember` global and picking the correct namespace
2022-07-28 13:37:20 +01:00
Kevin Ansfield
fd0398d5e2 Fixed unsupported .cleanup() calls on react editor
no issue

- `react-editor` controller has much of the same code as the normal editor controller but not all of the editor-instance methods are supported in the react editor yet
- commented out the remaining `.cleanup()` calls that are intended to remove empty cards because the method does not exist and was throwing errors when leaving the react-editor route
2022-07-27 14:14:12 +01:00
Kevin Ansfield
7a9435d524 Hooked up editor registration in react editor experiment
no issue

- use the `didCreateEditor` hook to register the editor instance as we do with our Ember version of Koenig
- allows for initial handling of focus control for moving cursor between title and body inputs
- disabled card cleanup call because the react editor does not yet have cards or the custom `cleanup()` method
2022-07-27 14:14:12 +01:00
Kevin Ansfield
a4a4136c2f Fixed hooks not being usable inside of react components
no issue

- switched to using the `window.ReactDOM` instance that is created when importing the react/react-dom libraries
  - React stores state/component references inside of the ReactDOM instance when rendering so we need to make sure all renders use the same instance otherwise it loses track of which component a hook belongs to
- cleaned up unnecessary vendor shims and `prop-types` import
  - `react` and `react-dom` vendor shims are unused when using the globals instead of imports
  - `prop-types` import+shim is not required as it's part of the `@tryghost/koenig-react` build unlike the earlier direct import of `react-mobiledoc-editor`
2022-07-27 14:14:12 +01:00
Aileen Nowak
b1e44dd2f2 Added explore alpha feature flag 2022-07-27 13:14:40 +01:00
Peter Elmers
26e6d459cb Put plus menu button on the screen on mobile (#2417)
Fix the right positioning and size of the icon for mobile display
Addresses https://github.com/TryGhost/Ghost/issues/14948
2022-07-27 11:29:33 +02:00
Peter Zimon
6ae1cce9c8 Fixed browser preview site title word wrap bug 2022-07-27 10:42:36 +02:00
Rishabh Garg
47fa59ea72 Added flag for newsletter paywall feature (#2430)
refs https://github.com/TryGhost/Team/issues/1680
2022-07-26 21:30:21 +05:30
Kevin Ansfield
b5b88e7c5e Added mobiledoc change handling to react-editor experiment
no issue

- passed through the `onChange` event handler so that changes to the content are updated in Ember and autosave etc is triggered
2022-07-26 14:42:59 +01:00
Kevin Ansfield
873a2ff8e3 Updated <ReactMobiledocEditor> to work with single-component export from koenig-react
no issue

- top-level export from `@tryghost/koenig-react` is a single component and the UMD module is loaded onto `window.koenigEditor`
2022-07-26 14:34:14 +01:00
Peter Zimon
e5bcc52dfc Updated new site creation typography 2022-07-25 11:26:07 +02:00
Simon Backx
c9a3211032 Updated comment events to use parent instead of parent_id 2022-07-22 14:34:43 +02:00
Simon Backx
0963da7a2e Added support for comment activity feed events
refs https://github.com/TryGhost/Team/issues/1709

- Hides comment events if lab flag is disabled
- Hides comment events if comments are disabled
2022-07-22 11:52:11 +02:00
Peter Zimon
05789e4466 Fixed typography glitches
- fixed letter spacing for titles using Inter font
2022-07-21 10:24:10 +02:00
Peter Zimon
b7a5f4f266 Switching default font to Inter (#2429)
This PR switches the default font for Inter to provide a much more reliable typography across various OS's and for better integration with the Ghost brand.
2022-07-21 09:58:22 +02:00
Djordje Vlaisavljevic
29b47d9556 Added z-index for post settings panes 2022-07-19 17:19:41 +02:00
Kevin Ansfield
f00bdbf43c Changed url for react editor module to use Ghost/config-provided url (#2428)
reqs https://github.com/TryGhost/Ghost/pull/15045

- accesses the Ember registry via the `GhostAdmin` global to grab the editor component url that Admin fetches from the config endpoint
- `ember-auto-import` does not allow dynamic imports unless it can see it's an absolute URL, to work around that we strip the `https://` part of the provided URL and manually include it in the template string so it's detectable as an absolute URL when building
- added redirect to posts screen if no editor url is provided in config
2022-07-19 14:24:07 +01:00
Kevin Ansfield
896cd4888f Switched to dynamically loaded external react-mobiledoc-editor package
no issue

- dropped the bundled `react-mobiledoc-editor` package
- updated `<ReactMobiledocEditor>` component to pull in editor components dynamically
  - added a resource function to dynamically import the external module
  - added `Container` and `Editor` components that read from the resource function and wrap components of the same name from the external module
  - added `<Suspense>` around the `Container` and `Editor` components so that React will show a loading state whilst the external components are still being fetched
  - added `<ErrorHandler>` so we can show an error state if loading fails
2022-07-19 12:48:53 +01:00
Kevin Ansfield
d991da399c Added support for building/rendering react components
no issue

- updated ember-cli-build and eslint config to support jsx
- added `react` and `react-dom` libraries
  - included them in the build so the `React` and `ReactDom` globals are available for use by third party components
  - added vendor shims so we can do things like `import * from 'react'` where the imports are referenced directly to the already imported modules
- added `<ReactComponent>` component
  - designed to be extended from in specific react component classes
  - renders a div and calls `renderComponent()` action once inserted - this should be replaced in any extended classes in order to render a react component
  - handles react rendering and teardown
- added `<ReactMobiledocEditor>` react component that renders an editor composed of components provided by the `react-mobiledoc-editor` package
- added `<KoenigReactEditor>` ember component that renders `<ReactMobiledocEditor>` and handles pass-through of Ember arguments and handling of actions
- updated `<GhKoenigEditorReact>` to render `<KoenigReactEditor>` in place of `<KoenigEditor>`
2022-07-19 12:48:53 +01:00
Kevin Ansfield
81f3718867 Duplicated <GhKoenigEditor> to <GhKoenigEditorReact>
no issue

- the component wraps the title and editor canvas components, we only want to replace the canvas component with a react experiment so we need a duplicate for use in the `react-editor` experiment templates
2022-07-18 11:11:19 +01:00
Kevin Ansfield
8d65303268 Fixed linter error for use of {{action}} in editor-loading controller
refs https://github.com/TryGhost/Ghost/issues/14101

- `{{action}}` is deprecated and should be replaced with `{{on}}` and `{{fn}}` with direct use of methods
- switched to calling `ui.setMainClass` action directly
2022-07-18 10:50:03 +01:00
Kevin Ansfield
a77388159c Duplicated editor screens to react-editor
no issue

- initial set up ready for testing use of react components (specifically an editor component for this experiment) inside of Admin
- added `react-editor` route
- duplicated all editor screen files and updated route references where necessary
2022-07-18 10:43:29 +01:00
Djordje Vlaisavljevic
067ebeab7b Made it easier to tell primary and other authors apart in post settings 2022-07-15 15:28:03 +02:00
Simon Backx
9e7727752c Updated support email address confirmation flow (#2426)
refs https://github.com/TryGhost/Team/issues/584

- No longer uses a API URL + redirect inside verification emails. This is replaced by a new route (`/settings/members/?verifyEmail=token`) that does the API request and shows a modal.
- Removed update button when changing support email address in the Portal settings
- Added `_meta` attribute to settings (uses same pattern as newsletters model)
- When updating the `membersSupportAddress` setting (via the normal edit endpoint), the `sent_email_verification` meta property will get set by the API. When this new property is present, we'll show a warning that the support address requires verification.
2022-07-15 14:44:26 +02:00
Djordje Vlaisavljevic
5d827ad1a9 Made it easier to tell internal and public tags apart in post settings 2022-07-15 11:19:40 +02:00
Daniel Lockyer
1d6fee8aa0 Fixed date zero-padding in table views
- when you have a date column in a table, dates with 2 digits vs 1
  digit cause the vertical alignment to be all over the place
- this commit fixes the date formatting for those entries to be zero-padded
2022-07-15 09:45:42 +01:00
James Morris
587ae505f0 Added in hover states for the members list so it matches other lists
no issue
2022-07-14 16:29:02 +01:00
James Morris
db0929d07a Improved the strange resizing issues for the main chart on new Dashboard 2022-07-14 16:00:17 +01:00
Sanne de Vries
a4d5d14ba6 Updated internal tag style in user deletion modal 2022-07-14 15:11:43 +01:00
Sanne de Vries
09794a7c05 Updated theme upload modal in Casper error state
No ref

- Updated modal default state to make it look more clickable
- Updated the Casper upload error state design
- Changed the 'try again' button to directly open the finder rather than only resetting the modal
2022-07-14 15:07:08 +01:00
jp
214ad1d57c 🎨 Added link to GitHub release for current version (#2349) 2022-07-14 15:07:24 +02:00
James Morris
415dfa97b3 Refactored and cleared out some unneeded Dashboard CSS
no issue
2022-07-14 10:37:10 +01:00
James Morris
551db84966 Small fix for email newsletter setting arrow placement
no issue
2022-07-14 09:52:26 +01:00
Djordje Vlaisavljevic
5ad99f79a9 Added unique aria-labels to form elements 2022-07-13 18:25:46 +02:00
Djordje Vlaisavljevic
a710dd3c06 Removed option to close the modal by clicking behind it 2022-07-13 17:28:29 +02:00
Djordje Vlaisavljevic
82808d69f5 Made the "back" buttons have unique aria-label attributes 2022-07-13 17:27:24 +02:00
Kevin Ansfield
cb6e1679e9 Fixed modalOptions.ignoreBackdropClick not always being picked up
no issue

- the modal instance on `this.top` inside the background click handler is not always a direct instance so we need to check both `.options` and `._options` when looking for the desired click ignore behaviour
2022-07-13 16:02:34 +01:00
Djordje Vlaisavljevic
1158555084 Set canonical post placeholder value to post URL 2022-07-13 16:59:28 +02:00
Simon Backx
5f63060f78 🐛 Excluded plan changes from paid subscribers graph in dashboard
refs https://github.com/TryGhost/Team/issues/1673

When a user switches plan, the paid subscribers delta chart on the dashboard displays the change as a cancellation plus a new subscription. This display is misleading and confusing - instead, plan changes should be excluded from the paid subscribers delta chart.
2022-07-13 13:46:45 +02:00
Sanne de Vries
be2744c27f Updated activity feed empty state icon 2022-07-12 14:03:40 +01:00
Sanne de Vries
18102f309b Fixed empty state icons in dark mode 2022-07-12 13:49:24 +01:00
Sanne de Vries
be0fb41636 Updated webhook actions to dotdotdot menu 2022-07-12 13:38:51 +01:00
Naz
c7de8d3358 Updated copy for user deletion modal
refs https://github.com/TryGhost/Ghost/issues/15008

- When the user is removed the new flow adds a special tag and reassignes all the user-owned posts to the owner user. Updated copy to inform about this behavior clearly
2022-07-13 00:26:13 +12:00
Sanne de Vries
abc11a8028 Fixed broken activity filter empty state 2022-07-12 12:47:48 +01:00
Sanne de Vries
ea2bbef4c1 Fixed broken icon for activity empty state 2022-07-12 12:28:57 +01:00
Sanne de Vries
ea92f89c1d Removed unused contributors code and images 2022-07-12 11:38:08 +01:00
Rishabh
0ec3e2274f Removed sodo search alpha feature flag
refs https://github.com/TryGhost/Team/issues/1665

- removes feature flag for sodo search as its now bumped to GA
2022-07-12 13:22:26 +05:30
Kevin Ansfield
c06692a2fb 🐛 Fixed "Published" date for recent posts in dashboard always showing current time
no issue

- switched to the actual published at property name
- wrapped date in `{{moment-site-tz}}` so the site-local time is shown
2022-07-08 12:34:58 +02:00
Naz
04d27fac5f Stopped downloading site backup when deleting a user
refs https://github.com/TryGhost/Ghost/issues/15008

- Backup process had a slim benefit to keep around. Without it the removal process is much smoother.
- The backup still happens on the server side if it's absolutely needed at some point in the future
2022-07-08 20:56:52 +12:00
Kevin Ansfield
87eafc1ae4 Wired up user comment notifications toggle 2022-07-06 18:32:13 +02:00
Peter Zimon
27212475f3 Added basic email notification for comment in staff 2022-07-06 17:55:44 +02:00
Peter Zimon
385000d4ce Fixed lint error 2022-07-06 11:09:25 +02:00
Peter Zimon
ff7bb48b7e Added Comment access dropdown to membership settings 2022-07-06 11:01:57 +02:00
Kevin Ansfield
79f0c04828 Added commentsEnabled setting
refs https://github.com/TryGhost/Team/issues/1664

- used to change native comments system availability
2022-07-06 09:53:21 +02:00
Kevin Ansfield
b98b6aa805 🐛 Fixed dashboard member activity feed always showing current time for timestamp
no issue

- `event.timestamp` was used instead of `parsedEvent.timestamp` meaning it was undefined and `{{moment-format}}` created a new date object instead of using the real event date
2022-07-06 09:22:05 +02:00
Kevin Ansfield
8ff94df1c8 Added comments toggle to labs feature list
no issue
2022-07-04 14:15:53 +02:00
Naz
2857e46d7c Added sodoSearch flag to Admin Labs
refs 911ce4f29e
2022-07-04 18:10:42 +08:00
Kevin Ansfield
f03041929f 🐛 Fixed schedule post date picker sometimes not allowing "today" to be selected
no issue

- with large site timezone UTC offsets it could happen that "today" in the site timezone is not selectable in the date picker when scheduling posts
- the problem occurred because we were passing a minimum date to the date picker in UTC which was then converted to a local date using just the "YYYY-MM-DD" data but that would not always be correct because the UTC date could be "tomorrow" compared to the site timezone. Passing in the minimum date in the site timezone rather than UTC ensures the minimum date always matches "today" in the site timezone
2022-07-01 11:20:26 +01:00
Kevin Ansfield
100dea6d98 🐛 Fixed scheduled post datepicker sometimes picking day before selected date
no issue

- in sites with a timezone that is negatively offset from UTC at certain times of day when the equivalent UTC date would be the next day, selecting a date when scheduling a post would select a day before the selected date
- fixed the date adjustment when applying the selected date to properly take timezones into account
2022-07-01 11:20:26 +01:00
Simon Backx
557e268445 Added newsletter archiving tests
refs https://github.com/TryGhost/Team/issues/1477
2022-06-02 10:39:17 +02:00
Sanne de Vries
1e76022a28 Fixed post bookmark shifting layout bug 2022-06-01 18:26:20 -04:00
Sanne de Vries
5e7678b239 Fixed empty states spacing regression 2022-06-01 17:31:23 -04:00
Kevin Ansfield
e1dfe3edb0 🎨 Improved save/update button copy in editor (#2413)
no issue

- renamed "Update" to "Unpublish" or "Unschedule" to match the available actions
- renamed "Save" to "Update" and made it always visible but disabled when there are no unsaved changes
- switched <Editor::PublishManagement> to a provider component and extracted `<Editor::PublishButtons>`
  - allows for the management flow to wrap other UI elements and have the yielded actions passed down so the publish/update flow can be opened from more than just the publish/unschedule/unpublish buttons
- added link to "Sent" in editor status that opens the update flow for email-only posts

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2022-06-01 13:48:33 +01:00
Kevin Ansfield
ed235b374d Increased publish flow acceptance tests
refs https://github.com/TryGhost/Team/issues/1586

- updated `?newsletter_id=id` handling in posts API mock to match the real `?newsletter=slug` behaviour
- added additional publish flow acceptance tests for single/multiple newsletter behaviour, scheduling, and sending
2022-05-31 22:59:20 +01:00
Peter Zimon
4d89ddf5bf Added 2 digit pad to fraction prices 2022-05-31 17:38:43 +02:00
Kevin Ansfield
99f05e14b2 🐛 Fixed default publish type being "Publish and email" when default recipients set to "Usually nobody"
no issue

The default recipients setting "Usually nobody" was being respected with the email recipient list defaulting to no members selected. However the UI for that state was confusing because the default publish options ended up being "Publish and email" and "Not sent as a newsletter" but it was expected to be "Publish" with the newsletter option being disabled.

- updated the `PublishOptions` setup to reflect the desired outcome for "Usually nobody"
  - default publish type is set to "Publish"
  - default email recipients are set to match post visibility - this means there are fewer clicks required when switching from "Publish" to "Publish and send"
- updated mirage data setup so any members created are automatically assigned to any newsletter instance with `subscribeOnSignup` set
  - ensures we get proper member counts in the publish flow
2022-05-30 20:04:04 +01:00
Kevin Ansfield
3f0e46c7b0 Added initial tests for new publish flow
refs https://github.com/TryGhost/Team/issues/1586

- added test helper for enabling/disabling members and helpers for disabling mailgun and newsletters
- added `loginAsRole` helper that alleviates duplication of user+role creation and also handles log-out before log-in so it's easier to mix different role tests within a block that has a default role setup in `beforeEach()`
- cleaned up editor tests that were skipped due to using the old publish flow
- added `Publish flow` acceptance test suite with an initial batch of tests
2022-05-30 19:12:16 +01:00
Kevin Ansfield
e4b402c603 Sped up tests that use {{liquid-if}}
no issue

- some tests were unnecessarily slowed down by waiting repeatedly for animations to complete
- added override for `<LiquidContainer>` component that `<LiquidIf>` uses internally with the only change being to set the default growth animation duration to 5ms when running tests
2022-05-30 12:10:37 +01:00
Djordje Vlaisavljevic
ac52e01977 Put less emphasis on the "Send test email" button 2022-05-30 12:42:13 +02:00
Kevin Ansfield
09400a1ef8 🐛 Fixed broken file selectors in labs, general, and portal settings screens
refs 8fee5f155b

- the conversion from jQuery to native was incomplete in a few places and still used `.find()` in place of `.querySelector()`
2022-05-29 11:18:55 +01:00
Simon Backx
191c7e312b 🎨 Reduced favicon requirements (#2408)
refs TryGhost/Team#1652

- Support picking new image types in the favicon image uploader.
- Added support for non-square and not resizable files (e.g., svg files) as favicon (cover background image).
2022-05-27 16:20:40 +02:00
Kevin Ansfield
8e9582d632 Migrated signup screen to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- dropped usage of `<GhTrimFocusInput>` and `<GhTextInput>` in favor of native input elements for more explicit behaviour
- switched `SignupController` to native class syntax
  - migrated to `@action` decorators and swapped all template action triggers to `{{on}}` and `{{fn}}`
2022-05-27 13:28:29 +01:00
Kevin Ansfield
33d724527c Fixed linter error
refs 817bc3453d
2022-05-27 13:07:36 +01:00
Kevin Ansfield
817bc3453d Cleaned up unused profile image upload in signup controller
refs https://github.com/TryGhost/Admin/pull/2286

- the UI to upload a profile image during setup/signup was removed as part of the auth screens redesign but the related code was left behind
2022-05-27 13:04:33 +01:00
Peter Zimon
1b682696cc Fixed publish end screen bookmark text overflow bug 2022-05-27 13:28:42 +02:00
Kevin Ansfield
67d87e8756 Fixed flash of failure state when submitting site setup and staff signup forms
no issue

- ensure tasks return `true` or `false` so the button states reflect reality
- added `@showSuccess={{false}}` to both forms because they automatically switch to a new screen on success so there's no point showing a flash of the success state
- removed unnecessary and not-recommended tabindex properties on form elements
2022-05-27 12:13:54 +01:00
Kevin Ansfield
c24ea5d0bc Fixed raw JS error messages appearing in alerts (#2407)
refs https://github.com/TryGhost/Team/issues/1613

We use `notifications.showAPIError()` in many of our try/catch routines but those can also pick up standard JS errors which can result in ugly and useless messages showing in alerts.

- added a list of known built-in JS error type names to check against and a generic error message to be used in place of ones we know shouldn't be displayed
- in `showAPIError(obj)` check `obj.name` against the known list and swap the message for a generic one
  - only the message is swapped, we still log the full/original error to Sentry
- in `handleNotification(msg)` which is the final method used when displaying any alert/notification, extract all words in the supplied message and check that against the known list and swap the message on a match. This handles situations where the API might give us a raw JS error message in the message string
2022-05-27 11:52:39 +01:00
Kevin Ansfield
b9707a2b4a Moved logic for publish confirm button text states into backing class (#2397)
refs a021553203

- keeps text and logic together, avoids duplication of button code just for changing the running/success text
- added a `buttonTextMap` to keep the high-level text states in one place
- added `publishType` getter for easier switching between states in other getters and to have one place for the logic
- updated `confirmButtonText` getter and added `confirmRunningText` and `confirmSuccessText` getters that read from the button text map so the pattern used for getting text to pass as arguments in the template is consistent
2022-05-27 11:45:40 +01:00
James Morris
2f85bd6ea4 Fixed the button positions and spacings for the Publish, Save and Sidebar icons in the editor
no issue
2022-05-26 13:47:38 +01:00
Kevin Ansfield
a4df422249 🐛 Fixed editor cards sometimes being removed as soon as they are added
no issue

When adding cards to the editor, especially image cards, we were seeing the cards removed instantaneously or whilst the file dialog was open making it appear that nothing had happened after selecting the card in the menu or selecting a file.

- as part of the publish flow workflow we extracted the pre-save routine into a separate task so that it could be triggered from external components
- one of the pre-save routine actions was to trigger an editor cleanup that removes empty cards and trailing paragraphs _but_ it should only do that when not performing a background save that occurs on any change to the post contents for drafts
- the problem arose from the background saves because the `options` argument was never passed through to the `beforeSaveTask` call meaning every save looked like a full save and performed editor cleanup resulting in unexpected removal of empty cards that had just been created
2022-05-26 12:39:15 +01:00
Kevin Ansfield
8fee5f155b Standardized on non-jQuery file dialog triggers
no issue

- we had a mix of legacy jQuery triggers and native triggers for file input clicks and jQuery hasn't been required to do this in our target browsers for quite a long time now so it made sense to update all click triggers to avoid old patterns being replicated
- cleaned up some conditionals with optional-chaining
- removed use of `run.bind(this)` for methods that use `@action` because the binding is already handled for us
2022-05-26 11:05:14 +01:00
Kevin Ansfield
aaef8f7d44 Deleted unused <GhProfileImage> component
no issue

- the component became unused when the staff user page design was updated but was never cleaned up
2022-05-26 10:42:10 +01:00
Kevin Ansfield
d23b7525a4 Removed post.email from serialization when saving posts
closes https://github.com/TryGhost/Team/issues/1647

- sending the embedded `email` record back to the API when saving could trigger "Request entity too large" errors for very large posts that were sent as email because it doubles up on the request size
- `post.email` is a read-only property and is ignored by the API so there's no point serializing it and making request bodies larger than they need to be
2022-05-25 14:27:05 +01:00
Simon Backx
741d00baf6 Removed tweetGridCard feature flag 2022-05-25 13:52:57 +02:00
Kevin Ansfield
7356bfbcd9 Migrated notifications tests to Octane patterns
refs e021843e3f

- fixed closing of alerts due to missing `.args` after migrating to glimmer syntax
- updated related tests for glimmer component syntax
2022-05-25 12:45:26 +01:00
Kevin Ansfield
e021843e3f Migrated notifications to Octane patterns
no issue

- migrated `notifications` service from EmberObject to true native class
  - switched to tracked properties and use of `TrackedArray`
  - swapped computed properties to getters
  - dropped unnecessary usage of `get` and `set`
- migrated alert/notification related components to Glimmer components
2022-05-25 12:16:37 +01:00
Kevin Ansfield
36564a984f Deleted email-recipient model file missed in relationship cleanup
refs 1ade40d697
2022-05-25 11:22:09 +01:00
Kevin Ansfield
1ade40d697 Removed unneeded member.emailRecipients relationship setup
no issue

- the relationship is no longer used (it was a temporary solution whilst we built full member events) and was never fully set up resulting in warning output in test runs
- dropped remaining vestiges of the relationship
2022-05-25 11:18:37 +01:00
Simon Backx
7f6de77cee Removed selectablePortalLinks feature flag
refs https://github.com/TryGhost/Team/issues/1616
2022-05-25 11:36:30 +02:00
Kevin Ansfield
99bfde4417 Converted <GhCanvasHeader> to glimmer component
no issue

- added `{{on-scroll}}` modifier to replace custom setup and teardown of event handlers inside the component
2022-05-25 10:07:11 +01:00
Sanne de Vries
96a2e016b1 Fixed truncation of publication title in post bookmark 2022-05-25 10:39:00 +02:00
Sanne de Vries
7263d74c15 Truncated publication and author names in post bookmark 2022-05-25 10:33:19 +02:00
Peter Zimon
90dfe9f0df Fixed button type from membership settings link 2022-05-25 10:27:44 +02:00
Sanne de Vries
5edc95d96d Fixed dark mode issues in publishing flow 2022-05-25 10:23:11 +02:00
Kevin Ansfield
a09a1939c7 Fixed linter errors in editor preview templates 2022-05-25 09:13:08 +01:00
Kevin Ansfield
f76d7e9cd2 Renamed editor-labs component directory to editor
no issue

- cleanup now the old publish flow is no more
2022-05-25 09:13:08 +01:00
Simon Backx
49c0a64184 Cleaned up removed feature flags
refs https://github.com/TryGhost/Team/issues/1616
2022-05-25 10:11:24 +02:00
Sanne de Vries
edbdcb410d Fixed spacing bug on filtered posts empty state 2022-05-25 10:08:47 +02:00
Kevin Ansfield
90be535eb8 Fixed linter error
refs a90f9d275c
2022-05-24 17:56:12 +01:00
Kevin Ansfield
a90f9d275c Fixed "Update support address" button showing error on success
no issue

- the API response is now empty so returning the parsed response is null/undefined resulting in `<GhTaskButton>` showing a failure state
- switched to returning an enforced `true` value, if there was an error that's handled by the try/catch
2022-05-24 17:52:31 +01:00
Simon Backx
3f95a5e00f Removed unnecessary and helper 2022-05-24 16:55:50 +02:00
Simon Backx
bc1aa493fa 🐛 Fixed unreliable paid members enabled checks (#2405)
refs https://github.com/TryGhost/Team/issues/1650

- Some places only checked for Stripe being connected via the 'connect' method and ignored the 'direct' method
- Updated (where possible) admin to use the new calculated `paid_members_enabled` setting
2022-05-24 16:53:03 +02:00
Kevin Ansfield
94c192041d Added guards for missing codemirror elements when destroying markdown cards
no issue

- if a markdown card is created and destroyed before the simplemde+codemirror instance is fully initialised we could throw errors due to simplemde calling methods on objects that don't yet exist during teardown
- we also had issues with the `_applyToolbarStyles()` method being called async by event handlers after the component was destroyed
2022-05-24 13:12:22 +01:00
Hannah Wolfe
1ca5b43fcb Fixed link to redirect documentation
closes: https://github.com/TryGhost/Ghost/issues/14888

- tutorials no longer lives under docs
2022-05-24 12:31:33 +01:00
Sanne de Vries
70f82896cd Added break-all to email addresses on member details page 2022-05-24 13:25:53 +02:00
Kevin Ansfield
7dd32423b6 🐛 Fixed inability to select a date in future months when scheduling
no issue

- selecting a date in a future month always selected the same day number in the current month, if that was in the past it would also reset to "in 5 minutes"
- we were grabbing the day/month/year from the moment object provided by the calendar picker but we weren't using the correct property names, moment.js uses `months` and `years` instead of `month` and `year`
2022-05-24 10:41:50 +01:00
Sanne de Vries
446ab3a9d8 Fixed subscriber count formatting on publish confirmation page
No ref
2022-05-24 10:57:56 +02:00
Kevin Ansfield
2502639a86 🐛 Fixed timezone related issues when scheduling posts
no issue

- fixed incorrect conversion of time when converting between site tz and utc when setting scheduled hour/minute in publish flow
  - we initially created a UTC `newDate` moment from `publishOptions.scheduledAtUTC` but then used `newDate.tz(siteTimezone).format()` to get the time which was the source of the bug, it was assumed that was a non-destructive action returning a new date but it actually changed the underlying date resulting in the later calculations causing timezone adjustments to be applied twice
  - simplified by not converting to UTC inside the publish-at component as that's already handled inside PublishOptions
- fixed time not resetting to minimum schedule time when set to earlier date than allowed
2022-05-23 22:12:37 +01:00
Djordje Vlaisavljevic
f3b56d092a Fixed text overflow in the input field 2022-05-20 12:09:41 +02:00
Djordje Vlaisavljevic
80a9a664a7 Fixed mobile preview border-radius issue in Safari 2022-05-20 10:13:03 +02:00
Simon Backx
552800bde7 Fixed dashboard recent posts not showing email only posts
refs https://ghost.slack.com/archives/C02G9E68C/p1652982196273769
2022-05-20 09:34:25 +02:00
Kevin Ansfield
7a5f15414b Fixed scheduled publishedAt validation being triggered unexpectedly
no issue

Problem:
- the server stores time with second-level precision but we send milliseconds
- when scheduling a post we were storing the selected publish-at time in the PublishOptions instance with non-zero milliseconds as the initial date was based on now+5mins
- when we were saving after the initial schedule that millisecond-containing time was still being used resulting in a perceived time difference in our client-side and server-side validations indicating that the published_at value should be updated, but when that time was <2 mins in the future the published_at change validation was triggered resulting in errors

Solution:
- ensure we only set times on PublishOptions with 0 milliseconds
- update client-side validations so we only trigger published_at validation when it's dirty

Also fixed:
- client-side validation errors were not shown on the confirm step due to a missing `.args`
2022-05-19 23:11:01 +01:00
Simon Backx
bafbe9b6b0 Fixed paid subscribers graph not counting all items
refs https://ghost.slack.com/archives/C02G9E68C/p1652971697862399?thread_ts=1652893154.768669&cid=C02G9E68C

mergeDates skips a value when the date of the next item is different than the currently aggregating entry
2022-05-19 17:20:03 +02:00
Djordje Vlaisavljevic
d2db9c6a7f Fixed dropdown flicker in dark mode 2022-05-19 16:44:16 +02:00
Sanne de Vries
20b797d2e4 Updated subscriber count in newsletter selection dropdown in publish flow
No ref
2022-05-19 15:17:55 +02:00
Kevin Ansfield
802a3c6187 Skipped animation when switching between preview modal tabs
refs 2c9998be69

- animation should only show when opening the preview modal directly from the editor
2022-05-19 13:33:23 +01:00
Sanne de Vries
2c9998be69 Added animation to post preview modes and publish button
No ref
2022-05-19 14:13:12 +02:00
Sanne de Vries
2941065eb7 Added back button to completed publishing flow
No ref
2022-05-19 13:39:40 +02:00
Kevin Ansfield
b03aa5f255 Added reverse animation to publish/preview modal contents when closing modal
refs 2fb62708a8

- use modal's own `.epm-out` class that's added when closing to trigger the reverse of the fade-in animation
- added `.publish-modal` class to the three publish modals so we can alter the default modal animations/timing if required
2022-05-19 12:19:55 +01:00
Simon Backx
e7a703ee73 Removed commented css code 2022-05-19 13:19:21 +02:00
Simon Backx
195733af2c Fixed icon and button colours in dark mode
refs https://ghost.slack.com/archives/C02G9E68C/p1652957053084759

- Activiy feed filters label colours
- Activiy feed member email address text colour
- . (i) icon when editing newsletters
- colour of edit pencil when editing free tier
- paid tiers 'active' dropdown button colour
2022-05-19 13:15:30 +02:00
Kevin Ansfield
08aa2d91ba Skipped publish flow modal animations when swapping between publish/preview
no issue

- updated the publish/preview toggle action to pass a `skipAnimation` data attribute to the modals when opening if they are being swapped rather than initially opened
2022-05-19 12:02:23 +01:00
Djordje Vlaisavljevic
5d0e3d2536 Fixed icon color in dark mode 2022-05-19 13:01:26 +02:00
Kevin Ansfield
dce531cf1c Standardized on "subscriber" for default & multiple newsletters in publish flow
no issue

- "subscriber" makes more sense than "member" in the default-only newsletter state because members still need to be subscribed to the default newsletter
- removed all subscriber/member conditionals and cleaned up template logic where possible
2022-05-19 11:37:01 +01:00
Sanne de Vries
2fb62708a8 Added fade-in effect when opening publish and preview modals in editor
No ref
2022-05-19 11:58:51 +02:00
Simon Backx
f9cd8b1f66 Removed zero tiers from paid mix charts (unless all zero)
no issue

When the last tier in the paid mix chart is zero, the border radius is broken.
2022-05-19 11:41:54 +02:00
Simon Backx
1ce02660aa Fixed recent posts open rate bars width
refs https://ghost.slack.com/archives/C02G9E68C/p1652951577111489
2022-05-19 11:28:37 +02:00
Kevin Ansfield
0549ffd4b5 Removed unused component argument with typo
no issue

- spotted the typo and thought there was a bug somewhere but post count isn't used in the complete-with-email-error state of the publish flow
2022-05-19 10:25:05 +01:00
Sanne de Vries
e09f41716b Fixed subscriber count not showing for scheduled email-only posts
No ref
2022-05-19 11:23:50 +02:00
Simon Backx
0cddb3ccb9 Fixed archived paid tiers causing dashboard errors 2022-05-19 11:19:28 +02:00
Sanne de Vries
df15dcb8d5 Added confirmation message to email-only post being sent
No ref
2022-05-19 10:54:44 +02:00
Sanne de Vries
435f5189aa Hid "Back to settings" when publish button is running
No ref
2022-05-18 20:56:49 +02:00
Sanne de Vries
8468994014 Added spinner icon to running publish button
No ref
2022-05-18 20:48:36 +02:00
Sanne de Vries
2835d0a6a4 Fixed publish button pulsating when running
No ref
2022-05-18 20:32:10 +02:00
Kevin Ansfield
473831ac2b Added image fallback and site icon/title to <GhPostBookmark> (#2401)
no issue

- adds `{{get-setting "key"}}` helper to make settings available in templates without needing a backing class
- updated `<GhPostBookmark>` component
  - if post feature image isn't present, fall back to site cover image
  - add site icon (if present) and title to the details line
  - removed author image

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
2022-05-18 19:05:27 +01:00
Kevin Ansfield
f2b9fa544f Fixed published post count shown on publish complete step
no issue

- API query was using `?status=published` instead of `?filter=status:published` so was counting all posts rather than just published ones
2022-05-18 18:01:28 +01:00
James Morris
9019ae783c Fixed up the borders for dark mode on Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-18 17:06:41 +01:00
Simon Backx
fdece55480 Added auto save to newsletters toggle
refs https://github.com/TryGhost/Team/issues/1639

- When enabling/disabling newsletters, the change is saved automatically
2022-05-18 17:26:03 +02:00
Rishabh Garg
1dc3026aba Fixed subscribe count on adding new newsletter (#2402)
refs https://github.com/TryGhost/Team/issues/1634

- member count on newsletter may not be immediately updated on saving newsletter
- api returns `opted_in_member_count` in response to adding newsletter which admin cannot use atm
- re-fetches newsletters on save so all newsletters get updated member and post counts
2022-05-18 20:44:42 +05:30
Simon Backx
857a8e5ae0 Added tests for unsaved newsletter changes
refs https://github.com/TryGhost/Team/issues/1477
2022-05-18 15:57:02 +02:00
Sanne de Vries
02a3f4d784 Changed running and success copy for publish button when scheduled
No ref
2022-05-18 15:14:43 +02:00
Simon Backx
d87aef7e0a Removed some multipleNewslettersUI feature checks 2022-05-18 15:00:29 +02:00
Kevin Ansfield
6c960704b9 Hid total member counts in newsletter selection for authors/editors
no issue

- authors/editors don't yet have a way to fetch member counts for specific filters so the final member count is hidden in the publish options text, however we were still showing the total subscribed members for each newsletter in the dropdown which could lead to incorrect assumptions for how many members would receive the newsletter
2022-05-18 13:58:25 +01:00
Simon Backx
6ba9f6a3be Fixed tiers without members not shown in paid mix chart 2022-05-18 14:17:59 +02:00
Simon Backx
59a1b8a31f Added tests for editing newsletters
refs https://github.com/TryGhost/Team/issues/1477

- Added default test fixture
- Added tests for validation of newsletter when editing
- Added tests for opening and closing tabs
2022-05-18 13:14:38 +02:00
Kevin Ansfield
93c9035c49 Fixed "memberssubscribers" text in editor status for scheduled posts
refs d11cf9e1c7

- "free subscribers" worked but "paid" and "all" states still had "members" in the fixed string along with the new "members/subscribers" plural variable resulting in text like "all memberssusbcribers of My Newsletter"
2022-05-18 10:55:31 +01:00
Kevin Ansfield
a6dcd936bc Hooked up "revert to draft" button on complete step after scheduling
refs a19d5c7df3

- added handling of the `afterTask` return value provided when closing the publish flow modal via the revert-to-draft button
2022-05-18 10:49:08 +01:00
Kevin Ansfield
ea98469e6e Cleaned up improvedOnboarding labs flag
no issue

- the feature has been GA for a while now so the conditionals are no longer required
2022-05-18 10:13:06 +01:00
Kevin Ansfield
07fde0ee48 Fixed double capitalisation in publish options recipients text
refs 89f089e439

- if "Free" or "Paid" had already been output we were still capitalising "Subscribers" ending up with "Free Subscribers" instead of "Free subscribers"
- adjusted the capitalisation conditionals so we don't capitalize "subscriber(s)" if we've already output the recipient type
2022-05-18 10:00:18 +01:00
Simon Backx
e2ad6e9366 Fixed usage of nullish coalescing in dashboard mocking (missing file) 2022-05-18 10:54:50 +02:00
Simon Backx
4f52acd433 Fixed usage of nullish coalescing in dashboard mocking 2022-05-18 10:51:38 +02:00
Kevin Ansfield
89f089e439 Fixed incorrect member count and capitalisation in publish options for editors/authors
no issue

- `{{format-number}}` was showing "0" when passed in an empty/nullish string when it should have been showing nothing
- used `{{if-empty}}` to fix capitalisation when the member count is missing
  - previously attempted a CSS-only fix with `:first-letter` and `text-transform: uppercase` but that broke the layout in Safari
2022-05-18 09:42:44 +01:00
Kevin Ansfield
78418e3708 Resolved "no-action" lint errors in editor.hbs
refs https://github.com/TryGhost/Ghost/issues/14101

- backing class already updated to use `@action` so the use of `{{action}}` in the template could be removed
2022-05-18 09:27:43 +01:00
Kevin Ansfield
a7d7c4bf6d Fixed save button not appearing on title changes
no issue

- the title comparison in the editor's `hasDirtyAttributes` CP was comparing properties on the wrong object so never returned `true` when the title was changed
2022-05-18 09:25:27 +01:00
Djordje Vlaisavljevic
c16bc682cf Added bottom margin to post bookmark 2022-05-17 17:49:13 +02:00
Djordje Vlaisavljevic
a19d5c7df3 Added static unschedule-and-revert button 2022-05-17 17:49:13 +02:00
Djordje Vlaisavljevic
1320adbba7 Fixed user avatar design 2022-05-17 17:49:13 +02:00
Djordje Vlaisavljevic
a021553203 Updated button label logic to match different states 2022-05-17 17:49:13 +02:00
James Morris
bcef562206 Moved all the dropdowns to be right aligned on the new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-17 15:04:55 +01:00
James Morris
600e02610a Changed how the mini charts are layed out to fix bugs in Safari for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-17 14:44:19 +01:00
James Morris
b2a6c01cdf Working out the Safari layout issue when changing dropdowns on new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-17 14:44:19 +01:00
Peter Zimon
980f45719d Fixed sent email preview alignment bug 2022-05-17 15:20:58 +02:00
Djordje Vlaisavljevic
ba6e86d4c4 Set icon height so it doesn't break layout in Safari 2022-05-17 13:53:45 +02:00
Peter Zimon
44f338d8a6 Updated Dashboard tooltip background in dark mode 2022-05-17 13:36:37 +02:00
James Morris
1d25f6d494 Added in additional check for avatar which will depend on where the data source comes from
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-17 11:18:44 +01:00
Peter Zimon
5e3b3acad5 Updated dark mode modal background color 2022-05-17 11:53:59 +02:00
Peter Zimon
8891fd0bd4 Updated dark mode white color 2022-05-17 11:50:23 +02:00
Peter Zimon
da9a2c6b8a Added curve to line charts 2022-05-17 11:45:18 +02:00
Peter Zimon
a9da3b13fc Updated anchor chart background color 2022-05-17 11:41:11 +02:00
Peter Zimon
60568547e3 Updated dark mode colors 2022-05-17 11:38:34 +02:00
Hannah Wolfe
3dec09d7f7 Renamed "client" references to "admin"
refs: https://github.com/TryGhost/Toolbox/issues/299

- renamed things that reference Ghost admin as "client"
- these things make even less sense in a post core/client world
2022-05-17 09:09:14 +01:00
Simon Backx
8502ebb96a Moving over the new Dashboard to replace the old (#2389)
refs: https://github.com/TryGhost/Team/issues/1631

Co-authored-by: James Morris <moreofmorris@users.noreply.github.com>
2022-05-17 09:34:34 +02:00
Rishabh Garg
8b5b3aa734 Updated usage of the Tiers API (#2388)
refs https://github.com/TryGhost/Team/issues/1575

- Update usage of Tier to read monthly & yearly price & currency from top level
- Updated usage of Tier to read benefit name from benefits[n], not from benefits[n].name

Co-authored-by: Fabien "egg" O'Carroll <fabien@allou.is>
2022-05-16 19:51:49 +01:00
Kevin Ansfield
77484210ee Cleaned up old publish menu code
no issue

- the new publishing flow is GA making the old publish menu unused
- removed all related code
2022-05-16 18:07:53 +01:00
Hannah Wolfe
7521d69405 Removed oauth experiment (#2390)
refs: https://github.com/TryGhost/Team/issues/1625

- this didn't work the way we wanted to
- removing this will free up the namespaces to start over
2022-05-16 17:37:00 +01:00
Simon Backx
eee3a9aa90 🔥 Removed multipleProducts, tierWelcomePages, and tierName flags
refs https://github.com/TryGhost/Team/issues/1616
2022-05-16 17:25:03 +02:00
Rishabh
949077e6df Fixed lint 2022-05-16 19:52:52 +05:30
Rishabh
24f1012a98 Removed settings that are no longer in use
refs https://github.com/TryGhost/Team/issues/1625
refs 37818a1b71

- none of these settings are actively used anymore
2022-05-16 19:45:03 +05:30
Sanne de Vries
5a6066d064 Fixed publishing flow responsive issues
No ref
2022-05-16 16:13:24 +02:00
Kevin Ansfield
3b088cbd77 Removed usage of old publish menu for contributors
no issue

- updated `<PublishManagement>` and sub-components to handle contributors by replacing publish button with save button in main view and in preview
- removed feature flag gating and usage of `<GhPublishmenu>` in editor template
- updated tests that indirectly used the old publish menu so they work with the new design/behaviour
- skipped editor tests that used the old publish menu
2022-05-16 14:18:04 +01:00
Sanne de Vries
025fe3e6ae Fixed editor dark-mode issues
No ref
2022-05-16 13:50:58 +02:00
Kevin Ansfield
5415fb6e01 Updated post email preview to render with the selected newsletter (#2382)
refs https://github.com/TryGhost/Team/issues/1621
reqs https://github.com/TryGhost/Ghost/pull/14820

We want to allow previewing emails based on the newsletter selected in the publish flow.

- passed the selected newsletter from `<PublishManagement>` through to the preview modal then through to the email preview component
- removed tracked `newsletter` property and fetching of the default newsletter in the email preview component that was in place to allow `senderName` and `senderEmail` to be used in the component
- added `newsletter` getter that uses the `post.newsletter` or the passed in selected newsletter
- updated the email preview fetching to pass `?newsletter=slug` so the email is rendered with the correct newlsetter
2022-05-16 12:16:12 +01:00
Hannah Wolfe
385240e03d Refactored to use individual slack settings (#2384)
refs: TryGhost/Team#1625

- we want to remove backwards compatibility code for slack being a single setting

Co-authored-by: Rishabh <zrishabhgarg@gmail.com>
2022-05-16 11:38:32 +01:00
Kevin Ansfield
de2d3977ed Fixed Cmd+P shortcut not toggling preview in new publish flow
no issue

- removed "cmd+p" shortcut from the main editor element
- added "cmd+p" shortcut to `<PublishManagement>`
  - toggles the preview modal on/off
  - closes the publish modal if it's open when switching to the preview modal so we don't end up with both modals open simultaneously
- fixed "Preview" button not showing up for contributors
  - this still uses the old preview modal for now
  - contributor preview/save should be handled inside the new publish flow later on
2022-05-16 09:39:33 +01:00
Simon Backx
3a11faf0b6 Updated publishing with renamed newsletter and email_segment options (#2380)
refs https://github.com/TryGhost/Team/issues/1596

This commit updates admin to align with the changes in the backend in https://github.com/TryGhost/Ghost/pull/14798

- `post.email_recipient_filter` option and property is renamed to `email_segment`
- `newsletter_id` option is renamed to `newsletter` (and now uses slug instead of id)
- Sending a post via email, means you need to set the `newsletter` option. The `email_segment` option is optional now and defaults to `all`. Not setting `newsletter` means not sending an email, setting `email_segment` is ignored if `newsletter` is missing.
- We can no longer use `email_recipient_filter` (now renamed to `email_segment`) to know whether a post is published/scheduled to be sent as an email. We need to rely on the newsletter relation now. The `email_segment` `none` value has been dropped and will be `all` even if no email will be sent (newsletter will be null). 
- `sendEmailWhenPublished` option is no longer supported in the backend.
2022-05-16 10:18:46 +02:00
Sanne de Vries
3e8c5403b6 Updated error message for published post with failed email sending
Refs https://github.com/TryGhost/Team/issues/1587
2022-05-16 10:09:42 +02:00
Kevin Ansfield
150f4fda2d Remember post preview tab when switching between preview/publish
refs https://github.com/TryGhost/Team/issues/1621

- added `currentTab` and `changeTab()` data arguments to preview modal allowing for the current tab to be remembered across opens in the `<PublishManagement>` component that controls open/close of the preview modal
2022-05-13 17:43:34 +01:00
Sanne de Vries
d3e188fb3a Updated email and social post previews
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-13 15:36:56 +01:00
James Morris
201fbdfc9b Removed some unnecessary checks for Paid Mix
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-13 15:17:31 +01:00
Sanne de Vries
52cfae0522 Updated browser and mobile post previews
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-13 14:19:22 +01:00
Simon Backx
ff437752de Removed publish settings CSS capitalization
refs https://ghost.slack.com/archives/C02G9E68C/p1652428859090859

This CSS fix doesn't work on Safari on MacOS and causes some glitches.
2022-05-13 14:13:38 +02:00
Kevin Ansfield
810e8a5b18 Fixed "and sent" appearing on publish complete step when scheduling already-sent post
no issue

- the `post.willEmail` computed property was not taking into account an existing email so when re-scheduling the publish of a post that had previously been emailed the complete step showed "will be published and sent" rather than the correct "will be published"
2022-05-13 13:07:38 +01:00
Peter Zimon
0e9ac4b97d Paid mix chart alignment fix 2022-05-13 12:26:17 +02:00
Sanne de Vries
fef8e59050 Formatted post and member counts in newsletter settings and publishing flow
No ref
2022-05-13 10:27:01 +01:00
Peter Zimon
3ba3e34ab4 Minor dashboard UI refinements 2022-05-13 11:05:02 +02:00
James Morris
dcd6eba15b Fixing linter error 2022-05-12 18:12:14 +01:00
James Morris
d2f356e2a4 Attempting to fix the Paid Mix empty state for Tiers
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 18:05:20 +01:00
Sanne de Vries
f4df91aee7 Updated publishing flow
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 16:03:40 +01:00
Rishabh
704310ba20 Updated tier price to use boolean for active 2022-05-12 20:21:46 +05:30
Kevin Ansfield
dd3d84a8a5 Added separate "published but email failed" state to publish flow
refs https://github.com/TryGhost/Team/issues/1587

- if post creation succeeds but the email fails to send we want to show a separate state of the publish flow rather than adding an error to the confirm step
  - confirm _has_ completed so showing the error there doesn't make sense and causes confusing copy
- added check for email failure to the `<PublishFlow>` save task (which is called by the confirm step) to intercept any email failure errors and switch state
2022-05-12 15:28:35 +01:00
Sanne de Vries
4795343cdb Updated newsletter count in newsletter selection dropdown
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 15:03:17 +01:00
James Morris
f564943aa9 Fixed up the full width bar and other bugs with Paid Mix for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 14:58:02 +01:00
Hannah Wolfe
47d6c17135 Settings cleanup (#2377)
refs: https://github.com/TryGhost/Toolbox/issues/327
requires: TryGhost/Ghost#14791

- lang / locale has had a lot of churn, but we decided this setting should always be locale
- Removed test relating to unused editor_is_launch_complete setting 

Co-authored-by: Rishabh <zrishabhgarg@gmail.com>
2022-05-12 14:53:18 +01:00
Sanne de Vries
8932ba9b1a Added dropdown label for specific recipient selection in publish settings
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 14:49:07 +01:00
Sanne de Vries
07628be22b Fixed alignment of preview modes in editor
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-12 14:43:21 +01:00
James Morris
a6b4dbc353 Added in min and max values to the Paid Mix chart to maintain width
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 14:36:04 +01:00
Sanne de Vries
793b192199 Fixed broken mobile post preview
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-12 14:33:25 +01:00
Sanne de Vries
6f498035ea Updated post preview navigation
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-12 14:27:06 +01:00
Kevin Ansfield
f137aaea5c Added auto-reset of time input if invalid time was entered
no issue

- it was possible to enter invalid times when scheduling in the publish flow, in which case the underlying schedule date was not updated but the input still showed the invalid time
- added passthrough of the blur event in `<GhDateTimePicker>` to the `setTime` action so we have access to the input field, then updated the `setTime` action to set the time input value back to the currently set schedule time when an invalid time is entered so the UI matches the actually set value
2022-05-12 14:23:56 +01:00
James Morris
34a45d99a2 Added in better empty states for Paid Mix for Candence and Tiers
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 14:10:22 +01:00
Sanne de Vries
288ba328d7 Updated navigation between editor, publish, preview and update states
Refs https://github.com/TryGhost/Team/issues/1621
2022-05-12 14:03:21 +01:00
Peter Zimon
4b596e47c5 Improved neutral trend indicator on Dashboard metrics 2022-05-12 14:40:54 +02:00
Peter Zimon
ee744bda31 Updated resources box style 2022-05-12 14:35:39 +02:00
Peter Zimon
9a384857fd Updated bar thickness of Paid mix chart 2022-05-12 14:33:28 +02:00
Sanne de Vries
eafd2f901e Updated publishing flow email recipient filters
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 13:30:14 +01:00
Kevin Ansfield
2e6b219030 Fixed recipient select becoming disabled when all filters are turned off
no issue

- `publishOptions.willEmail` doesn't work for the conditional because it will be false when no email will be sent, which is the case when a recipient filter is the equivalent of "none"
- switched to being conditional on the publish type and added a separate "Not sent to any members" conditional for `recipientFilter` being blank so we're not showing an incorrect count of members
2022-05-12 13:21:57 +01:00
Peter Zimon
f3e35bb164 Fixed chart re-rendering bug 2022-05-12 14:04:29 +02:00
Sanne de Vries
f6b06ef9bf Updated email recipient filter design
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 12:56:43 +01:00
Kevin Ansfield
4c0c5dcac6 Allowed Editor and Author roles to see email options when publishing
no issue

- there are no restrictions on Editor/Author emailing on the API side
- removed `user.canEmail` computed property as it's only contributors that don't have publish/email permissions and they aren't shown the publishing flow anyway
2022-05-12 12:47:45 +01:00
Kevin Ansfield
d36517fb1e Fixed capitalization of email recipients option when member counts aren't available
no issue

- used CSS rather than `{{capitalize}}` to avoid multiple conditionals for something that's edge-case and will eventually disappear once member counts are available to all roles that can send email
2022-05-12 12:47:45 +01:00
Peter Zimon
527b07b490 Fixed Paid mix padding 2022-05-12 13:33:05 +02:00
Peter Zimon
8a3a5dd217 Minichart refinements 2022-05-12 13:20:48 +02:00
Kevin Ansfield
dd551acf91 Fixed schedule time changing after setting if local and site tz don't match
closes https://github.com/TryGhost/Team/issues/1622

- we were setting selected hour/minute on a supposedly site-timezone date before converting to UTC but we were using a local timezone date instead meaning the conversion to UTC didn't match resulting in the time being altered incorrectly after the time input loses focus
2022-05-12 12:13:06 +01:00
Sanne de Vries
513c8655e4 Updated error and info boxes in publishing flow
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 11:47:49 +01:00
Kevin Ansfield
cc8dd9dedf Added newsletter name to publish update flow copy
no issue

- show the newsletter a post was/will be sent to if there's more than just the default newsletter or the newsletter that was emailed is now archived
2022-05-12 11:44:10 +01:00
Djordje Vlaisavljevic
1349a03164 Updated modal title
refs https://github.com/TryGhost/Team/issues/1583
2022-05-12 12:16:12 +02:00
Sanne de Vries
af55c71a9e Updated publishing flow copy
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-12 11:14:45 +01:00
James Morris
e0d61631d3 Tiny tweak to the community hover state
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 10:20:41 +01:00
James Morris
da62c0c50b Fixed a z-index laying problem with the zero state on new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-12 09:50:00 +01:00
Rishabh
72e78b2588 Renamed portalProducts setting
refs affe6743e5

- `portalProducts` setting got accidentally renamed to `portalTiers` as part of tiers rename
2022-05-12 14:00:22 +05:30
Kevin Ansfield
cf8b372fed Added fullscreen preview with toggle to publish flow
refs https://github.com/TryGhost/Team/issues/1621

- copied existing preview modal over to `editor-labs/modals` directory
  - old modal will be deleted in cleanup
- moved "Preview" button from editor template to the `<PublishManagement>` component
  - allows for preview modal to be controlled alongside the publish flow modal
- added `togglePreviewPublish()` action to `<PublishManagement>`
  - opens whichever of preview/publish is not currently open, this opens the new modal on top of the old modal
  - waits for the modal animation duration to pass then closes the modal that's now underneath, this prevents the flashing that occurs when modals are both opening and closing at the same time because that results in a 50% opacity of both modals during the middle of the animation
- updated preview modal and publish-flow modals to have "Publish" and "Preview" buttons respectively that call the `togglePreviewPublish` action
- updated preview modal to be fullscreen to better match the publish modal
2022-05-11 23:46:01 +01:00
Kevin Ansfield
b285205c53 Removed old publish menu from preview modal
refs https://github.com/TryGhost/Team/issues/1621

- the old publish menu will be fully deleted soon
- removing it from the preview modal is the minimal "fix" for interoperability with the new publish flow
- pre-cursor to tighter preview/publish modal integration
2022-05-11 21:14:22 +01:00
Kevin Ansfield
e1c7360075 Fixed errors in publish flow for users who don't have email permission
no issue

- roles that don't have email permissions also don't have permissions to read newsletters so we shouldn't attempt to fetch any during PublishOptions setup
2022-05-11 21:05:31 +01:00
Kevin Ansfield
6c079daafa Improved handling of missing member counts in publish flow
no issue

Only Admins/Owners can browse members to get member counts but Editors/Authors are allowed to send email. This means we need to account for the count figures being missing.

- added guard to the total member count fetch in `PublishOptions`
  - guard needed because the failed API request would abort setup
  - when the current user isn't an admin, set the total member count to 1 to avoid email options being disabled
- added guard in the `{{members-count-fetcher}}` resource so we're not triggering API errors and the count is kept as `null` so it's handled automatically if passed to `{{gh-pluralize}}`
- updated `<GhMembersRecipientSelect>` to not show counts (or the surrounding `()`) when the count is `null`
2022-05-11 18:56:29 +01:00
Peter Zimon
02ccf5fe1a Added rounded corners to Paid mix 2022-05-11 19:52:32 +02:00
Peter Zimon
260d516ad5 Paid breakdown chart cleanup 2022-05-11 19:52:32 +02:00
Hannah Wolfe
affe6743e5 Renamed products to tiers (#2372)
refs: https://github.com/TryGhost/Team/issues/1145

- this should allow us to remove the /products endpoint in v5

It avoids:

- `kg-product-card`, that really is meant to say product
- `product-cadence` on offers

Co-authored-by: Rishabh <zrishabhgarg@gmail.com>
2022-05-11 22:41:54 +05:30
Kevin Ansfield
e852c29699 Extracted PublishOptions class into separate file
no issue

- `PublishOptions` was exported from the `<EditorLabs::PublishManagement>` component as a convenience when development started but both have now grown in size and are easier to read as separate files
2022-05-11 17:51:53 +01:00
Kevin Ansfield
bea1ffe665 Updated copy for recipients option when post has already been emailed
refs https://github.com/TryGhost/Team/issues/1605

- added number and type of members/subscribers the post has been sent to
2022-05-11 17:45:22 +01:00
James Morris
2b69ec2cf3 Added in a basic community hover state
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 17:39:51 +01:00
Sanne de Vries
221d520d11 Updated copy for published and scheduled posts
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-11 17:09:22 +01:00
Kevin Ansfield
1c2ae5348d Fixed forced-error for email limit
refs f559170a39

- hangover from testing
2022-05-11 17:02:23 +01:00
Kevin Ansfield
f559170a39 Added email limit checks and email disabled messaging to publish flow
closes https://github.com/TryGhost/Team/issues/1584
refs https://github.com/TryGhost/Team/issues/1605

- added email limit check to PublishOptions setup
- moved email disabled messaging from the email recipients option to the publish type option
  - it was confusing to have the email publish type options disabled without any indication of why, with the message hidden within the closed email recipients option
2022-05-11 17:00:30 +01:00
Peter Zimon
bb2b8fae27 Fixed gridlines density on dashboard 2022-05-11 17:57:39 +02:00
James Morris
dc8a431e45 Fixed up the empty list states if something fails for What's New or Staff Picks
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 16:51:11 +01:00
Peter Zimon
a926b8fb39 Added rounded corner to Paid breakdown chart 2022-05-11 17:49:48 +02:00
Sanne de Vries
d239eb29ee Fixed broken calendar icon
No ref
2022-05-11 16:12:52 +01:00
James Morris
54e9c63a7f Adjusting the dropdown so it fits flush against the top header better
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 16:08:18 +01:00
James Morris
cd9ec81006 Trying out moving the date dropdown
no issue

- seeing if this feels better up above than it is when inside the anchor
2022-05-11 16:08:18 +01:00
Sanne de Vries
dc14b9943f Updated publishing flow copy
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-11 16:04:42 +01:00
James Morris
7e7c1e4bf5 Removed the unnecessary component code for the Community module in new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 15:48:55 +01:00
Simon Backx
f6259f1f63 Moved dashboard control panel to developer experiments 2022-05-11 16:29:58 +02:00
James Morris
07b3f26e08 Fixed z-indexing that messed with some dropdowns and fixed the extra long widths on others
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 14:32:55 +01:00
Kevin Ansfield
37aec66e83 Fixed linter error 2022-05-11 12:56:19 +01:00
Kevin Ansfield
627b6f259a Added error handling to publish flow confirm step
closes https://github.com/TryGhost/Team/issues/1555
closes https://github.com/TryGhost/Team/issues/1588

- added task to the confirm component's backing class so it can be wrapped in step-specific error handling
- added display of general/email error message above the confirm button
- fixed error state of the confirm button showing as green and having incorrect spacing due to the icon being hidden in CSS rather than not displayed
2022-05-11 12:48:31 +01:00
Peter Zimon
1fa86d8c0f Removed unused JS variable 2022-05-11 12:58:59 +02:00
Peter Zimon
d24ec03177 Updated Paid breakdown tooltip positioning 2022-05-11 12:50:05 +02:00
Peter Zimon
032e86c12e Fixed Paid breakdown chart bar thickness 2022-05-11 12:20:20 +02:00
Peter Zimon
c2b49028f1 Updated dashboard totals chart ticks
- set 30 days to show every other gridline
- set 90 days to show every 3rd gridline

Note that this required to add an extra day to the displayed number of days.
2022-05-11 12:16:31 +02:00
Simon Backx
2d4bbad094 Implemented newsletter limits
refs https://github.com/TryGhost/Team/issues/1583

- When adding a newsletter, check the limits (both via button and route)
- When unarchiving a newsletter, check the limits
- Bumped `@tryghost/limit-service` package, required to make limit checking work for newsletter
- Added the `getNewslettersCount` query to the `limit` service
2022-05-11 12:10:26 +02:00
James Morris
97553181ce Removed All Time from the graphs in the new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-11 11:06:07 +01:00
Kevin Ansfield
e87e564462 Fixed published posts count in publish flow
no issue

- the count fetch was including all posts rather than just published ones so it never matched the expected count
2022-05-11 10:37:32 +01:00
Kevin Ansfield
ebcf4c7c16 Added member count to publish flow newsletter dropdown
no issue

- it's useful to see an indication of how many overall members are subscribed to each newsletter when selecting which newsletter to send to
- added `?include=count.members` to the newsletter fetch query so the counts are available to show in the dropdown
2022-05-11 10:24:55 +01:00
Peter Zimon
6e3267315a Improved dashboard tooltip positioning 2022-05-11 10:51:46 +02:00
Kevin Ansfield
28919eb057 Fixed "Already sent" showing in publish options when email disabled in settings
refs 46f01c2d8f

- if you had previously had emails enabled and you had sent a post as an email, when disabling members/emails all email related UI was hidden except for the "Already sent as email" message when publishing which was confusing as there is no other indication anywhere about emails and no way to view it
- added `emailDisabledInSettings` getter to PublishOptions
  - used in `emailUnavailable` getter in place of a duplicate read of the settings
  - used in the `<PublishFlow::Options>` component to conditionally hide the "Already sent" message
2022-05-11 09:43:55 +01:00
Kevin Ansfield
46f01c2d8f Removed email publish options when email is disabled, added message if already emailed
no issue

- when email is unavailable (members/email disabled, already emailed, publishing a page) don't show any email options in the publish flow so there's no confusion and a cleaner options list
- if a post has already been emailed indicate that with a "Already sent as email" when only one newsletter exists or "Already sent to {newlsetter name}" when multiple exist
2022-05-11 09:33:32 +01:00
Kevin Ansfield
8652f16005 Fixed publish confirmation button text
no issue

- the button text would still say "Publish & send" when no members were selected
- changed from comparing `publishOptions.publishType` directly to using the `willPublish` and `willEmail` convenience getters so the button text better matches the action being taken
2022-05-11 09:33:32 +01:00
Peter Zimon
ce81b9c342 Fixed total charts tooltip offset 2022-05-11 10:30:15 +02:00
Peter Zimon
1310a092d1 Updated totals chart tooltip 2022-05-11 09:26:57 +02:00
Peter Zimon
fe3e8ee64d Updated Paid mix tooltips 2022-05-11 09:03:56 +02:00
Peter Zimon
6e7eeba94e Updated MRR chart tooltip 2022-05-11 08:29:44 +02:00
Peter Zimon
da3053b3ae Updated Paid breakdown tooltip 2022-05-11 07:54:36 +02:00
Sanne de Vries
e134e5b365 Updated publishing flow header
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-10 21:10:17 +01:00
Kevin Ansfield
cf3f872fa6 Added client-side validation check for post before opening publish/update flows
refs https://github.com/orgs/TryGhost/projects/59/views/20

- before the publish/update flow modals are opened, perform a `post.validate()` call, if it fails show the red error bar and don't open the modal
- shows validation errors early rather than being hidden until a save occurs at the end of the publish flow
2022-05-10 19:24:54 +01:00
James Morris
1c1dbc9310 Added a small right margin to the open rate bar graphs in new Dashboard
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-10 19:05:44 +01:00
James Morris
236f6589c2 Removed a ton of unnecessary files and refactored the MRR component to be consistent
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-10 18:54:41 +01:00
James Morris
c488ca4dc5 Fixed up a linting issue for the empty state for Paid Mix
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-10 18:43:08 +01:00
James Morris
8bf30b3a68 Basic improvements to the Paid Mix empty state
refs: https://github.com/TryGhost/Team/issues/1531

- still not ideal, but better than it was and now not showing as broken
2022-05-10 18:40:27 +01:00
Sanne de Vries
d364116948 Updated publishing flow
Refs https://github.com/TryGhost/Team/issues/1544
2022-05-10 17:57:48 +01:00
James Morris
cf3650ddcc Better styling for the new empty state for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1594
2022-05-10 17:39:36 +01:00
James Morris
9c98e2e094 Removed unneeded variables and functions based on pull request review
refs: https://github.com/TryGhost/Team/issues/1594
2022-05-10 17:39:36 +01:00
James Morris
c0fd3e288b Added in a better responsive design to the new empty state for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1594
2022-05-10 17:39:36 +01:00
James Morris
53235a2c33 Added in the new copy for the empty state for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1594
2022-05-10 17:39:36 +01:00
James Morris
d6e98eca68 Fixed up linting errors for new empty state for new Dashboard
refs: https://github.com/TryGhost/Team/issues/1594
2022-05-10 17:39:36 +01:00
James Morris
f9231afa2a Further refinements to the new empty state for 0 members in new Dashboard
refs: https://github.com/TryGhost/Team/issues/1594

- this much more matches the style of the design
- it now covers the anchor and engagement charts
- has better fake data for all charts under the notice
- tweaked things for this in dark mode
2022-05-10 17:39:36 +01:00
James Morris
8af605babe Basic working empty state for the anchor chart when there are 0 members
refs: https://github.com/TryGhost/Team/issues/1594

- has new loading checks to see if there are 0 members
- has a blurred overlay box that works over the top of the anchor chart
- styles are still not perfect but work well enough for the mo
2022-05-10 17:39:36 +01:00
Simon Backx
c36a5bbaeb Fixed paidMembersByCadence always having keys
refs https://github.com/TryGhost/Team/issues/1601

When there is no data in the backend, no keys are added.
2022-05-10 18:06:24 +02:00
James Morris
917f17b7e6 Removed tick lines for All Time on totals chart and adjusted bar thickness depending on days selected for Paid Subscribers
refs: https://github.com/TryGhost/Team/issues/1531
2022-05-10 16:42:12 +01:00
Simon Backx
2b4e80b3dd Rounded MRR in dashboard
refs https://github.com/TryGhost/Team/issues/1602

- Added `cents` option to ghPriceAmount helper.
- Removed cents from MRR in dashboard.
2022-05-10 17:35:51 +02:00
Daniel Lockyer
53c93f7fd7 Hide system info when running in hosted environments
refs https://github.com/TryGhost/Toolbox/issues/326

- we want to simplify the What's New screen to hide the fields that are
  irrelevant for users in hosted environments
- this should still show the database warning for self-hosters
2022-05-10 14:11:23 +01:00
Simon Backx
d11cf9e1c7 Added newsletter name in post scheduled tooltip
refs https://github.com/TryGhost/Team/issues/1576

This change was required to avoid showing 'all members' or 'all paid members', when it was in fact 'all paid subscribers of newsletter X'. The newsletter name is only shown when multiple newsletters are activated on a site.
2022-05-10 15:00:30 +02:00