@chem-po/firebase-native 0.0.38 → 0.0.40

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 (39) hide show
  1. package/lib/commonjs/adapter/auth.js +10 -3
  2. package/lib/commonjs/adapter/auth.js.map +1 -1
  3. package/lib/commonjs/components/FirebaseSignIn.js +20 -14
  4. package/lib/commonjs/components/FirebaseSignIn.js.map +1 -1
  5. package/lib/commonjs/components/PhoneVerify.js +45 -33
  6. package/lib/commonjs/components/PhoneVerify.js.map +1 -1
  7. package/lib/commonjs/components/TwoFactorAuthModal.js +72 -15
  8. package/lib/commonjs/components/TwoFactorAuthModal.js.map +1 -1
  9. package/lib/commonjs/hooks/usePhoneVerify.js +13 -5
  10. package/lib/commonjs/hooks/usePhoneVerify.js.map +1 -1
  11. package/lib/commonjs/utils/validation.js +4 -0
  12. package/lib/commonjs/utils/validation.js.map +1 -1
  13. package/lib/module/adapter/auth.js +10 -3
  14. package/lib/module/adapter/auth.js.map +1 -1
  15. package/lib/module/components/FirebaseSignIn.js +21 -15
  16. package/lib/module/components/FirebaseSignIn.js.map +1 -1
  17. package/lib/module/components/PhoneVerify.js +47 -35
  18. package/lib/module/components/PhoneVerify.js.map +1 -1
  19. package/lib/module/components/TwoFactorAuthModal.js +71 -15
  20. package/lib/module/components/TwoFactorAuthModal.js.map +1 -1
  21. package/lib/module/hooks/usePhoneVerify.js +13 -5
  22. package/lib/module/hooks/usePhoneVerify.js.map +1 -1
  23. package/lib/module/utils/validation.js +4 -0
  24. package/lib/module/utils/validation.js.map +1 -1
  25. package/lib/typescript/adapter/auth.d.ts.map +1 -1
  26. package/lib/typescript/components/FirebaseSignIn.d.ts.map +1 -1
  27. package/lib/typescript/components/PhoneVerify.d.ts.map +1 -1
  28. package/lib/typescript/components/TwoFactorAuthModal.d.ts +1 -0
  29. package/lib/typescript/components/TwoFactorAuthModal.d.ts.map +1 -1
  30. package/lib/typescript/hooks/usePhoneVerify.d.ts +3 -1
  31. package/lib/typescript/hooks/usePhoneVerify.d.ts.map +1 -1
  32. package/lib/typescript/utils/validation.d.ts.map +1 -1
  33. package/package.json +4 -4
  34. package/src/adapter/auth.ts +98 -83
  35. package/src/components/FirebaseSignIn.tsx +21 -14
  36. package/src/components/PhoneVerify.tsx +46 -33
  37. package/src/components/TwoFactorAuthModal.tsx +87 -23
  38. package/src/hooks/usePhoneVerify.ts +15 -4
  39. package/src/utils/validation.ts +7 -0
@@ -1,33 +1,60 @@
1
- import { useAuth, useBackgroundColor } from '@chem-po/react';
1
+ import { useAuth, useBackgroundColor, useBorderColor, useIconColor } from '@chem-po/react';
2
2
  import { Txt } from '@chem-po/react-native';
3
+ import { useFont } from '@chem-po/react-native/src/hooks/useFont';
4
+ import { Ionicons } from '@expo/vector-icons';
3
5
  import React, { useState } from 'react';
