refs https://github.com/TryGhost/Team/issues/450
Initial prototype of new launch-site wizard, meant to speed up the setup of a members site with the following steps:
1. Customise design
2. Connect Stripe
3. Set subscription pricing
- added wizard link to dashboard screen
- added `/launch/*` screens representing the wizard steps
- duplicated and refactored relevant general and members setting code and templates into each step
no issue
- adds blank `/dashboard` route ready for future 4.0 related changes
- `/` now redirects to `/dashboard` instead of `/site`
- adds "Dashboard" link to main nav menu
refs https://github.com/TryGhost/Team/issues/450
- duplicated and refactored/updated direct and connect settings UI from labs to the "connect stripe" step of the launch site wizard
- updated wizard buttons to be right-aligned
refs https://github.com/TryGhost/Team/issues/450
- moved next/finish buttons into wizard step components in case they need to save before triggering transition
- added icon, logo, and cover image upload+removal to "customise design" step alongside a preview that reloads each time an image is changed
refs https://github.com/TryGhost/Team/issues/450
- adds `launch/*` routes corresponding to launch wizard steps
- sets up navigation between each wizard step
- adds components for each `launch/*` step to contain step-related functionality and facilitate later refactoring to a generalised wizard component
- adds link to the launch wizard from the dashboard screen
no issue
Adds new FirstPromoter integration on the integrations page. FirstPromoter enables sites to launch their own members referral program, and integration allows Site admins to directly add their FirstPromoter tracking ID in the settings to enable FirstPromoter script on their site.
* Fixed issues for member details mobile view
No-ref
- Changed order to display feed at the bottom
- Displayed heading and value vertically between 1400px and 1160px
- Displayed "Complementary plan" copy and switch vertically between 1400px and 1160px
- Added margin below "Continue subscription" button
- Prevented date in feed to wrap
* fixed tests
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
closes https://github.com/TryGhost/Ghost/issues/12461
Design changes:
- added activity feed to member details page
- rearranged Stripe info to display on the right
- added toggle buttons for Stripe subscription and customer info
- added box to display activity feed for received and opened emails
Functionality changes:
- added `queryRecord()` to member adapter so `queryRecord('member', {id: x})` will hit `/members/:id/?query` instead of `/members/?id=x&query`
- updated member route to query member with `?include=email_recipients`
- added `EmailRecipient` model for access to event timestamps and email relationship setup
- added `<GhMemberActivityFeed>` component that accepts an `EmailRecipient` array and converts that into an activity list
- added support for `@model=emailInstance` to the email preview modal
- fixed a timing issue with email preview that could result in it showing blank content until the mobile/desktop toggle is used
- fixed sometimes blank member location
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
no refs
depends on https://github.com/TryGhost/Ghost/pull/12472
The members CSV importer gets an overhaul and works with new importer module in members service, performing the import in a background job when the import will take too long to complete in a reasonable time and send an email with data on completion. Also includes updated CSV mapping UI and error handling to allow easier import from different type of exports.
Co-authored-by: Fabien O'Carroll <fabien@allou.is>
Co-authored-by: Peter Zimon <zimo@ghost.org>
refs https://github.com/TryGhost/Ghost/issues/12461
- Added "Emails received", "Emails opened", and "Avg. open rate" to member details
- Adjusted visual display of avatar, name and email. Made email a mailto link
- Rearranged Name and Email fields to reduce height
- Changed height of the notes textarea
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
closes https://github.com/TryGhost/Ghost/issues/12421
- added `emailOpenRate` property to member model
- added open-rate column to the members list
- hidden when email analytics is disabled
- added `{{feature "flag"}}` helper so feature flags can be checked in templates without injecting the feature service into the backing class
- added `order` query param to the members controller/route and wired it into the data fetching routine
- added order dropdown to the filter bar with "Newest" (default) and "Open rate" as the two options
- whole dropdown is hidden if email analytics is disabled
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
no issue
- email analytics feature has a potential to be resource-intensive so it may be switched off via config, when this is the case we don't want to show stats in the admin that are out of date or won't be added/updated
- fixed page link titles saying "Edit this post" instead of "Edit this page"
no issue
- added "Sends" and "Opens" columns to the posts list to see newsletter performance at a glance
- "Sends" will show the type of members sent to (free, paid, all) as a tooltip
- "Opens" shows open rate by default and total opens on hover
- updated Zapier templates page to show the most relevant Zaps instead of the latest
- fixed design regression in Slack, Amp and Unsplash integration pages
no issue
- snippets can only be created and deleted by owners/admins/editors
- added a property in the editor controller to determine if the logged in user has sufficient permissions, then only pass the appropriate save/delete snippet actions to the editor component if the check is passed
- updates koenig menus and toolbars to skip rendering of buttons if the associated action function is not available
no issue
- show a delete icon when a snippet is hovered in plus/slash menus
- show a confirmation dialog when the delete icon is clicked
- keep menus open whilst displaying the delete confirmation dialog
closes https://github.com/TryGhost/Team/issues/411
- adds "Create snippet" icon to the editor toolbar
- uses the same link input component design for specifying snippet titles
- snippets are loaded in the background when the editor is accessed
- snippets are listed at the bottom of the card menus of the + and / menus
- clicking a snippet inserts the snippet's contents in place of the current blank section
no issue
- without this there's no indication the config flag is set when you have no access to the config file or you don't know which features are currently behind the flag
no issue
- Adds 2 new email address fields for members in email settings section - support address and reply-to address
- Support address - Is used for member auth emails as well as in themes and Portal for allowing members to contact support.
- Reply-to address - Is used to set `reply-to` address for newsletter emails that allows configuring where member's reply to emails will go
- Disabled from address update for empty value
- Updated success toast message and copy for from/support address update
- Changed section title + description for email addresses
- Added "public" to support email description
closes https://github.com/TryGhost/Ghost/issues/12110
- adds `{{gh-pluralize}}` helper that wraps the `{{pluralize}}` helper from `ember-inflector` but formats the number using our `{{format-number}}` helper
- updates all uses of `{{pluralize}}` to `{{gh-pluralize}}`
no issue
- Accent color setting was behind dev flag on General settings screen
- Its now moved inside Portal settings where its primarily being used
- This change removes it from general settings screen so its only on Portal settings
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.
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
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
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
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
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
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
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