@bytexbyte/berifyme-react-sdk 1.0.16 → 1.0.17

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.
Files changed (37) hide show
  1. package/dist/BerifymeModal/index.js +18 -10
  2. package/dist/components/AllSet/index.js +33 -37
  3. package/dist/components/Login/authid/authid.js +26 -17
  4. package/dist/components/Login/authid/index.js +1 -6
  5. package/dist/components/Login/clearAllSet.js +2 -6
  6. package/dist/components/Login/incode/Login.js +3 -3
  7. package/dist/components/Login/sumsub/index.js +5 -5
  8. package/dist/components/Login/veriff/Login.js +2 -2
  9. package/dist/components/Login/veriff/index.js +2 -2
  10. package/dist/components/Login/yoti/Login.js +6 -6
  11. package/dist/components/Login/yoti/index.js +2 -2
  12. package/dist/components/OnBoarding/authId/index.js +29 -15
  13. package/dist/components/OnBoarding/clear/clearAllSet.js +2 -6
  14. package/dist/components/OnBoarding/incode/index.js +25 -19
  15. package/dist/components/OnBoarding/sumsub/index.js +4 -4
  16. package/dist/components/OnBoarding/vender/grid/authIdGrid.js +1 -1
  17. package/dist/components/OnBoarding/vender/grid/clearGrid.js +1 -1
  18. package/dist/components/OnBoarding/vender/grid/incodeGrid.js +1 -1
  19. package/dist/components/OnBoarding/vender/grid/sumsubGrid.js +1 -1
  20. package/dist/components/OnBoarding/vender/grid/veriffGrid.js +1 -1
  21. package/dist/components/OnBoarding/vender/grid/yotiGrid.js +1 -1
  22. package/dist/components/OnBoarding/yoti/OnBoarding.js +6 -6
  23. package/dist/components/OnBoarding/yoti/index.js +2 -2
  24. package/dist/components/QrcodeExpired.js +1 -1
  25. package/dist/components/SendSns/index.js +22 -19
  26. package/dist/components/SessionInterrupted.js +1 -1
  27. package/dist/components/SomethingWrong.js +41 -0
  28. package/dist/components/VerifyWithPhoneNumber/NewUser/index.js +4 -4
  29. package/dist/components/VerifyWithPhoneNumber/User/index.js +1 -1
  30. package/dist/types/components/AllSet/index.d.ts +2 -1
  31. package/dist/types/components/Login/authid/authid.d.ts +1 -1
  32. package/dist/types/components/Login/authid/index.d.ts +1 -0
  33. package/dist/types/components/Login/clearAllSet.d.ts +1 -0
  34. package/dist/types/components/OnBoarding/clear/clearAllSet.d.ts +1 -0
  35. package/dist/types/components/OnBoarding/incode/index.d.ts +1 -0
  36. package/dist/types/components/SomethingWrong.d.ts +7 -0
  37. package/package.json +1 -1
@@ -54,7 +54,7 @@ import RedirectToMobile from '../components/RedirectToMobile';
54
54
  import ScreenRotation from '../components/ScreenRotation';
55
55
  import SendSns from '../components/SendSns';
56
56
  import theme from '../components/theme';
57
- import TryAgainInModal from '../components/TryAgainInModal';
57
+ import SomethingWrong from '../components/SomethingWrong';
58
58
  import VerifyNewUser from '../components/VerifyWithPhoneNumber/NewUser';
59
59
  import VerifyUser from '../components/VerifyWithPhoneNumber/User';
60
60
  import { getPageStatusString, PageStatus } from '../enum';
@@ -138,7 +138,7 @@ var HomeModal = function (_a) {
138
138
  });
139
139
  }
140
140
  else {
141
- setError((_a = res.error) !== null && _a !== void 0 ? _a : 'Oops! Something went wrong...');
141
+ setError((_a = res.error) !== null && _a !== void 0 ? _a : 'Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
142
142
  createDeveloperLog({
143
143
  userId: user === null || user === void 0 ? void 0 : user.id,
144
144
  userDataJson: user,
@@ -233,7 +233,10 @@ var HomeModal = function (_a) {
233
233
  setAuthIdSelectedIdType('');
234
234
  }, [error]);
235
235
  useEffect(function () {
236
- if (useQrcode) {
236
+ if (error) {
237
+ setModalHeight('58vh');
238
+ }
239
+ else if (useQrcode) {
237
240
  setModalHeight('80vh');
238
241
  }
239
242
  else if (isLandscape) {
@@ -297,7 +300,7 @@ var HomeModal = function (_a) {
297
300
  // 使用callback
298
301
  if (onUpdate)
299
302
  onUpdate({ detail: detail });
300
- }, [pageStatus, useQrcode, isLandscape]);
303
+ }, [pageStatus, useQrcode, isLandscape, error]);
301
304
  useEffect(function () {
302
305
  var checkOrientation = function () {
303
306
  setIsLandscape(window.innerWidth > window.innerHeight);
@@ -309,11 +312,16 @@ var HomeModal = function (_a) {
309
312
  window.removeEventListener('resize', checkOrientation);
310
313
  };
311
314
  }, []);
315
+ var venderErrorHandleBack = function () {
316
+ setAuthIdSelectedIdType('');
317
+ setPageStatus(PageStatus.IdOrPassport);
318
+ setError(undefined);
319
+ };
312
320
  return (React.createElement(React.Fragment, null,
313
321
  React.createElement("div", { className: 'default' },
314
322
  React.createElement(CssBaseline, null),
315
323
  React.createElement(ThemeProvider, { theme: theme },
316
- React.createElement(Modal, { height: modalHeight, border: !useQrcode }, error ? React.createElement(TryAgainInModal, { message: error }) :
324
+ React.createElement(Modal, { height: modalHeight, border: !useQrcode }, error !== undefined ? React.createElement(SomethingWrong, { message: error, venderErrorHandleBack: venderErrorHandleBack }) :
317
325
  React.createElement(React.Fragment, null, useQrcode ? React.createElement(RedirectToMobile, { token: token, environment: environment }) :
318
326
  React.createElement(React.Fragment, null, isLandscape ? React.createElement(ScreenRotation, null) :
319
327
  React.createElement(React.Fragment, null,
@@ -345,18 +353,18 @@ var HomeModal = function (_a) {
345
353
  pageStatus === PageStatus.ClearOnboarding && user &&
346
354
  React.createElement(ClearOnboarding, { token: token, user: user, desktopRedirectUrlId: desktopRedirectUrlId }),
347
355
  pageStatus === PageStatus.IncodeOnBoarding && user &&
348
- React.createElement(IncodeOnBoarding, { user: user, setUser: setUser, token: token, goToAllSet: function () { return setPageStatus(PageStatus.AllSet); } }),
356
+ React.createElement(IncodeOnBoarding, { user: user, setUser: setUser, token: token, goToAllSet: function () { return setPageStatus(PageStatus.AllSet); }, setError: setError }),
349
357
  pageStatus === PageStatus.AuthidLogin && processedPhoneNumber &&
350
- React.createElement(AuthidLogin, { token: token, goToAllSet: function () { return setPageStatus(PageStatus.AllSet); }, phoneNumber: processedPhoneNumber, setUser: setUser }),
358
+ React.createElement(AuthidLogin, { token: token, goToAllSet: function () { return setPageStatus(PageStatus.AllSet); }, phoneNumber: processedPhoneNumber, setUser: setUser, setError: setError }),
351
359
  pageStatus === PageStatus.ClearLogin &&
352
360
  React.createElement(ClearLogin, { token: token, userId: user === null || user === void 0 ? void 0 : user.id, desktopRedirectUrlId: desktopRedirectUrlId }),
353
361
  pageStatus === PageStatus.IncodeLogin &&
354
362
  React.createElement(IncodeLogin, { token: token, setError: setError, user: user, setUser: setUser, goToAllSet: function () { return setPageStatus(PageStatus.AllSet); } }),
355
363
  pageStatus === PageStatus.ClearLoginAllSet &&
356
- React.createElement(ClearLoginAllSet, { token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus }),
364
+ React.createElement(ClearLoginAllSet, { token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus, setError: setError }),
357
365
  pageStatus === PageStatus.ClearOnboardingAllSet &&
358
- React.createElement(ClearOnboardingAllSet, { token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus }),
366
+ React.createElement(ClearOnboardingAllSet, { token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus, setError: setError }),
359
367
  pageStatus === PageStatus.AllSet &&
360
- React.createElement(AllSet, { user: user, token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus })))))))));
368
+ React.createElement(AllSet, { user: user, token: token, setError: setError, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus })))))))));
361
369
  };
