makerspace-react-rails 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e309b7fcef47c2447fdcdbc33bfd980a7b9dbb0fce2baecd0e70e8a5803d3892
4
- data.tar.gz: d9e92409c628eb6d2f3fa768fa25dd70200dc924510b476f6e559a588493dbfc
3
+ metadata.gz: 7a4050e159dcbc05f8ed8c25e6618748174cc594e84469b2efd8f08356622381
4
+ data.tar.gz: d86dd0039e0dea934472bbf76f0ac49a94bc443ac2a385a7d0816313aecbe260
5
5
  SHA512:
6
- metadata.gz: 349c3e993ff4470bc9804f4c36e3a6e6ab8a59a351b033615fd6518b290f4a2d1b0d0c9963d49f3ae28fb90299ffa030e4674fd9fe5690134fb03208b0b56b78
7
- data.tar.gz: 509e8851d69c94412dad5cd2f641c7287344c6f3391eb94abdad03bd8c200c04994cf0fb952b230856e4dddcd2dadc8097972d93712069082b3570142704ae37
6
+ metadata.gz: 1d799987bbca40babc3027632c3d6e49034fa34f248d1721e96cc36a6b9f0fea529af532e5c7c0877e19c3a5caf6e33f8f27597b1044349226c1b1fb0b71ef4c
7
+ data.tar.gz: cb9095578f7c004b50e1abad7941a13da61c60afa720c262285d5c669c8b7bab172f52928e7667db20e2cacc54d039635a2504c9f171114e380bfd9df339baac
@@ -1,7 +1,7 @@
1
1
  module Makerspace
2
2
  module React
3
3
  module Rails
4
- VERSION = "0.7.0"
4
+ VERSION = "0.8.0"
5
5
  end
6
6
  end
7
7
  end
@@ -190517,12 +190517,12 @@ __webpack_require__.r(__webpack_exports__);
190517
190517
  /* harmony import */ var ui_common_FormModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ui/common/FormModal */ "./src/ui/common/FormModal.tsx");
190518
190518
  /* harmony import */ var _cart__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./cart */ "./src/ui/checkout/cart.ts");
190519
190519
  /* harmony import */ var _hooks_useModal__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../hooks/useModal */ "./src/ui/hooks/useModal.ts");
190520
- /* harmony import */ var _member_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../member/utils */ "./src/ui/member/utils.ts");
190521
- /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
190522
- /* harmony import */ var app_constants__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! app/constants */ "./src/app/constants.ts");
190523
- /* harmony import */ var _hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../hooks/useWriteTransaction */ "./src/ui/hooks/useWriteTransaction.ts");
190524
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
190525
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_19__);
190520
+ /* harmony import */ var app_constants__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! app/constants */ "./src/app/constants.ts");
190521
+ /* harmony import */ var _hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../hooks/useWriteTransaction */ "./src/ui/hooks/useWriteTransaction.ts");
190522
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
190523
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_17__);
190524
+ /* harmony import */ var ui_checkout_SubscriptionAuthorizationModal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ui/checkout/SubscriptionAuthorizationModal */ "./src/ui/checkout/SubscriptionAuthorizationModal.tsx");
190525
+ /* harmony import */ var _PaymentMethod__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./PaymentMethod */ "./src/ui/checkout/PaymentMethod.tsx");
190526
190526
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
190527
190527
 
190528
190528
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -190565,7 +190565,7 @@ const renderAmount = item => {
190565
190565
  };
190566
190566
 
