@ha_tecno/live-id-sdk 2.14.1 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (294) hide show
  1. package/lib/commonjs/assets/svg/btn.svg +4 -0
  2. package/lib/commonjs/assets/svg/fingers/LI.svg +5 -0
  3. package/lib/commonjs/assets/svg/fingers/LM.svg +5 -0
  4. package/lib/commonjs/assets/svg/fingers/LP.svg +5 -0
  5. package/lib/commonjs/assets/svg/fingers/LR.svg +5 -0
  6. package/lib/commonjs/assets/svg/fingers/LT.svg +5 -0
  7. package/lib/commonjs/assets/svg/fingers/RI.svg +5 -0
  8. package/lib/commonjs/assets/svg/fingers/RM.svg +5 -0
  9. package/lib/commonjs/assets/svg/fingers/RP.svg +5 -0
  10. package/lib/commonjs/assets/svg/fingers/RR.svg +5 -0
  11. package/lib/commonjs/assets/svg/fingers/RT.svg +5 -0
  12. package/lib/commonjs/assets/svg/hand.svg +15 -0
  13. package/lib/commonjs/assets/svg/phone.svg +39 -0
  14. package/lib/commonjs/assets/svg/recordButton.svg +4 -0
  15. package/lib/commonjs/assets/svg/rectangle.svg +3 -0
  16. package/lib/commonjs/components/Gabarito/gabarito.js +56 -0
  17. package/lib/commonjs/components/Gabarito/gabarito.js.map +1 -0
  18. package/lib/commonjs/components/Gabarito/styles.js +2 -16
  19. package/lib/commonjs/components/Gabarito/styles.js.map +1 -1
  20. package/lib/commonjs/components/{Gabarito/index.js → HAButton/HAButton.js} +11 -7
  21. package/lib/commonjs/components/HAButton/HAButton.js.map +1 -0
  22. package/lib/commonjs/components/HAButton/styles.js +28 -0
  23. package/lib/commonjs/components/HAButton/styles.js.map +1 -0
  24. package/lib/commonjs/components/HACaptureButton/HACaptureButton.js +21 -0
  25. package/lib/commonjs/components/HACaptureButton/HACaptureButton.js.map +1 -0
  26. package/lib/commonjs/components/HACaptureInstructions/HACard/styles.js +4 -1
  27. package/lib/commonjs/components/HACaptureInstructions/HACard/styles.js.map +1 -1
  28. package/lib/commonjs/components/HACaptureInstructions/style.js +8 -2
  29. package/lib/commonjs/components/HACaptureInstructions/style.js.map +1 -1
  30. package/lib/commonjs/components/HACarouselCalibration/HACarouselItem/HACarouselItem.js +3 -5
  31. package/lib/commonjs/components/HACarouselCalibration/HACarouselItem/HACarouselItem.js.map +1 -1
  32. package/lib/commonjs/components/HACarouselCalibration/HAPagination/styles.js +2 -1
  33. package/lib/commonjs/components/HACarouselCalibration/HAPagination/styles.js.map +1 -1
  34. package/lib/commonjs/components/{modalMessage/modalMessage.js → HAModalMessage/HAModalMessage.js} +26 -14
  35. package/lib/commonjs/components/HAModalMessage/HAModalMessage.js.map +1 -0
  36. package/lib/commonjs/components/{modalMessage → HAModalMessage}/styles.js +15 -9
  37. package/lib/commonjs/components/HAModalMessage/styles.js.map +1 -0
  38. package/lib/commonjs/components/HARecordButton/HARecordButton.js +21 -0
  39. package/lib/commonjs/components/HARecordButton/HARecordButton.js.map +1 -0
  40. package/lib/commonjs/components/HARecordButton/styles.js +2 -0
  41. package/lib/commonjs/components/HARecordButton/styles.js.map +1 -0
  42. package/lib/commonjs/components/HARecordInstructions/HARecordInstructions.js +101 -0
  43. package/lib/commonjs/components/HARecordInstructions/HARecordInstructions.js.map +1 -0
  44. package/lib/commonjs/components/HARecordInstructions/data.js +14 -0
  45. package/lib/commonjs/components/HARecordInstructions/data.js.map +1 -0
  46. package/lib/commonjs/components/HARecordInstructions/styles.js +65 -0
  47. package/lib/commonjs/components/HARecordInstructions/styles.js.map +1 -0
  48. package/lib/commonjs/components/HAStepIndicator/HAStepIndicator.js +39 -0
  49. package/lib/commonjs/components/HAStepIndicator/HAStepIndicator.js.map +1 -0
  50. package/lib/commonjs/components/HAStepIndicator/styles.js +48 -0
  51. package/lib/commonjs/components/HAStepIndicator/styles.js.map +1 -0
  52. package/lib/commonjs/components/index.js +44 -9
  53. package/lib/commonjs/components/index.js.map +1 -1
  54. package/lib/commonjs/index.js +6 -0
  55. package/lib/commonjs/index.js.map +1 -1
  56. package/lib/commonjs/screens/FingerAuth/FingerAuth.js +15 -20
  57. package/lib/commonjs/screens/FingerAuth/FingerAuth.js.map +1 -1
  58. package/lib/commonjs/screens/FingerAuth/styles.js +18 -11
  59. package/lib/commonjs/screens/FingerAuth/styles.js.map +1 -1
  60. package/lib/commonjs/screens/FingerRegister/FingerRegister.js +96 -62
  61. package/lib/commonjs/screens/FingerRegister/FingerRegister.js.map +1 -1
  62. package/lib/commonjs/screens/FingerRegister/data.js +60 -0
  63. package/lib/commonjs/screens/FingerRegister/data.js.map +1 -0
  64. package/lib/commonjs/screens/FingerRegister/styles.js +71 -34
  65. package/lib/commonjs/screens/FingerRegister/styles.js.map +1 -1
  66. package/lib/commonjs/screens/LifeCertificate/LifeCertificate.js +19 -22
  67. package/lib/commonjs/screens/LifeCertificate/LifeCertificate.js.map +1 -1
  68. package/lib/commonjs/screens/LifeCertificate/styles.js +23 -4
  69. package/lib/commonjs/screens/LifeCertificate/styles.js.map +1 -1
  70. package/lib/commonjs/screens/RegisterOperations/registerOperationPointsBiometrics.js +76 -49
  71. package/lib/commonjs/screens/RegisterOperations/registerOperationPointsBiometrics.js.map +1 -1
  72. package/lib/commonjs/screens/RegisterOperations/registerOperationPointsLifeCertificate.js +72 -34
  73. package/lib/commonjs/screens/RegisterOperations/registerOperationPointsLifeCertificate.js.map +1 -1
  74. package/lib/commonjs/screens/RegisterOperations/styles.js +74 -21
  75. package/lib/commonjs/screens/RegisterOperations/styles.js.map +1 -1
  76. package/lib/commonjs/services/services.js +6 -6
  77. package/lib/commonjs/services/services.js.map +1 -1
  78. package/lib/commonjs/store/modules/lifeCertificate/slice.js +5 -3
  79. package/lib/commonjs/store/modules/lifeCertificate/slice.js.map +1 -1
  80. package/lib/commonjs/store/modules/operationPoints/slice.js +48 -18
  81. package/lib/commonjs/store/modules/operationPoints/slice.js.map +1 -1
  82. package/lib/module/assets/svg/btn.svg +4 -0
  83. package/lib/module/assets/svg/fingers/LI.svg +5 -0
  84. package/lib/module/assets/svg/fingers/LM.svg +5 -0
  85. package/lib/module/assets/svg/fingers/LP.svg +5 -0
  86. package/lib/module/assets/svg/fingers/LR.svg +5 -0
  87. package/lib/module/assets/svg/fingers/LT.svg +5 -0
  88. package/lib/module/assets/svg/fingers/RI.svg +5 -0
  89. package/lib/module/assets/svg/fingers/RM.svg +5 -0
  90. package/lib/module/assets/svg/fingers/RP.svg +5 -0
  91. package/lib/module/assets/svg/fingers/RR.svg +5 -0
  92. package/lib/module/assets/svg/fingers/RT.svg +5 -0
  93. package/lib/module/assets/svg/hand.svg +15 -0
  94. package/lib/module/assets/svg/phone.svg +39 -0
  95. package/lib/module/assets/svg/recordButton.svg +4 -0
  96. package/lib/module/assets/svg/rectangle.svg +3 -0
  97. package/lib/module/components/Gabarito/gabarito.js +49 -0
  98. package/lib/module/components/Gabarito/gabarito.js.map +1 -0
  99. package/lib/module/components/Gabarito/styles.js +3 -17
  100. package/lib/module/components/Gabarito/styles.js.map +1 -1
  101. package/lib/module/components/HAButton/HAButton.js +16 -0
  102. package/lib/module/components/HAButton/HAButton.js.map +1 -0
  103. package/lib/module/components/HAButton/styles.js +22 -0
  104. package/lib/module/components/HAButton/styles.js.map +1 -0
  105. package/lib/module/components/HACaptureButton/HACaptureButton.js +14 -0
  106. package/lib/module/components/HACaptureButton/HACaptureButton.js.map +1 -0
  107. package/lib/module/components/HACaptureInstructions/HACard/styles.js +5 -2
  108. package/lib/module/components/HACaptureInstructions/HACard/styles.js.map +1 -1
  109. package/lib/module/components/HACaptureInstructions/style.js +9 -3
  110. package/lib/module/components/HACaptureInstructions/style.js.map +1 -1
  111. package/lib/module/components/HACarouselCalibration/HACarouselItem/HACarouselItem.js +3 -5
  112. package/lib/module/components/HACarouselCalibration/HACarouselItem/HACarouselItem.js.map +1 -1
  113. package/lib/module/components/HACarouselCalibration/HAPagination/styles.js +2 -1
  114. package/lib/module/components/HACarouselCalibration/HAPagination/styles.js.map +1 -1
  115. package/lib/module/components/{modalMessage/modalMessage.js → HAModalMessage/HAModalMessage.js} +26 -14
  116. package/lib/module/components/HAModalMessage/HAModalMessage.js.map +1 -0
  117. package/lib/module/components/{modalMessage → HAModalMessage}/styles.js +15 -9
  118. package/lib/module/components/HAModalMessage/styles.js.map +1 -0
  119. package/lib/module/components/HARecordButton/HARecordButton.js +14 -0
  120. package/lib/module/components/HARecordButton/HARecordButton.js.map +1 -0
  121. package/lib/module/components/HARecordButton/styles.js +2 -0
  122. package/lib/module/components/HARecordButton/styles.js.map +1 -0
  123. package/lib/module/components/HARecordInstructions/HARecordInstructions.js +92 -0
  124. package/lib/module/components/HARecordInstructions/HARecordInstructions.js.map +1 -0
  125. package/lib/module/components/HARecordInstructions/data.js +8 -0
  126. package/lib/module/components/HARecordInstructions/data.js.map +1 -0
  127. package/lib/module/components/HARecordInstructions/styles.js +59 -0
  128. package/lib/module/components/HARecordInstructions/styles.js.map +1 -0
  129. package/lib/module/components/HAStepIndicator/HAStepIndicator.js +32 -0
  130. package/lib/module/components/HAStepIndicator/HAStepIndicator.js.map +1 -0
  131. package/lib/module/components/HAStepIndicator/styles.js +42 -0
  132. package/lib/module/components/HAStepIndicator/styles.js.map +1 -0
  133. package/lib/module/components/index.js +8 -3
  134. package/lib/module/components/index.js.map +1 -1
  135. package/lib/module/index.js +2 -2
  136. package/lib/module/index.js.map +1 -1
  137. package/lib/module/screens/FingerAuth/FingerAuth.js +17 -22
  138. package/lib/module/screens/FingerAuth/FingerAuth.js.map +1 -1
  139. package/lib/module/screens/FingerAuth/styles.js +19 -12
  140. package/lib/module/screens/FingerAuth/styles.js.map +1 -1
  141. package/lib/module/screens/FingerRegister/FingerRegister.js +100 -66
  142. package/lib/module/screens/FingerRegister/FingerRegister.js.map +1 -1
  143. package/lib/module/screens/FingerRegister/data.js +53 -0
  144. package/lib/module/screens/FingerRegister/data.js.map +1 -0
  145. package/lib/module/screens/FingerRegister/styles.js +72 -35
  146. package/lib/module/screens/FingerRegister/styles.js.map +1 -1
  147. package/lib/module/screens/LifeCertificate/LifeCertificate.js +22 -25
  148. package/lib/module/screens/LifeCertificate/LifeCertificate.js.map +1 -1
  149. package/lib/module/screens/LifeCertificate/styles.js +24 -5
  150. package/lib/module/screens/LifeCertificate/styles.js.map +1 -1
  151. package/lib/module/screens/RegisterOperations/registerOperationPointsBiometrics.js +78 -52
  152. package/lib/module/screens/RegisterOperations/registerOperationPointsBiometrics.js.map +1 -1
  153. package/lib/module/screens/RegisterOperations/registerOperationPointsLifeCertificate.js +72 -36
  154. package/lib/module/screens/RegisterOperations/registerOperationPointsLifeCertificate.js.map +1 -1
  155. package/lib/module/screens/RegisterOperations/styles.js +74 -21
  156. package/lib/module/screens/RegisterOperations/styles.js.map +1 -1
  157. package/lib/module/services/services.js +6 -6
  158. package/lib/module/services/services.js.map +1 -1
  159. package/lib/module/store/modules/lifeCertificate/slice.js +5 -3
  160. package/lib/module/store/modules/lifeCertificate/slice.js.map +1 -1
  161. package/lib/module/store/modules/operationPoints/slice.js +48 -18
  162. package/lib/module/store/modules/operationPoints/slice.js.map +1 -1
  163. package/lib/typescript/src/components/Gabarito/gabarito.d.ts +19 -0
  164. package/lib/typescript/src/components/Gabarito/gabarito.d.ts.map +1 -0
  165. package/lib/typescript/src/components/Gabarito/styles.d.ts +1 -13
  166. package/lib/typescript/src/components/Gabarito/styles.d.ts.map +1 -1
  167. package/lib/typescript/src/components/HAButton/HAButton.d.ts +8 -0
  168. package/lib/typescript/src/components/HAButton/HAButton.d.ts.map +1 -0
  169. package/lib/typescript/src/components/HAButton/styles.d.ts +15 -0
  170. package/lib/typescript/src/components/HAButton/styles.d.ts.map +1 -0
  171. package/lib/typescript/src/components/HACaptureButton/HACaptureButton.d.ts +7 -0
  172. package/lib/typescript/src/components/HACaptureButton/HACaptureButton.d.ts.map +1 -0
  173. package/lib/typescript/src/components/HACaptureInstructions/HACard/styles.d.ts +1 -1
  174. package/lib/typescript/src/components/HACaptureInstructions/HACard/styles.d.ts.map +1 -1
  175. package/lib/typescript/src/components/HACaptureInstructions/style.d.ts +2 -2
  176. package/lib/typescript/src/components/HACaptureInstructions/style.d.ts.map +1 -1
  177. package/lib/typescript/src/components/HACarouselCalibration/HACarouselItem/HACarouselItem.d.ts.map +1 -1
  178. package/lib/typescript/src/components/HACarouselCalibration/HAPagination/styles.d.ts +1 -1
  179. package/lib/typescript/src/components/HACarouselCalibration/HAPagination/styles.d.ts.map +1 -1
  180. package/lib/typescript/src/components/HAModalMessage/HAModalMessage.d.ts +13 -0
  181. package/lib/typescript/src/components/HAModalMessage/HAModalMessage.d.ts.map +1 -0
  182. package/lib/typescript/src/components/{modalMessage → HAModalMessage}/styles.d.ts +12 -6
  183. package/lib/typescript/src/components/HAModalMessage/styles.d.ts.map +1 -0
  184. package/lib/typescript/src/components/HARecordButton/HARecordButton.d.ts +8 -0
  185. package/lib/typescript/src/components/HARecordButton/HARecordButton.d.ts.map +1 -0
  186. package/lib/typescript/src/components/HARecordButton/styles.d.ts +1 -0
  187. package/lib/typescript/src/components/HARecordButton/styles.d.ts.map +1 -0
  188. package/lib/typescript/src/components/HARecordInstructions/HARecordInstructions.d.ts +7 -0
  189. package/lib/typescript/src/components/HARecordInstructions/HARecordInstructions.d.ts.map +1 -0
  190. package/lib/typescript/src/components/HARecordInstructions/data.d.ts +5 -0
  191. package/lib/typescript/src/components/HARecordInstructions/data.d.ts.map +1 -0
  192. package/lib/typescript/src/components/HARecordInstructions/styles.d.ts +52 -0
  193. package/lib/typescript/src/components/HARecordInstructions/styles.d.ts.map +1 -0
  194. package/lib/typescript/src/components/HAStepIndicator/HAStepIndicator.d.ts +8 -0
  195. package/lib/typescript/src/components/HAStepIndicator/HAStepIndicator.d.ts.map +1 -0
  196. package/lib/typescript/src/components/HAStepIndicator/styles.d.ts +41 -0
  197. package/lib/typescript/src/components/HAStepIndicator/styles.d.ts.map +1 -0
  198. package/lib/typescript/src/components/index.d.ts +8 -3
  199. package/lib/typescript/src/components/index.d.ts.map +1 -1
  200. package/lib/typescript/src/index.d.ts +2 -2
  201. package/lib/typescript/src/index.d.ts.map +1 -1
  202. package/lib/typescript/src/screens/FingerAuth/FingerAuth.d.ts +1 -2
  203. package/lib/typescript/src/screens/FingerAuth/FingerAuth.d.ts.map +1 -1
  204. package/lib/typescript/src/screens/FingerAuth/styles.d.ts +17 -7
  205. package/lib/typescript/src/screens/FingerAuth/styles.d.ts.map +1 -1
  206. package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts +1 -2
  207. package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts.map +1 -1
  208. package/lib/typescript/src/screens/FingerRegister/data.d.ts +9 -0
  209. package/lib/typescript/src/screens/FingerRegister/data.d.ts.map +1 -0
  210. package/lib/typescript/src/screens/FingerRegister/styles.d.ts +64 -27
  211. package/lib/typescript/src/screens/FingerRegister/styles.d.ts.map +1 -1
  212. package/lib/typescript/src/screens/LifeCertificate/LifeCertificate.d.ts +1 -2
  213. package/lib/typescript/src/screens/LifeCertificate/LifeCertificate.d.ts.map +1 -1
  214. package/lib/typescript/src/screens/LifeCertificate/styles.d.ts +18 -2
  215. package/lib/typescript/src/screens/LifeCertificate/styles.d.ts.map +1 -1
  216. package/lib/typescript/src/screens/RegisterOperations/registerOperationPointsBiometrics.d.ts.map +1 -1
  217. package/lib/typescript/src/screens/RegisterOperations/registerOperationPointsLifeCertificate.d.ts.map +1 -1
  218. package/lib/typescript/src/screens/RegisterOperations/styles.d.ts +59 -18
  219. package/lib/typescript/src/screens/RegisterOperations/styles.d.ts.map +1 -1
  220. package/lib/typescript/src/store/modules/lifeCertificate/selectors.d.ts +2 -1
  221. package/lib/typescript/src/store/modules/lifeCertificate/selectors.d.ts.map +1 -1
  222. package/lib/typescript/src/store/modules/lifeCertificate/slice.d.ts.map +1 -1
  223. package/lib/typescript/src/store/modules/lifeCertificate/types.d.ts +2 -1
  224. package/lib/typescript/src/store/modules/lifeCertificate/types.d.ts.map +1 -1
  225. package/lib/typescript/src/store/modules/operationPoints/selectors.d.ts +12 -4
  226. package/lib/typescript/src/store/modules/operationPoints/selectors.d.ts.map +1 -1
  227. package/lib/typescript/src/store/modules/operationPoints/slice.d.ts.map +1 -1
  228. package/lib/typescript/src/store/modules/operationPoints/types.d.ts +12 -4
  229. package/lib/typescript/src/store/modules/operationPoints/types.d.ts.map +1 -1
  230. package/package.json +5 -1
  231. package/src/assets/svg/btn.svg +4 -0
  232. package/src/assets/svg/fingers/LI.svg +5 -0
  233. package/src/assets/svg/fingers/LM.svg +5 -0
  234. package/src/assets/svg/fingers/LP.svg +5 -0
  235. package/src/assets/svg/fingers/LR.svg +5 -0
  236. package/src/assets/svg/fingers/LT.svg +5 -0
  237. package/src/assets/svg/fingers/RI.svg +5 -0
  238. package/src/assets/svg/fingers/RM.svg +5 -0
  239. package/src/assets/svg/fingers/RP.svg +5 -0
  240. package/src/assets/svg/fingers/RR.svg +5 -0
  241. package/src/assets/svg/fingers/RT.svg +5 -0
  242. package/src/assets/svg/hand.svg +15 -0
  243. package/src/assets/svg/phone.svg +39 -0
  244. package/src/assets/svg/recordButton.svg +4 -0
  245. package/src/assets/svg/rectangle.svg +3 -0
  246. package/src/components/Gabarito/gabarito.tsx +38 -0
  247. package/src/components/Gabarito/styles.ts +3 -16
  248. package/src/components/HAButton/HAButton.tsx +18 -0
  249. package/src/components/HAButton/styles.ts +22 -0
  250. package/src/components/HACaptureButton/HACaptureButton.tsx +17 -0
  251. package/src/components/HACaptureInstructions/HACard/styles.ts +5 -2
  252. package/src/components/HACaptureInstructions/style.ts +15 -3
  253. package/src/components/HACarouselCalibration/HACarouselItem/HACarouselItem.tsx +2 -4
  254. package/src/components/HACarouselCalibration/HAPagination/styles.ts +2 -1
  255. package/src/components/HAModalMessage/HAModalMessage.tsx +72 -0
  256. package/src/components/{modalMessage → HAModalMessage}/styles.ts +12 -9
  257. package/src/components/HARecordButton/HARecordButton.tsx +18 -0
  258. package/src/components/HARecordButton/styles.ts +0 -0
  259. package/src/components/HARecordInstructions/HARecordInstructions.tsx +73 -0
  260. package/src/components/HARecordInstructions/data.ts +10 -0
  261. package/src/components/HARecordInstructions/styles.ts +50 -0
  262. package/src/components/HAStepIndicator/HAStepIndicator.tsx +34 -0
  263. package/src/components/HAStepIndicator/styles.ts +42 -0
  264. package/src/components/index.ts +14 -4
  265. package/src/index.tsx +3 -2
  266. package/src/screens/FingerAuth/FingerAuth.tsx +20 -14
  267. package/src/screens/FingerAuth/styles.ts +19 -11
  268. package/src/screens/FingerRegister/FingerRegister.tsx +107 -63
  269. package/src/screens/FingerRegister/data.ts +65 -0
  270. package/src/screens/FingerRegister/styles.ts +67 -34
  271. package/src/screens/LifeCertificate/LifeCertificate.tsx +31 -25
  272. package/src/screens/LifeCertificate/styles.ts +17 -5
  273. package/src/screens/RegisterOperations/registerOperationPointsBiometrics.tsx +68 -35
  274. package/src/screens/RegisterOperations/registerOperationPointsLifeCertificate.tsx +72 -46
  275. package/src/screens/RegisterOperations/styles.ts +65 -22
  276. package/src/services/services.ts +7 -7
  277. package/src/store/modules/lifeCertificate/slice.ts +5 -3
  278. package/src/store/modules/lifeCertificate/types.ts +2 -1
  279. package/src/store/modules/operationPoints/slice.ts +52 -17
  280. package/src/store/modules/operationPoints/types.ts +12 -4
  281. package/lib/commonjs/components/Gabarito/index.js.map +0 -1
  282. package/lib/commonjs/components/modalMessage/modalMessage.js.map +0 -1
  283. package/lib/commonjs/components/modalMessage/styles.js.map +0 -1
  284. package/lib/module/components/Gabarito/index.js +0 -12
  285. package/lib/module/components/Gabarito/index.js.map +0 -1
  286. package/lib/module/components/modalMessage/modalMessage.js.map +0 -1
  287. package/lib/module/components/modalMessage/styles.js.map +0 -1
  288. package/lib/typescript/src/components/Gabarito/index.d.ts +0 -4
  289. package/lib/typescript/src/components/Gabarito/index.d.ts.map +0 -1
  290. package/lib/typescript/src/components/modalMessage/modalMessage.d.ts +0 -11
  291. package/lib/typescript/src/components/modalMessage/modalMessage.d.ts.map +0 -1
  292. package/lib/typescript/src/components/modalMessage/styles.d.ts.map +0 -1
  293. package/src/components/Gabarito/index.tsx +0 -13
  294. package/src/components/modalMessage/modalMessage.tsx +0 -73
