@reown/appkit-react-native 0.0.0-feat-multi-social-20250630195637 → 0.0.0-feat-multi-social-20250701185040

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 (62) hide show
  1. package/lib/commonjs/AppKit.js +14 -6
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/connectors/WalletConnectConnector.js +6 -0
  4. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  5. package/lib/commonjs/modal/w3m-router/index.js +0 -6
  6. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  7. package/lib/commonjs/partials/w3m-header/index.js +0 -2
  8. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  9. package/lib/commonjs/views/w3m-connect-view/components/social-login-list.js +14 -7
  10. package/lib/commonjs/views/w3m-connect-view/components/social-login-list.js.map +1 -1
  11. package/lib/commonjs/views/w3m-connecting-view/index.js +0 -13
  12. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  13. package/lib/module/AppKit.js +14 -6
  14. package/lib/module/AppKit.js.map +1 -1
  15. package/lib/module/connectors/WalletConnectConnector.js +6 -0
  16. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  17. package/lib/module/modal/w3m-router/index.js +0 -6
  18. package/lib/module/modal/w3m-router/index.js.map +1 -1
  19. package/lib/module/partials/w3m-header/index.js +0 -2
  20. package/lib/module/partials/w3m-header/index.js.map +1 -1
  21. package/lib/module/views/w3m-connect-view/components/social-login-list.js +14 -7
  22. package/lib/module/views/w3m-connect-view/components/social-login-list.js.map +1 -1
  23. package/lib/module/views/w3m-connecting-view/index.js +1 -14
  24. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  25. package/lib/typescript/AppKit.d.ts +1 -1
  26. package/lib/typescript/AppKit.d.ts.map +1 -1
  27. package/lib/typescript/connectors/WalletConnectConnector.d.ts +2 -1
  28. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  29. package/lib/typescript/hooks/useAppKitEvents.d.ts +0 -9
  30. package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
  31. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  32. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  33. package/lib/typescript/views/w3m-connect-view/components/social-login-list.d.ts.map +1 -1
  34. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  35. package/package.json +5 -5
  36. package/src/AppKit.ts +23 -9
  37. package/src/connectors/WalletConnectConnector.ts +11 -2
  38. package/src/modal/w3m-router/index.tsx +0 -6
  39. package/src/partials/w3m-header/index.tsx +0 -2
  40. package/src/views/w3m-connect-view/components/social-login-list.tsx +13 -5
  41. package/src/views/w3m-connecting-view/index.tsx +1 -19
  42. package/lib/commonjs/views/w3m-email-verify-device-view/index.js +0 -106
  43. package/lib/commonjs/views/w3m-email-verify-device-view/index.js.map +0 -1
  44. package/lib/commonjs/views/w3m-email-verify-device-view/styles.js +0 -25
  45. package/lib/commonjs/views/w3m-email-verify-device-view/styles.js.map +0 -1
  46. package/lib/commonjs/views/w3m-email-verify-otp-view/index.js +0 -86
  47. package/lib/commonjs/views/w3m-email-verify-otp-view/index.js.map +0 -1
  48. package/lib/module/views/w3m-email-verify-device-view/index.js +0 -99
  49. package/lib/module/views/w3m-email-verify-device-view/index.js.map +0 -1
  50. package/lib/module/views/w3m-email-verify-device-view/styles.js +0 -19
  51. package/lib/module/views/w3m-email-verify-device-view/styles.js.map +0 -1
  52. package/lib/module/views/w3m-email-verify-otp-view/index.js +0 -79
  53. package/lib/module/views/w3m-email-verify-otp-view/index.js.map +0 -1
  54. package/lib/typescript/views/w3m-email-verify-device-view/index.d.ts +0 -2
  55. package/lib/typescript/views/w3m-email-verify-device-view/index.d.ts.map +0 -1
  56. package/lib/typescript/views/w3m-email-verify-device-view/styles.d.ts +0 -18
  57. package/lib/typescript/views/w3m-email-verify-device-view/styles.d.ts.map +0 -1
  58. package/lib/typescript/views/w3m-email-verify-otp-view/index.d.ts +0 -2
  59. package/lib/typescript/views/w3m-email-verify-otp-view/index.d.ts.map +0 -1
  60. package/src/views/w3m-email-verify-device-view/index.tsx +0 -80
  61. package/src/views/w3m-email-verify-device-view/styles.ts +0 -19
  62. package/src/views/w3m-email-verify-otp-view/index.tsx +0 -75