190567
190567
  const CartList = ({
190568
- paymentMethodId
190568
+ paymentMethod
190569
190569
  }) => {
190570
190570
  const {
190571
190571
  item
@@ -190574,16 +190574,10 @@ const CartList = ({
190574
190574
  history
190575
190575
  } = use_react_router__WEBPACK_IMPORTED_MODULE_1___default()();
190576
190576
  const {
190577
- currentUser: {
190578
- id: currentUserId
190579
- }
190580
- } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_16__["useAuthState"])();
190581
- const emptyCart = Object(_cart__WEBPACK_IMPORTED_MODULE_13__["useEmptyCart"])(); // Redirect to profile if theres nothing in the cart
190582
-
190583
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
190584
- !item && history.push(Object(_member_utils__WEBPACK_IMPORTED_MODULE_15__["buildProfileRouting"])(currentUserId));
190585
- return emptyCart;
190586
- }, []);
190577
+ isOpen: subscriptionAuthOpen,
190578
+ openModal: openSubscriptionAuth,
190579
+ closeModal: closeSubscriptionAuth
190580
+ } = Object(_hooks_useModal__WEBPACK_IMPORTED_MODULE_14__["default"])();
190587
190581
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](({
190588
190582
  response: {
190589
190583
  data: transaction
@@ -190592,7 +190586,7 @@ const CartList = ({
190592
190586
  const invoiceId = transaction && transaction.invoice.id;
190593
190587
 
190594
190588
  if (invoiceId) {
190595
- history.push(`${app_constants__WEBPACK_IMPORTED_MODULE_17__["Routing"].Receipt.replace(app_constants__WEBPACK_IMPORTED_MODULE_17__["Routing"].PathPlaceholder.InvoiceId, invoiceId)}`);
190589
+ history.push(`${app_constants__WEBPACK_IMPORTED_MODULE_15__["Routing"].Receipt.replace(app_constants__WEBPACK_IMPORTED_MODULE_15__["Routing"].PathPlaceholder.InvoiceId, invoiceId)}`);
190596
190590
  }
190597
190591
  }, [history]);
190598
190592
  const {
@@ -190600,7 +190594,7 @@ const CartList = ({
190600
190594
  isRequesting,
190601
190595
  error,
190602
190596
  reset
190603
- } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_18__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_19__["createTransaction"], onSuccess);
190597
+ } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_16__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_17__["createTransaction"], onSuccess);
190604
190598
  const {
190605
190599
  isOpen: errorIsOpen,
190606
190600
  openModal,
@@ -190613,7 +190607,7 @@ const CartList = ({
190613
190607
 
190614
190608
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
190615
190609
  !isRequesting && error && openModal();
190616
- }, [isRequesting, error, openModal]);
190610
+ }, [isRequesting, error]);
190617
190611
  const getFields = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](withError => [{
190618
190612
  id: "name",
190619
190613
  label: "Name",
@@ -190638,7 +190632,7 @@ const CartList = ({
190638
190632
  }
190639
190633
  }] : [])], [error]);
190640
190634
  const submitPayment = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
190641
- if (!paymentMethodId) {
190635
+ if (!paymentMethod) {
190642
190636
  return;
190643
190637
  }
190644
190638
 
@@ -190650,10 +190644,14 @@ const CartList = ({
190650
190644
  }, item.discountId && {
190651
190645
  discountId: item.discountId
190652
190646
  }), {
190653
- paymentMethodId
190647
+ paymentMethodId: paymentMethod.id
190654
190648
  })
190655
190649
  });
190656
- }, [call, item, paymentMethodId]);
190650
+ }, [call, item, paymentMethod]);
190651
+ const onSubscriptionAuthConfirm = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
190652
+ submitPayment();
190653
+ closeSubscriptionAuth();
190654
+ }, [closeSubscriptionAuth, submitPayment]);
190657
190655
 
190658
190656
  if (!item) {
190659
190657
  return null;
@@ -190686,6 +190684,12 @@ const CartList = ({
190686
190684
  variant: "h6",
190687
190685
  color: "inherit"
190688
190686
  }, "Total ", renderAmount(item))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190687
+ item: true,
190688
+ xs: 12,
190689
+ style: {
190690
+ marginBottom: "1rem"
190691
+ }
190692
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_PaymentMethod__WEBPACK_IMPORTED_MODULE_19__["default"], paymentMethod)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190689
190693
  item: true,
190690
190694
  xs: 12,
