@transfergratis/react-native-sdk 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +433 -94
  2. package/build/components/EnhancedCameraView.d.ts.map +1 -1
  3. package/build/components/EnhancedCameraView.js +8 -1
  4. package/build/components/EnhancedCameraView.js.map +1 -1
  5. package/build/components/KYCElements/IDCardCapture.d.ts.map +1 -1
  6. package/build/components/KYCElements/IDCardCapture.js +115 -25
  7. package/build/components/KYCElements/IDCardCapture.js.map +1 -1
  8. package/build/components/KYCElements/ReviewSubmitTemplate.js +1 -1
  9. package/build/components/KYCElements/ReviewSubmitTemplate.js.map +1 -1
  10. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts.map +1 -1
  11. package/build/components/KYCElements/SelfieCaptureTemplate.js +1 -0
  12. package/build/components/KYCElements/SelfieCaptureTemplate.js.map +1 -1
  13. package/build/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -1
  14. package/build/components/KYCElements/VerificationProgressTemplate.js +10 -9
  15. package/build/components/KYCElements/VerificationProgressTemplate.js.map +1 -1
  16. package/build/components/OverLay/IdCard.js +3 -3
  17. package/build/components/OverLay/IdCard.js.map +1 -1
  18. package/build/components/OverLay/StepOverlay.d.ts.map +1 -1
  19. package/build/components/OverLay/StepOverlay.js +3 -1
  20. package/build/components/OverLay/StepOverlay.js.map +1 -1
  21. package/build/components/OverLay/type.d.ts +5 -0
  22. package/build/components/OverLay/type.d.ts.map +1 -1
  23. package/build/components/OverLay/type.js.map +1 -1
  24. package/build/components/TemplateKYCExample.js +2 -2
  25. package/build/components/TemplateKYCExample.js.map +1 -1
  26. package/build/config/countriesData.d.ts.map +1 -1
  27. package/build/config/countriesData.js +1 -0
  28. package/build/config/countriesData.js.map +1 -1
  29. package/build/config/region_mapping.d.ts.map +1 -1
  30. package/build/config/region_mapping.js +98 -49
  31. package/build/config/region_mapping.js.map +1 -1
  32. package/build/hooks/useTemplateKYCFlow.d.ts.map +1 -1
  33. package/build/hooks/useTemplateKYCFlow.js +7 -6
  34. package/build/hooks/useTemplateKYCFlow.js.map +1 -1
  35. package/build/i18n/en/index.d.ts +6 -0
  36. package/build/i18n/en/index.d.ts.map +1 -1
  37. package/build/i18n/en/index.js +7 -1
  38. package/build/i18n/en/index.js.map +1 -1
  39. package/build/i18n/fr/index.d.ts +6 -0
  40. package/build/i18n/fr/index.d.ts.map +1 -1
  41. package/build/i18n/fr/index.js +7 -1
  42. package/build/i18n/fr/index.js.map +1 -1
  43. package/build/modules/api/CardAuthentification.d.ts +23 -2
  44. package/build/modules/api/CardAuthentification.d.ts.map +1 -1
  45. package/build/modules/api/CardAuthentification.js +53 -15
  46. package/build/modules/api/CardAuthentification.js.map +1 -1
  47. package/build/modules/api/KYCService.d.ts +9 -0
  48. package/build/modules/api/KYCService.d.ts.map +1 -1
  49. package/build/modules/api/KYCService.js +52 -29
  50. package/build/modules/api/KYCService.js.map +1 -1
  51. package/build/types/KYC.types.d.ts +3 -0
  52. package/build/types/KYC.types.d.ts.map +1 -1
  53. package/build/types/KYC.types.js.map +1 -1
  54. package/build/utils/logger.d.ts +12 -0
  55. package/build/utils/logger.d.ts.map +1 -0
  56. package/build/utils/logger.js +45 -0
  57. package/build/utils/logger.js.map +1 -0
  58. package/package.json +1 -1
  59. package/src/components/EnhancedCameraView.tsx +8 -2
  60. package/src/components/KYCElements/IDCardCapture.tsx +124 -29
  61. package/src/components/KYCElements/ReviewSubmitTemplate.tsx +1 -1
  62. package/src/components/KYCElements/SelfieCaptureTemplate.tsx +1 -0
  63. package/src/components/KYCElements/VerificationProgressTemplate.tsx +10 -9
  64. package/src/components/OverLay/IdCard.tsx +3 -3
  65. package/src/components/OverLay/StepOverlay.tsx +3 -1
  66. package/src/components/OverLay/type.ts +15 -9
  67. package/src/components/TemplateKYCExample.tsx +2 -2
  68. package/src/config/countriesData.ts +1 -0
  69. package/src/config/region_mapping.json +735 -0
  70. package/src/config/region_mapping.ts +98 -49
  71. package/src/hooks/useTemplateKYCFlow.tsx +7 -6
  72. package/src/i18n/en/index.ts +7 -1
  73. package/src/i18n/fr/index.ts +9 -2
  74. package/src/modules/api/CardAuthentification.ts +61 -18
  75. package/src/modules/api/KYCService.ts +57 -32
  76. package/src/types/KYC.types.ts +3 -0
  77. package/src/utils/logger.ts +48 -0
