@proteoapp/react-native-onboarding 0.1.0
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.
- package/LICENSE +16 -0
- package/README.md +294 -0
- package/assets/svgs/arrow-right.tsx +13 -0
- package/assets/svgs/back-document-circle.tsx +14 -0
- package/assets/svgs/camera-error-circle.tsx +47 -0
- package/assets/svgs/camera-plus.tsx +13 -0
- package/assets/svgs/checklist-circle.tsx +93 -0
- package/assets/svgs/clock-circle.tsx +40 -0
- package/assets/svgs/document-2.tsx +31 -0
- package/assets/svgs/document-avatar.tsx +148 -0
- package/assets/svgs/document-camera-overlay.tsx +52 -0
- package/assets/svgs/document-circle.tsx +14 -0
- package/assets/svgs/document.tsx +13 -0
- package/assets/svgs/face-auth-avatar.tsx +135 -0
- package/assets/svgs/face-auth-camera-overlay.tsx +51 -0
- package/assets/svgs/face-id-circle.tsx +16 -0
- package/assets/svgs/face-id-error.tsx +40 -0
- package/assets/svgs/face-id.tsx +13 -0
- package/assets/svgs/index.ts +24 -0
- package/assets/svgs/location-error-circle.tsx +61 -0
- package/assets/svgs/process-finished.tsx +40 -0
- package/assets/svgs/refresh.tsx +13 -0
- package/assets/svgs/shield-check-circle.tsx +13 -0
- package/assets/svgs/thumb-up.tsx +37 -0
- package/assets/svgs/upload.tsx +13 -0
- package/assets/svgs/x-error-circle.tsx +40 -0
- package/assets/svgs/x.tsx +13 -0
- package/lib/module/app.js +12 -0
- package/lib/module/app.js.map +1 -0
- package/lib/module/components/button.js +43 -0
- package/lib/module/components/button.js.map +1 -0
- package/lib/module/components/centered-loading.js +17 -0
- package/lib/module/components/centered-loading.js.map +1 -0
- package/lib/module/components/default-error-fallback.js +28 -0
- package/lib/module/components/default-error-fallback.js.map +1 -0
- package/lib/module/components/default-loading.js +32 -0
- package/lib/module/components/default-loading.js.map +1 -0
- package/lib/module/components/description-loading.js +42 -0
- package/lib/module/components/description-loading.js.map +1 -0
- package/lib/module/components/error-fallback.js +57 -0
- package/lib/module/components/error-fallback.js.map +1 -0
- package/lib/module/components/identification-error.js +41 -0
- package/lib/module/components/identification-error.js.map +1 -0
- package/lib/module/components/index.js +13 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/loading.js +43 -0
- package/lib/module/components/loading.js.map +1 -0
- package/lib/module/components/progress-indicator.js +45 -0
- package/lib/module/components/progress-indicator.js.map +1 -0
- package/lib/module/components/recommended-validations.js +82 -0
- package/lib/module/components/recommended-validations.js.map +1 -0
- package/lib/module/constants/camera-error-messages.js +11 -0
- package/lib/module/constants/camera-error-messages.js.map +1 -0
- package/lib/module/constants/environments.js +35 -0
- package/lib/module/constants/environments.js.map +1 -0
- package/lib/module/constants/error-header-fields.js +31 -0
- package/lib/module/constants/error-header-fields.js.map +1 -0
- package/lib/module/constants/image-type-references.js +10 -0
- package/lib/module/constants/image-type-references.js.map +1 -0
- package/lib/module/constants/index.js +11 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/constants/progress-steps.js +11 -0
- package/lib/module/constants/progress-steps.js.map +1 -0
- package/lib/module/constants/route-step-index-descriptions.js +15 -0
- package/lib/module/constants/route-step-index-descriptions.js.map +1 -0
- package/lib/module/constants/route-step-indexes.js +13 -0
- package/lib/module/constants/route-step-indexes.js.map +1 -0
- package/lib/module/constants/routes-need-alter-status.js +8 -0
- package/lib/module/constants/routes-need-alter-status.js.map +1 -0
- package/lib/module/enums/document-type.js +9 -0
- package/lib/module/enums/document-type.js.map +1 -0
- package/lib/module/enums/image-type.js +10 -0
- package/lib/module/enums/image-type.js.map +1 -0
- package/lib/module/enums/index.js +10 -0
- package/lib/module/enums/index.js.map +1 -0
- package/lib/module/enums/objective.js +8 -0
- package/lib/module/enums/objective.js.map +1 -0
- package/lib/module/enums/process-status.js +10 -0
- package/lib/module/enums/process-status.js.map +1 -0
- package/lib/module/enums/request-status.js +12 -0
- package/lib/module/enums/request-status.js.map +1 -0
- package/lib/module/enums/timeline-status.js +10 -0
- package/lib/module/enums/timeline-status.js.map +1 -0
- package/lib/module/enums/validation-status.js +9 -0
- package/lib/module/enums/validation-status.js.map +1 -0
- package/lib/module/errors/camera-permission-denied.js +9 -0
- package/lib/module/errors/camera-permission-denied.js.map +1 -0
- package/lib/module/errors/camera-problem.js +9 -0
- package/lib/module/errors/camera-problem.js.map +1 -0
- package/lib/module/errors/contact-support.js +10 -0
- package/lib/module/errors/contact-support.js.map +1 -0
- package/lib/module/errors/geolocation-permission-denied.js +9 -0
- package/lib/module/errors/geolocation-permission-denied.js.map +1 -0
- package/lib/module/errors/index.js +9 -0
- package/lib/module/errors/index.js.map +1 -0
- package/lib/module/errors/non-standard-hours.js +10 -0
- package/lib/module/errors/non-standard-hours.js.map +1 -0
- package/lib/module/errors/process-already-completed.js +10 -0
- package/lib/module/errors/process-already-completed.js.map +1 -0
- package/lib/module/hooks/index.js +16 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/use-button.js +18 -0
- package/lib/module/hooks/use-button.js.map +1 -0
- package/lib/module/hooks/use-camera.js +97 -0
- package/lib/module/hooks/use-camera.js.map +1 -0
- package/lib/module/hooks/use-description-loading.js +19 -0
- package/lib/module/hooks/use-description-loading.js.map +1 -0
- package/lib/module/hooks/use-error-fallback.js +37 -0
- package/lib/module/hooks/use-error-fallback.js.map +1 -0
- package/lib/module/hooks/use-identification-error.js +15 -0
- package/lib/module/hooks/use-identification-error.js.map +1 -0
- package/lib/module/hooks/use-loading.js +39 -0
- package/lib/module/hooks/use-loading.js.map +1 -0
- package/lib/module/hooks/use-onboarding-channel.js +78 -0
- package/lib/module/hooks/use-onboarding-channel.js.map +1 -0
- package/lib/module/hooks/use-process-status.js +69 -0
- package/lib/module/hooks/use-process-status.js.map +1 -0
- package/lib/module/hooks/use-process-timeline.js +103 -0
- package/lib/module/hooks/use-process-timeline.js.map +1 -0
- package/lib/module/hooks/use-progress-indicator.js +47 -0
- package/lib/module/hooks/use-progress-indicator.js.map +1 -0
- package/lib/module/hooks/use-recommended-validations.js +37 -0
- package/lib/module/hooks/use-recommended-validations.js.map +1 -0
- package/lib/module/hooks/use-rekognition.js +35 -0
- package/lib/module/hooks/use-rekognition.js.map +1 -0
- package/lib/module/hooks/use-s3.js +94 -0
- package/lib/module/hooks/use-s3.js.map +1 -0
- package/lib/module/index.js +25 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/layouts/index.js +4 -0
- package/lib/module/layouts/index.js.map +1 -0
- package/lib/module/layouts/root/index.js +15 -0
- package/lib/module/layouts/root/index.js.map +1 -0
- package/lib/module/layouts/root/view-model.js +14 -0
- package/lib/module/layouts/root/view-model.js.map +1 -0
- package/lib/module/layouts/root/view.js +30 -0
- package/lib/module/layouts/root/view.js.map +1 -0
- package/lib/module/navigation/index.js +50 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/screens/document/analysis/index.js +12 -0
- package/lib/module/screens/document/analysis/index.js.map +1 -0
- package/lib/module/screens/document/analysis/view-model.js +81 -0
- package/lib/module/screens/document/analysis/view-model.js.map +1 -0
- package/lib/module/screens/document/analysis/view.js +18 -0
- package/lib/module/screens/document/analysis/view.js.map +1 -0
- package/lib/module/screens/document/camera/index.js +12 -0
- package/lib/module/screens/document/camera/index.js.map +1 -0
- package/lib/module/screens/document/camera/view-model.js +377 -0
- package/lib/module/screens/document/camera/view-model.js.map +1 -0
- package/lib/module/screens/document/camera/view.js +191 -0
- package/lib/module/screens/document/camera/view.js.map +1 -0
- package/lib/module/screens/document/index.js +12 -0
- package/lib/module/screens/document/index.js.map +1 -0
- package/lib/module/screens/document/review/index.js +12 -0
- package/lib/module/screens/document/review/index.js.map +1 -0
- package/lib/module/screens/document/review/view-model.js +68 -0
- package/lib/module/screens/document/review/view-model.js.map +1 -0
- package/lib/module/screens/document/review/view.js +69 -0
- package/lib/module/screens/document/review/view.js.map +1 -0
- package/lib/module/screens/document/view-model.js +27 -0
- package/lib/module/screens/document/view-model.js.map +1 -0
- package/lib/module/screens/document/view.js +69 -0
- package/lib/module/screens/document/view.js.map +1 -0
- package/lib/module/screens/face-auth/analysis/index.js +12 -0
- package/lib/module/screens/face-auth/analysis/index.js.map +1 -0
- package/lib/module/screens/face-auth/analysis/view-model.js +147 -0
- package/lib/module/screens/face-auth/analysis/view-model.js.map +1 -0
- package/lib/module/screens/face-auth/analysis/view.js +25 -0
- package/lib/module/screens/face-auth/analysis/view.js.map +1 -0
- package/lib/module/screens/face-auth/camera/index.js +12 -0
- package/lib/module/screens/face-auth/camera/index.js.map +1 -0
- package/lib/module/screens/face-auth/camera/overlay.js +26 -0
- package/lib/module/screens/face-auth/camera/overlay.js.map +1 -0
- package/lib/module/screens/face-auth/camera/view-model.js +324 -0
- package/lib/module/screens/face-auth/camera/view-model.js.map +1 -0
- package/lib/module/screens/face-auth/camera/view.js +119 -0
- package/lib/module/screens/face-auth/camera/view.js.map +1 -0
- package/lib/module/screens/face-auth/index.js +12 -0
- package/lib/module/screens/face-auth/index.js.map +1 -0
- package/lib/module/screens/face-auth/view-model.js +23 -0
- package/lib/module/screens/face-auth/view-model.js.map +1 -0
- package/lib/module/screens/face-auth/view.js +50 -0
- package/lib/module/screens/face-auth/view.js.map +1 -0
- package/lib/module/screens/index.js +11 -0
- package/lib/module/screens/index.js.map +1 -0
- package/lib/module/screens/process-finished/index.js +12 -0
- package/lib/module/screens/process-finished/index.js.map +1 -0
- package/lib/module/screens/process-finished/view-model.js +18 -0
- package/lib/module/screens/process-finished/view-model.js.map +1 -0
- package/lib/module/screens/process-finished/view.js +32 -0
- package/lib/module/screens/process-finished/view.js.map +1 -0
- package/lib/module/services/api.js +31 -0
- package/lib/module/services/api.js.map +1 -0
- package/lib/module/services/credentials/generate.js +25 -0
- package/lib/module/services/credentials/generate.js.map +1 -0
- package/lib/module/services/credentials/index.js +4 -0
- package/lib/module/services/credentials/index.js.map +1 -0
- package/lib/module/services/documents/index.js +5 -0
- package/lib/module/services/documents/index.js.map +1 -0
- package/lib/module/services/documents/validate-pdf.js +33 -0
- package/lib/module/services/documents/validate-pdf.js.map +1 -0
- package/lib/module/services/documents/validate-picture.js +31 -0
- package/lib/module/services/documents/validate-picture.js.map +1 -0
- package/lib/module/services/index.js +8 -0
- package/lib/module/services/index.js.map +1 -0
- package/lib/module/services/location/get-from-user-ip.js +19 -0
- package/lib/module/services/location/get-from-user-ip.js.map +1 -0
- package/lib/module/services/location/index.js +4 -0
- package/lib/module/services/location/index.js.map +1 -0
- package/lib/module/services/onboarding/create-channel.js +24 -0
- package/lib/module/services/onboarding/create-channel.js.map +1 -0
- package/lib/module/services/onboarding/index.js +4 -0
- package/lib/module/services/onboarding/index.js.map +1 -0
- package/lib/module/services/process/alter-status.js +30 -0
- package/lib/module/services/process/alter-status.js.map +1 -0
- package/lib/module/services/process/create-error-log.js +21 -0
- package/lib/module/services/process/create-error-log.js.map +1 -0
- package/lib/module/services/process/create-timeline.js +41 -0
- package/lib/module/services/process/create-timeline.js.map +1 -0
- package/lib/module/services/process/done.js +54 -0
- package/lib/module/services/process/done.js.map +1 -0
- package/lib/module/services/process/generate-data.js +25 -0
- package/lib/module/services/process/generate-data.js.map +1 -0
- package/lib/module/services/process/index.js +9 -0
- package/lib/module/services/process/index.js.map +1 -0
- package/lib/module/services/process/start.js +40 -0
- package/lib/module/services/process/start.js.map +1 -0
- package/lib/module/store/env-variables.js +20 -0
- package/lib/module/store/env-variables.js.map +1 -0
- package/lib/module/store/flow.js +35 -0
- package/lib/module/store/flow.js.map +1 -0
- package/lib/module/store/index.js +7 -0
- package/lib/module/store/index.js.map +1 -0
- package/lib/module/store/process-timeline-queue.js +14 -0
- package/lib/module/store/process-timeline-queue.js.map +1 -0
- package/lib/module/store/process.js +31 -0
- package/lib/module/store/process.js.map +1 -0
- package/lib/module/theme/border-radius.js +9 -0
- package/lib/module/theme/border-radius.js.map +1 -0
- package/lib/module/theme/button-variants.js +19 -0
- package/lib/module/theme/button-variants.js.map +1 -0
- package/lib/module/theme/common-colors.js +15 -0
- package/lib/module/theme/common-colors.js.map +1 -0
- package/lib/module/theme/default-colors.js +7 -0
- package/lib/module/theme/default-colors.js.map +1 -0
- package/lib/module/theme/index.js +21 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/spacing.js +14 -0
- package/lib/module/theme/spacing.js.map +1 -0
- package/lib/module/theme/text-variants.js +17 -0
- package/lib/module/theme/text-variants.js.map +1 -0
- package/lib/module/utils/get-error-metadata.js +26 -0
- package/lib/module/utils/get-error-metadata.js.map +1 -0
- package/lib/module/utils/get-route-step.js +12 -0
- package/lib/module/utils/get-route-step.js.map +1 -0
- package/lib/module/utils/index.js +5 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/view-model.js +167 -0
- package/lib/module/view-model.js.map +1 -0
- package/lib/module/view.js +45 -0
- package/lib/module/view.js.map +1 -0
- package/lib/typescript/assets/svgs/arrow-right.d.ts +3 -0
- package/lib/typescript/assets/svgs/arrow-right.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/back-document-circle.d.ts +3 -0
- package/lib/typescript/assets/svgs/back-document-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/camera-error-circle.d.ts +7 -0
- package/lib/typescript/assets/svgs/camera-error-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/camera-plus.d.ts +3 -0
- package/lib/typescript/assets/svgs/camera-plus.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/checklist-circle.d.ts +3 -0
- package/lib/typescript/assets/svgs/checklist-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/clock-circle.d.ts +7 -0
- package/lib/typescript/assets/svgs/clock-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/document-2.d.ts +3 -0
- package/lib/typescript/assets/svgs/document-2.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/document-avatar.d.ts +3 -0
- package/lib/typescript/assets/svgs/document-avatar.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/document-camera-overlay.d.ts +11 -0
- package/lib/typescript/assets/svgs/document-camera-overlay.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/document-circle.d.ts +3 -0
- package/lib/typescript/assets/svgs/document-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/document.d.ts +3 -0
- package/lib/typescript/assets/svgs/document.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/face-auth-avatar.d.ts +3 -0
- package/lib/typescript/assets/svgs/face-auth-avatar.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/face-auth-camera-overlay.d.ts +11 -0
- package/lib/typescript/assets/svgs/face-auth-camera-overlay.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/face-id-circle.d.ts +3 -0
- package/lib/typescript/assets/svgs/face-id-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/face-id-error.d.ts +7 -0
- package/lib/typescript/assets/svgs/face-id-error.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/face-id.d.ts +3 -0
- package/lib/typescript/assets/svgs/face-id.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/index.d.ts +25 -0
- package/lib/typescript/assets/svgs/index.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/location-error-circle.d.ts +7 -0
- package/lib/typescript/assets/svgs/location-error-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/process-finished.d.ts +7 -0
- package/lib/typescript/assets/svgs/process-finished.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/refresh.d.ts +3 -0
- package/lib/typescript/assets/svgs/refresh.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/shield-check-circle.d.ts +3 -0
- package/lib/typescript/assets/svgs/shield-check-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/thumb-up.d.ts +7 -0
- package/lib/typescript/assets/svgs/thumb-up.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/upload.d.ts +3 -0
- package/lib/typescript/assets/svgs/upload.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/x-error-circle.d.ts +7 -0
- package/lib/typescript/assets/svgs/x-error-circle.d.ts.map +1 -0
- package/lib/typescript/assets/svgs/x.d.ts +3 -0
- package/lib/typescript/assets/svgs/x.d.ts.map +1 -0
- package/lib/typescript/eslint.config.d.mts +3 -0
- package/lib/typescript/eslint.config.d.mts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/app.d.ts +3 -0
- package/lib/typescript/src/app.d.ts.map +1 -0
- package/lib/typescript/src/components/button.d.ts +15 -0
- package/lib/typescript/src/components/button.d.ts.map +1 -0
- package/lib/typescript/src/components/centered-loading.d.ts +3 -0
- package/lib/typescript/src/components/centered-loading.d.ts.map +1 -0
- package/lib/typescript/src/components/default-error-fallback.d.ts +6 -0
- package/lib/typescript/src/components/default-error-fallback.d.ts.map +1 -0
- package/lib/typescript/src/components/default-loading.d.ts +7 -0
- package/lib/typescript/src/components/default-loading.d.ts.map +1 -0
- package/lib/typescript/src/components/description-loading.d.ts +10 -0
- package/lib/typescript/src/components/description-loading.d.ts.map +1 -0
- package/lib/typescript/src/components/error-fallback.d.ts +5 -0
- package/lib/typescript/src/components/error-fallback.d.ts.map +1 -0
- package/lib/typescript/src/components/identification-error.d.ts +11 -0
- package/lib/typescript/src/components/identification-error.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +11 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/loading.d.ts +7 -0
- package/lib/typescript/src/components/loading.d.ts.map +1 -0
- package/lib/typescript/src/components/progress-indicator.d.ts +8 -0
- package/lib/typescript/src/components/progress-indicator.d.ts.map +1 -0
- package/lib/typescript/src/components/recommended-validations.d.ts +18 -0
- package/lib/typescript/src/components/recommended-validations.d.ts.map +1 -0
- package/lib/typescript/src/constants/camera-error-messages.d.ts +4 -0
- package/lib/typescript/src/constants/camera-error-messages.d.ts.map +1 -0
- package/lib/typescript/src/constants/environments.d.ts +33 -0
- package/lib/typescript/src/constants/environments.d.ts.map +1 -0
- package/lib/typescript/src/constants/error-header-fields.d.ts +40 -0
- package/lib/typescript/src/constants/error-header-fields.d.ts.map +1 -0
- package/lib/typescript/src/constants/image-type-references.d.ts +3 -0
- package/lib/typescript/src/constants/image-type-references.d.ts.map +1 -0
- package/lib/typescript/src/constants/index.d.ts +9 -0
- package/lib/typescript/src/constants/index.d.ts.map +1 -0
- package/lib/typescript/src/constants/progress-steps.d.ts +8 -0
- package/lib/typescript/src/constants/progress-steps.d.ts.map +1 -0
- package/lib/typescript/src/constants/route-step-index-descriptions.d.ts +3 -0
- package/lib/typescript/src/constants/route-step-index-descriptions.d.ts.map +1 -0
- package/lib/typescript/src/constants/route-step-indexes.d.ts +8 -0
- package/lib/typescript/src/constants/route-step-indexes.d.ts.map +1 -0
- package/lib/typescript/src/constants/routes-need-alter-status.d.ts +4 -0
- package/lib/typescript/src/constants/routes-need-alter-status.d.ts.map +1 -0
- package/lib/typescript/src/enums/document-type.d.ts +6 -0
- package/lib/typescript/src/enums/document-type.d.ts.map +1 -0
- package/lib/typescript/src/enums/image-type.d.ts +7 -0
- package/lib/typescript/src/enums/image-type.d.ts.map +1 -0
- package/lib/typescript/src/enums/index.d.ts +8 -0
- package/lib/typescript/src/enums/index.d.ts.map +1 -0
- package/lib/typescript/src/enums/objective.d.ts +5 -0
- package/lib/typescript/src/enums/objective.d.ts.map +1 -0
- package/lib/typescript/src/enums/process-status.d.ts +7 -0
- package/lib/typescript/src/enums/process-status.d.ts.map +1 -0
- package/lib/typescript/src/enums/request-status.d.ts +9 -0
- package/lib/typescript/src/enums/request-status.d.ts.map +1 -0
- package/lib/typescript/src/enums/timeline-status.d.ts +7 -0
- package/lib/typescript/src/enums/timeline-status.d.ts.map +1 -0
- package/lib/typescript/src/enums/validation-status.d.ts +6 -0
- package/lib/typescript/src/enums/validation-status.d.ts.map +1 -0
- package/lib/typescript/src/errors/camera-permission-denied.d.ts +4 -0
- package/lib/typescript/src/errors/camera-permission-denied.d.ts.map +1 -0
- package/lib/typescript/src/errors/camera-problem.d.ts +4 -0
- package/lib/typescript/src/errors/camera-problem.d.ts.map +1 -0
- package/lib/typescript/src/errors/contact-support.d.ts +5 -0
- package/lib/typescript/src/errors/contact-support.d.ts.map +1 -0
- package/lib/typescript/src/errors/geolocation-permission-denied.d.ts +4 -0
- package/lib/typescript/src/errors/geolocation-permission-denied.d.ts.map +1 -0
- package/lib/typescript/src/errors/index.d.ts +7 -0
- package/lib/typescript/src/errors/index.d.ts.map +1 -0
- package/lib/typescript/src/errors/non-standard-hours.d.ts +5 -0
- package/lib/typescript/src/errors/non-standard-hours.d.ts.map +1 -0
- package/lib/typescript/src/errors/process-already-completed.d.ts +5 -0
- package/lib/typescript/src/errors/process-already-completed.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +14 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-button.d.ts +12 -0
- package/lib/typescript/src/hooks/use-button.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-camera.d.ts +13 -0
- package/lib/typescript/src/hooks/use-camera.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-description-loading.d.ts +17 -0
- package/lib/typescript/src/hooks/use-description-loading.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-error-fallback.d.ts +35 -0
- package/lib/typescript/src/hooks/use-error-fallback.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-identification-error.d.ts +9 -0
- package/lib/typescript/src/hooks/use-identification-error.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-loading.d.ts +14 -0
- package/lib/typescript/src/hooks/use-loading.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-onboarding-channel.d.ts +9 -0
- package/lib/typescript/src/hooks/use-onboarding-channel.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-process-status.d.ts +7 -0
- package/lib/typescript/src/hooks/use-process-status.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-process-timeline.d.ts +14 -0
- package/lib/typescript/src/hooks/use-process-timeline.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-progress-indicator.d.ts +12 -0
- package/lib/typescript/src/hooks/use-progress-indicator.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-recommended-validations.d.ts +9 -0
- package/lib/typescript/src/hooks/use-recommended-validations.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-rekognition.d.ts +4 -0
- package/lib/typescript/src/hooks/use-rekognition.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-s3.d.ts +6 -0
- package/lib/typescript/src/hooks/use-s3.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +12 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/layouts/index.d.ts +2 -0
- package/lib/typescript/src/layouts/index.d.ts.map +1 -0
- package/lib/typescript/src/layouts/root/index.d.ts +6 -0
- package/lib/typescript/src/layouts/root/index.d.ts.map +1 -0
- package/lib/typescript/src/layouts/root/view-model.d.ts +16 -0
- package/lib/typescript/src/layouts/root/view-model.d.ts.map +1 -0
- package/lib/typescript/src/layouts/root/view.d.ts +7 -0
- package/lib/typescript/src/layouts/root/view.d.ts.map +1 -0
- package/lib/typescript/src/navigation/index.d.ts +29 -0
- package/lib/typescript/src/navigation/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/analysis/index.d.ts +2 -0
- package/lib/typescript/src/screens/document/analysis/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/analysis/view-model.d.ts +16 -0
- package/lib/typescript/src/screens/document/analysis/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/analysis/view.d.ts +5 -0
- package/lib/typescript/src/screens/document/analysis/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/camera/index.d.ts +2 -0
- package/lib/typescript/src/screens/document/camera/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/camera/view-model.d.ts +63 -0
- package/lib/typescript/src/screens/document/camera/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/camera/view.d.ts +5 -0
- package/lib/typescript/src/screens/document/camera/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/index.d.ts +2 -0
- package/lib/typescript/src/screens/document/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/review/index.d.ts +2 -0
- package/lib/typescript/src/screens/document/review/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/review/view-model.d.ts +31 -0
- package/lib/typescript/src/screens/document/review/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/review/view.d.ts +5 -0
- package/lib/typescript/src/screens/document/review/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/view-model.d.ts +12 -0
- package/lib/typescript/src/screens/document/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/document/view.d.ts +5 -0
- package/lib/typescript/src/screens/document/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/analysis/index.d.ts +2 -0
- package/lib/typescript/src/screens/face-auth/analysis/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/analysis/view-model.d.ts +26 -0
- package/lib/typescript/src/screens/face-auth/analysis/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/analysis/view.d.ts +5 -0
- package/lib/typescript/src/screens/face-auth/analysis/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/camera/index.d.ts +2 -0
- package/lib/typescript/src/screens/face-auth/camera/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/camera/overlay.d.ts +11 -0
- package/lib/typescript/src/screens/face-auth/camera/overlay.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/camera/view-model.d.ts +56 -0
- package/lib/typescript/src/screens/face-auth/camera/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/camera/view.d.ts +5 -0
- package/lib/typescript/src/screens/face-auth/camera/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/index.d.ts +2 -0
- package/lib/typescript/src/screens/face-auth/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/view-model.d.ts +17 -0
- package/lib/typescript/src/screens/face-auth/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/face-auth/view.d.ts +5 -0
- package/lib/typescript/src/screens/face-auth/view.d.ts.map +1 -0
- package/lib/typescript/src/screens/index.d.ts +9 -0
- package/lib/typescript/src/screens/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/process-finished/index.d.ts +2 -0
- package/lib/typescript/src/screens/process-finished/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/process-finished/view-model.d.ts +4 -0
- package/lib/typescript/src/screens/process-finished/view-model.d.ts.map +1 -0
- package/lib/typescript/src/screens/process-finished/view.d.ts +5 -0
- package/lib/typescript/src/screens/process-finished/view.d.ts.map +1 -0
- package/lib/typescript/src/services/api.d.ts +5 -0
- package/lib/typescript/src/services/api.d.ts.map +1 -0
- package/lib/typescript/src/services/credentials/generate.d.ts +16 -0
- package/lib/typescript/src/services/credentials/generate.d.ts.map +1 -0
- package/lib/typescript/src/services/credentials/index.d.ts +2 -0
- package/lib/typescript/src/services/credentials/index.d.ts.map +1 -0
- package/lib/typescript/src/services/documents/index.d.ts +3 -0
- package/lib/typescript/src/services/documents/index.d.ts.map +1 -0
- package/lib/typescript/src/services/documents/validate-pdf.d.ts +10 -0
- package/lib/typescript/src/services/documents/validate-pdf.d.ts.map +1 -0
- package/lib/typescript/src/services/documents/validate-picture.d.ts +13 -0
- package/lib/typescript/src/services/documents/validate-picture.d.ts.map +1 -0
- package/lib/typescript/src/services/index.d.ts +6 -0
- package/lib/typescript/src/services/index.d.ts.map +1 -0
- package/lib/typescript/src/services/location/get-from-user-ip.d.ts +14 -0
- package/lib/typescript/src/services/location/get-from-user-ip.d.ts.map +1 -0
- package/lib/typescript/src/services/location/index.d.ts +2 -0
- package/lib/typescript/src/services/location/index.d.ts.map +1 -0
- package/lib/typescript/src/services/onboarding/create-channel.d.ts +16 -0
- package/lib/typescript/src/services/onboarding/create-channel.d.ts.map +1 -0
- package/lib/typescript/src/services/onboarding/index.d.ts +2 -0
- package/lib/typescript/src/services/onboarding/index.d.ts.map +1 -0
- package/lib/typescript/src/services/process/alter-status.d.ts +11 -0
- package/lib/typescript/src/services/process/alter-status.d.ts.map +1 -0
- package/lib/typescript/src/services/process/create-error-log.d.ts +7 -0
- package/lib/typescript/src/services/process/create-error-log.d.ts.map +1 -0
- package/lib/typescript/src/services/process/create-timeline.d.ts +23 -0
- package/lib/typescript/src/services/process/create-timeline.d.ts.map +1 -0
- package/lib/typescript/src/services/process/done.d.ts +35 -0
- package/lib/typescript/src/services/process/done.d.ts.map +1 -0
- package/lib/typescript/src/services/process/generate-data.d.ts +27 -0
- package/lib/typescript/src/services/process/generate-data.d.ts.map +1 -0
- package/lib/typescript/src/services/process/index.d.ts +7 -0
- package/lib/typescript/src/services/process/index.d.ts.map +1 -0
- package/lib/typescript/src/services/process/start.d.ts +33 -0
- package/lib/typescript/src/services/process/start.d.ts.map +1 -0
- package/lib/typescript/src/store/env-variables.d.ts +15 -0
- package/lib/typescript/src/store/env-variables.d.ts.map +1 -0
- package/lib/typescript/src/store/flow.d.ts +25 -0
- package/lib/typescript/src/store/flow.d.ts.map +1 -0
- package/lib/typescript/src/store/index.d.ts +5 -0
- package/lib/typescript/src/store/index.d.ts.map +1 -0
- package/lib/typescript/src/store/process-timeline-queue.d.ts +10 -0
- package/lib/typescript/src/store/process-timeline-queue.d.ts.map +1 -0
- package/lib/typescript/src/store/process.d.ts +26 -0
- package/lib/typescript/src/store/process.d.ts.map +1 -0
- package/lib/typescript/src/theme/border-radius.d.ts +7 -0
- package/lib/typescript/src/theme/border-radius.d.ts.map +1 -0
- package/lib/typescript/src/theme/button-variants.d.ts +17 -0
- package/lib/typescript/src/theme/button-variants.d.ts.map +1 -0
- package/lib/typescript/src/theme/common-colors.d.ts +13 -0
- package/lib/typescript/src/theme/common-colors.d.ts.map +1 -0
- package/lib/typescript/src/theme/default-colors.d.ts +5 -0
- package/lib/typescript/src/theme/default-colors.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +77 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/spacing.d.ts +12 -0
- package/lib/typescript/src/theme/spacing.d.ts.map +1 -0
- package/lib/typescript/src/theme/text-variants.d.ts +15 -0
- package/lib/typescript/src/theme/text-variants.d.ts.map +1 -0
- package/lib/typescript/src/utils/get-error-metadata.d.ts +18 -0
- package/lib/typescript/src/utils/get-error-metadata.d.ts.map +1 -0
- package/lib/typescript/src/utils/get-route-step.d.ts +9 -0
- package/lib/typescript/src/utils/get-route-step.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +3 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/view-model.d.ts +84 -0
- package/lib/typescript/src/view-model.d.ts.map +1 -0
- package/lib/typescript/src/view.d.ts +5 -0
- package/lib/typescript/src/view.d.ts.map +1 -0
- package/package.json +200 -0
- package/src/app.tsx +9 -0
- package/src/components/button.tsx +70 -0
- package/src/components/centered-loading.tsx +11 -0
- package/src/components/default-error-fallback.tsx +26 -0
- package/src/components/default-loading.tsx +29 -0
- package/src/components/description-loading.tsx +32 -0
- package/src/components/error-fallback.tsx +55 -0
- package/src/components/identification-error.tsx +37 -0
- package/src/components/index.ts +10 -0
- package/src/components/loading.tsx +50 -0
- package/src/components/progress-indicator.tsx +46 -0
- package/src/components/recommended-validations.tsx +98 -0
- package/src/constants/camera-error-messages.ts +24 -0
- package/src/constants/environments.ts +35 -0
- package/src/constants/error-header-fields.ts +41 -0
- package/src/constants/image-type-references.ts +8 -0
- package/src/constants/index.ts +8 -0
- package/src/constants/progress-steps.ts +23 -0
- package/src/constants/route-step-index-descriptions.ts +14 -0
- package/src/constants/route-step-indexes.ts +20 -0
- package/src/constants/routes-need-alter-status.ts +8 -0
- package/src/enums/document-type.ts +5 -0
- package/src/enums/image-type.ts +6 -0
- package/src/enums/index.ts +7 -0
- package/src/enums/objective.ts +4 -0
- package/src/enums/process-status.ts +6 -0
- package/src/enums/request-status.ts +8 -0
- package/src/enums/timeline-status.ts +6 -0
- package/src/enums/validation-status.ts +5 -0
- package/src/errors/camera-permission-denied.ts +9 -0
- package/src/errors/camera-problem.ts +7 -0
- package/src/errors/contact-support.ts +10 -0
- package/src/errors/geolocation-permission-denied.ts +9 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/non-standard-hours.ts +11 -0
- package/src/errors/process-already-completed.ts +10 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/use-button.ts +22 -0
- package/src/hooks/use-camera.ts +131 -0
- package/src/hooks/use-description-loading.ts +19 -0
- package/src/hooks/use-error-fallback.ts +33 -0
- package/src/hooks/use-identification-error.ts +13 -0
- package/src/hooks/use-loading.ts +52 -0
- package/src/hooks/use-onboarding-channel.ts +115 -0
- package/src/hooks/use-process-status.ts +82 -0
- package/src/hooks/use-process-timeline.ts +155 -0
- package/src/hooks/use-progress-indicator.ts +51 -0
- package/src/hooks/use-recommended-validations.ts +52 -0
- package/src/hooks/use-rekognition.ts +41 -0
- package/src/hooks/use-s3.ts +113 -0
- package/src/index.tsx +31 -0
- package/src/layouts/index.ts +1 -0
- package/src/layouts/root/index.tsx +12 -0
- package/src/layouts/root/view-model.ts +13 -0
- package/src/layouts/root/view.tsx +24 -0
- package/src/navigation/index.tsx +92 -0
- package/src/screens/document/analysis/index.tsx +8 -0
- package/src/screens/document/analysis/view-model.ts +95 -0
- package/src/screens/document/analysis/view.tsx +20 -0
- package/src/screens/document/camera/index.tsx +8 -0
- package/src/screens/document/camera/view-model.ts +570 -0
- package/src/screens/document/camera/view.tsx +196 -0
- package/src/screens/document/index.tsx +8 -0
- package/src/screens/document/review/index.tsx +8 -0
- package/src/screens/document/review/view-model.ts +77 -0
- package/src/screens/document/review/view.tsx +69 -0
- package/src/screens/document/view-model.ts +29 -0
- package/src/screens/document/view.tsx +80 -0
- package/src/screens/face-auth/analysis/index.tsx +8 -0
- package/src/screens/face-auth/analysis/view-model.ts +200 -0
- package/src/screens/face-auth/analysis/view.tsx +31 -0
- package/src/screens/face-auth/camera/index.tsx +8 -0
- package/src/screens/face-auth/camera/overlay.tsx +31 -0
- package/src/screens/face-auth/camera/view-model.ts +462 -0
- package/src/screens/face-auth/camera/view.tsx +128 -0
- package/src/screens/face-auth/index.tsx +8 -0
- package/src/screens/face-auth/view-model.ts +25 -0
- package/src/screens/face-auth/view.tsx +51 -0
- package/src/screens/index.ts +8 -0
- package/src/screens/process-finished/index.tsx +8 -0
- package/src/screens/process-finished/view-model.ts +15 -0
- package/src/screens/process-finished/view.tsx +24 -0
- package/src/services/api.ts +39 -0
- package/src/services/credentials/generate.ts +37 -0
- package/src/services/credentials/index.ts +1 -0
- package/src/services/documents/index.ts +2 -0
- package/src/services/documents/validate-pdf.ts +46 -0
- package/src/services/documents/validate-picture.ts +50 -0
- package/src/services/index.ts +5 -0
- package/src/services/location/get-from-user-ip.ts +31 -0
- package/src/services/location/index.ts +1 -0
- package/src/services/onboarding/create-channel.ts +45 -0
- package/src/services/onboarding/index.ts +1 -0
- package/src/services/process/alter-status.ts +38 -0
- package/src/services/process/create-error-log.ts +28 -0
- package/src/services/process/create-timeline.ts +75 -0
- package/src/services/process/done.ts +114 -0
- package/src/services/process/generate-data.ts +54 -0
- package/src/services/process/index.ts +6 -0
- package/src/services/process/start.ts +86 -0
- package/src/store/env-variables.ts +37 -0
- package/src/store/flow.ts +54 -0
- package/src/store/index.ts +4 -0
- package/src/store/process-timeline-queue.ts +25 -0
- package/src/store/process.ts +64 -0
- package/src/theme/border-radius.ts +6 -0
- package/src/theme/button-variants.ts +16 -0
- package/src/theme/common-colors.ts +12 -0
- package/src/theme/default-colors.ts +4 -0
- package/src/theme/index.ts +31 -0
- package/src/theme/spacing.ts +11 -0
- package/src/theme/text-variants.ts +14 -0
- package/src/utils/get-error-metadata.ts +46 -0
- package/src/utils/get-route-step.ts +24 -0
- package/src/utils/index.ts +2 -0
- package/src/view-model.ts +222 -0
- package/src/view.tsx +52 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CameraRuntimeError } from 'react-native-vision-camera'
|
|
2
|
+
|
|
3
|
+
export type CameraError = Extract<
|
|
4
|
+
CameraRuntimeError['code'],
|
|
5
|
+
| 'device/no-device'
|
|
6
|
+
| 'device/invalid-device'
|
|
7
|
+
| 'device/camera-already-in-use'
|
|
8
|
+
| 'device/configuration-error'
|
|
9
|
+
| 'session/invalid-output-configuration'
|
|
10
|
+
| 'system/camera-is-restricted'
|
|
11
|
+
>
|
|
12
|
+
|
|
13
|
+
export const cameraErrorMessages: Record<CameraError, string> = {
|
|
14
|
+
'device/no-device': 'Nenhuma câmera (environment) encontrada.',
|
|
15
|
+
'device/invalid-device': 'A câmera encontrada não é válida.',
|
|
16
|
+
'device/camera-already-in-use':
|
|
17
|
+
'A câmera está em uso por outro aplicativo ou não pode ser acessada.',
|
|
18
|
+
'device/configuration-error':
|
|
19
|
+
'As configurações da câmera solicitadas não podem ser atendidas.',
|
|
20
|
+
'session/invalid-output-configuration':
|
|
21
|
+
'A configuração de saída da sessão da câmera é inválida.',
|
|
22
|
+
'system/camera-is-restricted':
|
|
23
|
+
'As permissões da câmera foram negadas pelo sistema.',
|
|
24
|
+
} as const
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export const environments = {
|
|
2
|
+
development: {
|
|
3
|
+
baseApiUrl: 'https://dev.proteo.com.br/api/v1',
|
|
4
|
+
baseWssUrl: 'wss://dev.proteo.com.br/cable',
|
|
5
|
+
baseLogUrl:
|
|
6
|
+
'https://9crezfwseg.execute-api.us-east-1.amazonaws.com/dev/logs',
|
|
7
|
+
validateDocumentImgUrl: 'https://scan.dev.proteo.com.br/process-frame',
|
|
8
|
+
validateDocumentPdfUrl: 'https://scan.dev.proteo.com.br/validate-cnh-pdf',
|
|
9
|
+
ipInfoUrl: 'https://www.ipinfo.io',
|
|
10
|
+
ipInfoToken: '2b8bdf9480f687',
|
|
11
|
+
minimumFaceConfidence: 95,
|
|
12
|
+
} as const,
|
|
13
|
+
staging: {
|
|
14
|
+
baseApiUrl: 'https://dev.proteo.com.br/api/v1',
|
|
15
|
+
baseWssUrl: 'wss://dev.proteo.com.br/cable',
|
|
16
|
+
baseLogUrl:
|
|
17
|
+
'https://9crezfwseg.execute-api.us-east-1.amazonaws.com/dev/logs',
|
|
18
|
+
validateDocumentImgUrl: 'https://scan.dev.proteo.com.br/process-frame',
|
|
19
|
+
validateDocumentPdfUrl: 'https://scan.dev.proteo.com.br/validate-cnh-pdf',
|
|
20
|
+
ipInfoUrl: 'https://www.ipinfo.io',
|
|
21
|
+
ipInfoToken: '2b8bdf9480f687',
|
|
22
|
+
minimumFaceConfidence: 95,
|
|
23
|
+
} as const,
|
|
24
|
+
production: {
|
|
25
|
+
baseApiUrl: 'https://dev.proteo.com.br/api/v1',
|
|
26
|
+
baseWssUrl: 'wss://dev.proteo.com.br/cable',
|
|
27
|
+
baseLogUrl:
|
|
28
|
+
'https://9crezfwseg.execute-api.us-east-1.amazonaws.com/dev/logs',
|
|
29
|
+
validateDocumentImgUrl: 'https://scan.dev.proteo.com.br/process-frame',
|
|
30
|
+
validateDocumentPdfUrl: 'https://scan.dev.proteo.com.br/validate-cnh-pdf',
|
|
31
|
+
ipInfoUrl: 'https://www.ipinfo.io',
|
|
32
|
+
ipInfoToken: '2b8bdf9480f687',
|
|
33
|
+
minimumFaceConfidence: 95,
|
|
34
|
+
} as const,
|
|
35
|
+
} as const
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CameraErrorCircleSvg,
|
|
3
|
+
ClockCircleSvg,
|
|
4
|
+
LocationErrorCircleSvg,
|
|
5
|
+
ThumbUpSvg,
|
|
6
|
+
XErrorCircleSvg,
|
|
7
|
+
} from '../../assets/svgs'
|
|
8
|
+
import {
|
|
9
|
+
CameraPermissionDeniedError,
|
|
10
|
+
CameraProblemError,
|
|
11
|
+
GeolocationPermissionDeniedError,
|
|
12
|
+
NonStandardHoursError,
|
|
13
|
+
ProcessAlreadyCompletedError,
|
|
14
|
+
} from '../errors'
|
|
15
|
+
|
|
16
|
+
export const errorHeaderFields = {
|
|
17
|
+
[CameraPermissionDeniedError.name]: {
|
|
18
|
+
icon: CameraErrorCircleSvg,
|
|
19
|
+
title: 'Acesso à câmera negado!',
|
|
20
|
+
},
|
|
21
|
+
[CameraProblemError.name]: {
|
|
22
|
+
icon: CameraErrorCircleSvg,
|
|
23
|
+
title: 'Problema com a câmera!',
|
|
24
|
+
},
|
|
25
|
+
[GeolocationPermissionDeniedError.name]: {
|
|
26
|
+
icon: LocationErrorCircleSvg,
|
|
27
|
+
title: 'Acesso à localização negado!',
|
|
28
|
+
},
|
|
29
|
+
[NonStandardHoursError.name]: {
|
|
30
|
+
icon: ClockCircleSvg,
|
|
31
|
+
title: 'Opsss!',
|
|
32
|
+
},
|
|
33
|
+
[ProcessAlreadyCompletedError.name]: {
|
|
34
|
+
icon: ThumbUpSvg,
|
|
35
|
+
title: 'Processo já concluído!',
|
|
36
|
+
},
|
|
37
|
+
default: {
|
|
38
|
+
icon: XErrorCircleSvg,
|
|
39
|
+
title: 'Ocorreu um problema!',
|
|
40
|
+
},
|
|
41
|
+
} as const
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ImageType } from '../enums'
|
|
2
|
+
|
|
3
|
+
export const imageTypeReferences: Record<ImageType, string> = {
|
|
4
|
+
[ImageType.DOCUMENT_PDF]: 'doc-img',
|
|
5
|
+
[ImageType.FRONT_DOCUMENT]: 'doc-img-a',
|
|
6
|
+
[ImageType.BACK_DOCUMENT]: 'doc-img-b',
|
|
7
|
+
[ImageType.FACE]: 'doc-img-f',
|
|
8
|
+
} as const
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './error-header-fields'
|
|
2
|
+
export * from './camera-error-messages'
|
|
3
|
+
export * from './environments'
|
|
4
|
+
export * from './image-type-references'
|
|
5
|
+
export * from './progress-steps'
|
|
6
|
+
export * from './route-step-indexes'
|
|
7
|
+
export * from './route-step-index-descriptions'
|
|
8
|
+
export * from './routes-need-alter-status'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type RouteName } from '../navigation'
|
|
2
|
+
import { FaceIdSvg, DocumentSvg } from '../../assets/svgs'
|
|
3
|
+
|
|
4
|
+
type ProgressStep = {
|
|
5
|
+
icon: React.ComponentType
|
|
6
|
+
routes: RouteName[]
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const progressSteps: ProgressStep[] = [
|
|
10
|
+
{
|
|
11
|
+
icon: FaceIdSvg,
|
|
12
|
+
routes: ['FaceAuth', 'FaceAuthCamera', 'FaceAuthAnalysis'],
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
icon: DocumentSvg,
|
|
16
|
+
routes: [
|
|
17
|
+
'Document',
|
|
18
|
+
'DocumentCamera',
|
|
19
|
+
'DocumentReview',
|
|
20
|
+
'DocumentAnalysis',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type RouteStepIndex } from './route-step-indexes'
|
|
2
|
+
|
|
3
|
+
export const routeStepIndexDescriptions: Record<RouteStepIndex, string> = {
|
|
4
|
+
0: 'Início da autenticação facial',
|
|
5
|
+
1: 'Autenticação facial',
|
|
6
|
+
2: 'Análise de foto facial',
|
|
7
|
+
3: 'Início do processo de documento',
|
|
8
|
+
4: 'Foto da frente do documento',
|
|
9
|
+
5: 'Revisão da foto da frente do documento',
|
|
10
|
+
6: 'Foto do verso do documento',
|
|
11
|
+
7: 'Revisão da foto do verso do documento',
|
|
12
|
+
8: 'Análise de documento',
|
|
13
|
+
9: 'Processo finalizado',
|
|
14
|
+
} as const
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type RootStackParamList, type RouteName } from '../navigation'
|
|
2
|
+
|
|
3
|
+
export type RouteStepIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
|
|
4
|
+
|
|
5
|
+
type RouteStepIndexes = {
|
|
6
|
+
[K in RouteName]: (
|
|
7
|
+
params: RootStackParamList[K] | undefined,
|
|
8
|
+
) => RouteStepIndex
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const routeStepIndexes: RouteStepIndexes = {
|
|
12
|
+
FaceAuth: () => 0,
|
|
13
|
+
FaceAuthCamera: () => 1,
|
|
14
|
+
FaceAuthAnalysis: () => 2,
|
|
15
|
+
Document: () => 3,
|
|
16
|
+
DocumentCamera: (params) => (params?.side === 'back' ? 6 : 4),
|
|
17
|
+
DocumentReview: (params) => (params?.side === 'back' ? 7 : 5),
|
|
18
|
+
DocumentAnalysis: () => 8,
|
|
19
|
+
ProcessFinished: () => 9,
|
|
20
|
+
} as const
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type RouteName } from '../navigation'
|
|
2
|
+
import { ProcessStatus } from '../enums'
|
|
3
|
+
|
|
4
|
+
export const routesNeedAlterStatus: Partial<Record<RouteName, ProcessStatus>> =
|
|
5
|
+
{
|
|
6
|
+
FaceAuthCamera: ProcessStatus.LIVENESS,
|
|
7
|
+
DocumentCamera: ProcessStatus.DOCUMENTS,
|
|
8
|
+
} as const
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class CameraPermissionDeniedError extends Error {
|
|
2
|
+
constructor() {
|
|
3
|
+
super(
|
|
4
|
+
'Precisamos da câmera para seguir com o onboarding. Habilite a permissão para tirar sua foto e validar sua identidade.',
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
this.name = 'CameraPermissionDeniedError'
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class GeolocationPermissionDeniedError extends Error {
|
|
2
|
+
constructor() {
|
|
3
|
+
super(
|
|
4
|
+
'Precisamos da sua localização para seguir com o onboarding. Habilite a permissão para continuar e validar sua identidade.',
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
this.name = 'GeolocationPermissionDeniedError'
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class NonStandardHoursError extends Error {
|
|
2
|
+
readonly code = '0427'
|
|
3
|
+
|
|
4
|
+
constructor() {
|
|
5
|
+
super(
|
|
6
|
+
'Não é possível prosseguir, a data e o horário do seu dispositivo não está configurado corretamente.',
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
this.name = 'NonStandardHoursError'
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './use-loading'
|
|
2
|
+
export * from './use-error-fallback'
|
|
3
|
+
export * from './use-progress-indicator'
|
|
4
|
+
export * from './use-description-loading'
|
|
5
|
+
export * from './use-button'
|
|
6
|
+
export * from './use-camera'
|
|
7
|
+
export * from './use-recommended-validations'
|
|
8
|
+
export * from './use-identification-error'
|
|
9
|
+
export * from './use-rekognition'
|
|
10
|
+
export * from './use-s3'
|
|
11
|
+
export * from './use-process-status'
|
|
12
|
+
export * from './use-process-timeline'
|
|
13
|
+
export * from './use-onboarding-channel'
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useTheme, type ColorProps, type VariantProps } from '@shopify/restyle'
|
|
2
|
+
import { type CustomThemeProps } from '../theme'
|
|
3
|
+
|
|
4
|
+
type UseButtonProps = VariantProps<CustomThemeProps, 'buttonVariants'> & {
|
|
5
|
+
mainColor?: ColorProps<CustomThemeProps>['color']
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const useButton = (props?: UseButtonProps) => {
|
|
9
|
+
const { colors } = useTheme<CustomThemeProps>()
|
|
10
|
+
|
|
11
|
+
const isOutline = props?.variant === 'outline'
|
|
12
|
+
const mainColor = isOutline ? colors.primary : colors.textButton
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
variant: props?.variant,
|
|
16
|
+
mainColor: props?.mainColor ? colors[props?.mainColor] : mainColor,
|
|
17
|
+
...(isOutline &&
|
|
18
|
+
props?.mainColor && {
|
|
19
|
+
borderColor: props?.mainColor,
|
|
20
|
+
}),
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
Camera,
|
|
4
|
+
CameraRuntimeError,
|
|
5
|
+
useCameraDevice,
|
|
6
|
+
useCameraPermission,
|
|
7
|
+
type CameraPosition,
|
|
8
|
+
} from 'react-native-vision-camera'
|
|
9
|
+
import { useDebounce } from 'use-debounce'
|
|
10
|
+
import { useFlowStore } from '../store'
|
|
11
|
+
import { useProcessTimeline } from './use-process-timeline'
|
|
12
|
+
import { cameraErrorMessages, type CameraError } from '../constants'
|
|
13
|
+
import { TimelineStatus } from '../enums'
|
|
14
|
+
import { CameraPermissionDeniedError, CameraProblemError } from '../errors'
|
|
15
|
+
|
|
16
|
+
export const useCamera = (position: CameraPosition) => {
|
|
17
|
+
const ref = useRef<Camera>(null)
|
|
18
|
+
const hasRetriedRef = useRef(false)
|
|
19
|
+
const isInvalidConfigFromPreviousSessionRef = useRef(false)
|
|
20
|
+
const permissionTimelineSentRef = useRef(false)
|
|
21
|
+
const [isReady, setIsReady] = useState(false)
|
|
22
|
+
const [isTakingPicture, setIsTakingPicture] = useState(false)
|
|
23
|
+
const [enablePhoto, setEnablePhoto] = useState(true)
|
|
24
|
+
const [error, setError] = useState<Error>()
|
|
25
|
+
const { hasPermission, requestPermission } = useCameraPermission()
|
|
26
|
+
const device = useCameraDevice(position)
|
|
27
|
+
const [isReadyDebounced] = useDebounce(isReady, 500)
|
|
28
|
+
const backgroundCheckExecutionId = useFlowStore(
|
|
29
|
+
(state) => state.backgroundCheckExecutionId,
|
|
30
|
+
)
|
|
31
|
+
const { create: createProcessTimeline } = useProcessTimeline()
|
|
32
|
+
|
|
33
|
+
const onInitialized = useCallback(() => {
|
|
34
|
+
setIsReady(true)
|
|
35
|
+
}, [])
|
|
36
|
+
const onError = useCallback(
|
|
37
|
+
(err: CameraRuntimeError) => {
|
|
38
|
+
if (err.code === 'session/invalid-output-configuration') {
|
|
39
|
+
if (!hasRetriedRef.current) {
|
|
40
|
+
hasRetriedRef.current = true
|
|
41
|
+
isInvalidConfigFromPreviousSessionRef.current = true
|
|
42
|
+
setEnablePhoto(false)
|
|
43
|
+
|
|
44
|
+
return
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (isInvalidConfigFromPreviousSessionRef.current) {
|
|
48
|
+
isInvalidConfigFromPreviousSessionRef.current = false
|
|
49
|
+
|
|
50
|
+
return
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
setIsReady(false)
|
|
55
|
+
|
|
56
|
+
const message =
|
|
57
|
+
err.code in cameraErrorMessages
|
|
58
|
+
? cameraErrorMessages[err.code as CameraError]
|
|
59
|
+
: `Erro ao acessar a câmera: ${err.message}`
|
|
60
|
+
|
|
61
|
+
createProcessTimeline({
|
|
62
|
+
status: TimelineStatus.ERROR,
|
|
63
|
+
message,
|
|
64
|
+
})
|
|
65
|
+
setError(new CameraProblemError(message))
|
|
66
|
+
},
|
|
67
|
+
[createProcessTimeline],
|
|
68
|
+
)
|
|
69
|
+
const takePicture = useCallback(async () => {
|
|
70
|
+
if (!ref.current) return
|
|
71
|
+
|
|
72
|
+
setIsTakingPicture(true)
|
|
73
|
+
|
|
74
|
+
const picture = enablePhoto
|
|
75
|
+
? await ref.current.takePhoto()
|
|
76
|
+
: await ref.current.takeSnapshot()
|
|
77
|
+
|
|
78
|
+
setIsTakingPicture(false)
|
|
79
|
+
|
|
80
|
+
return picture
|
|
81
|
+
}, [enablePhoto])
|
|
82
|
+
const handlePermission = useCallback(async () => {
|
|
83
|
+
const granted = await requestPermission()
|
|
84
|
+
|
|
85
|
+
if (!granted) {
|
|
86
|
+
createProcessTimeline({
|
|
87
|
+
status: TimelineStatus.ERROR,
|
|
88
|
+
message: 'Permissão para acessar a câmera foi negada',
|
|
89
|
+
})
|
|
90
|
+
setError(new CameraPermissionDeniedError())
|
|
91
|
+
}
|
|
92
|
+
}, [createProcessTimeline, requestPermission])
|
|
93
|
+
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
if (!backgroundCheckExecutionId) return
|
|
96
|
+
|
|
97
|
+
if (!hasPermission) {
|
|
98
|
+
handlePermission()
|
|
99
|
+
|
|
100
|
+
return
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (permissionTimelineSentRef.current) return
|
|
104
|
+
|
|
105
|
+
createProcessTimeline({
|
|
106
|
+
status: TimelineStatus.SUCCESS,
|
|
107
|
+
message: 'Acesso à câmera permitido pelo usuário',
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
permissionTimelineSentRef.current = true
|
|
111
|
+
}, [
|
|
112
|
+
backgroundCheckExecutionId,
|
|
113
|
+
createProcessTimeline,
|
|
114
|
+
handlePermission,
|
|
115
|
+
hasPermission,
|
|
116
|
+
])
|
|
117
|
+
|
|
118
|
+
if (error) throw error
|
|
119
|
+
|
|
120
|
+
return {
|
|
121
|
+
ref,
|
|
122
|
+
device,
|
|
123
|
+
hasPermission,
|
|
124
|
+
isReady: isReadyDebounced,
|
|
125
|
+
isTakingPicture,
|
|
126
|
+
enablePhoto,
|
|
127
|
+
onInitialized,
|
|
128
|
+
onError,
|
|
129
|
+
takePicture,
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useTheme } from '@shopify/restyle'
|
|
2
|
+
import { useLoading } from './use-loading'
|
|
3
|
+
import { type CustomThemeProps } from '../theme'
|
|
4
|
+
|
|
5
|
+
type UseDescriptionLoadingProps = {
|
|
6
|
+
isActive: boolean
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const useDescriptionLoading = ({
|
|
10
|
+
isActive,
|
|
11
|
+
}: UseDescriptionLoadingProps) => {
|
|
12
|
+
const { colors } = useTheme<CustomThemeProps>()
|
|
13
|
+
const loadingProps = useLoading({ isActive })
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
iconColor: colors.primary,
|
|
17
|
+
loadingProps,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useTheme } from '@shopify/restyle'
|
|
2
|
+
import { useProcessStore } from '../store'
|
|
3
|
+
import { useButton } from './use-button'
|
|
4
|
+
import { type CustomThemeProps } from '../theme'
|
|
5
|
+
import { getErrorMetadata } from '../utils'
|
|
6
|
+
|
|
7
|
+
type UseErrorFallbackProps = {
|
|
8
|
+
error: Error
|
|
9
|
+
resetError: () => void
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const useErrorFallback = ({
|
|
13
|
+
error,
|
|
14
|
+
resetError,
|
|
15
|
+
}: UseErrorFallbackProps) => {
|
|
16
|
+
const { icon, title, message, isPermissionDenied } = getErrorMetadata(error)
|
|
17
|
+
const onFinish = useProcessStore((state) => state.onFinish)
|
|
18
|
+
const { colors } = useTheme<CustomThemeProps>()
|
|
19
|
+
const tryAgainButtonProps = useButton()
|
|
20
|
+
const finishProcessButtonProps = useButton({ variant: 'outline' })
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
title,
|
|
24
|
+
message,
|
|
25
|
+
icon,
|
|
26
|
+
miniIconColor: colors.secondary,
|
|
27
|
+
tryAgainButtonProps,
|
|
28
|
+
finishProcessButtonProps,
|
|
29
|
+
showFooterButtons: isPermissionDenied,
|
|
30
|
+
onTryAgainPress: resetError,
|
|
31
|
+
onFinishProcessPress: onFinish,
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useTheme } from '@shopify/restyle'
|
|
2
|
+
import { type CustomThemeProps } from '../theme'
|
|
3
|
+
import { useButton } from './use-button'
|
|
4
|
+
|
|
5
|
+
export const useIdentificationError = () => {
|
|
6
|
+
const { colors } = useTheme<CustomThemeProps>()
|
|
7
|
+
const tryAgainButtonProps = useButton()
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
miniIconColor: colors.secondary,
|
|
11
|
+
tryAgainButtonProps,
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useEffect } from 'react'
|
|
2
|
+
import { useTheme } from '@shopify/restyle'
|
|
3
|
+
import {
|
|
4
|
+
cancelAnimation,
|
|
5
|
+
Easing,
|
|
6
|
+
useAnimatedStyle,
|
|
7
|
+
useSharedValue,
|
|
8
|
+
withRepeat,
|
|
9
|
+
withTiming,
|
|
10
|
+
} from 'react-native-reanimated'
|
|
11
|
+
import { type CustomThemeProps } from '../theme'
|
|
12
|
+
|
|
13
|
+
type UseLoadingProps = {
|
|
14
|
+
isActive: boolean
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const useLoading = ({ isActive }: UseLoadingProps) => {
|
|
18
|
+
const { colors } = useTheme<CustomThemeProps>()
|
|
19
|
+
const rotation = useSharedValue(0)
|
|
20
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
21
|
+
transform: [{ rotate: `${rotation.value}deg` }],
|
|
22
|
+
}))
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (!isActive) {
|
|
26
|
+
cancelAnimation(rotation)
|
|
27
|
+
rotation.value = 0
|
|
28
|
+
|
|
29
|
+
return
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
rotation.value = withRepeat(
|
|
33
|
+
withTiming(360, {
|
|
34
|
+
duration: 1000,
|
|
35
|
+
easing: Easing.linear,
|
|
36
|
+
}),
|
|
37
|
+
-1,
|
|
38
|
+
false,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
return () => {
|
|
42
|
+
cancelAnimation(rotation)
|
|
43
|
+
rotation.value = 0
|
|
44
|
+
}
|
|
45
|
+
}, [isActive, rotation])
|
|
46
|
+
|
|
47
|
+
return {
|
|
48
|
+
animatedStyle,
|
|
49
|
+
backgroundColor: colors.gray,
|
|
50
|
+
color: colors.primary,
|
|
51
|
+
}
|
|
52
|
+
}
|