190691
190695
  style: {
@@ -190694,8 +190698,9 @@ const CartList = ({
190694
190698
  }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_4___default.a, {
190695
190699
  id: "submit-payment-button",
190696
190700
  variant: "contained",
190697
- disabled: !paymentMethodId,
190698
- onClick: submitPayment
190701
+ color: "primary",
190702
+ disabled: !paymentMethod,
190703
+ onClick: item.planId ? openSubscriptionAuth : submitPayment
190699
190704
  }, "Submit Payment"))), isRequesting && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_11__["default"], {
190700
190705
  id: "checkout-submitting-overlay"
190701
190706
  }))), errorIsOpen && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_FormModal__WEBPACK_IMPORTED_MODULE_12__["default"], {
@@ -190720,7 +190725,10 @@ const CartList = ({
190720
190725
  data: item ? [item] : [],
190721
190726
  columns: getFields(true),
190722
190727
  rowId: getCartId
190723
- })))));
190728
+ })))), subscriptionAuthOpen && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_checkout_SubscriptionAuthorizationModal__WEBPACK_IMPORTED_MODULE_18__["default"], {
190729
+ onConfirm: onSubscriptionAuthConfirm,
190730
+ item: item
190731
+ }));
190724
190732
  };
190725
190733
 
190726
190734
  /* harmony default export */ __webpack_exports__["default"] = (CartList);
@@ -190738,14 +190746,34 @@ const CartList = ({
190738
190746
  __webpack_require__.r(__webpack_exports__);
190739
190747
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
190740
190748
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
190741
- /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
190742
- /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__);
190743
- /* harmony import */ var _material_ui_core_Card__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/Card */ "./node_modules/@material-ui/core/Card/index.js");
190744
- /* harmony import */ var _material_ui_core_Card__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Card__WEBPACK_IMPORTED_MODULE_2__);
190745
- /* harmony import */ var _material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/CardContent */ "./node_modules/@material-ui/core/CardContent/index.js");
190746
- /* harmony import */ var _material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_3__);
190747
- /* harmony import */ var ui_checkout_PaymentMethodsContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui/checkout/PaymentMethodsContainer */ "./src/ui/checkout/PaymentMethodsContainer.tsx");
190748
- /* harmony import */ var _CartList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CartList */ "./src/ui/checkout/CartList.tsx");
190749
+ /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-react-router */ "./node_modules/use-react-router/use-react-router.js");
190750
+ /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(use_react_router__WEBPACK_IMPORTED_MODULE_1__);
190751
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
190752
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2__);
190753
+ /* harmony import */ var _material_ui_core_Card__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/Card */ "./node_modules/@material-ui/core/Card/index.js");
190754
+ /* harmony import */ var _material_ui_core_Card__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Card__WEBPACK_IMPORTED_MODULE_3__);
190755
+ /* harmony import */ var _material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/CardContent */ "./node_modules/@material-ui/core/CardContent/index.js");
190756
+ /* harmony import */ var _material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_4__);
190757
+ /* harmony import */ var _material_ui_core_Stepper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/Stepper */ "./node_modules/@material-ui/core/Stepper/index.js");
190758
+ /* harmony import */ var _material_ui_core_Stepper__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Stepper__WEBPACK_IMPORTED_MODULE_5__);
190759
+ /* harmony import */ var _material_ui_core_Step__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @material-ui/core/Step */ "./node_modules/@material-ui/core/Step/index.js");
190760
+ /* harmony import */ var _material_ui_core_Step__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Step__WEBPACK_IMPORTED_MODULE_6__);
190761
+ /* harmony import */ var _material_ui_core_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/core/Button */ "./node_modules/@material-ui/core/Button/index.js");
190762
+ /* harmony import */ var _material_ui_core_Button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_7__);
190763
+ /* harmony import */ var _material_ui_core_StepLabel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/core/StepLabel */ "./node_modules/@material-ui/core/StepLabel/index.js");
190764
+ /* harmony import */ var _material_ui_core_StepLabel__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_StepLabel__WEBPACK_IMPORTED_MODULE_8__);
190765
+ /* harmony import */ var ui_checkout_PaymentMethodsContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ui/checkout/PaymentMethodsContainer */ "./src/ui/checkout/PaymentMethodsContainer.tsx");
190766
+ /* harmony import */ var _CartList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CartList */ "./src/ui/checkout/CartList.tsx");
190767
+ /* harmony import */ var ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ui/common/ErrorMessage */ "./src/ui/common/ErrorMessage.tsx");
190768
+ /* harmony import */ var _member_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../member/utils */ "./src/ui/member/utils.ts");
190769
+ /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
190770
+ /* harmony import */ var ui_checkout_cart__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ui/checkout/cart */ "./src/ui/checkout/cart.ts");
190771
+
190772
+
190773
+
190774
+
190775
+
190776
+
190749
190777
 
