Commit Graph

93 Commits

Author SHA1 Message Date
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
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
Rishabh Garg
6c6447ef4f Removed multiple tiers beta section (#2298)
refs https://github.com/TryGhost/Team/issues/1267

Multiple tiers is now available for all sites by default, so there is no need anymore for the beta section to enable it.
2022-03-11 20:14:47 +05:30
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
7f3976868f Updated .lint-todo file 2022-03-09 17:32:14 +00:00
Sanne de Vries
7671ca4364 Fixed linter error 2022-03-09 12:24:36 +00:00
Rishabh
5b09720f1f Fixed lint 2022-03-09 14:21:16 +05:30
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
Peter Zimon
de1a9abe76 Fixed linter error 2022-03-08 16:47:40 +01:00
Peter Zimon
f29f723381 Fixed linter error 2022-03-07 18:55:04 +01:00
Kevin Ansfield
8787fc82de Reset linter todos
no issue

- the majority of our ignored linter problems had transitioned to warnings but we haven't yet reached a point where that is useful
- deleted and recreated the `.lint-todo` file to give us another 30 days to perform any automated cleanup
2022-03-07 12:21:57 +00:00
Kevin Ansfield
e10c045947 Resolved linter errors in members-activity.hbs 2022-03-07 12:21:57 +00:00
Kevin Ansfield
067f8d667f 🐛 Fixed members table showing dates in UTC rather than site timezone
closes https://github.com/TryGhost/Ghost/issues/13611

- added `{{moment-site-tz}}` helper for transforming any date into the selected site's timezone
  - allows for use on any date in the system
  - keeps transformation a display-level concern
- updated members table to use `{{moment-site-tz}}` to transform the date before display
2022-03-03 16:16:46 +00:00
Sanne de Vries
25475e9a51 Fixed linting error 2022-03-03 10:52:05 +01:00
Kevin Ansfield
89f9516f04 Added "created at" members filters
refs https://github.com/TryGhost/Team/issues/1390

- added `membersTimeFilters` feature flag and labs toggle
- added `<GhDatePicker>` component that lifts functionality from the `<GhDateTimePicker>` component
  - `<GhDateTimePicker>` has not yet been refactored to use the new component internally as there are some odd/complex interactions with error handling with it's existing use-cases and they are in critical publishing paths so the refactor doesn't belong as part of this change
- added "Created at" filter type to members filters
  - uses new date picker component for input value
  - has "before", "on or before", "after", "on or after" operators
  - "on" and "not on" operators were skipped as they require two NQL statements to represent, breaking the current 1:1 statement:filter approach used in the NQL-based query param parsing
2022-03-02 21:59:48 +00:00
Sanne de Vries
1306921cac 🎨 Updated Member page layout (#2271)
No issue

- Changed the Member details page to be more scalable and flexible, depending on whether creators are using subscriptions, emails, and stats.

* Hidden email stats on member detail page when subscriptions are off
* Hid subscription box on member details page when Stripe is not connected
* Updated copy and layout of member details page
* Updated old activity feed styles on member page
* Fixed padding issue for empty activity feed
* Fixed current and new activity feed
* Added Last seen to member details page behind feature flag
* Updated lint todo file
* Fixed spacing issue in member details
2022-03-01 15:57:57 +01:00
Kevin Ansfield
f44c54862b Completed Octane migration of integration controller
refs https://github.com/TryGhost/Ghost/issues/14101

Applied scout rule to fix linter errors when touching a file.

- added local `updateProperty` and `validateProperty` methods to remove use of `target=`
  - our validation implementation does not properly bind `this` so direct usage of `this.integration.validate` fails
- added `on-input` argument support to our `TextInput` mixin so we we're not overwriting the native event handlers on classic input components
2022-02-21 17:54:47 +00:00
Djordje Vlaisavljevic
97ca3db8b1 Fixed linting issues
refs https://github.com/TryGhost/Team/issues/1096
2022-02-21 17:30:03 +01:00
Djordje Vlaisavljevic
f98aafb08b Added grouping to portal links table to fix linting issue
refs https://github.com/TryGhost/Team/issues/1096
2022-02-21 13:22:21 +01:00
Kevin Ansfield
4b646d40ea Added non-Stripe members setting screen acceptance tests
refs https://github.com/TryGhost/Team/issues/1358

- added acceptance tests for members settings screen
  - subscription access management
  - default post access management
  - free tier management
- fixed `enableLabsFlag()` test helper overwriting existing flag settings when enabling another one
- updated API mocks and fixtures
  - matched product fixtures to default tiers-enabled products
  - updated product API mocks to include benefit handling
2022-02-18 22:36:01 +00:00
Kevin Ansfield
7e3565d71f Resolved linter errors in koenig-toolbar.hbs
refs https://github.com/TryGhost/Ghost/issues/14101

- switched from the deprecated `{{action}}` helper to the `{{on}}` modifier
2022-02-15 13:46:49 +00:00
Peter Zimon
f1aade9aa9 Updated lint todo file 2022-02-15 11:22:54 +01:00
Kevin Ansfield
69a8122ca6 Disabled non-functional edit buttons in labels dropdown when importing members (#2258)
closes https://github.com/TryGhost/Team/issues/1320

- added `@allowEdit` argument to `<GhMemberLabelInput>` and changed the dropdown to only show the edit label when `@allowEdit` is truthy
- updated usage in the filter UI and members detail screens to allow editing
2022-02-11 15:20:28 +00:00
Kevin Ansfield
152e9ff7d1 Added acceptance test for members import modal display
refs https://github.com/TryGhost/Team/issues/1320

- start of acceptance tests ready for more detailed testing
- added ignore of `no-duplicate-landmark-elements` lint rule in import modal template
  - the rule was a false flag because the conditionals only allow one `<header>` element to be rendered at a time
2022-02-11 10:01:08 +00:00
Sanne de Vries
f27088c581 Fixed linting error
Refs 72d3d6debc

- Fixed PSM error by moving the action on to the button and change the styling so the button is the main styled element that fills the whole area
- Hid the post-list-item error, which will warn in 30 and error in 60 days
2022-02-11 10:10:18 +01:00
Kevin Ansfield
b8d47c73a0 Updated .lint-todo file 2022-02-10 10:26:55 +00:00
Gabriel Csapo
f75d88cb2c [chore] migrates koenig-editor files to native classes (#2251)
refs https://github.com/TryGhost/Ghost/issues/14101

- continuing migration to native classes with use of `@classic` decorator
2022-02-09 09:19:45 +00: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
f0432ba82c Migrated <GhUnsplashPhoto> to glimmer component
refs https://github.com/TryGhost/Ghost/issues/14101

- extracted the ratio zoom handling to a `{{ratio-zoom}}` modifier to clean up the component and avoid needing lifecycle hooks that don't exist in Glimmer components
- disabled `no-nested-interactive` linting in the template - not ideal but we'd need a much bigger design refactor to eliminate the nested links
2022-02-08 10:13:18 +00:00
Kevin Ansfield
9459ad068f Updated linter todo file
refs 018a4ec5e9

- ran `yarn lint:hbs` to update the todo list for errors that were resolved in the `<GhUnsplash>` glimmer component refactor
2022-02-07 16:58:36 +00:00
Kevin Ansfield
4ad99dadc4 Disabled linting rule that forbids use of <style> elements
no issue

- rule: https://github.com/ember-template-lint/ember-template-lint/blob/master/docs/rule/no-forbidden-elements.md
- we need to use `<stye>` in our application template to allow use of dynamic CSS variables
- the whatwg html spec says `<style>` is not valid inside `<body>` but all of the browsers we care about support it
2022-02-07 15:22:32 +00: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
19023a17a0 Disabled "no-inline-styles" template lint rule
no issue

- in general we only use inline styles when it reduces maintenance problems so the rule was providing too many false negatives
2022-02-07 10:21:03 +00:00
Kevin Ansfield
14c0c5ff65 Refactored general design settings form components
refs https://github.com/TryGhost/Team/issues/1310

We want to use parts of the "Brand setting" form in a separate streamlined settings screen after site setup but that wasn't possible without a lot of duplication.

- extracted individual form fields into separate components for re-use
  - included minor refactors like using `uploader.registerFileInput` and `uploader.triggerFileDialog` instead of continually duplicating the same file input trigger method
- fixed accessibility issues
  - changed input titles from `<div>` to `<label>` and associated with the component's input fields
  - changed `<img {{on "click" upload}}>` to `<input type="image">` so they act as proper buttons and are linked to the label (required a styling change so `img` and `input[type="image"]` are treated equally)
- finished cleanup of `.description-container-labs` by renaming to `.description-container`
2022-02-04 16:04:58 +00:00
Djordje Vlaisavljevic
bc1cede1f4 Updated lint todo file
refs https://github.com/TryGhost/Team/issues/1252
2022-02-04 14:58:47 +01:00
Kevin Ansfield
213170feaf Update .lint-todo
refs 019b22caa1

- the linter error had been fixed but the todo wasn't removed
2022-02-04 10:32:06 +00:00
Kevin Ansfield
e3c4eff84c Resolved use of {{action}} linter errors in <GhProductCard>
refs https://github.com/TryGhost/Ghost/issues/14101

- switched to `{{on}}` and `{{fn}}`
- updated linter todo list
2022-02-03 17:37:32 +00:00
Djordje Vlaisavljevic
65b2247ca5 Updated todo
refs https://github.com/TryGhost/Team/issues/1252
2022-02-03 18:22:13 +01: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
Kevin Ansfield
5e7c98fb46 Fixed template linting error in koenig-card-email.hbs
refs cc257f8576

- template change triggered a linting rule
- fixed and ran `yarn lint:hbs --update-todo`
2022-02-02 16:48:09 +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