@basiq/connect-auth 0.1.88 → 1.0.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.
@@ -474,8 +474,15 @@ var hexToRGBa = function hexToRGBa(hex, opacity) {
474
474
  var opp = opacity > 1 && opacity < 0 ? 1 : opacity;
475
475
  return "rgba(" + (hexToRGBA == null ? void 0 : hexToRGBA.concat(opp).join()) + ")";
476
476
  };
477
+ var handleUserKeyPress = function handleUserKeyPress(e, onEnter) {
478
+ var keyCode = e.keyCode;
477
479
 
478
- // export const DASHBOARD_API_URL = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';
480
+ if (keyCode === 13) {
481
+ onEnter();
482
+ }
483
+ };
484
+
485
+ var DASHBOARD_API_URL_TEST = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';
479
486
  var DASHBOARD_API_URL = 'https://p4c8zn20r9.execute-api.ap-southeast-2.amazonaws.com/Production_v1/';
480
487
 
481
488
  var _templateObject$2, _templateObject2$2, _templateObject3$1;
@@ -535,10 +542,10 @@ var theme = {
535
542
  },
536
543
  mixin: {
537
544
  subtitle: function subtitle() {
538
- return " margin-top: 8px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;";
545
+ return " margin-top: 32px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;";
539
546
  },
540
547
  title: function title() {
541
- return " font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 24px;\n color: #130f26;\n white-space: pre-line;\n ";
548
+ return " font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 0;\n color: #130f26;\n white-space: pre-line;\n ";
542
549
  }
543
550
  }
544
551
  };
@@ -602,7 +609,7 @@ var PageShadowWrapper = /*#__PURE__*/styled__default.div(_templateObject5$2 || (
602
609
  return horizontal && styled.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteralLoose(["\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\n\t\t\t", " {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-right: 16px;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-right: unset;\n\t\t\t\t}\n\t\t\t}\n\t\t"])), ButtonStyled);
603
610
  });