190750
190778
 
190751
190779
 
@@ -190753,30 +190781,85 @@ __webpack_require__.r(__webpack_exports__);
190753
190781
 
190754
190782
 
190755
190783
 
190784
+
190785
+
190786
+ const steps = ["Select a payment method", "Review and confirm purchase"];
190787
+
190756
190788
  const CheckoutPage = () => {
190757
- const [paymentMethodId, setPaymentMethodId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
190758
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
190789
+ const {
190790
+ item
190791
+ } = Object(ui_checkout_cart__WEBPACK_IMPORTED_MODULE_14__["useCartState"])();
190792
+ const emptyCart = Object(ui_checkout_cart__WEBPACK_IMPORTED_MODULE_14__["useEmptyCart"])();
190793
+ const {
190794
+ history
190795
+ } = use_react_router__WEBPACK_IMPORTED_MODULE_1___default()();
190796
+ const {
190797
+ currentUser: {
190798
+ id: currentUserId
190799
+ }
190800
+ } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_13__["useAuthState"])(); // Redirect to profile if theres nothing in the cart
190801
+
190802
+ react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
190803
+ !item && history.push(Object(_member_utils__WEBPACK_IMPORTED_MODULE_12__["buildProfileRouting"])(currentUserId));
190804
+ return emptyCart;
190805
+ }, []);
190806
+ const [paymentMethod, setPaymentMethod] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
190807
+ const [activeStep, setActiveStep] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](0);
190808
+ const [paymentMethodError, setPaymentMethodError] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
190809
+ const onSelect = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](paymentMethod => {
190810
+ setPaymentMethod(paymentMethod);
190811
+ setPaymentMethodError(undefined);
190812
+ }, []);
190813
+ const onNext = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
190814
+ if (!paymentMethod) {
190815
+ setPaymentMethodError("Please select a payment method");
190816
+ return;
190817
+ }
190818
+
190819
+ setActiveStep(1);
190820
+ }, [paymentMethod]);
190821
+ const onBack = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
190822
+ setActiveStep(0);
190823
+ }, []);
190824
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190759
190825
  container: true,
190826
+ justify: "center",
190760
190827
  spacing: 16
190761
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
190828
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190762
190829
  item: true,
190763
- sm: 5,
190830
+ sm: 10,
190764
190831
  xs: 12
190765
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
190766
- container: true,
190767
- spacing: 16
190768
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
190832
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Stepper__WEBPACK_IMPORTED_MODULE_5___default.a, {
190833
+ activeStep: activeStep,
190834
+ alternativeLabel: true
190835
+ }, steps.map((label, index) => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Step__WEBPACK_IMPORTED_MODULE_6___default.a, {
190836
+ key: label,
190837
+ onClick: () => setActiveStep(index)
190838
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_StepLabel__WEBPACK_IMPORTED_MODULE_8___default.a, null, label))))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190769
190839
  item: true,
190840
+ sm: 10,
190770
190841
  xs: 12
