@bifold/core 1.0.0 → 2.0.1

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 (373) hide show
  1. package/lib/commonjs/App.js +26 -22
  2. package/lib/commonjs/App.js.map +1 -1
  3. package/lib/commonjs/components/inputs/BiometryControl.js +176 -0
  4. package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -0
  5. package/lib/commonjs/components/misc/ConnectionAlert.js +2 -2
  6. package/lib/commonjs/components/misc/ConnectionAlert.js.map +1 -1
  7. package/lib/commonjs/components/misc/InfoBox.js +3 -2
  8. package/lib/commonjs/components/misc/InfoBox.js.map +1 -1
  9. package/lib/commonjs/components/misc/{PINCreateHeader.js → PINHeader.js} +4 -4
  10. package/lib/commonjs/components/misc/PINHeader.js.map +1 -0
  11. package/lib/commonjs/components/misc/PINValidationHelper.js +50 -0
  12. package/lib/commonjs/components/misc/PINValidationHelper.js.map +1 -0
  13. package/lib/commonjs/components/views/PushNotificationsContent.js +52 -0
  14. package/lib/commonjs/components/views/PushNotificationsContent.js.map +1 -0
  15. package/lib/commonjs/components/views/PushNotificationsDisabledContent.js +47 -0
  16. package/lib/commonjs/components/views/PushNotificationsDisabledContent.js.map +1 -0
  17. package/lib/commonjs/container-api.js +8 -3
  18. package/lib/commonjs/container-api.js.map +1 -1
  19. package/lib/commonjs/container-impl.js +25 -21
  20. package/lib/commonjs/container-impl.js.map +1 -1
  21. package/lib/commonjs/contexts/activity.js +17 -41
  22. package/lib/commonjs/contexts/activity.js.map +1 -1
  23. package/lib/commonjs/contexts/auth.js +16 -6
  24. package/lib/commonjs/contexts/auth.js.map +1 -1
  25. package/lib/commonjs/contexts/navigation.js +24 -0
  26. package/lib/commonjs/contexts/navigation.js.map +1 -0
  27. package/lib/commonjs/contexts/reducers/store.js +14 -0
  28. package/lib/commonjs/contexts/reducers/store.js.map +1 -1
  29. package/lib/commonjs/contexts/theme.js +36 -3
  30. package/lib/commonjs/contexts/theme.js.map +1 -1
  31. package/lib/commonjs/hooks/deep-links.js +2 -4
  32. package/lib/commonjs/hooks/deep-links.js.map +1 -1
  33. package/lib/commonjs/hooks/{initialize-agent.js → useBifoldAgentSetup.js} +24 -44
  34. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -0
  35. package/lib/commonjs/hooks/useOnboardingState.js +3 -3
  36. package/lib/commonjs/hooks/useOnboardingState.js.map +1 -1
  37. package/lib/commonjs/hooks/usePINValidation.js +82 -0
  38. package/lib/commonjs/hooks/usePINValidation.js.map +1 -0
  39. package/lib/commonjs/index.js +34 -33
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/localization/en/index.js +31 -25
  42. package/lib/commonjs/localization/en/index.js.map +1 -1
  43. package/lib/commonjs/localization/fr/index.js +18 -6
  44. package/lib/commonjs/localization/fr/index.js.map +1 -1
  45. package/lib/commonjs/localization/pt-br/index.js +43 -37
  46. package/lib/commonjs/localization/pt-br/index.js.map +1 -1
  47. package/lib/commonjs/navigators/MainStack.js +31 -8
  48. package/lib/commonjs/navigators/MainStack.js.map +1 -1
  49. package/lib/commonjs/navigators/OnboardingScreens.js +8 -8
  50. package/lib/commonjs/navigators/OnboardingScreens.js.map +1 -1
  51. package/lib/commonjs/navigators/OnboardingStack.js +20 -12
  52. package/lib/commonjs/navigators/OnboardingStack.js.map +1 -1
  53. package/lib/commonjs/navigators/RootStack.js +27 -30
  54. package/lib/commonjs/navigators/RootStack.js.map +1 -1
  55. package/lib/commonjs/navigators/SettingStack.js +14 -15
  56. package/lib/commonjs/navigators/SettingStack.js.map +1 -1
  57. package/lib/commonjs/navigators/defaultStackOptions.js +13 -2
  58. package/lib/commonjs/navigators/defaultStackOptions.js.map +1 -1
  59. package/lib/commonjs/onboarding.js +12 -5
  60. package/lib/commonjs/onboarding.js.map +1 -1
  61. package/lib/commonjs/screens/Biometry.js +62 -0
  62. package/lib/commonjs/screens/Biometry.js.map +1 -0
  63. package/lib/commonjs/screens/CredentialOffer.js +2 -2
  64. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  65. package/lib/commonjs/screens/Onboarding.js.map +1 -1
  66. package/lib/commonjs/screens/PINChange.js +212 -0
  67. package/lib/commonjs/screens/PINChange.js.map +1 -0
  68. package/lib/commonjs/screens/PINCreate.js +47 -224
  69. package/lib/commonjs/screens/PINCreate.js.map +1 -1
  70. package/lib/commonjs/screens/Preface.js.map +1 -1
  71. package/lib/commonjs/screens/ProofRequest.js +112 -33
  72. package/lib/commonjs/screens/ProofRequest.js.map +1 -1
  73. package/lib/commonjs/screens/PushNotifications.js +71 -0
  74. package/lib/commonjs/screens/PushNotifications.js.map +1 -0
  75. package/lib/commonjs/screens/Settings.js +8 -24
  76. package/lib/commonjs/screens/Settings.js.map +1 -1
  77. package/lib/commonjs/screens/Splash.js +7 -23
  78. package/lib/commonjs/screens/Splash.js.map +1 -1
  79. package/lib/commonjs/screens/Terms.js.map +1 -1
  80. package/lib/commonjs/screens/ToggleBiometry.js +135 -0
  81. package/lib/commonjs/screens/ToggleBiometry.js.map +1 -0
  82. package/lib/commonjs/screens/{PushNotification.js → TogglePushNotifications.js} +41 -99
  83. package/lib/commonjs/screens/TogglePushNotifications.js.map +1 -0
  84. package/lib/commonjs/theme.js +4 -2
  85. package/lib/commonjs/theme.js.map +1 -1
  86. package/lib/commonjs/types/navigators.js +5 -2
  87. package/lib/commonjs/types/navigators.js.map +1 -1
  88. package/lib/commonjs/utils/{PINCreationValidation.js → PINValidation.js} +4 -4
  89. package/lib/commonjs/utils/PINValidation.js.map +1 -0
  90. package/lib/commonjs/utils/agent.js.map +1 -1
  91. package/lib/commonjs/utils/helpers.js +2 -0
  92. package/lib/commonjs/utils/helpers.js.map +1 -1
  93. package/lib/module/App.js +24 -20
  94. package/lib/module/App.js.map +1 -1
  95. package/lib/module/components/inputs/BiometryControl.js +167 -0
  96. package/lib/module/components/inputs/BiometryControl.js.map +1 -0
  97. package/lib/module/components/misc/ConnectionAlert.js +2 -2
  98. package/lib/module/components/misc/ConnectionAlert.js.map +1 -1
  99. package/lib/module/components/misc/InfoBox.js +3 -2
  100. package/lib/module/components/misc/InfoBox.js.map +1 -1
  101. package/lib/module/components/misc/{PINCreateHeader.js → PINHeader.js} +4 -4
  102. package/lib/module/components/misc/PINHeader.js.map +1 -0
  103. package/lib/module/components/misc/PINValidationHelper.js +43 -0
  104. package/lib/module/components/misc/PINValidationHelper.js.map +1 -0
  105. package/lib/module/components/views/PushNotificationsContent.js +45 -0
  106. package/lib/module/components/views/PushNotificationsContent.js.map +1 -0
  107. package/lib/module/components/views/PushNotificationsDisabledContent.js +40 -0
  108. package/lib/module/components/views/PushNotificationsDisabledContent.js.map +1 -0
  109. package/lib/module/container-api.js +7 -2
  110. package/lib/module/container-api.js.map +1 -1
  111. package/lib/module/container-impl.js +25 -21
  112. package/lib/module/container-impl.js.map +1 -1
  113. package/lib/module/contexts/activity.js +17 -41
  114. package/lib/module/contexts/activity.js.map +1 -1
  115. package/lib/module/contexts/auth.js +16 -6
  116. package/lib/module/contexts/auth.js.map +1 -1
  117. package/lib/module/contexts/navigation.js +17 -0
  118. package/lib/module/contexts/navigation.js.map +1 -0
  119. package/lib/module/contexts/reducers/store.js +14 -0
  120. package/lib/module/contexts/reducers/store.js.map +1 -1
  121. package/lib/module/contexts/theme.js +36 -4
  122. package/lib/module/contexts/theme.js.map +1 -1
  123. package/lib/module/hooks/deep-links.js +2 -4
  124. package/lib/module/hooks/deep-links.js.map +1 -1
  125. package/lib/module/hooks/{initialize-agent.js → useBifoldAgentSetup.js} +25 -45
  126. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -0
  127. package/lib/module/hooks/useOnboardingState.js +3 -3
  128. package/lib/module/hooks/useOnboardingState.js.map +1 -1
  129. package/lib/module/hooks/usePINValidation.js +75 -0
  130. package/lib/module/hooks/usePINValidation.js.map +1 -0
  131. package/lib/module/index.js +6 -6
  132. package/lib/module/index.js.map +1 -1
  133. package/lib/module/localization/en/index.js +31 -25
  134. package/lib/module/localization/en/index.js.map +1 -1
  135. package/lib/module/localization/fr/index.js +18 -6
  136. package/lib/module/localization/fr/index.js.map +1 -1
  137. package/lib/module/localization/pt-br/index.js +43 -37
  138. package/lib/module/localization/pt-br/index.js.map +1 -1
  139. package/lib/module/navigators/MainStack.js +32 -9
  140. package/lib/module/navigators/MainStack.js.map +1 -1
  141. package/lib/module/navigators/OnboardingScreens.js +8 -8
  142. package/lib/module/navigators/OnboardingScreens.js.map +1 -1
  143. package/lib/module/navigators/OnboardingStack.js +21 -12
  144. package/lib/module/navigators/OnboardingStack.js.map +1 -1
  145. package/lib/module/navigators/RootStack.js +26 -29
  146. package/lib/module/navigators/RootStack.js.map +1 -1
  147. package/lib/module/navigators/SettingStack.js +14 -15
  148. package/lib/module/navigators/SettingStack.js.map +1 -1
  149. package/lib/module/navigators/defaultStackOptions.js +13 -2
  150. package/lib/module/navigators/defaultStackOptions.js.map +1 -1
  151. package/lib/module/onboarding.js +10 -4
  152. package/lib/module/onboarding.js.map +1 -1
  153. package/lib/module/screens/Biometry.js +53 -0
  154. package/lib/module/screens/Biometry.js.map +1 -0
  155. package/lib/module/screens/CredentialOffer.js +2 -2
  156. package/lib/module/screens/CredentialOffer.js.map +1 -1
  157. package/lib/module/screens/Onboarding.js.map +1 -1
  158. package/lib/module/screens/PINChange.js +203 -0
  159. package/lib/module/screens/PINChange.js.map +1 -0
  160. package/lib/module/screens/PINCreate.js +49 -226
  161. package/lib/module/screens/PINCreate.js.map +1 -1
  162. package/lib/module/screens/Preface.js.map +1 -1
  163. package/lib/module/screens/ProofRequest.js +113 -34
  164. package/lib/module/screens/ProofRequest.js.map +1 -1
  165. package/lib/module/screens/PushNotifications.js +63 -0
  166. package/lib/module/screens/PushNotifications.js.map +1 -0
  167. package/lib/module/screens/Settings.js +9 -25
  168. package/lib/module/screens/Settings.js.map +1 -1
  169. package/lib/module/screens/Splash.js +7 -23
  170. package/lib/module/screens/Splash.js.map +1 -1
  171. package/lib/module/screens/Terms.js.map +1 -1
  172. package/lib/module/screens/ToggleBiometry.js +126 -0
  173. package/lib/module/screens/ToggleBiometry.js.map +1 -0
  174. package/lib/module/screens/TogglePushNotifications.js +112 -0
  175. package/lib/module/screens/TogglePushNotifications.js.map +1 -0
  176. package/lib/module/theme.js +3 -1
  177. package/lib/module/theme.js.map +1 -1
  178. package/lib/module/types/navigators.js +5 -2
  179. package/lib/module/types/navigators.js.map +1 -1
  180. package/lib/module/utils/{PINCreationValidation.js → PINValidation.js} +2 -2
  181. package/lib/module/utils/PINValidation.js.map +1 -0
  182. package/lib/module/utils/agent.js.map +1 -1
  183. package/lib/module/utils/helpers.js +2 -0
  184. package/lib/module/utils/helpers.js.map +1 -1
  185. package/lib/typescript/src/App.d.ts +3 -3
  186. package/lib/typescript/src/App.d.ts.map +1 -1
  187. package/lib/typescript/src/components/inputs/BiometryControl.d.ts +9 -0
  188. package/lib/typescript/src/components/inputs/BiometryControl.d.ts.map +1 -0
  189. package/lib/typescript/src/components/misc/ConnectionAlert.d.ts +1 -1
  190. package/lib/typescript/src/components/misc/ConnectionAlert.d.ts.map +1 -1
  191. package/lib/typescript/src/components/misc/InfoBox.d.ts +1 -0
  192. package/lib/typescript/src/components/misc/InfoBox.d.ts.map +1 -1
  193. package/lib/typescript/src/components/misc/PINHeader.d.ts +6 -0
  194. package/lib/typescript/src/components/misc/PINHeader.d.ts.map +1 -0
  195. package/lib/typescript/src/components/misc/PINValidationHelper.d.ts +8 -0
  196. package/lib/typescript/src/components/misc/PINValidationHelper.d.ts.map +1 -0
  197. package/lib/typescript/src/components/views/PushNotificationsContent.d.ts +4 -0
  198. package/lib/typescript/src/components/views/PushNotificationsContent.d.ts.map +1 -0
  199. package/lib/typescript/src/components/views/PushNotificationsDisabledContent.d.ts +4 -0
  200. package/lib/typescript/src/components/views/PushNotificationsDisabledContent.d.ts.map +1 -0
  201. package/lib/typescript/src/container-api.d.ts +24 -13
  202. package/lib/typescript/src/container-api.d.ts.map +1 -1
  203. package/lib/typescript/src/container-impl.d.ts +4 -2
  204. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  205. package/lib/typescript/src/contexts/activity.d.ts.map +1 -1
  206. package/lib/typescript/src/contexts/auth.d.ts +3 -1
  207. package/lib/typescript/src/contexts/auth.d.ts.map +1 -1
  208. package/lib/typescript/src/contexts/navigation.d.ts +8 -0
  209. package/lib/typescript/src/contexts/navigation.d.ts.map +1 -0
  210. package/lib/typescript/src/contexts/reducers/store.d.ts +3 -1
  211. package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
  212. package/lib/typescript/src/contexts/theme.d.ts +9 -3
  213. package/lib/typescript/src/contexts/theme.d.ts.map +1 -1
  214. package/lib/typescript/src/hooks/deep-links.d.ts.map +1 -1
  215. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts +10 -0
  216. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -0
  217. package/lib/typescript/src/hooks/useOnboardingState.d.ts +2 -1
  218. package/lib/typescript/src/hooks/useOnboardingState.d.ts.map +1 -1
  219. package/lib/typescript/src/hooks/usePINValidation.d.ts +20 -0
  220. package/lib/typescript/src/hooks/usePINValidation.d.ts.map +1 -0
  221. package/lib/typescript/src/index.d.ts +9 -7
  222. package/lib/typescript/src/index.d.ts.map +1 -1
  223. package/lib/typescript/src/localization/en/index.d.ts +23 -17
  224. package/lib/typescript/src/localization/en/index.d.ts.map +1 -1
  225. package/lib/typescript/src/localization/fr/index.d.ts +14 -2
  226. package/lib/typescript/src/localization/fr/index.d.ts.map +1 -1
  227. package/lib/typescript/src/localization/pt-br/index.d.ts +23 -17
  228. package/lib/typescript/src/localization/pt-br/index.d.ts.map +1 -1
  229. package/lib/typescript/src/navigators/MainStack.d.ts.map +1 -1
  230. package/lib/typescript/src/navigators/OnboardingScreens.d.ts +3 -3
  231. package/lib/typescript/src/navigators/OnboardingScreens.d.ts.map +1 -1
  232. package/lib/typescript/src/navigators/OnboardingStack.d.ts +7 -1
  233. package/lib/typescript/src/navigators/OnboardingStack.d.ts.map +1 -1
  234. package/lib/typescript/src/navigators/RootStack.d.ts.map +1 -1
  235. package/lib/typescript/src/navigators/SettingStack.d.ts.map +1 -1
  236. package/lib/typescript/src/navigators/defaultStackOptions.d.ts.map +1 -1
  237. package/lib/typescript/src/onboarding.d.ts +4 -2
  238. package/lib/typescript/src/onboarding.d.ts.map +1 -1
  239. package/lib/typescript/src/screens/Biometry.d.ts +4 -0
  240. package/lib/typescript/src/screens/Biometry.d.ts.map +1 -0
  241. package/lib/typescript/src/screens/{PushNotification.d.ts → PINChange.d.ts} +3 -3
  242. package/lib/typescript/src/screens/PINChange.d.ts.map +1 -0
  243. package/lib/typescript/src/screens/PINCreate.d.ts.map +1 -1
  244. package/lib/typescript/src/screens/ProofRequest.d.ts.map +1 -1
  245. package/lib/typescript/src/screens/PushNotifications.d.ts +4 -0
  246. package/lib/typescript/src/screens/PushNotifications.d.ts.map +1 -0
  247. package/lib/typescript/src/screens/Settings.d.ts.map +1 -1
  248. package/lib/typescript/src/screens/Splash.d.ts +7 -4
  249. package/lib/typescript/src/screens/Splash.d.ts.map +1 -1
  250. package/lib/typescript/src/screens/ToggleBiometry.d.ts +4 -0
  251. package/lib/typescript/src/screens/ToggleBiometry.d.ts.map +1 -0
  252. package/lib/typescript/src/screens/TogglePushNotifications.d.ts +4 -0
  253. package/lib/typescript/src/screens/TogglePushNotifications.d.ts.map +1 -0
  254. package/lib/typescript/src/theme.d.ts +3 -1
  255. package/lib/typescript/src/theme.d.ts.map +1 -1
  256. package/lib/typescript/src/types/navigators.d.ts +11 -13
  257. package/lib/typescript/src/types/navigators.d.ts.map +1 -1
  258. package/lib/typescript/src/types/state.d.ts +1 -0
  259. package/lib/typescript/src/types/state.d.ts.map +1 -1
  260. package/lib/typescript/src/utils/{PINCreationValidation.d.ts → PINValidation.d.ts} +2 -2
  261. package/lib/typescript/src/utils/PINValidation.d.ts.map +1 -0
  262. package/lib/typescript/src/utils/agent.d.ts +1 -2
  263. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  264. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  265. package/package.json +5 -5
  266. package/src/App.tsx +41 -40
  267. package/src/components/inputs/BiometryControl.tsx +176 -0
  268. package/src/components/misc/ConnectionAlert.tsx +3 -3
  269. package/src/components/misc/InfoBox.tsx +3 -1
  270. package/src/components/misc/{PINCreateHeader.tsx → PINHeader.tsx} +4 -4
  271. package/src/components/misc/PINValidationHelper.tsx +48 -0
  272. package/src/components/views/PushNotificationsContent.tsx +51 -0
  273. package/src/components/views/PushNotificationsDisabledContent.tsx +47 -0
  274. package/src/container-api.ts +27 -11
  275. package/src/container-impl.ts +31 -27
  276. package/src/contexts/activity.tsx +17 -42
  277. package/src/contexts/auth.tsx +18 -6
  278. package/src/contexts/navigation.tsx +19 -0
  279. package/src/contexts/reducers/store.ts +12 -0
  280. package/src/contexts/theme.tsx +51 -0
  281. package/src/hooks/deep-links.ts +2 -4
  282. package/src/hooks/{initialize-agent.ts → useBifoldAgentSetup.ts} +32 -54
  283. package/src/hooks/useOnboardingState.ts +10 -3
  284. package/src/hooks/usePINValidation.ts +98 -0
  285. package/src/index.ts +12 -14
  286. package/src/localization/en/index.ts +26 -20
  287. package/src/localization/fr/index.ts +32 -20
  288. package/src/localization/pt-br/index.ts +39 -33
  289. package/src/navigators/MainStack.tsx +29 -8
  290. package/src/navigators/OnboardingScreens.ts +11 -11
  291. package/src/navigators/OnboardingStack.tsx +26 -14
  292. package/src/navigators/RootStack.tsx +31 -25
  293. package/src/navigators/SettingStack.tsx +15 -16
  294. package/src/navigators/defaultStackOptions.tsx +13 -2
  295. package/src/onboarding.ts +12 -5
  296. package/src/screens/Biometry.tsx +57 -0
  297. package/src/screens/CredentialOffer.tsx +2 -2
  298. package/src/screens/Onboarding.tsx +2 -2
  299. package/src/screens/PINChange.tsx +250 -0
  300. package/src/screens/PINCreate.tsx +51 -267
  301. package/src/screens/Preface.tsx +2 -2
  302. package/src/screens/ProofRequest.tsx +140 -48
  303. package/src/screens/PushNotifications.tsx +59 -0
  304. package/src/screens/Settings.tsx +5 -10
  305. package/src/screens/Splash.tsx +10 -22
  306. package/src/screens/Terms.tsx +2 -2
  307. package/src/screens/ToggleBiometry.tsx +167 -0
  308. package/src/screens/TogglePushNotifications.tsx +118 -0
  309. package/src/theme.ts +5 -1
  310. package/src/types/navigators.ts +11 -12
  311. package/src/types/state.ts +1 -0
  312. package/src/utils/{PINCreationValidation.ts → PINValidation.ts} +1 -1
  313. package/src/utils/agent.ts +1 -2
  314. package/src/utils/helpers.ts +2 -0
  315. package/lib/commonjs/components/misc/ActivityLogLink.js +0 -44
  316. package/lib/commonjs/components/misc/ActivityLogLink.js.map +0 -1
  317. package/lib/commonjs/components/misc/PINCreateHeader.js.map +0 -1
  318. package/lib/commonjs/components/modals/NotificationModal.js +0 -121
  319. package/lib/commonjs/components/modals/NotificationModal.js.map +0 -1
  320. package/lib/commonjs/components/texts/Label.js +0 -57
  321. package/lib/commonjs/components/texts/Label.js.map +0 -1
  322. package/lib/commonjs/components/texts/Title.js +0 -29
  323. package/lib/commonjs/components/texts/Title.js.map +0 -1
  324. package/lib/commonjs/components/views/ModularView.js +0 -41
  325. package/lib/commonjs/components/views/ModularView.js.map +0 -1
  326. package/lib/commonjs/hooks/initialize-agent.js.map +0 -1
  327. package/lib/commonjs/screens/PushNotification.js.map +0 -1
  328. package/lib/commonjs/screens/UseBiometry.js +0 -315
  329. package/lib/commonjs/screens/UseBiometry.js.map +0 -1
  330. package/lib/commonjs/utils/PINCreationValidation.js.map +0 -1
  331. package/lib/module/components/misc/ActivityLogLink.js +0 -37
  332. package/lib/module/components/misc/ActivityLogLink.js.map +0 -1
  333. package/lib/module/components/misc/PINCreateHeader.js.map +0 -1
  334. package/lib/module/components/modals/NotificationModal.js +0 -112
  335. package/lib/module/components/modals/NotificationModal.js.map +0 -1
  336. package/lib/module/components/texts/Label.js +0 -50
  337. package/lib/module/components/texts/Label.js.map +0 -1
  338. package/lib/module/components/texts/Title.js +0 -22
  339. package/lib/module/components/texts/Title.js.map +0 -1
  340. package/lib/module/components/views/ModularView.js +0 -34
  341. package/lib/module/components/views/ModularView.js.map +0 -1
  342. package/lib/module/hooks/initialize-agent.js.map +0 -1
  343. package/lib/module/screens/PushNotification.js +0 -170
  344. package/lib/module/screens/PushNotification.js.map +0 -1
  345. package/lib/module/screens/UseBiometry.js +0 -306
  346. package/lib/module/screens/UseBiometry.js.map +0 -1
  347. package/lib/module/utils/PINCreationValidation.js.map +0 -1
  348. package/lib/typescript/src/components/misc/ActivityLogLink.d.ts +0 -4
  349. package/lib/typescript/src/components/misc/ActivityLogLink.d.ts.map +0 -1
  350. package/lib/typescript/src/components/misc/PINCreateHeader.d.ts +0 -6
  351. package/lib/typescript/src/components/misc/PINCreateHeader.d.ts.map +0 -1
  352. package/lib/typescript/src/components/modals/NotificationModal.d.ts +0 -17
  353. package/lib/typescript/src/components/modals/NotificationModal.d.ts.map +0 -1
  354. package/lib/typescript/src/components/texts/Label.d.ts +0 -9
  355. package/lib/typescript/src/components/texts/Label.d.ts.map +0 -1
  356. package/lib/typescript/src/components/texts/Title.d.ts +0 -8
  357. package/lib/typescript/src/components/texts/Title.d.ts.map +0 -1
  358. package/lib/typescript/src/components/views/ModularView.d.ts +0 -9
  359. package/lib/typescript/src/components/views/ModularView.d.ts.map +0 -1
  360. package/lib/typescript/src/hooks/initialize-agent.d.ts +0 -7
  361. package/lib/typescript/src/hooks/initialize-agent.d.ts.map +0 -1
  362. package/lib/typescript/src/screens/PushNotification.d.ts.map +0 -1
  363. package/lib/typescript/src/screens/UseBiometry.d.ts +0 -4
  364. package/lib/typescript/src/screens/UseBiometry.d.ts.map +0 -1
  365. package/lib/typescript/src/utils/PINCreationValidation.d.ts.map +0 -1
  366. package/src/components/misc/ActivityLogLink.tsx +0 -34
  367. package/src/components/modals/NotificationModal.tsx +0 -127
  368. package/src/components/texts/Label.tsx +0 -51
  369. package/src/components/texts/Title.tsx +0 -25
  370. package/src/components/views/ModularView.tsx +0 -35
  371. package/src/contexts/theme.ts +0 -9
  372. package/src/screens/PushNotification.tsx +0 -186
  373. package/src/screens/UseBiometry.tsx +0 -357
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _native = require("@react-navigation/native");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactI18next = require("react-i18next");
10
+ var _reactNative = require("react-native");
11
+ var _ButtonApi = require("../components/buttons/Button-api");
12
+ var _PINInput = _interopRequireDefault(require("../components/inputs/PINInput"));
13
+ var _PINValidationHelper = _interopRequireDefault(require("../components/misc/PINValidationHelper"));
14
+ var _AlertModal = _interopRequireDefault(require("../components/modals/AlertModal"));
15
+ var _KeyboardView = _interopRequireDefault(require("../components/views/KeyboardView"));
16
+ var _constants = require("../constants");
17
+ var _containerApi = require("../container-api");
18
+ var _animatedComponents = require("../contexts/animated-components");
19
+ var _auth = require("../contexts/auth");
20
+ var _store = require("../contexts/store");
21
+ var _theme = require("../contexts/theme");
22
+ var _usePINValidation = require("../hooks/usePINValidation");
23
+ var _types = require("../modules/history/types");
24
+ var _error = require("../types/error");
25
+ var _navigators = require("../types/navigators");
26
+ var _agent = require("../utils/agent");
27
+ var _testable = require("../utils/testable");
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
30
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
+ // eslint-disable-next-line import/no-named-as-default
32
+
33
+ const PINChange = () => {
34
+ const {
35
+ agent
36
+ } = (0, _agent.useAppAgent)();
37
+ const {
38
+ checkWalletPIN,
39
+ rekeyWallet
40
+ } = (0, _auth.useAuth)();
41
+ const [PIN, setPIN] = (0, _react.useState)('');
42
+ const [PINTwo, setPINTwo] = (0, _react.useState)('');
43
+ const [PINOld, setPINOld] = (0, _react.useState)('');
44
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
45
+ const navigation = (0, _native.useNavigation)();
46
+ const [store] = (0, _store.useStore)();
47
+ const {
48
+ t
49
+ } = (0, _reactI18next.useTranslation)();
50
+ const {
51
+ ColorPallet
52
+ } = (0, _theme.useTheme)();
53
+ const {
54
+ ButtonLoading
55
+ } = (0, _animatedComponents.useAnimatedComponents)();
56
+ const PINTwoInputRef = (0, _react.useRef)(null);
57
+ const createPINButtonRef = (0, _react.useRef)(null);
58
+ const [PINHeader, Button, inlineMessages, logger, historyManagerCurried, historyEnabled, historyEventsLogger] = (0, _containerApi.useServices)([_containerApi.TOKENS.COMPONENT_PIN_HEADER, _containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS, _containerApi.TOKENS.UTIL_LOGGER, _containerApi.TOKENS.FN_LOAD_HISTORY, _containerApi.TOKENS.HISTORY_ENABLED, _containerApi.TOKENS.HISTORY_EVENTS_LOGGER]);
59
+ const {
60
+ PINValidations,
61
+ validatePINEntry,
62
+ inlineMessageField1,
63
+ inlineMessageField2,
64
+ modalState,
65
+ setModalState,
66
+ clearModal,
67
+ PINSecurity
68
+ } = (0, _usePINValidation.usePINValidation)(PIN, PINTwo);
69
+ const style = _reactNative.StyleSheet.create({
70
+ screenContainer: {
71
+ height: '100%',
72
+ backgroundColor: ColorPallet.brand.primaryBackground,
73
+ padding: 20,
74
+ justifyContent: 'space-between'
75
+ },
76
+ // below used as helpful labels for views, no properties needed atp
77
+ contentContainer: {},
78
+ controlsContainer: {}
79
+ });
80
+ const checkOldPIN = (0, _react.useCallback)(async PIN => {
81
+ const valid = await checkWalletPIN(PIN);
82
+ if (!valid) {
83
+ setModalState({
84
+ visible: true,
85
+ title: t('PINCreate.InvalidPIN'),
86
+ message: t(`PINCreate.Message.OldPINIncorrect`),
87
+ onModalDismiss: clearModal
88
+ });
89
+ }
90
+ return valid;
91
+ }, [checkWalletPIN, t, setModalState, clearModal]);
92
+ const logHistoryRecord = (0, _react.useCallback)(() => {
93
+ try {
94
+ if (!(agent && historyEnabled)) {
95
+ logger.trace(`[${PINChange.name}]:[logHistoryRecord] Skipping history log, either history function disabled or agent undefined`);
96
+ return;
97
+ }
98
+ const historyManager = historyManagerCurried(agent);
99
+ /** Save history record for pin edited */
100
+ const recordData = {
101
+ type: _types.HistoryCardType.PinChanged,
102
+ message: _types.HistoryCardType.PinChanged,
103
+ createdAt: new Date()
104
+ };
105
+ historyManager.saveHistory(recordData);
106
+ } catch (err) {
107
+ logger.error(`[${PINChange.name}]:[logHistoryRecord] Error saving history: ${err}`);
108
+ }
109
+ }, [agent, historyEnabled, logger, historyManagerCurried]);
110
+ const handleChangePinTap = async () => {
111
+ try {
112
+ setIsLoading(true);
113
+ const valid = validatePINEntry(PIN, PINTwo);
114
+ if (valid) {
115
+ const oldPinValid = await checkOldPIN(PINOld);
116
+ if (oldPinValid) {
117
+ const success = await rekeyWallet(agent, PINOld, PIN, store.preferences.useBiometry);
118
+ if (success) {
119
+ if (historyEventsLogger.logPinChanged) {
120
+ logHistoryRecord();
121
+ }
122
+ setModalState({
123
+ visible: true,
124
+ title: t('PINChange.PinChangeSuccessTitle'),
125
+ message: t('PINChange.PinChangeSuccessMessage'),
126
+ onModalDismiss: () => {
127
+ navigation.navigate(_navigators.Screens.Settings);
128
+ clearModal();
129
+ }
130
+ });
131
+ }
132
+ }
133
+ }
134
+ } catch (err) {
135
+ const error = new _error.BifoldError(t('Error.Title1049'), t('Error.Message1049'), (err === null || err === void 0 ? void 0 : err.message) ?? err, 1049);
136
+ _reactNative.DeviceEventEmitter.emit(_constants.EventTypes.ERROR_ADDED, error);
137
+ } finally {
138
+ setIsLoading(false);
139
+ }
140
+ };
141
+ const isContinueDisabled = (0, _react.useMemo)(() => {
142
+ if (inlineMessages || isLoading) {
143
+ return false;
144
+ }
145
+ return PIN === '' || PINTwo === '' || PINOld === '' || PIN.length < _constants.minPINLength || PINTwo.length < _constants.minPINLength;
146
+ }, [inlineMessages, isLoading, PIN, PINTwo, PINOld]);
147
+ return /*#__PURE__*/_react.default.createElement(_KeyboardView.default, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
148
+ style: style.screenContainer
149
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
150
+ style: style.contentContainer
151
+ }, /*#__PURE__*/_react.default.createElement(PINHeader, {
152
+ updatePin: true
153
+ }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
154
+ label: t('PINChange.EnterOldPINTitle'),
155
+ testID: (0, _testable.testIdWithKey)('EnterOldPIN'),
156
+ accessibilityLabel: t('PINChange.EnterOldPIN'),
157
+ onPINChanged: p => {
158
+ setPINOld(p);
159
+ }
160
+ }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
161
+ label: t('PINChange.EnterPINTitle'),
162
+ onPINChanged: p => {
163
+ setPIN(p);
164
+ if (p.length === _constants.minPINLength && PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
165
+ PINTwoInputRef.current.focus();
166
+ const reactTag = (0, _reactNative.findNodeHandle)(PINTwoInputRef.current);
167
+ if (reactTag) {
168
+ _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
169
+ }
170
+ }
171
+ },
172
+ testID: (0, _testable.testIdWithKey)('EnterPIN'),
173
+ accessibilityLabel: t('PINCreate.EnterPIN'),
174
+ autoFocus: false,
175
+ inlineMessage: inlineMessageField1
176
+ }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
177
+ label: t('PINChange.ReenterPIN'),
178
+ onPINChanged: p => {
179
+ setPINTwo(p);
180
+ if (p.length === _constants.minPINLength) {
181
+ _reactNative.Keyboard.dismiss();
182
+ const reactTag = (createPINButtonRef === null || createPINButtonRef === void 0 ? void 0 : createPINButtonRef.current) && (0, _reactNative.findNodeHandle)(createPINButtonRef.current);
183
+ if (reactTag) {
184
+ _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
185
+ }
186
+ }
187
+ },
188
+ testID: (0, _testable.testIdWithKey)('ReenterPIN'),
189
+ accessibilityLabel: t('PINChange.ReenterPIN'),
190
+ autoFocus: false,
191
+ ref: PINTwoInputRef,
192
+ inlineMessage: inlineMessageField2
193
+ }), PINSecurity.displayHelper && /*#__PURE__*/_react.default.createElement(_PINValidationHelper.default, {
194
+ validations: PINValidations
195
+ }), modalState.visible && /*#__PURE__*/_react.default.createElement(_AlertModal.default, {
196
+ title: modalState.title,
197
+ message: modalState.message,
198
+ submit: modalState.onModalDismiss
199
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
200
+ style: style.controlsContainer
201
+ }, /*#__PURE__*/_react.default.createElement(Button, {
202
+ title: t('PINChange.ChangePIN'),
203
+ testID: (0, _testable.testIdWithKey)('ChangePIN'),
204
+ accessibilityLabel: t('PINChange.ChangePIN'),
205
+ buttonType: _ButtonApi.ButtonType.Primary,
206
+ disabled: isContinueDisabled,
207
+ onPress: handleChangePinTap,
208
+ ref: createPINButtonRef
209
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null))));
210
+ };
211
+ var _default = exports.default = PINChange;
212
+ //# sourceMappingURL=PINChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_native","require","_react","_interopRequireWildcard","_reactI18next","_reactNative","_ButtonApi","_PINInput","_interopRequireDefault","_PINValidationHelper","_AlertModal","_KeyboardView","_constants","_containerApi","_animatedComponents","_auth","_store","_theme","_usePINValidation","_types","_error","_navigators","_agent","_testable","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PINChange","agent","useAppAgent","checkWalletPIN","rekeyWallet","useAuth","PIN","setPIN","useState","PINTwo","setPINTwo","PINOld","setPINOld","isLoading","setIsLoading","navigation","useNavigation","store","useStore","useTranslation","ColorPallet","useTheme","ButtonLoading","useAnimatedComponents","PINTwoInputRef","useRef","createPINButtonRef","PINHeader","Button","inlineMessages","logger","historyManagerCurried","historyEnabled","historyEventsLogger","useServices","TOKENS","COMPONENT_PIN_HEADER","COMP_BUTTON","INLINE_ERRORS","UTIL_LOGGER","FN_LOAD_HISTORY","HISTORY_ENABLED","HISTORY_EVENTS_LOGGER","PINValidations","validatePINEntry","inlineMessageField1","inlineMessageField2","modalState","setModalState","clearModal","PINSecurity","usePINValidation","style","StyleSheet","create","screenContainer","height","backgroundColor","brand","primaryBackground","padding","justifyContent","contentContainer","controlsContainer","checkOldPIN","useCallback","valid","visible","title","message","onModalDismiss","logHistoryRecord","trace","name","historyManager","recordData","type","HistoryCardType","PinChanged","createdAt","Date","saveHistory","err","error","handleChangePinTap","oldPinValid","success","preferences","useBiometry","logPinChanged","navigate","Screens","Settings","BifoldError","DeviceEventEmitter","emit","EventTypes","ERROR_ADDED","isContinueDisabled","useMemo","length","minPINLength","createElement","View","updatePin","label","testID","testIdWithKey","accessibilityLabel","onPINChanged","p","current","focus","reactTag","findNodeHandle","AccessibilityInfo","setAccessibilityFocus","autoFocus","inlineMessage","Keyboard","dismiss","ref","displayHelper","validations","submit","buttonType","ButtonType","Primary","disabled","onPress","_default","exports"],"sourceRoot":"../../../src","sources":["screens/PINChange.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _native = require("@react-navigation/native");
8
7
  var _react = _interopRequireWildcard(require("react"));
