no refs
Fixes the "member since" value on dashboard for Top members table, was incorrectly referencing the `member` variable so all dates were picked as of today.
refs: https://github.com/TryGhost/Team/issues/510
- We now disable publishing, not just emailing, when over member limits
- Ideally, this should use the configured error message, but for now displaying the right info is important
refs: https://github.com/TryGhost/Team/issues/510
- We need to display host limit errors if we get them
- Host limit errors have a custom message added to them, so we show the original context message
refs: https://github.com/TryGhost/Team/issues/510
- The config API has been changed to return the full hostSettings key, not just the billing URL
- This has been done because we are adding more config, and it's easier to reason about if Admin has the same config as server
- Proxying each value also requires multiple updates to the API each time
- This updates all the places where the old values were used
refs f10e133acd
- updated the component backing class with the expected actions/tasks
- largely duplicated from `<GhBrandSettingsForm>` which had more up-to-date code style
No ref
- Added placeholder attributes to focused input fields
- Fixed only text value being clickable vs. entire field
- Added placeholder attributes to PSM meta data inputs
no issue
- the SEO description preview was using old code that was designed for Ghost's 1.0 editor which only had a markdown card where we could parse the markdown contents to get a live excerpt but this doesn't work when there is no markdown card
- removed the old code so the description now uses a meta description -> custom excerpt -> contents excerpt (from API) fallback
- downside to this is that the contents excerpt will no longer reflect changes in unsaved posts but that's preferable to not showing any fallback at all for non-markdown posts
no issue
- when overriding route hooks it's necessary to call `_super` so the extended class hooks will also run, in this case the unauthenticated->signin redirect in the `beforeModel` hook
no issue
- moved `.site-iframe` styling into CSS files so it can be re-used outside of the `<GhSiteIframe>` component
- swapped `<GhSiteIframe>` usage in brand settings modal for a plain `<iframe>` element so that it's not initially rendered with the front-end url in it's `src` attribute
closes https://github.com/TryGhost/Team/issues/506
- launch wizard and brand settings both shared the same design and behaviour for customising brand settings but used duplicated code that had diverged
- extracted the more up-to-date behaviour from the launch wizard into a component
- updated brand settings and launch wizard to use the new component
changes to brand settings modal behaviour:
- preview is no longer interactive
- switches to using iframe contents replacement instead of `postMessage`
refs 10b48b1d6d
refs 1531712d92
- the tour feature is no longer used so all associated code can be removed
- removes `liquid-tether` dependency as it was only used by the tour throbbers/popovers
no issue
- tour items in general are being removed
- preparation for full removal of all tour-related code (to be done in following commit to allow future revert without merge errors through template divergence)
* Added fallback for top members
refs https://github.com/TryGhost/Team/issues/469
We do not have open rates for a member until we've sent at least 5
emails. In order to still display a top members section for sites which
have not sent that many newsletters, we fallback to paid members,
ordered by created_at. This effectively gives us our oldest members,
which are currently paid.
no issue
Fixes a bug where the billing iframe would show a blank page when called directly and user is not logged in. This commit ensures to that we have a valid authenticated session and redirects to the signin page if not.
refs https://github.com/TryGhost/Team/issues/469
- Fixed calculation for total/paid member count to use last value from outside range
- Fixed stats data override in dashboard
refs https://github.com/TryGhost/Team/issues/473
This list of currencies was compiled by taking the union of the UK and US from
https://stripe.com/docs/currencies and removing all non-decimal currencies, e.g.
Japanese Yen.
The members module does not need any additional logic to handle these currencies,
however we do need to clean up hardcoded currency symbols in favour of using the new
`{{price}}` helper and `Intl.NumberFormat`
refs 0503ce5f35
- referenced commit changed `dashboard` to redirect to `site` when logged in user is not an owner or admin
- updated tests to reflect the change
refs https://github.com/TryGhost/Team/issues/480
- switched marketplace themes to a selection of Ghost's own free themes
- added install and preview buttons for all
- show theme screenshot in the install modal if it's a known theme
refs https://github.com/TryGhost/Team/issues/482
- replace titles and descriptions with text fields when clicked
- save on blur
- blur+save on <kbd>Enter</kbd>
- blur+restore on <kbd>Escape</kbd>
- create newline with <kbd>Shift+Enter</kbd> in description fields
- if there's no available image or fallback show a "+ Add image" header in the previews when hovering
- if there is an image show an upload/change image button when hovering
- show a delete image button when hovering once a custom image has been uploaded
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
no-issue
By fetching data in the constructor, we would fetch data immediately
when the route created the controller. Which would cause us to fetch
data before a user was logged in. By moving the data fetching until
after setupController is called, we can be sure that it will not happen
until the route is being rendered.
no issue
- the new front-end preview only works for a single page, navigating away will lose the unsaved changes which could lead to confusion
- injects CSS into the preview HTML to disable pointer-events on the whole document
refs e75720d390
- changed "Save and exit" to just "Exit" because it doesn't save anything
- updated design step of launch wizard to use new preview
- added `replacePreviewContents` action to launch controller to overwrite preview iframe contents directly
- replaced save-on-change behaviour with update-preview-on-change behaviour by POSTing to the front-end with preview header data and blatting the iframe contents with the result
- changed "Next step" button to "Save and continue" with progress spinner whilst saving
refs refs 07abb5443a
- Found some more unnecessary code for previous unsplash setting structure and removed it.
- Refactored the tests to be more in line to how AMP tests are done
refs 07abb5443a
- Referenced commit introduced a default value which was always applied to the checkbox on unsplash'es ingegration page
- Refactored unsplash controller/route to use similar conventions to amp as it's now also using a plain boolean value
refs https://github.com/TryGhost/Ghost/pull/12632
- The `unsplash` setting has been migrated to a new format - plain boolean value. This is why it's no longer needed to do any serialization dances
no issue
- trigger modal close once save task has finished
- reset unsaved changes when closing the modal (eg, cancel button clicked)
- removed unused code that had been copied over from an old controller
- the new preview mode doesn't require settings to be saved in advance
- TODO: prevent interaction with the iframe a la portal
Notes:
- this works by sending a post message to the frontend with a custom header
- generated HTML is loaded into the iframe using postMessage
- we can possibly write the HTML direct to the iframe - something to experiment with later
No ref
- Nav list item hover state
- Dropdown option hover state
- Top border on member details page
- Integrations directory items background color
- Published label background color
refs https://github.com/TryGhost/Team/issues/465
- modifies `<KoenigLinkInput>` to add a "direct" mode that is not tied to editor selection
- adds link toolbar icon to image card toolbar
- adds link editing mode to image card that replaces toolbar with link input
- stores url in `href` attribute in card payload
refs https://github.com/TryGhost/Ghost/issues/12646
- ensures new content is created with the 4.0 ghost version so the renderer will use latest output
- re-applies ghost version to mobiledoc each time we get a newly serialized mobiledoc document from mobiledoc-kit because mobiledoc-kit is not aware of our custom properties and won't pass them through the deserialise->serialise process
refs https://github.com/TryGhost/Ghost/issues/12602
As members can now have a status of 'comped' as well as 'free'/'paid',
we need to update queries to the API to function as they were before.
no issue
The billing iFrame needs to be rendered within the `main` content area rather than as fullscreen.
This needs most probably more tidying up, but is working for now without breaking the functionality.
* Move billing iFrame to render in main content area
* Fixed routing error when transistion url not defined
* Removed close modal button and esc key binding
refs https://github.com/TryGhost/Team/issues/459
- using <GhBasicDropdown> in place of <BasicDropdown> hooks into our dropdown service which has more comprehensive body click tracking
refs https://github.com/TryGhost/Ghost/issues/12608
requires https://github.com/TryGhost/Ghost/pull/12635
- adds `/settings/themes/install` route with `source` and `ref` query params that match the API. Shows a confirmation modal when accessed asking to confirm installation and activation
- does not allow Casper to be installed
- warns if installing the theme will overwrite an existing one
- follows similar process to zip uploads for error handling
- adds install/preview links for Massively in the free themes showcase
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
no refs
After making changes to code injection settings, currently exiting bricks the Admin due to incorrect save task naming in code injection settings. The fix updates the name for saveTask
refs 7687571b12
While extracting the portal preview url setup to member-utils, the util incorrectly referenced values for free/monthly/yearly plans and so stopped reacting to selected plans in Portal preview. This change fixes the `isFreeChecked`, `isMonthlyChecked` and `isYearlyChecked` references in util.
Refs https://github.com/TryGhost/Team/issues/459
- Updated styles for Facebook, Twitter and Google
- Added mockup for tweets, posts, and Google search results
- Got rid of browser mockup on desktop preview
- Changed button-group active style from blue to black