@@ -6,7 +6,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
6
6
  "root": [
7
7
  {
8
8
  "py_file": "belgium_01.py",
9
- "front": "MRZ"
9
+ "front": "MRZ",
10
+ "mrz_type": "TD3"
10
11
  }
11
12
  ]
12
13
  }
@@ -16,11 +17,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
16
17
  "root": [
17
18
  {
18
19
  "py_file": "benin_01.py",
19
- "front": "MRZ"
20
+ "front": "MRZ",
21
+ "mrz_type": "TD3"
20
22
  },
21
23
  {
22
24
  "py_file": "benin_02.py",
23
- "front": "MRZ"
25
+ "front": "MRZ",
26
+ "mrz_type": "TD3"
24
27
  }
25
28
  ]
26
29
  }
@@ -30,11 +33,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
30
33
  "root": [
31
34
  {
32
35
  "py_file": "brazil_01.py",
33
- "front": "MRZ"
36
+ "front": "MRZ",
37
+ "mrz_type": "TD3"
34
38
  },
35
39
  {
36
40
  "py_file": "brazil_02.py",
37
- "front": "MRZ"
41
+ "front": "MRZ",
42
+ "mrz_type": "TD3"
38
43
  }
39
44
  ]
40
45
  }
@@ -44,11 +49,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
44
49
  "root": [
45
50
  {
46
51
  "py_file": "britain_01.py",
47
- "front": "MRZ"
52
+ "front": "MRZ",
53
+ "mrz_type": "TD3"
48
54
  },
49
55
  {
50
56
  "py_file": "britain_02.py",
51
- "front": "MRZ"
57
+ "front": "MRZ",
58
+ "mrz_type": "TD3"
52
59
  }
53
60
  ]
54
61
  }
@@ -58,7 +65,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
58
65
  "root": [
59
66
  {
60
67
  "py_file": "burkina_faso_01.py",
61
- "front": "MRZ"
68
+ "front": "MRZ",
69
+ "mrz_type": "TD3"
62
70
  }
63
71
  ]
64
72
  }