@@ -1,14 +1,16 @@
1
1
  import React, { useCallback, useEffect, useRef, useState } from "react";
2
- import { ActivityIndicator, Alert, BackHandler, Modal, View, useColorScheme } from "react-native";
2
+ import { StyleSheet, Alert, BackHandler, View, Text, Dimensions } from "react-native";
3
3
  import { Camera, Point, useCameraDevice, useCameraFormat, useCameraPermission } from "react-native-vision-camera";
4
4
  import { runOnJS } from "react-native-reanimated";
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from "react-native-gesture-handler";
6
6
  import { readFile } from "react-native-fs";
7
- import Slider from "@react-native-community/slider";
7
+ // @ts-ignore
8
+ import TabSelectorAnimation from "react-native-tab-selector";
9
+ import { RulerPicker } from "react-native-ruler-picker";
8
10
 
9
11
  import { useDispatch, useSelector } from "../../store/modules/operationPoints";
10
- import { scale0to1Inverse, useIsForeground } from "../../utils";
11
- import { CaptureButton, DeviceNotFound, Gabarito, HAText } from "../../components";
12
+ import { scale0to1, useIsForeground } from "../../utils";
13
+ import { DeviceNotFound, Gabarito, HACaptureButton, HAModalMessage, HAStepProgress } from "../../components";
12
14
  import { styles } from "./styles";
