Commit Graph

2267 Commits

Author SHA1 Message Date
Rish
59ce29e19a Added custom error message handling for newsletter email failures
refs https://github.com/TryGhost/Ghost/issues/11971

- Newsletter preview email request has been using hardcoded fixed error message
- Reads custom error message from server's API response to show when available
2020-07-17 13:54:31 +05:30
Peter Zimon
6a60811d80 Aligned selected tab style in Portal settings
no refs.
- made main tab style same as icon selector for consistency
2020-07-17 10:13:05 +02:00
Peter Zimon
66ae9f6a38 Applied selected style to Portal preview tabs
no refs.
- added border to selected tab on Portal settings preview
2020-07-17 10:02:32 +02:00
Peter Zimon
42240c8be0 Refined Portal settings main area topbar
no refs.
- changed preview tab style to buttons for better discoverability
2020-07-17 09:53:15 +02:00
Peter Zimon
41daa5fada Moved Portal settings button to top
no refs.
- moved cancel and save buttons to top to save space and resolve conflict with Portal button
2020-07-17 09:19:47 +02:00
Peter Zimon
c30ba921d5 Renamed "Modal settings" to "Portal settings"
no refs.
2020-07-16 16:55:00 +02:00
Peter Zimon
dba7522470 Resized Portal preview iframe
no refs.
- made Portal preview iframe a bit smaller to make sure users get the UI context
2020-07-16 16:51:45 +02:00
Peter Zimon
058193f9e4 Updated Portal preview area tabs
no refs.
- added active style to Portal settings preview area
2020-07-16 16:37:54 +02:00
Peter Zimon
9102f3d51a Styled links section in Portal settings
no refs.
- applied basic styles to link section in sidebar of Portal settings
2020-07-16 16:01:39 +02:00
Peter Zimon
aba652ec56 Portal settings sidebar refinements
no refs.
- refined typography, colors and layout
- using built in admin icons for portal button icon temporarily
- styled icons for future usage with inline svgs
2020-07-16 15:25:09 +02:00
Peter Zimon
7ff098aae6 Basic design cleanup of Portal preview area
no refs.
- applied basic spacing and typography to Portal preview area
2020-07-16 15:25:09 +02:00
Fabien 'egg' O'Carroll
97feab1002 🐛 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
Rish
4b0f1a18d6 Fixed incorrect self-signup setting for portal modal
no issue

