Commit Graph

1591 Commits

Author SHA1 Message Date
Djordje Vlaisavljevic
8b5ef4a7d7 Added membersTableStatus feature flag
refs https://github.com/TryGhost/Team/issues/1035
2022-02-14 12:58:05 +01:00
Sanne de Vries
7e2230d952 Updated Members screen when subscription access is off 2022-02-11 19:06:48 +01:00
Peter Zimon
278b70d668 Updated members list help vertical alignment 2022-02-11 12:13:34 +01:00
Sanne de Vries
72d3d6debc Hid email related ui when subscription access is set to 'Nobody' 2022-02-11 09:29:11 +01:00
Djordje Vlaisavljevic
235fcb4903 Added tierName feature flag
refs https://github.com/TryGhost/Team/issues/1069
2022-02-10 11:37:57 +01:00
Kevin Ansfield
3ee0c3ff53 Fixed duplicate top-level properties after native class codemod
refs https://github.com/TryGhost/Ghost/issues/14101
refs https://github.com/TryGhost/Admin/pull/2256

Before migrating to native classes we had a number of controllers/components that had an `.actions.foo` action and a `.foo` task. The automated migration to native classes didn't take that into account and we've ended up with duplicate top-level property names. These duplicates are confusing and can potentially lead to errors or unexpected behaviour, they'll also be flagged as linter errors when we bump our eslint version.

- switched tasks with matching action names to `.actionTask` naming scheme
2022-02-10 10:20:03 +00:00
Kevin Ansfield
f1c8af662f Refactored modal for bulk unsubscribing members
refs https://github.com/TryGhost/Team/issues/559

Members controller was becoming bloated and difficult to follow due to catering for many different concerns.

- converted old modal to newer promise-modal style
- pulled full bulk unsubscribing logic out of the members controller and into the modal so logic is contained in one place
2022-02-09 22:04:02 +00:00
Kevin Ansfield
8052166cbe Refactored modal for bulk deleting members
refs https://github.com/TryGhost/Team/issues/559

Members controller was becoming bloated and difficult to follow due to catering for many different concerns.

- converted old modal to newer promise-modal style
- pulled full label-removing logic out of the members controller and into the modal so logic is contained in one place
2022-02-09 22:04:02 +00:00
Kevin Ansfield
efb7bc4c3b Refactored modal for bulk removing a label to members
refs https://github.com/TryGhost/Team/issues/559

Members controller was becoming bloated and difficult to follow due to catering for many different concerns.

- converted old modal to newer promise-modal style
- pulled full label-removing logic out of the members controller and into the modal so logic is contained in one place
2022-02-09 21:58:59 +00:00
Kevin Ansfield
24b222e927 Refactored modal for bulk adding a label to members
refs https://github.com/TryGhost/Team/issues/559

Members controller was becoming bloated and difficult to follow due to catering for many different concerns.

- converted old modal to newer promise-modal style
- pulled full label-adding logic out of the members controller and into the modal so logic is contained in one place
- added `{{members-count-fetcher}}` resource that allows for member counts to be fetched directly from templates avoiding duplicated code
2022-02-09 21:58:59 +00:00
James Morris
510b115329 Better styling for the Finishing Touches screen
refs: https://github.com/TryGhost/Team/issues/1303

- fixed glaring styling issues after technical implementation
- got to a place for testing, though small issues remain
2022-02-09 18:10:02 +00:00
Kevin Ansfield
b38e21995a Fixed Cmd+S not saving on membership and members email setting screens
no issue

- routes no longer automatically trigger save for cmd+s, it should be explicitly tied to the action that should be performed
- added `{{on-key "cmd+s"}}` to the `<GhTaskButton>` save buttons
  - `{{on-key}}` with no explicit action triggers a click action on the attached element, in this case the screen's save buttons