190771
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Card__WEBPACK_IMPORTED_MODULE_2___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_3___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_checkout_PaymentMethodsContainer__WEBPACK_IMPORTED_MODULE_4__["default"], {
190772
- onPaymentMethodChange: setPaymentMethodId
190773
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, "*The payment method used when creating a subscription will be the default payment method used for subscription payments unless changed through Settings.")))))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
190842
+ }, activeStep === 0 && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Card__WEBPACK_IMPORTED_MODULE_3___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_CardContent__WEBPACK_IMPORTED_MODULE_4___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_checkout_PaymentMethodsContainer__WEBPACK_IMPORTED_MODULE_9__["default"], {
190843
+ paymentMethodToken: paymentMethod && paymentMethod.id,
190844
+ onPaymentMethodChange: onSelect
190845
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", null, "*The payment method used when creating a subscription will be the default payment method used for subscription payments unless changed through Settings."), paymentMethodError && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_11__["default"], {
190846
+ error: paymentMethodError
190847
+ }))), activeStep === 1 && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CartList__WEBPACK_IMPORTED_MODULE_10__["default"], {
190848
+ paymentMethod: paymentMethod
190849
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
190774
190850
  item: true,
190775
- sm: 7,
190851
+ sm: 10,
190776
190852
  xs: 12
190777
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CartList__WEBPACK_IMPORTED_MODULE_5__["default"], {
190778
- paymentMethodId: paymentMethodId
190779
- })));
190853
+ }, activeStep === 1 && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_7___default.a, {
190854
+ variant: "contained",
190855
+ onClick: onBack,
190856
+ id: "checkout-page-back"
190857
+ }, "Back"), activeStep === 0 && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_7___default.a, {
190858
+ variant: "contained",
190859
+ color: "primary",
190860
+ onClick: onNext,
190861
+ id: "checkout-page-next"
190862
+ }, "Next")));
190780
190863
  };
190781
190864
 
190782
190865
  /* harmony default export */ __webpack_exports__["default"] = (CheckoutPage);
@@ -191452,21 +191535,25 @@ class PaymentMethodsContainer extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
191452
191535
  openAddPayment: false
191453
191536
  }));
191454
191537
 
191538
+ _defineProperty(this, "paymentMethodFromNonce", nonce => this.state.paymentMethods.find(method => method.id === nonce));
191539
+
191455
191540
  _defineProperty(this, "onAddSuccess", nonce => {
191456
- this.props.onPaymentMethodChange && this.props.onPaymentMethodChange(nonce);
191541
+ const selectedPaymentMethod = this.paymentMethodFromNonce(nonce);
191457
191542
  this.setState({
191458
191543
  selectedPaymentMethodId: nonce
191459
191544
  });
191460
191545
  this.fetchPaymentMethods();
191461
191546
  this.closeAddPaymentMethod();
191547
+ this.props.onPaymentMethodChange && this.props.onPaymentMethodChange(selectedPaymentMethod);
191462
191548
  });
191463
191549
 
191464
191550
  _defineProperty(this, "selectPaymentMethod", event => {
191465
191551
  const selectedPaymentMethodId = event.currentTarget.value;
191466
- this.props.onPaymentMethodChange && this.props.onPaymentMethodChange(selectedPaymentMethodId);
191467
191552
  this.setState({
191468
191553
  selectedPaymentMethodId
191469
191554
  });
191555
+ const selectedPaymentMethod = this.paymentMethodFromNonce(selectedPaymentMethodId);
191556
+ this.props.onPaymentMethodChange && this.props.onPaymentMethodChange(selectedPaymentMethod);
191470
191557
  });
191471
191558
 
