Commit Graph

297 Commits

Author SHA1 Message Date
Kevin Ansfield e88e8f88e8 Reverted launch wizard prototype
no issue

- removing launch wizard from master ready to re-apply in 4.0 branch
2021-01-21 09:02:19 +00:00
Aileen Nowak 0bf09d88ed Updated links to ghost.org sites
no issue

Follow-up task of the updated Ghost Docs structure. Updated links reflecting the new structure to prevent unnecessary 404s and redirects.
2021-01-19 13:18:59 +13:00
Kevin Ansfield 322dc85613 Added outline launch wizard framework
refs https://github.com/TryGhost/Team/issues/450

- adds `launch/*` routes corresponding to launch wizard steps
- sets up navigation between each wizard step
- adds components for each `launch/*` step to contain step-related functionality and facilitate later refactoring to a generalised wizard component
- adds link to the launch wizard from the dashboard screen
2021-01-18 13:48:23 +00:00
Kevin Ansfield e3e1c4bb0a Added blank dashboard screen
no issue

- preparatory work for upcoming features
- default homepage when developer experiments is enabled
2021-01-18 09:02:44 +00:00
Sanne de Vries 900c52f769
Fixed issues for member details mobile view (#1807)
* Fixed issues for member details mobile view

No-ref

- Changed order to display feed at the bottom
- Displayed heading and value vertically between 1400px and 1160px
- Displayed "Complementary plan" copy and switch vertically between 1400px and 1160px
- Added margin below "Continue subscription" button
- Prevented date in feed to wrap

* fixed tests

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-12-16 10:04:33 +01:00
Peter Zimon 0f12b40cb2
Moved members settings to new page (#1736)
no refs

Moves members related settings in Labs to its own page to improve the overall UX and make it more consistent with the rest of the Admin.
2020-10-22 16:09:00 +05:30
Peter Zimon a4e8efb639 Fixed test for scheduling copy change
no refs.
2020-10-09 17:15:21 +02:00
Kukhyeon Heo d6bca3d1e8
🐛 Fixed Ctrl/Cmd+S triggering browser save when tags or authors input has focus (#1707)
closes https://github.com/TryGhost/Ghost/issues/11786

`GhTokenInput` uses `PowerSelect` component of `ember-power-select` internally in `app/components/gh-token-input/select-multiple`. 

When you open that component, [you can find](d36f38f39e/addon/components/power-select.ts (L262-L278)) that it calls `stopImmediatePropagation` when ctrl/cmd or meta key is down.

```js
  handleTriggerKeydown(e: KeyboardEvent) {
    if (this.args.onKeydown && this.args.onKeydown(this.storedAPI, e) === false) {
      e.stopImmediatePropagation();
      return;
    }
    if (e.ctrlKey || e.metaKey) {
      e.stopImmediatePropagation();
      return;
    }
    if ((e.keyCode >= 48 && e.keyCode <= 90) || isNumpadKeyEvent(e)) { // Keys 0-9, a-z or numpad keys
      (this.triggerTypingTask as unknown as Performable).perform(e);
    } else if (e.keyCode === 32) {  // Space
      this._handleKeySpace(this.storedAPI, e);
    } else {
      return this._routeKeydown(this.storedAPI, e);
    }
  }
```

Because of that, I had to dispatch event directly to the root of the Ghost admin app.
2020-09-21 18:14:57 +01:00
Kevin Ansfield dea7a3da03 Removed bulk member edit dev experiment
no issue

- we're moving forward with a simplified bulk delete and the UI would conflict if both approaches are behind the dev experiments flag
2020-07-23 15:03:18 +01:00
Kevin Ansfield b18d2b42df Removed errant .only from test suite 2020-07-22 20:00:03 +01:00
Fabien 'egg' O'Carroll 7ef6b04282
🐛 Fixed email newsletter settings (#1641)
closes https://github.com/TryGhost/Ghost/issues/12052

* Added breaking test for mailgun settings

* 🐛 Fixed mailgun settings to always set a baseUrl

This matches the functionality seen before the bulk_email_settings were
split, where the baseUrl was set when any of the mailgun settings were.
2020-07-16 11:13:36 +02:00
Kevin Ansfield 1b09a946f4 Improved scheduled status text shown in editor
refs https://github.com/TryGhost/Ghost/issues/11965

- always show scheduled time when a post is scheduled
- show when a post will be emailed and to which group of members
2020-07-01 14:07:52 +01:00
Kevin Ansfield 3da8815759 Renamed `activeTimezone` setting to `timezone`
refs https://github.com/TryGhost/Ghost/issues/10318

- API has been updated to still work with `active_timezone` for backwards compatibility but it makes sense for the client to match the underlying settings keys
2020-06-24 15:34:59 +01:00
Kevin Ansfield c8a93925a3 Updated to fetch settings using `/settings/?group=` instead of `?type=`
refs https://github.com/TryGhost/Ghost/issues/10318

- primary change is in the settings service which is the only place we fetch the settings endpoint
- mocked APIs and fixture data updated to expect and to filter on `?group` rather than `?type`
2020-06-24 14:23:51 +01:00
Kevin Ansfield 8acc160003 Added missing renames of settings groups
refs https://github.com/TryGhost/Ghost/issues/10318, c5c50139ef

- the mocked settings endpoint was not returning any settings created with the old `blog` key which broke tests
2020-06-23 21:05:11 +01:00
Kevin Ansfield 312b9fb4e1 Added first pass bulk members delete confirmation and results display
no issue

- display a confirmation modal when bulk deleting members
- hit the `DELETE /members/?all=true` endpoint when confirming
- show counts of members deleted/skipped
- fix selection reset when leaving edit mode
2020-06-19 18:14:41 +01:00
Kevin Ansfield 24bf414cc3 Added access level filter to posts and pages lists in admin
no issue

- adds `visibility` query param to posts and pages controllers/routes that is tied to the `filter` query param used in API requests
- adds dropdown for selecting post/page visibility to `<GhContentFilter>`
2020-06-09 12:19:40 +01:00
Kevin Ansfield db8b913e2d Fixed tests
refs 4a53587f3b

- updated tests to use `settings.shared_views` in place of `user.accessibility`
2020-06-04 21:43:54 +01:00
Rish 36fa9dc32c Enabled auto reset state for action buttons
no issue

- By default, action buttons had auto-reset off and reset had to be explicitly set
- Auto reset for action buttons is on by default now, and any button that should not reset should explicitly switch it off
2020-06-04 18:44:38 +05:30
Kevin Ansfield 3da16a8c32 Improved performance of members admin screens
no issue

- removes the "old" members screens
- swaps route names and links to point at the new members screens that were behind the experiments flag

Why are the new screens faster?

- only loads 50 members at once rather than every member in the database
- loads pages of members in as-needed whilst scrolling
- fetches member stats from the API rather than calculating locally
- caches members list and stats data for 60 seconds to avoid re-fetching when navigating to/from the members list
- moves search and filtering duties to the API rather than calculating locally
2020-05-28 13:35:53 +01:00
Kevin Ansfield d948ba33fb Fixed redirect after saving member in "old" member screen
no issue

- changed the `replaceRoute` after saving to transition to the `member-old` route instead of `member` route
- updated tests to work with the old routes (for now)
2020-05-22 10:50:12 +01:00
Kevin Ansfield 8b0b5a27a8 Update dependency eslint-plugin-ghost to v1.4.1
no issue

- enables `prefer-ember-test-helpers` rule
- fixes single linting error from the new rule
2020-05-11 10:20:03 +01:00
Kevin Ansfield b364b81956 Fixed publish menu tests
refs 98f49e39a0

- the publish menu button text will now reset and because tests wait for all timers to finish before continuing the button text we're checking against has changed
2020-04-23 21:11:04 +01:00
Rish 5b196391e4 Fixed save test
no issue
2020-04-06 18:02:19 +05:30
Peter Zimon 81945b22ef
Updated notifications design (#1498)
no issue

- updating toaster design for better discoverability
2020-02-27 09:19:29 +00:00
Naz b192917e88
Added member impersonation (#1497)
refs b0ff1e7cac

- Adds "impersonate" button which would be triggering a popup window with "login url" that allows to log in as a member
2020-02-27 11:50:15 +08:00
Nazar Gargol 0cb787d11a Enabled editing email field on member profile page
refs b9db9fa15e

- Now that Admin API allows to edit email, there is no reason to keep this field disabled
2020-02-21 16:12:35 +08:00
Rishabh Garg 7319d11e94
Fixed tests for labels (#1493)
no issue

- Updated member settings css property in tests
- Added mock for label API
2020-02-14 16:37:25 +05:30
Kevin Ansfield 855757ffe5
Added default and custom post views (filters) to the admin sidebar (#1474)
no issue

- list custom post views in collapsable sidebar navigation
  - default views: Draft, Scheduled, Published (except for contributors)
  - record expanded/collapsed state of the navigation menus in user settings via new `navigation` service
- adds `customViews` service that manages custom views
  - provides list of default views
  - gives access to "active" custom view based on current route and query params
  - manages loading/saving of custom views to user settings
- show "Add view" button in the content filter when the posts list has been filtered
- show "Edit view" button in the content filter when the posts list filter matches a saved view

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2020-01-30 15:35:36 +00:00
Kevin Ansfield 2bc00a375b Removed <GhDownloadCount>
no issue

- the count.ghost.org service is being shut down
- replaced the fetch+poll component with a hardcoded figure
2020-01-27 09:51:45 +00:00
Hannah Wolfe 377055a7de Added Secondary Navigation (#1410)
refs: https://github.com/TryGhost/Ghost/pull/11409

- Added a new UI for a second set of navigation links
- This should support most concepts of nav, e.g. left and right, or header and footer
- This PR mostly updates the design and nav components to cope with a second set of nav
2019-12-04 11:14:45 +07:00
Nazar Gargol 4ffbb9f7d3 Fixed members acceptance test
- The `await wait()` worked in combination with correct assertions
2019-12-03 16:05:56 +07:00
Nazar Gargol 00324e44a5 Fixed flaky new member test
no issue

- The test is failing only when run purely from the console if run from the browser window it alway succeeds
- Commented out intended condition and left the tricky one out for future review
2019-12-03 11:24:16 +07:00
Naz Gargol 3ec3671aee
Added member "add" screen (#1411)
no issue

- We have a need to create a member manually, this changeset solves this problem.
- Added new member button to the member's screen
- Needed to be able to perform add member action
- Fixed inconsistent `createAt` naming. All models use consistent `createdAtUTC`, fixed it up so that members model follows the same pattern. If we want to change this pattern should probably happen for all models at once
- Fixed member avatar when creating a new member. If the values are completely empty the screen ends up being filled with empty space. Added some dummy initials which are recalculated once the member enters the name or an email
- Refactored DS naming for consistency. Nowhere else in the codebase 'DS' name is ever used, made this consistent
- Added missing validations in members form
- Simplified if conditions in the member list template. When using the if/esle statements unnecessary new-line symbols were inserted which made it hard to test. Also by using computed property view is much cleaner
- Updated member's model default value for `subscribed` to "true". It is turned on by default in the model layer  on the backend (ref: https://github.com/TryGhost/Ghost/blob/3.1.0/core/server/data/schema/schema.js#L330), this behavior is intended and should be the same on the frontend
2019-11-28 18:30:21 +07:00
Kevin Ansfield 39c738ee67
Added ability to retry failed emails from the confirm modal (#1412)
no issue

- adds a `.retry()` method to the email model+adapter
- adds a retry email task to the publishmenu that follows the same retry-then-poll behaviour as the regular email confirmation
- show a retry button in the confirm email modal if the original send failed
- increases max "immediate failure" poll timeout to 15sec (an 8sec retry-to-failure time has been seen locally)
2019-11-22 15:09:48 +00:00
Kevin Ansfield 567ec911f0 Fixed tests 2019-11-13 16:10:29 +00:00
Rish 9ff39e5f0a Fixed tests for copy changes 2019-11-13 11:45:58 +05:30
Kevin Ansfield ee09e46c8d Fixed tests 2019-11-08 16:01:40 +07:00
Kevin Ansfield 5b0e9826f7 Fixed tests 2019-11-08 11:14:04 +07:00
Rish 7f481ef64b Fixed members test for admin
no issue
2019-10-14 08:42:04 +05:30
Rish ca54402c82 Enabled members by default
no-issue

This removes the need for `enableDeveloperExperiments` flag for members
2019-10-14 08:42:04 +05:30
Kevin Ansfield 276d4308f4 Merge branch 'master' into v3 2019-10-08 14:04:38 +01:00
Kevin Ansfield 8976e4ff3e Fixed tests 2019-10-07 11:17:16 +01:00
Naz Gargol 8dff0ee6d4
🔥 Removed all subscriber feature related code (#1337)
refs https://github.com/TryGhost/Ghost/pull/11153

- Removed all subscriber feature related code
- The feature is being substituted by members
2019-09-26 15:58:01 +02:00
Rishabh Garg 166c8ff5e6
🎨 Updated tags screen design and usability (#1283)
no issue

Updates design and usability for tags list and details screen
2019-08-27 19:21:31 +05:30
Kevin Ansfield 0d563eb5bc Fixed tests 2019-08-27 10:59:27 +01:00
Kevin Ansfield 7c66d66551
🎨 Added auto-login to private site when viewing site preview in admin (#1286)
closes https://github.com/TryGhost/Ghost/issues/10995

- when first loading the site preview, if private mode is enabled submit the login form in the background to get the cookie before loading the iframe
- refactors post-authentication preloading to ensure it occurs before post-authentication route hooks are called
- adds `showSuccess` attribute to `<GhTaskButton>` so that when set to `false` it can stay in the running state after "success" to avoid state change flashes whilst waiting for a transition
2019-08-12 09:11:10 +01:00
Aileen Nowak f65460694a 🔗 Updated docs api links to be version-less 2019-07-25 15:15:31 +08:00
Aileen Nowak b134b24679
Updated links to docs (#1276)
no issue
2019-07-22 16:53:24 +08:00
Paul Perkins a96f4fd5d2 🎨 Changed post/page date picker format to 'YYYY-MM-DD' (#1213)
refs https://github.com/TryGhost/Ghost/issues/10767

The use of the date format 'MM/DD/YYYY' is confusing to those not in American English locations. In the absence of being able to dynamically determine full locale data, using 'YYYY-MM-DD' seems to the least ambiguous date format which would be intuitive to most users.
2019-06-24 09:06:39 +01:00