no refs
- in a rare edge case, its possible that `contentDocument` is not available due to component unmount, guards against erroring in such scenarios
no refs
By default, Sentry will pick up any uncaught error triggered from the site, which adds a lot of noise as we only want to listen to Portal specific errors. This change adds portal's unpkg script as the only allowed url for Sentry error reporting.
refs https://github.com/TryGhost/Team/issues/767
- updates plan upgrade page to use multiple products UI if available
- filters products based on active currency if logged in member
no refs
- since portal script is loaded with `crossorigin:anonymous` now, we need to pass in the access control headers for script to bypass cors check
no refs
- adds `access-control-allow-origin: *` headers for dev mode
- portal script will be loaded with `cross-origin=anonymous`, access control header is needed to allow script to load
- mimics unpkg which already adds `access-control-allow-origin: *`
refs https://github.com/TryGhost/Team/issues/768
- updates available prices data based on available products
- updates available products to check portal products (which is behind a flag)
no issues
- adds new start-combined script which combines all chunks in `yarn start` for local portal development
- allows easier loading of local portal bundle in ghost via load-portal script, which needs to inject single script
- updates `yarn start:dev` to use updated script which uses the combined mode for better local development
refs
https://gist.github.com/simpixelated/90a3c16c3ed268fe24f5e5c9585ced2f
refs https://github.com/TryGhost/Team/issues/767
- adds dynamic calculation of frame styles based on site data
- handles product grid style based on no of products available
refs https://github.com/TryGhost/Team/issues/767
- free product is shown based on other site settings like `allowSelfSignup` and `portalPlans`
- fixed product/price selection to handle selected interval
- updated default product/price handling
no refs
Using NODE_PATH is deprecated in future versions of Create React App in favor of using jsconfig.json , this change removes files relying on NODE_PATH and uses relative path instead till we update usage to jsconfig in future as needed.
refs https://github.com/TryGhost/Team/issues/767
- handles product selection on full product card instead of just small surface area on checkbox
- removes dummy product card method
refs https://github.com/TryGhost/Team/issues/767
- wires real products data from site/fixtures to multiple products UI
- adds new helpers to manage price display/UI
- cleans up switch default params to clear type errors
no refs
- takes advantage of new dev script by loading Portal in dev mode on ghost site with full features
- restricts some dev mode features only if no custom site url is passed, which is expected with fixture development
no refs
Adds a new `yarn start:dev` command to start portal in development mode that allows development script to be used directly on Ghost site without needing a build for each change. Allows faster development on Portal locally.
no refs
The new dev script allows running `yarn dev` on the Portal code to make Portal development easier as well as integrate more easily with Ghost config. The script runs a local development server that serves portal bundle, which allows for static `portal` config to be used in Ghost for pointing to Portal script. It also watches the files for any changes, and auto re-builds and bundles latest Portal code.
refs https://github.com/TryGhost/Team/issues/718
Instead of using default prices, Portal goes through active prices of all available products to use for query in data attributes
refs https://github.com/TryGhost/Team/issues/718
We passthrough any unknown price ids directly to checkout session as it currently Portal cannot verify prices across all products
refs https://github.com/TryGhost/Team/issues/753
We reverted back to using named plan values - `monthly`, `yearly` - in `portal_plans` setting to allow us to easily handle active prices for a product. This change handles the updated values in `portal_plans` to use new values.
no refs
The master -> main rename was missed for test workflows as well as Readme badge, which caused the error reporting to incorrectly report passing tests on `master` while they were failing on `main`
no refs
We need the Portal preview container on Admin to re-adjust based on height of Portal container. This change adds a resizeObserver for portal container and fires a postMessage with height for Admin to listen and update the iframe height based on height of portal container
Updated resize observer to fire on update
Cleanup
no refs
The purpose of broadcasting portal-ready event is it allows Preview in Admin to have better UX with showing Portal when its ready than show the site while its loading. Having a strict target origin like site url won't work when sites have custom domains as it browser security will block the event due to origin mismatch.
Since `portal-ready` is just an event message and doesn't contain any sensitive data that needs to be restricted to origin, this bumps it to `*` which allows any site listening to be able to read the message.