191472
191559
  _defineProperty(this, "renderDeletePaymentModal", () => {
@@ -191475,10 +191562,9 @@ class PaymentMethodsContainer extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
191475
191562
  isDeleting,
191476
191563
  error,
191477
191564
  openDeleteModal,
191478
- paymentMethods,
191479
191565
  selectedPaymentMethodId
191480
191566
  } = this.state;
191481
- const selectedPaymentMethod = paymentMethods.find(method => method.id === selectedPaymentMethodId);
191567
+ const selectedPaymentMethod = this.paymentMethodFromNonce(selectedPaymentMethodId);
191482
191568
 
191483
191569
  if (!selectedPaymentMethod) {
191484
191570
  return;
@@ -191654,7 +191740,7 @@ class PaymentMethodsContainer extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
191654
191740
  variant: "body1",
191655
191741
  color: "inherit",
191656
191742
  id: "none-found"
191657
- }, "No payment methods found. Click \"Add New Payment Method\" to add one.")), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_10__["default"], {
191743
+ }, "No payment methods found. Click \"Add New Payment Method\" to add one.")), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_10__["default"], {
191658
191744
  id: `get-payment-methods-error`,
191659
191745
  error: !isRequesting && error
191660
191746
  }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
@@ -191946,6 +192032,112 @@ const Receipt = () => {
191946
192032
 
191947
192033
  /***/ }),
191948
192034
 
192035
+ /***/ "./src/ui/checkout/SubscriptionAuthorizationModal.tsx":
192036
+ /*!************************************************************!*\
192037
+ !*** ./src/ui/checkout/SubscriptionAuthorizationModal.tsx ***!
192038
+ \************************************************************/
192039
+ /*! exports provided: default */
192040
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
192041
+
192042
+ "use strict";
192043
+ __webpack_require__.r(__webpack_exports__);
192044
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
192045
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
192046
+ /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-react-router */ "./node_modules/use-react-router/use-react-router.js");
192047
+ /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(use_react_router__WEBPACK_IMPORTED_MODULE_1__);
192048
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
192049
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2__);
192050
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/Typography */ "./node_modules/@material-ui/core/Typography/index.js");
192051
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3__);
192052
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/Checkbox */ "./node_modules/@material-ui/core/Checkbox/index.js");
192053
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_4__);
192054
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
192055
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_5__);
192056
+ /* harmony import */ var ui_common_FormModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui/common/FormModal */ "./src/ui/common/FormModal.tsx");
192057
+ /* harmony import */ var ui_reducer_hooks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui/reducer/hooks */ "./src/ui/reducer/hooks.ts");
192058
+ /* harmony import */ var ui_member_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ui/member/utils */ "./src/ui/member/utils.ts");
192059
+
192060
+
192061
+
192062
+
192063
+
192064
+
192065
+
192066
+
192067
+
192068
+ const checkboxField = {
192069
+ id: "authorization-agreement-checkbox",
192070
+ name: "authorization-agreement-checkbox",
192071
+ error: "You must accept to continue",
192072
+ label: "I agree",
192073
+ validate: val => !!val
192074
+ };
192075
+
192076
+ const SubscriptionAuthorizationModal = ({
192077
+ onConfirm,
192078
+ item
192079
+ }) => {
192080
+ const {
192081
+ currentUser
192082
+ } = Object(ui_reducer_hooks__WEBPACK_IMPORTED_MODULE_7__["useAuthState"])();
192083
+ const {
192084
+ history
192085
+ } = use_react_router__WEBPACK_IMPORTED_MODULE_1___default()();
192086
+ const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async form => {
192087
+ await form.simpleValidate({
192088
+ [checkboxField.id]: checkboxField
192089
+ });
192090
+
192091
+ if (!form.isValid()) {
192092
+ return;
192093
+ }
192094
+
192095
+ onConfirm();
192096
+ }, []);
192097
+ const redirect = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
192098
+ history.push(Object(ui_member_utils__WEBPACK_IMPORTED_MODULE_8__["buildProfileRouting"])(currentUser.id));
192099
+ }, [history, currentUser]);
192100
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_FormModal__WEBPACK_IMPORTED_MODULE_6__["default"], {
192101
+ id: "authorization-agreement",
192102
+ title: "Recurring Payment Authorization",
192103
+ isOpen: true,
192104
+ onSubmit: onSubmit,
192105
+ closeHandler: redirect,
192106
+ cancelText: "Cancel Payment",
192107
+ submitText: "Confirm"
192108
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
192109
+ container: true,
192110
+ spacing: 16
192111
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
192112
+ item: true,
192113
+ xs: 12
192114
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3___default.a, {
192115
+ variant: "body1"
192116
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("strong", null, "How recurring payments work:")), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3___default.a, {
192117
+ variant: "body1"
192118
+ }, "You authorize regularly scheduled charges to your selected payment method. You will be charged the subscription amount each billing period. A receipt will be emailed to you and each charge will appear on your statement. You agree that no prior notification will be provided unless the date or amount changes, in which case you will receive notice from us at least 10 days prior to the payment being collected.")), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("br", null), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("br", null), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_3___default.a, {
192119
+ variant: "body1",
192120
+ style: {
192121
+ padding: "1rem",
192122
+ border: "1px solid black",
192123
+ borderRadius: "3px"
192124
+ }
192125
+ }, "I, ", currentUser.firstname, " ", currentUser.lastname, ", authorize Manchester Makerspace to charge $", item.amount, " ", "to the payment method I have selected every ", item.quantity, " month(s). I understand that this authorization will remain in effect until I notify Manchester Makerspace of cancellation in writing or electronically through ", react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("a", {
192126
+ href: `${Object(ui_member_utils__WEBPACK_IMPORTED_MODULE_8__["buildProfileRouting"])(currentUser.id)}/settings`
192127
+ }, "Subscription Settings"), "."), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
192128
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_4___default.a, {
192129
+ id: checkboxField.id,
192130
+ name: checkboxField.name,
192131
+ color: "primary"
192132
+ }),
192133
+ label: checkboxField.label
192134
+ }))));
192135
+ };
192136
+
192137
+ /* harmony default export */ __webpack_exports__["default"] = (SubscriptionAuthorizationModal);
192138
+
192139
+ /***/ }),
192140
+
191949
192141
  /***/ "./src/ui/checkout/cart.ts":