@@ -68,7 +76,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
68
76
  "root": [
69
77
  {
70
78
  "py_file": "cameroon_id_back_1_1.py",
71
- "back": "2D_barcode"
79
+ "back": "MRZ",
80
+ "mrz_type": "TD1"
72
81
  },
73
82
  {
74
83
  "py_file": "cameroon_id_back_2_1.py",
@@ -80,11 +89,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
80
89
  },
81
90
  {
82
91
  "py_file": "cameroon_id_back_3_1.py",
83
- "back": "MRZ"
92
+ "back": "MRZ",
93
+ "mrz_type": "TD2"
84
94
  },
85
95
  {
86
96
  "py_file": "cameroon_id_back_3_2.py",
87
- "back": "MRZ"
97
+ "back": "MRZ",
98
+ "mrz_type": "TD1"
88
99
  },
89
100
  {
90
101
  "py_file": "cameroon_id_front_1_1.py",
@@ -112,11 +123,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
112
123
  "root": [
113
124
  {
114
125
  "py_file": "cameroon_01.py",
115
- "front": "MRZ"
126
+ "front": "MRZ",
127
+ "mrz_type": "TD3"
116
128
  },
117
129
  {
118
130
  "py_file": "cameroon_02.py",
119
- "front": "MRZ"
131
+ "front": "MRZ",
132
+ "mrz_type": "TD3"
120
133
  }
121
134
  ]
122
135
  }
@@ -350,11 +363,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
350
363
  "root": [
351
364
  {
352
365
  "py_file": "canada_01.py",
353
- "front": "MRZ"
366
+ "front": "MRZ",
367
+ "mrz_type": "TD3"
354
368
  },
355
369
  {
356
370
  "py_file": "canada_02.py",
357
- "front": "MRZ"
371
+ "front": "MRZ",
372
+ "mrz_type": "TD3"
358
373
  }
359
374
  ]
360
375
  },
@@ -362,7 +377,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
362
377
  "root": [
363
378
  {
364
379
  "py_file": "pr_01_back.py",
365
- "back": "MRZ"
380
+ "back": "MRZ",
381
+ "mrz_type": "TD1"
366
382
  },
367
383
  {
368
384
  "py_file": "pr_01_front.py",
@@ -370,7 +386,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
370
386
  },
371
387
  {
372
388
  "py_file": "pr_02_back.py",
373
- "back": "MRZ"
389
+ "back": "MRZ",
390
+ "mrz_type": "TD1"
374
391
  },
375
392
  {
376
393
  "py_file": "pr_02_front.py",
@@ -378,7 +395,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
378
395
  },
379
396
  {
380
397
  "py_file": "pr_03_back.py",
381
- "back": "MRZ"
398
+ "back": "MRZ",
399
+ "mrz_type": "TD1"
382
400
  },
383
401
  {
384
402
  "py_file": "pr_03_front.py",
@@ -392,7 +410,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
392
410
  "root": [
393
411
  {
394
412
  "py_file": "caf_01.py",
395
- "front": "MRZ"
413
+ "front": "MRZ",
414
+ "mrz_type": "TD3"
396
415
  }
397
416
  ]
398
417
  }
@@ -402,7 +421,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
402
421
  "root": [
403
422
  {
404
423
  "py_file": "tchad_01.py",
405
- "front": "MRZ"
424
+ "front": "MRZ",
425
+ "mrz_type": "TD3"
406
426
  }
407
427
  ]
408
428
  }
@@ -412,7 +432,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
412
432
  "root": [
413
433
  {
414
434
  "py_file": "congo_01.py",
415
- "front": "MRZ"
435
+ "front": "MRZ",
436
+ "mrz_type": "TD3"
416
437
  }
417
438
  ]
418
439
  }
@@ -422,7 +443,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
422
443
  "root": [
423
444
  {
424
445
  "py_file": "ecuatorial_guinea_01.py",
425
- "front": "MRZ"
446
+ "front": "MRZ",
447
+ "mrz_type": "TD3"
426
448
  }
427
449
  ]
428
450
  }
@@ -432,7 +454,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
432
454
  "root": [
433
455
  {
434
456
  "py_file": "ethiopia_01.py",
435
- "front": "MRZ"
457
+ "front": "MRZ",
458
+ "mrz_type": "TD3"
436
459
  }
437
460
  ]
438
461
  }
@@ -442,7 +465,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
442
465
  "root": [
443
466
  {
444
467
  "py_file": "france_01.py",
445
- "front": "MRZ"
468
+ "front": "MRZ",
469
+ "mrz_type": "TD3"
446
470
  }
447
471
  ]
448
472
  }
