Commit Graph

299 Commits

Author SHA1 Message Date
Rish
0baa47da31 v0.6.0 2020-06-11 18:37:18 +05:30
Rish
9f6450b2fc Allowed multiple custom trigger buttons with start page
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
2020-06-11 15:38:37 +05:30
Renovate Bot
472af65f12 Update dependency @testing-library/user-event to v11.4.1 2020-06-10 20:17:38 +00:00
Rish
85889491cf Added check for stripe configuration in UI flows
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
2020-06-10 21:18:00 +05:30
Rish
6623235bb9 Handled allowSelfSignup option for allowed plans
refs https://github.com/TryGhost/members.js/issues/43

- If the self signup flag is off in member settings, removes the free plan option from Signup flow
2020-06-10 19:52:38 +05:30
Rish
66479c1990 Added error handling for checkout/signup failure
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
2020-06-10 18:05:08 +05:30
Rish
e538f9b363 Removed error state action reset
no issue

- Don't reset the button/error state in case of a failure, similar behavior as Ghost Admin
2020-06-10 18:05:08 +05:30
Rish
9ab1ef3dc3 Added retry option to action button
no issue

- Allows updating action buttons to use error states to update background color
2020-06-10 18:05:08 +05:30
Renovate Bot
2955c7ee20 Update dependency @testing-library/user-event to v11.4.0 2020-06-10 05:20:49 +00:00
Renovate Bot
c3f8a529e8 Update dependency @testing-library/user-event to v11.3.2 2020-06-09 14:21:44 +00:00
Renovate Bot
4d7b8914be Update dependency @testing-library/user-event to v11.3.1 2020-06-08 19:39:44 +00:00
Rish
0ff2f9df9e Fixed lint in build script
no issue
2020-06-07 01:26:58 +05:30
Rish
aa228a8df2 Updated tests structure
no issue

- Use jsdom-fourteen to allow waitFor tests from testing lib - https://github.com/facebook/create-react-app/issues/7491#issuecomment-534832697
- Updated test-utils to pass context
- Added tests for account plan and profile using new test options
2020-06-07 01:26:41 +05:30
Rish
3c734af54e Disabled plan checkout without plan selection
no issue

- Disable plan checkout step if no plan is selected
2020-06-07 01:25:20 +05:30
Renovate Bot
70c2bd9a90 Update dependency @testing-library/react to v10 2020-06-07 01:06:49 +05:30
Renovate Bot
67c42b3277 Update dependency @testing-library/user-event to v11 2020-06-07 01:05:51 +05:30
Renovate Bot
08a809f156 Update dependency @testing-library/jest-dom to v5 2020-06-07 01:04:57 +05:30
Rish
0d50b68596 Updated publish note in readme
no issue

- Removes redundant manual version update line as `yarn ship` shows a prompt
2020-06-06 20:18:23 +05:30
Rish
4689061d49 Added custom trigger button note to readme
no issue

- Adds note on how custom trigger button works for theme devs
2020-06-06 20:10:26 +05:30
Rish
31f04851e5 Updated prop types for trigger button
refs https://github.com/TryGhost/members.js/issues/5

