no issue
- Fetching member for preview or dev mode was overwtiting member as null for prod
- Fixes by returning default member state for non preview/dev mode
closes https://github.com/TryGhost/members.js/issues/68
Signup screen can have any combination of available plans out of 3 currently allowed - free, monthly, yearly. This fix
- Always sets a default plan on screen based on which plans are available
- Uses `Free` as default if all plans are available, falls back to first plan in list otherwise
no issue
- Site url might be added with trailing slash, which causes site apis to be called with double slash
- Removes trailing slash from siteUrl if present
no issue
- By default, we have guards to allow pages based on logged in state
- For preview mode, we switch off this guard to allow signin/signup pages to open
no issue
- Adds guard to open right page based on member logged in state from data attribute
- Updated data attribute name to `data-portal` and values same as link handling
no issue
- Handles new look feel settings for portal icon button
- Adds auto width calculation for portal button based on text
- Adds new link page for portal links and data attributes
- Added contrast color calculation for accent color complimentary text
- Added copy text utility for allowing copy to clipboard
no issue
- CSS was added as part of App initialization and not used in project
- Top-level css leaks through on the page when script is added unlike the frame's css/inline-style
no issue
- Previously, the settings used for customization were `show_beacon`, `show_signup_name` and `allowed_plans`
- These settings were renamed to `portal_button`, `portal_name` and `portal_plans` respectively
- Updates usage of settings to new names
no issue
- Uses `show_beacon` setting to show/hide the default beacon
- Uses `show_signup_name` setting to show/hide the signup name
- Uses `allowed_plans` to show/hide the plans
no issue
- So far, we had to specify fixed height to iframe based on content of page, but this was not dynamic
- Calculates height of popup dynamically with refs and assigns to iframe to allow dynamic updates as content changes
- Allows configuration and different case handling for popup without worrying about proper height
closes https://github.com/TryGhost/members.js/issues/39
- Script needs correct ghost site url to initialize correct API endpoints for fetching site/members data
- `window.location.origin` won't work as correct ghost site url in all cases, specially for sites using subdirectory setup
- New meta tag `ghost:site` is inserted on themes with correct `siteUrl`, which is used to initialize api
no issue
- Moved `ParentContainer.js` to redundant empty top level `App.js` to remove extra nesting and improved naming
- Renamed `ParentContext` to `AppContext` and exported as default
- Fixed imports in all the components and test-utils with new structure
- Passed `siteUrl` to api setup from main App to allow easier configuration
- Updated App tests
closes https://github.com/TryGhost/members.js/issues/45
- Allows multiple trigger buttons on the page with data attribute `data-members-trigger-button`
- Allows passing page value to custom trigger button to show the popup on specified page, like signup
- Removes event handlers on unmount
closes https://github.com/TryGhost/members.js/issues/43
- Handle plans/payment flow based on new `isStripeConfigured` flag in members site data - Added in 82cf095600
- Hides plan update/subscribe/paid-signup flows if stripe is not setup
closes https://github.com/TryGhost/members.js/issues/38
- Added error state to signup action button in case of action failure like checkout session rejection
- Checkout session rejection was previously incorrectly timing out and returning 200
closes https://github.com/TryGhost/members.js/issues/34
- Updates save state handling for button to show intermediary Saved state before resetting
- Updates labels based on action running state
no issue
- This was disabled before last release to not overlap with existing member's script in latest version
- Enabled again to handle data attributes in a theme same as existing script
no issue
- Disables data attribute handling(existing members.js functionality) as it can attach handlers twice if loaded together with existing members.js
- Can be easily enabled once the new script is loaded from core
no issue
- Extract root div id so its easy to change it in one place in future
- Add stripe load method
- Extract all initial non-ui handling to setup method
no issue
- Load Stripe script if not already loaded on page
- Many members.js features rely on Stripe script to be loaded on the page to allow checkout/billing updates etc.