@@ -452,11 +476,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
452
476
  "root": [
453
477
  {
454
478
  "py_file": "gabon_01.py",
455
- "front": "MRZ"
479
+ "front": "MRZ",
480
+ "mrz_type": "TD3"
456
481
  },
457
482
  {
458
483
  "py_file": "gabon_02.py",
459
- "front": "MRZ"
484
+ "front": "MRZ",
485
+ "mrz_type": "TD3"
460
486
  }
461
487
  ]
462
488
  }
@@ -466,11 +492,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
466
492
  "root": [
467
493
  {
468
494
  "py_file": "germany_01.py",
469
- "front": "MRZ"
495
+ "front": "MRZ",
496
+ "mrz_type": "TD3"
470
497
  },
471
498
  {
472
499
  "py_file": "germany_02.py",
473
- "front": "MRZ"
500
+ "front": "MRZ",
501
+ "mrz_type": "TD3"
474
502
  }
475
503
  ]
476
504
  }
@@ -480,11 +508,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
480
508
  "root": [
481
509
  {
482
510
  "py_file": "back_1.py",
483
- "back": "MRZ"
511
+ "back": "MRZ",
512
+ "mrz_type": "TD1"
484
513
  },
485
514
  {
486
515
  "py_file": "back_2.py",
487
- "back": "MRZ"
516
+ "back": "MRZ",
517
+ "mrz_type": "TD1"
488
518
  },
489
519
  {
490
520
  "py_file": "front_1.py",
@@ -500,7 +530,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
500
530
  "root": [
501
531
  {
502
532
  "py_file": "ghana_01.py",
503
- "front": "MRZ"
533
+ "front": "MRZ",
534
+ "mrz_type": "TD3"
504
535
  }
505
536
  ]
506
537
  }
@@ -510,7 +541,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
510
541
  "root": [
511
542
  {
512
543
  "py_file": "guinee_01.py",
513
- "front": "MRZ"
544
+ "front": "MRZ",
545
+ "mrz_type": "TD3"
514
546
  }
515
547
  ]
516
548
  }
@@ -520,7 +552,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
520
552
  "root": [
521
553
  {
522
554
  "py_file": "haiti_01.py",
523
- "front": "MRZ"
555
+ "front": "MRZ",
556
+ "mrz_type": "TD3"
524
557
  }
525
558
  ]
526
559
  }
@@ -530,7 +563,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
530
563
  "root": [
531
564
  {
532
565
  "py_file": "italy_01.py",
533
- "front": "MRZ"
566
+ "front": "MRZ",
567
+ "mrz_type": "TD3"
534
568
  }
535
569
  ]
536
570
  }
@@ -552,11 +586,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
552
586
  "root": [
553
587
  {
554
588
  "py_file": "ivory_coast_01.py",
555
- "front": "MRZ"
589
+ "front": "MRZ",
590
+ "mrz_type": "TD3"
556
591
  },
557
592
  {
558
593
  "py_file": "ivory_coast_02.py",
559
- "front": "MRZ"
594
+ "front": "MRZ",
595
+ "mrz_type": "TD3"
560
596
  }
561
597
  ]
562
598
  }
@@ -566,15 +602,18 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
566
602
  "root": [
567
603
  {
568
604
  "py_file": "back_1.py",
569
- "back": "MRZ"
605
+ "back": "MRZ",
606
+ "mrz_type": "TD1"
570
607
  },
571
608
  {
572
609
  "py_file": "back_2.py",
573
- "back": "MRZ"
610
+ "back": "MRZ",
611
+ "mrz_type": "TD1"
574
612
  },
575
613
  {
576
614
  "py_file": "back_3.py",
577
- "back": "MRZ"
615
+ "back": "MRZ",
616
+ "mrz_type": "TD1"
578
617
  },
579
618
  {
580
619
  "py_file": "front_1.py",
@@ -594,7 +633,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
594
633
  "root": [
595
634
  {
596
635
  "py_file": "passport_1.py",
597
- "front": "MRZ"
636
+ "front": "MRZ",
637
+ "mrz_type": "TD3"
598
638
  }
599
639
  ]
600
640
  }
@@ -604,7 +644,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
604
644
  "root": [
605
645
  {
606
646
  "py_file": "mali_01.py",
607
- "front": "MRZ"
647
+ "front": "MRZ",
648
+ "mrz_type": "TD3"
608
649
  }
609
650
  ]
610
651
  }