9
8
  var _reactI18next = require("react-i18next");
10
9
  var _reactNative = require("react-native");
11
- var _MaterialIcons = _interopRequireDefault(require("react-native-vector-icons/MaterialIcons"));
12
10
  var _ButtonApi = require("../components/buttons/Button-api");
13
11
  var _PINInput = _interopRequireDefault(require("../components/inputs/PINInput"));
12
+ var _PINValidationHelper = _interopRequireDefault(require("../components/misc/PINValidationHelper"));
14
13
  var _AlertModal = _interopRequireDefault(require("../components/modals/AlertModal"));
15
14
  var _KeyboardView = _interopRequireDefault(require("../components/views/KeyboardView"));
16
15
  var _constants = require("../constants");
@@ -20,14 +19,9 @@ var _auth = require("../contexts/auth");
20
19
  var _store = require("../contexts/reducers/store");
21
20
  var _store2 = require("../contexts/store");
22
21
  var _theme = require("../contexts/theme");
22
+ var _usePINValidation = require("../hooks/usePINValidation");
23
23
  var _error = require("../types/error");
24
- var _navigators = require("../types/navigators");
25
- var _PINCreationValidation = require("../utils/PINCreationValidation");
26
24
  var _testable = require("../utils/testable");
27
- var _InlineErrorText = require("../components/inputs/InlineErrorText");
28
- var _types = require("../modules/history/types");
29
- var _agent = require("../utils/agent");
30
- var _ThemedText = require("../components/texts/ThemedText");
31
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
32
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
33
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -35,37 +29,18 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
35
29
 