191950
192142
  /*!*********************************!*\
191951
192143
  !*** ./src/ui/checkout/cart.ts ***!
@@ -198639,7 +198831,10 @@ const ChangePaymentMethodModal = ({
198639
198831
  openModal,
198640
198832
  closeModal
198641
198833
  } = Object(_hooks_useModal__WEBPACK_IMPORTED_MODULE_5__["default"])();
198642
- const [paymentMethodId, setPaymentMethodId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
198834
+ const [paymentMethodId, setPaymentMethodId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](paymentMethodToken);
198835
+ react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
198836
+ setPaymentMethodId(paymentMethodToken);
198837
+ }, [paymentMethodToken]);
198643
198838
  const {
198644
198839
  isRequesting,
198645
198840
  error,
@@ -198655,6 +198850,9 @@ const ChangePaymentMethodModal = ({
198655
198850
  }
198656
198851
  });
198657
198852
  }, [call, subscriptionId, paymentMethodId]);
198853
+ const setPaymentMethod = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](pm => {
198854
+ setPaymentMethodId(pm.id);
198855
+ }, []);
198658
198856
 
198659
198857
  if (!subscriptionId) {
198660
198858
  return null;
@@ -198675,9 +198873,9 @@ const ChangePaymentMethodModal = ({
198675
198873
  loading: isRequesting,
198676
198874
  error: error
198677
198875
  }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_checkout_PaymentMethodsContainer__WEBPACK_IMPORTED_MODULE_6__["default"], {
198678
- onPaymentMethodChange: setPaymentMethodId,
198876
+ onPaymentMethodChange: setPaymentMethod,
198679
198877
  title: "Select or add a new payment method",
198680
- paymentMethodToken: paymentMethodToken
198878
+ paymentMethodToken: paymentMethodId
198681
198879
  })));
198682
198880
  };
198683
198881