362
370
  export default HomeModal;
@@ -41,7 +41,6 @@ import GppGoodOutlinedIcon from '@mui/icons-material/GppGoodOutlined';
41
41
  import { useSpeedTest } from "../speedTest/SpeedProvider";
42
42
  import berifymeApi from "../../api/api";
43
43
  import { useEffect, useState } from "react";
44
- import TryAgain from "../TryAgain";
45
44
  import { v4 as uuidv4 } from 'uuid';
46
45
  import { createDeveloperLog } from "../createDeveloperLog";
47
46
  import { PageStatus } from "../../enum";
@@ -63,11 +62,10 @@ var createDeviceId = function (_a) { return __awaiter(void 0, [_a], void 0, func
63
62
  });
64
63
  }); };
65
64
  var AllSet = function (_a) {
66
- var user = _a.user, token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus;
67
- var _b = useState(''), error = _b[0], setError = _b[1];
68
- var _c = useState(), desktopStatusMessage = _c[0], setDesktopStatusMessage = _c[1];
69
- var _d = useState(true), loading = _d[0], setLoading = _d[1];
70
- var _e = useState(''), redirectUrl = _e[0], setRedirectUrl = _e[1];
65
+ var user = _a.user, token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus, setError = _a.setError;
66
+ var _b = useState(), desktopStatusMessage = _b[0], setDesktopStatusMessage = _b[1];
67
+ var _c = useState(true), loading = _c[0], setLoading = _c[1];
68
+ var _d = useState(''), redirectUrl = _d[0], setRedirectUrl = _d[1];
71
69
  var checkOldDeviceId = function () { return __awaiter(void 0, void 0, void 0, function () {
72
70
  var deviceId, deviceUser;
73
71
  return __generator(this, function (_a) {
@@ -118,10 +116,10 @@ var AllSet = function (_a) {
118
116
  return __generator(this, function (_b) {
119
117
  switch (_b.label) {
120
118
  case 0:
121
- if (!user)
122
- return [2 /*return*/];
123
- if (!token)
119
+ if (!user || !token) {
120
+ setError('');
124
121
  return [2 /*return*/];
122
+ }
125
123
  return [4 /*yield*/, berifymeApi.thirdParty.getRedirectUrl({ userId: user.id, token: token })];
126
124
  case 1:
127
125
  res = _b.sent();
@@ -133,7 +131,7 @@ var AllSet = function (_a) {
133
131
  });
134
132
  setLoading(false);
135
133
  if (!res.redirectUrl) {
136
- setError((_a = res.error) !== null && _a !== void 0 ? _a : 'Oops! Something went wrong...');
134
+ setError((_a = res.error) !== null && _a !== void 0 ? _a : 'Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
137
135
  return [2 /*return*/];
138
136
  }
139
137
  if (desktopRedirectUrlId === undefined) {
@@ -152,32 +150,30 @@ var AllSet = function (_a) {
152
150
  useEffect(function () {
153
151
  getRedirectUrl();
154
152
  }, []);
155
- return (React.createElement(React.Fragment, null, error ?
156
- React.createElement(TryAgain, { message: error }) :
157
- React.createElement(React.Fragment, null, loading ?
158
- React.createElement(Box, { sx: {
159
- display: 'flex',
160
- justifyContent: 'center',
161
- alignItems: 'center',
162
- height: '100vh',
163
- background: '#FFFFFF'
164
- } },
165
- React.createElement(CircularProgress, null)) :
166
- React.createElement(Stack, { height: 1, spacing: 4, justifyContent: 'space-between', py: 4, overflow: 'auto' },
167
- React.createElement(Stack, { spacing: 2, textAlign: 'center', alignItems: 'center' },
168
- React.createElement("img", { width: 40, height: 40, src: "https://staging.berify.me/berify.svg", alt: "berify" }),
169
- React.createElement(Typography, { variant: "h2", fontWeight: 700 },
170
- "You\u2019re Berified,",
171
- React.createElement("br", null), user === null || user === void 0 ? void 0 :
172
- user.fullName),
173
- React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "Thank you for securely verifying your identity through Berify.me \uD83C\uDF89")),
174
- desktopStatusMessage ?
175
- React.createElement(Stack, { py: 4, textAlign: 'center', alignItems: 'center' },
176
- React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, desktopStatusMessage)) :
177
- React.createElement(Stack, { spacing: 2, alignItems: 'center' },
178
- React.createElement(Button, { variant: "contained", onClick: function () { window.location.href = redirectUrl; }, sx: { minWidth: 160 } }, "Continue")),
179
- React.createElement(Stack, { direction: 'row', spacing: 2, textAlign: 'center', justifyContent: 'center', color: theme.palette.text.secondary },
180
- React.createElement(GppGoodOutlinedIcon, null),
181
- React.createElement(Typography, { variant: "body1" }, "Securely powered by Berify.me"))))));
153
+ return (React.createElement(React.Fragment, null, loading ?
154
+ React.createElement(Box, { sx: {
155
+ display: 'flex',
156
+ justifyContent: 'center',
157
+ alignItems: 'center',
158
+ height: 1,
159
+ background: '#FFFFFF'
160
+ } },
161
+ React.createElement(CircularProgress, null)) :
162
+ React.createElement(Stack, { height: 1, spacing: 4, justifyContent: 'space-between', py: 4, overflow: 'auto' },
163
+ React.createElement(Stack, { spacing: 2, textAlign: 'center', alignItems: 'center' },
164
+ React.createElement("img", { width: 40, height: 40, src: "https://idv.berify.me/berify.svg", alt: "berify" }),
165
+ React.createElement(Typography, { variant: "h2", fontWeight: 700 },
166
+ "You\u2019re Berified,",
167
+ React.createElement("br", null), user === null || user === void 0 ? void 0 :
168
+ user.fullName),
169
+ React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "Thank you for securely verifying your identity through Berify.me \uD83C\uDF89")),
170
+ desktopStatusMessage ?
171
+ React.createElement(Stack, { py: 4, textAlign: 'center', alignItems: 'center' },
172
+ React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, desktopStatusMessage)) :
173
+ React.createElement(Stack, { spacing: 2, alignItems: 'center' },
174
+ React.createElement(Button, { variant: "contained", onClick: function () { window.location.href = redirectUrl; }, sx: { minWidth: 160 } }, "Continue")),
175
+ React.createElement(Stack, { direction: 'row', spacing: 2, textAlign: 'center', justifyContent: 'center', color: theme.palette.text.secondary },
176
+ React.createElement(GppGoodOutlinedIcon, null),
177
+ React.createElement(Typography, { variant: "body1" }, "Securely powered by Berify.me")))));
182
178
  };
183
179
  export default AllSet;
@@ -45,7 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- import React from "react";
48
+ import React, { useRef } from "react";
49
49
  import AuthIDComponent from "@authid/react-component";
50
50
  import { Box, CircularProgress } from "@mui/material";
51
51
  import { useEffect, useState } from "react";
@@ -57,17 +57,15 @@ var AuthID = function (_a) {
57
57
  var phone = _a.phone, setError = _a.setError, goRedirect = _a.goRedirect, goToTryAgain = _a.goToTryAgain, setUser = _a.setUser, token = _a.token;
58
58
  var _b = useState(''), url = _b[0], setUrl = _b[1];
59
59
  var _c = useState(''), transactionId = _c[0], setTransactionId = _c[1];
60
- var _d = useState(false), loading = _d[0], setIsLoading = _d[1];
61
- var _e = useSpeedTest(), stopSpeedTest = _e.stopSpeedTest, startSpeedTest = _e.startSpeedTest;
60
+ var authIdInit = useRef(false);
61
+ var _d = useSpeedTest(), stopSpeedTest = _d.stopSpeedTest, startSpeedTest = _d.startSpeedTest;
62
62
  useEffect(function () { stopSpeedTest(); }, []);
63
63
  //第零部 準備URL
64
64
  var createLoginTransaction = function () { return __awaiter(void 0, void 0, void 0, function () {
65
65
  var tokenResult, result;
66
66
  return __generator(this, function (_a) {
67
67
  switch (_a.label) {
68
- case 0:
69
- setIsLoading(true);
70
- return [4 /*yield*/, berifymeApi.authID.getAuthIDToken()];
68
+ case 0: return [4 /*yield*/, berifymeApi.authID.getAuthIDToken()];
71
69
  case 1:
72
70
  tokenResult = _a.sent();
73
71
  localStorage.setItem('authID_token', tokenResult.token);
@@ -76,13 +74,10 @@ var AuthID = function (_a) {
76
74
  result = _a.sent();
77
75
  if (result.error) {
78
76
  setError(result.error);
79
- setIsLoading(false);
80
77
  return [2 /*return*/];
81
78
  }
82
79
  setTransactionId(result.TransactionId);
83
80
  setUrl(result.url);
84
- // setUrl(`https://id.authid.ai/?t=${result.TransactionId}&s=${result.OneTimeSecret}`);
85
- setIsLoading(false);
86
81
  return [2 /*return*/];
87
82
  }
88
83
  });
@@ -128,7 +123,7 @@ var AuthID = function (_a) {
128
123
  actionType: ActionType.LOGIN,
129
124
  userId: result.userId,
130
125
  vender: 'Berify.me',
131
- token: token,
126
+ token: token !== null && token !== void 0 ? token : 'missing token',
132
127
  transactionId: transactionId,
133
128
  isPass: true,
134
129
  });
@@ -162,7 +157,17 @@ var AuthID = function (_a) {
162
157
  useEffect(function () { createLoginTransaction(); }, []);
163
158
  useEffect(function () {
164
159
  if (url) {
160
+ // 設定一個計時器,假設 10 秒內未收到 init 事件就算失敗
161
+ setTimeout(function () {
162
+ if (!authIdInit.current) {
163
+ setError('Try again later or choose a different verification provider to proceed.');
164
+ }
165
+ }, 6000); // 6 秒超時,可以根據需求調整
165
166
  window.addEventListener('message', function (e) {
167
+ console.log('Listener message: ', e.data);
168
+ if (e.data.type === 'authid:init') {
169
+ authIdInit.current = true; // 初始化成功
170
+ }
166
171
  if (e.data.type === 'authid:page') {
167
172
  if (e.data.pageName === 'verifiedPage') {
168
173
  if (transactionId && phone)
@@ -181,16 +186,20 @@ var AuthID = function (_a) {
181
186
  console.log('remove message', e.data);
182
187
  });
183
188
  };
184
- }, [url]);
185
- return (React.createElement(React.Fragment, null, (url && !loading)
186
- ? React.createElement(AuthIDComponent, { url: url, webauth: true })
187
- : React.createElement(Box, { sx: {
189
+ }, [url, authIdInit.current]);
190
+ return (React.createElement(React.Fragment, null,
191
+ React.createElement(Box, { sx: {
188
192
  display: 'flex',
189
193
  justifyContent: 'center',
190
194
  alignItems: 'center',
191
- height: '100vh',
192
- background: '#FFFFFF'
195
+ position: 'absolute',
196
+ top: 0,
197
+ left: 0,
198
+ width: '100%',
199
+ height: '100%',
200
+ background: 'rgba(255, 255, 255, 0.8)' // 半透明背景
193
201
  } },
194
- React.createElement(CircularProgress, null))));
202
+ React.createElement(CircularProgress, null)),
203
+ url && React.createElement(AuthIDComponent, { url: url, webauth: true })));
195
204
  };
196
205
  export default AuthID;
@@ -1,12 +1,7 @@
1
1
  import React from "react";
2
- import { useState } from "react";
3
- import TryAgain from "../../TryAgain";
4
2
  import AuthID from "./authid";
5
3
  var AuthidLogin = function (_a) {
6
- var goToAllSet = _a.goToAllSet, phoneNumber = _a.phoneNumber, setUser = _a.setUser, token = _a.token;
7
- var _b = useState(), error = _b[0], setError = _b[1];
8
- if (error || !token)
9
- return (React.createElement(TryAgain, { message: error }));
4
+ var goToAllSet = _a.goToAllSet, phoneNumber = _a.phoneNumber, setUser = _a.setUser, token = _a.token, setError = _a.setError;
10
5
  return (React.createElement(React.Fragment, null,
11
6
  React.createElement(AuthID, { token: token, phone: phoneNumber, setError: setError, goRedirect: function () { goToAllSet(); }, goToTryAgain: function () { return setError('Authentication Failed, Please Try Again.'); }, setUser: setUser })));
12
7
  };
@@ -39,13 +39,11 @@ import { useEffect, useState } from "react";
39
39
  import berifymeApi, { VerificationStatus } from "../../api/api";
40
40
  import { Box, CircularProgress } from "@mui/material";
41
41
  import AllSet from "../../components/AllSet";
42
- import TryAgain from "../TryAgain";
43
42
  import { updateAuthenticationLog } from "../AuthenticationLogs";
44
43
  import { createDeveloperLog } from "../createDeveloperLog";
45
44
  var ClearLoginAllSet = function (_a) {
46
- var token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus;
45
+ var token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus, setError = _a.setError;
47
46
  var _b = useState(), user = _b[0], setUser = _b[1]; // berifyme user
48
- var _c = useState(), error = _c[0], setError = _c[1];
49
47
  var getUserBySessionId = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
50
48
  var res;
51
49
  var sessionId = _b.sessionId, token = _b.token;
@@ -85,9 +83,7 @@ var ClearLoginAllSet = function (_a) {
85
83
  return;
86
84
  getUserBySessionId({ sessionId: sessionId, token: token });
87
85
  }, [token]);
88
- if (error)
89
- return (React.createElement(TryAgain, { message: error }));
90
- return (React.createElement(React.Fragment, null, user ? React.createElement(AllSet, { user: user, token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus }) :
86
+ return (React.createElement(React.Fragment, null, user ? React.createElement(AllSet, { user: user, token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus, setError: setError }) :
91
87
  React.createElement(Box, { sx: {
92
88
  display: 'flex',
93
89
  justifyContent: 'center',
@@ -80,7 +80,7 @@ function LoginComponent(_a) {
80
80
  setError(res.error);
81
81
  }
82
82
  else {
83
- setError('Oops! Something went wrong...');
83
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
84
84
  }
85
85
  return [2 /*return*/];
86
86
  }
@@ -106,7 +106,7 @@ function LoginComponent(_a) {
106
106
  onError: function (r) {
107
107
  startSpeedTest();
108
108
  console.log('onError: ', r);
109
- setError('Oops! Something went wrong...');
109
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
110
110
  },
111
111
  stopAtError: true,
112
112
  isOneToOne: true,
@@ -116,7 +116,7 @@ function LoginComponent(_a) {
116
116
  });
117
117
  }
118
118
  else {
119
- setError('Oops! Something went wrong...');
119
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
120
120
  }
121
121
  }, [onSuccess, setError]);
122
122
  return React.createElement("div", { ref: containerRef },
@@ -39,7 +39,7 @@ import React, { useCallback, useEffect, useState } from 'react';
39
39
  import berifymeApi from '../../../api/api';
40
40
  import { delay } from '../../../common';
41
41
  import { createDeveloperLog } from '../../createDeveloperLog';
42
- import TryAgain from '../../TryAgain';
42
+ import SomethingWrong from '../../SomethingWrong';
43
43
  var OPTIONS = { addViewportTag: false, adaptIframeHeight: true };
44
44
  var SumsubLogin = function (_a) {
45
45
  var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token;
@@ -109,7 +109,7 @@ var SumsubLogin = function (_a) {
109
109
  firstDetail: 'getFaceLoginResult',
110
110
  secondDetail: faceLoginResult.error,
111
111
  });
112
- setError('Oops! Something went wrong...');
112
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
113
113
  return [2 /*return*/];
114
114
  }
115
115
  if (!faceLoginResult.isVerified) {
@@ -140,7 +140,7 @@ var SumsubLogin = function (_a) {
140
140
  firstDetail: 'getUserBySumsubId',
141
141
  secondDetail: userResponse.error,
142
142
  });
143
- setError('Oops! Something went wrong...');
143
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
144
144
  return [2 /*return*/];
145
145
  }
146
146
  setUser(userResponse.user);
@@ -192,7 +192,7 @@ var SumsubLogin = function (_a) {
192
192
  setError('Face verification failed');
193
193
  return [3 /*break*/, 5];
194
194
  case 4:
195
- setError('Oops! Something went wrong...');
195
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
196
196
  _b.label = 5;
197
197
  case 5: return [2 /*return*/];
198
198
  }
@@ -205,7 +205,7 @@ var SumsubLogin = function (_a) {
205
205
  initAccessToken();
206
206
  }, [initAccessToken]);
207
207
  if (error || !token)
208
- return (React.createElement(TryAgain, { message: error }));
208
+ return (React.createElement(SomethingWrong, { message: error }));
209
209
  return (React.createElement(React.Fragment, null, accessToken &&
210
210
  React.createElement(SumsubWebSdk, { accessToken: accessToken, expirationHandler: accessTokenExpirationHandler, options: OPTIONS, onMessage: messageHandler, onError: errorHandler })));
211
211
  };
@@ -68,7 +68,7 @@ export default function LoginComponent(_a) {
68
68
  firstDetail: 'getFaceLoginResult',
69
69
  secondDetail: faceLoginResult.error,
70
70
  });
71
- onError('Oops! Something went wrong...');
71
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
72
72
  return [2 /*return*/];
73
73
  }
74
74
  if (!faceLoginResult.isVerified) {
@@ -99,7 +99,7 @@ export default function LoginComponent(_a) {
99
99
  firstDetail: 'getUserByVeriffId',
100
100
  secondDetail: userResponse.error,
101
101
  });
102
- onError('Oops! Something went wrong...');
102
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
103
103
  return [2 /*return*/];
104
104
  }
105
105
  setUser(userResponse.user);
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import TryAgain from '../../TryAgain';
3
2
  import Login from './Login';
3
+ import SomethingWrong from '../../SomethingWrong';
4
4
  var VeriffLogin = function (_a) {
5
5
  var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onGoBack = _a.onGoBack, token = _a.token;
6
6
  var _b = useState(), error = _b[0], setError = _b[1];
@@ -8,7 +8,7 @@ var VeriffLogin = function (_a) {
8
8
  setError(error);
9
9
  }, []);
10
10
  if (error || !token)
11
- return (React.createElement(TryAgain, { message: error }));
11
+ return (React.createElement(SomethingWrong, { message: error }));
12
12
  return (React.createElement(Login, { user: user, setUser: setUser, onSuccess: onSuccess, onGoBack: onGoBack, onError: handleError, token: token }));
13
13
  };
14
14
  export default VeriffLogin;
@@ -88,7 +88,7 @@ var Login = function (_a) {
88
88
  _a.sent();
89
89
  return [3 /*break*/, 7];
90
90
  case 5:
91
- onError('Oops! Something went wrong. Please try again later.');
91
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
92
92
  return [2 /*return*/];
93
93
  case 6: return [3 /*break*/, 8];
94
94
  case 7:
@@ -122,7 +122,7 @@ var Login = function (_a) {
122
122
  firstDetail: 'getUserByYotiId',
123
123
  secondDetail: JSON.stringify(userResponse),
124
124
  });
125
- onError('Oops! Something went wrong. Please try again later.');
125
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
126
126
  return [2 /*return*/];
127
127
  }
128
128
  // cuz secondDetail is too long
@@ -140,7 +140,7 @@ var Login = function (_a) {
140
140
  return [3 /*break*/, 12];
141
141
  case 10:
142
142
  error_1 = _a.sent();
143
- onError('Oops! Something went wrong. Please try again later.');
143
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
144
144
  return [3 /*break*/, 12];
145
145
  case 11:
146
146
  setLoading(undefined);
@@ -159,7 +159,7 @@ var Login = function (_a) {
159
159
  firstDetail: 'handleError',
160
160
  secondDetail: JSON.stringify(sessionRef.current),
161
161
  });
162
- onError('Oops! Something went wrong. Please try again later.');
162
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
163
163
  }, [onError, token, user]);
164
164
  var initYoti = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
165
165
  var response, error_2;
@@ -185,14 +185,14 @@ var Login = function (_a) {
185
185
  secondDetail: JSON.stringify(response),
186
186
  });
187
187
  if ('error' in response) {
188
- onError('Oops! Something went wrong. Please try again later.');
188
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
189
189
  return [2 /*return*/];
190
190
  }
191
191
  setSession(response);
192
192
  return [3 /*break*/, 5];
193
193
  case 3:
194
194
  error_2 = _a.sent();
195
- onError('Oops! Something went wrong. Please try again later.');
195
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
196
196
  return [3 /*break*/, 5];
197
197
  case 4:
198
198
  setLoading(undefined);
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import TryAgain from '../../TryAgain';
3
2
  import Login from './Login';
3
+ import SomethingWrong from '../../SomethingWrong';
4
4
  var YotiLogin = function (_a) {
5
5
  var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, token = _a.token;
6
6
  var _b = useState(), error = _b[0], setError = _b[1];
@@ -8,7 +8,7 @@ var YotiLogin = function (_a) {
8
8
  setError(error);
9
9
  }, []);
10
10
  if (error || !token)
11
- return (React.createElement(TryAgain, { message: error }));
11
+ return (React.createElement(SomethingWrong, { message: error }));
12
12
  return (React.createElement(Login, { user: user, setUser: setUser, onSuccess: onSuccess, onError: handleError, token: token }));
13
13
  };
14
14
  export default YotiLogin;
@@ -62,6 +62,7 @@ var AuthID = function (_a) {
62
62
  var _c = useState(''), url = _c[0], setUrl = _c[1];
63
63
  var _d = useState(false), showIdOrPassport = _d[0], setShowIdOrPassport = _d[1];
64
64
  var docErrorCount = useRef(0);
65
+ var authIdInit = useRef(false);
65
66
  var stopSpeedTest = useSpeedTest().stopSpeedTest;
66
67
  useEffect(function () { stopSpeedTest(); }, []);
67
68
  //第零部 準備URL
@@ -277,9 +278,23 @@ var AuthID = function (_a) {
277
278
  if (selectedIdType !== '')
278
279
  proofUser();
279
280
  }, [selectedIdType]);
281
+ var handleClose = function () {
282
+ docErrorCount.current = 0;
283
+ setShowIdOrPassport(false);
284
+ };
280
285
  useEffect(function () {
281
286
  if (url) {
287
+ // 設定一個計時器,假設 10 秒內未收到 init 事件就算失敗
288
+ setTimeout(function () {
289
+ if (!authIdInit.current) {
290
+ setError('Try again later or choose a different verification provider to proceed.');
291
+ }
292
+ }, 6000); // 6 秒超時,可以根據需求調整
282
293
  window.addEventListener('message', function (e) {
294
+ console.log('Listener message: ', e.data);
295
+ if (e.data.type === 'authid:init') {
296
+ authIdInit.current = true; // 初始化成功
297
+ }
283
298
  if (e.data.type === 'authid:page') {
284
299
  console.log(e.data);
285
300
  if (e.data.pageName === 'verifiedPage') {
@@ -307,25 +322,24 @@ var AuthID = function (_a) {
307
322
  console.log('remove message', e.data);
308
323
  });
309
324
  };
310
- }, [url]);
325
+ }, [url, authIdInit.current]);
311
326
  useEffect(function () {
312
327
  console.log('error count: ', docErrorCount.current);
313
328
  }, [docErrorCount.current]);
314
- var handleClose = function () {
315
- docErrorCount.current = 0;
316
- setShowIdOrPassport(false);
317
- };
318
329
  return (React.createElement(React.Fragment, null,
319
- url ?
320
- React.createElement(AuthIDComponent, { url: url, webauth: true })
321
- : React.createElement(Box, { sx: {
322
- display: 'flex',
323
- justifyContent: 'center',
324
- alignItems: 'center',
325
- height: '100vh',
326
- background: '#FFFFFF'
327
- } },
328
- React.createElement(CircularProgress, null)),
330
+ React.createElement(Box, { sx: {
331
+ display: 'flex',
332
+ justifyContent: 'center',
333
+ alignItems: 'center',
334
+ position: 'absolute',
335
+ top: 0,
336
+ left: 0,
337
+ width: '100%',
338
+ height: '100%',
339
+ background: 'rgba(255, 255, 255, 0.8)' // 半透明背景
340
+ } },
341
+ React.createElement(CircularProgress, null)),
342
+ url && React.createElement(AuthIDComponent, { url: url, webauth: true }),
329
343
  showIdOrPassport &&
330
344
  React.createElement(Box, { sx: {
331
345
  position: 'fixed',
@@ -39,13 +39,11 @@ import { useEffect, useState } from "react";
39
39
  import berifymeApi, { VerificationStatus } from "../../../api/api";
40
40
  import { Box, CircularProgress } from "@mui/material";
41
41
  import AllSet from "../../AllSet";
42
- import TryAgain from "../../TryAgain";
43
42
  import { updateAuthenticationLog } from "../../AuthenticationLogs";
44
43
  import { createDeveloperLog } from "../../createDeveloperLog";
45
44
  var ClearOnboardingAllSet = function (_a) {
46
- var token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus;
45
+ var token = _a.token, desktopRedirectUrlId = _a.desktopRedirectUrlId, setPageStatus = _a.setPageStatus, setError = _a.setError;
47
46
  var _b = useState(), user = _b[0], setUser = _b[1]; // berifyme user
48
- var _c = useState(), error = _c[0], setError = _c[1];
49
47
  var approve = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
50
48
  var approveRes, res;
51
49
  var id = _b.id, sessionId = _b.sessionId, token = _b.token;
@@ -106,9 +104,7 @@ var ClearOnboardingAllSet = function (_a) {
106
104
  return;
107
105
  approve({ id: res.clearOnboardingCallbackUserId, sessionId: sessionId, token: token });
108
106
  }, [token]);
109
- if (error)
110
- return (React.createElement(TryAgain, { message: error }));
111
- return (React.createElement(React.Fragment, null, user ? React.createElement(AllSet, { user: user, token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus }) :
107
+ return (React.createElement(React.Fragment, null, user ? React.createElement(AllSet, { user: user, token: token, desktopRedirectUrlId: desktopRedirectUrlId, setPageStatus: setPageStatus, setError: setError }) :
112
108
  React.createElement(Box, { sx: {
113
109
  display: 'flex',
114
110
  justifyContent: 'center',
@@ -47,7 +47,6 @@ import { FinishOnboarding } from "./FinishOnboarding";
47
47
  import SelectType from "./SelectType";
48
48
  import { Passport } from "./Passport";
49
49
  import { Box, CircularProgress } from "@mui/material";
50
- import TryAgain from "../../TryAgain";
51
50
  import berifymeApi, { ActionType } from "../../../api/api";
52
51
  import { createAuthenticationLog, updateAuthenticationLog } from "../../AuthenticationLogs";
53
52
  import { createDeveloperLog } from "../../createDeveloperLog";
@@ -67,20 +66,18 @@ function startOnboardingSession(_a) {
67
66
  });
68
67
  }
69
68
  var IncodeOnBoarding = function (_a) {
70
- var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token;
69
+ var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token, setError = _a.setError;
71
70
  var _b = useState(0), step = _b[0], setStep = _b[1]; // Store the current step
72
- var _c = useState(""), error = _c[0], setError = _c[1];
73
- var _d = useState(null), session = _d[0], setSession = _d[1]; // Stores the Session
71
+ var _c = useState(null), session = _c[0], setSession = _c[1]; // Stores the Session
74
72
  var isLoaded = useRef(false);
75
73
  function finishIncodeOnboarding(id, token, sessionToken) {
76
74
  return __awaiter(this, void 0, void 0, function () {
77
- var incodeRes;
78
- var _a;
79
- return __generator(this, function (_b) {
80
- switch (_b.label) {
75
+ var incodeRes, returnBoolean;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
81
78
  case 0: return [4 /*yield*/, berifymeApi.incode.getIncodeFinish({ token: token })];
82
79
  case 1:
83
- _b.sent();
80
+ _a.sent();
84
81
  createDeveloperLog({
85
82
  userId: user === null || user === void 0 ? void 0 : user.id,
86
83
  userDataJson: user,
@@ -90,21 +87,24 @@ var IncodeOnBoarding = function (_a) {
90
87
  });
91
88
  return [4 /*yield*/, berifymeApi.incode.getIncodeApprove({ id: id, token: token, sessionToken: sessionToken })];
92
89
  case 2:
93
- incodeRes = _b.sent();
90
+ incodeRes = _a.sent();
94
91
  if (incodeRes.error || !incodeRes.user) {
95
- setError((_a = incodeRes.error) !== null && _a !== void 0 ? _a : '');
96
- return [2 /*return*/, false];
92
+ setError('');
93
+ returnBoolean = false;
94
+ }
95
+ else {
96
+ setUser(incodeRes.user);
97
+ returnBoolean = true;
97
98
  }
98
- setUser(incodeRes.user);
99
99
  createDeveloperLog({
100
100
  userId: user === null || user === void 0 ? void 0 : user.id,
101
101
  userDataJson: user,
102
102
  source: 'FRONTEND',
103
103
  action: 'incode getIncodeApprove',
104
104
  sessionToken: token,
105
- firstDetail: "incode user: ".concat(incodeRes.user, ", error: ").concat(incodeRes.error)
105
+ firstDetail: "incode user: ".concat(incodeRes === null || incodeRes === void 0 ? void 0 : incodeRes.user, ", error: ").concat(incodeRes === null || incodeRes === void 0 ? void 0 : incodeRes.error)
106
106
  });
107
- return [2 /*return*/, true];
107
+ return [2 /*return*/, returnBoolean];
108
108
  }
109
109
  });
110
110
  });
@@ -189,7 +189,7 @@ var IncodeOnBoarding = function (_a) {
189
189
  });
190
190
  }
191
191
  else
192
- setError('Please try again.');
192
+ setError('');
193
193
  _a.label = 2;
194
194
  case 2: return [2 /*return*/];
195
195
  }
@@ -197,10 +197,16 @@ var IncodeOnBoarding = function (_a) {
197
197
  });
198
198
  }
199
199
  function handleError(e) {
200
- setError(e.type);
200
+ createDeveloperLog({
201
+ userId: user === null || user === void 0 ? void 0 : user.id,
202
+ userDataJson: user,
203
+ source: 'FRONTEND',
204
+ action: 'incode handleError',
205
+ sessionToken: token,
206
+ firstDetail: "error: ".concat(e.type)
207
+ });
208
+ setError('');
201
209
  }
202
- if (error)
203
- return (React.createElement(TryAgain, { message: "Authentication Failed, Please Try Again." }));
204
210
  if (!session)
205
211
  return (React.createElement(Box, { sx: {
206
212
  display: 'flex',
@@ -39,7 +39,7 @@ import React, { useCallback, useEffect, useState } from 'react';
39
39
  import berifymeApi from '../../../api/api';
40
40
  import { delay } from '../../../common';
41
41
  import { createDeveloperLog } from '../../createDeveloperLog';
42
- import TryAgain from '../../TryAgain';
42
+ import SomethingWrong from '../../SomethingWrong';
43
43
  var RETRY_INTERVAL = 1000 * 5;
44
44
  var SumsubOnBoarding = function (_a) {
45
45
  var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token;
@@ -111,7 +111,7 @@ var SumsubOnBoarding = function (_a) {
111
111
  _a.sent();
112
112
  return [3 /*break*/, 6];
113
113
  case 4:
114
- setError('Oops! Something went wrong. Please try again later.');
114
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
115
115
  return [2 /*return*/];
116
116
  case 5:
117
117
  if (approveResponse.sumsubId)
@@ -133,7 +133,7 @@ var SumsubOnBoarding = function (_a) {
133
133
  secondDetail: JSON.stringify(userResponse),
134
134
  });
135
135
  if ('error' in userResponse) {
136
- setError('Oops! Something went wrong. Please try again later.');
136
+ setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
137
137
  return [2 /*return*/];
138
138
  }
139
139
  setUser(userResponse.user);
@@ -176,7 +176,7 @@ var SumsubOnBoarding = function (_a) {
176
176
  initAccessToken();
177
177
  }, [initAccessToken]);
178
178
  if (error || !token)
179
- return (React.createElement(TryAgain, { message: error }));
179
+ return (React.createElement(SomethingWrong, { message: error }));
180
180
  return (React.createElement(React.Fragment, null, accessToken &&
181
181
  React.createElement(SumsubWebSdk, { accessToken: accessToken, expirationHandler: accessTokenExpirationHandler, options: { addViewportTag: false, adaptIframeHeight: true }, config: { theme: 'light' }, onMessage: messageHandler, onError: errorHandler })));
182
182
  };
@@ -87,7 +87,7 @@ var AuthIdGrid = function (_a) {
87
87
  });
88
88
  }); } },
89
89
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
90
- React.createElement("img", { width: 36, height: 36, src: "https://staging.berify.me/berify-title.webp", alt: "berify-title.webp" }),
90
+ React.createElement("img", { width: 36, height: 36, src: "https://idv.berify.me/berify-title.webp", alt: "berify-title.webp" }),
91
91
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "Berify.me"),
92
92
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 26s completion"))))));
93
93
  };
@@ -7,7 +7,7 @@ var ClearGrid = function (_a) {
7
7
  React.createElement(Grid, { item: true, xs: 6 },
8
8
  React.createElement(Button, { fullWidth: true, onClick: function () { setPageStatus(2.1); } },
9
9
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
10
- React.createElement("img", { width: 36, height: 36, src: "https://staging.berify.me/clearme.svg", alt: "clearme.svg" }),
10
+ React.createElement("img", { width: 36, height: 36, src: "https://idv.berify.me/clearme.svg", alt: "clearme.svg" }),
11
11
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "CLEAR"),
12
12
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 60s completion"))))));
13
13
  };
@@ -7,7 +7,7 @@ var IncodeGrid = function (_a) {
7
7
  React.createElement(Grid, { item: true, xs: 6 },
8
8
  React.createElement(Button, { fullWidth: true, onClick: function () { setPageStatus(2.2); } },
9
9
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
10
- React.createElement("img", { width: 36, height: 36, src: "https://staging.berify.me/incode.svg", alt: "incode.svg" }),
10
+ React.createElement("img", { width: 36, height: 36, src: "https://idv.berify.me/incode.svg", alt: "incode.svg" }),
11
11
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "Incode"),
12
12
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 30s completion"))))));
13
13
  };
@@ -7,7 +7,7 @@ var SumsubGrid = function (_a) {
7
7
  React.createElement(Grid, { item: true, xs: 6 },
8
8
  React.createElement(Button, { fullWidth: true, onClick: function () { setPageStatus(2.3); } },
9
9
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
10
- React.createElement("img", { width: 28, height: 28, src: "/sumsub.svg", alt: "scan" }),
10
+ React.createElement("img", { width: 28, height: 28, src: "https://idv.berify.me/sumsub.svg", alt: "scan" }),
11
11
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "Sumsub"),
12
12
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 30s completion"))))));
13
13
  };
@@ -7,7 +7,7 @@ var VeriffGrid = function (_a) {
7
7
  React.createElement(Grid, { item: true, xs: 6 },
8
8
  React.createElement(Button, { fullWidth: true, onClick: function () { setPageStatus(2.4); } },
9
9
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
10
- React.createElement("img", { width: 28, height: 28, src: "/veriff.svg", alt: "scan" }),
10
+ React.createElement("img", { width: 28, height: 28, src: "https://idv.berify.me/veriff.svg", alt: "scan" }),
11
11
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "Veriff"),
12
12
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 30s completion"))))));
13
13
  };
@@ -7,7 +7,7 @@ var YotiGrid = function (_a) {
7
7
  React.createElement(Grid, { item: true, xs: 6 },
8
8
  React.createElement(Button, { fullWidth: true, onClick: function () { setPageStatus(2.5); } },
9
9
  React.createElement(Stack, { width: 1, spacing: 1, px: 2, py: 2, bgcolor: theme.palette.grey[100], borderRadius: 6, alignItems: 'center' },
10
- React.createElement("img", { width: 28, height: 28, src: "/yoti.svg", alt: "scan" }),
10
+ React.createElement("img", { width: 28, height: 28, src: "https://idv.berify.me/yoti.svg", alt: "scan" }),
11
11
  React.createElement(Typography, { variant: 'h5', fontWeight: 700, color: 'black' }, "Yoti"),
12
12
  React.createElement(Typography, { variant: 'body2', color: theme.palette.info.light, fontStyle: 'italic' }, "avg. 30s completion"))))));
13
13
  };
@@ -86,7 +86,7 @@ var OnBoarding = function (_a) {
86
86
  _a.sent();
87
87
  return [3 /*break*/, 7];
88
88
  case 5:
89
- onError('Oops! Something went wrong. Please try again later.');
89
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
90
90
  return [2 /*return*/];
91
91
  case 6:
92
92
  if (approveResponse.yotiId)
@@ -108,7 +108,7 @@ var OnBoarding = function (_a) {
108
108
  firstDetail: 'getUserByYotiId',
109
109
  secondDetail: JSON.stringify(userResponse),
110
110
  });
111
- onError('Oops! Something went wrong. Please try again later.');
111
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
112
112
  return [2 /*return*/];
113
113
  }
114
114
  // cuz secondDetail is too long
@@ -126,7 +126,7 @@ var OnBoarding = function (_a) {
126
126
  return [3 /*break*/, 12];
127
127
  case 10:
128
128
  error_1 = _a.sent();
129
- onError('Oops! Something went wrong. Please try again later.');
129
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
130
130
  return [3 /*break*/, 12];
131
131
  case 11:
132
132
  setLoading(undefined);
@@ -150,7 +150,7 @@ var OnBoarding = function (_a) {
150
150
  onGoBack();
151
151
  break;
152
152
  default:
153
- onError('Oops! Something went wrong. Please try again later.');
153
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
154
154
  break;
155
155
  }
156
156
  }, [onError, onGoBack, token, user]);
@@ -178,14 +178,14 @@ var OnBoarding = function (_a) {
178
178
  secondDetail: JSON.stringify(response),
179
179
  });
180
180
  if ('error' in response) {
181
- onError('Oops! Something went wrong. Please try again later.');
181
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
182
182
  return [2 /*return*/];
183
183
  }
184
184
  setSession(response);
185
185
  return [3 /*break*/, 5];
186
186
  case 3:
187
187
  error_2 = _a.sent();
188
- onError('Oops! Something went wrong. Please try again later.');
188
+ onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
189
189
  return [3 /*break*/, 5];
190
190
  case 4:
191
191
  setLoading(undefined);
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import TryAgain from '../../TryAgain';
3
2
  import OnBoarding from './OnBoarding';
3
+ import SomethingWrong from '../../SomethingWrong';
4
4
  var YotiOnBoarding = function (_a) {
5
5
  var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onGoBack = _a.onGoBack, token = _a.token;
6
6
  var _b = useState(), error = _b[0], setError = _b[1];
@@ -8,7 +8,7 @@ var YotiOnBoarding = function (_a) {
8
8
  setError(error);
9
9
  }, []);
10
10
  if (error || !token)
11
- return (React.createElement(TryAgain, { message: error }));
11
+ return (React.createElement(SomethingWrong, { message: error }));
12
12
  return (React.createElement(OnBoarding, { user: user, setUser: setUser, onSuccess: onSuccess, onError: handleError, onGoBack: onGoBack, token: token }));
13
13
  };
14
14
  export default YotiOnBoarding;
@@ -6,7 +6,7 @@ var QrcodeExpired = function () {
6
6
  return (React.createElement(React.Fragment, null,
7
7
  React.createElement(Stack, { height: 1, spacing: 4, justifyContent: 'space-between', py: 4, overflow: 'auto' },
8
8
  React.createElement(Stack, { spacing: 2, textAlign: 'center', alignItems: 'center' },
9
- React.createElement("img", { width: 60, height: 60, src: "https://staging.berify.me/errorIcon.png", alt: "berify" }),
9
+ React.createElement("img", { width: 60, height: 60, src: "https://idv.berify.me/errorIcon.png", alt: "berify" }),
10
10
  React.createElement(Typography, { variant: "h2", fontWeight: 700 }, "QR Code Expired"),
11
11
  React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "The QR code is only active for 5 minutes."),
12
12
  React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "Return to the original sign up window to request for a new QR code.")),
@@ -42,6 +42,7 @@ import { useState } from 'react';
42
42
  import PhoneInput from 'react-phone-input-2';
43
43
  import './style.css';
44
44
  import berifymeApi, { ActionType } from '../../api/api';
45
+ import { PageStatus } from '../../enum';
45
46
  import theme from "../theme";
46
47
  import { createAuthenticationLog } from '../AuthenticationLogs';
47
48
  import { createDeveloperLog } from '../createDeveloperLog';
@@ -93,7 +94,7 @@ var SendSns = function (_a) {
93
94
  case 1:
94
95
  getVender = _f.sent();
95
96
  if (getVender.error) {
96
- setError((_a = getVender.error) !== null && _a !== void 0 ? _a : 'Oops! Something went wrong...');
97
+ setError((_a = getVender.error) !== null && _a !== void 0 ? _a : 'Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
97
98
  setIsLoading(false);
98
99
  createDeveloperLog({
99
100
  source: 'FRONTEND',
@@ -161,7 +162,7 @@ var SendSns = function (_a) {
161
162
  });
162
163
  setUser(deviceUser.user);
163
164
  setModalHeight('60vh');
164
- setPageStatus(10);
165
+ setPageStatus(PageStatus.AllSet);
165
166
  setIsLoading(false);
166
167
  createDeveloperLog({
167
168
  userId: webauthnLogin.user.id,
@@ -202,30 +203,33 @@ var SendSns = function (_a) {
202
203
  // }
203
204
  // }
204
205
  if (getVender.vender === 'authid') {
205
- setLogin(3);
206
+ setLogin(PageStatus.AuthidLogin);
206
207
  setModalHeight('50vh');
207
208
  setFullName(getVender.fullName);
208
209
  }
209
210
  else if (getVender.vender === 'clear') {
210
- setLogin(4);
211
+ setLogin(PageStatus.ClearLogin);
211
212
  setModalHeight('50vh');
212
213
  setFullName(getVender.fullName);
213
214
  }
214
215
  else if (getVender.vender === 'incode') {
215
- setLogin(5);
216
- setModalHeight('50vh');
217
- setFullName(getVender.fullName);
218
- }
219
- else if (getVender.vender === 'sumsub') {
220
- setLogin(8);
221
- setModalHeight('50vh');
222
- setFullName(getVender.fullName);
223
- }
224
- else if (getVender.vender === 'veriff') {
225
- setLogin(9);
216
+ setLogin(PageStatus.IncodeLogin);
226
217
  setModalHeight('50vh');
227
218
  setFullName(getVender.fullName);
228
219
  }
220
+ // else if (getVender.vender === 'sumsub') {
221
+ // setLogin(PageStatus.SumsubLogin);
222
+ // setModalHeight('50vh');
223
+ // setFullName(getVender.fullName);
224
+ // } else if (getVender.vender === 'veriff') {
225
+ // setLogin(PageStatus.VeriffLogin);
226
+ // setModalHeight('50vh');
227
+ // setFullName(getVender.fullName);
228
+ // } else if (getVender.vender === 'yoti') {
229
+ // setLogin(PageStatus.YotiLogin);
230
+ // setModalHeight('50vh');
231
+ // setFullName(getVender.fullName);
232
+ // }
229
233
  else {
230
234
  setPageStatus(1.1);
231
235
  // const res = await berifymeApi.auth.sendPhoneNumberCode({phoneNumber: processedInputValue, token});
@@ -312,10 +316,9 @@ var SendSns = function (_a) {
312
316
  React.createElement(Stack, { height: 1, spacing: 4, justifyContent: 'space-between', py: 8 },
313
317
  React.createElement(Stack, { spacing: 2, textAlign: 'center', alignItems: 'center' },
314
318
  React.createElement(Typography, { variant: "h1" }, "\uD83D\uDC4B"),
315
- React.createElement(Typography, { variant: "h2", fontWeight: 700 },
316
- "Welcome back,",
317
- React.createElement("br", null)),
318
- React.createElement(Typography, { variant: "h2", fontWeight: 700 }, fullName),
319
+ React.createElement(Stack, null,
320
+ React.createElement(Typography, { variant: "h2", fontWeight: 700 }, "Welcome back,"),
321
+ React.createElement(Typography, { variant: "h2", fontWeight: 700 }, fullName)),
319
322
  React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "Take a selfie to verify your identity.")),
320
323
  React.createElement(Stack, { alignItems: 'center' },
321
324
  React.createElement(Button, { variant: "contained", onClick: function () { setPageStatus(login); }, sx: { minWidth: 160 } }, "Take my selfie")),
@@ -6,7 +6,7 @@ var SessionInterrupted = function () {
6
6
  return (React.createElement(React.Fragment, null,
7
7
  React.createElement(Stack, { height: 1, spacing: 4, justifyContent: 'space-between', py: 4, overflow: 'auto' },
8
8
  React.createElement(Stack, { spacing: 2, textAlign: 'center', alignItems: 'center' },
9
- React.createElement("img", { width: 60, height: 60, src: "https://staging.berify.me/warningIcon.png", alt: "berify" }),
9
+ React.createElement("img", { width: 60, height: 60, src: "https://idv.berify.me/warningIcon.png", alt: "berify" }),
10
10
  React.createElement(Typography, { variant: "h2", fontWeight: 700 }, "Session Interrupted"),
11
11
  React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "The sign-up window on your desktop browser was closed."),
12
12
  React.createElement(Typography, { variant: "body1", color: theme.palette.text.secondary }, "Please restart the process on your desktop browser to try again.")),
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { Button, Stack, Typography, IconButton } from '@mui/material';
3
+ import ArrowBackIcon from '@mui/icons-material/ArrowBack';
4
+ import Footer from './Footer';
5
+ import { useEffect, useState } from 'react';
6
+ var SomethingWrong = function (_a) {
7
+ var message = _a.message, pressButton = _a.pressButton, venderErrorHandleBack = _a.venderErrorHandleBack;
8
+ var _b = useState(false), isVenderError = _b[0], setIsVenderError = _b[1];
9
+ var handleContinue = function () {
10
+ if (pressButton)
11
+ pressButton();
12
+ else
13
+ window.location.reload();
14
+ };
15
+ useEffect(function () {
16
+ if (message === 'Try again later or choose a different verification provider to proceed.') {
17
+ setIsVenderError(true);
18
+ }
19
+ }, [message]);
20
+ return (React.createElement(Stack, { height: 1, width: 1 },
21
+ isVenderError && (React.createElement(Stack, { width: 1, alignItems: "flex-start", pl: 2, pt: 2 },
22
+ React.createElement(IconButton, { onClick: venderErrorHandleBack },
23
+ React.createElement(ArrowBackIcon, { fontSize: 'large', color: 'primary' })))),
24
+ React.createElement(Stack, { pt: isVenderError ? 0 : 2, height: 1, width: 1, justifyContent: 'space-between', alignItems: 'center' },
25
+ React.createElement(Stack, { spacing: 4 },
26
+ React.createElement(Typography, { variant: "h1", fontWeight: 700, textAlign: "center", sx: { fontSize: { xs: '3.8rem', sm: '4rem' }, lineHeight: 1.2 } }, ':-('),
27
+ React.createElement(Typography, { variant: "h2", fontWeight: 700, textAlign: "center" }, "Oops!"),
28
+ isVenderError &&
29
+ React.createElement(Typography, { variant: "body1", color: "text.secondary", textAlign: "center" }, "Something went wrong."),
30
+ message !== undefined && React.createElement(Typography, { variant: "body1", color: "text.secondary", textAlign: "center" }, message ? message : 'Something went wrong, but we’re working on it. Please try again later or contact support for assistance.')),
31
+ React.createElement(Stack, { spacing: 2, pb: 0, alignItems: 'center' },
32
+ React.createElement(Button, { variant: "contained", color: "primary", onClick: isVenderError ? venderErrorHandleBack : handleContinue, sx: {
33
+ bgcolor: 'black',
34
+ color: 'white',
35
+ borderRadius: '25px',
36
+ py: 1.5,
37
+ width: '120px'
38
+ } }, isVenderError ? 'Go back' : 'Try again'),
39
+ React.createElement(Footer, null)))));
40
+ };
41
+ export default SomethingWrong;
@@ -35,12 +35,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import React from "react";
38
+ import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded';
39
+ import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
38
40
  import { Box, CircularProgress, IconButton, Input, Stack, Typography } from "@mui/material";
39
- import theme from "../../theme";
40
41
  import { useEffect, useState } from "react";
41
42
  import berifymeApi from "../../../api/api";
42
- import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded';
43
- import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
43
+ import theme from "../../theme";
44
44
  import Footer from "../../Footer";
45
45
  import webauthn from "../../../lib/webauthb";
46
46
  import { environmentDomains } from "../../../lib/environmentDomains";
@@ -118,7 +118,7 @@ var VerifyNewUser = function (_a) {
118
118
  }
119
119
  if (!res.user) {
120
120
  setLoading(false);
121
- setErrorMessage('Oops! Something went wrong...');
121
+ setErrorMessage('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
122
122
  return [2 /*return*/];
123
123
  }
124
124
  setErrorMessage('');
@@ -190,7 +190,7 @@ var VerifyUser = function (_a) {
190
190
  case 5:
191
191
  getVender = _m.sent();
192
192
  if (getVender.error) {
193
- setError((_e = getVender.error) !== null && _e !== void 0 ? _e : 'Oops! Something went wrong...');
193
+ setError((_e = getVender.error) !== null && _e !== void 0 ? _e : 'Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
194
194
  setLoading(false);
195
195
  createDeveloperLog({
196
196
  userId: (_f = res.user) === null || _f === void 0 ? void 0 : _f.id,
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import { User } from "../../api/api";
3
- declare const AllSet: ({ user, token, desktopRedirectUrlId, setPageStatus }: {
3
+ declare const AllSet: ({ user, token, desktopRedirectUrlId, setPageStatus, setError, }: {
4
4
  user: User | undefined;
5
5
  token: string | undefined;
6
6
  desktopRedirectUrlId?: string;
7
7
  setPageStatus: React.Dispatch<React.SetStateAction<number>>;
8
+ setError: React.Dispatch<React.SetStateAction<string | undefined>>;
8
9
  }) => React.JSX.Element;
9
10
  export default AllSet;
@@ -6,6 +6,6 @@ declare const AuthID: ({ phone, setError, goRedirect, goToTryAgain, setUser, tok
6
6
  goRedirect: () => void;
7
7
  goToTryAgain: () => void;
8
8
  setUser: React.Dispatch<React.SetStateAction<UserWithAgeAndFullName | undefined>>;
9
- token: string;
9
+ token?: string;
10
10
  }) => React.JSX.Element;
11
11
  export default AuthID;
@@ -5,5 +5,6 @@ declare const AuthidLogin: React.FC<{
5
5
  phoneNumber: string;
6
6
  setUser: React.Dispatch<React.SetStateAction<UserWithAgeAndFullName | undefined>>;
7
7
  token?: string;
8
+ setError: React.Dispatch<React.SetStateAction<string | undefined>>;
8
9
  }>;
9
10
  export { AuthidLogin };
@@ -3,5 +3,6 @@ declare const ClearLoginAllSet: React.FC<{
3
3
  token?: string;
4
4
  desktopRedirectUrlId?: string;
5
5
  setPageStatus: React.Dispatch<React.SetStateAction<number>>;
6
+ setError: React.Dispatch<React.SetStateAction<string | undefined>>;
6
7
  }>;
7
8
  export { ClearLoginAllSet };
@@ -3,5 +3,6 @@ declare const ClearOnboardingAllSet: React.FC<{
3
3
  token?: string;
4
4
  desktopRedirectUrlId?: string;
5
5
  setPageStatus: React.Dispatch<React.SetStateAction<number>>;
6
+ setError: React.Dispatch<React.SetStateAction<string | undefined>>;
6
7
  }>;
7
8
  export { ClearOnboardingAllSet };
@@ -5,5 +5,6 @@ declare const IncodeOnBoarding: React.FC<{
5
5
  setUser: React.Dispatch<React.SetStateAction<UserWithAgeAndFullName | undefined>>;
6
6
  goToAllSet: () => void;
7
7
  token?: string;
8
+ setError: React.Dispatch<React.SetStateAction<string | undefined>>;
8
9
  }>;
9
10
  export { IncodeOnBoarding };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare const SomethingWrong: ({ message, pressButton, venderErrorHandleBack, }: {
3
+ message?: string;
4
+ pressButton?: () => void;
5
+ venderErrorHandleBack?: () => void;
6
+ }) => React.JSX.Element;
7
+ export default SomethingWrong;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytexbyte/berifyme-react-sdk",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",