- Portal modal was using incorrect `allowSelfSignup` value post settings refactor
- Updated to use correct setting for free signup to correctly disable/enable checkbox
2020-07-16 11:12:00 +05:30
Fabien 'egg' O'Carroll
1f9854a6f8 Added UI for AMP GA Tracking ID (#1638)
refs https://github.com/TryGhost/Ghost/pull/12039

Adds the initial UI for setting the `amp_gtag_id` setting
2020-07-15 13:45:31 +02:00
Peter Zimon
9e3a935bd7 Basic Portal sidebar stylings
no refs.
- cleaned up `style` attributes
- applied basic styles to sidebar UI elements
2020-07-15 13:18:58 +02:00
Rish
a38d7ddb19 🐛 Fixed broken structured data previews
closes https://github.com/TryGhost/Ghost/issues/11385

- Updates og and twitter description to use correct fallbacks for posts/pages
- Updates og and twitter description to use correct fallback for tags
- Updates og and twitter title to use correct name format for tags
2020-07-15 12:06:03 +05:30
Fabien 'egg' O'Carroll
ed1aa5262c Fixed typo in tag settings 2020-07-14 15:48:31 +02:00
Peter Zimon
a409a3464e Fixed typos in tag meta data
no refs.
- fixed capitalisation on tag meta data properties
2020-07-13 15:42:34 +02:00
Fabien 'egg' O'Carroll
ffdde799b8 Added UI for setting tag metadata (#1632)
no-issue

* Updated tag model with new metadata fields
* Updated Tag setting UI to handle metadata

Co-authored-by: Peter Zimon <zimo@ghost.org>
2020-07-13 14:58:13 +02:00
Nazar Gargol
2bf69f94e7 Removed developerExperiments flag from behind updated members importer
no issue

- Removes redesigned members importer features from behind `enableDeveloperExperiments` flag enabling it by default for everyone
- Had to disable some of the tests for future investigation to unblock the release
2020-07-13 23:55:07 +12:00
Nazar Gargol
caf08b1021 Fixed members CSV uploader for non-devExperiments version 2020-07-13 20:30:32 +12:00
Nazar Gargol
21a5b2ad38 Updated mapping validation error copy 2020-07-13 17:29:10 +12:00
Nazar Gargol
1465eb7045 Added import validation message when no "Email" mapping selected
no issue

- Ensures the "email" field required to create a member is always present with the mapping
- If the field is not mapped, import would fail for all members
2020-07-13 17:25:56 +12:00
Peter Zimon
f74ca902c2 Added sample CSV link to members import
no refs.
- added link to a sample CSV in members import start screen
2020-07-09 17:30:24 +02:00
Peter Zimon
59ed8d718d Members import refinements
no refs.
- updated and removed copy on mapping screen
2020-07-09 14:42:29 +02:00
Peter Zimon
c611f65f53 Refined members import modal
no refs.
- fixed title logic
- fixed stripe validation message
2020-07-09 12:12:53 +02:00
Nazar Gargol
cf2f12e046 Fixed error message substitutions for members-importer summary 2020-07-09 22:10:38 +12:00
Nazar Gargol
4f56e77db5 Updated members uploader mapper logic to map all known types 2020-07-09 20:52:12 +12:00
Nazar Gargol
21a0bc7aa9 Made more readable two most common member validation errors
no issue

- Because returned validation errors are too technical some of the most common ones were mapped for better human readibility.
- This is a patchwork on the client instead of introducing a lot bigger changes on the server side
2020-07-09 18:39:42 +12:00
Nazar Gargol
bcfc3792cd Removed invalid and duplicate email validations in members importer 2020-07-09 17:55:40 +12:00
Nazar Gargol
3086ac1439 Added upload progress stage to members importer
no issue

- As the number of states for the component has become larger introduced a concept of "stages" on component level to easier track UI changes.
2020-07-09 17:31:28 +12:00
Rish
dc82014283 Fixed check for empty portal button icon
no issue

- Members modal missed check for null portal button icon in initial state for dummy icons
2020-07-08 20:53:29 +05:30
Peter Zimon
36613212bb Fixed test for member import validation
no refs.
- fixed copy for member import validation test
2020-07-08 16:05:44 +02:00
Peter Zimon
3f0f3f1b68 Added number formatting to members import
no refs.
- added number formatting to all the screens of members import
2020-07-08 15:51:12 +02:00
Nazar Gargol
2da05338dd Fixed failure to render gh-members-import-table compontent
refs 4ee30dc5bd

- The tests were failing because there was no protective code to check for empty parameters.
2020-07-08 23:11:07 +12:00
Peter Zimon
5d261bfde8 Added pluralisation to members import
no refs.
- added correct pluralisation to pre- and post-validation copy of members import
2020-07-08 13:09:23 +02:00
Peter Zimon
4ee30dc5bd Added table header data to member import mapping
no refs.
- added counter ("x of y") to "Data" header for member import mapping table
- set disabled style to prev/next buttons in "Data" header for first/last records
2020-07-08 12:23:02 +02:00
Peter Zimon
1b98800bfb Updated members import mapping fields
no refs.
- made mapping fields ("Import as") human readable in members import
2020-07-08 10:18:56 +02:00
Peter Zimon
b3122ae2d8 Fixed select option color bug for members import
no refs.
2020-07-08 10:12:13 +02:00
Peter Zimon
6511a47524 Fixed tests
no refs.
2020-07-07 18:18:00 +02:00
Peter Zimon
1dd2a3db07 Updated styles for members import
no refs.
- added spinner to validation state
- applied styles to pre-validation step
- applied styles to import results
2020-07-07 17:53:59 +02:00
Peter Zimon
5dc96368ef Refined import member mapping table style
no refs.
- updated outer border of mapping table to have better contrast
2020-07-07 13:39:10 +02:00
Peter Zimon
7cc49b4b70 Added long data handling to member import UI
no refs.
- added styles to handle long data for field and data cells in members import mapping table
2020-07-07 13:29:44 +02:00
Peter Zimon
a819837bd4 Refined members import modal dropdown
no refs.
- updated style of members import modal field dropdown
2020-07-07 13:07:21 +02:00
Rish
f8b2092f6c 🐛 Fixed nav item not saving updated value on keyboard save
no issue

- Fixes nav item values not saving on keyboard save shortcut
- Nav items value was only being updated in settings on focus out from text field.
- In case of keyboard save, focus out didn't happen so old value got saved and re-populated
- Change fixes to update setting value while typing
2020-07-07 14:47:10 +05:30
Rish
182663bdf8 Added new look feel and links section to modal settings
no issue

- Adds new Look & Feel section to portal settings to control accent color, button style, text and icon
- Adds Links section to portal settings to show static links to control popup behavior
- Adds the 3 new portal settings to setting model
2020-07-07 14:07:37 +05:30
Peter Zimon
6f296f97b1 Fixed bookmark card design regression
no refs.
- fixed border radius of bookmark cards
- fixed title/description/metadata spacings
2020-07-06 18:23:29 +02:00
Peter Zimon
11c684f9b0 Changed date formatting for members
no refs.
- applied date format to members chart tooltip
- made all members date format consistent
2020-07-06 17:54:30 +02:00
Peter Zimon
6c39c22266 Added 'thousands' separator to members chart
no refs.
- added 'thousands' separator to Y axis values and tooltip in members chart
2020-07-06 17:11:52 +02:00
Peter Zimon
6e2803e24b Fixed members chart date range regression
no refs.
- added range value to "Signed up in the last x days" label in members chart summary
2020-07-06 16:19:47 +02:00
Peter Zimon
8ac4e5ab47 Rearranged accent color in settings
no refs.

- moved accent color setting to section top in Settings/General according to its importance
2020-07-06 16:07:22 +02:00
Peter Zimon
2e72d43dd8 Fixed spinner color bug for delete buttons
no refs.

- fixes spinner being darkgrey for red buttons
2020-07-06 15:57:47 +02:00
Nazar Gargol
39c4fec9ea Improved validation process for members CSV import
no issue

- A new validation stage has been introduced as a second step after CSV file has been dropped. It is meant to catch any obvious validation errors and output detailed statistics about
- These improvements also improve sampling logic which increases sample size to 30 non-empty cells which are used to validate stripe_customer_ids when there's such need.
- New sampling logic also introduces improved automatic field type detection which allows to better map email and stripe_customer_id fields to CSV columns
2020-07-07 00:28:30 +12:00
Fabien 'egg' O'Carroll
1f7fbdfc8f Updated labs to use new mailgun_* settings (#1628)
refs https://github.com/TryGhost/Ghost/issues/10318

This removes references to the old bulk_email_settings
2020-07-03 11:48:54 +02:00
Fabien 'egg' O'Carroll
1d0e49a869 Added basic handling for invalid plan amount (#1625)
refs https://github.com/TryGhost/Ghost/issues/11765

Adds handling to disallow plans of less than 1

Co-authored-by: Matt Hanley <3798302+matthanley@users.noreply.github.com>
2020-07-03 10:36:59 +02:00
Nazar Gargol
e36b79c940 Added field mapping column to members importer gird
no issue

- Adds UI to map imported csv fields to ones accepted by Ghost API
- Includes automatic mapping detection for emails and stripe_customer_ids
2020-07-03 16:54:21 +12:00
Matt Hanley
43419275ac 🐛 Fixed missing currency for yearly plan in Labs subscription price settings (#1626)
no-issue
2020-07-02 12:36:32 +02:00
Kevin Ansfield
be0a6d58a0 Improved scheduled status text in posts list
closes https://github.com/TryGhost/Ghost/issues/11965

- fixes scheduled posts always showing "and sent"
- updates status text to match that shown in the editor for scheduled posts
2020-07-01 20:37:46 +01:00
Kevin Ansfield
8f8fcfc8bb Added UTC offset to scheduled editor status text
refs https://github.com/TryGhost/Ghost/issues/11965

- updated the `{{gh-format-post-time}}` helper that is used in editor status and in post settings menu email sub-menu for displaying email sent time
2020-07-01 20:37:46 +01:00
Kevin Ansfield
ec925a60b0 Converted <GhPostsListItem> to glimmer component
no issue

- moved tag name and classes into template
- updated backing class to native class syntax
2020-07-01 20:37:46 +01:00
Kevin Ansfield
1f87c59055 Refactored <GhPostsListItem>
no issue

- moved `primaryTag` CP into the post model as per `primaryAuthor`
- removed all unnecessary or unused CPs in the component's backing class
- switched to using `@post` for direct argument access rather than `this.post`
2020-07-01 20:37:46 +01:00
Kevin Ansfield
a6ebb928a9 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
eacf8a72d8 Fixed gh-format-post-time not showing hours when time is <12 hours away
refs https://github.com/TryGhost/Ghost/issues/11965

- changed to native class syntax
- extracted main method out so that it can be used outside of templates
- switched the "in x hours" logic to use moment's `.from()` method when time is within 12 hours rather than 15 minutes
2020-07-01 13:23:42 +01:00
Peter Zimon
09f4a48bc5 Refined styles and copy for member import dialog
no refs.
- refined copy for Stripe warnings for members import pre-validation
- updated styles for data preview for dark mode
2020-07-01 07:24:10 +02:00
Fabien O'Carroll
1cf0dc14b9 Fixed stripe disconnect not working with new settings
refs #10318
2020-06-30 18:27:13 +02:00
Kevin Ansfield
0a2530c1cc Fixed "View post" rather than "View page" in save notifications
no issue

- the post/page conditional was looking at the old `post.page` property rather than the `post.displayName` that was added when posts and pages became separate models
2020-06-30 15:07:58 +01:00
Kevin Ansfield
ecf85f27e6 Updated "successfully scheduled" notification message
refs https://github.com/TryGhost/Ghost/issues/11965

- be more explicit about when the post will be published
- indicate if and to which type of members the post will be emailed
- improved description formatting by making sure pertinent pieces of information do not wrap
2020-06-30 11:15:39 +01:00
Fabien O'Carroll
495143b027 Updated to remove stripe_connect_integration references
refs #10318
2020-06-30 11:50:43 +02:00
Rish
3f75c2857b Fixed incorrect from address check for button
refs https://github.com/TryGhost/Ghost/issues/10318

- The check for disabled update button for from address was reversed in this commit - 5d22b788c8
- This updates the check to correctly validate for from address update for disabling the button
2020-06-30 12:16:48 +05:30
Rish
85a77388e2 Refined email newsletter error messages
refs https://github.com/TryGhost/Ghost/issues/11971

- Updates error messages incorrectly pointing to invalid mailgun config to show more generic error
- Needs to be updated to point to correct error message in future
2020-06-30 11:57:18 +05:30
Fabien 'egg' O'Carroll
5d22b788c8 Refactored to use updated members and stripe settings (#1621)
refs #10318

* Updated settings model with new settings

* Removed parseSubscriptionSettings from settings service

* Updated members-utils to use new settings

* Updated labs controller to use new settings

* Fixed dependency for member-settings-form

* Updated members-lab-setting component to use new settings

* Updated disconnect modal to use new settings

* Updated members portal modal to use new settings

* Removed Direct from settings

* Renamed members_allow_signup -> members_allow_free_signup

* Allowed for null fromAddress
2020-06-29 19:37:11 +02:00
Kevin Ansfield
2326e3d616 Updated members bulk delete to work with filters/paid/search
no issue

- use the same API query param generation for bulk delete requests as we use for the primary members list so that delete affects the same list that is visible/selected
2020-06-25 22:44:43 +01:00
Rishabh Garg
23537355b6 Added live preview to members settings modal (#1622)
no issue

- Adds live preview of members.js modal UI to the new settings modal behind dev flag
- Uses `gh-site-iframe` to render site in preview mode with custom portal url
2020-06-26 02:15:47 +05:30
Kevin Ansfield
fcb9b87884 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
99dbcdb3b0 Renamed defaultLocale setting to lang
refs https://github.com/TryGhost/Ghost/issues/10318

- API has been updated to still work with `default_locale` for backwards compatibility but it makes sense for the client to match the underlying settings keys
2020-06-24 15:27:17 +01:00
Kevin Ansfield
8984c0ae32 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
f2b28cfa26 Fixed settings not saving due to settings.brand
refs https://github.com/TryGhost/Ghost/issues/10318

- moves `settings.brand` as a JSON object to `settings.accentColor` as a string
2020-06-23 20:49:29 +01:00
Kevin Ansfield
6d83c30f01 Updated settings service with new types list
refs https://github.com/TryGhost/Ghost/issues/10318, https://github.com/TryGhost/Ghost/pull/11952

- precursor for moving from `?type` to `?group`
- matches the new settings groups list
2020-06-23 20:49:29 +01:00
Fabien 'egg' O'Carroll
6a3ae748c5 Disconnect Stripe Connect integration (#1613)
no-issue

Co-authored-by: Peter Zimon <peter.zimon@gmail.com>

This adds the ability to disconnect the Stripe Connect integration from the Members settings.
2020-06-23 13:29:12 +02:00
Rish
4a4a6cba3f 🐛 Fixed staff profile editing incorrectly showing saved state
closes https://github.com/TryGhost/Ghost/issues/11866

- Adds extra check to task button states if the last task ran was same as the current associated task
- In case of task groups, triggering one task in group also triggered states for other tasks in group
- Editing slug called `updateSlug` task which is part of the same task group as `save` task, which triggered the state for save button
2020-06-22 17:09:37 +05:30
John O'Nolan
2784f38553 Updated email newsletter config instructions
Added link to explain why Mailgun is required, and the different types of emails within Ghost
2020-06-22 13:47:45 +07:00
Peter Zimon
db065a58e7 Added scrolling to members import preview table
no issues.
- adds scrolling to import table
- adds shadow to top and bottom if the table is taller than the viewport
2020-06-19 19:43:12 +02:00
Kevin Ansfield
eee84ab5f7 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
Rishabh Garg
c6d12cbe5b Added new modal settings behind dev flag (#1615)
no issue

depends on 77e1ada6c6

- reverts commit 6760527 with modifications for naming
- Adds new portal settings UI in Labs -> Members setting
- Allows customization of new portal-* settings upstream
- Updates settings service to include portal group
- Updates settings modal to include new portal-* settings
2020-06-19 21:36:49 +05:30
Kevin Ansfield
d8270a110c Moved members bulk delete confirmation into a modal 2020-06-19 14:14:39 +01:00
Kevin Ansfield
74033eb14f Switched members links to use default cursor when in edit mode 2020-06-19 13:08:02 +01:00
Rish
831fed23c6 🐛 Added tags sidebar navigation for editors
closes https://github.com/TryGhost/Ghost/issues/11882

- Editors have all the same permissions and access to tags as Owner/Admin roles, but had the sidebar navigation for tags missing
- Adds "Tags" to sidebar for Editor roles same as Owner/Admin
2020-06-19 11:39:05 +05:30
Rish
6760527a05 Revert "Added new members modal settings behind dev flag (#1611)"
This reverts commit 3c9af3f397.
2020-06-18 19:05:06 +05:30
Peter Zimon
7613757fad Refined member import result screen
no issues.
- puts back file icon preview when not in dev. experiment
- refines generic style of member import result screen
2020-06-18 15:24:08 +02:00
Rish
a7c0899782 🐛 Fixed incorrect save warning on design settings
closes https://github.com/TryGhost/Ghost/issues/11590

- Dirty attribute flag was set incorrectly on focus out from label/url fields as no check with existing was used
- Checks against existing nav item value before setting dirty attribute on focus out
2020-06-18 17:46:18 +05:30
Rishabh Garg
3c9af3f397 Added new members modal settings behind dev flag (#1611)
no issue

- Adds new modal settings option in members settings
- Allows customization of modal settings for membersjs
- Uses new `memebrsjs_*` settings from core
2020-06-18 17:15:19 +05:30
Kevin Ansfield
6776b8cde7 Disabled members list links whilst editing
no issue

- these will eventually toggle selection of individual members when clicked whilst in editing mode
2020-06-18 11:42:06 +01:00
Kevin Ansfield
a539e93ea5 Fixed member's note field overflowing at smaller screen sizes 2020-06-18 11:39:53 +01:00
Kevin Ansfield
2d08670c9f Added exit of edit mode when changing members filters
no issue

- keeping selection does not make sense when a filter or search is changed
2020-06-18 11:23:15 +01:00
Kevin Ansfield
34c28dcc0e Added rough "edit mode" for members table behind dev flag
no issue

- initial UI for bulk-selection, focusing for now on first stage which is limited to select-all and delete actions
- adds "Edit" button to the members table that shows the "selection" toolbar in place of the table header and shows a checkbox next to each member
2020-06-18 11:08:53 +01:00
Peter Zimon
947b53a057 Fix members.css
no issues.
- adds newline at eof
2020-06-18 11:40:42 +02:00
Peter Zimon
7c540a9090 Refined members import data table design
no issues.
- refined style for members import preview table
2020-06-18 11:33:34 +02:00
Peter Zimon
2dfff367b9 Refined pre-validation of members import
no issues.
- removes email and Stripe duplicate customer ID check to focus validation that might affect the whole dataset
- applies visual style and refines copy
2020-06-18 10:30:15 +02:00
Nazar Gargol
ed98d89771 Added imported members csv data preview
no issue

- Adds a table representation of data present in a CSV file that is about to be imported. Allows to navigate through data to see how exactly the file would be parsed on server
2020-06-18 17:47:04 +12:00
Kevin Ansfield
da082fdbfb Gave members table a sticky header
no issue

- it's useful to be able to see the column headers anywhere in the list
- prep for having the table header toggle between normal and edit modes where having to scroll back up to the top of the page each time you want to toggle would be a poor experience
2020-06-17 17:37:32 +01:00
Kevin Ansfield
7331f8feed Fixed multiple no-shadow linting errors 2020-06-17 09:35:46 +01:00
Peter Zimon
e235f20f3e Updated members import validation warning design
no issues.
- changed warning style when import can still happen
- combines all warnings to a single section
- hides details for warnings behind an expandable list so that
- updated copy
2020-06-16 19:08:37 +02:00
Nazar Gargol
fca6d3300d Renamed members import/export endpoints to match API changes
refs 5f00619d1a
2020-06-16 18:13:06 +12:00
Kevin Ansfield
839ebb0b59 Fixed stripe connect persistent button and "unsaved changes" warnings
no issue

- hook template up directly to the `settings.stripeConnectIntegrationToken` value
- reset `settings.stripeConnectIntegrationToken` when leaving the labs route
  - without the reset, after a failed save other settings screens will show the "unsaved changes" warning
2020-06-15 17:43:02 +01:00
Peter Zimon
c389015b08 Made save Stripe settings button dynamic
no issues.
- shows/hides the "Save Stripe settings" button depending on the token value. This allows better focus and less distraction UX
2020-06-15 17:57:46 +02:00
Kevin Ansfield
37de63e8cd Updated image card to store original width/height in payload
no issue

- extract width/height from selected local image when uploading and store in the payload with `src` once upload finishes
- capture width/height from Unsplash and store in the payload after selecting an image
2020-06-15 13:16:37 +01:00
Nazar Gargol
af648b8fb9 Hidden member import validation messages bahind the experiments flag
refs c3d141dd03

- The feature still needs polishing UI side and will move out of `enableDeveloperExperiments` flag once that's ready
2020-06-15 22:42:56 +12:00
Hannah Wolfe
ff84b41f91 Adding INR currency support
- We have many customers asking for INR as there are special rules in Stripe for this currency
- As well as a desire for local-selling
- Meaning it's not valid to use e.g. USD instead
2020-06-12 15:17:22 +01:00
Nazar Gargol
095e29d83d Added imported member count to the "Import" button
no issue

- When importing members from CSV file this change shows total amount of members that will attempt to be imported
2020-06-13 00:51:19 +12:00
Kevin Ansfield
d14c432264 🐛 Fixed file inputs not allowing same file to be re-uploaded in Firefox
closes https://github.com/TryGhost/Ghost/issues/11707

- Firefox is different to every other browser and doesn't allow file input values to be reset by doing `input.value = null`
- outcome of reset not working is that Firefox won't trigger the change event when the same file is re-selected
- fixed by cloning the input element and replacing it
2020-06-12 13:45:28 +01:00
Nazar Gargol
c2d57820b3 Added Stripe customer id duplication detection for member import
no issue

- Added client side detection rule for Stripe's customer ids. Based on the check performed on the server side - cb26fd9305/core/server/api/canary/members.js (L43-L60)
- Also expanded check to a whole set of data as that should not be too slow of a check (did the same for emails). Kept the rest consistent to the data that is sent to the server for the check.
2020-06-13 00:23:58 +12:00
Nazar Gargol
fbf4952d14 Updated members import validation endpoint name
refs cb26fd9305

- Rename in line with the changes in referenced commit
2020-06-12 23:36:06 +12:00
Kevin Ansfield
16f4b1c9af Added all/free/paid filter to members admin screen (#1600)
requires https://github.com/TryGhost/Ghost/pull/11892

- adds `?paid` query parameter to members route that is tied to the `?paid` query param in the API request
- added all/free/paid members dropdown to members filter component
2020-06-12 12:12:27 +01:00
Fabien O'Carroll
fc74bed72a Updated isStripeEnabled to use stripeConnectIntegration
no-issue

This is now the central place for checking if stripe is configured for
members and we want to make sure that the Stripe Connect correctly
affects this value
2020-06-12 10:27:39 +02:00
Nazar Gargol
e2db84d23b Updated import results response handling with new error format
refs 7904c303a7

- Adds failed import records details to post members import screen
2020-06-12 20:01:46 +12:00
Nazar Gargol
060b0e759b Fixed isStripeEnabled usage in import validator tests
refs c63a0e6826

- Reason for the fix same as in the referenced commit
2020-06-12 18:28:15 +12:00
Nazar Gargol
c63a0e6826 Fixed isStripeEnabled call in member validator
no issue

- Method has been changed into a getter, code was missed to adjust
2020-06-12 17:44:58 +12:00
Nazar Gargol
c3d141dd03 Added improved validations for 2nd step of members import
no issue

- Adds validations for imported CSV data
- These checks include obvious validation checks for data - like if email addresses are valid, checking if Stripe configured when entries with stripe_customer_id are present and additional server-side validation for entries with stripe_customer_id to check if they appear in connected Stripe account
- The validation set is calculated by naive choosing of first 5, middle 5 and 5 tail records from imported set. This logic comes from observations that errors usually apear withing "test" records in the beggining or the end of the file. These selection rules might change in the future if we find a need for it.
- Adds papaparse CSV parser, which was chosen for it's maturity and relatively small minified size. In the future this library should be lazy-loaded to make the first page load UX nicer
2020-06-12 17:22:36 +12:00
Peter Zimon
6a4db52205 Added success state for Stripe Connect
no issue
- adds success message when Stripe Connect is successfully set up
- automatically closes the setting section on success
2020-06-11 17:14:20 +02:00
Peter Zimon
cbc1c2a36e Added "Test mode" label UI to Stripe Connect
no issues.
- added label to indicate if the connected Stripe account is in test mode
2020-06-11 15:36:22 +02:00
Peter Zimon
f2bc57bbf5 Stripe connect design (#1603)
no issues

Updated and refined Stripe Connect design in Labs/Members settings:
- refined visuals and UI logic
- updated copy
- added switch for test mode
- added error handling
2020-06-11 15:15:44 +02:00
Nazar Gargol
67103be738 Fixed linting error for using this.get() in octane syntax
no issue

- Switched to getter as this.get() is not available in native classes
2020-06-12 00:46:04 +12:00
Nazar Gargol
fa9fc64b53 Removed stray debugger statement 2020-06-11 21:09:56 +12:00
Nazar Gargol
0a0ce4098d Refactored stripe configuration checks into separate service
no issue

- This logic is planned to be reused in more places, e.g. members import data validation. This change is meant to be a prep work for that.
- With stripe connect functionality coming it is important to have a central place checking for configured Stripe
2020-06-11 21:05:40 +12:00
Kevin Ansfield
8f5ccfe401 Fixed missing rename of <GhMembersFilter> in members.hbs 2020-06-09 23:22:43 +01:00
Kevin Ansfield
1836ff2631 Renamed <GhMembersContentFilter> to <GhMembersFilter> (fixed)
refs bae5497f1f

- adds the template rename that was missed in previous commit
2020-06-09 22:58:12 +01:00
Kevin Ansfield
bae5497f1f Renamed <GhMembersContentFilter> to <GhMembersFilter>
no issue

- "Content" referred to content as in posts/pages so the naming didn't make sense in the members filter component
2020-06-09 22:54:07 +01:00
Kevin Ansfield
758f5285fb 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
cc4e02c938 Fixed delete-tag modal showing unexpectedly
no issue

- there was a race condition when deleting tags...
    - the delete tag modal's `close` action toggles the `showDeleteTagModal` property to `false`
    - the `deleteTag` action triggered when clicking the delete button was transitioning to the tags screen
    - if the transition occurs before the close action is triggered, the modal component is destroyed and it's close action is never triggered leaving the `showDeleteTagModal` property on the controller set to `true`
    - the next time the tag screen is accessed the delete tag modal is displayed because the `showDeleteTagModal` property is `true`
- adds an explicit reset of `showDeleteTagModal` after a tag is successfully destroyed
- makes open/close of the delete tag modal explicit actions so there's no ambiguity when toggling
2020-06-09 10:15:28 +01:00
Nazar Gargol
0395b63d63 Fixes labels duplicating themselves across lalbe inputs when unsaved
no issue

- Unsaved labels were still persisted in the store. This was causing unsaved labels reappearing on different instances and caused broken states
2020-06-09 20:31:09 +12:00
Kevin Ansfield
6c9aad0f5b 🐛 Fixed searchParam query param errors when deleting member labels
no issue

- error was "You passed the `searchParam` query parameter during a transition into members, please update to search"
- this was caused by the `reset-query-params` helper specifying `searchParam` as the query parameter which is the controller property name, not the query param name
2020-06-09 08:48:57 +01:00
Rish
3328a5f1ba Fixed incorrect "from" address save
refs https://github.com/TryGhost/Ghost/issues/11414

- From address input value was refactored but update was still using the old value
2020-06-09 11:52:09 +05:30
Rish
958bb65308 Added site domain for default from address
refs https://github.com/TryGhost/Ghost/issues/11414

- Appends blog domain as default for from address members setting
- Disabled update button when current from address is same as in field
2020-06-09 11:14:53 +05:30
Rishabh Garg
01e72dc991 Allowed domain change for members "from" address (#1597)
refs TryGhost/Ghost#11414

- Restructures member settings in labs, from address gets its own section
- Removes explicit site domain for fromAddress as we allow updating the full address
- Adds new CTA to trigger magic link for updating members from address
- Adds new confirmation modal for email sent to new from address
- Adds notification banner for from address update redirect link
2020-06-09 01:52:58 +05:30
Rish
a40706ed28 Updated fix for staff user edit button using task button property
refs TryGhost/Ghost#11789

- Reverted 28fbc341af as we want to handle the state with css props instead of relying on specificity
- Updates fix for change password button on staff user edit screen to use task button props - 28fbc341af
2020-06-08 19:54:48 +05:30
Peter Zimon
2b10a30a04 Refined copy for member import dialog
no issues.
- refined copy for member import start and end step screens
2020-06-05 15:03:43 +02:00
Nazar Gargol
a849ddda18 Updated members' import file validation logic
no issue

- The invalid file type error should be shown on the very first step of import and should not allow proceeding without selecting a correct file.
2020-06-06 00:48:09 +12:00
Peter Zimon
5a87520712 Refined members import dialog
no issue
- updated screen logic for member import
- added icons and refined styles for file upload dialog
2020-06-05 14:20:23 +02:00
Nazar Gargol
6bfe8e6490 Added separate stage to members import popup with support of labels
refs 633ba27f0e

- Import modal is now devided into separate stages with ability to specify labels which will be assigned to every member present in the dataset.
- Also adds explicit "Import" button without automatic import when the CSV file is selected
2020-06-05 22:57:07 +12:00
Kevin Ansfield
2c16ef2f97 🐛 Fixed member list not updating when manually adding a new member
no issue

- always refresh members list/stats data when adding or saving a member from the members screen
2020-06-05 09:01:01 +01:00
Kevin Ansfield
3025ea21db 🐛 Fixed members list not updating after deleting a member
no issue

- force a full refresh of all members data when deleting rather than only forcing a refresh of the stats
2020-06-05 08:53:58 +01:00
Kevin Ansfield
7ac7e73a05 🐛 Fixed members list not refreshing after adding yourself
no issue

- passed in the `refreshData` action to the `<GhMembersNoMembers>` component and called it after creating the member
- converted `<GhMembersNoMembers>` to a glimmer component
2020-06-05 08:50:20 +01:00
Kevin Ansfield
142f322338 Switched per-user custom views to shared custom views
requires fdeb7daf40

- swapped to using settings model for storing custom views instead of user accessibility field
- added conditional that checks current user is an admin/owner when displaying the manage custom views button in the content filter (only admins/owners can edit settings model)
  - passed `session.user` into the `<GhContentFilter>` component as an argument so that the conditional getter doesn't need to handle async user access
- fixed no-shadow linting error in settings service
2020-06-04 21:30:06 +01:00
Rish
68854e5358 Removed redundant auto reset for amp
no issue

- Auto reset is on by default, this got missed in last commit
2020-06-04 19:25:42 +05:30
Rish
85d1775608 Removed redundant reset value for task buttons
no issue

- Since task buttons by default have reset on now, we don't need to explicitly add it to individual buttons
2020-06-04 19:23:59 +05:30
Rish
28fbc341af 🐛 Fixed change password button state on staff screen
closes https://github.com/TryGhost/Ghost/issues/11789

- Invert css classes definitions for red/green buttons to allow the button to turn green for the success state

Credits - https://github.com/m1kl - https://github.com/TryGhost/Ghost-Admin/pull/1568
2020-06-04 18:44:38 +05:30
Rish
f198bb8a45 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
Fabien O'Carroll
94c68bbaec Corrected url for Stripe Connect auth
no-issue

This was missed in the PR changes requests in Ghost.
2020-06-03 15:10:29 +02:00
Fabien 'egg' O'Carroll
c4135d0b10 Added Stripe Connect UI (#1586)
no-issue

- Rendering is conditional on `stripeDirect` config being false.
- CSS downloaded from https://stripe.com/newsroom/brand-assets
- `stripe_connect_integration_token` is the setting to _set_ the
  stripe_connect_integration setting
2020-06-02 13:58:43 +02:00
Peter Zimon
7055d77df6 Fixed members list cell wrapping
no issues.
- sets members cells wrapping to avoid table cells overlapping
2020-06-02 12:30:11 +02:00
Kevin Ansfield
147943f3a3 Fixed members list/chart not updating after members import
no issue

- move members loading code into `members` controller so that it's more accessible to other areas of the app
- add `refreshData()` to the `members` controller which forces members list and stats to be re-fetched
- call `members.refreshData()` after successful upload of members import file
- store range/days in `membersStats` service so that it's remembered across refreshes and component renders
2020-06-01 15:48:46 +01:00
Peter Zimon
49214faf07 Added placeholder to impersonate URL
no issues.
- adds a placeholder value for impersonate URL field to avoid empty field while loading
- disables "Copy link" button until the actual URL is not loaded
2020-06-01 10:04:12 +02:00
Marco Zehe
59fcc567f1 🐛 Fixed various Close buttons throughout the UI. (#1585)
refs TryGhost/Ghost#11863

Some `a`tags with `href` attributes that are empty are used as buttons, but since the href is not linkifying anything, they appear as text nodes to assistive technologies. Give them a `"button"` role so it is guaranteed that assistive technologies will pick them up as actionable controls.
2020-05-28 17:11:21 +01:00
Marco Zehe
adb7828003 Various A11y post screen fixes (#1584)
refs #11863

* 🐛 Gave various buttons accessible labels

Hidden span elements are not rendered to assistive technologies, so duplicate the text in an aria-label on the button element.

* 🐛 Fixed various accessibility issues in the editor

* Made menus menus and menu item menuitems.
* Added labels to buttons where there were only hidden spans, or no text at all.
* Made separators show up for screen readers.
2020-05-28 16:01:09 +01:00
Marco Zehe
db527d27f3 🐛 Fixed various small accessibility problems in the admin screen (#1583)
refs #11863

* 🐛 Fixed accessible button label for showing and hiding custom post types.
* 🐛 Made the menu separators accessible.
* 🐛 Fixed the More item to be a button for assistive technologies.
2020-05-28 15:51:14 +01:00
Kevin Ansfield
9942fb337e 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
a76465b5ee Fixed columns resizing whilst scrolling members list
no issue

- the members list uses occluded rendering to keep scrolling performance high but this will cause constant reflows of the table contents whilst scrolling because contents are swapped in and out causing the browser to adjust the column widths to match longest/shortest content in the currently rendered set of rows
- applying `table-layout: fixed` to the table means that columns will always match the sizes defined by the first row of the table (in this case the header) ensuring that there is no dynamic resizing whilst scrolling
2020-05-28 12:59:34 +01:00
Kevin Ansfield
29b4d72939 Fixed borders on <GhMemberListItem> loading state
no issue

- `display: table` doesn't provide an equivalent of `colspan` so the loading state needs to include the same number of `display: table-cell` elements as the live state
2020-05-28 12:55:11 +01:00
Kevin Ansfield
e5ef8bad9b Removed unnecessary <GhMembersListItem> backing class
no issue

- `ember-moment` provides the `{{moment-from-now}}` helper that does the same thing the `.memberSince` computed property was doing
2020-05-28 12:33:49 +01:00
Kevin Ansfield
dd00161a0c Deleted component templates that are no longer used
no issue

- we had a few template files left over where their backing JS files had been deleted
2020-05-28 12:33:48 +01:00
Rish
05f7ec5dbe 🐛 Fixed email preview not visible to Editors
refs https://github.com/TryGhost/Ghost/issues/11841

- Allows editors to see email customization option for sending test newsletters
- Editors had the necessary permission fixtures but the UI was previously only available to owners or administrators
2020-05-28 15:57:59 +05:30
Kevin Ansfield
bdd874c01b Fixed sending of empty search param in members browse requests
no issue

- when the search param was empty we were still adding a `?search=` query param to the API request
2020-05-28 11:11:43 +01:00
Kevin Ansfield
514034d329 Fixed and improved members stats "debounced" fetches
no issue

- the "days changed" logic was incorrect so we were always performing new fetches rather than using existing data
- added a minor improvement that returns an in-progress fetch promise if we have one and params haven't changed - avoids triggering unnecessary extra fetches in the rare occasions the chart is re-rendered before a previous stats fetch has finished
2020-05-28 11:11:43 +01:00
Aileen Nowak
f7034c7e91 Updated billing icon in nav bar
no issue

- Replaced placeholder icon with new billing icon
2020-05-28 21:53:38 +12:00
Kevin Ansfield
ff33eb978b Added server-side search to new members screen (#1582)
requires https://github.com/TryGhost/Ghost/pull/11854

- ties the search input on the members screen to a `?search` query param, debounced at 250ms to avoid unnecessary API requests and UI churn
- updated the members route's `model` hook to pass through the search param in the API request query parameters
2020-05-28 10:15:17 +01:00
Kevin Ansfield
76b93c3be7 Fixed members chart
no issue

- "stale data" logic was incorrect so we were always returning `undefined` from `membersStats.fetch()`
- improved behaviour of the chart when stats are not available or are loading
2020-05-27 16:12:13 +01:00
Kevin Ansfield
86702ed949 Memoized member stats with expiration
no issue

- added a `member-stats` service to keep member stats state outside of the chart component's lifecycle
- returns memoized member stats when fetching if the query hasn't changed and the data is less than a minute old
- reduces potentially heavy network requests when quickly navigating between members list and other screens
2020-05-26 17:17:52 +01:00
Kevin Ansfield
16d34725af 🐛 Fixed members import not showing upload modal
no issue

- template was not renamed correctly in a758d99dc7
2020-05-26 15:49:48 +01:00
Kevin Ansfield
91873d1857 Improved number formatting in members screen
no issue

- added `format-number` helper that uses browser's built-in `toLocaleString()` method to format numbers such as adding commas or periods to improve number readability (`123,000` instead of `123000`)
- updated members chart totals to use the helper
- replaced direct `.toLocaleString()` usage with the new helper so we can change global number formatting if needed
2020-05-26 14:40:03 +01:00
Kevin Ansfield
26f3d48f5d Updated members screen to work with final stats API naming
refs 071ab9774b

- stats API uses snake_case rather than camelCase to be consistent with the rest of Ghost's APIs
2020-05-26 12:26:04 +01:00
Kevin Ansfield
fb1c048f24 Removed "members" from mocked stats API payload property names
no issue

- removes duplication from property names as the "members" part is implicit from the resource name
2020-05-25 10:35:39 +01:00
Kevin Ansfield
8c19ea9cf9 Updated <GhMembersChart> to fetch stats from the API
no issue

- added mocked API for `/admin/members/stats/` that generates random data for the chart
- re-architected `<GhMembersChart>` to fetch data from the API rather than calculating stats from all members loaded in memory
- enabled mirage in development so that the chart can be tested before the live API is ready
2020-05-22 17:58:45 +01:00
Kevin Ansfield
3a6550b7c4 Linked label dropdown in members screen to paginated list loading
no issue

- moved model loading back into the route
- updated model loading to refresh correctly when `label` query param changes
- fixed infinite loading/"no members" display in members list by using the `members.loading` property that `ella-sparse` gives us (previously we'd never leave the loading display because `this.members.length` would be 0)
- changed the members nav link to reset query params only if it's clicked whilst on the members screen - matches posts/pages behaviour and lets you navigate without having to re-enter your filter/search
2020-05-22 17:58:45 +01:00
Kevin Ansfield
03d4c55a8e Fixed dropdown styling for content filter and members chart timeframe
refs 654d373655

- `<PowerSelect>` no longer has it's own wrapper element so `@classNames=` has no effect and needs to be added to an explicit wrapper element
2020-05-22 11:38:50 +01:00
Kevin Ansfield
18a910d2ab 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
7e7bca7ff0 Added loading state for member list rows
no issue

- with the sparsely loaded list you can scroll to an area which is being loaded in the background
- if a list row is being loaded, display a "loading" version of the row so it doesn't look like you're stuck on a blank screen
2020-05-22 09:31:17 +01:00
Nazar Gargol
5d59670ac3 Fixed browser URL syncronization with embeded iframe state
no issue

- Opted in to use explicit `hisotry.replaceState` and setting iframe's `src` using assignment instead of tracking it through computed property. This allows for tighter control over when iframe's history is updated which was causing problems when `src` was bound to computed property
- Added billing page metadata. This way browser history records appear with nicer signature
- Removed "update button" iframe and rewrote "global iframe" to not use modals. This allows to have single iframe on a page, which simplifies `postMessage` communication and preserve history inside iframe to be able to navigate it after closure
- Added route change handler responding to BMA app route changes. Allows to sync browser URL visible to the user with active route in BMA iframe. The sync is based on `hisory.replaceState` method that makes sure singular history records are kept in the browser history
- Added nested wildcard billing route. This is meant to catch all the nested routes inside of BMA iframe
2020-05-22 14:44:37 +12:00
Kevin Ansfield
5a1b3d90fb Updated members list to use paginated loading
no issue

- disabled members search/filter/chart as they won't work without all members loaded into memory (they will be added back later)
- added `ember-ella-sparse` to handle a sparse array of members
- updated `fetchMembersTask` to return a sparse array instance
- updated components that work on a `member` instance to use `.get` because all items in a sparse array are proxy objects
- changed list loading behaviour to not refresh the list from the API unless the client-side list is more than a minute old - allows for much snappier nav between list and details screens
2020-05-20 16:39:32 +01:00
Kevin Ansfield
f0e359be11 Refactored members routes
no issue

- moved labels fetching into the controller to unify members+labels loading approaches
- removed unnecessary `deactivate` hook on members route because the label form component already rolls back the model attributes when it's destroyed
- unified non owner/admin redirect approach across members and member routes
2020-05-20 16:39:31 +01:00
Kevin Ansfield
3cc10bfa83 Updated members routes/controllers with Octane idioms
no issue

- ran [`ember-native-class-codemod`](https://github.com/ember-codemods/ember-native-class-codemod) on members-related files
- updated files to remove need for `@classic` decorator where possible
    - switched to tracked properties
    - removed usage of `this.get/set/toggleProperty` etc
- swapped usage of `{{action 'foo'}}` for `{{this.foo}}`
2020-05-20 16:39:31 +01:00
Kevin Ansfield
a758d99dc7 Swapped duplicated members files from -dev to -old
no issue

- allows continued development on the "original/non duplicated" files to better preserve git history once the `-old.*` files are deleted
2020-05-20 16:39:31 +01:00
Fabien O'Carroll
c899af36b4 Hid Stripe apikey form if stripeDirect: false
no-issue

We are going to keep the UI as a fallback in future. Eventually this
`if` will include an `else` block rendering a Stripe Connect button.
2020-05-20 16:49:00 +02:00
Peter Zimon
4f2ed1bcec Removed test email function from Labs
no refs.
- removes leftover test email section from Labs to resolve a lot of confusion around it
2020-05-20 11:34:56 +02:00
Peter Zimon
66781a32ca Fixed FF dropdown visual bug
no refs.
- fixes double border visual bug in Firefox
2020-05-20 09:49:12 +02:00
Kevin Ansfield
598a327d6e Duplicated members screens for development experiments
no issue

- members screens will be undergoing heavy development to change how underlying data loading works
- duplicated all related screens and components so that development can occur behind the `enableDeveloperExperiments` flag without breaking the existing screens
- added "Members (dev)" link to the duplicate screens in nav bar when `enableDeveloperExperiments` is on
2020-05-19 16:18:30 +01:00
Kevin Ansfield
481bdfbe1a Fixed saving of custom views expansion state
no issue

- if `user.accessibility` is `null` as it is for newly created users then toggling the expansion state of custom views menus failed to save because we were assuming there was an object available
2020-05-18 13:45:59 +01:00
Kevin Ansfield
e7b198df4a Fixed initial animation of custom views expansion
no issue

- apply defaults during service initialisation so that `navigation.settings.expanded.posts` doesn't start out as "undefined" then transition to "true" on first render resulting in unnecessary animation in the sidebar
- speeds up acceptance tests which no longer need to wait for animation to complete before continuing
2020-05-18 13:42:01 +01:00
Kevin Ansfield
e721bca2d9 Fixed delete button in token select inputs
refs 654d373655

- ember-power-select switch to Glimmer components meant that our mousedown handler that was going through Ember's event bus was firing after the EPS events which trigger dropdown open/close and therefore not triggering the delete action
2020-05-18 13:33:21 +01:00
Kevin Ansfield
09435ecf76 Co-located component template files
no issue

Keeps component JS backing files and template files in the same directory which avoids hunting across directories when working with components. Also lets you see all components when looking at one directory, whereas previously template-only or js-only components may not have been obvious without looking at both directories.

- ran [codemod](https://github.com/ember-codemods/ember-component-template-colocation-migrator/) for app-level components
- manually moved in-repo-addon component templates in `lib/koenig-editor`
- removed all explicit `layout` imports as JS/template associations are now made at build-time removing the need for them
- updated `.embercli` to default to new flat component structure
2020-05-18 13:14:08 +01:00
renovate[bot]
fe96ce7915 Update dependency ember-infinity to v2.1.2 (#1573)
* Update dependency ember-infinity to v2.1.2
* updated gh-infinity-loader template to match ember-infinity default template

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-05-18 09:06:04 +01:00
renovate[bot]
654d373655 Update dependency ember-power-select to v4 (#1528)
* Update dependency ember-power-select to v4
* Fixed trigger component override collision when building

- move the "override" into our own namespace
- update all `<PowerSelect>` usage to explicitly reference our customised trigger component

* Bumped ember-power-datepicker

- bumps `ember-basic-dropdown` sub-dependency
- resolves "Error: Could not find module `ember-compatibility-helpers` imported from `@glimmer/component/index`"
- https://github.com/cibernox/ember-basic-dropdown/issues/551

* Updated trigger to use class syntax

- it's not possible to use `.extend()` on an imported class

* Updated <GhBasicDropdown>

- match updated ember-basic-dropdown code

* Added `autofocus` modifier

- added `ember-modifier` dependency so that we can create our own render modifiers

* Updated <GhSearchInputTrigger> to a glimmer component

* Updated gh-token-input components

* Fixed tests

- wrap `<PowerSelect>` with `<div>` to maintain test selectors
- fixed `<GhBasicDropdown>` not rendering anything due to not having a local template

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-05-17 22:35:53 +01:00
renovate[bot]
29a388ad27 Update dependency ember-infinity to v2.1.1 (#1484)
no issue

- fixed template reference
- updated template to match upstream's use of render-modifiers
- removed silencing of `isVisible` deprecation

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-12 09:05:17 +01:00
Kevin Ansfield
59a15a0895 Fixed incorrect validation when member's name is too long
no issue

- the email length validation was conditional on `member.name` rather than `member.email` so if the name was too long both name and email were marked as invalid
2020-05-11 11:40:38 +01:00
Kevin Ansfield
07f24e69f6 Reduced unnecessary waiting in tests
no issue

- fixed `<GhTaskButton>` not resetting after an externally triggered task run such as when pressing Cmd+S
- cleaned up manual timeouts/resets where button reset is now fully handled by `<GhTaskButton>` (these were causing 2.5s waits each time a save occurred in acceptance tests)
- where manual timeouts were required, reduce testing time from >2.5s to 50ms
2020-05-11 11:37:35 +01:00
Liam Williams
06531daf85 🐛 Fixed unselectable routes files in macOS Safari (#1472)
closes TryGhost/Ghost#11472

- adds an explicit `.yaml` to the `accepts` attribute of the routes file uploader to work around Safari only allowing `.yml` to be selected when given the yaml mime type
2020-05-08 12:05:55 +01:00
Kevin Ansfield
a30f0b2851 💄 Adjusted email previews to better represent email behaviour of embed cards (#1554)
no issue

- added `sandbox` attribute which blocks scripts from running inside the iframe
- results in better representation of how embeds will render in emails where scripts are not allowed
2020-05-08 11:54:18 +01:00
Kevin Ansfield
b5e5469410 🐛 Fixed autofocus on password reset screen
no issue

- autofocus was running on both inputs so the "confirm" input was winning out
- updated copy
2020-05-07 10:33:27 +01:00
Kevin Ansfield
5b17a70e8b Update dependency eslint-plugin-ghost to v1.4.0
no issue

- applies fixes for new/updated rules
- disables `ember/no-mixins` rule as we're not able to migrate away yet
2020-05-06 18:07:01 +01:00
Rish
141be13315 Fixed typo in regenerate modal
no issue
2020-05-06 12:48:20 +05:30
Rish
0daf5c1883 Cleaned key regeneration message for Zapier on route change
no issue

- After a successful key regeneration, the success message stayed in Zapier integration even on navigating away to different page, this clears up any message state on away transition
2020-05-06 12:43:29 +05:30