13
15
 
14
16
  type Props = {
@@ -16,22 +18,20 @@ type Props = {
16
18
  };
17
19
 
18
20
  const RegisterOperationPointsBiometrics = ({ onSuccess }: Props) => {
19
- const isDark = useColorScheme() === "dark";
20
- const backgroundColor = isDark ? "black" : "white";
21
- const [zoom, setZoom] = useState<number>(2);
22
21
  const [torch, setTorch] = useState<"off" | "on">("off");
23
22
  const dispatch = useDispatch();
24
23
  const { hasPermission, requestPermission } = useCameraPermission();
25
24
  const cameraRef = useRef<Camera>(null);
26
25
  const isForeground = useIsForeground();
27
26
  const isActive = isForeground;
27
+ const { width } = Dimensions.get("screen");
28
+ const device = useCameraDevice("back");
28
29
 
29
- const { loading, exposureScaleZeroToOneBiometrics, message, base64Images } = useSelector();
30
+ const { loading, message, base64Images, exposure, zoom, modal } = useSelector();
30
31
  const imagesCount = base64Images.length;
31
-
32
- const containerCaptureStyled = [styles.containerCapture, { bottom: 20 }];
33
-
34
- const device = useCameraDevice("back");
32
+ const minExposure = device != null ? device.minExposure : 0;
33
+ const maxExposure = device != null ? device.maxExposure : 0;
34
+ const exposureScaleZeroToOneBiometrics = scale0to1(exposure, minExposure, maxExposure);
35
35
  const cameraFormat = useCameraFormat(device, [
36
36
  {
37
37
  photoResolution: {
@@ -48,6 +48,7 @@ const RegisterOperationPointsBiometrics = ({ onSuccess }: Props) => {
48
48
  }, [hasPermission, requestPermission]);
49
49
 
50
50
  useEffect(() => {
51
+ dispatch.resetZoomAndExposure();
51
52
  cameraPermission();
52
53
  }, [cameraPermission]);
53
54
 
@@ -85,18 +86,27 @@ const RegisterOperationPointsBiometrics = ({ onSuccess }: Props) => {
85
86
 
86
87
  useEffect(() => {
87
88
  if (loading === "succeeded") {
88
- Alert.alert("Sucesso", message, [{ text: "OK", onPress: () => onSuccess && onSuccess() }]);
89
+ dispatch.setModal("Biometria cadastrada!", "Você pode fazer uma nova captura ou voltar para a home.");
90
+ onSuccess && onSuccess();
91
+ dispatch.resetState();
89
92
  }
90
93
  if (loading === "failed") {
91
- Alert.alert("Continue", message, [
92
- {
93
- text: "OK",
94
- onPress: () => dispatch.changeExposureBiometrics()
95
- }
96
- ]);
94
+ dispatch.setModal(
95
+ "Erro na captura!",
96
+ "Houve um problema ao capturar sua digital. Tente de novo em um fundo neutro."
97
+ );
98
+ dispatch.resetState();
97
99
  }
98
100
  }, [loading, message, dispatch]);
99
101
 
102
+ const handleExposure = (value: string) => {
103
+ dispatch.handleExposure(Number(value));
104
+ };
105
+
106
+ const handleZoom = (value: number) => {
107
+ dispatch.handleZoom(value + 1);
108
+ };
109
+
100
110
  const backAction = () => {
101
111
  const exit = BackHandler.exitApp;
102
112
  Alert.alert("Atenção!", "Tem certeza que deseja sair?", [
@@ -129,17 +139,23 @@ const RegisterOperationPointsBiometrics = ({ onSuccess }: Props) => {
129
139
  return <DeviceNotFound hasPermission cameraPermission={cameraPermission} />;
130
140
 
131
141
  return (
132
- <GestureHandlerRootView style={{ flex: 1 }}>
142
+ <GestureHandlerRootView style={styles.root}>
133
143
  <GestureDetector gesture={gesture}>
134
144
  <View style={styles.containerCamera}>
145
+ <View style={styles.containerStepProgress}>
146
+ <View style={styles.containerTextStep}>
147
+ <Text style={styles.textStep}>Calibrando:</Text>
148
+ </View>
149
+ <HAStepProgress totalSteps={3} step={base64Images.length + 1} />
150
+ </View>
135
151
  <Camera
136
152
  ref={cameraRef}
137
153
  device={device}
138
- style={styles.camera}
154
+ style={StyleSheet.absoluteFillObject}
139
155
  format={cameraFormat}
140
156
  isActive={isActive}
141
157
  torch={torch}
142
- exposure={scale0to1Inverse(exposureScaleZeroToOneBiometrics, device.minExposure, device.maxExposure)}
158
+ exposure={exposure}
143
159
  zoom={zoom}
144
160
  onInitialized={onInitialized}
145
161
  photo
@@ -147,20 +163,37 @@ const RegisterOperationPointsBiometrics = ({ onSuccess }: Props) => {
147
163
  <Gabarito />
148
164
  </View>
149
165
  </GestureDetector>
150
- <View style={containerCaptureStyled}>
151
- <CaptureButton onPress={takePhoto} imagesCount={imagesCount} />
152
- </View>
153
- <View style={[styles.containerSlider, { backgroundColor }]}>
154
- <HAText bold>{`Ponto de operação`}</HAText>
155
- <Slider maximumValue={4} minimumValue={2} value={zoom} onValueChange={(value) => setZoom(value)} step={1} />
166
+ <View style={styles.containerContent}>
167
+ <TabSelectorAnimation
168
+ tabs={[{ title: "1x" }, { title: "2x" }, { title: "3x" }, { title: "4x" }]}
169
+ style={styles.marginTabSelector}
170
+ onChangeTab={handleZoom}
171
+ />
172
+ <View style={styles.containerRuler}>
173
+ <RulerPicker
174
+ width={width * 0.8}
175
+ height={50}
176
+ min={minExposure / 4}
177
+ max={maxExposure / 4}
178
+ valueTextStyle={styles.textStyleRuler}
179
+ indicatorColor="#FFB200"
180
+ indicatorHeight={50}
181
+ step={0.1}
182
+ initialValue={0}
183
+ fractionDigits={1}
184
+ onValueChange={handleExposure}
185
+ unit=""
186
+ />
187
+ </View>
188
+ <View style={styles.containerButton}>
189
+ <HACaptureButton onPress={takePhoto} />
190
+ </View>
191
+ <HAModalMessage
192
+ isLoading={loading === "pending"}
193
+ modal={modal}
194
+ messageLoading="Estamos processando suas capturas"
195
+ />
156
196
  </View>
157
- {loading === "pending" && (
158
- <Modal animationType="fade" transparent visible={true}>
159
- <View style={styles.containerModalLoading}>
160
- <ActivityIndicator size="large" color="#fff" />
161
- </View>
162
- </Modal>
163
- )}
164
197
  </GestureHandlerRootView>
165
198
  );
166
199
  };
@@ -1,10 +1,12 @@
1
1
  import React, { useCallback, useEffect, useRef, useState } from "react";
2
- import { ActivityIndicator, Alert, BackHandler, Modal, View } from "react-native";
2
+ import { Alert, BackHandler, View, StyleSheet, Text } from "react-native";
3
3
  import { Camera, useCameraDevice, useCameraFormat, useCameraPermission } from "react-native-vision-camera";
4
+ // @ts-ignore
5
+ import TabSelectorAnimation from "react-native-tab-selector";
4
6
 
5
7
  import { useDispatch, useSelector } from "../../store/modules/operationPoints";
6
8
  import { scale0to1Inverse, useIsForeground } from "../../utils";
7
- import { DeviceNotFound, RecordButton } from "../../components";
9
+ import { DeviceNotFound, HAModalMessage, HARecordButton } from "../../components";
8
10
  import { styles } from "./styles";
9
11
 
10
12
  type Props = {
@@ -23,7 +25,7 @@ const RegisterOperationPointsLifeCertificate = ({ onSuccess }: Props) => {
23
25
  const [timer, setTimer] = useState(10);
24
26
  const [isRecord, setIsRecord] = useState(false);
25
27
 
26
- const { loading, registered, exposureScaleZeroToOneLifeCertificate, message } = useSelector();
28
+ const { loading, registered, exposureScaleZeroToOneLifeCertificate, message, modal, exposure } = useSelector();
27
29
 
28
30
  const device = useCameraDevice("back");
29
31
  const cameraFormat = useCameraFormat(device, [
@@ -34,11 +36,6 @@ const RegisterOperationPointsLifeCertificate = ({ onSuccess }: Props) => {
34
36
  }
35
37
  }
36
38
  ]);
37
- const exposure = scale0to1Inverse(
38
- exposureScaleZeroToOneLifeCertificate,
39
- device !== undefined ? device.minExposure : 0,
40
- device !== undefined ? device.maxExposure : 0
41
- );
42
39
 
43
40
  const cameraPermission = useCallback(async () => {
44
41
  if (!hasPermission) {
@@ -47,27 +44,23 @@ const RegisterOperationPointsLifeCertificate = ({ onSuccess }: Props) => {
47
44
  }, [hasPermission, requestPermission]);
48
45
 
49
46
  useEffect(() => {
47
+ dispatch.resetZoomAndExposure();
50
48
  cameraPermission();
49
+ dispatch.handleExposure(scale0to1Inverse(0.3, device?.minExposure ?? 0, device?.maxExposure ?? 0));
51
50
  }, [cameraPermission]);
52
51
 
53
52
  useEffect(() => {
54
53
  if (loading === "succeeded") {
55
- Alert.alert("Sucesso", message, [
56
- {
57
- text: "OK",
58
- onPress: () => {
59
- registered ? () => onSuccess && onSuccess() : null;
60
- }
61
- }
62
- ]);
54
+ dispatch.setModal("Prova de vida concluída!", message ?? "");
55
+ registered ? onSuccess && onSuccess() : null;
56
+ dispatch.resetState();
63
57
  }
64
58
  if (loading === "failed") {
65
- Alert.alert("Continue", message, [
66
- {
67
- text: "OK",
68
- onPress: () => dispatch.changeExposureLifeCertificate()
69
- }
70
- ]);
59
+ dispatch.setModal(
60
+ "Algo deu errado!",
61
+ "Não conseguimos ler seus batimentos cardíacos. Tente novamente, por favor."
62
+ );
63
+ dispatch.resetState();
71
64
  }
72
65
  setTimer(10);
73
66
  }, [loading, message, dispatch]);
@@ -137,38 +130,71 @@ const RegisterOperationPointsLifeCertificate = ({ onSuccess }: Props) => {
137
130
  }
138
131
  }, [timer, intervalState, stopRecodingVideo]);
139
132
 
133
+ const handleExposure = (value: number) => {
134
+ if (device !== undefined) {
135
+ switch (value) {
136
+ case 0:
137
+ dispatch.handleExposure(scale0to1Inverse(0.3, device.minExposure, device.maxExposure));
138
+ break;
139
+ case 1:
140
+ dispatch.handleExposure(scale0to1Inverse(0.4, device.minExposure, device.maxExposure));
141
+ break;
142
+ case 2:
143
+ dispatch.handleExposure(scale0to1Inverse(0.5, device.minExposure, device.maxExposure));
144
+ break;
145
+ case 3:
146
+ dispatch.handleExposure(scale0to1Inverse(0.6, device.minExposure, device.maxExposure));
147
+ break;
148
+ case 4:
149
+ dispatch.handleExposure(scale0to1Inverse(0.7, device.minExposure, device.maxExposure));
150
+ break;
151
+ default:
152
+ console.log("Invalid");
153
+ }
154
+ }
155
+ };
156
+
140
157
  const onInitialized = () => setTorch("on");
141
158
 
142
159
  if (device == null || hasPermission === false)
143
160
  return <DeviceNotFound hasPermission={hasPermission} cameraPermission={cameraPermission} />;
144
161
 
145
162
  return (
146
- <>
147
- <View style={styles.containerCamera}>
148
- <Camera
149
- ref={cameraRef}
150
- device={device}
151
- style={styles.camera}
152
- format={cameraFormat}
153
- isActive={isActive}
154
- torch={torch}
155
- exposure={exposure}
156
- zoom={0}
157
- onInitialized={onInitialized}
158
- video
159
- />
163
+ <View style={styles.containerCameraRecord}>
164
+ <View style={styles.containerCameraContent}>
165
+ <View style={styles.containerCameraTimer}>
166
+ <Text style={styles.textRecord}>{timer < 0 ? 0 : timer} s</Text>
167
+ </View>
168
+ <Text style={styles.textRecord}>
169
+ Coloque o dedo na câmera, pressione suavemente, clique no botão de captura e aguarde por 10 segundos.
170
+ </Text>
160
171
  </View>
161
- <View style={[styles.containerCapture, { bottom: 0 }]}>
162
- <RecordButton onPress={recordingVideo} disabled={loading === "pending"} timer={timer} isRecording={isRecord} />
172
+ <Camera
173
+ ref={cameraRef}
174
+ device={device}
175
+ style={StyleSheet.absoluteFillObject}
176
+ format={cameraFormat}
177
+ isActive={isActive}
178
+ torch={torch}
179
+ exposure={exposure}
180
+ zoom={0}
181
+ onInitialized={onInitialized}
182
+ video
183
+ />
184
+ <View style={styles.containerRecordButton}>
185
+ <TabSelectorAnimation
186
+ style={styles.marginTabSelector}
187
+ tabs={[{ title: "0.3" }, { title: "0.4" }, { title: "0.5" }, { title: "0.6" }, { title: "0.7" }]}
188
+ onChangeTab={handleExposure}
189
+ />
190
+ <HARecordButton onPress={recordingVideo} disabled={loading === "pending" || isRecord} />
163
191
  </View>
164
- {loading === "pending" && (
165
- <Modal animationType="fade" transparent visible>
166
- <View style={styles.containerModalLoading}>
167
- <ActivityIndicator size="large" color="#fff" />
168
- </View>
169
- </Modal>
170
- )}
171
- </>
192
+ <HAModalMessage
193
+ isLoading={loading === "pending"}
194
+ modal={modal}
195
+ messageLoading="Estamos verificando sua prova de vida."
196
+ />
197
+ </View>
172
198
  );
173
199
  };
174
200
 
@@ -1,41 +1,84 @@
1
1
  import { StyleSheet, Platform } from "react-native";
2
2
 
3
3
  export const styles = StyleSheet.create({
4
+ root: { flex: 1 },
4
5
  containerCamera: {
5
6
  flex: 1,
6
7
  justifyContent: "center"
7
8
  },
8
- camera: {
9
- flex: 1
9
+ containerStepProgress: {
10
+ position: "absolute",
11
+ top: 0,
12
+ width: "100%",
13
+ alignItems: "center",
14
+ zIndex: 99,
15
+ paddingVertical: 20
10
16
  },
11
- box: {
17
+ containerTextStep: {
12
18
  flexDirection: "row",
13
- height: 50,
14
- justifyContent: "center",
15
- alignItems: "center",
16
- borderRadius: 50,
17
- backgroundColor: "#1F75FF",
18
- marginVertical: Platform.OS === "android" ? 100 : 120
19
+ width: "100%",
20
+ justifyContent: "space-between",
21
+ paddingHorizontal: 20,
22
+ paddingBottom: 20
19
23
  },
20
- text: {
21
- position: "absolute",
22
- color: "#fff"
24
+ textStep: {
25
+ fontSize: Platform.select({
26
+ ios: 16,
27
+ android: 14
28
+ }),
29
+ color: "#fff",
30
+ fontWeight: "bold"
31
+ },
32
+ containerContent: { position: "absolute", alignSelf: "center", bottom: 20 },
33
+ marginTabSelector: {
34
+ marginHorizontal: Platform.select({
35
+ ios: 100,
36
+ android: 80
37
+ })
38
+ },
39
+ containerRuler: {
40
+ paddingTop: 30
23
41
  },
24
- containerCapture: {
42
+ textStyleRuler: {
43
+ color: "#FFB200",
44
+ fontSize: Platform.select({
45
+ ios: 14,
46
+ android: 12
47
+ }),
48
+ fontWeight: "bold"
49
+ },
50
+ containerButton: {
51
+ marginTop: 20,
52
+ alignSelf: "center"
53
+ },
54
+ containerRecordButton: {
25
55
  position: "absolute",
26
56
  width: "100%",
27
- marginBottom: "30%",
28
- alignItems: "center"
57
+ alignItems: "center",
58
+ bottom: 20,
59
+ gap: 10
29
60
  },
30
- containerModalLoading: {
61
+ containerCameraRecord: {
31
62
  flex: 1,
32
- justifyContent: "center",
63
+ backgroundColor: "#0d0d0d"
64
+ },
65
+ containerCameraContent: {
66
+ position: "absolute",
67
+ top: 0,
33
68
  alignItems: "center",
34
- backgroundColor: "rgba(0, 0, 0, 0.5)"
69
+ zIndex: 99,
70
+ paddingVertical: 20,
71
+ gap: 20
35
72
  },
36
- containerSlider: {
37
- height: Platform.OS === "android" ? 100 : 120,
38
- padding: 20,
39
- gap: 10
73
+ containerCameraTimer: { backgroundColor: "#00000075", borderRadius: 25, padding: 6 },
74
+ textRecord: {
75
+ color: "#ffffff",
76
+ fontSize: Platform.select({
77
+ ios: 20,
78
+ android: 18
79
+ }),
80
+ fontWeight: "600",
81
+ textAlign: "center",
82
+ paddingHorizontal: 20
40
83
  }
41
84
  });
@@ -45,7 +45,7 @@ export const registerFingerImages = async ({
45
45
  }: RegisterFingerImagesType): Promise<RegisterFingerResponse> => {
46
46
  try {
47
47
  const { data } = await axiosInstance.post(
48
- "/enroll-images",
48
+ "/v1/enroll-images",
49
49
  {
50
50
  device_model: deviceModel,
51
51
  UID,
@@ -78,7 +78,7 @@ export const authFinger = async ({ UID, image, exposure, zoom }: AuthFingerType)
78
78
  try {
79
79
  const finger = "RI";
80
80
  const { data } = await axiosInstance.post(
81
- "/verify",
81
+ "/v1/verify",
82
82
  { device_model: deviceModel, UID, finger, image, exposure, zoom },
83
83
  {
84
84
  headers: {
@@ -122,7 +122,7 @@ export const lifeCertificate = async ({
122
122
  formData.append("device_model", deviceModel);
123
123
  formData.append("exposure", exposure);
124
124
 
125
- const { data } = await axiosInstance.post("/liveness", formData, {
125
+ const { data } = await axiosInstance.post("/v1/liveness", formData, {
126
126
  headers: {
127
127
  "Content-Type": "multipart/form-data",
128
128
  Authorization: `Bearer ${TOKEN}`
@@ -165,7 +165,7 @@ export const sendImagesForRegisterOperationPoints = async ({
165
165
  }: SendImagesForRegisterOperationPointsType): Promise<SendImagesForRegisterOperationPointsResponse> => {
166
166
  try {
167
167
  const { data } = await axiosInstance.post(
168
- "/images-quality",
168
+ "/v1/images-quality",
169
169
  {
170
170
  device_model: deviceModel,
171
171
  images,
@@ -227,7 +227,7 @@ export const sendVideoForRegisterOperationPoints = async ({
227
227
  formData.append("exposureMax", exposureMax);
228
228
  formData.append("exposureScaleZeroToOne", exposureScaleZeroToOneLifeCertificate);
229
229
 
230
- const { data } = await axiosInstance.post("/video-quality", formData, {
230
+ const { data } = await axiosInstance.post("/v1/video-quality", formData, {
231
231
  headers: {
232
232
  "Content-Type": "multipart/form-data",
233
233
  Authorization: `Bearer ${TOKEN}`
@@ -236,8 +236,8 @@ export const sendVideoForRegisterOperationPoints = async ({
236
236
  const hasConfig = data.config !== undefined;
237
237
  return {
238
238
  message: hasConfig
239
- ? "Cadastro de ponto de operação realizado com sucesso!"
240
- : "A calibração foi um sucesso, faça novamente mais uma vez!",
239
+ ? "Cadastro do dispositivo foi realizado com sucesso! Agora você pode acessar o LiveID."
240
+ : "Tudo certo! Repita o processo mais uma vez!",
241
241
  status: data.status,
242
242
  hasConfig
243
243
  };
@@ -15,7 +15,8 @@ const initialState: InitialState = {
15
15
  message: "",
16
16
  modal: {
17
17
  title: "",
18
- message: ""
18
+ message: "",
19
+ bpm: 0
19
20
  }
20
21
  }
21
22
  };
@@ -62,13 +63,14 @@ const sendLifeCertificate = async ({ videoFile, UID, exposure, mock }: SendLifeC
62
63
  }));
63
64
  };
64
65
 
65
- const setModal = (title: string, message: string) => {
66
+ const setModal = (title: string, message: string, bpm: number) => {
66
67
  slice.setState((state) => ({
67
68
  state: {
68
69
  ...state.state,
69
70
  modal: {
70
71
  title,
71
- message
72
+ message,
73
+ bpm
72
74
  }
73
75
  }
74
76
  }));
@@ -12,6 +12,7 @@ type State = {
12
12
  modal?: {
13
13
  title: string;
14
14
  message: string;
15
+ bpm: number;
15
16
  };
16
17
  };
17
18
 
@@ -21,7 +22,7 @@ type Dispatch = {
21
22
  handleLoading: () => void;
22
23
  setIsRecording: (recoding: boolean) => void;
23
24
  resetState: () => void;
24
- setModal: (title: string, message: string) => void;
25
+ setModal: (title: string, message: string, bpm: number) => void;
25
26
  };
26
27
 
27
28
  export type InitialState = {
@@ -25,7 +25,12 @@ const initialState: InitialState = {
25
25
  exposureScaleZeroToOneBiometrics: Platform.OS === "android" ? 0.12 : 0.3,
26
26
  exposureScaleZeroToOneLifeCertificate: Platform.OS === "android" ? 0.12 : 0.3,
27
27
  registered: false,
28
- helpStep: "introduction"
28
+ exposure: 0,
29
+ zoom: 0,
30
+ modal: {
31
+ title: "",
32
+ message: ""
33
+ }
29
34
  }
30
35
  };
31
36
 
@@ -35,8 +40,17 @@ const resetState = () => {
35
40
  ...state.state,
36
41
  loading: "idle",
37
42
  base64Images: [],
38
- registered: false,
39
- helpStep: "introduction"
43
+ registered: false
44
+ }
45
+ }));
46
+ };
47
+
48
+ const resetZoomAndExposure = () => {
49
+ slice.setState((state) => ({
50
+ state: {
51
+ ...state.state,
52
+ exposure: 0,
53
+ zoom: 0
40
54
  }
41
55
  }));
42
56
  };
@@ -111,18 +125,6 @@ const changeExposureLifeCertificate = () => {
111
125
  });
112
126
  };
113
127
 
114
- const handleStepHelp = () => {
115
- slice.setState((state) => {
116
- const { helpStep } = state.state;
117
- return {
118
- state: {
119
- ...state.state,
120
- helpStep: helpStep === "introduction" ? "instruction" : "introduction"
121
- }
122
- };
123
- });
124
- };
125
-
126
128
  // separar a lógica do store
127
129
  const getConfigDefault = async (operation: "finger" | "liveness") => {
128
130
  const configs = await getConfigOperationPoints();
@@ -222,6 +224,36 @@ const sendVideosLifeCertificate = async ({
222
224
  }));
223
225
  };
224
226
 
227
+ const handleZoom = (zoom: number) => {
228
+ slice.setState((state) => ({
229
+ state: {
230
+ ...state.state,
231
+ zoom
232
+ }
233
+ }));
234
+ };
235
+
236
+ const handleExposure = (exposure: number) => {
237
+ slice.setState((state) => ({
238
+ state: {
239
+ ...state.state,
240
+ exposure
241
+ }
242
+ }));
243
+ };
244
+
245
+ const setModal = (title: string, message: string) => {
246
+ slice.setState((state) => ({
247
+ state: {
248
+ ...state.state,
249
+ modal: {
250
+ title,
251
+ message
252
+ }
253
+ }
254
+ }));
255
+ };
256
+
225
257
  const slice = create<OperationPointsState>(() => ({
226
258
  ...initialState,
227
259
  dispatch: {
@@ -229,11 +261,14 @@ const slice = create<OperationPointsState>(() => ({
229
261
  resetState,
230
262
  changeExposureBiometrics,
231
263
  changeExposureLifeCertificate,
232
- handleStepHelp,
233
264
  getConfigDefaultBiometrics,
234
265
  getConfigDefaultLifeCertificate,
235
266
  sendImagesBase64,
236
- sendVideosLifeCertificate
267
+ sendVideosLifeCertificate,
268
+ handleZoom,
269
+ handleExposure,
270
+ setModal,
271
+ resetZoomAndExposure
237
272
  }
238
273
  }));
239
274