@@ -614,7 +655,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
614
655
  "root": [
615
656
  {
616
657
  "py_file": "netherlands_01.py",
617
- "front": "MRZ"
658
+ "front": "MRZ",
659
+ "mrz_type": "TD3"
618
660
  }
619
661
  ]
620
662
  }
@@ -624,7 +666,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
624
666
  "root": [
625
667
  {
626
668
  "py_file": "niger_01.py",
627
- "front": "MRZ"
669
+ "front": "MRZ",
670
+ "mrz_type": "TD3"
628
671
  }
629
672
  ]
630
673
  }
@@ -634,7 +677,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
634
677
  "root": [
635
678
  {
636
679
  "py_file": "nigeria_id_back_1.py",
637
- "back": "MRZ"
680
+ "back": "MRZ",
681
+ "mrz_type": "TD1"
638
682
  },
639
683
  {
640
684
  "py_file": "nigeria_id_front_1.py",
@@ -646,11 +690,13 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
646
690
  "root": [
647
691
  {
648
692
  "py_file": "nigeria_01.py",
649
- "front": "MRZ"
693
+ "front": "MRZ",
694
+ "mrz_type": "TD3"
650
695
  },
651
696
  {
652
697
  "py_file": "nigeria_02.py",
653
- "front": "MRZ"
698
+ "front": "MRZ",
699
+ "mrz_type": "TD3"
654
700
  }
655
701
  ]
656
702
  }
@@ -660,7 +706,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
660
706
  "root": [
661
707
  {
662
708
  "py_file": "senegal_01.py",
663
- "front": "MRZ"
709
+ "front": "MRZ",
710
+ "mrz_type": "TD3"
664
711
  }
665
712
  ]
666
713
  }
@@ -670,7 +717,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
670
717
  "root": [
671
718
  {
672
719
  "py_file": "spain_01.py",
673
- "front": "MRZ"
720
+ "front": "MRZ",
721
+ "mrz_type": "TD3"
674
722
  }
675
723
  ]
676
724
  }
@@ -680,7 +728,8 @@ export const countryMapping: Record<string, Record<string, Record<string, ICount
680
728
  "root": [
681
729
  {
682
730
  "py_file": "togo_01.py",
683
- "front": "MRZ"
731
+ "front": "MRZ",
732
+ "mrz_type": "TD3"
684
733
  }
685
734
  ]
686
735
  }
@@ -2,6 +2,7 @@ import React, { useState, useCallback, useMemo, createContext, useContext, React
2
2
  import { KYCTemplate, TemplateState, TemplateActions, UseTemplateReturn, TemplateComponent, GovernmentDocumentType, VerificationState } from '../types/KYC.types';
3
3
  import kycService, { authentification, truncateFields } from '../modules/api/KYCService';
4
4
  import useI18n from './useI18n';
5
+ import { logger } from '../utils/logger';
5
6
 
6
7
  // Context pour le provider
7
8
  interface TemplateKYCFlowContextType {
@@ -286,7 +287,7 @@ export const useTemplateKYCFlow = (
286
287
  error: null,
287
288
  },
288
289
  }));
289
- console.log('Initializing session');
290
+ logger.log('Initializing session');
290
291
 
291
292
  const token = await authentification();
292
293
 
@@ -304,7 +305,7 @@ export const useTemplateKYCFlow = (
304
305
  action: 'initialize_session'
305
306
  });
306
307
  } catch (e) {
307
- console.error('Error initializing session:', JSON.stringify(e, null, 2));
308
+ logger.error('Error initializing session:', JSON.stringify(e, null, 2));
308
309
  // Non-fatal: we will surface errors via state below if needed
309
310
  }
310
311
 
@@ -321,7 +322,7 @@ export const useTemplateKYCFlow = (
321
322
  }));