@@ -1,106 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EmailVerifyDeviceView = EmailVerifyDeviceView;
7
- var _valtio = require("valtio");
8
- var _reactNative = require("react-native");
9
- var _react = require("react");
10
- var _appkitUiReactNative = require("@reown/appkit-ui-react-native");
11
- var _appkitCoreReactNative = require("@reown/appkit-core-react-native");
12
- var _useTimeout = _interopRequireDefault(require("../../hooks/useTimeout"));
13
- var _styles = _interopRequireDefault(require("./styles"));
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function EmailVerifyDeviceView() {
16
- const Theme = (0, _appkitUiReactNative.useTheme)();
17
- const {
18
- connectors
19
- } = (0, _valtio.useSnapshot)(_appkitCoreReactNative.ConnectorController.state);
20
- const {
21
- data
22
- } = _appkitCoreReactNative.RouterController.state;
23
- const {
24
- timeLeft,
25
- startTimer
26
- } = (0, _useTimeout.default)(0);
27
- const [loading, setLoading] = (0, _react.useState)(false);
28
- const authProvider = connectors.find(c => c.type === 'AUTH')?.provider;
29
- const listenForDeviceApproval = async () => {
30
- if (authProvider && data?.email) {
31
- try {
32
- await authProvider.connectDevice();
33
- _appkitCoreReactNative.EventsController.sendEvent({
34
- type: 'track',
35
- event: 'DEVICE_REGISTERED_FOR_EMAIL'
36
- });
37
- _appkitCoreReactNative.EventsController.sendEvent({
38
- type: 'track',
39
- event: 'EMAIL_VERIFICATION_CODE_SENT'
40
- });
41
- _appkitCoreReactNative.RouterController.replace('EmailVerifyOtp', {
42
- email: data.email
43
- });
44
- } catch (error) {
45
- _appkitCoreReactNative.RouterController.goBack();
46
- }
47
- }
48
- };
49
- const onResendEmail = async () => {
50
- try {
51
- if (!data?.email || !authProvider) return;
52
- setLoading(true);
53
- authProvider?.connectEmail({
54
- email: data.email
55
- });
56
- listenForDeviceApproval();
57
- _appkitCoreReactNative.SnackController.showSuccess('Link resent');
58
- startTimer(30);
59
- setLoading(false);
60
- } catch (e) {
61
- const parsedError = _appkitCoreReactNative.CoreHelperUtil.parseError(e);
62
- _appkitCoreReactNative.SnackController.showError(parsedError);
63
- }
64
- };
65
- (0, _react.useEffect)(() => {
66
- listenForDeviceApproval();
67
- // eslint-disable-next-line react-hooks/exhaustive-deps
68
- }, []);
69
- return /*#__PURE__*/React.createElement(_appkitUiReactNative.FlexView, {
70
- alignItems: "center",
71
- padding: ['0', '4xl', '3xl', '4xl']
72
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
73
- style: [_styles.default.iconContainer, {
74
- backgroundColor: Theme['accent-glass-010']
75
- }]
76
- }, /*#__PURE__*/React.createElement(_appkitUiReactNative.Icon, {
77
- name: "verify",
78
- size: "lg",
79
- height: 28,
80
- width: 28,
81
- color: "accent-100"
82
- })), /*#__PURE__*/React.createElement(_appkitUiReactNative.Text, {
83
- center: true,
84
- variant: "medium-600",
85
- style: _styles.default.headingText
86
- }, "Register this device to continue"), /*#__PURE__*/React.createElement(_appkitUiReactNative.Text, {
87
- center: true,
88
- variant: "paragraph-400"
89
- }, "Check the instructions sent to", ' '), /*#__PURE__*/React.createElement(_appkitUiReactNative.Text, {
90
- variant: "paragraph-500"
91
- }, data?.email ?? 'your email'), /*#__PURE__*/React.createElement(_appkitUiReactNative.Text, {
92
- variant: "small-400",
93
- color: "fg-200",
94
- style: _styles.default.expiryText
95
- }, "The link expires in 20 minutes"), /*#__PURE__*/React.createElement(_appkitUiReactNative.FlexView, {
96
- alignItems: "center",
97
- justifyContent: "center",
98
- flexDirection: "row"
99
- }, /*#__PURE__*/React.createElement(_appkitUiReactNative.Text, {
100
- variant: "small-400"
101
- }, "Didn't receive it?"), /*#__PURE__*/React.createElement(_appkitUiReactNative.Link, {
102
- onPress: onResendEmail,
103
- disabled: timeLeft > 0 || loading
104
- }, timeLeft > 0 ? `Resend in ${timeLeft}s` : 'Resend link')));
105
- }
106
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_valtio","require","_reactNative","_react","_appkitUiReactNative","_appkitCoreReactNative","_useTimeout","_interopRequireDefault","_styles","e","__esModule","default","EmailVerifyDeviceView","Theme","useTheme","connectors","useSnapshot","ConnectorController","state","data","RouterController","timeLeft","startTimer","useTimeout","loading","setLoading","useState","authProvider","find","c","type","provider","listenForDeviceApproval","email","connectDevice","EventsController","sendEvent","event","replace","error","goBack","onResendEmail","connectEmail","SnackController","showSuccess","parsedError","CoreHelperUtil","parseError","showError","useEffect","React","createElement","FlexView","alignItems","padding","View","style","styles","iconContainer","backgroundColor","Icon","name","size","height","width","color","Text","center","variant","headingText","expiryText","justifyContent","flexDirection","Link","onPress","disabled"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-device-view/index.tsx"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _appkitUiReactNative = require("@reown/appkit-ui-react-native");
8
- var _reactNative = require("react-native");
9
- var _default = exports.default = _reactNative.StyleSheet.create({
10
- iconContainer: {
11
- height: 64,
12
- width: 64,
13
- justifyContent: 'center',
14
- alignItems: 'center',
15
- borderRadius: _appkitUiReactNative.Spacing.xl,
16
- marginBottom: _appkitUiReactNative.Spacing['2xl']
17
- },
18
- headingText: {
19
- marginBottom: _appkitUiReactNative.Spacing.s
20
- },
21
- expiryText: {
22
- marginVertical: _appkitUiReactNative.Spacing.l
23
- }
24
- });
25
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_appkitUiReactNative","require","_reactNative","_default","exports","default","StyleSheet","create","iconContainer","height","width","justifyContent","alignItems","borderRadius","Spacing","xl","marginBottom","headingText","s","expiryText","marginVertical","l"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-device-view/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0C,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE3BC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,aAAa,EAAE;IACbC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACTC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAEC,4BAAO,CAACC,EAAE;IACxBC,YAAY,EAAEF,4BAAO,CAAC,KAAK;EAC7B,CAAC;EACDG,WAAW,EAAE;IACXD,YAAY,EAAEF,4BAAO,CAACI;EACxB,CAAC;EACDC,UAAU,EAAE;IACVC,cAAc,EAAEN,4BAAO,CAACO;EAC1B;AACF,CAAC,CAAC"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EmailVerifyOtpView = EmailVerifyOtpView;
7
- var _react = require("react");
8
- var _appkitCoreReactNative = require("@reown/appkit-core-react-native");
9
- var _useTimeout = _interopRequireDefault(require("../../hooks/useTimeout"));
10
- var _w3mOtpCode = require("../../partials/w3m-otp-code");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function EmailVerifyOtpView() {
13
- const {
14
- timeLeft,
15
- startTimer
16
- } = (0, _useTimeout.default)(0);
17
- const {
18
- data
19
- } = _appkitCoreReactNative.RouterController.state;
20
- const [loading, setLoading] = (0, _react.useState)(false);
21
- const [error, setError] = (0, _react.useState)('');
22
- const authConnector = _appkitCoreReactNative.ConnectorController.getAuthConnector();
23
- const onOtpResend = async () => {
24
- try {
25
- if (!data?.email || !authConnector) return;
26
- setLoading(true);
27
- const provider = authConnector?.provider;
28
- await provider.connectEmail({
29
- email: data.email
30
- });
31
- _appkitCoreReactNative.SnackController.showSuccess('Code resent');
32
- startTimer(30);
33
- setLoading(false);
34
- } catch (e) {
35
- const parsedError = _appkitCoreReactNative.CoreHelperUtil.parseError(e);
36
- _appkitCoreReactNative.SnackController.showError(parsedError);
37
- setLoading(false);
38
- }
39
- };
40
- const onOtpSubmit = async otp => {
41
- if (!authConnector) return;
42
- setLoading(true);
43
- setError('');
44
- try {
45
- const provider = authConnector?.provider;
46
- await provider.connectOtp({
47
- otp
48
- });
49
- _appkitCoreReactNative.EventsController.sendEvent({
50
- type: 'track',
51
- event: 'EMAIL_VERIFICATION_CODE_PASS'
52
- });
53
- await _appkitCoreReactNative.ConnectionController.connectExternal(authConnector);
54
- _appkitCoreReactNative.ModalController.close();
55
- _appkitCoreReactNative.EventsController.sendEvent({
56
- type: 'track',
57
- event: 'CONNECT_SUCCESS',
58
- properties: {
59
- method: 'email',
60
- name: authConnector.name || 'Unknown'
61
- }
62
- });
63
- } catch (e) {
64
- _appkitCoreReactNative.EventsController.sendEvent({
65
- type: 'track',
66
- event: 'EMAIL_VERIFICATION_CODE_FAIL'
67
- });
68
- const parsedError = _appkitCoreReactNative.CoreHelperUtil.parseError(e);
69
- if (parsedError?.includes('Invalid code')) {
70
- setError('Invalid code. Try again.');
71
- } else {
72
- _appkitCoreReactNative.SnackController.showError(parsedError);
73
- }
74
- }
75
- setLoading(false);
76
- };
77
- return /*#__PURE__*/React.createElement(_w3mOtpCode.OtpCodeView, {
78
- loading: loading,
79
- error: error,
80
- timeLeft: timeLeft,
81
- email: data?.email,
82
- onRetry: onOtpResend,
83
- onSubmit: onOtpSubmit
84
- });
85
- }
86
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_appkitCoreReactNative","_useTimeout","_interopRequireDefault","_w3mOtpCode","e","__esModule","default","EmailVerifyOtpView","timeLeft","startTimer","useTimeout","data","RouterController","state","loading","setLoading","useState","error","setError","authConnector","ConnectorController","getAuthConnector","onOtpResend","email","provider","connectEmail","SnackController","showSuccess","parsedError","CoreHelperUtil","parseError","showError","onOtpSubmit","otp","connectOtp","EventsController","sendEvent","type","event","ConnectionController","connectExternal","ModalController","close","properties","method","name","includes","React","createElement","OtpCodeView","onRetry","onSubmit"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-otp-view/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAUA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAA0D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD,SAASG,kBAAkBA,CAAA,EAAG;EACnC,MAAM;IAAEC,QAAQ;IAAEC;EAAW,CAAC,GAAG,IAAAC,mBAAU,EAAC,CAAC,CAAC;EAC9C,MAAM;IAAEC;EAAK,CAAC,GAAGC,uCAAgB,CAACC,KAAK;EACvC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAMG,aAAa,GAAGC,0CAAmB,CAACC,gBAAgB,CAAC,CAAC;EAE5D,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAI;MACF,IAAI,CAACX,IAAI,EAAEY,KAAK,IAAI,CAACJ,aAAa,EAAE;MACpCJ,UAAU,CAAC,IAAI,CAAC;MAChB,MAAMS,QAAQ,GAAGL,aAAa,EAAEK,QAA+B;MAC/D,MAAMA,QAAQ,CAACC,YAAY,CAAC;QAAEF,KAAK,EAAEZ,IAAI,CAACY;MAAM,CAAC,CAAC;MAClDG,sCAAe,CAACC,WAAW,CAAC,aAAa,CAAC;MAC1ClB,UAAU,CAAC,EAAE,CAAC;MACdM,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,CAAC,OAAOX,CAAC,EAAE;MACV,MAAMwB,WAAW,GAAGC,qCAAc,CAACC,UAAU,CAAC1B,CAAC,CAAC;MAChDsB,sCAAe,CAACK,SAAS,CAACH,WAAW,CAAC;MACtCb,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC;EAED,MAAMiB,WAAW,GAAG,MAAOC,GAAW,IAAK;IACzC,IAAI,CAACd,aAAa,EAAE;IACpBJ,UAAU,CAAC,IAAI,CAAC;IAChBG,QAAQ,CAAC,EAAE,CAAC;IACZ,IAAI;MACF,MAAMM,QAAQ,GAAGL,aAAa,EAAEK,QAA+B;MAC/D,MAAMA,QAAQ,CAACU,UAAU,CAAC;QAAED;MAAI,CAAC,CAAC;MAClCE,uCAAgB,CAACC,SAAS,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,KAAK,EAAE;MAA+B,CAAC,CAAC;MACpF,MAAMC,2CAAoB,CAACC,eAAe,CAACrB,aAAa,CAAC;MACzDsB,sCAAe,CAACC,KAAK,CAAC,CAAC;MACvBP,uCAAgB,CAACC,SAAS,CAAC;QACzBC,IAAI,EAAE,OAAO;QACbC,KAAK,EAAE,iBAAiB;QACxBK,UAAU,EAAE;UAAEC,MAAM,EAAE,OAAO;UAAEC,IAAI,EAAE1B,aAAa,CAAC0B,IAAI,IAAI;QAAU;MACvE,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOzC,CAAC,EAAE;MACV+B,uCAAgB,CAACC,SAAS,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,KAAK,EAAE;MAA+B,CAAC,CAAC;MACpF,MAAMV,WAAW,GAAGC,qCAAc,CAACC,UAAU,CAAC1B,CAAC,CAAC;MAChD,IAAIwB,WAAW,EAAEkB,QAAQ,CAAC,cAAc,CAAC,EAAE;QACzC5B,QAAQ,CAAC,0BAA0B,CAAC;MACtC,CAAC,MAAM;QACLQ,sCAAe,CAACK,SAAS,CAACH,WAAW,CAAC;MACxC;IACF;IACAb,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EAED,oBACEgC,KAAA,CAAAC,aAAA,CAAC7C,WAAA,CAAA8C,WAAW;IACVnC,OAAO,EAAEA,OAAQ;IACjBG,KAAK,EAAEA,KAAM;IACbT,QAAQ,EAAEA,QAAS;IACnBe,KAAK,EAAEZ,IAAI,EAAEY,KAAM;IACnB2B,OAAO,EAAE5B,WAAY;IACrB6B,QAAQ,EAAEnB;EAAY,CACvB,CAAC;AAEN"}
@@ -1,99 +0,0 @@
1
- import { useSnapshot } from 'valtio';
2
- import { View } from 'react-native';
3
- import { useEffect, useState } from 'react';
4
- import { FlexView, Icon, Link, Text, useTheme } from '@reown/appkit-ui-react-native';
5
- import { ConnectorController, CoreHelperUtil, EventsController, RouterController, SnackController } from '@reown/appkit-core-react-native';
6
- import useTimeout from '../../hooks/useTimeout';
7
- import styles from './styles';
8
- export function EmailVerifyDeviceView() {
9
- const Theme = useTheme();
10
- const {
11
- connectors
12
- } = useSnapshot(ConnectorController.state);
13
- const {
14
- data
15
- } = RouterController.state;
16
- const {
17
- timeLeft,
18
- startTimer
19
- } = useTimeout(0);
20
- const [loading, setLoading] = useState(false);
21
- const authProvider = connectors.find(c => c.type === 'AUTH')?.provider;
22
- const listenForDeviceApproval = async () => {
23
- if (authProvider && data?.email) {
24
- try {
25
- await authProvider.connectDevice();
26
- EventsController.sendEvent({
27
- type: 'track',
28
- event: 'DEVICE_REGISTERED_FOR_EMAIL'
29
- });
30
- EventsController.sendEvent({
31
- type: 'track',
32
- event: 'EMAIL_VERIFICATION_CODE_SENT'
33
- });
34
- RouterController.replace('EmailVerifyOtp', {
35
- email: data.email
36
- });
37
- } catch (error) {
38
- RouterController.goBack();
39
- }
40
- }
41
- };
42
- const onResendEmail = async () => {
43
- try {
44
- if (!data?.email || !authProvider) return;
45
- setLoading(true);
46
- authProvider?.connectEmail({
47
- email: data.email
48
- });
49
- listenForDeviceApproval();
50
- SnackController.showSuccess('Link resent');
51
- startTimer(30);
52
- setLoading(false);
53
- } catch (e) {
54
- const parsedError = CoreHelperUtil.parseError(e);
55
- SnackController.showError(parsedError);
56
- }
57
- };
58
- useEffect(() => {
59
- listenForDeviceApproval();
60
- // eslint-disable-next-line react-hooks/exhaustive-deps
61
- }, []);
62
- return /*#__PURE__*/React.createElement(FlexView, {
63
- alignItems: "center",
64
- padding: ['0', '4xl', '3xl', '4xl']
65
- }, /*#__PURE__*/React.createElement(View, {
66
- style: [styles.iconContainer, {
67
- backgroundColor: Theme['accent-glass-010']
68
- }]
69
- }, /*#__PURE__*/React.createElement(Icon, {
70
- name: "verify",
71
- size: "lg",
72
- height: 28,
73
- width: 28,
74
- color: "accent-100"
75
- })), /*#__PURE__*/React.createElement(Text, {
76
- center: true,
77
- variant: "medium-600",
78
- style: styles.headingText
79
- }, "Register this device to continue"), /*#__PURE__*/React.createElement(Text, {
80
- center: true,
81
- variant: "paragraph-400"
82
- }, "Check the instructions sent to", ' '), /*#__PURE__*/React.createElement(Text, {
83
- variant: "paragraph-500"
84
- }, data?.email ?? 'your email'), /*#__PURE__*/React.createElement(Text, {
85
- variant: "small-400",
86
- color: "fg-200",
87
- style: styles.expiryText
88
- }, "The link expires in 20 minutes"), /*#__PURE__*/React.createElement(FlexView, {
89
- alignItems: "center",
90
- justifyContent: "center",
91
- flexDirection: "row"
92
- }, /*#__PURE__*/React.createElement(Text, {
93
- variant: "small-400"
94
- }, "Didn't receive it?"), /*#__PURE__*/React.createElement(Link, {
95
- onPress: onResendEmail,
96
- disabled: timeLeft > 0 || loading
97
- }, timeLeft > 0 ? `Resend in ${timeLeft}s` : 'Resend link')));
98
- }
99
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSnapshot","View","useEffect","useState","FlexView","Icon","Link","Text","useTheme","ConnectorController","CoreHelperUtil","EventsController","RouterController","SnackController","useTimeout","styles","EmailVerifyDeviceView","Theme","connectors","state","data","timeLeft","startTimer","loading","setLoading","authProvider","find","c","type","provider","listenForDeviceApproval","email","connectDevice","sendEvent","event","replace","error","goBack","onResendEmail","connectEmail","showSuccess","e","parsedError","parseError","showError","React","createElement","alignItems","padding","style","iconContainer","backgroundColor","name","size","height","width","color","center","variant","headingText","expiryText","justifyContent","flexDirection","onPress","disabled"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-device-view/index.tsx"],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { Spacing } from '@reown/appkit-ui-react-native';
2
- import { StyleSheet } from 'react-native';
3
- export default StyleSheet.create({
4
- iconContainer: {
5
- height: 64,
6
- width: 64,
7
- justifyContent: 'center',
8
- alignItems: 'center',
9
- borderRadius: Spacing.xl,
10
- marginBottom: Spacing['2xl']
11
- },
12
- headingText: {
13
- marginBottom: Spacing.s
14
- },
15
- expiryText: {
16
- marginVertical: Spacing.l
17
- }
18
- });
19
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Spacing","StyleSheet","create","iconContainer","height","width","justifyContent","alignItems","borderRadius","xl","marginBottom","headingText","s","expiryText","marginVertical","l"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-device-view/styles.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,+BAA+B;AACvD,SAASC,UAAU,QAAQ,cAAc;AAEzC,eAAeA,UAAU,CAACC,MAAM,CAAC;EAC/BC,aAAa,EAAE;IACbC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACTC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAER,OAAO,CAACS,EAAE;IACxBC,YAAY,EAAEV,OAAO,CAAC,KAAK;EAC7B,CAAC;EACDW,WAAW,EAAE;IACXD,YAAY,EAAEV,OAAO,CAACY;EACxB,CAAC;EACDC,UAAU,EAAE;IACVC,cAAc,EAAEd,OAAO,CAACe;EAC1B;AACF,CAAC,CAAC"}
@@ -1,79 +0,0 @@
1
- import { useState } from 'react';
2
- import { ConnectionController, ConnectorController, CoreHelperUtil, EventsController, ModalController, RouterController, SnackController } from '@reown/appkit-core-react-native';
3
- import useTimeout from '../../hooks/useTimeout';
4
- import { OtpCodeView } from '../../partials/w3m-otp-code';
5
- export function EmailVerifyOtpView() {
6
- const {
7
- timeLeft,
8
- startTimer
9
- } = useTimeout(0);
10
- const {
11
- data
12
- } = RouterController.state;
13
- const [loading, setLoading] = useState(false);
14
- const [error, setError] = useState('');
15
- const authConnector = ConnectorController.getAuthConnector();
16
- const onOtpResend = async () => {
17
- try {
18
- if (!data?.email || !authConnector) return;
19
- setLoading(true);
20
- const provider = authConnector?.provider;
21
- await provider.connectEmail({
22
- email: data.email
23
- });
24
- SnackController.showSuccess('Code resent');
25
- startTimer(30);
26
- setLoading(false);
27
- } catch (e) {
28
- const parsedError = CoreHelperUtil.parseError(e);
29
- SnackController.showError(parsedError);
30
- setLoading(false);
31
- }
32
- };
33
- const onOtpSubmit = async otp => {
34
- if (!authConnector) return;
35
- setLoading(true);
36
- setError('');
37
- try {
38
- const provider = authConnector?.provider;
39
- await provider.connectOtp({
40
- otp
41
- });
42
- EventsController.sendEvent({
43
- type: 'track',
44
- event: 'EMAIL_VERIFICATION_CODE_PASS'
45
- });
46
- await ConnectionController.connectExternal(authConnector);
47
- ModalController.close();
48
- EventsController.sendEvent({
49
- type: 'track',
50
- event: 'CONNECT_SUCCESS',
51
- properties: {
52
- method: 'email',
53
- name: authConnector.name || 'Unknown'
54
- }
55
- });
56
- } catch (e) {
57
- EventsController.sendEvent({
58
- type: 'track',
59
- event: 'EMAIL_VERIFICATION_CODE_FAIL'
60
- });
61
- const parsedError = CoreHelperUtil.parseError(e);
62
- if (parsedError?.includes('Invalid code')) {
63
- setError('Invalid code. Try again.');
64
- } else {
65
- SnackController.showError(parsedError);
66
- }
67
- }
68
- setLoading(false);
69
- };
70
- return /*#__PURE__*/React.createElement(OtpCodeView, {
71
- loading: loading,
72
- error: error,
73
- timeLeft: timeLeft,
74
- email: data?.email,
75
- onRetry: onOtpResend,
76
- onSubmit: onOtpSubmit
77
- });
78
- }
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useState","ConnectionController","ConnectorController","CoreHelperUtil","EventsController","ModalController","RouterController","SnackController","useTimeout","OtpCodeView","EmailVerifyOtpView","timeLeft","startTimer","data","state","loading","setLoading","error","setError","authConnector","getAuthConnector","onOtpResend","email","provider","connectEmail","showSuccess","e","parsedError","parseError","showError","onOtpSubmit","otp","connectOtp","sendEvent","type","event","connectExternal","close","properties","method","name","includes","React","createElement","onRetry","onSubmit"],"sourceRoot":"../../../../src","sources":["views/w3m-email-verify-otp-view/index.tsx"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function EmailVerifyDeviceView(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-email-verify-device-view/index.tsx"],"names":[],"mappings":"AAeA,wBAAgB,qBAAqB,4CAgEpC"}
@@ -1,18 +0,0 @@
1
- declare const _default: {
2
- iconContainer: {
3
- height: number;
4
- width: number;
5
- justifyContent: "center";
6
- alignItems: "center";
7
- borderRadius: number;
8
- marginBottom: number;
9
- };
10
- headingText: {
11
- marginBottom: number;
12
- };
13
- expiryText: {
14
- marginVertical: number;
15
- };
16
- };
17
- export default _default;
18
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-email-verify-device-view/styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,wBAeG"}
@@ -1,2 +0,0 @@
1
- export declare function EmailVerifyOtpView(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-email-verify-otp-view/index.tsx"],"names":[],"mappings":"AAcA,wBAAgB,kBAAkB,4CA4DjC"}
@@ -1,80 +0,0 @@
1
- import { useSnapshot } from 'valtio';
2
- import { View } from 'react-native';
3
- import { useEffect, useState } from 'react';
4
- import { FlexView, Icon, Link, Text, useTheme } from '@reown/appkit-ui-react-native';
5
- import {
6
- ConnectorController,
7
- CoreHelperUtil,
8
- EventsController,
9
- RouterController,
10
- SnackController,
11
- type AppKitFrameProvider
12
- } from '@reown/appkit-core-react-native';
13
- import useTimeout from '../../hooks/useTimeout';
14
- import styles from './styles';
15
-
16
- export function EmailVerifyDeviceView() {
17
- const Theme = useTheme();
18
- const { connectors } = useSnapshot(ConnectorController.state);
19
- const { data } = RouterController.state;
20
- const { timeLeft, startTimer } = useTimeout(0);
21
- const [loading, setLoading] = useState(false);
22
- const authProvider = connectors.find(c => c.type === 'AUTH')?.provider as AppKitFrameProvider;
23
-
24
- const listenForDeviceApproval = async () => {
25
- if (authProvider && data?.email) {
26
- try {
27
- await authProvider.connectDevice();
28
- EventsController.sendEvent({ type: 'track', event: 'DEVICE_REGISTERED_FOR_EMAIL' });
29
- EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_SENT' });
30
- RouterController.replace('EmailVerifyOtp', { email: data.email });
31
- } catch (error: any) {
32
- RouterController.goBack();
33
- }
34
- }
35
- };
36
-
37
- const onResendEmail = async () => {
38
- try {
39
- if (!data?.email || !authProvider) return;
40
- setLoading(true);
41
- authProvider?.connectEmail({ email: data.email });
42
- listenForDeviceApproval();
43
- SnackController.showSuccess('Link resent');
44
- startTimer(30);
45
- setLoading(false);
46
- } catch (e) {
47
- const parsedError = CoreHelperUtil.parseError(e);
48
- SnackController.showError(parsedError);
49
- }
50
- };
51
-
52
- useEffect(() => {
53
- listenForDeviceApproval();
54
- // eslint-disable-next-line react-hooks/exhaustive-deps
55
- }, []);
56
-
57
- return (
58
- <FlexView alignItems="center" padding={['0', '4xl', '3xl', '4xl']}>
59
- <View style={[styles.iconContainer, { backgroundColor: Theme['accent-glass-010'] }]}>
60
- <Icon name="verify" size="lg" height={28} width={28} color="accent-100" />
61
- </View>
62
- <Text center variant="medium-600" style={styles.headingText}>
63
- Register this device to continue
64
- </Text>
65
- <Text center variant="paragraph-400">
66
- Check the instructions sent to{' '}
67
- </Text>
68
- <Text variant="paragraph-500">{data?.email ?? 'your email'}</Text>
69
- <Text variant="small-400" color="fg-200" style={styles.expiryText}>
70
- The link expires in 20 minutes
71
- </Text>
72
- <FlexView alignItems="center" justifyContent="center" flexDirection="row">
73
- <Text variant="small-400">Didn't receive it?</Text>
74
- <Link onPress={onResendEmail} disabled={timeLeft > 0 || loading}>
75
- {timeLeft > 0 ? `Resend in ${timeLeft}s` : 'Resend link'}
76
- </Link>
77
- </FlexView>
78
- </FlexView>
79
- );
80
- }
@@ -1,19 +0,0 @@
1
- import { Spacing } from '@reown/appkit-ui-react-native';
2
- import { StyleSheet } from 'react-native';
3
-
4
- export default StyleSheet.create({
5
- iconContainer: {
6
- height: 64,
7
- width: 64,
8
- justifyContent: 'center',
9
- alignItems: 'center',
10
- borderRadius: Spacing.xl,
11
- marginBottom: Spacing['2xl']
12
- },
13
- headingText: {
14
- marginBottom: Spacing.s
15
- },
16
- expiryText: {
17
- marginVertical: Spacing.l
18
- }
19
- });