Commit Graph

8019 Commits

Author SHA1 Message Date
Kevin Ansfield
085ef1646c Converted hr card component to glimmer syntax
no issue

- switching to Ember "Octane" patterns
2021-11-08 13:10:39 +00:00
Kevin Ansfield
0b360c3383 Converted paywall component to glimmer syntax
no issue

- switching to Ember "Octane" patterns
2021-11-08 13:08:58 +00:00
Kevin Ansfield
9c3ddf4b2b Added additional error reporting and context to Sentry
refs https://github.com/TryGhost/Team/issues/1121

- adds error reporting for `notifications.showAlert()` in addition to `notifications.showAPIError()` because the former is used for some handled errors but will still show the undesired red error bar
- adds `shown_to_user` tag to all reported errors. Only errors that result in the red error bar will be reported with the tag as `true`, there may still be cases where we display errors outside of the red error bar but those wouldn't make it to Sentry either, we'll need a full audit of Admin source to find those situations and handle the reporting manually
- adds `ghost` context to errors that are shown in the red bar
  - `ghost_error_code` - code returned from the API or passed manually through the `notifications.showAPIError()` options argument. Will be filled in once the error message has been audited+approved
  - `displayed_message` - the full error message displayed to the user. Admin combines multiple attributes from the error details so it's useful to see what we actually show
  - `full_error` - the actual API error response or a client-side generated error object
  - `source` - whether the red bar came from `.showAlert()` or `.showAPIError()`, useful for tracking down where errors originated
2021-11-08 12:34:23 +00:00
Kevin Ansfield
60ece435bc 🐛 Fixed design settings preview using old settings immediately after activating theme
no issue