36
30
  const PINCreate = ({
37
31
  setAuthenticated,
38
- explainedStatus,
39
- route
32
+ explainedStatus
40
33
  }) => {
41
- var _route$params;
42
- const updatePin = (_route$params = route.params) === null || _route$params === void 0 ? void 0 : _route$params.updatePin;
43
34
  const {
44
- agent
45
- } = (0, _agent.useAppAgent)();
46
- const {
47
- setPIN: setWalletPIN,
48
- checkWalletPIN,
49
- rekeyWallet
35
+ setPIN: setWalletPIN
50
36
  } = (0, _auth.useAuth)();
51
37
  const [PIN, setPIN] = (0, _react.useState)('');
52
38
  const [PINTwo, setPINTwo] = (0, _react.useState)('');
53
- const [PINOld, setPINOld] = (0, _react.useState)('');
54
- const [continueEnabled, setContinueEnabled] = (0, _react.useState)(true);
55
39
  const [isLoading, setIsLoading] = (0, _react.useState)(false);
56
- const [modalState, setModalState] = (0, _react.useState)({
57
- visible: false,
58
- title: '',
59
- message: ''
60
- });
61
- const iconSize = 24;
62
- const navigation = (0, _native.useNavigation)();
63
- const [store, dispatch] = (0, _store2.useStore)();
40
+ const [, dispatch] = (0, _store2.useStore)();
64
41
  const {
65
42
  t
66
43
  } = (0, _reactI18next.useTranslation)();
67
- const [inlineMessageField1, setInlineMessageField1] = (0, _react.useState)();
68
- const [inlineMessageField2, setInlineMessageField2] = (0, _react.useState)();
69
44
  const {
70
45
  ColorPallet
71
46
  } = (0, _theme.useTheme)();
@@ -74,14 +49,18 @@ const PINCreate = ({
74
49
  } = (0, _animatedComponents.useAnimatedComponents)();
75
50
  const PINTwoInputRef = (0, _react.useRef)(null);
76
51
  const createPINButtonRef = (0, _react.useRef)(null);
77
- const actionButtonLabel = updatePin ? t('PINCreate.ChangePIN') : t('PINCreate.CreatePIN');
78
- const actionButtonTestId = updatePin ? (0, _testable.testIdWithKey)('ChangePIN') : (0, _testable.testIdWithKey)('CreatePIN');
79
- const [PINExplainer, PINCreateHeader, {
80
- PINSecurity,
52
+ const [PINExplainer, PINHeader, {
81
53
  showPINExplainer
82
- }, Button, inlineMessages, logger, historyManagerCurried, historyEnabled, historyEventsLogger] = (0, _containerApi.useServices)([_containerApi.TOKENS.SCREEN_PIN_EXPLAINER, _containerApi.TOKENS.COMPONENT_PIN_CREATE_HEADER, _containerApi.TOKENS.CONFIG, _containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS, _containerApi.TOKENS.UTIL_LOGGER, _containerApi.TOKENS.FN_LOAD_HISTORY, _containerApi.TOKENS.HISTORY_ENABLED, _containerApi.TOKENS.HISTORY_EVENTS_LOGGER]);
54
+ }, Button, inlineMessages] = (0, _containerApi.useServices)([_containerApi.TOKENS.SCREEN_PIN_EXPLAINER, _containerApi.TOKENS.COMPONENT_PIN_HEADER, _containerApi.TOKENS.CONFIG, _containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS]);
83
55
  const [explained, setExplained] = (0, _react.useState)(explainedStatus || showPINExplainer === false);
84
- const [PINOneValidations, setPINOneValidations] = (0, _react.useState)((0, _PINCreationValidation.PINCreationValidations)(PIN, PINSecurity.rules));
56
+ const {
57
+ PINValidations,
58
+ validatePINEntry,
59
+ inlineMessageField1,
60
+ inlineMessageField2,
61
+ modalState,
62
+ PINSecurity
63
+ } = (0, _usePINValidation.usePINValidation)(PIN, PINTwo);
85
64
  const style = _reactNative.StyleSheet.create({
86
65
  screenContainer: {
87
66
  height: '100%',
@@ -95,10 +74,9 @@ const PINCreate = ({
95
74
  });
96
75
  const passcodeCreate = (0, _react.useCallback)(async PIN => {
97
76
  try {
98
- setContinueEnabled(false);
99
77
  await setWalletPIN(PIN);
100
- // This will trigger initAgent
101
78
  setAuthenticated(true);
79
+ // this dispatch finishes this step of onboarding and will cause a navigation
102
80
  dispatch({
103
81
  type: _store.DispatchAction.DID_CREATE_PIN
104
82
  });
@@ -107,150 +85,35 @@ const PINCreate = ({
107
85
  _reactNative.DeviceEventEmitter.emit(_constants.EventTypes.ERROR_ADDED, error);
108
86
  }
109
87
  }, [setWalletPIN, setAuthenticated, dispatch, t]);
110
- const displayModalMessage = (title, message) => {
111
- setModalState({
112
- visible: true,
113
- title: title,
114
- message: message
115
- });
116
- };
117
- const attentionMessage = (0, _react.useCallback)((title, message, pinOne) => {
118
- if (inlineMessages.enabled) {
119
- const config = {
120
- message: message,
121
- inlineType: _InlineErrorText.InlineErrorType.error,
122
- config: inlineMessages
123
- };
124
- if (pinOne) {
125
- setInlineMessageField1(config);
126
- } else {
127
- setInlineMessageField2(config);
128
- }
129
- } else {
130
- displayModalMessage(title, message);
131
- }
132
- }, [inlineMessages]);
133
- const validatePINEntry = (0, _react.useCallback)((PINOne, PINTwo) => {
134
- for (const validation of PINOneValidations) {
135
- if (validation.isInvalid) {
136
- attentionMessage(t('PINCreate.InvalidPIN'), t(`PINCreate.Message.${validation.errorName}`, validation === null || validation === void 0 ? void 0 : validation.errorTextAddition), true);
137
- return false;
138
- }
139
- }
140
- if (PINOne !== PINTwo) {
141
- attentionMessage(t('PINCreate.InvalidPIN'), t('PINCreate.PINsDoNotMatch'), false);
142
- return false;
143
- }
144
- return true;
145
- }, [PINOneValidations, t, attentionMessage]);
146
- const checkOldPIN = (0, _react.useCallback)(async PIN => {
147
- const valid = await checkWalletPIN(PIN);
148
- if (!valid) {
149
- displayModalMessage(t('PINCreate.InvalidPIN'), t(`PINCreate.Message.OldPINIncorrect`));
150
- }
151
- return valid;
152
- }, [checkWalletPIN, t]);
153
- const confirmEntry = (0, _react.useCallback)(async (PINOne, PINTwo) => {
154
- if (!validatePINEntry(PINOne, PINTwo)) {
155
- return;
156
- }
157
- await passcodeCreate(PINOne);
158
- }, [validatePINEntry, passcodeCreate]);
159
- const logHistoryRecord = (0, _react.useCallback)(() => {
160
- try {
161
- if (!(agent && historyEnabled)) {
162
- logger.trace(`[${PINCreate.name}]:[logHistoryRecord] Skipping history log, either history function disabled or agent undefined!`);
163
- return;
164
- }
165
- const historyManager = historyManagerCurried(agent);
166
- /** Save history record for pin edited */
167
- const recordData = {
168
- type: _types.HistoryCardType.PinChanged,
169
- message: _types.HistoryCardType.PinChanged,
170
- createdAt: new Date()
171
- };
172
- historyManager.saveHistory(recordData);
173
- } catch (err) {
174
- logger.error(`[${PINCreate.name}]:[logHistoryRecord] Error saving history: ${err}`);
175
- }
176
- }, [agent, historyEnabled, logger, historyManagerCurried]);
177
- const handleCreatePinTap = async () => {
88
+ const handleCreatePinTap = (0, _react.useCallback)(async () => {
178
89
  setIsLoading(true);
179
- if (updatePin) {
180
- const valid = validatePINEntry(PIN, PINTwo);
181
- if (valid) {
182
- setContinueEnabled(false);
183
- const oldPinValid = await checkOldPIN(PINOld);
184
- if (oldPinValid) {
185
- const success = await rekeyWallet(PINOld, PIN, store.preferences.useBiometry);
186
- if (success) {
187
- if (historyEventsLogger.logPinChanged) {
188
- logHistoryRecord();
189
- }
190
- setModalState({
191
- visible: true,
192
- title: t('PINCreate.PinChangeSuccessTitle'),
193
- message: t('PINCreate.PinChangeSuccessMessage'),
194
- onModalDismiss: () => {
195
- navigation.navigate(_navigators.Screens.Settings);
196
- }
197
- });
198
- }
199
- }
200
- setContinueEnabled(true);
201
- }
202
- } else {
203
- await confirmEntry(PIN, PINTwo);
90
+ if (validatePINEntry(PIN, PINTwo)) {
91
+ await passcodeCreate(PIN);
204
92
  }
205
93
  setIsLoading(false);
206
- };
207
- const isContinueDisabled = () => {
208
- if (inlineMessages) {
94
+ }, [PIN, PINTwo, passcodeCreate, validatePINEntry]);
95
+ const isContinueDisabled = (0, _react.useMemo)(() => {
96
+ if (inlineMessages.enabled) {
209
97
  return false;
210
98
  }
211
- return !continueEnabled || PIN.length < _constants.minPINLength || PINTwo.length < _constants.minPINLength;
212
- };
213
- (0, _react.useEffect)(() => {
214
- if (updatePin) {
215
- setContinueEnabled(PIN !== '' && PINTwo !== '' && PINOld !== '');
216
- }
217
- }, [updatePin, PIN, PINTwo, PINOld]);
218
- const continueCreatePIN = () => {
99
+ return isLoading || PIN.length < _constants.minPINLength || PINTwo.length < _constants.minPINLength;
100
+ }, [isLoading, PIN, PINTwo, inlineMessages]);
101
+ const continueCreatePIN = (0, _react.useCallback)(() => {
219
102
  setExplained(true);
220
- };
221
- (0, _react.useEffect)(() => {
222
- setInlineMessageField1(undefined);
223
- setInlineMessageField2(undefined);
224
- }, [PIN, PINTwo]);
103
+ }, []);
225
104
  return explained ? /*#__PURE__*/_react.default.createElement(_KeyboardView.default, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
226
105
  style: style.screenContainer
227
106
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
228
107
  style: style.contentContainer
229
- }, /*#__PURE__*/_react.default.createElement(PINCreateHeader, {
230
- updatePin: updatePin
231
- }), updatePin && /*#__PURE__*/_react.default.createElement(_PINInput.default, {
232
- label: t('PINCreate.EnterOldPINTitle'),
233
- testID: (0, _testable.testIdWithKey)('EnterOldPIN'),
234
- accessibilityLabel: t('PINCreate.EnterOldPIN'),
235
- onPINChanged: p => {
236
- setPINOld(p);
237
- }
238
- }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
239
- label: t('PINCreate.EnterPINTitle', {
240
- new: updatePin ? t('PINCreate.NewPIN') + ' ' : ''
241
- }),
108
+ }, /*#__PURE__*/_react.default.createElement(PINHeader, null), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
109
+ label: t('PINCreate.EnterPINTitle'),
242
110
  onPINChanged: p => {
243
111
  setPIN(p);
244
- setPINOneValidations((0, _PINCreationValidation.PINCreationValidations)(p, PINSecurity.rules));
245
- if (p.length === _constants.minPINLength) {
246
- if (PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
247
- PINTwoInputRef.current.focus();
248
- // NOTE:(jl) `findNodeHandle` will be deprecated in React 18.
249
- // https://reactnative.dev/docs/new-architecture-library-intro#preparing-your-javascript-codebase-for-the-new-react-native-renderer-fabric
250
- const reactTag = (0, _reactNative.findNodeHandle)(PINTwoInputRef.current);
251
- if (reactTag) {
252
- _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
253
- }
112
+ if (p.length === _constants.minPINLength && PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
113
+ PINTwoInputRef.current.focus();
114
+ const reactTag = (0, _reactNative.findNodeHandle)(PINTwoInputRef.current);
115
+ if (reactTag) {
116
+ _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
254
117
  }
255
118
  }
256
119
  },
@@ -259,79 +122,39 @@ const PINCreate = ({
259
122
  autoFocus: false,
260
123
  inlineMessage: inlineMessageField1
261
124
  }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
262
- label: t('PINCreate.ReenterPIN', {
263
- new: updatePin ? t('PINCreate.NewPIN') + ' ' : ''
264
- }),
125
+ label: t('PINCreate.ReenterPIN'),
265
126
  onPINChanged: p => {
266
127
  setPINTwo(p);
267
128
  if (p.length === _constants.minPINLength) {
268
129
  _reactNative.Keyboard.dismiss();
269
- if (createPINButtonRef !== null && createPINButtonRef !== void 0 && createPINButtonRef.current) {
270
- // NOTE:(jl) `findNodeHandle` will be deprecated in React 18.
271
- // https://reactnative.dev/docs/new-architecture-library-intro#preparing-your-javascript-codebase-for-the-new-react-native-renderer-fabric
272
- const reactTag = (0, _reactNative.findNodeHandle)(createPINButtonRef.current);
273
- if (reactTag) {
274
- _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
275
- }
130
+ const reactTag = (createPINButtonRef === null || createPINButtonRef === void 0 ? void 0 : createPINButtonRef.current) && (0, _reactNative.findNodeHandle)(createPINButtonRef.current);
131
+ if (reactTag) {
132
+ _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
276
133
  }
277
134
  }
278
135
  },
279
136
  testID: (0, _testable.testIdWithKey)('ReenterPIN'),
280
- accessibilityLabel: t('PINCreate.ReenterPIN', {
281
- new: updatePin ? t('PINCreate.NewPIN') + ' ' : ''
282
- }),
137
+ accessibilityLabel: t('PINCreate.ReenterPIN'),
283
138
  autoFocus: false,
284
139
  ref: PINTwoInputRef,
285
140
  inlineMessage: inlineMessageField2
286
- }), PINSecurity.displayHelper && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
287
- style: {
288
- marginBottom: 16
289
- }
290
- }, PINOneValidations.map((validation, index) => {
291
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
292
- style: {
293
- flexDirection: 'row'
294
- },
295
- key: index
296
- }, validation.isInvalid ? /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
297
- accessibilityLabel: t('PINCreate.Helper.ClearIcon'),
298
- name: "clear",
299
- size: iconSize,
300
- color: ColorPallet.notification.errorIcon
301
- }) : /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
302
- accessibilityLabel: t('PINCreate.Helper.CheckIcon'),
303
- name: "check",
304
- size: iconSize,
305
- color: ColorPallet.notification.successIcon
306
- }), /*#__PURE__*/_react.default.createElement(_ThemedText.ThemedText, {
307
- style: {
308
- paddingLeft: 4
309
- }
310
- }, t(`PINCreate.Helper.${validation.errorName}`, validation === null || validation === void 0 ? void 0 : validation.errorTextAddition)));
311
- })), modalState.visible && /*#__PURE__*/_react.default.createElement(_AlertModal.default, {
141
+ }), PINSecurity.displayHelper && /*#__PURE__*/_react.default.createElement(_PINValidationHelper.default, {
142
+ validations: PINValidations
143
+ }), modalState.visible && /*#__PURE__*/_react.default.createElement(_AlertModal.default, {
312
144
  title: modalState.title,
313
145
  message: modalState.message,
314
- submit: () => {
315
- if (modalState.onModalDismiss) {
316
- modalState.onModalDismiss();
317
- }
318
- setModalState({
319
- ...modalState,
320
- visible: false,
321
- onModalDismiss: undefined
322
- });
323
- }
146
+ submit: modalState.onModalDismiss
324
147
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
325
148
  style: style.controlsContainer
326
149
  }, /*#__PURE__*/_react.default.createElement(Button, {
327
- title: actionButtonLabel,
328
- testID: actionButtonTestId,
329
- accessibilityLabel: actionButtonLabel,
150
+ title: t('PINCreate.CreatePIN'),
151
+ testID: (0, _testable.testIdWithKey)('CreatePIN'),
152
+ accessibilityLabel: t('PINCreate.CreatePIN'),
330
153
  buttonType: _ButtonApi.ButtonType.Primary,
331
- disabled: isContinueDisabled(),
154
+ disabled: isContinueDisabled,
332
155
  onPress: handleCreatePinTap,
333
156
  ref: createPINButtonRef
334
- }, !continueEnabled && isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null)))) : /*#__PURE__*/_react.default.createElement(PINExplainer, {
157
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null)))) : /*#__PURE__*/_react.default.createElement(PINExplainer, {
335
158
  continueCreatePIN: continueCreatePIN
336
159
  });
337
160
  };