4
6
  import { ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native';
5
7
  import { Modal, Portal } from 'react-native-paper';
6
8
  import { useBackend } from '../hooks/backend';
7
9
  import { AuthenticatorVerify } from './AuthenticatorVerify';
8
10
  import { PhoneVerify } from './PhoneVerify';
11
+ const FactorView = ({
12
+ factor,
13
+ buttonBackgroundColor,
14
+ iconColor,
15
+ borderColor,
16
+ onPress
17
+ }) => {
18
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
19
+ style: [styles.factorButton, {
20
+ backgroundColor: buttonBackgroundColor,
21
+ borderColor
22
+ }],
23
+ onPress: onPress
24
+ }, /*#__PURE__*/React.createElement(View, {
25
+ style: styles.factorContent
26
+ }, /*#__PURE__*/React.createElement(Ionicons, {
27
+ name: factor.type === 'phone' ? 'phone-portrait' : 'qr-code',
28
+ size: 20,
29
+ color: iconColor
30
+ }), /*#__PURE__*/React.createElement(Txt, {
31
+ style: styles.factorHeaderText
32
+ }, factor.type === 'phone' ? `Phone: ${factor.phoneNumber}` : 'Authenticator App'), factor.displayName ? /*#__PURE__*/React.createElement(Txt, {
33
+ style: styles.factorDetailsText
34
+ }, factor.displayName) : null));
35
+ };
9
36
  const TwoFactorSelect = ({
10
37
  factors,
11
38
  onSelect
12
39
  }) => {
13
40
  const buttonBackgroundColor = useBackgroundColor(100);
41
+ const borderColor = useBorderColor();
42
+ const iconColor = useIconColor();
43
+ const textFont = useFont('body', 'md');
14
44
  return /*#__PURE__*/React.createElement(View, {
15
45
  style: styles.selectContainer
16
46
  }, /*#__PURE__*/React.createElement(Txt, {
17
- style: styles.selectTitle
47
+ style: [styles.selectTitle, textFont]
18
48
  }, "Select an option to verify with:"), /*#__PURE__*/React.createElement(View, {
19
49
  style: styles.factorsList
20
- }, factors.map(factor => /*#__PURE__*/React.createElement(TouchableOpacity, {
21
- key: factor.uid,
22
- style: [styles.factorButton, {
23
- backgroundColor: buttonBackgroundColor
24
- }],
25
- onPress: () => onSelect(factor)
26
- }, /*#__PURE__*/React.createElement(Txt, {
27
- style: styles.factorHeaderText
28
- }, factor.type === 'phone' ? `Phone: ${factor.phoneNumber}` : 'Authenticator App'), factor.displayName ? /*#__PURE__*/React.createElement(Txt, {
29
- style: styles.factorDetailsText
30
- }, factor.displayName) : null))));
50
+ }, factors.map(factor => /*#__PURE__*/React.createElement(FactorView, {
51
+ key: `${factor.type}-${factor.enrollmentTime}`,
52
+ factor: factor,
53
+ buttonBackgroundColor: buttonBackgroundColor,
54
+ onPress: () => onSelect(factor),
55
+ iconColor: iconColor,
56
+ borderColor: borderColor
57
+ }))));
31
58
  };
32
59
  const TwoFactorVerify = ({
33
60
  factorInfo
@@ -72,6 +99,29 @@ export const TwoFactorAuthModal = () => {
72
99
  contentContainerStyle: styles.scrollContent
73
100
  }, /*#__PURE__*/React.createElement(TwoFactorContent, null)))));
74
101
  };