- updating the preview is done asynchronously in the background as it's not essential to the theme activation process being complete, however it was kicked off before we had waited for the custom theme settings to be re-fetched from the API. The front-end _has_ successfully swapped themes and settings at this point but when we preview we send a full set of custom settings meaning we were sending settings for the previous theme rather than the current theme because the local settings cache in Admin hadn't finished updating
2021-11-08 09:47:14 +00:00
renovate[bot]
e610ef6531 Update dependency @sentry/ember to v6.14.1 (#2137)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-08 09:09:56 +00:00
Naz
b33959f052 Added "filesAPI" labs alpha flag
refs https://github.com/TryGhost/Toolbox/issues/114

- A flag go control the Files API alpha feature
2021-11-08 11:36:35 +04:00
Naz
8f5d5a675e Corrected hbs formatting
refs d5c8d02f29
2021-11-08 11:33:27 +04:00
Daniel Lockyer
6e2e46852f v4.22.0 2021-11-05 16:00:29 +00:00
Sanne de Vries
8bcd4ea43c Deleted Massively and Editorial screenshots
No ref

- Themes won't be supported as official themes anymore
2021-11-05 16:25:03 +01:00
Sanne de Vries
6acdf1c15d Updated design settings page
No ref

- Retired Massively and Editorial as official themes
- Updated icon alignment in sidenav
- Updated grid for larger screens
2021-11-05 16:16:21 +01:00
Kevin Ansfield
23b919d52e Fixed design menu not collapsing after installing theme with custom settings
no issue

- added a `yield` to the fetch theme settings request when activating a theme so that settings are loaded before we switch back to the design index screen. Previously the load would happen async and the design menu didn't collapse because at the time of transition it looked like no custom settings were present
2021-11-05 15:10:24 +00:00
Peter Zimon
e5b6db173c Removed obsolete integration files
- removed unused integration files (was restructured under Settings / integrations)
- removed unused routes
2021-11-05 13:42:38 +01:00
Peter Zimon
62dd32c411 Removed unused staff related files
- removed old staff files
- removed unused routes
2021-11-05 13:10:58 +01:00
Kevin Ansfield
5bb85430af Re-organised {{movable}} render modifier code
no issue

- moved lifecycle hooks to top of file as they are framework-provided and control creation/destruction
- changed code order for `dragStart()`, `drag()`, `dragEnd()` so they follow the modifiers expected event cycle
2021-11-05 10:53:41 +00:00
Kevin Ansfield
3fafc4a48a Fixed {{movable}} stopping text input selection and allowing drag of dropdown elems
no issue

- stops drag from being initiated from any element that matches `input` or `.ember-basic-dropdown-trigger` so that text can still be selected from inputs whilst dragging and we don't get left with orphaned dropdowns from dragging a dropdown-inducing element
2021-11-05 10:47:39 +00:00
Kevin Ansfield
8d12c9ba59 Added RSS capitalisation in custom theme setting labels
no issue

- ensures capitalisation of custom theme setting labels matches expectations
2021-11-05 09:12:14 +00:00
Kevin Ansfield
e119eb3760 Fixed drag handling sometimes intercepting clicks on card settings panel
no issue

- added a movement threshold for click+drag so we don't make the drag fully active until there's been a few pixels of movement whilst the mouse is held down, fixes issues where a slight bit of movement when clicking on elements would make drag active blocking the click from working
2021-11-04 14:53:39 +00:00
Rishabh Garg
208b4948ff Moved launch complete flag to new editor setting (#2135)
refs https://github.com/TryGhost/Team/issues/807
refs https://github.com/TryGhost/Ghost/pull/13703

The launch wizard completed flag was previously stored at per user level in accessibility column of user table, so an administrator still got the option to complete the launch wizard even if the owner had completed it previously, which is not expected pattern. This change moves the launch complete flag to be stored in new global setting for site.
2021-11-04 18:04:39 +05:30
Kevin Ansfield
b230b2efff Fixed inputs being toggled / events being fired at end of {{movable}} drag
no issue

- moves disabling of scroll and pointer events into the `drag` handler so we don't inadvertently stop genuine clicks on elements inside the movable container
- adds a timeout for re-enabling pointer-events and clicks when drag finishes so we can still capture the unwanted events that would otherwise fire on mouseup
- uses a `click` event handler as that event is still fired even though we're preventing `mouseup`, fixes problems where the `pointer-events: none` on the movable container lets events through to the element behind it which could cause the movable container to be removed (eg, click event on the editor background moving a card out of edit mode)
2021-11-04 10:14:08 +00:00
Sanne de Vries
960b301db1 Fixed scrollbar issue in add-tier modal 2021-11-04 11:00:50 +01:00
Kevin Ansfield
49ea27cfb8 Fixed right-click triggering drag in {{movable}} modifier
no issue

- if the right button was pressed on the movable element it would start "drag" but also show the right-click menu meaning that once you clicked to close the menu the movable element was stuck to your pointer without the left button being held down
2021-11-04 09:49:14 +00:00
Peter Zimon
9568f703c3 Fixed staff tests
- fixed all staff related tests after Admin route restructure
2021-11-04 09:40:24 +01:00
Peter Zimon
9a09fe5192 Fixed staff route and bio character count
- Removed "offers" feature flag for staff user route
- Updated "Bio" character count UI in staff user detail screen
2021-11-04 08:58:55 +01:00
Peter Zimon
a2c963e794 Merged social account settings with site meta settings 2021-11-04 08:50:25 +01:00
Peter Zimon
87a91ae10a Fixed email CTA card bottom spacing 2021-11-04 08:47:22 +01:00
Naz
d5c8d02f29 Added "mediaAPI" labs flag
refs https://github.com/TryGhost/Toolbox/issues/95

- Flat go control the Media API alpha feature
2021-11-04 10:46:57 +04:00
Kevin Ansfield
aae6e32494 Added basic drag-to-move handling to card setting panels
no issue

- adds `{{movable}}` render modifier that sets up basic mouse/touch event handlers that adjust the element's `translate` style when click/touched+dragged so it can be moved around the screen
2021-11-03 16:51:24 +00:00
Renovate Bot
d48d61a2a5 Update dependency @sentry/ember to v6.14.0 2021-11-03 16:22:07 +00:00
Fabien 'egg' O'Carroll
6bd93a88ef Removed Offers related usage of labs flag (#2134)
refs https://github.com/TryGhost/Team/issues/1115

This removes all the usages of the Offers labs flag which do not modify routing.
The routing changes have been left for @peterzimon
2021-11-03 16:55:45 +02:00
Kevin Ansfield
999d69af4d Switched back to explicit edit mode for settings panel prototype
no issue

- added the edit toolbar icon back to the email-cta card
- switched back to displaying the non-editable version of the card when not in edit mode
- removed unused `showSettingsPanel` property from `<KoenigCard>` component, cards can now control display of settings panel using `@isEditing`
- removed unused `@visible` argument for `<KoenigSettingsPanel>` component
2021-11-03 14:52:05 +00:00
Peter Zimon
937a6a7e4e Settings panel style refinements 2021-11-03 14:32:41 +01:00
Peter Zimon
52d71be3d8 Updated styles for settings panel 2021-11-03 14:25:44 +01:00
Sanne de Vries
9b00e4d6b8 Fixed design settings sidenav animation 2021-11-03 11:24:56 +01:00
Fabien O'Carroll
d03ee358e0 Added membersAutoLogin labs flag
refs https://github.com/TryGhost/Team/issues/1067

- To be used whilst developing the auto-login functionality so we can
  test this on production sites.
2021-11-03 11:17:16 +02:00
Kevin Ansfield
ed4efdb0c0 Fixed linting
refs f4c50fb3a5

- removed errant console.log
2021-11-02 16:29:58 +00:00
Kevin Ansfield
f4c50fb3a5 First prototype for card settings panel
no issue

UI experiment (behind the `cardSettingsPanel` labs flag) for pulling card settings out into a separate side-panel. Prototyping against the email-cta card.

- shows panel immediately when selected unless selected by keyboard in which case it will wait for mouse input
- panel position is fixed so it's always on screen
- initial position tries to be as close to centered right of the card as possible
  - ensures all of the panel is on-screen, will overlap the card if there's no enough horizontal width
- re-positions after window resize
- card no longer has a separate edit mode, the text replacement field is directly editable
2021-11-02 16:25:54 +00:00
Kevin Ansfield
f9f3edd589 Added cardSettingsPanel labs flag
no issue

- to be used for toggling UI experiments/exploration for cards with separate settings panels
2021-11-02 09:56:49 +00:00
Kevin Ansfield
6f506b3e30 Fixed linter error 2021-11-01 18:40:47 +00:00
Kevin Ansfield
e9263827da Removed duplication of default modal class in modals service
refs https://github.com/TryGhost/Team/issues/559

- the majority of modals all have the same class so it doesn't make sense to repeat it constantly
- added `DEFAULT_OPTIONS` object for options that apply to all modals and removed the now-unnecessary repeated className definitions
- renamed `DEFAULT_MODAL_OPTIONS` to `MODAL_OPTIONS` to avoid confusion
2021-11-01 18:38:00 +00:00
Kevin Ansfield
396b99ecb0 Fixed upgrade modal not showing when theme uploads are not allowed
closes https://github.com/TryGhost/Team/issues/1193

- there was a typo in the limits modal component name that is shown when the limits service check fails when opening the upload theme modal
- added acceptance test with associated fix of modal name test selector in the template
2021-11-01 18:35:21 +00:00
Kevin Ansfield
7251b1acac Added acceptance tests for new design screen
no issue

- moved navigation settings tests from old settings/design tests to a separate file and unskipped them
- added happy-path acceptance tests for
  - rendering design screen
  - installing an official theme from the themes list
  - uploading a custom theme
2021-11-01 17:48:49 +00:00
Daniel Lockyer
7389285d96 v4.21.0 2021-10-29 16:00:28 +01:00
Kevin Ansfield
f6ec42959a Ensured preview iframes always include doctype and html attributes
closes https://github.com/TryGhost/Ghost/issues/13684
refs 7eda410dc3

- ensures any `<DOCTYPE html>` (or equivalent) served when fetching preview html is passed through when replacing iframe contents
- replicates across all previews the fix for missing attributes on the `<html>` element that was put in for the design settings preview - using `documentElement.outerHTML` in place of `documentElement.innerHTML`
2021-10-28 14:53:40 +01:00
Rishabh Garg
65495b528f 🐛 Fixed settings previews not working in private site mode (#2128)
closes https://github.com/TryGhost/Team/issues/1161

- when a site is in private mode, design previews, the portal previews on membership, customize portal and offer pages were unable to load. 
- For design and theme previews, the request to fetch preview data was failing due to cors and cookie not attached when admin and frontend have split urls. 
- For portal and offer previews, there was no authentication done on private site before load, so if user opened the pages directly on them it failed to load the site.
- this change adds a new service that authenticates private site from admin as soon as user session is loaded, so previews on settings will always find the authenticated session for private sites and load correctly.
- it also updates fetch method for previews to include credentials so they are always able to fetch the site data after login
- removes authentication from site route since that was done as its now centrally taken care of by the frontend service
2021-10-28 18:29:41 +05:30
Aileen Nowak
b48d4ec5e9 Fixed transitions redirect to BMA loop 2021-10-28 12:10:24 +02:00
Aileen Nowak
5593407647 Fetched owner users at earlier stage to have it ready for BMA 2021-10-28 12:10:24 +02:00
Sanne de Vries
e1fbb81b1e Fixed design sidenav icons appearing on top of sticky footer 2021-10-28 12:10:03 +02:00
renovate[bot]
1520c3dfa7 Update dependency testem to v3.6.0 (#2130)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-28 10:08:04 +01:00
renovate[bot]
bda04af77f Update dependency ember-useragent to v0.11.0 (#2129)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-28 10:07:56 +01:00
Aileen Nowak
69ea3ae14f Allow signout in forceUpgrade state 2021-10-28 10:50:00 +02:00
Sanne de Vries
fbaf172c05 Updated design settings sidenav 2021-10-27 16:59:45 +02:00
Sanne de Vries
4eabfd3093 Fixed footer jumping up when collapsing design settings tab 2021-10-27 16:29:42 +02:00
Sanne de Vries
829fc138a2 Made design settings sidenav footer sticky 2021-10-27 16:16:26 +02:00
Renovate Bot
875f3156c7 Update dependency @tryghost/kg-parser-plugins to v2.1.0 2021-10-27 11:56:24 +01:00
Renovate Bot
71ffe10e06 Update dependency @tryghost/kg-clean-basic-html to v2.1.0 2021-10-27 11:54:14 +01:00
Daniel Lockyer
613ebf88f5 Added support for Node 16
refs https://github.com/TryGhost/Toolbox/issues/71

- Node 16 is now LTS so we're picking up support for it
- we're also bumping the minimum Node 14 version to 14.17.0 so it
  unblocks merging dependencies
- Admin needs the Node engine range and CI updating
- CI has been updated to the minimum Node 14 range as that is our
  recommended version
2021-10-27 10:46:00 +01:00
renovate[bot]
d3e347ab53 Update dependency ember-concurrency to v2.2.0 (#2124)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 10:40:59 +01:00
Aileen Nowak
688e1a5fd8 Manually disable forceUpgrade when active subscription detected 2021-10-26 14:43:20 +02:00
Daniel Lockyer
31c3f22192 Merged v4.20.4 into main
v4.20.4
2021-10-26 13:21:15 +01:00
Daniel Lockyer
ade28ca903 v4.20.4 2021-10-26 13:20:31 +01:00
Aileen Nowak
8f8809996c Restructured gh-billing-iframe 2021-10-26 14:06:25 +02:00
Sanne de Vries
caea9ec656 Updated design settings page
- Decreased sidenav width
- Improved responsive theme grid layout
2021-10-26 11:52:13 +02:00
Kevin Ansfield
b7fee9a7bb Fixed editor status showing draft for sent email-only posts
closes https://github.com/TryGhost/Team/issues/1155

- added handling to `<GhEditorPostStatus>` for posts with status `'sent'`, it now shows "Sent to x members" instead of "Draft - saved"
2021-10-25 15:17:02 +01:00
renovate[bot]
26c4692306 Update dependency ember-cli-htmlbars to v6 (#2111)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-25 15:06:17 +01:00
renovate[bot]
73cd683117 Update dependency @tryghost/limit-service to v0.6.5 (#2120)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-25 15:05:44 +01:00
Peter Zimon
76a79d59e6 Updated line-height for offers articles 2021-10-25 15:13:38 +02:00
Daniel Lockyer
d83b5200da Merged v4.20.3 into main
v4.20.3
2021-10-25 11:30:27 +02:00
Daniel Lockyer
9fbb259d97 v4.20.3 2021-10-25 10:28:23 +01:00
renovate[bot]
55fb8e5d68 Update dependency @tryghost/members-csv to v1.1.8 (#2118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-25 09:15:48 +01:00
renovate[bot]
7f4e3bbf80 Update dependency ember-in-viewport to v3.10.3 (#2110)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-25 09:15:29 +01:00
Daniel Lockyer
399df7920b v4.20.2 2021-10-25 08:19:05 +01:00
Kevin Ansfield
3adb4b80bd 🐛 Fixed offers and custom theme setting features not appearing in Admin
no issue

- the feature flags still had the `developer: true` option so even though the server is correctly returning `true` for the features, Admin wasn't enabling them unless the `enableDeveloperExperiments` flag was also set
2021-10-25 09:00:14 +02:00
Daniel Lockyer
5588ead114 v4.20.1 2021-10-22 20:08:54 +01:00
Daniel Lockyer
1353191147 v4.20.0 2021-10-22 17:19:47 +01:00
Peter Zimon
4e9ea71c80 Fixed offer duration month error positioning 2021-10-22 16:33:25 +02:00
Peter Zimon
f76174c4df Fixed redirect of archiving offers 2021-10-22 16:19:58 +02:00
Rishabh
1fa408c48d Removed mandatory requirement from display title for offer
refs https://github.com/TryGhost/Team/issues/1163
2021-10-22 17:32:24 +05:30
Kevin Ansfield
cb13b7de1e Added automatic open of brand settings form when no custom theme settings exist
no issue

When no custom theme settings exist it's nice to have the brand settings form automatically visible when opening the design settings menu to avoid an extra click and let users make actions immediately. We don't want that behaviour when custom theme settings exist because it would hide useful context and result in extra scroll+clicks to get to the section you're interested in.

- when first rendering the menu, set the open section to `brand` if we're on the design settings index screen
- add an event handler to the router that re-sets the open section to `brand` each time we navigate back to the design settings index screen (leaving the index screen closes all open sections)
2021-10-22 12:02:59 +01:00
Aileen Nowak
b63a396423 Added handling for forceUpgrade state (#2116)
no issue

- Lapsed trials and subscriptions will set the site's hosting config to `forceUpgrade` in which case a Ghost(Pro) site does not have a valid subscription or trial
- In this state we need to redirect all routes for all staff users to `/#/pro` to ensure the subscription can be put back into an active state
- This commit tackles
    - Route update on startup on the application route level
    - Catching and redirecting all transition (utils routes)
    - Fetching the owner user to pass this information to the Ghost(Pro) app for better communication to non-owner staff users
    - Allowing non-owner users in the force upgrade state to transition to the `/#/pro` route
2021-10-22 12:29:55 +02:00
Sanne de Vries
5b434d5ae6 Fixed modals in dark mode regression 2021-10-22 12:28:50 +02:00
Rishabh
e0dbf03f72 Added offer name as default value for display title
no refs

- for a new offer, until user makes any edits to offer's display title field, it will mimic the value entered by user for offer name as in most cases offer name is expected to match offer display title and saves extra effort for user
2021-10-22 15:49:11 +05:30
Rishabh
457bd19446 Updated copy of offer validation error messags
no refs
2021-10-22 15:49:11 +05:30
Peter Zimon
8525cdcb96 Updated offer link field UI 2021-10-22 11:51:19 +02:00
Peter Zimon
df80cc091a Made offer Archive less scary 2021-10-22 11:51:19 +02:00
Kevin Ansfield
505ae7493e Optimized loading of custom theme setting in design screens
no issue

We want to automatically show brand settings expanded in the design menu when the active theme has no custom theme settings, in order to do that without causing visual noise/jank we need to ensure that we have all the data we need up-front before the design menu is rendered.

- optimized `customThemeSettings` loading behaviour
  - `.load()` will now only perform a fetch if settings have not previously been loaded so it can be called without causing unnecessary waits
  - `.reload()` will force a clear+refetch of the settings - called by `themeManagement.activate()` after successfully changing a theme
- moved fetching of theme settings from the design menu constructor to the `settings.design` route's `model()` hook
  - means the app will wait for loading to finish before showing any of the design settings screen so we can guarantee the data we need is available
- moved update of preview html from the design menu constructor to the design settings route as it's a more appropriate place to find screen setup/loading behaviour
2021-10-22 10:49:13 +01:00
Sanne de Vries
e78e1d9cae Fixed theme directory footer in dark mode 2021-10-22 11:31:49 +02:00
Peter Zimon
823c86ffa6 Offers list copy improvements 2021-10-22 11:14:43 +02:00
Peter Zimon
cbfca5f23f Updated offer durations copy and order 2021-10-22 11:04:31 +02:00
Peter Zimon
52159dffe6 Rearranged offers article thumbnails 2021-10-22 10:31:06 +02:00
Peter Zimon
dd4ad85290 Added articles to offers 2021-10-22 10:31:06 +02:00
Sanne de Vries
b45f830d00 Fixed theme grid not taking full width on large screens 2021-10-22 10:08:40 +02:00
Sanne de Vries
2f8c429297 Updated theme directory footer 2021-10-22 09:56:39 +02:00
Rishabh
c366eaa5ba Refined portal preview amount values when switching discount type
no refs
2021-10-22 10:09:56 +05:30
Renovate Bot
161c53ca38 Update dependency eslint-plugin-ghost to v2.7.0 2021-10-21 22:40:54 +00:00
Peter Zimon
e893369f96 Fixed input field alignment issue for offer value 2021-10-21 23:12:07 +02:00
Peter Zimon
79a40d2592 Responsive fixes for offers details 2021-10-21 22:49:13 +02:00
Rishabh
38ad87385c Fixed duration in months in Portal preview
no refs
2021-10-22 01:49:48 +05:30
Rishabh
fcbbbd4c4c Updated label for offer list when tiers is disabled
no refs
2021-10-21 23:13:18 +05:30
Rishabh
c69f3a4035 Updated labels in offer screens when multiple tiers is disabled
refs https://github.com/TryGhost/Team/issues/1162

Removes tier name from labels when multiple tiers is disabled
2021-10-21 22:59:16 +05:30
Kevin Ansfield
83eb392403 Added a redirect from /settings/theme -> /settings/design
no issue

- ensure the old theme screen is not accessible when the `customThemeSettings` feature is active to avoid confusion
2021-10-21 16:35:20 +01:00
Kevin Ansfield
fad0805344 Changed text/links in "Customize your site design" dashboard card
closes https://github.com/TryGhost/Team/issues/1173

- brand and theme settings have been brought together in a unified design settings screen
- updated card title and links to reflect the changes
2021-10-21 16:30:09 +01:00
Peter Zimon
2026a94cdb Fixed main nav menu bug for Offers alpha flag 2021-10-21 17:08:48 +02:00
Sanne de Vries
ee0646ce68 Updated design settings sidebar hover states 2021-10-21 16:44:46 +02:00
Kevin Ansfield
f66c992ad8 Fixed design preview remembering scroll position when changing page
refs https://github.com/TryGhost/Team/issues/1149

- added a `@pageId` argument to `<GhHtmlIframe>`, if that value is different at the point of swapping iframes after re-rendering it will reset the scroll position instead of copying it from the to-be-hidden iframe
- assigned `themeManagement.previewType` to `@pageId` so that it changes when switching between homepage and post previews
2021-10-21 13:37:38 +01:00
Kevin Ansfield
f2e8cc3926 Fixed tests
refs b474e00cf8

- the editor test state has no email setup so the publish button will show "Publish" rather than "Publish & send"
2021-10-21 13:16:20 +01:00
Kevin Ansfield
b474e00cf8 🐛 Fixed inconsistent publish/send messaging in publish menu
no issue

- fixes the "publish/send" dropdown showing when mail is not allowed by tying it to the `canSendEmail` property rather than always showing when editing a draft post
  - was previously showing when mailgun is not configured and when default email recipients is set to "disabled", in both cases the recipient selection was never available so the dropdown was confusing and lead to invalid states
  - removed the unnecessary property`showEmailOnlyInput` - replaced with `@canSendEmail`
  - removed the unnecessary property `nextActionName` - it always resulted in "publish" because it was only being shown for pages and pages can't be sent by email
- removed the logic for setting the initial selected option in `<GhDistributionActionSelect>` because it meant the select was not directly tied to the real distribution action value leading to mixed states across components. Switched to using the passed in `@distributionAction` value directly.
- fixed the publish button incorrectly showing "Publish & send" when no send would be occurring for a post
  - if "Publish & Send" is selected, the button will now show "Publish" when no recipients are selected
- fixed the publish button incorrectly showing "Publish & send" for pages
- fixed the now/schedule radio texts not changing when publish type was set to "Send" - the conditionals were incorrectly looking at `this.args.post.emailOnly` which is incorrect syntax would only update _after_ saving, switched to the menu's internal `@emailOnly` argument instead
2021-10-21 13:08:08 +01:00
Peter Zimon
328a59466c Making archive offer button less scary 2021-10-21 13:56:30 +02:00
Peter Zimon
00bfb9be69 Changing price order in offer list 2021-10-21 13:53:52 +02:00
Peter Zimon
cdbff1eb99 Fixed list right arrow position 2021-10-21 13:51:57 +02:00
Peter Zimon
6166c83c5d Refined member detail screen for offers 2021-10-21 13:43:12 +02:00
Daniel Lockyer
f28769014c Added codecov.io coverage uploader to CI
refs https://linear.app/tryghost/issue/CORE-74/improve-the-test-situation

- this commit:
  - adds the `ember-cli-code-coverage` dependency to collect
    coverage from ember tests
  - enables the `COVERAGE` env variable in CI
  - merges coverage data because tests are run in parallel
  - adds the codecov GitHub Action into CI so we can upload
    coverage reports
2021-10-21 10:37:03 +02:00
Rishabh
e69ac92967 Added offer details in member detail subscription box
refs https://github.com/TryGhost/Team/issues/1087

- associates a member with their offer redemptions by highlighting offer used for their subscription
2021-10-21 12:56:43 +05:30
Kevin Ansfield
1593eed79a Closed advanced theme settings when leaving change-theme route
refs https://github.com/TryGhost/Team/issues/1149

- uses `willTransition` action rather than `deactivate` hook because we also want to close the table when navigating to the theme demo child routes
2021-10-20 20:54:15 +01:00
Rishabh
7f221b4474 Fixed 2 decimal places for fractional offer amounts
refs https://github.com/TryGhost/Team/issues/1162
2021-10-21 00:34:02 +05:30
Kevin Ansfield
09fcdc3629 Reset homepage/post and mobile/desktop selects when leaving design screen
refs https://github.com/TryGhost/Team/issues/1149

- it felt unexpected for state to be remembered when moving around the design/settings screens
2021-10-20 17:35:03 +01:00
Sanne de Vries
31b6c9d4c9 Fixed image-delete icon margin bug 2021-10-20 17:07:22 +02:00
Kevin Ansfield
86c5d14145 Fixed re-render (+ potential jump) of theme settings menu on save
refs https://github.com/TryGhost/Team/issues/1149

- `customThemeSettings.{settings,settingGroups}` are arrays with references to Ember Data model instances, those instances will automatically have updated properties on save so there's no need to completely re-build the settings and settingGroups lists that were forcing a re-render of the same data
2021-10-20 16:06:21 +01:00
Sanne de Vries
2c648fda34 Added dropdown arrow to custom settings select component 2021-10-20 16:57:37 +02:00
Sanne de Vries
3f642eeb7c Updated design settings page
- Changed modal copy
- Increased menu transition speed
- Updated sidenav tabs visually
2021-10-20 16:44:54 +02:00
Rishabh
01afeaa90e Fixed offer tests
no refs

- adds default tier to a offer factory
2021-10-20 18:44:38 +05:30
Rishabh
b015ac4d42 Added price list to offer list screen
refs https://github.com/TryGhost/Team/issues/1162

- adds original and updated price for an offer in offer list table
2021-10-20 18:02:14 +05:30
Rishabh
27b7bcebac Updated price amount helper to return decimal values
no refs

- price amount helper was previously always returning whole numbers after rounding-off amount values
- this change updates the behavior to show decimal values upto 2 places when the amount is not a whole number, and a whole number otherwise
2021-10-20 18:02:14 +05:30
Rishabh
82470a723c Added guard for missing currency in currency symbol helper
no refs
2021-10-20 18:02:14 +05:30
Rishabh
ff4d0b8ce0 Removed Offer from sidebar when stripe is disconnected
closes https://github.com/TryGhost/Team/issues/1158

Offer feature doesn't make sense when paid memberships are disabled on a site, this change removes the Offer option from sidebar if Stripe is disconnected (no paid memberships)
2021-10-20 18:02:14 +05:30
Kevin Ansfield
8002309112 Fixed menu width jump after animating at tablet sizes
refs https://github.com/TryGhost/Team/issues/1149

- added fixed width of the main menu to the tablet-size media queries so it doesn't snap back to a smaller width after animating
2021-10-20 13:18:10 +01:00
Kevin Ansfield
8710f5f532 Added animation of sidebar between main and contextual menus
refs https://github.com/TryGhost/Team/issues/1149

- added `ember-css-transitions` library that provides a modifier that adds/removes classes used for animating elements in and out, automatically creating a clone for destroyed elements
- added a wrapper class around the `main` and `design` nav menu contents so they could be individually animated
- used the new `{{css-transition}}` modifier to animate the sidebar menus in/out
- ensured main menu doesn't animate on first render of the parent `<GhNavMenu>` component so there's no animation when Admin is loaded
2021-10-20 13:04:05 +01:00
Sanne de Vries
53ac7d2f6d Updated design settings side nav 2021-10-20 11:14:26 +02:00
renovate[bot]
65bfc5e7b9 Lock file maintenance (#2063)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-20 09:54:28 +01:00
Kevin Ansfield
09efe18b61 Fixed "calling .set on destroyed object" error in tests after lock file maintenance
refs https://github.com/TryGhost/Admin/pull/2063

- `<GhFileUploader>` was using `.set()` inside a browser-level event handler but wasn't checking that the component hadn't been destroyed
2021-10-20 09:38:06 +01:00
renovate[bot]
c6a8ca3561 Update dependency liquid-fire to v0.32.0 (#2115)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-20 09:26:35 +01:00
Peter Zimon
24b51d7f77 Copy updates for Offers 2021-10-20 10:10:09 +02:00
Kevin Ansfield
93768ef678 Added navigation back to design settings index after activating uploaded theme
refs https://github.com/TryGhost/Team/issues/1149

- added a `@data.onActivationSuccess` option to the upload-theme modal that if present is called when activation of a theme is completed as part of the upload process
- added a `startThemeUpload()` action to the `change-theme` controller so that we can pass in an `onActivationSuccess` which transitions to the `design.settings.index` screen
- removed unnecessary `@tracked` decorators on class properties that have `store.peekAll('theme')` assigned to them
2021-10-19 19:43:36 +01:00
Kevin Ansfield
a5475f1519 Fixed re-upload of theme not working after deleting
no issue

- if a theme was uploaded with the same name as a previously deleted theme it was not being shown in the themes list, and if activated could not be found/seen as active breaking the design menu
2021-10-19 19:35:03 +01:00
Kevin Ansfield
6c14e1ea71 Removed matchHelper labs flag toggle
refs 981f11da95

- `{{match}}` is GA now and the flag doesn't exist server-side so it was always auto-toggling off in Admin
2021-10-19 19:25:23 +01:00
Kevin Ansfield
1172267e55 Added sidebar grow/shrink animation
refs https://github.com/TryGhost/Team/issues/1149

- beginnings of full sidebar animation, adding early to gauge impact of animation that causes layout paints for each frame
2021-10-19 18:30:05 +01:00
Kevin Ansfield
10176087f8 Fixed syntax error
refs d9c9818c73

- trailing `}` was lost when deleting functionality from the `design.settings` route class
2021-10-19 16:25:37 +01:00
Kevin Ansfield
d9c9818c73 Fixed custom theme settings disappearing when confirming leave-without-save
refs https://github.com/TryGhost/Team/issues/1149

- `customThemeSettings.rollback()` was not performing the correct job, changed to rollback attributes on each model rather than resetting everything to empty
- moved leave confirmation handling to the `settings.design.index` route so that it's always called when moving to the change-theme route, previously with the behaviour on the main `settings.design` route the willtransition/deactivate was not called when expected because that route is still active when on `settings.design.change-theme`
2021-10-19 16:22:16 +01:00
Sanne de Vries
7534dbc7a6 Updated general and custom theme settings design 2021-10-19 16:26:27 +02:00
Peter Zimon
7e28e2f173 Offer details screen refinements
- changed order of URL and description
- added "Read only" indication to discount info
- added default placeholder for URL field
2021-10-19 15:58:22 +02:00
Kevin Ansfield
977e4d55f4 Fixed design settings preview losing scroll position when changing settings
refs https://github.com/TryGhost/Team/issues/1149

- replicated the visible iframe's `scrollTop` to the hidden iframe before swapping visibility between them so the scroll position remains consistent even though the contents and frames are fully reloaded and swapped
2021-10-19 13:52:47 +01:00
Peter Zimon
552412d323 Added static prices to offers list 2021-10-19 14:11:22 +02:00
Kevin Ansfield
2158237566 Fixed font weight on active nav links in design sidebar
refs https://github.com/TryGhost/Team/issues/1149

- changed `current-when` for the design settings title to only be active on the index screen which corresponds to the setting groups being active/usable
- updated styles to use the `.active` class rather than just `:focus`
2021-10-19 12:07:56 +01:00
Kevin Ansfield
fb9b4b7957 Fixed linting error
refs e9911d5e20

- unused import was left over from earlier experiment
2021-10-19 12:06:22 +01:00
Kevin Ansfield
e9911d5e20 Added ctrl/cmd+s save on design settings screen
refs https://github.com/TryGhost/Team/issues/1149

- use ember-keyboard's `{{on-key}}` modifier to attach keyboard event listener when the design settings index screen is shown - ensures that ctrl/cmd+s on the change-theme screen won't trigger an unexpected save
- blur active element when saving so the preview is updated and reflects what has just been saved (text fields only update preview on blur)
2021-10-19 11:59:34 +01:00
Rishabh
21847b822c Fixed offer ui updating offer values directly on input change
no refs

- without marking input fields in template as `readonly` value, it updates the value directly on any change which is undesirable and causes side-effects in actual update of property
2021-10-19 13:39:16 +05:30
Rishabh
87742482fa Updated copy for archive offer confirmation popup
no refs
2021-10-19 13:38:10 +05:30
Rishabh
96ec828d04 Fixed offer tests
no refs
2021-10-19 13:21:11 +05:30
Rishabh
452ee8c3aa Refined offer detail screen
refs https://github.com/TryGhost/Team/issues/1162

- fixes decimal value for fixed type discount not working
- updates offer name placeholder to Display title
- removed default offer description value in portal preview
2021-10-19 13:08:31 +05:30
Rishabh
bab977c55c Fixed broken offer detail navigation on list screen
refs https://github.com/TryGhost/Team/issues/1162

- fixes link for offer detail on last column of offer row in list screen
2021-10-19 13:06:22 +05:30
Rishabh
eddeb07a52 Added error handling and validation for offer
closes https://github.com/TryGhost/Team/issues/1159

- validates offer fields before save client-side
2021-10-19 13:05:18 +05:30
Rishabh
54f5f659f7 Fixed preview iframe communication error messages
no refs
2021-10-19 13:03:23 +05:30
Rishabh
d88914ac0a Updated default offer duration as once
no refs
2021-10-19 00:19:32 +05:30
Rishabh
4e128a0bd0 Updated repeating duration offer for monthly cadence only
closes https://github.com/TryGhost/Team/issues/1126

- Offer duration can only allow multiple months for the monthly Cadence
2021-10-19 00:19:14 +05:30
Rishabh
b94bb836f5 Added redemption count for offers in list screen
closes https://github.com/TryGhost/Team/issues/1136
2021-10-18 23:46:45 +05:30
Kevin Ansfield
eda694b69f Add close of open section when clicking "Site design" nav heading
refs https://github.com/orgs/TryGhost/projects/51

- always reset the open section when the header link is clicked to collapse any open setting groups
2021-10-18 17:37:56 +01:00
Sanne de Vries
d7fefd70cc Animated design settings tabs open/close in side nav
Refs https://github.com/TryGhost/Team/issues/1149
2021-10-18 18:27:50 +02:00
Kevin Ansfield
6dd1d058e5 Added open/close animation for design settings sidebar groups
refs https://github.com/TryGhost/Team/issues/1149

- basic switch to `{{liquid-if}}` for animating the expand/collapse interaction
2021-10-18 17:24:17 +01:00
Kevin Ansfield
3f0dbb0e8b Added desktop/mobile toggle to view-theme screen
refs https://github.com/TryGhost/Team/issues/1149

- re-used same desktop/mobile toggle that the main design settings screen uses
2021-10-18 17:22:45 +01:00
Sanne de Vries
e0842183c0 Updated design settings and theme directory
Refs https://github.com/TryGhost/Team/issues/1149
2021-10-18 17:43:06 +02:00
Kevin Ansfield
8b5f62439d Fixed error when saving design settings when theme has no custom settings
no issue

- if there are no settings loaded then we shouldn't try to save an empty `custom-theme-setting-list` record because it will result in an invalid API request
2021-10-18 16:40:06 +01:00
Daniel Lockyer
d5448262e2 Merged v4.19.1 into main
v4.19.1
2021-10-18 15:10:55 +02:00
Daniel Lockyer
a5e6f934e9 v4.19.1 2021-10-18 14:09:16 +01:00
Peter Zimon
737db37175 Added Integrations as a subpage of Settings
- Restructured Admin so that Integrations becomes a subpage of Settings.
2021-10-18 14:47:59 +02:00
Kevin Ansfield
6a447a1598 🐛 Fixed "Send" publish type not being reset when closing publish menu
refs https://github.com/TryGhost/Team/issues/1151

- we were setting `emailOnly` on the publish menu component but not resetting it meaning when you re-opened the menu after previously selecting "Send" the menu would still show "Send" but the state was inconsistent because the underlying `distributionAction` property _was_ reset
- dropped setting `emailOnly` directly in favour of making it a computed property based on `distributionAction === 'send'` so we only have to worry about changing distribution action and everything else updates for us automatically
2021-10-18 13:24:59 +01:00
Rishabh
b8d1dc8deb Fixed offer screen portal preview height
refs https://github.com/TryGhost/Team/issues/1137

- adds dynamic height calculation based on portal events for offer portal preview
2021-10-18 17:54:33 +05:30
Kevin Ansfield
0619b10720 Added scroll-to-top when advanced theme settings is opened
refs https://github.com/TryGhost/Team/issues/1149

If you were part way scrolled through the themes list and you clicked the "Advanced" button, the installed themes list was displayed at the top of the scrollable element but the browser kept the scroll position so it looked like nothing happened.

- updated `toggleAdvanced()` action to scroll the main container to the top so that the installed themes list is immediately viewable when you use the button to open/navigate to it
2021-10-18 13:19:30 +01:00
Kevin Ansfield
db0fc23dee Animated "advanced" table open/close on change themes screen
refs https://github.com/TryGhost/Team/issues/1149

- switched to using `{{liquid-if}}` to get our standard open/close animation when the `showAdvanced` property is changed
2021-10-18 13:05:18 +01:00
Kevin Ansfield
9a0a98e64a Added "active" indicator and list themes in "active, default, ...rest" order
refs https://github.com/TryGhost/Team/issues/1149

- built a secondary list of themes that's decorated and sorted for display purposes
2021-10-18 13:02:35 +01:00
Kevin Ansfield
8e648420e8 Added Casper to the themes list
refs https://github.com/TryGhost/Team/issues/1149

- added Casper to the hardcoded official themes list with a ref of `'default'` so that the install theme process knows to process it differently
- updated the install-theme modal
  - removed the `willOverwriteDefault` getter because it's a path that can't be reached and is now handled differently
  - changed `installThemeTask` to only perform an activation when a default theme is passed in
2021-10-18 13:02:35 +01:00
Peter Zimon
4b9a6f59d8 Cleaned up router 2021-10-18 13:39:09 +02:00
Peter Zimon
a78afb5749 Added Staff as subpages of Settings
- The Admin is being restructured with Offers. This commit moves Staff under Settings.
2021-10-18 13:27:42 +02:00
Sanne de Vries
31182c4dcf Refined design settings navigation
Refs https://github.com/TryGhost/Team/issues/1149
2021-10-18 12:54:09 +02:00
Rishabh
1b25dfbd67 Updated offers list in email cta to include only active
closes https://github.com/TryGhost/Team/issues/1134

- filters offer urls available on email cta card to only include active offers
2021-10-18 14:48:01 +05:30
Rishabh
bb575dbb87 Added portal preview to offer screen
refs https://github.com/TryGhost/Team/issues/1137

- adds new portal preview using portal offer url on offer screen
- adds new utility to calculate portal offer preview url from data
- fixed tiny bug with discount type currency not shown correctly
2021-10-18 14:31:29 +05:30
Sanne de Vries
9120f0d820 Updated design settings navigation 2021-10-15 17:59:52 +02:00
Kevin Ansfield
94c3163834 🐛 Fixed "Send" publish type not being reset when closing publish menu
refs https://github.com/TryGhost/Team/issues/1151

- we were setting `emailOnly` on the publish menu component but not resetting it meaning when you re-opened the menu after previously selecting "Send" the menu would still show "Send" but the state was inconsistent because the underlying `distributionAction` property _was_ reset
- dropped setting `emailOnly` directly in favour of making it a computed property based on `distributionAction === 'send'` so we only have to worry about changing distribution action and everything else updates for us automatically
2021-10-15 16:45:58 +01:00
Daniel Lockyer
b5d96c5707 v4.19.0 2021-10-15 16:23:18 +01:00
Kevin Ansfield
847aabd5f4 Fixed error when calling hasOwnProperty on null/undefined when saving posts
refs 89a6bc683b

- `options` did not have a default value and it's always passed in. Added a default value of an empty object so we're not tripped up with null/undefined
2021-10-15 15:49:19 +01:00
Kevin Ansfield
89a6bc683b 🐛 Fixed incorrect publish type showing in publish menu after close/re-open
closes https://github.com/TryGhost/Team/issues/1151

The publish-type state was being set directly on the model in the publish menu rather than being internal to the menu until publishing. A previous attempt had been made to fix that but it wasn't complete and resulted in the menu showing that it would "Publish" after setting it and closing/re-opening when in fact it would "Publish and send".

- moved all state for the distribution type and email settings to be stored in the `<PublishMenu>` component rather than split across the the component and model
- when saving a post from the publish menu, we now pass `emailOnly` as an option to the editor's save task the same as `sendEmailWhenPublished` (corresponding to the `email_recipient_filter` query param) so that we're back to one place controlling email behaviour for a post
- when `emailOnly` is passed as an option to the editor save task it will set the property on the model before saving and reset it back if the save fails. That way the email-only flag behaves as close to the "send when published" flag as possible without it also being sent as a query param.
2021-10-15 15:42:32 +01:00
Peter Zimon
be5ef010a5 Offers archive/active refinements
- added empty archive screen
- added indication of archive offer on detail page
- set default dropdown style to non-selected
- removed archive button for new offers
2021-10-15 12:49:42 +02:00
Rishabh
7f2e32d9a5 Fixed incorrect cadence selection for offer details
no refs

Incorrect cadence was shown selected in dropdown for percent type offers as the `currency` for offer was saved as null.
2021-10-15 12:34:35 +05:30
Kevin Ansfield
53bdb5720f Added support for image custom theme settings
refs https://github.com/TryGhost/Team/issues/1109

- added `<CustomThemeSettings::Image>`  component that is displayed for any custom theme settings with the type `'image'`
2021-10-14 18:43:04 +01:00
Sanne de Vries
aeafe91ea1 Updated design settings page 2021-10-14 18:01:12 +02:00
Sanne de Vries
4684ee3cac Fixed Alto theme not displaying in directory 2021-10-14 17:58:44 +02:00
Kevin Ansfield
9eb2832cd2 Fixed all settings appearing in home and post groups
refs f4596a0add

- when extracting the groups code from component to service some variable names were changed but the assignment was missed meaning we were assigning all settings rather than specific group settings to each `group.settings` array
2021-10-14 16:58:17 +01:00
Peter Zimon
0b846e4909 Fixed spacing between offers list and footer 2021-10-14 17:15:40 +02:00
Peter Zimon
7a26051439 Moved offers active/archive filter to view actions bar 2021-10-14 17:14:27 +02:00
Peter Zimon
2234b04a56 Fix form group bottom margins 2021-10-14 17:11:29 +02:00
Kevin Ansfield
94ca66cde5 Fixed design settings browser preview missing site title and icon
no issue

- when copying the template parts out of `<GhSitePreview>` the template was left pointing to passed in arguments rather than pulling the data from the settings service
2021-10-14 15:58:29 +01:00
Kevin Ansfield
54ae6902b3 Removed support for empty colors in custom theme settings
refs https://github.com/TryGhost/Team/issues/1107

- allowing empty colors introduced some edge cases around theme usage and default values
- it makes more sense to force a color setting to always have a color, if a theme wants to make usage of that color optional then it should use a separate boolean or select setting to control that
2021-10-14 15:53:14 +01:00
Kevin Ansfield
0b267098ea Added support for text custom theme settings
refs https://github.com/TryGhost/Team/issues/1109

- added basic `<CustomThemeSettings::Text>`  component that is displayed for any custom theme settings with the type `'text'`
2021-10-14 15:40:22 +01:00
Kevin Ansfield
f4596a0add Fixed design menu re-rendering and losing input focus on first change
no issue

- `get settingGroups()` was always returning a new object which meant the template was re-rendering unexpectedly which created issues with form fields that lose their focus when re-rendered
- moved group handling into the `customThemeSettings` service as it makes more sense to keep it centralized, that gave us the ability to create a new `settingGroups` array only when the settings list changes keeping the tracked invalidation easier to reason about
2021-10-14 14:15:11 +01:00
Kevin Ansfield
122e9869ad Removed erroneous uploader error blocks in non-upload form groups
no issue

- looks like a copy/paste mistake, the code wouldn't do anything in those positions as there is no `uploader` variable present
2021-10-14 11:41:35 +01:00
Sanne de Vries
e4c10cbe6c Updated theme directory and theme preview 2021-10-14 12:39:54 +02:00
Kevin Ansfield
a6a9ecad22 Fixed double error message shown for site title when it's too long
no issue

- removed the duplicated `<GhErrorMessage>` that is shown when the site title is too long
- removed confusing double `class` attribute on general settings form field, browsers were only respecting the latter class attribute
2021-10-14 11:39:07 +01:00
Kevin Ansfield
869cc9d47a Added support for color type custom theme settings
refs https://github.com/TryGhost/Team/issues/1107

- uses the same type of color picker used elsewhere in Admin with some minor changes to allow blank values
  - when value is blank it adjusts the background color block to have a border and a diagonal red line to represent no color being present and makes the native color picker that sits on top transparent because native color pickers _always_ have a color
  - has it's own invalid handling/display because we're not dealing with a model that has our typical validation at the moment
2021-10-14 10:36:02 +01:00
Kevin Ansfield
19d6d3f9e5 Fixed selection of latest post in design settings preview
no issue

- we were sorting by `created_at` when fetching an individual post rather than the intended `published_at` column
- `.sortBy('publishedAtUTC')` didn't work as intended because the raw values are not directly comparable, switched to a manual sort by using `.valueOf()`
2021-10-14 10:36:02 +01:00
Rishabh
2645bb895c Updated copy for archive/reactivate offers
refs https://github.com/TryGhost/Team/issues/1148
2021-10-14 00:53:31 +05:30
Kevin Ansfield
9d38a0a1e1 Added support for boolean custom theme settings
refs https://github.com/TryGhost/Team/issues/1106

- removed `'string'` from the `attr()` definition for `customThemeSetting.value` so that we're not coercing the value from the API into something that doesn't work when applied to the `checked` attribute on checkbox inputs
- added initial `<CustomThemeSettings::Boolean>` component and used it for display in theme setting forms when `type === 'boolean'`
2021-10-13 17:55:17 +01:00
Rishabh
88049f1692 Updated offers list to filter on archived offers
refs https://github.com/TryGhost/Team/issues/1136

- adds dropdown for active/archived offers selection
- wires active/archived offers on list screen to API
- filters offers list on archived/active based on selection
2021-10-13 21:23:30 +05:30