Commit Graph

1910 Commits

Author SHA1 Message Date
James Morris
d05d22c177 Better faked graphs and various tweaks for Dashboard 5.0 prototype
refs: https://github.com/TryGhost/Team/issues/1436

- added in lots of demo graphs using EmberChart
- renamed some files in v5 folder for better conventions
- put each graph for new dashboard into separate components
2022-03-22 21:59:47 +05:30
Rishabh Garg
fcf7f516b8 🐛 Fixed error on saving a paid member (#2312)
refs https://github.com/TryGhost/Team/issues/1435
refs a47b61c1d4

A recent change for showing all subscriptions of a member on detail screen introduced a circular json structure with subscription -> tiers -> subscriptions, which throws an error on saving any member with paid subscription on member detail screen.
2022-03-22 21:58:21 +05:30
Simon Backx
8937e09436 Added placeholder components and skeleton for dashboard 5 prototype
refs https://github.com/TryGhost/Team/issues/1432
2022-03-22 12:11:14 +01:00
Simon Backx
96d02a208d Fixed linting issues in dashboard 5 component 2022-03-22 09:58:42 +01:00
Simon Backx
829fee29da Added better POC styling for dashboard 5
refs https://github.com/TryGhost/Team/issues/1432
2022-03-22 09:04:52 +01:00
Simon Backx
da9298b6f0 Added some basic prototype toggles
refs https://github.com/TryGhost/Team/issues/1432
2022-03-21 19:02:57 +01:00
Simon Backx
7c96a1d562 Added dashboard 5.0 component
refs https://github.com/TryGhost/Team/issues/1431
2022-03-21 18:08:13 +01:00
Thibaut Patel
a47b61c1d4 Added canceled subscriptions in member detail screen (#2287)
refs https://github.com/TryGhost/Team/issues/1141

Showing canceled subscriptions provide a more complete picture of the activity of a member.

- Given there is no `member.product` object when a subscription is canceled, use the `member.subscriptions.price.product` objects instead of `member.products`.
- applied boy-scout rule for linter errors and and code formatting
- removed `multipleTiers` flag conditionals as it's now GA
- set up subscriptions as a separate mirage resource so they are easier to work with
    - updated `PUT /members/:id/` endpoint to match real API's complimentary subscription behaviour
    - modified mirage member serializer to match API output

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
2022-03-18 16:15:42 +00:00
Peter Zimon
004a483bb1 Fixed unsplash icon positioning in design settings 2022-03-16 08:51:14 +01:00
Kevin Ansfield
4e1f292c74 Revert "Removed unused modal files"
This reverts commit 1b4126b6f0.

- this was in error, `settings/members/archive-tier` wasn't a modal file
2022-03-14 12:38:39 +00:00
Kevin Ansfield
85d7932e45 Resolved deprecation warnings for dynamic modal component binding (#2303)
refs https://github.com/TryGhost/Team/issues/559
refs 054a5f15f5

- with the update of `ember-promise-modals` we started to get deprecation warnings when using `modals.open('modal-component-name')`
  - upcoming Ember build updates will introduce tree shaking but using run-time lookup of modal components by name works against that because it's not statically analysable
- switched to importing components and passing the component class directly, eg. `modals.open(ModalComponent)`
- standardized modal component class names with a `MyModal` style to get better behaviour in code editors when it auto generates imports
- dropped the modal defaults from the modals service because we can now use a static `modalOptions` property on the modal components themselves when we want to override the defaults
2022-03-14 10:52:04 +00:00
Kevin Ansfield
32658c25c2 Fixed linter errors in <ModalProduct> template
no issue

- dropped unnecessary/invalid nested `<form>` elements
2022-03-14 10:51:19 +00:00
Kevin Ansfield
7374b0f8c6 Fixed errors thrown in tests that were causing random failures
no issue

- dropped `id` attribute added to `<GhBenefitItem>` because it was only using the index resulting in multiple `id="1"` on the page which is invalid HTML and caused Glimmer to complain
- added a check for `portalPreviewIframe` existence when the portal message listener in the offer controller is fired because it was occurring out of sync with the tests and throwing async errors that were picked up in random later tests
2022-03-14 10:28:58 +00:00
Kevin Ansfield
0be1f206a5 Removed unused modal-custom-view-form.js file
no issue

- the `custom-view-form` modal has been migrated to the newer modal style but the original modal's component file wasn't cleaned up
2022-03-14 10:00:40 +00:00
Kevin Ansfield
1b4126b6f0 Removed unused modal files
no issue

- we had two archive-tier modals with the version living in `modals/tiers/archive` being the only one used
2022-03-14 09:46:49 +00:00
Kevin Ansfield
134cd17649 Fixed flash of "No members" state when opening publish menu
no issue

- removed the count task state from the `disableEmailOption` getter so it doesn't get used to show the "Add members" notification before the count request has finished
2022-03-11 11:35:39 +00:00
Kevin Ansfield
bc5ddd9921 Resolved linter errors in <GhMembersRecipientSelect>
no issue

- fixed duplicate `id` attribute on the specific people checkbox
- switched toggle behaviour from a click event on the surrounding div to a change event on the checkbox
  - the surrounding `<label>` has appropriate `for` attribute so it acts as the click-to-change target
- added `aria-label` attributes to the checkboxes because the label element we're using does not surround any content that labels the checkbox
2022-03-11 11:06:13 +00:00
Kevin Ansfield
f0418266f4 🐛 Fixed "Must be in the past" error when closing and re-opening publish menu whilst scheduling
closes https://github.com/TryGhost/Team/issues/1399

- the publish/schedule save type was not being reset when closing the publish menu, even though the underlying post publish date _was_ reset leading to the publish menu and the post state being out of sync
- added a reset of the save type when closing the menu, this means "schedule" will need to be re-selected when re-opening the menu but that follows the same behaviour as the reset of the publish menu options
2022-03-11 10:13:08 +00:00
Kevin Ansfield
79afb5fc9c Added "Name" and "Email" filters to members screen
closes https://github.com/TryGhost/Team/issues/1408
closes https://github.com/TryGhost/Team/issues/1409

- adds new text-based filters that match against member names and emails that allows more specific filtering than search
  - new filter operators introduced for "contains", "does not contain", "starts with", and "ends with"
2022-03-10 16:45:24 +00:00
Kevin Ansfield
e6b02fb416 Deleted unused get-started modal code
refs https://github.com/TryGhost/Team/issues/1412

- we've switched to a full "done" page instead so the now-unused modal and related styling can be cleaned up
2022-03-10 16:13:50 +00:00
James Morris
4ec15f7323 Tweaked visual things for polish with Activity
refs: https://github.com/TryGhost/Team/issues/1373

- Simplify the member details link on single member activity
- Adjust all the activity scrolling to work better at all sizes
- Make the header work properly with truncating at narrower viewports
- Remove unnecessary CSS and classes
- Remove the top line from the member detail box
- Move the member detail box so it stays when scrolling
- Make the empty state work with new member detail box position
- Better scrolling full width whilst not having full width like members
- Fix the subscriptions event icon which was a white box in dark mode
- Adjustments to global gh-list-scrolling styles at narrower viewports
- Test fully on narrower viewports and major browsers
2022-03-10 15:24:38 +00:00
James Morris
ae1ead69e4 Fixed a hbs linting problem with the Clear Member button
no issue
2022-03-09 17:25:59 +00:00
James Morris
e0f1271a31 Reduced Activity on Dashboard down to 5 from 10
refs: https://github.com/TryGhost/Team/issues/1373

- reduced from 10 to 5 to keep things visually simpler
- sneaked in a little colour tweak to link on activity member detail header
2022-03-09 17:17:47 +00:00
James Morris
a26ca9bec6 Added some tweaks to Members Detail link for Activity
refs: https://github.com/TryGhost/Team/issues/1373

- changed searched name clear to say Clear Member as there was duplicates across the screen
- tried to tidy up the Member Detail link when filtered by members in Activity
- few tiny CSS tweaks
2022-03-09 16:59:55 +00:00
Kevin Ansfield
652fc883d7 Changed default member filter to "Name is"
refs https://github.com/TryGhost/Team/issues/1408

- "Name" is the first filter in the list and has a basic value type so it makes sense to make it the default compared to label
2022-03-09 16:52:51 +00:00
Kevin Ansfield
af08f050d3 Added "Email" members filter
refs https://github.com/TryGhost/Team/issues/1409

- added filter property definition using the same "contains" operators and parsing supported added for the "Name" filter
2022-03-09 16:05:28 +00:00
James Morris
b6426e5a00 Cleaned up members activity flow between that and details
refs: https://github.com/TryGhost/Team/issues/1373
2022-03-09 15:02:36 +00:00
Rishabh
5b09720f1f Fixed lint 2022-03-09 14:21:16 +05:30
Rishabh
052a716d5d Removed member count from tier visibility segment
The segment select UI for restricting post access to specific tier also showed a member count for selected tiers, which was not needed as that count is dynamic and not relevant for setting access level.
2022-03-09 14:21:16 +05:30
Rishabh
987ec3f742 Added status/tier as default column for members index table
refs https://github.com/TryGhost/Team/issues/1035

- provides context on member's tier/status on default index table
- removes extra membership tier column as information is captured in status column
2022-03-09 14:21:16 +05:30
Rishabh
82d6d38b3f Fixed tier archive not updating portal preview
The tier visibility is now handled by visibility property on object, this change ensures portal preview is updated on a tier archive to show the correct Portal UI.
2022-03-09 14:21:16 +05:30
Kevin Ansfield
f65437b14c Added "Name" members filter (#2289)
refs https://github.com/TryGhost/Team/issues/1408

- switched to `@tryghost/nql` packages to get access to latest releases
- updated `GET /members` mirage endpoint with a try/catch and explicit logging to make any errors from NQL more visible
- added "Name" filter option
  - has `is`, `contains`, `does not contain`, `starts with`, `ends with` operators
  - uses a plain text field for the input value
- added support for `~`, `-~`, `~^`, and `~$` operators when generating NQL queries from filter definitions
2022-03-08 21:30:20 +00:00
Kevin Ansfield
3a9ea11213 Added "Last seen" filter to members screen
refs https://github.com/TryGhost/Team/issues/1418

- adds "Last seen" option to members filtering that lets you filter by date a member last logged in or opened an email with `before`, `on or before`, `on or after`, and `after` options
- adds "Last seen on x" data to the member details screen
2022-03-08 20:21:49 +00:00
Kevin Ansfield
4562476d4e Switched "Last seen" filter back to standard datepicker without shortcuts (#2296)
refs https://github.com/TryGhost/Team/issues/1418

- drops the block usage of `<GhDatePicker>` for the "Last seen" input that added shortcut buttons
  - not a full revert of https://github.com/TryGhost/Admin/pull/2291 as allowing block usage of the component is still useful for other component customisation
- removes CSS related to the calendar-with-shortcut buttons as we don't have any other use-cases for it at the moment
2022-03-08 20:13:33 +00:00
Kevin Ansfield
3d8b06847b Cleaned up members filter nql parsing/generation
refs https://github.com/TryGhost/Team/issues/1419

- small cleanups to remove unnecessary duplication
2022-03-08 19:07:46 +00:00
Sanne de Vries
3ae3e8142a 🎨 Redesigned user authentication pages (#2286)
Refs https://www.notion.so/ghost/Invite-staff-users-steps-in-setup-guide-367737e13d97450a98a0f39ec6b68181

* Simplified the selfhoster setup flow to one setup page only
* Redesigned the reset password pages and the signup page for new staff members

Co-authored-by: Daniel Lockyer <hi@daniellockyer.com>
2022-03-08 17:30:46 +00:00
Kevin Ansfield
e46a406645 Fixed timezone handling for "on or before" date member filters
no issue

- `settings.get('timezone')` had a typo in the "on or before" nql filter generation meaning the date wasn't correctly converted to the site timezone when applying the filter
2022-03-08 17:19:44 +00:00
Peter Zimon
de1a9abe76 Fixed linter error 2022-03-08 16:47:40 +01:00
Peter Zimon
2efc7768a8 Fixed portal tiers settings margin 2022-03-08 16:40:41 +01:00
Kevin Ansfield
00991f28c9 Removed unnecessary filterType arguments in members filter value updating actions
refs https://github.com/TryGhost/Team/issues/1419

- the `filterType` argument was never used and if it is needed the full filter instance is passed around which has the `.type` property on it anyway
- dropped the `setFilterValue` action inside `<Members::FilterValue>` component as it was only calling the passed-in action with the same arguments
- makes the code a little less noisy and easier to follow
2022-03-08 15:17:00 +00:00
Kevin Ansfield
d73e9f7cfd Added array valueType to reduce members filter code duplication
refs https://github.com/TryGhost/Team/issues/1419

- continued cleanup of filtering code
  - added `array` as a `valueType` for member filters removing the need for duplicated NQL generation code between `label` and `product` filters
  - cleaned up duplicated relation string/operator handling
2022-03-08 14:43:10 +00:00
Kevin Ansfield
789d5b9395 Removed need for filter.id in members filtering
refs https://github.com/TryGhost/Team/issues/1419

- the `id` property isn't necessary for any of our use-cases and adds extra complexity to the code as we need to keep track of it and apply+increment it manually each time we work with filter instances
  - dropped the property
  - switched actions to pass the Filter instance rather than just the id so we can do direct compares when working on the filters array and modify properties on the Filter instance directly
- part of cleanup to reduce the amount of code/complexity in filtering so we can more easily refactor
2022-03-08 14:18:23 +00:00
Peter Zimon
096153b9f9 Removed selectable portal settings flag 2022-03-08 11:53:19 +01:00
Rishabh
12944a4c91 Removed usage of portal products setting
refs https://github.com/TryGhost/Team/issues/1387

Tier visibility is now managed by `visibility` property, and we'll be removing the `portal_products` setting in future.
2022-03-08 15:50:21 +05:30
Rishabh Garg
3e4e9d731b Added tier visibility handling from portal settings (#2295)
refs https://github.com/TryGhost/Team/issues/1387

This will allow us to move from the portal_products and portal_plans settings to using the visibility property on tiers to determine whether or not a tier should be visible in Portal. This updates admin to handle tier visibility property based on changes in settings. Old portal settings update is temporarily kept in though will not be used for determining visibility going forward. Also removes default product visibility being set on stripe connect.
2022-03-08 13:00:31 +05:30
Peter Zimon
f29f723381 Fixed linter error 2022-03-07 18:55:04 +01:00
Peter Zimon
581f1abeea Updated powered by badge in email settings 2022-03-07 17:35:27 +01:00
Peter Zimon
c41c72aeb4 Updated help and support links in account menu 2022-03-07 16:56:15 +01:00
Kevin Ansfield
696fca0f9e Hid members graphs in dashboard until get-started block dismissed or members added
refs https://github.com/TryGhost/Team/issues/1406

- added fetch of a single member to the dashboard initialisation if we don't already have some members loaded in memory
- added `showMembersGraphs` getter used in the conditional for rendering the members graphs block component
  - if `improvedOnboarding` flag is disabled, return `showMemberData` so existing functionality is retained
  - will return `false` if until the single-member fetch has completed if we don't already have any members in memory
  - returns `true` if any members exist or the "get started" dashboard resources block has been dismissed
2022-03-07 13:26:52 +00:00
Kevin Ansfield
b5992de5ea Extracted dashboard members graphs block to a component
refs https://github.com/TryGhost/Team/issues/1406

- separates concerns from the Dashboard controller so it's easier to refactor and change behaviour
- pre-req for introducing optional display of the graphs based on wider system status in a clean way
2022-03-07 12:33:51 +00:00