102
+ const testFactor = {
103
+ uid: 'test',
104
+ type: 'phone',
105
+ phoneNumber: '1234567890',
106
+ displayName: 'Test Phone',
107
+ enrollmentTime: '2021-01-01'
108
+ };
109
+ export const TestTwoFactorVerifyModal = () => {
110
+ const backgroundColor = useBackgroundColor(150);
111
+ return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Modal, {
112
+ visible: true,
113
+ onDismiss: () => {},
114
+ style: styles.modal
115
+ }, /*#__PURE__*/React.createElement(View, {
116
+ style: [styles.modalContent, {
117
+ backgroundColor
118
+ }]
119
+ }, /*#__PURE__*/React.createElement(ScrollView, {
120
+ contentContainerStyle: styles.scrollContent
121
+ }, /*#__PURE__*/React.createElement(TwoFactorVerify, {
122
+ factorInfo: testFactor
123
+ })))));
124
+ };
75
125
  const styles = StyleSheet.create({
76
126
  modal: {
77
127
  margin: 0
@@ -89,18 +139,24 @@ const styles = StyleSheet.create({
89
139
  },
90
140
  selectTitle: {
91
141
  fontSize: 16,
92
- marginBottom: 16
142
+ marginBottom: 8,
143
+ paddingHorizontal: 4
93
144
  },
94
145
  factorsList: {
95
146
  gap: 8
96
147
  },
148
+ factorContent: {
149
+ flexDirection: 'row',
150
+ alignItems: 'center',
151
+ gap: 8
152
+ },
97
153
  factorButton: {
98
154
  padding: 16,
99
155
  borderRadius: 8,
100
156
  borderWidth: 1
101
157
  },
102
158
  factorHeaderText: {
103
- fontSize: 14,
159
+ fontSize: 16,
104
160
  fontWeight: 'bold',
105
161
  opacity: 0.8
106
162
  },
@@ -1 +1 @@
1
- {"version":3,"names":["useAuth","useBackgroundColor","Txt","React","useState","ScrollView","StyleSheet","TouchableOpacity","View","Modal","Portal","useBackend","AuthenticatorVerify","PhoneVerify","TwoFactorSelect","factors","onSelect","buttonBackgroundColor","createElement","style","styles","selectContainer","selectTitle","factorsList","map","factor","key","uid","factorButton","backgroundColor","onPress","factorHeaderText","type","phoneNumber","displayName","factorDetailsText","TwoFactorVerify","factorInfo","TwoFactorContent","selectedEnrollmentFactor","setSelectedEnrollmentFactor","enrolledFactors","s","enrollmentFactors","length","TwoFactorAuthModal","multiFactorVerification","twoFactorVerification","auth","visible","onDismiss","logout","modal","modalContent","contentContainerStyle","scrollContent","create","margin","borderRadius","maxHeight","padding","width","fontSize","marginBottom","gap","borderWidth","fontWeight","opacity"],"sourceRoot":"..\\..\\..\\src","sources":["components/TwoFactorAuthModal.tsx"],"mappings":"AACA,SAASA,OAAO,EAAEC,kBAAkB,QAAQ,gBAAgB;AAC5D,SAASC,GAAG,QAAQ,uBAAuB;AAC3C,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,UAAU,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC7E,SAASC,KAAK,EAAEC,MAAM,QAAQ,oBAAoB;AAClD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,QAAQ,eAAe;AAG3C,MAAMC,eAAe,GAAGA,CAAC;EACvBC,OAAO;EACPC;AAIF,CAAC,KAAK;EACJ,MAAMC,qBAAqB,GAAGhB,kBAAkB,CAAC,GAAG,CAAC;EACrD,oBACEE,KAAA,CAAAe,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAgB,gBAClClB,KAAA,CAAAe,aAAA,CAAChB,GAAG;IAACiB,KAAK,EAAEC,MAAM,CAACE;EAAY,GAAC,kCAAqC,CAAC,eACtEnB,KAAA,CAAAe,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACG;EAAY,GAC7BR,OAAO,CAACS,GAAG,CAAEC,MAAM,iBAClBtB,KAAA,CAAAe,aAAA,CAACX,gBAAgB;IACfmB,GAAG,EAAED,MAAM,CAACE,GAAI;IAChBR,KAAK,EAAE,CACLC,MAAM,CAACQ,YAAY,EACnB;MACEC,eAAe,EAAEZ;IACnB,CAAC,CACD;IACFa,OAAO,EAAEA,CAAA,KAAMd,QAAQ,CAACS,MAAM;EAAE,gBAEhCtB,KAAA,CAAAe,aAAA,CAAChB,GAAG;IAACiB,KAAK,EAAEC,MAAM,CAACW;EAAiB,GACjCN,MAAM,CAACO,IAAI,KAAK,OAAO,GAAG,UAAUP,MAAM,CAACQ,WAAW,EAAE,GAAG,mBACzD,CAAC,EAEJR,MAAM,CAACS,WAAW,gBAChB/B,KAAA,CAAAe,aAAA,CAAChB,GAAG;IAACiB,KAAK,EAAEC,MAAM,CAACe;EAAkB,GAAEV,MAAM,CAACS,WAAiB,CAAC,GAC9D,IAEU,CACnB,CACG,CACF,CAAC;AAEX,CAAC;AAED,MAAME,eAAe,GAAGA,CAAC;EAAEC;AAA6C,CAAC,KACvEA,UAAU,CAACL,IAAI,KAAK,OAAO,gBACzB7B,KAAA,CAAAe,aAAA,CAACL,WAAW;EAACY,MAAM,EAAEY;AAAoC,CAAE,CAAC,gBAE5DlC,KAAA,CAAAe,aAAA,CAACN,mBAAmB,MAAE,CACvB;AAEH,MAAM0B,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,MAAM,CAACC,wBAAwB,EAAEC,2BAA2B,CAAC,GAAGpC,QAAQ,CACtE,IACF,CAAC;EACD,MAAMqC,eAAe,GAAGzC,OAAO,CAAE0C,CAAC,IAAKA,CAAC,CAACC,iBAAiB,CAAC;EAE3D,IAAIJ,wBAAwB,EAAE,oBAAOpC,KAAA,CAAAe,aAAA,CAACkB,eAAe;IAACC,UAAU,EAAEE;EAAyB,CAAE,CAAC;EAC9F,IAAI,CAACE,eAAe,EAAE,OAAO,IAAI;EACjC,IAAIA,eAAe,CAACE,iBAAiB,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAC/D;EACA,oBACEzC,KAAA,CAAAe,aAAA,CAACJ,eAAe;IACdC,OAAO,EAAE0B,eAAe,CAACE,iBAAkB;IAC3C3B,QAAQ,EAAEwB;EAA4B,CACvC,CAAC;AAEN,CAAC;AAED,OAAO,MAAMK,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC,uBAAuB,EAAEC,qBAAqB;IAAEJ;EAAkB,CAAC,GAAG3C,OAAO,CAAC,CAAC;EAEvF,MAAM;IAAEgD;EAAK,CAAC,GAAGrC,UAAU,CAAC,CAAC;EAC7B,MAAMkB,eAAe,GAAG5B,kBAAkB,CAAC,GAAG,CAAC;EAC/C,IAAI,CAAC8C,qBAAqB,IAAI,CAACJ,iBAAiB,EAAE,OAAO,IAAI;EAE7D,oBACExC,KAAA,CAAAe,aAAA,CAACR,MAAM,qBACLP,KAAA,CAAAe,aAAA,CAACT,KAAK;IACJwC,OAAO,EAAE,IAAK;IACdC,SAAS,EAAEA,CAAA,KAAM;MAAEF,IAAI,CAACG,MAAM,CAAC,CAAC;IAAC,CAAE;IACnChC,KAAK,EAAEC,MAAM,CAACgC;EAAM,gBAEpBjD,KAAA,CAAAe,aAAA,CAACV,IAAI;IAACW,KAAK,EAAE,CAACC,MAAM,CAACiC,YAAY,EAAE;MAAExB;IAAgB,CAAC;EAAE,gBACtD1B,KAAA,CAAAe,aAAA,CAACb,UAAU;IAACiD,qBAAqB,EAAElC,MAAM,CAACmC;EAAc,gBACtDpD,KAAA,CAAAe,aAAA,CAACoB,gBAAgB,MAAE,CACT,CACR,CACD,CACD,CAAC;AAEb,CAAC;AAED,MAAMlB,MAAM,GAAGd,UAAU,CAACkD,MAAM,CAAC;EAC/BJ,KAAK,EAAE;IACLK,MAAM,EAAE;EACV,CAAC;EACDJ,YAAY,EAAE;IACZI,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE;EACb,CAAC;EACDJ,aAAa,EAAE;IACbK,OAAO,EAAE;EACX,CAAC;EACDvC,eAAe,EAAE;IACfwC,KAAK,EAAE;EACT,CAAC;EACDvC,WAAW,EAAE;IACXwC,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE;EAChB,CAAC;EACDxC,WAAW,EAAE;IACXyC,GAAG,EAAE;EACP,CAAC;EACDpC,YAAY,EAAE;IACZgC,OAAO,EAAE,EAAE;IACXF,YAAY,EAAE,CAAC;IACfO,WAAW,EAAE;EACf,CAAC;EACDlC,gBAAgB,EAAE;IAChB+B,QAAQ,EAAE,EAAE;IACZI,UAAU,EAAE,MAAM;IAClBC,OAAO,EAAE;EACX,CAAC;EACDhC,iBAAiB,EAAE;IACjB2B,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAuth","useBackgroundColor","useBorderColor","useIconColor","Txt","useFont","Ionicons","React","useState","ScrollView","StyleSheet","TouchableOpacity","View","Modal","Portal","useBackend","AuthenticatorVerify","PhoneVerify","FactorView","factor","buttonBackgroundColor","iconColor","borderColor","onPress","createElement","style","styles","factorButton","backgroundColor","factorContent","name","type","size","color","factorHeaderText","phoneNumber","displayName","factorDetailsText","TwoFactorSelect","factors","onSelect","textFont","selectContainer","selectTitle","factorsList","map","key","enrollmentTime","TwoFactorVerify","factorInfo","TwoFactorContent","selectedEnrollmentFactor","setSelectedEnrollmentFactor","enrolledFactors","s","enrollmentFactors","length","TwoFactorAuthModal","multiFactorVerification","twoFactorVerification","auth","visible","onDismiss","logout","modal","modalContent","contentContainerStyle","scrollContent","testFactor","uid","TestTwoFactorVerifyModal","create","margin","borderRadius","maxHeight","padding","width","fontSize","marginBottom","paddingHorizontal","gap","flexDirection","alignItems","borderWidth","fontWeight","opacity"],"sourceRoot":"..\\..\\..\\src","sources":["components/TwoFactorAuthModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { useBackend } from './backend';
4
4
  export const usePhoneVerify = (factor, automaticallySendSmsCode) => {
5
5
  const [code, setCode] = useState('');
6
+ const [sendingCode, setSendingCode] = useState(false);
6
7
  const [verifying, setVerifying] = useState(false);
7
8
  const [error, setError] = useState('');
8
9
  const {
@@ -18,15 +19,20 @@ export const usePhoneVerify = (factor, automaticallySendSmsCode) => {
18
19
  const initSendCode = useRef(!!automaticallySendSmsCode);
19
20
  const {
20
21
  showSuccess,
21
- showError,
22
- showInfo
22
+ showError
23
23
  } = useToast();
24
24
  const sendCode = useCallback(async () => {
25
25
  if (!enrollmentFactors) {
26
26
  showError('Error - No session found');
27
27
  return;
28
28
  }
29
- await auth.sendMultiFactorCode(factor, enrollmentFactors.multiFactorResolver);
29
+ setSendingCode(true);
30
+ return auth.sendMultiFactorCode(factor, enrollmentFactors.multiFactorResolver).then(() => {
31
+ setSendingCode(false);
32
+ }).catch(e => {
33
+ setSendingCode(false);
34
+ setError(e.message || 'An error occurred');
35
+ });
30
36
  }, [auth, factor, twoFactorVerification, showError]);
31
37
  const initSendCodeFunc = useRef(sendCode);
32
38
  useEffect(() => {
@@ -34,7 +40,7 @@ export const usePhoneVerify = (factor, automaticallySendSmsCode) => {
34
40
  initSendCodeFunc.current();
35
41
  }
36
42
  }, []);
37
- const handleVerify = useCallback(() => {
43
+ const handleVerify = useCallback(async () => {
38
44
  setVerifying(true);
39
45
  setError('');
40
46
  if (!twoFactorVerification) {
@@ -56,7 +62,7 @@ export const usePhoneVerify = (factor, automaticallySendSmsCode) => {
56
62
  showError('Error - Two factor verification is not supported');
57
63
  return;
58
64
  }
59
- verify(twoFactorVerification, code).then(() => {
65
+ return verify(twoFactorVerification, code).then(() => {
60
66
  setVerifying(false);
61
67
  setCode('');
62
68
  showSuccess('Verification successful');
@@ -68,7 +74,9 @@ export const usePhoneVerify = (factor, automaticallySendSmsCode) => {
68
74
  return {
69
75
  code,
70
76
  setCode,
77
+ sendCode,
71
78
  verifying,
79
+ sendingCode,
72
80
  error,
73
81
  handleVerify
74
82
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useAuth","useToast","useCallback","useEffect","useRef","useState","useBackend","usePhoneVerify","factor","automaticallySendSmsCode","code","setCode","verifying","setVerifying","error","setError","auth","multiFactorVerification","twoFactorVerification","enrollmentFactors","initSendCode","showSuccess","showError","showInfo","sendCode","sendMultiFactorCode","multiFactorResolver","initSendCodeFunc","current","handleVerify","resolver","verificationId","verify","verifyMultiFactor","then","catch","e","message"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/usePhoneVerify.ts"],"mappings":"AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,gBAAgB;AAClD,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,UAAU,QAAQ,WAAW;AAEtC,OAAO,MAAMC,cAAc,GAAGA,CAACC,MAA6B,EAAEC,wBAAiC,KAAK;EAClG,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGN,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACO,SAAS,EAAEC,YAAY,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACS,KAAK,EAAEC,QAAQ,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EAEtC,MAAM;IAAEW;EAAK,CAAC,GAAGV,UAAU,CAAC,CAAC;EAC7B,MAAM;IAACW,uBAAuB,EAAEC,qBAAqB;IAAEC;EAAiB,CAAC,GAAGnB,OAAO,CAAC,CAAC;;EAErF;;EAEA,MAAMoB,YAAY,GAAGhB,MAAM,CAAC,CAAC,CAACK,wBAAwB,CAAC;EAEvD,MAAM;IAAEY,WAAW;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGtB,QAAQ,CAAC,CAAC;EAEvD,MAAMuB,QAAQ,GAAGtB,WAAW,CAAC,YAAY;IACvC,IAAI,CAACiB,iBAAiB,EAAE;MACtBG,SAAS,CAAC,0BAA0B,CAAC;MACrC;IACF;IACA,MAAMN,IAAI,CAACS,mBAAmB,CAACjB,MAAM,EAAEW,iBAAiB,CAACO,mBAAmB,CAAC;EAC/E,CAAC,EAAE,CAACV,IAAI,EAAER,MAAM,EAAEU,qBAAqB,EAAEI,SAAS,CAAC,CAAC;EAEpD,MAAMK,gBAAgB,GAAGvB,MAAM,CAACoB,QAAQ,CAAC;EACzCrB,SAAS,CAAC,MAAM;IACd,IAAIiB,YAAY,CAACQ,OAAO,EAAE;MACxBD,gBAAgB,CAACC,OAAO,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAG3B,WAAW,CAAC,MAAM;IACrCW,YAAY,CAAC,IAAI,CAAC;IAClBE,QAAQ,CAAC,EAAE,CAAC;IACZ,IAAI,CAACG,qBAAqB,EAAE;MAC1BI,SAAS,CAAC,0BAA0B,CAAC;MACrC;IACF;IACA,MAAMQ,QAAQ,GAAGZ,qBAAqB,CAACY,QAAQ;IAC/C,IAAI,CAACA,QAAQ,EAAE;MACbR,SAAS,CAAC,2BAA2B,CAAC;MACtC;IACF;IACA,MAAMS,cAAc,GAAGb,qBAAqB,CAACa,cAAc;IAC3D,IAAI,CAACA,cAAc,EAAE;MACnBT,SAAS,CAAC,kCAAkC,CAAC;MAC7C;IACF;IACA,MAAMU,MAAM,GAAGhB,IAAI,CAACiB,iBAAiB;IACrC,IAAI,CAACD,MAAM,EAAE;MACXV,SAAS,CAAC,kDAAkD,CAAC;MAC7D;IACF;IACAU,MAAM,CAACd,qBAAqB,EAAER,IAAI,CAAC,CAChCwB,IAAI,CAAC,MAAM;MACVrB,YAAY,CAAC,KAAK,CAAC;MACnBF,OAAO,CAAC,EAAE,CAAC;MACXU,WAAW,CAAC,yBAAyB,CAAC;IACxC,CAAC,CAAC,CACDc,KAAK,CAACC,CAAC,IAAI;MACVvB,YAAY,CAAC,KAAK,CAAC;MACnBE,QAAQ,CAACqB,CAAC,CAACC,OAAO,IAAI,mBAAmB,CAAC;IAC5C,CAAC,CAAC;EACN,CAAC,EAAE,CAAC3B,IAAI,EAAEM,IAAI,EAAEK,WAAW,EAAEC,SAAS,CAAC,CAAC;EAExC,OAAO;IACLZ,IAAI;IACJC,OAAO;IACPC,SAAS;IACTE,KAAK;IACLe;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAuth","useToast","useCallback","useEffect","useRef","useState","useBackend","usePhoneVerify","factor","automaticallySendSmsCode","code","setCode","sendingCode","setSendingCode","verifying","setVerifying","error","setError","auth","multiFactorVerification","twoFactorVerification","enrollmentFactors","initSendCode","showSuccess","showError","sendCode","sendMultiFactorCode","multiFactorResolver","then","catch","e","message","initSendCodeFunc","current","handleVerify","resolver","verificationId","verify","verifyMultiFactor"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/usePhoneVerify.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { Platform } from 'react-native';
1
2
  /**
2
3
  * Validates Firebase authentication configuration to help identify common setup issues
3
4
  */
@@ -14,6 +15,9 @@ export const validateAuthConfiguration = providers => {
14
15
  } else if (!googleProvider.webClientId.includes('.apps.googleusercontent.com')) {
15
16
  warnings.push('Google webClientId format looks incorrect. Expected format: "xxx.apps.googleusercontent.com"');
16
17
  }
18
+ if (Platform.OS === 'ios' && !googleProvider.iosClientId) {
19
+ errors.push('Google provider is missing iosClientId. ' + 'Get this from Firebase Console > Authentication > Sign-in method > Google > iOS SDK configuration');
20
+ }
17
21
  }
18
22
 
19
23
  // Check environment
@@ -1 +1 @@
1
- {"version":3,"names":["validateAuthConfiguration","providers","_process$env","errors","warnings","googleProvider","find","p","name","webClientId","push","includes","process","isExpo","env","EXPO_PUBLIC_ENVIRONMENT","undefined","isValid","length","logValidationResults","result","packageName","console","error","forEach","warn","warning","log","validateAndLogAuthConfig"],"sourceRoot":"..\\..\\..\\src","sources":["utils/validation.ts"],"mappings":"AAQA;AACA;AACA;AACA,OAAO,MAAMA,yBAAyB,GAAIC,SAA6B,IAAuB;EAAA,IAAAC,YAAA;EAC5F,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,QAAkB,GAAG,EAAE;;EAE7B;EACA,MAAMC,cAAc,GAAGJ,SAAS,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAmC;EAEjG,IAAIH,cAAc,EAAE;IAClB,IAAI,CAACA,cAAc,CAACI,WAAW,EAAE;MAC/BN,MAAM,CAACO,IAAI,CACT,0CAA0C,GACxC,mGACJ,CAAC;IACH,CAAC,MAAM,IAAI,CAACL,cAAc,CAACI,WAAW,CAACE,QAAQ,CAAC,6BAA6B,CAAC,EAAE;MAC9EP,QAAQ,CAACM,IAAI,CACX,8FACF,CAAC;IACH;EACF;;EAEA;EACA,IAAI,OAAOE,OAAO,KAAK,WAAW,EAAE;IAClCR,QAAQ,CAACM,IAAI,CAAC,+EAA+E,CAAC;EAChG;;EAEA;EACA,MAAMG,MAAM,GACV,OAAOD,OAAO,KAAK,WAAW,IAAI,EAAAV,YAAA,GAAAU,OAAO,CAACE,GAAG,cAAAZ,YAAA,uBAAXA,YAAA,CAAaa,uBAAuB,MAAKC,SAAS;EACtF,IAAI,CAACH,MAAM,EAAE;IACXT,QAAQ,CAACM,IAAI,CACX,oDAAoD,GAClD,qDAAqD,GACrD,2DACJ,CAAC;EACH;EAEA,OAAO;IACLO,OAAO,EAAEd,MAAM,CAACe,MAAM,KAAK,CAAC;IAC5Bf,MAAM;IACNC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMe,oBAAoB,GAAGA,CAClCC,MAAwB,EACxBC,WAAW,GAAG,0BAA0B,KACrC;EACH,IAAID,MAAM,CAACjB,MAAM,CAACe,MAAM,GAAG,CAAC,EAAE;IAC5BI,OAAO,CAACC,KAAK,CAAC,IAAIF,WAAW,+BAA+B,CAAC;IAC7DD,MAAM,CAACjB,MAAM,CAACqB,OAAO,CAACD,KAAK,IAAID,OAAO,CAACC,KAAK,CAAC,OAAOA,KAAK,EAAE,CAAC,CAAC;EAC/D;EAEA,IAAIH,MAAM,CAAChB,QAAQ,CAACc,MAAM,GAAG,CAAC,EAAE;IAC9BI,OAAO,CAACG,IAAI,CAAC,IAAIJ,WAAW,2BAA2B,CAAC;IACxDD,MAAM,CAAChB,QAAQ,CAACoB,OAAO,CAACE,OAAO,IAAIJ,OAAO,CAACG,IAAI,CAAC,SAASC,OAAO,EAAE,CAAC,CAAC;EACtE;EAEA,IAAIN,MAAM,CAACH,OAAO,IAAIG,MAAM,CAAChB,QAAQ,CAACc,MAAM,KAAK,CAAC,EAAE;IAClDI,OAAO,CAACK,GAAG,CAAC,IAAIN,WAAW,qCAAqC,CAAC;EACnE;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMO,wBAAwB,GAAI3B,SAA6B,IAAK;EACzE,MAAMmB,MAAM,GAAGpB,yBAAyB,CAACC,SAAS,CAAC;EACnDkB,oBAAoB,CAACC,MAAM,CAAC;EAC5B,OAAOA,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","validateAuthConfiguration","providers","_process$env","errors","warnings","googleProvider","find","p","name","webClientId","push","includes","OS","iosClientId","process","isExpo","env","EXPO_PUBLIC_ENVIRONMENT","undefined","isValid","length","logValidationResults","result","packageName","console","error","forEach","warn","warning","log","validateAndLogAuthConfig"],"sourceRoot":"..\\..\\..\\src","sources":["utils/validation.ts"],"mappings":"AACA,SAASA,QAAQ,QAAQ,cAAc;AAQvC;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GAAIC,SAA6B,IAAuB;EAAA,IAAAC,YAAA;EAC5F,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,QAAkB,GAAG,EAAE;;EAE7B;EACA,MAAMC,cAAc,GAAGJ,SAAS,CAACK,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAmC;EAEjG,IAAIH,cAAc,EAAE;IAClB,IAAI,CAACA,cAAc,CAACI,WAAW,EAAE;MAC/BN,MAAM,CAACO,IAAI,CACT,0CAA0C,GACxC,mGACJ,CAAC;IACH,CAAC,MAAM,IAAI,CAACL,cAAc,CAACI,WAAW,CAACE,QAAQ,CAAC,6BAA6B,CAAC,EAAE;MAC9EP,QAAQ,CAACM,IAAI,CACX,8FACF,CAAC;IACH;IACA,IAAIX,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAI,CAACP,cAAc,CAACQ,WAAW,EAAE;MACxDV,MAAM,CAACO,IAAI,CACT,0CAA0C,GACxC,mGACJ,CAAC;IACH;EACF;;EAEA;EACA,IAAI,OAAOI,OAAO,KAAK,WAAW,EAAE;IAClCV,QAAQ,CAACM,IAAI,CAAC,+EAA+E,CAAC;EAChG;;EAEA;EACA,MAAMK,MAAM,GACV,OAAOD,OAAO,KAAK,WAAW,IAAI,EAAAZ,YAAA,GAAAY,OAAO,CAACE,GAAG,cAAAd,YAAA,uBAAXA,YAAA,CAAae,uBAAuB,MAAKC,SAAS;EACtF,IAAI,CAACH,MAAM,EAAE;IACXX,QAAQ,CAACM,IAAI,CACX,oDAAoD,GAClD,qDAAqD,GACrD,2DACJ,CAAC;EACH;EAEA,OAAO;IACLS,OAAO,EAAEhB,MAAM,CAACiB,MAAM,KAAK,CAAC;IAC5BjB,MAAM;IACNC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMiB,oBAAoB,GAAGA,CAClCC,MAAwB,EACxBC,WAAW,GAAG,0BAA0B,KACrC;EACH,IAAID,MAAM,CAACnB,MAAM,CAACiB,MAAM,GAAG,CAAC,EAAE;IAC5BI,OAAO,CAACC,KAAK,CAAC,IAAIF,WAAW,+BAA+B,CAAC;IAC7DD,MAAM,CAACnB,MAAM,CAACuB,OAAO,CAACD,KAAK,IAAID,OAAO,CAACC,KAAK,CAAC,OAAOA,KAAK,EAAE,CAAC,CAAC;EAC/D;EAEA,IAAIH,MAAM,CAAClB,QAAQ,CAACgB,MAAM,GAAG,CAAC,EAAE;IAC9BI,OAAO,CAACG,IAAI,CAAC,IAAIJ,WAAW,2BAA2B,CAAC;IACxDD,MAAM,CAAClB,QAAQ,CAACsB,OAAO,CAACE,OAAO,IAAIJ,OAAO,CAACG,IAAI,CAAC,SAASC,OAAO,EAAE,CAAC,CAAC;EACtE;EAEA,IAAIN,MAAM,CAACH,OAAO,IAAIG,MAAM,CAAClB,QAAQ,CAACgB,MAAM,KAAK,CAAC,EAAE;IAClDI,OAAO,CAACK,GAAG,CAAC,IAAIN,WAAW,qCAAqC,CAAC;EACnE;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMO,wBAAwB,GAAI7B,SAA6B,IAAK;EACzE,MAAMqB,MAAM,GAAGtB,yBAAyB,CAACC,SAAS,CAAC;EACnDoB,oBAAoB,CAACC,MAAM,CAAC;EAC5B,OAAOA,MAAM;AACf,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/adapter/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAQjB,MAAM,eAAe,CAAA;AAmBtB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAkc1C,eAAO,MAAM,sBAAsB,GACjC,MAAM,IAAI,EACV,mBAAmB,OAAO,KACzB,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0DzE,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/adapter/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAQjB,MAAM,eAAe,CAAA;AAoBtB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AA8c1C,eAAO,MAAM,sBAAsB,GACjC,MAAM,IAAI,EACV,mBAAmB,OAAO,KACzB,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4DzE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseSignIn.d.ts","sourceRoot":"","sources":["../../../src/components/FirebaseSignIn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAA0B,MAAM,eAAe,CAAA;AAI7F,OAAO,KAAgC,MAAM,OAAO,CAAA;AAyHpD,eAAO,MAAM,cAAc,GAAI,oCAG5B;IACD,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC,sBAOA,CAAA"}
1
+ {"version":3,"file":"FirebaseSignIn.d.ts","sourceRoot":"","sources":["../../../src/components/FirebaseSignIn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAA0B,MAAM,eAAe,CAAA;AAK7F,OAAO,KAAgC,MAAM,OAAO,CAAA;AA6HpD,eAAO,MAAM,cAAc,GAAI,oCAG5B;IACD,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC,sBAOA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneVerify.d.ts","sourceRoot":"","sources":["../../../src/components/PhoneVerify.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,WAAW,GAAI,YAAY;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,sBA+CxE,CAAA"}
1
+ {"version":3,"file":"PhoneVerify.d.ts","sourceRoot":"","sources":["../../../src/components/PhoneVerify.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAGxE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,eAAO,MAAM,WAAW,GAAI,YAAY;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,sBA4DxE,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const TwoFactorAuthModal: () => React.JSX.Element | null;
3
+ export declare const TestTwoFactorVerifyModal: () => React.JSX.Element;
3
4
  //# sourceMappingURL=TwoFactorAuthModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwoFactorAuthModal.d.ts","sourceRoot":"","sources":["../../../src/components/TwoFactorAuthModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuEvC,eAAO,MAAM,kBAAkB,gCAsB9B,CAAA"}
1
+ {"version":3,"file":"TwoFactorAuthModal.d.ts","sourceRoot":"","sources":["../../../src/components/TwoFactorAuthModal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuGvC,eAAO,MAAM,kBAAkB,gCAwB9B,CAAA;AASD,eAAO,MAAM,wBAAwB,yBAapC,CAAA"}
@@ -2,8 +2,10 @@ import { PhoneEnrollmentFactor } from '@chem-po/core';
2
2
  export declare const usePhoneVerify: (factor: PhoneEnrollmentFactor, automaticallySendSmsCode: boolean) => {
3
3
  code: string;
4
4
  setCode: import("react").Dispatch<import("react").SetStateAction<string>>;
5
+ sendCode: () => Promise<void>;
5
6
  verifying: boolean;
7
+ sendingCode: boolean;
6
8
  error: string;
7
- handleVerify: () => void;
9
+ handleVerify: () => Promise<void>;
8
10
  };
9
11
  //# sourceMappingURL=usePhoneVerify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePhoneVerify.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePhoneVerify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAKrD,eAAO,MAAM,cAAc,GAAI,QAAQ,qBAAqB,EAAE,0BAA0B,OAAO;;;;;;CAsE9F,CAAA"}
1
+ {"version":3,"file":"usePhoneVerify.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePhoneVerify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAKrD,eAAO,MAAM,cAAc,GAAI,QAAQ,qBAAqB,EAAE,0BAA0B,OAAO;;;;;;;;CAiF9F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,eAAe,CAAA;AAEpE,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,gBAAgB,EAAE,KAAG,gBAyCzE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,gBAAgB,EACxB,oBAAwC,SAezC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,gBAAgB,EAAE,qBAIrE,CAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,eAAe,CAAA;AAGpE,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAAW,gBAAgB,EAAE,KAAG,gBA+CzE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,gBAAgB,EACxB,oBAAwC,SAezC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,gBAAgB,EAAE,qBAIrE,CAAA"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@chem-po/firebase-native",
3
3
  "author": "Elan Canfield",
4
4
  "license": "MIT",
5
- "version": "0.0.38",
5
+ "version": "0.0.40",
6
6
  "main": "lib/commonjs/index.js",
7
7
  "types": "lib/typescript/index.d.ts",
8
8
  "source": "src/index.ts",
@@ -44,9 +44,9 @@
44
44
  "react-native-paper": "^5.14.3",
45
45
  "react-native-svg": "15.11.2",
46
46
  "zustand": "^4.3.3",
47
- "@chem-po/react-native": "0.0.38",
48
- "@chem-po/core": "0.0.38",
49
- "@chem-po/react": "0.0.38"
47
+ "@chem-po/core": "0.0.40",
48
+ "@chem-po/react-native": "0.0.40",
49
+ "@chem-po/react": "0.0.40"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@babel/core": "^7.26.0",