322
323
  } catch (error) {
323
324
 
324
- console.error('Error initializing session:', JSON.stringify(error, null, 2));
325
+ logger.error('Error initializing session:', JSON.stringify(error, null, 2));
325
326
  setState(prev => ({
326
327
  ...prev,
327
328
  session: {
@@ -361,7 +362,7 @@ export const useTemplateKYCFlow = (
361
362
 
362
363
  case 'country_selection':
363
364
  // Vérifier si un pays a été sélectionné
364
- console.log("componentData", truncateFields(componentData), componentId);
365
+ logger.log("componentData", truncateFields(componentData), componentId);
365
366
 
366
367
  return componentData && componentData.code && componentData.regionMapping;
367
368
 
@@ -481,7 +482,7 @@ export const useTemplateKYCFlow = (
481
482
  token: state.session.token,
482
483
  action: action
483
484
  });
484
- console.log("currentComp state", truncateFields(state));
485
+ logger.log("currentComp state", truncateFields(state));
485
486
  // Marquer comme complété et passer au suivant
486
487
  setState(prev => ({
487
488
  ...prev,
@@ -532,7 +533,7 @@ export const useTemplateKYCFlow = (
532
533
 
533
534
  // Mettre à jour les données d'un composant
534
535
  updateComponentData: useCallback((componentId: number, data: any) => {
535
- console.log("updateComponentData", componentId, truncateFields(data));
536
+ logger.log("updateComponentData", componentId, JSON.stringify(truncateFields(data), null, 2));
536
537
 
537
538
  setState(prev => ({
538
539
  ...prev,
@@ -134,6 +134,7 @@ export const en = {
134
134
  verifying: 'Verifying identity...',
135
135
  complete: 'Verification complete'
136
136
  },
137
+ retrying: 'Retrying ( %{current} / %{max} )',
137
138
  estimatedTime: 'Estimated time: 2-3 minutes',
138
139
  status: {
139
140
  pending: 'Pending',
@@ -154,7 +155,12 @@ export const en = {
154
155
  confirmMessage: 'Are you sure you want to submit this information?',
155
156
  processing: 'Submitting...',
156
157
  success: 'Information submitted successfully',
157
- error: 'Failed to submit information. Please try again.'
158
+ error: 'Failed to submit information. Please try again.',
159
+ selfieSide: {
160
+ center: 'Center',
161
+ right: 'Right',
162
+ left: 'Left'
163
+ }
158
164
  }
159
165
  },
160
166
 
@@ -22,7 +22,7 @@ export const fr = {
22
22
  title: 'Vérification d\'Identité',
23
23
  subtitle: 'Complétez votre vérification d\'identité pour continuer',
24
24
  step: 'Étape %{current} sur %{total}',
25
-
25
+
26
26
  // Initialization
27
27
  initialization: {
28
28
  title: 'Bienvenue dans la Vérification d\'Identité',
@@ -134,6 +134,7 @@ export const fr = {
134
134
  verifying: 'Vérification de l\'identité...',
135
135
  complete: 'Vérification terminée'
136
136
  },
137
+ retrying: 'Réessayer ( %{current}/ %{max} )',
137
138
  estimatedTime: 'Temps estimé : 2-3 minutes',
138
139
  status: {
139
140
  pending: 'En attente',
@@ -154,7 +155,12 @@ export const fr = {
154
155
  confirmMessage: 'Êtes-vous sûr de vouloir soumettre ces informations ?',
155
156
  processing: 'Soumission...',
156
157
  success: 'Informations soumises avec succès',
157
- error: 'Échec de la soumission. Veuillez réessayer.'
158
+ error: 'Échec de la soumission. Veuillez réessayer.',
159
+ selfieSide: {
160
+ center: 'Face',
161
+ right: 'Droite',
162
+ left: 'Gauche'
163
+ }
158
164
  }
159
165
  },
160
166
 
@@ -202,4 +208,5 @@ export const fr = {
202
208
  fileTooLarge: 'Fichier trop volumineux',
203
209
  fileTypeNotSupported: 'Type de fichier non supporté'
204
210
  }
211
+
205
212
  };