604
611
  var PageShadow = /*#__PURE__*/styled__default.div(_templateObject7$1 || (_templateObject7$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tposition: absolute;\n\theight: 71px;\n\tleft: 0;\n\tright: 0;\n\ttop: -71px;\n\tbackground: linear-gradient(180deg, #cecece 0%, ", " 100%);\n\topacity: 0.8;\n\ttransform: rotate(-180deg);\n\tpointer-events: none;\n"])), /*#__PURE__*/hexToRGBa('#cecece', 0));
605
- var PageHeader = /*#__PURE__*/styled__default.header(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ", ";\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 150px;\n\t", " {\n\t\tbackground-color: unset;\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tpadding: 16px;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t", " {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n"])), function (_ref7) {
612
+ var PageHeader = /*#__PURE__*/styled__default.header(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ", ";\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 150px;\n\t", " {\n\t\tbackground-color: unset;\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tpadding: 16px 0\n\t\tmargin-bottom: 0;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t", " {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n"])), function (_ref7) {
606
613
  var theme = _ref7.theme;
607
614
  return theme.color.porcelainSecond;
608
615
  }, devices.phone, devices.phone);
@@ -634,13 +641,17 @@ var InputStyled = /*#__PURE__*/styled__default.input(_templateObject3$3 || (_tem
634
641
  return error ? theme.color.cerise : theme.color.endeavour;
635
642
  });
636
643
  var InputContainer = /*#__PURE__*/styled__default.div(_templateObject4$3 || (_templateObject4$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n"])));
637
- var DivAsLink = /*#__PURE__*/styled__default.div(_templateObject5$3 || (_templateObject5$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n\tdisplay: inherit;\n\tcursor: pointer;\n"])), function (_ref4) {
638
- var theme = _ref4.theme;
639
- return theme.color.endeavour;
644
+ var DivAsLink = /*#__PURE__*/styled__default.div(_templateObject5$3 || (_templateObject5$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n\tdisplay: inherit;\n\tcursor: ", ";\n"])), function (_ref4) {
645
+ var theme = _ref4.theme,
646
+ disabled = _ref4.disabled;
647
+ return disabled ? theme.color.casper : theme.color.endeavour;
648
+ }, function (_ref5) {
649
+ var disabled = _ref5.disabled;
650
+ return disabled ? 'not-allowed' : 'pointer';
640
651
  });
641
652
 
642
653
  var _templateObject$5;
643
- var InnerContainer = /*#__PURE__*/styled__default.div(_templateObject$5 || (_templateObject$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\tmargin-top: 16px;\n\twidth: 100%;\n"])));
654
+ var InnerContainer = /*#__PURE__*/styled__default.div(_templateObject$5 || (_templateObject$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\twidth: 100%;\n"])));
644
655
 
645
656
  var _templateObject$6, _templateObject2$5, _templateObject3$4, _templateObject4$4;
646
657
  var PageStatusScreenMain = /*#__PURE__*/styled__default(PageMainContainer)(_templateObject$6 || (_templateObject$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n\theight: 100%;\n"])));
@@ -699,7 +710,7 @@ var MarkW1GBold = "data:font/otf;base64,T1RUTwANAIAAAwBQQ0ZGICwMZMIAACp0AAFDmERT
699
710
  var _templateObject$8;
700
711
  var GlobalStyles = /*#__PURE__*/styled.createGlobalStyle(_templateObject$8 || (_templateObject$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n \n@font-face {\n font-family: MarkW1G;\n src: url(", ") format('opentype');\n }\n @font-face {\n font-family: MarkW1G;\n font-weight: bold;\n src: url(", ") format('opentype');\n }\n\nbody{\n font-family: 'MarkW1G', sans-serif;\n}\nbody * {\n font-family: 'MarkW1G', sans-serif;\n font-size: 14px;\n font-style: normal;\n}\n"])), MarkW1GBook, MarkW1GBold);
701
712
 
702
- var img = "data:image/svg+xml,%3c!-- Generated by IcoMoon.io --%3e%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='1024' height='1024' viewBox='0 0 1024 1024'%3e%3ctitle%3e%3c/title%3e%3cg id='icomoon-ignore'%3e%3c/g%3e%3cpath fill='black' d='M682.667 469.333h-241.493l53.333-55.893c7.287-7.645 11.77-18.019 11.77-29.44 0-23.584-19.119-42.703-42.703-42.703-12.164 0-23.139 5.085-30.917 13.246l-0.016 0.017-122.027 128c-1.338 1.628-2.607 3.44-3.731 5.347l-0.109 0.199c-1.886 2.326-3.467 5.004-4.62 7.899l-0.073 0.207c-1.426 3.52-2.347 7.596-2.557 11.859l-0.003 0.088-0.853 3.84c0.073 5.873 1.322 11.435 3.52 16.489l-0.107-0.275c2.2 5.299 5.227 9.831 8.968 13.662l127.992 127.992c7.733 7.795 18.45 12.621 30.293 12.621s22.56-4.826 30.291-12.618l0.003-0.003c7.795-7.733 12.621-18.45 12.621-30.293s-4.826-22.56-12.618-30.291l-0.003-0.003-55.467-54.613h238.507c23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667v0z'%3e%3c/path%3e%3cpath fill='black' d='M512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0zM512 853.333c-188.513 0-341.333-152.82-341.333-341.333s152.82-341.333 341.333-341.333c188.513 0 341.333 152.82 341.333 341.333v0c0 188.513-152.82 341.333-341.333 341.333v0z'%3e%3c/path%3e%3c/svg%3e";
713
+ var img = "data:image/svg+xml,%3csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.25 1.75C5.55621 1.75 1.75 5.55621 1.75 10.25C1.75 14.9447 5.55616 18.75 10.25 18.75C14.9438 18.75 18.75 14.9447 18.75 10.25C18.75 5.55621 14.9438 1.75 10.25 1.75ZM0.25 10.25C0.25 4.72779 4.72779 0.25 10.25 0.25C15.7722 0.25 20.25 4.72779 20.25 10.25C20.25 15.7733 15.7722 20.25 10.25 20.25C4.72784 20.25 0.25 15.7733 0.25 10.25ZM12.2238 6.25001C12.516 6.54354 12.515 7.01841 12.2215 7.31067L9.26925 10.2502L12.2215 13.1897C12.515 13.482 12.516 13.9569 12.2238 14.2504C11.9315 14.5439 11.4566 14.5449 11.1631 14.2527L7.67711 10.7817C7.53576 10.6409 7.4563 10.4497 7.4563 10.2502C7.4563 10.0507 7.53576 9.85947 7.67711 9.71873L11.1631 6.24773C11.4566 5.95547 11.9315 5.95649 12.2238 6.25001Z' fill='black'/%3e%3c/svg%3e";
703
714
 
704
715
  function Button(props) {
705
716
  var onClick = props.onClick,
@@ -781,12 +792,13 @@ function NotFound(_ref) {
781
792
  }
782
793
 
783
794
  var verifySmsCode = /*#__PURE__*/function () {
784
- var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(authRequestId, smsCode) {
785
- var body, reqData, result, json;
795
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
796
+ var authRequestId, smsCode, test, body, reqData, result, json;
786
797
  return _regeneratorRuntime().wrap(function _callee$(_context) {
787
798
  while (1) {
788
799
  switch (_context.prev = _context.next) {
789
800
  case 0:
801
+ authRequestId = _ref.authRequestId, smsCode = _ref.smsCode, test = _ref.test;
790
802
  body = {
791
803
  'sms-code': smsCode
792
804
  };
@@ -798,34 +810,34 @@ var verifySmsCode = /*#__PURE__*/function () {
798
810
  method: 'POST',
799
811
  body: JSON.stringify(body)
800
812
  };
801
- _context.next = 4;
802
- return fetch(DASHBOARD_API_URL + "client_auth/" + authRequestId + "/token", reqData);
813
+ _context.next = 5;
814
+ return fetch((test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL) + "client_auth/" + authRequestId + "/token", reqData);
803
815
 
804
- case 4:
816
+ case 5:
805
817
  result = _context.sent;
806
818
 
807
819
  if (!(result.status >= 200 && result.status < 300)) {
808
- _context.next = 15;
820
+ _context.next = 16;
809
821
  break;
810
822
  }
811
823
 
812
824
  if (!(result.status === 204)) {
813
- _context.next = 10;
825
+ _context.next = 11;
814
826
  break;
815
827
  }
816
828
 
817
829
  _context.t0 = null;
818
- _context.next = 13;
830
+ _context.next = 14;
819
831
  break;
820
832
 
821
- case 10:
822
- _context.next = 12;
833
+ case 11:
834
+ _context.next = 13;
823
835
  return result.json();
824
836
 
825
- case 12:
837
+ case 13:
826
838
  _context.t0 = _context.sent;
827
839
 
828
- case 13:
840
+ case 14:
829
841
  json = _context.t0;
830
842
  return _context.abrupt("return", {
831
843
  data: json,
@@ -834,9 +846,9 @@ var verifySmsCode = /*#__PURE__*/function () {
834
846
  ok: true
835
847
  });
836
848
 
837
- case 15:
849
+ case 16:
838
850
  if (!(result.status >= 400)) {
839
- _context.next = 17;
851
+ _context.next = 18;
840
852
  break;
841
853
  }
842
854
 
@@ -847,7 +859,7 @@ var verifySmsCode = /*#__PURE__*/function () {
847
859
  ok: false
848
860
  });
849
861
 
850
- case 17:
862
+ case 18:
851
863
  return _context.abrupt("return", {
852
864
  headers: result.headers,
853
865
  statusCode: result.status,
@@ -855,7 +867,7 @@ var verifySmsCode = /*#__PURE__*/function () {
855
867
  ok: false
856
868
  });
857
869
 
858
- case 18:
870
+ case 19:
859
871
  case "end":
860
872
  return _context.stop();
861
873
  }
@@ -863,56 +875,54 @@ var verifySmsCode = /*#__PURE__*/function () {
863
875
  }, _callee);
864
876
  }));
865
877
 
866
- return function verifySmsCode(_x, _x2) {
867
- return _ref.apply(this, arguments);
878
+ return function verifySmsCode(_x) {
879
+ return _ref2.apply(this, arguments);
868
880
  };
869
881
  }();
870
882
  var authUser = /*#__PURE__*/function () {
871
- var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(authRequestId, method) {
872
- var reqData, result, json, _json;
883
+ var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3) {
884
+ var authRequestId, method, test, reqData, result, json, _json;
873
885
 
874
886
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
875
887
  while (1) {
876
888
  switch (_context2.prev = _context2.next) {
877
889
  case 0:
878
- if (method === void 0) {
879
- method = 'POST';
880
- }
881
-
890
+ authRequestId = _ref3.authRequestId, method = _ref3.method, test = _ref3.test;
882
891
  reqData = {
883
892
  headers: {
884
893
  'Content-Type': 'application/json'
885
894
  },
886
- method: method
895
+ method: method || 'POST'
887
896
  };
888
- _context2.next = 4;
889
- return fetch(DASHBOARD_API_URL + "client_auth/" + authRequestId, reqData);
897
+ _context2.prev = 2;
898
+ _context2.next = 5;
899
+ return fetch((test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL) + "client_auth/" + authRequestId, reqData);
890
900
 
891
- case 4:
901
+ case 5:
892
902
  result = _context2.sent;
893
903
 
894
904
  if (!(result.status >= 200 && result.status < 300)) {
895
- _context2.next = 15;
905
+ _context2.next = 16;
896
906
  break;
897
907
  }
898
908
 
899
909
  if (!(result.status === 204)) {
900
- _context2.next = 10;
910
+ _context2.next = 11;
901
911
  break;
902
912
  }
903
913
 
904
914
  _context2.t0 = null;
905
- _context2.next = 13;
915
+ _context2.next = 14;
906
916
  break;
907
917
 
908
- case 10:
909
- _context2.next = 12;
918
+ case 11:
919
+ _context2.next = 13;
910
920
  return result.json();
911
921
 
912
- case 12:
922
+ case 13:
913
923
  _context2.t0 = _context2.sent;
914
924
 
915
- case 13:
925
+ case 14:
916
926
  json = _context2.t0;
917
927
  return _context2.abrupt("return", {
918
928
  data: json,
@@ -921,29 +931,29 @@ var authUser = /*#__PURE__*/function () {
921
931
  ok: true
922
932
  });
923
933
 
924
- case 15:
934
+ case 16:
925
935
  if (!(result.status >= 400)) {
926
- _context2.next = 25;
936
+ _context2.next = 26;
927
937
  break;
928
938
  }
929
939
 
930
940
  if (![403, 404].includes(result.status)) {
931
- _context2.next = 20;
941
+ _context2.next = 21;
932
942
  break;
933
943
  }
934
944
 
935
945
  _context2.t1 = null;
936
- _context2.next = 23;
946
+ _context2.next = 24;
937
947
  break;
938
948
 
939
- case 20:
940
- _context2.next = 22;
949
+ case 21:
950
+ _context2.next = 23;
941
951
  return result.json();
942
952
 
943
- case 22:
953
+ case 23:
944
954
  _context2.t1 = _context2.sent;
945
955
 
946
- case 23:
956
+ case 24:
947
957
  _json = _context2.t1;
948
958
  return _context2.abrupt("return", {
949
959
  headers: result.headers,
@@ -952,7 +962,7 @@ var authUser = /*#__PURE__*/function () {
952
962
  ok: false
953
963
  });
954
964
 
955
- case 25:
965
+ case 26:
956
966
  return _context2.abrupt("return", {
957
967
  headers: result.headers,
958
968
  statusCode: result.status,
@@ -960,16 +970,25 @@ var authUser = /*#__PURE__*/function () {
960
970
  ok: false
961
971
  });
962
972
 
963
- case 26:
973
+ case 29:
974
+ _context2.prev = 29;
975
+ _context2.t2 = _context2["catch"](2);
976
+ return _context2.abrupt("return", {
977
+ statusCode: 500,
978
+ error: 'Something went wrong',
979
+ ok: false
980
+ });
981
+
982
+ case 32:
964
983
  case "end":
965
984
  return _context2.stop();
966
985
  }
967
986
  }
968
- }, _callee2);
987
+ }, _callee2, null, [[2, 29]]);
969
988
  }));
970
989
 
971
- return function authUser(_x3, _x4) {
972
- return _ref2.apply(this, arguments);
990
+ return function authUser(_x2) {
991
+ return _ref4.apply(this, arguments);
973
992
  };
974
993
  }();
975
994
 
@@ -1017,8 +1036,9 @@ function StartScreen(props) {
1017
1036
  var onContinue = props.onContinue,
1018
1037
  appName = props.appName,
1019
1038
  shadow = props.shadow,
1020
- authId = props.authId,
1021
- showErrorScreen = props.showErrorScreen;
1039
+ authRequestId = props.authRequestId,
1040
+ showErrorScreen = props.showErrorScreen,
1041
+ test = props.test;
1022
1042
 
1023
1043
  var _useState = React.useState(false),
1024
1044
  loading = _useState[0],
@@ -1027,6 +1047,17 @@ function StartScreen(props) {
1027
1047
  var _useTranslation = reactI18next.useTranslation(),
1028
1048
  t = _useTranslation.t;
1029
1049
 
1050
+ React.useEffect(function () {
1051
+ window.addEventListener('keydown', function (e) {
1052
+ return handleUserKeyPress(e, onContinue);
1053
+ });
1054
+ return function () {
1055
+ window.removeEventListener('keydown', function (e) {
1056
+ return handleUserKeyPress(e, onContinue);
1057
+ });
1058
+ };
1059
+ }, []);
1060
+
1030
1061
  var handleContinue = /*#__PURE__*/function () {
1031
1062
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1032
1063
  var response;
@@ -1036,13 +1067,16 @@ function StartScreen(props) {
1036
1067
  case 0:
1037
1068
  setLoading(true);
1038
1069
 
1039
- if (!authId) {
1070
+ if (!authRequestId) {
1040
1071
  _context.next = 6;
1041
1072
  break;
1042
1073
  }
1043
1074
 
1044
1075
  _context.next = 4;
1045
- return authUser(authId);
1076
+ return authUser({
1077
+ authRequestId: authRequestId,
1078
+ test: test
1079
+ });
1046
1080
 
1047
1081
  case 4:
1048
1082
  response = _context.sent;
@@ -1111,9 +1145,13 @@ function StartScreen(props) {
1111
1145
  bold: React__default.createElement("strong", null)
1112
1146
  }
1113
1147
  }))), React__default.createElement(H4Styled, null, t('things_you_should_know')), React__default.createElement("ul", null, React__default.createElement("li", null, t('we_dont_share_your_data_without_your_consent')), React__default.createElement("li", null, t('you_can_easily_stop_sharing_your_data_at_any_time')), React__default.createElement("li", null, t('you_can_choose_to_delete_shared_data_when_we_no_longer_need_it'))), React__default.createElement(Spacer, null), React__default.createElement("span", null, React__default.createElement(React__default.Fragment, null, t('by_proceeding_you_agree_to_the'), ' ', React__default.createElement("a", {
1114
- href: "https://docs.basiq.io/en/articles/415750-basiq-terms-of-service"
1148
+ href: "https://docs.basiq.io/en/articles/415750-basiq-terms-of-service",
1149
+ rel: "noreferrer",
1150
+ target: "_blank"
1115
1151
  }, t('terms_of_service')), " ", t('and'), ' ', React__default.createElement("a", {
1116
- href: "https://docs.basiq.io/en/articles/382581-basiq-privacy-policy"
1152
+ href: "https://docs.basiq.io/en/articles/382581-basiq-privacy-policy",
1153
+ rel: "noreferrer",
1154
+ target: "_blank"
1117
1155
  }, t('privacy_notice')))), React__default.createElement(LoadingModal, {
1118
1156
  isOpen: loading
1119
1157
  })));
@@ -1122,8 +1160,9 @@ function StartScreen(props) {
1122
1160
  function AuthScreen(_ref) {
1123
1161
  var onBack = _ref.onBack,
1124
1162
  number = _ref.number,
1125
- authId = _ref.authId,
1126
- shadow = _ref.shadow;
1163
+ authRequestId = _ref.authRequestId,
1164
+ shadow = _ref.shadow,
1165
+ test = _ref.test;
1127
1166
 
1128
1167
  var _useTranslation = reactI18next.useTranslation(),
1129
1168
  t = _useTranslation.t;
@@ -1133,40 +1172,51 @@ function AuthScreen(_ref) {
1133
1172
  setError = _useState[1];
1134
1173
 
1135
1174
  var _useState2 = React.useState(''),
1136
- code = _useState2[0],
1137
- setCode = _useState2[1];
1175
+ smsCode = _useState2[0],
1176
+ setSmsCode = _useState2[1];
1138
1177
 
1139
1178
  var _useState3 = React.useState(false),
1140
1179
  resend = _useState3[0],
1141
1180
  setResend = _useState3[1];
1142
1181
 
1143
1182
  var _useState4 = React.useState(false),
1144
- loading = _useState4[0],
1145
- setLoading = _useState4[1];
1183
+ resendLoading = _useState4[0],
1184
+ setResendLoading = _useState4[1];
1146
1185
 
1147
- var handleCodeApply = /*#__PURE__*/function () {
1148
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1149
- var _response$data;
1186
+ var _useState5 = React.useState(false),
1187
+ loading = _useState5[0],
1188
+ setLoading = _useState5[1];
1150
1189
 
1151
- var response, _response$data2;
1190
+ var handleCodeApply = React.useCallback( /*#__PURE__*/function () {
1191
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
1192
+ var _response$data, response, _response$data2;
1152
1193
 
1153
1194
  return _regeneratorRuntime().wrap(function _callee$(_context) {
1154
1195
  while (1) {
1155
1196
  switch (_context.prev = _context.next) {
1156
1197
  case 0:
1198
+ if (!(smsCode.length === 4 && error.length === 0 && (!e || (e == null ? void 0 : e.charCode) === 13))) {
1199
+ _context.next = 7;
1200
+ break;
1201
+ }
1202
+
1157
1203
  setLoading(true);
1158
- _context.next = 3;
1159
- return verifySmsCode(authId, code);
1204
+ _context.next = 4;
1205
+ return verifySmsCode({
1206
+ authRequestId: authRequestId,
1207
+ smsCode: smsCode,
1208
+ test: test
1209
+ });
1160
1210
 
1161
- case 3:
1211
+ case 4:
1162
1212
  response = _context.sent;
1163
- setLoading(false);
1164
1213
 
1165
1214
  if (response != null && (_response$data = response.data) != null && _response$data.access_token) {
1166
- window.open("https://consent.basiq.io/home?token=" + (response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : _response$data2.access_token));
1215
+ window.open("https://consent.basiq.io/home?token=" + (response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : _response$data2.access_token), "_self");
1167
1216
  }
1168
1217
 
1169
1218
  if (response != null && response.error) {
1219
+ setLoading(false);
1170
1220
  setError(t('this_code_doesnt_appear_to_be_valid'));
1171
1221
  }
1172
1222
 
@@ -1178,16 +1228,16 @@ function AuthScreen(_ref) {
1178
1228
  }, _callee);
1179
1229
  }));
1180
1230
 
1181
- return function handleCodeApply() {
1231
+ return function (_x) {
1182
1232
  return _ref2.apply(this, arguments);
1183
1233
  };
1184
- }();
1185
-
1234
+ }(), [smsCode, error, authRequestId]);
1186
1235
  var buttons = [{
1187
1236
  label: t('continue'),
1188
1237
  onClick: function onClick() {
1189
1238
  return handleCodeApply();
1190
- }
1239
+ },
1240
+ disabled: smsCode.length < 4 || !!error
1191
1241
  }];
1192
1242
 
1193
1243
  var handleResend = /*#__PURE__*/function () {
@@ -1198,14 +1248,18 @@ function AuthScreen(_ref) {
1198
1248
  switch (_context2.prev = _context2.next) {
1199
1249
  case 0:
1200
1250
  setError('');
1201
- setCode('');
1202
- setLoading(true);
1203
- _context2.next = 5;
1204
- return authUser(authId);
1251
+ setSmsCode('');
1252
+ setResend(false);
1253
+ setResendLoading(true);
1254
+ _context2.next = 6;
1255
+ return authUser({
1256
+ authRequestId: authRequestId,
1257
+ test: test
1258
+ });
1205
1259
 
1206
- case 5:
1260
+ case 6:
1207
1261
  response = _context2.sent;
1208
- setLoading(false);
1262
+ setResendLoading(false);
1209
1263
 
1210
1264
  if (response.error) {
1211
1265
  setError(t('failed_to_send_sms'));
@@ -1213,7 +1267,7 @@ function AuthScreen(_ref) {
1213
1267
  setResend(true);
1214
1268
  }
1215
1269
 
1216
- case 8:
1270
+ case 9:
1217
1271
  case "end":
1218
1272
  return _context2.stop();
1219
1273
  }
@@ -1229,7 +1283,10 @@ function AuthScreen(_ref) {
1229
1283
  var handleInput = function handleInput(e) {
1230
1284
  setError('');
1231
1285
  setResend(false);
1232
- setCode(e.target.value);
1286
+
1287
+ if (/^([0-9]+)$/.test(e.target.value) || e.target.value === '') {
1288
+ setSmsCode(e.target.value);
1289
+ }
1233
1290
  };
1234
1291
 
1235
1292
  return React__default.createElement(Page, {
@@ -1247,21 +1304,26 @@ function AuthScreen(_ref) {
1247
1304
  type: "text",
1248
1305
  maxLength: 4,
1249
1306
  onChange: handleInput,
1250
- value: code,
1251
- filled: code.length === 4,
1252
- error: !!error
1307
+ value: smsCode,
1308
+ filled: smsCode.length === 4,
1309
+ error: !!error,
1310
+ onKeyPress: function onKeyPress(e) {
1311
+ return handleCodeApply(e);
1312
+ }
1253
1313
  })), React__default.createElement(PageConnectFooterControl, null, resend && React__default.createElement(StatusMessage, null, t('new_sms_code_has_been_sent')), !!error && React__default.createElement(StatusMessage, {
1254
1314
  error: true
1255
1315
  }, error), React__default.createElement(PageConnectFooterText, null, React__default.createElement("span", null, React__default.createElement(React__default.Fragment, null, t('didnt_receive_the_code'), " ", React__default.createElement(DivAsLink, {
1316
+ disabled: resendLoading,
1256
1317
  onClick: function onClick() {
1257
- return handleResend();
1318
+ return !resendLoading && handleResend();
1258
1319
  }
1259
1320
  }, t('resend_sms')))))), React__default.createElement(LoadingModal, {
1260
1321
  isOpen: loading
1261
1322
  })));
1262
1323
  }
1263
1324
 
1264
- function App() {
1325
+ function App(props) {
1326
+ var test = props.test;
1265
1327
  var ref = React.createRef();
1266
1328
 
1267
1329
  var _useState = React.useState(false),
@@ -1300,6 +1362,11 @@ function App() {
1300
1362
  setShadow(detectScrollToBottom(event));
1301
1363
  };
1302
1364
 
1365
+ var showErrorScreen = function showErrorScreen(code) {
1366
+ setErrorCode(code);
1367
+ setCurrentScreen(3);
1368
+ };
1369
+
1303
1370
  React.useEffect(function () {
1304
1371
  var getData = /*#__PURE__*/function () {
1305
1372
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -1319,7 +1386,11 @@ function App() {
1319
1386
  setAuthId(id);
1320
1387
  setLoading(true);
1321
1388
  _context.next = 6;
1322
- return authUser(id, 'GET');
1389
+ return authUser({
1390
+ authRequestId: id,
1391
+ method: 'GET',
1392
+ test: test
1393
+ });
1323
1394
 
1324
1395
  case 6:
1325
1396
  response = _context.sent;
@@ -1364,11 +1435,6 @@ function App() {
1364
1435
  getData();
1365
1436
  }, []);
1366
1437
 
1367
- var showErrorScreen = function showErrorScreen(code) {
1368
- setErrorCode(code);
1369
- setCurrentScreen(3);
1370
- };
1371
-
1372
1438
  var getScreen = function getScreen() {
1373
1439
  switch (currentScreen) {
1374
1440
  case 0:
@@ -1387,7 +1453,8 @@ function App() {
1387
1453
  onContinue: function onContinue() {
1388
1454
  return setCurrentScreen(2);
1389
1455
  },
1390
- authId: authId
1456
+ authRequestId: authId,
1457
+ test: test
1391
1458
  });
1392
1459
 
1393
1460
  case 2:
@@ -1397,7 +1464,8 @@ function App() {
1397
1464
  return setCurrentScreen(1);
1398
1465
  },
1399
1466
  shadow: shadow,
1400
- authId: authId
1467
+ authRequestId: authId,
1468
+ test: test
1401
1469
  });
1402
1470
 
1403
1471
  case 3:
@@ -1494,10 +1562,13 @@ i18n.use(reactI18next.initReactI18next) // passes i18n down to react-i18next
1494
1562
  }
1495
1563
  });
1496
1564
 
1497
- function BasiqConnect() {
1565
+ function BasiqConnect(props) {
1566
+ var test = props.test;
1498
1567
  return React__default.createElement(React__default.StrictMode, null, React__default.createElement(styled.ThemeProvider, {
1499
1568
  theme: theme
1500
- }, React__default.createElement(App, null)));
1569
+ }, React__default.createElement(App, {
1570
+ test: test
1571
+ })));
1501
1572
  }
1502
1573
 
1503
1574
  exports.BasiqConnect = BasiqConnect;