2022-02-09 10:59:12 +00:00
Gabriel Csapo
4a6e175615 [chore] migrate app/controllers/settings/navigation.js to use native classes (#2254)
refs https://github.com/TryGhost/Ghost/issues/14101
refs https://github.com/TryGhost/Admin/pull/2245

- continuing migration to native classes with use of `@classic` decorator
- required as a part of https://github.com/TryGhost/Admin/pull/2245
2022-02-09 09:53:38 +00:00
Sanne de Vries
929378c318 Updated copy of Save buttons on settings pages
No issue

- Changed all buttons to "Save" for consistency across settings
2022-02-09 10:32:47 +01:00
Sanne de Vries
a2b631f8b6 Updated empty states for posts, pages, and tags 2022-02-09 09:34:12 +01:00
Sanne de Vries
7061b3416f Updated copy on empty members screen 2022-02-09 09:24:11 +01:00
Kevin Ansfield
b80ce527e5 Moved members screen filter components into components/members
no issue

- currently the components are screen-specific rather than generalised so shouldn't have the `gh-` prefix
- fixed linter error for confusing `{{#unless}}...{{else}}` usage
2022-02-08 15:11:01 +00:00
Kevin Ansfield
8e5cbf4e0f Cleaned up members filter labs components
no issue

- the members filtering is out of labs, we don't need to keep the labs component naming around
- renamed `-labs` components/classes to non-labs naming, replacing old and unused non-labs components where necessary
2022-02-08 11:48:55 +00:00
Kevin Ansfield
bf9bbc3aa6 Fixed members search input losing focus whilst typing
closes https://github.com/TryGhost/Team/issues/1318

The `{{if this.members.length "" "hidden"}}` class meant that whenever loading occurred the search input was briefly changed to `display: none` which caused focus to be lost making searching rather painful. It also meant the search input disappeared completely when no members matched a search.

- switched to a standard `<input>` element to get better event handling ergonomics
- added `searchIsFocused` tracked property that is set to `true` any time the search input has focus - works around an unexpected re-render when clearing the search input whilst it has focus
- switched the "hide" conditional to a getter that takes members length, search param text, and search input focus into account so there are no unexpected hides of the search bar
2022-02-08 11:44:08 +00:00
Kevin Ansfield
f111a23031 🐛 Fixed "Show all members" button not clearing search field when no results match
no issue

- the reset button was only clearing the `filter` param rather than resetting all query params
- removed unnecessary `searchText` indirection, the search input can work directly with the query param
2022-02-08 11:36:49 +00:00
Djordje Vlaisavljevic
088c1af098 Fixed showing explainer text for free membership welcome page input field
refs https://github.com/TryGhost/Team/issues/1168
2022-02-08 09:39:48 +01:00
Rishabh
f341edb02d Updated welcome page location for free membership
refs https://github.com/TryGhost/Team/issues/1168

- moved free tier welcome page url from product card to main screen
2022-02-08 09:31:40 +05:30
Kevin Ansfield
018a4ec5e9 Migrated <GhUnsplash> to glimmer component
refs https://github.com/TryGhost/Ghost/issues/14101

- swapped use of `<LiquidWormhole>` to `{{#in-element}}` because we weren't animating anything
  - we can now use `{{css-transition}}` instead if we want to animate in the future
- swapped use of `ShortcutsMixin` for ember-keyboard's `{{on-key}}` modifier
- added `{{query-selector}}` helper so we can grab an element from inside the template rather than requiring a backing component function (used to pass the wormhole element to `{{#in-element}}`)
- added `{{on-resize}}` modifier so the `resizeDetector` service can be used directly from the template rather than requiring a backing component to wait for render and use query selectors to grab an element
2022-02-07 16:53:12 +00:00
Sanne de Vries
9234c8f695 🎨 Improved empty state of the Members screen
No issue

- Added resources to help and inspire people get started with members, which will be hidden after 6+ members are added
2022-02-07 16:11:08 +01:00
Kevin Ansfield
bbd4c452b9 Updated conditionals for editorIsLaunchComplete with improvedOnboarding feature
closes https://github.com/TryGhost/Team/issues/1294

- ensures latest member activity is shown when improvedOnboarding feature is enabled no matter what the `editorIsLaunchComplete` value is to better show what the dashboard will look like when the launch wizard is removed
2022-02-07 11:11:19 +00:00
Kevin Ansfield
da9c4288bf Added collapse animation to get-started dashboard panel when dismissing
no issue

- softens the disappearance by fading out and collapsing the height when removing
- uses `{{css-transition}}` modifier from https://peec.github.io/ember-css-transitions/docs/insert-destroy
- max-height used in order to animate collapse of a `height: auto` panel, 350px starting point chosen as it's slightly bigger than the largest height of the panel at mobile widths
2022-02-07 10:04:52 +00:00
Kevin Ansfield
7e95890a99 Added saving spinner to finishing-touches screen
refs https://github.com/TryGhost/Team/issues/1310

- switched to a task and `<GhTaskButton>` to show a saving indicator whilst waiting for API to return
2022-02-04 17:32:43 +00:00
Kevin Ansfield
2525a43156 Changed firstStart flow to show a streamlined settings screen
closes https://github.com/TryGhost/Team/issues/1310

- added `/setup/finishing-touches` route
  - refreshes theme preview on access
  - uses existing setting form components to build a reduced settings menu
- updated `/?firstStart=true` handling to transition to `/setup/finishing-touches` instead of showing the get-started modal
- updated standard setup flow to show the get-started modal upon completion
  - `/?firstStart=true` flow for now will only be used when a theme has been chosen before site creation
2022-02-04 17:06:40 +00:00
Kevin Ansfield
019b22caa1 Added desktop/mobile switch to <GhBrowserPreview> component
refs https://github.com/TryGhost/Team/issues/1310

- we had a `<GhBrowserPreview>` component but it wasn't being used everywhere because it's behaviour didn't match the mobile/desktop switch with no iframe re-render that we needed for some screens
- updated component to match all required behaviour
  - include a switch between desktop and mobile views
  - default fallbacks for `@title` and `@icon` arguments
- switched design settings themes over to using the component instead of repeating the same set of markup
2022-02-04 10:28:20 +00:00
Gabriel Csapo
f22a758a3b [chore] run the no-implicit-this codemod (#2244)
refs https://github.com/TryGhost/Admin/pull/2238

Follow up to #2238, this should remove the existing no-implicit-this lint errors and any new violations should be flagged right away.

* run the no-implicit-this codemod
* updated todos
2022-02-02 17:09:02 +00:00
Gabriel Csapo
beb5ae1737 [chore] adds ember-template-lint and fixes all fixable issues (#2238)
no issue

- This will help with the octane migration and you can still run the lint rules even when they are todos. (Checkout the docs at 158b119667/docs/todos.md) The good news is any new code will be checked against the recommended config.
- I fixed all the auto fixable things we could get in this PR as well
2022-02-02 16:09:43 +00:00
Thibaut Patel
151e647daa Removed the UI for the callout card feature flag
no issue

- The feature flag was removed in 7a270de050
- The UI was remaining, although it wasn't working
2022-02-02 13:27:36 +01:00
Peter Zimon
6fa8dafa79 Contributors updates (#2235)
Updates Admin UX for Contributors

When logged in as a Contributor:

- removes sidebar, added floating account menu and dark-mode switch to right side. Updated mobile menu accordingly
- all post by the given user is listed in the Post list
- changed post filtering
- hides email columns in post list
- removes publishmenu for Contributors in Post preview modal
- visual tweaks
2022-02-01 18:59:20 +01:00
Fabien "egg" O'Carroll
a70be14bd5 Merge tag 'v4.34.1'
v4.34.1
2022-02-01 12:43:29 +02:00
Kevin Ansfield
be432dc4ca Added email fallback for selected member details on activity screen
no issue

- if a member has no name when they are selected on the member activity screen we weren't showing anything in the header breadcrumbs or member filter
- switched to showing name or email
2022-02-01 09:50:40 +00:00
Kevin Ansfield
8f1cca9f9d Added per-user dismissibility of getting-started widget
refs https://github.com/TryGhost/Team/issues/1294

- added `dashboardHideGettingStarted` feature flag that uses the `user.accessibility` JSON blob
- added `{{toggle-feature}}` helper which returns a function that can be used with the `{{on}}` helper to toggle a feature flag on or off from templates
- hooked up the dismiss behaviour for the dashboard widget using the `toggle-feature` helper
- hid the dashboard when `dashboardHideGettingStarted` feature is enabled
2022-01-31 13:05:20 +00:00
Peter Zimon
3a3b2f7fb4 Remove alpha flag for Editor settings panel (#2230) 2022-01-31 13:33:59 +01:00
Kevin Ansfield
d8aaa77f37 Replaced dashboard launch wizard widget with getting-started widget
refs https://github.com/TryGhost/Team/issues/1294

- added new widget behind `improvedOnboarding` labs flag
- hid launch wizard widget when labs flag is enabled
2022-01-31 12:28:22 +00:00
Fabien "egg" O'Carroll
898af1b449 Put Tier welcome page urls behind feature flag
refs https://github.com/TryGhost/Team/issues/1168
2022-01-31 13:36:40 +02:00
Kevin Ansfield
fbf55bb29d Added improvedOnboarding labs toggle
refs https://github.com/TryGhost/Team/issues/1294

- feature flag and associated toggle for onboarding-related setup flow and dashboard tweaks
2022-01-31 11:31:58 +00:00
Kevin Ansfield
ed48cd6e3a Refactored custom-view-form modal
refs https://github.com/TryGhost/Team/issues/559
refs https://github.com/TryGhost/Admin/pull/2227

- updated modal component to use newer ember-promise-modals modals implementation
  - removed use of "delayedColor" properties as the workaround for liquid-fire based animation is no longer required
  - added `validate` action to remove need for `{{action}}` - we can't call the `validate()` method directly from the template because it's not bound correctly with `@action` and binding it breaks other code that expects `_super()` for the validate method to work via the mixin (eg, staff invite modal)
- removed `customViews.toggleFormModal()`` and changed `customViews.editView()` to open the modal directly
  - updated templates to use `{{on "click" this.customViews.editView}}` in place of toggling the "showFormModal" property
2022-01-31 10:41:57 +00:00
Fabien "egg" O'Carroll
8fbb5eb04d Removed shared redirect inputs when Tiers enabled
refs https://github.com/TryGhost/Team/issues/1168

These are being replaced by Tier specific redirect which are set in the
Tier modal when Tiers feature is enabled.
2022-01-31 12:07:19 +02:00
Kevin Ansfield
d3447315ee Excluded all email related events from feeds when newsletter is disabled
refs https://github.com/TryGhost/Team/issues/1290

- added `{{members-event-filter}}` helper that can be used to build an event filter string that will always exclude email events when the newsletter is disabled
  - useful when used in conjunction with `{{members-event-fetcher}}` because the filter is automatically adjusted for you without needing additional logic or JS backing files for components
- updated dashboard and member screen activity widgets to use `{{members-event-filter}}`
- updated members-activity screen
  - updated to use `{{members-activity-filter}}` helper in the template which allowed for removal of filter generation in the controller
  - changed `@hideMemberOnlyEvents` to `@hiddenEvents` on `<MembersActivity::EventTypeFilter>` so that we can control which events are available in the filter based on newsletter enable/disable and presence of a filtered member
2022-01-27 19:19:15 +00:00
James Morris
af6332cb6e Make the Activity header always clickable to reset any filters anytime
refs https://github.com/TryGhost/Team/issues/1277
2022-01-27 17:45:13 +00:00
Kevin Ansfield
073cdc7078 Replaced dashboard "Top members" widget with longer activity feed
refs https://github.com/TryGhost/Team/issues/1290

- when the activity feed labs flag is enabled
  - hide top members widget
  - increase number of events in activity widget from 5 to 10
2022-01-27 16:53:39 +00:00
Kevin Ansfield
f2594e26f6 Reverted accidental removal of dashboard "Top members" widget
no issue

- we want to remove it eventually but as part of the members activity feed changeset
2022-01-27 16:48:51 +00:00
James Morris
fa224988e5 Updated styles for Activity to address latest feedback
refs https://github.com/TryGhost/Team/issues/1277

- changed breadcrumb for activity
- added back in three columns for activity when not filtered
- made adjustments to visual look and feel
2022-01-27 15:27:26 +00:00
Kevin Ansfield
98eb75ef06 Added member search/filter UI to the members-activity screen
refs https://github.com/TryGhost/Team/issues/1290

- renamed `@updateExcludedEvents` to `@onChange` and updated associated action name so we have consistent naming for our select-like components
- added `<MembersActivity::MemberFilter>` component
  - utilises `<PowerSelect>` with a custom trigger component and  and a debounced search via the member's API
  - does not use `<PowerSelect>`'s default "selected" behaviour in favor of replacing the select with a button to provide a clearer "reset filter" UX that's easier to build/style outside of the power-select components
  - added `.ember-power-select-trigger-reset` class to reset margins, paddings, borders, and heights so that it's easier for a custom trigger's contents to control the display
2022-01-27 15:00:40 +00:00
Sanne de Vries
21b4b15a1c Improved Email newsletter settings page (#2207)
Updated email newsletter settings

- Added toggle to disable email newsletters
- Hides email related UI when email is completely turned off
- Rearranged email newsletter settings
- Added publish-menu preview in 
- Changed default-recipients setting
- Updated publish-menu to show Publish as default action
- Removed the confirmation modal during publishing when no emails are intended to be sent
2022-01-27 12:40:11 +01:00
James Morris
2f935163d5 Added basic activity filter styling with first round icons
refs https://github.com/TryGhost/Team/issues/1277
2022-01-26 17:54:26 +00:00