- Only place where we pass down props to check popup state
- Adds propType for popup state
2020-06-03 10:58:38 +05:30
Rish
4d94188d1c v0.5.1 2020-06-03 10:55:13 +05:30
Rish
e8a7f6aec9 Updated save state handling for button
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
2020-06-03 10:50:14 +05:30
Rish
9387cf2131 v0.5.0 2020-06-02 00:16:29 +05:30
Rish
535f9070bc Enabled data attribute handling for existing members script feature
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
2020-05-28 20:41:59 +05:30
Rishabh Garg
0db1874095 Added email change flow for logged-in member (#33)
refs https://github.com/TryGhost/members.js/issues/30
Depends on https://github.com/TryGhost/Members/pull/161

- Calls send magic link API with old email option when a member updates their email address
- Allows member to update their email address by clicking on magic link on new email address
2020-05-28 20:39:27 +05:30
Rish
bbeffb04be v0.4.1 2020-05-28 17:32:48 +05:30
Rish
565e9dfd73 Disabled data attribute handling
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
2020-05-28 17:32:07 +05:30
Rish
47b6415c93 Updated contact support button to disabled look
no issue

- No functionality is currently attached to contact support so greying out, will enable once its updated
2020-05-28 17:28:27 +05:30
Rish
f0d6320da9 Removed delete account button from profile page
no issue

- Cleanup: We currently don't have any functionality hooked to delete account button
2020-05-28 17:24:19 +05:30
Rish
503cb53f4f Removed email from update member action
no issue

- Removes email from update member action as it cannot be modified directly
2020-05-28 17:23:48 +05:30
Rish
b361754ea9 Cleaned action running states
no issue

- Adds running states for action buttons on plan and profile pages
2020-05-28 17:21:46 +05:30
Rish
a9a083f2f1 Cleanup
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
2020-05-27 18:04:06 +05:30
Rish
9cf8e0e435 Added stripe load 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.
2020-05-27 18:03:12 +05:30
Rish
fc75d9881d Initialized existing members.js data attribute handling
refs https://github.com/TryGhost/members.js/issues/32

- Inits data attribute handling from the copied over members.js file from core
- Uses `window.location.origin` as site url for api calls in data attribute handling
2020-05-27 17:32:41 +05:30
Rish
514e022520 Copied existing public members.js script from core
refs https://github.com/TryGhost/members.js/issues/32

- Copies over existing members.js script from core
- Handles members functionality in a theme using data-attributes assinged
- Only modification is tto use `siteUrl` value passed to the function for API calls
2020-05-27 17:32:41 +05:30
Rish
bb7200dabf Fixed lint warnings
no issue
2020-05-27 17:11:43 +05:30
Rish
5640137bd3 Renamed update plan action to update subscription
no issue

- Renames update plan action to update subscription as it can be also used to cancel current subscription
- Pass cancelAtPeriodEnd option to update subscription API call
2020-05-26 20:40:54 +05:30
Renovate Bot
838c440a5a Update dependency eslint-plugin-ghost to v1.5.0 2020-05-25 10:17:09 +00:00
Rish
25269953a2 v0.4.0 2020-05-22 15:47:14 +05:30
Rish
97319dee7c Redirected member to home after plan update
no issue

- Takes member to home page popup on plan update
- Fetches new member session data via API to show updated plan
2020-05-22 15:44:35 +05:30
Rish
dd2ad02e68 Refactored profile page for free/paid member
no issue

- Updates profile page for free/paid member to render newsletter based on context
- Disable editing email field till we have the full flow for it
2020-05-22 15:43:24 +05:30
Rish
7cc028ba0d Added default plan for paid member
no issue

- Selects member's current plan by default on plan selection page
2020-05-22 15:41:58 +05:30
Rish
11e1b84298 Refactored account home page to dynamically load for free/paid
no issue

- Updates style based on context
- Combines account home page for free/paid members to load based on member status
2020-05-22 15:41:27 +05:30
Rish
f94f16a90d Combined account home pages in single file
no issue

- Cleanup: Combines home page for both free and paid member in single file for cleaner split
2020-05-22 12:38:06 +05:30
Rish
d8072971b5 Updated newsletter subscription label
no issue

- Updates newsletter subscription label based on current state on profile page
2020-05-22 12:36:38 +05:30
Rish
1049955007 Removed env variable for default page
no issue

- Removes env variable which could be previously set for local development in favor of `process.env.NODE_ENV` check for development version
2020-05-22 12:35:33 +05:30
Rish
08a4611ee3 Fixed page switch message UI margin
no issue

- Adds margin for page switch message between signup/signin at bottom
2020-05-22 12:34:21 +05:30
Rish
9432e4f166 Fixed Switch element tests
no issue

- Updated attaching onToggle to correct element on switch test
2020-05-21 12:02:41 +05:30
Rish
ca0bdab60b Hooked newsletter subscription toggle to API
refs https://github.com/TryGhost/members.js/issues/20

- Allows paid/free member to update their newsletter subscription status
- Newsletter subscription status is immediately updated on toggle
2020-05-21 11:54:44 +05:30
Rish
a859da1aa4 Updated magic link api to send member name
refs https://github.com/TryGhost/members.js/issues/26

- Includes member name in the magic link creation API which can be later read from token and stored on signup.
2020-05-21 09:05:41 +05:30
Rish
680572f499 Added profile update action from profile page
refs https://github.com/TryGhost/members.js/issues/20

- Updates profile update action name in Profile Page
- Adds new action to update member info from profile page if member is logged in
2020-05-20 00:14:22 +05:30
Rish
197be15e63 Renamed plan -> planName for update subscription api call
refs https://github.com/TryGhost/members.js/issues/20

- API uses planName for update subscription api call
2020-05-20 00:14:22 +05:30
Rish
2b34ee5c28 Updated paid signup action of member to include name
refs https://github.com/TryGhost/members.js/issues/29

- Uses updated API endpoint for checkout to pass member name in stripe checkout session metadata
2020-05-20 00:14:21 +05:30
Rish
43106c037e Added api to update member's profile info
refs https://github.com/TryGhost/members.js/issues/20

- Uses new member update endpoint to update logged-in member's profile info
- Member can update their name, email and newsletter subscription status
2020-05-20 00:14:21 +05:30
Rish
f257a35dce Updated checkout plan api to include member name in metadata
refs https://github.com/TryGhost/members.js/issues/29

- Create stripe checkout session in Ghost now supports passing metadata for custom info like name
- This allows storing member name post-signup after payment through stripe checkout is completed
2020-05-20 00:14:21 +05:30
Rish
b865d002a9 Added update subscription API
refs https://github.com/TryGhost/members.js/issues/20

- Adds update subscription api for member
- API allows updating plan for a particular subscription for logged-in member
2020-05-20 00:14:21 +05:30
Renovate Bot
f59d8213f6 Update dependency eslint-plugin-ghost to v1.4.1 2020-05-11 10:15:34 +00:00
Rish
748f56ee47 Added update plan setup for paid members
refs https://github.com/TryGhost/members.js/issues/20

- Adds update plan action for paid members to allow switching plans
2020-05-08 23:00:32 +05:30
Rish
3f738b1088 Added edit billing flow to paid account home
refs https://github.com/TryGhost/members.js/issues/20

- Opens stripe checkout update session from paid account area for a member
- Allows paid member to update their stripe billing info
2020-05-08 18:33:36 +05:30
Rish
e185c1ee47 Added edit stripe billing api method
refs https://github.com/TryGhost/members.js/issues/20

- Adds new editBilling method for stripe update billing info checkout flow
2020-05-08 18:32:22 +05:30
Rish
5a1fa6fdf4 Added edit profile page UI for paid member
refs https://github.com/TryGhost/members.js/issues/20

- Connects account profile page to edit button for paid member's account home area
2020-05-07 21:11:17 +05:30
Rish
694ec683fe Added free account home to use account profile
refs https://github.com/TryGhost/members.js/issues/20

- Clicking settings on free member's account home now takes them to profile page
2020-05-07 21:04:31 +05:30
Rish
fe1cb02203 Removed default margin style for Button component
no issue

- Adding default margin for action button can cause unwanted behavior where margin needs to be avoided.
- Allow higher level components to directly add margin if needed
2020-05-07 21:03:08 +05:30
Rish
12ac303fb2 Added profile page UI
refs https://github.com/TryGhost/members.js/issues/20

- Adds v1 for account profile page for both free and paid members
2020-05-07 18:06:29 +05:30
Renovate Bot
4078483bb7 Update dependency eslint-plugin-ghost to v1.4.0 2020-05-06 18:15:04 +00:00
Rish
8c42813666 v0.3.3 2020-05-01 23:20:53 +05:30
Rish
e8b25fc6e4 Fixed plan value in paid account home
no issue

- The plan value we get from API for a member is in cents and needs to be converted to dollars before showing.
2020-05-01 23:20:12 +05:30
Rish
21661e8eb8 v0.3.2 2020-05-01 22:24:44 +05:30
Rish
614c3f02fc Added fixture for paid member
no issue

- Adds fixture for paid member for local development
2020-05-01 22:23:37 +05:30
Rish
7abeb0a247 Updated local env file example to use default page
no issue

- Updates local env file to specify a default page for local UI development
2020-05-01 22:21:44 +05:30
Rish
eac5035451 Updated default page handling for paid member
refs https://github.com/TryGhost/members.js/issues/20

- Adds default page handling for paid member to open paid account area
- Refactors dev mode default page to be picked from env file if available
2020-05-01 22:21:16 +05:30
Rish
094d32a88d Added new paid account home area
refs https://github.com/TryGhost/members.js/issues/20

- Adds new page for home account area of paid member
- Updates popup modal to add paid account home page in list
2020-05-01 22:20:18 +05:30
Rish
26e1fd9dd3 Updated custom trigger button popup state classes
no issue

- Fixes custom trigger button not getting close class through any other way other than trigger
- Updates class name for open and close state by adding `gh-members-` namespace
2020-05-01 21:26:19 +05:30
Rish
2789ea3a10 v0.3.1 2020-05-01 20:58:55 +05:30
Rish
a61ce9c690 Fixed lint 2020-05-01 20:58:29 +05:30
Rish
216d8b1a14 Added subscribe navigation to account home
refs https://github.com/TryGhost/members.js/issues/20

- Adds navigation and last page setup for account home -> account plan chooser
2020-05-01 20:56:46 +05:30
Rish
767fbc1112 Cleaned up checkoutPlan action
no issue

- Removed checkoutUrls as we use default value for now
2020-05-01 20:55:20 +05:30
Rish
7dd4282520 Added back action to action list
no issue

- Adds back action to action list to allow pages to navigate back to last page
2020-05-01 20:54:48 +05:30
Rish
ec407eae5f Added new account plan page to popup modal flow
no issue

- Adds modal style and page value for new account plan page to modal
2020-05-01 20:53:48 +05:30
Rish
c6cf81664c Added new accountPlan page
no issue

- Adds new page for choosing a plan for logged in member
2020-05-01 20:52:56 +05:30
Rish
859b5502eb Refactored swtichPage action call syntax
no issue

Updates switchPage syntax to pass object so we can pass `lastPage` value as well for back button
2020-05-01 20:52:18 +05:30
Rish
4931ea68bd Updated plans section component plans prop
no issue

- Updates plans section component to take simpler plans array as prop for rendering plans
2020-05-01 20:49:35 +05:30
Rish
9cc5badd2f Added new switch component for toggle UI
no issue

- Mimics behavior and UI of toggle button in Ghost Admin
2020-05-01 20:12:13 +05:30
Rish
ee1dfbc0af v0.3.0 2020-05-01 17:18:54 +05:30
Rish
dae6d75f17 Fixed lint 2020-05-01 17:17:09 +05:30
Rish
98354e9de0 Updated script usage in readme to remove explicit init and adminUrl
refs https://github.com/TryGhost/members.js/issues/25

- No dependency on adminUrl anymore as endpoints exist on site url
- Members.js script is auto initialized, no need for explicit init in themes anymore
- No local .env values need to be set for development as script loads data from fixtures directly
2020-05-01 17:10:17 +05:30
Rish
2aef0d57f8 Refactored app initialization to remove admin url dependency
closes https://github.com/TryGhost/members.js/issues/25

- Remove dependency on admin url for initialization as member endpoints now exist on site directly
- Auto initializes the script on load as need not wait on any external dependency
- API fetch cleanup in parent container
- Updates tests
2020-05-01 17:06:58 +05:30
Rish
e291e7075b Updated api endpoints to use new member endpoints on site
refs https://github.com/TryGhost/members.js/issues/25

- Members endpoints were refactored in core to exist directly on site as `<SITE>/members/api/<RESOURCE>`
- All endpoints needed are now directly on SITE and removes the need for AdminURL
- Init method is updated to read site data from fixtures for local development, as no admin endpoint exists now

Core Refs:
0cba02b370
fa4dfa1b21
c70c49258e
2020-05-01 17:00:52 +05:30
Rish
a373239fcb Added small style hack to insert css inside iframe components
no issue

-  By default, CRA's webpack bundle combines and appends the main css at root level, so they are not applied inside any iframe.
- JSX Styles don't work for `:hover` and other similar selectors which is needed to style certain components like checkboxes
- This uses a hack where we append `<style> </style>` tag with all CSS inside the head of iframe dynamically as string
- We can create separate variables to keep styles grouped logically, and export them as one appended style string to apply styles in iframe.
2020-05-01 16:03:07 +05:30
Rish
d4f604d091 v0.2.4 2020-05-01 13:05:23 +05:30
Rish
29c4b6be0f Updated yarn ship script
no issue

- Updates `yarn script` to use same consistent format we use across org
- Removes use of `npm` in publish
- Adds `preship` to run lint - ideally should run tests but react tests run in interactive mode and are very slow atm, need to sort that out first.
2020-05-01 13:02:27 +05:30
Rish
c67ec1f730 Added no-op subscribe button handling
refs https://github.com/TryGhost/members.js/issues/20

- adds no-op method to handle subscribe option in account page
- fixes lint
2020-05-01 12:46:20 +05:30
Rish
67a07893b0 Updated account home page UI for free member
refs https://github.com/TryGhost/members.js/issues/20

- Updates UI for free member's account page based on spec
- Updates popup to show account home page like normal modal
- Updates tests
2020-05-01 12:41:33 +05:30
Rish
21df87e388 Updated trigger to use member gravatar when logged-in
refs https://github.com/TryGhost/members.js/issues/20

Updates trigger default icon to use member's gravatar if logged in via common component, which fallbacks to user icon when gravatar is blank.
2020-05-01 12:36:57 +05:30
Rish
d2098a783e Added common members avatar component
refs https://github.com/TryGhost/members.js/issues/20

- Adds a common component to render member gravatar with backup of user icon where gravatar is not available or is blank.
- Used in both Trigger component for logged in member as well as account areas.
2020-05-01 12:35:51 +05:30
Rish
462eb1c1b2 Reset popup state to default on closing magic link
closes https://github.com/TryGhost/members.js/issues/21

- Resets popup state to default page when magic link popup message is closed
2020-04-30 20:35:26 +05:30
Rish
49606f8fdf Added explicit npm registry in publishConfig
no issue

The members-js package is published on npm and this ensures `yarn ship` attempts to push to correct registry instead of yarn registry in case not set globally.
2020-04-30 17:37:29 +05:30
Rish
02d968dd4e 0.2.3 2020-04-30 17:25:36 +05:30
Rish
d11afe363f Updated checkout flow to pre-fill member email
refs https://github.com/TryGhost/members.js/issues/10

- Takes advantage of change here - 24b83bdc49 - to pre-fill customer email in anonymous checkout flow
- Member cannot change their email in this checkout session, allowing consistency and correct linking post checkout
2020-04-30 17:23:23 +05:30
Rish
f813185cc3 Added stripe url handling for checkout success
refs https://github.com/TryGhost/membersjs/issues/10

We use stripe query param `?stripe=<state>` for redirects from checkout session, this handles the magic link popup for checkout success state on redirect.
2020-04-30 11:55:16 +05:30
Rish
712ac5cd74 Updated tests for magiclink page
no issue

- Add test for close button firing correct action(closePopup) on magic link page
- Use common test utils setup
2020-04-30 11:49:18 +05:30
Rish
30a14023cf Fixed close action handling on magic link page
no issue

Fixes magic link action button using incorrect action method - `handleSignin` - which failed on click, replaced with close popup action.
2020-04-30 11:39:19 +05:30
Rish
9aefe26ba7 Fixed lint 2020-04-30 00:24:31 +05:30
Rish
24e98cfb21 Used common plans section component in signup page
refs https://github.com/TryGhost/members.js/issues/10

We want to use the common UI component for rendering the plans section. Also fixes the weird dom sync problem with checkboxes by adding a timeout for small lag to keep the state in sync.
2020-04-30 00:19:28 +05:30
Rish
886ee7e9ec Added new component for membership plans
refs https://github.com/TryGhost/members.js/issues/10

Create common plans section UI component as its used in multiple places in app
2020-04-30 00:17:16 +05:30
Rish
9edb3d2e58 Reworded usage section in readme
Simple rewording to make usage section shorter and to point
2020-04-29 13:38:29 +05:30
Rish
87215f56a0 0.2.2 2020-04-28 23:41:52 +05:30
Rish
f237a6ee37 Updated unpkg link in readme to use latest version
no issue

Instead of pinning to specific released version, we use `@latest` for picking the last released version automatically
2020-04-28 23:41:20 +05:30
Rish
7fee47b9a7 Added yarn ship for publishing to npm/unpkg
refs https://github.com/TryGhost/members.js/issues/5

We use `yarn ship` across all our packages for publishing new versions.
2020-04-28 23:38:24 +05:30
Rish
4d99e881d7 Added basic anoymous checkout flow setup
refs https://github.com/TryGhost/members.js/issues/10

Adds happy path flow for triggering anonymous checkout from signup page when monthly or yearly plan is selected. Opens the stripe checkout session with empty email, and currently doesn't handle the success or failure redirect.
2020-04-28 23:33:22 +05:30
Rish
e0c222f25c Fixed incorrect default page load
no issue

Missed passing `member` param while fetching default page, which then always returns `signup` page even if member is signed in
2020-04-28 23:31:20 +05:30
Rish
7da315acba Switched to recommended absolute test-utils path setup
refs https://github.com/TryGhost/members.js/issues/5

Switched to using absolute path for default test-utils setup file as relative imports become too messy when we keep tests for a component next to it. This setup allows using absolute path for common test-utils file which is used in almost all tests for initial setup.
2020-04-28 23:29:56 +05:30
Rish
d83382ffb5 Allowed .env file in source control for test-utils setup
refs https://github.com/TryGhost/members.js/issues/5

- We want to allow .env in source control mainly to use react-testing-library's recommended setup for common test-utils. It uses .env file to define NODE_PATH, which helps in avoiding relative imports in tests as we keep test files next to UI components.
- CRA also by default suggests committing .env files to source control
2020-04-28 23:15:09 +05:30
Rish
c3907f24dd Fixed tests
Fixed incorrect fixtures path
2020-04-28 13:12:11 +05:30
Rish
c86550a68f Cleaned up initialization and data fetching
refs https://github.com/TryGhost/members.js/issues/5

- Streamlined data init flow
- Streamlined development mode initialization
- Moved fixtures to utils
- Removed unused or redundant methods
2020-04-28 13:08:17 +05:30
Renovate Bot
971afdf468 Update dependency eslint-plugin-ghost to v1.3.0 2020-04-28 06:14:02 +00:00
Rish
4b01a1eac9 Fixed eslint no-console error
no issue

- Throws error on signout failure instead of console log
- Disables eslint for data initialization failure to allow logging error to console
2020-04-28 10:39:04 +05:30
Renovate Bot
982c9d19ef Pin dependencies 2020-04-28 08:51:04 +05:30
Rish
197070bcfe Updated readme
Added note about adding drop-in script in code injection footer in admin
2020-04-28 01:22:44 +05:30
Rish
e7e9ceab7d Updated readme
Removes comment about explicit need for admin url not ending in trailing slash, we handle trailing slash in code now.
2020-04-28 01:12:10 +05:30
Rish
9bf219459b Updated admin url for local env
refs https://github.com/TryGhost/members.js/issues/5

- Removes `/ghost` from local development .env file
2020-04-28 01:11:12 +05:30
Rish
487bea51b2 Refactored code structure using react context
ref https://github.com/TryGhost/members.js/issues/5

React context allows us cleaner setup in codebase with shared data and methods across components at different nesting levels. This should allow faster iteration and easier development going forward.

- Uses Parent context for shared data and methods across different components instead of passed down props
- Uses new `init` method in API for data initialization
- Removes `PopupMenu` component in favor of `PopupModal`
- Adds new test util for custom render for easier base setup - https://testing-library.com/docs/react-testing-library/setup#custom-render
- Updates tests to use new test util for easier test setup
2020-04-28 01:10:08 +05:30
Rish
2214a5048b Added new parent context
refs https://github.com/TryGhost/members.js/issues/5

- Adds new parent context with default values for all common context data we want to pass through

This adds base for using contexts (https://reactjs.org/docs/context.html) in our application as that allows easier overall base data and method sharing between different components instead of passing them down
2020-04-28 01:04:30 +05:30
Rish
e8a05c252b Added init method to api
refs https://github.com/TryGhost/members.js/issues/5

- renamed default function name
- Adds `init` method to api for fetching site data and member session data together
- Update site url from site data to remove window.location.origin dependency in case of iframe
2020-04-28 00:52:21 +05:30
Rish
ead29b9e23 Fixed account button action logging out
no issue

Account button was incorrectly mapped to logout action, adds a temp no-op action for account area
2020-04-27 15:39:02 +05:30
Rish
1a29d0926e Added render tests for common components
no issue

- Adds tests for ActionButton and InputField components
2020-04-27 15:37:48 +05:30
Rish
eb4ed70303 Added id and aria-label values for input field component
no issue

- Adds `aria-label` on input fields and id for label's `for` to map to form control
- Fixes tests
2020-04-27 14:09:12 +05:30
Rish
c53654d89b Updated pages to use common components
no issue

- Updates Signin page to use common ActionButton and Input component
- Updates Signup page to use common ActionButton and Input component
- Updates MagicLink page to use common ActionButton component
2020-04-27 13:51:25 +05:30
Rish
100bfa7b5b Extracted common Input and Button components
no issue

- Add new InputField common component for input fields with label
- Add new ActionButton common component for action <button>
2020-04-27 13:49:59 +05:30
Rish
61de34aac8 Updated readme
Fixed CI status badge
2020-04-27 11:53:18 +05:30
Rish
4565cfb646 Update readme
Bump unpkg version to 0.2.1
2020-04-23 21:21:09 +05:30
Rish
3baffcc3e6 0.2.1 2020-04-23 21:19:23 +05:30
Rish
c44241e27d Fixed signup with email not working on free plan
closes https://github.com/TryGhost/members.js/issues/16

This fix sends magic link to member when they choose free plan to signup using name and email.

Note: We are not storing `name` atm in magic link, so it gets ignored in actual member data on signup atm.
2020-04-23 21:18:34 +05:30
Rish
1fdc514c1f Fixed token handling in url for magic-link
closes https://github.com/TryGhost/members.js/issues/14

This adds handling of url update when signing-in with magic link by removing the token query param, which can cause accidental re-login on refresh.
2020-04-23 20:46:14 +05:30
Rish
72b8a376c6 Updated readme
Updated unpkg link to point to correct version
2020-04-23 18:02:43 +05:30
Rish
067fc9a1bd v0.2.0 2020-04-23 17:58:12 +05:30
Rish
1a97c7d161 Updated readme
Updated reference to admin url needed for initialization as api domain, same as used by other api clients.
2020-04-23 17:57:41 +05:30
Rish
c1a5c67e37 Refactored API setup and admin url initialization
refs https://github.com/TryGhost/members.js/issues/6

- Refactored API util to be more consistent with existing API SDKs
- Updated init method to expect admin url same as other SDKs
2020-04-23 17:54:21 +05:30
Rish
c58f29f1a9 Updated readme to tag latest unpkg version in script
Unpkg recommends tagging exact version in the url to avoid redirects and faster load times. Also ensures the init script is in sync with the unpkg version being picked up in case of any changes.
2020-04-23 13:56:09 +05:30
Rish
884e197cca v0.1.1 2020-04-23 13:03:17 +05:30
Rish
f79d022909 Fixed lint 2020-04-23 12:59:47 +05:30
Rish
2cf40fa6b8 Updated readme
Updated example admin url value for local setup
2020-04-23 12:59:26 +05:30
Rish
e999bcd146 Fixed tests
no issue
2020-04-23 12:59:08 +05:30
Rish
93a14eea2e Renamed script init method
refs https://github.com/TryGhost/members.js/issues/6

- Renames script initialization method from `initMembersJS` to simply `init`
- Updates readme
2020-04-23 12:51:51 +05:30
Rish
0a5e0648c8 Refactored fixutres data for site and member
refs https://github.com/TryGhost/members.js/issues/10

Refactored to include free member data and added dummy data for testing
2020-04-23 12:43:28 +05:30
Rish
275655584e Refactored UI structure and component naming
refs https://github.com/TryGhost/members.js/issues/10

- Added `/page` in components to structure all UI page flows for the app
- Renamed components to highlight just actual purpose/utility
- Cleaned up data loading flow
2020-04-23 12:42:55 +05:30
Rish
b50abb5ad2 Fixed firefox iframe append issue
no issue

Firefox doesn't allow adding content to iframe body without passing `srcDoc={`<!DOCTYPE html>` to the iframe, this allows iframe to load properly
2020-04-22 19:39:06 +05:30
Rish
e7973cf37a Updated Readme
Fixed init method
2020-04-21 15:18:12 +05:30
Rish
e36b6a8ae5 Updated readme 2020-04-21 14:51:16 +05:30
Rish
c05f3916c0 Updated readme
Cleaned up usage instructions
2020-04-21 11:17:23 +05:30