metag-sdk-ionic 1.2.11 → 1.3.0-security
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/dist/assets/backup/Dpi-Front.webm +0 -0
- package/dist/assets/backup/Dpi-back.webm +0 -0
- package/dist/assets/icon/favicon.png +0 -0
- package/dist/assets/icons/dpi-error.svg +9 -9
- package/dist/assets/icons/video-error.svg +9 -9
- package/dist/assets/imagesIdVision/56.png +0 -0
- package/dist/assets/imagesIdVision/57.png +0 -0
- package/dist/assets/imagesIdVision/Animacion-de-colocacion-de-DPI.webm +0 -0
- package/dist/assets/imagesIdVision/Animacion-de-como-tomar-foto-DPI.webm +0 -0
- package/dist/assets/imagesIdVision/Dpi-back.mp4 +0 -0
- package/dist/assets/imagesIdVision/Dpi-front-video.mp4 +0 -0
- package/dist/assets/imagesIdVision/Foco.png +0 -0
- package/dist/assets/imagesIdVision/Selfie-rostro.png +0 -0
- package/dist/assets/imagesIdVision/acuerdo-video-selfie.png +0 -0
- package/dist/assets/imagesIdVision/backDpiRegister.png +0 -0
- package/dist/assets/imagesIdVision/background.png +0 -0
- package/dist/assets/imagesIdVision/blue-check.png +0 -0
- package/dist/assets/imagesIdVision/documentsImage.png +0 -0
- package/dist/assets/imagesIdVision/frontDpiRegister.png +0 -0
- package/dist/assets/imagesIdVision/icon/favicon.png +0 -0
- package/dist/assets/imagesIdVision/icons/dpi-error.svg +9 -9
- package/dist/assets/imagesIdVision/icons/video-error.svg +9 -9
- package/dist/assets/imagesIdVision/no-internet.svg +3 -3
- package/dist/assets/imagesIdVision/overlay_container.png +0 -0
- package/dist/assets/imagesIdVision/rostroImage.png +0 -0
- package/dist/assets/imagesIdVision/shapes.svg +1 -1
- package/dist/assets/imagesIdVision/voiceImage.png +0 -0
- package/dist/assets/shapes.svg +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/src/app/app-routing.module.js +5 -5
- package/dist/src/app/app-routing.module.js.map +1 -1
- package/dist/src/app/app.component.js +2 -2
- package/dist/src/app/app.module.d.ts +2 -3
- package/dist/src/app/app.module.js +3 -5
- package/dist/src/app/app.module.js.map +1 -1
- package/dist/src/app/components/custom-button/custom-button.component.js +3 -3
- package/dist/src/app/home/home.page.js +3 -3
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-routing.module.d.ts +7 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-routing.module.js +25 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-routing.module.js.map +1 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-step-guide/acuerdo-video-step-guide.component.d.ts +5 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-step-guide/acuerdo-video-step-guide.component.js +58 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video-step-guide/acuerdo-video-step-guide.component.js.map +1 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.module.d.ts +11 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.module.js +35 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.module.js.map +1 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.page.d.ts +80 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.page.js +640 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/acuerdo-video.page.js.map +1 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/shared-components.module.d.ts +9 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/shared-components.module.js +20 -0
- package/dist/src/app/pages/id-vision/acuerdo-video/shared-components.module.js.map +1 -0
- package/dist/src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.d.ts +32 -17
- package/dist/src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.js +246 -122
- package/dist/src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.js +33 -32
- package/dist/src/app/pages/id-vision/components/camara-video-selfie/camara-video-selfie.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/camera-security-block/camera-security-block.component.d.ts +12 -0
- package/dist/src/app/pages/id-vision/components/camera-security-block/camera-security-block.component.js +66 -0
- package/dist/src/app/pages/id-vision/components/camera-security-block/camera-security-block.component.js.map +1 -0
- package/dist/src/app/pages/id-vision/components/camera-with-overlay/camera-with-overlay.component.js +23 -32
- package/dist/src/app/pages/id-vision/components/camera-with-overlay/camera-with-overlay.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/custom-slide/custom-slide.component.js +3 -3
- package/dist/src/app/pages/id-vision/components/direct-photo-selfie/direct-photo-selfie.component.js +3 -3
- package/dist/src/app/pages/id-vision/components/message-modal/message-modal.component.js +4 -4
- package/dist/src/app/pages/id-vision/components/message-modal/message-modal.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/photo-selfie-camera/photo-selfie-camera.component.d.ts +3 -0
- package/dist/src/app/pages/id-vision/components/photo-selfie-camera/photo-selfie-camera.component.js +57 -21
- package/dist/src/app/pages/id-vision/components/photo-selfie-camera/photo-selfie-camera.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/components/simple-acuerdo-video/simple-acuerdo-video.component.js +3 -3
- package/dist/src/app/pages/id-vision/dpi/front-dpi/front-dpi.component.js +2 -2
- package/dist/src/app/pages/id-vision/id-vision.component.d.ts +36 -14
- package/dist/src/app/pages/id-vision/id-vision.component.js +547 -410
- package/dist/src/app/pages/id-vision/id-vision.component.js.map +1 -1
- package/dist/src/app/pages/id-vision/id-vision.module.js +2 -9
- package/dist/src/app/pages/id-vision/id-vision.module.js.map +1 -1
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video-dynamic.service.d.ts +18 -0
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video-dynamic.service.js +43 -0
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video-dynamic.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video.service.d.ts +10 -0
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video.service.js +29 -0
- package/dist/src/app/pages/id-vision/services/acuerdo-video/acuerdo-video.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/configuration/configuration.service.d.ts +1 -1
- package/dist/src/app/pages/id-vision/services/configuration/configuration.service.js +2 -2
- package/dist/src/app/pages/id-vision/services/configuration/configuration.service.js.map +1 -1
- package/dist/src/app/pages/id-vision/services/decrypt-text.service.d.ts +10 -0
- package/dist/src/app/pages/id-vision/services/decrypt-text.service.js +23 -0
- package/dist/src/app/pages/id-vision/services/decrypt-text.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.d.ts +16 -5
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.js +124 -60
- package/dist/src/app/pages/id-vision/services/dpi/dpi-service.service.js.map +1 -1
- package/dist/src/app/pages/id-vision/services/encrypt/encrypt.service.d.ts +23 -0
- package/dist/src/app/pages/id-vision/services/encrypt/encrypt.service.js +44 -0
- package/dist/src/app/pages/id-vision/services/encrypt/encrypt.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/facial-comparison/facial-comparison.service.d.ts +22 -0
- package/dist/src/app/pages/id-vision/services/facial-comparison/facial-comparison.service.js +45 -0
- package/dist/src/app/pages/id-vision/services/facial-comparison/facial-comparison.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/processing/processing.service.d.ts +7 -4
- package/dist/src/app/pages/id-vision/services/processing/processing.service.js +75 -46
- package/dist/src/app/pages/id-vision/services/processing/processing.service.js.map +1 -1
- package/dist/src/app/pages/id-vision/services/security/virtual-camera-detection.service.d.ts +14 -0
- package/dist/src/app/pages/id-vision/services/security/virtual-camera-detection.service.js +72 -0
- package/dist/src/app/pages/id-vision/services/security/virtual-camera-detection.service.js.map +1 -0
- package/dist/src/app/pages/id-vision/services/validation/validation.service.d.ts +2 -0
- package/dist/src/app/pages/id-vision/services/validation/validation.service.js +21 -5
- package/dist/src/app/pages/id-vision/services/validation/validation.service.js.map +1 -1
- package/dist/src/app/pages/slides/acuerdo-video/acuerdo-video.component.js +1 -1
- package/dist/src/app/pages/slides/dpi-back/slide2.component.js +3 -3
- package/dist/src/app/pages/slides/dpi-front/slide1.component.js +3 -3
- package/dist/src/app/pages/slides/photo-selfie/photo-selfie.component.js +1 -1
- package/dist/src/app/pages/slides/slide1/slide1.component.d.ts +10 -10
- package/dist/src/app/pages/slides/slide1/slide1.component.js +39 -39
- package/dist/src/app/pages/slides/slide2/slide2.component.d.ts +8 -8
- package/dist/src/app/pages/slides/slide2/slide2.component.js +17 -17
- package/dist/src/app/pages/slides/slide3/slide3.component.d.ts +8 -8
- package/dist/src/app/pages/slides/slide3/slide3.component.js +17 -17
- package/dist/src/app/pages/slides/slide4/slide4.component.js +2 -2
- package/dist/src/app/pages/slides/video-selfie/slide3.component.js +35 -35
- package/dist/src/environments/environment.d.ts +2 -0
- package/dist/src/environments/environment.js +3 -1
- package/dist/src/environments/environment.js.map +1 -1
- package/package.json +72 -62
- package/src/app/app.component.scss +0 -0
- package/src/theme/variables.scss +24 -24
|
@@ -5,37 +5,98 @@ import * as i2 from "../../services/modal-services/modal-dpi-services";
|
|
|
5
5
|
import * as i3 from "@angular/common";
|
|
6
6
|
const _c0 = ["videoElement"];
|
|
7
7
|
function CamaraAcuerdoVideoComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
-
i0.ɵɵelementStart(0, "div",
|
|
8
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
|
|
9
9
|
i0.ɵɵtext(2);
|
|
10
10
|
i0.ɵɵelementEnd()();
|
|
11
11
|
} if (rf & 2) {
|
|
12
|
-
const
|
|
12
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
13
13
|
i0.ɵɵadvance(2);
|
|
14
|
-
i0.ɵɵtextInterpolate(
|
|
14
|
+
i0.ɵɵtextInterpolate(ctx_r0.countdown);
|
|
15
15
|
} }
|
|
16
|
-
function
|
|
17
|
-
i0.ɵɵ
|
|
18
|
-
i0.ɵɵ
|
|
16
|
+
function CamaraAcuerdoVideoComponent_section_2_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "section", 7)(1, "div", 8);
|
|
19
|
+
i0.ɵɵelement(2, "ion-icon", 9);
|
|
19
20
|
i0.ɵɵelementEnd();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
i0.ɵɵelementStart(0, "p", 18);
|
|
23
|
-
i0.ɵɵtext(1, " Grabando... ");
|
|
21
|
+
i0.ɵɵelementStart(3, "h1", 10);
|
|
22
|
+
i0.ɵɵtext(4, "Acuerdo de video");
|
|
24
23
|
i0.ɵɵelementEnd();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
i0.ɵɵelementStart(0, "div", 19);
|
|
28
|
-
i0.ɵɵelement(1, "ion-icon", 20);
|
|
24
|
+
i0.ɵɵelementStart(5, "article", 11)(6, "p");
|
|
25
|
+
i0.ɵɵtext(7, "Lee en voz alta el texto mostrado para confirmar tu autorizaci\u00F3n.");
|
|
29
26
|
i0.ɵɵelementEnd();
|
|
27
|
+
i0.ɵɵelementStart(8, "p");
|
|
28
|
+
i0.ɵɵtext(9, "Busca un lugar con buena iluminaci\u00F3n, mant\u00E9n tu rostro centrado y evita ruido.");
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
i0.ɵɵelementStart(10, "p");
|
|
31
|
+
i0.ɵɵtext(11);
|
|
32
|
+
i0.ɵɵelementEnd()();
|
|
33
|
+
i0.ɵɵelementStart(12, "ion-button", 12);
|
|
34
|
+
i0.ɵɵlistener("click", function CamaraAcuerdoVideoComponent_section_2_Template_ion_button_click_12_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.goToRecordingStep()); });
|
|
35
|
+
i0.ɵɵtext(13, " Continuar ");
|
|
36
|
+
i0.ɵɵelementEnd()();
|
|
37
|
+
} if (rf & 2) {
|
|
38
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
39
|
+
i0.ɵɵadvance(11);
|
|
40
|
+
i0.ɵɵtextInterpolate1("La grabaci\u00F3n dura aproximadamente ", ctx_r0.timeRemaining, " segundos.");
|
|
41
|
+
} }
|
|
42
|
+
function CamaraAcuerdoVideoComponent_section_3_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
i0.ɵɵelementStart(0, "div", 28);
|
|
44
|
+
i0.ɵɵelement(1, "ion-spinner", 29);
|
|
45
|
+
i0.ɵɵelementStart(2, "span");
|
|
46
|
+
i0.ɵɵtext(3, "Preparando c\u00E1mara...");
|
|
47
|
+
i0.ɵɵelementEnd()();
|
|
30
48
|
} }
|
|
31
|
-
function
|
|
32
|
-
i0.ɵɵ
|
|
33
|
-
i0.ɵɵ
|
|
49
|
+
function CamaraAcuerdoVideoComponent_section_3_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
51
|
+
i0.ɵɵelementStart(0, "section", 13)(1, "header", 14)(2, "h2");
|
|
52
|
+
i0.ɵɵtext(3, "Acuerdo de video");
|
|
34
53
|
i0.ɵɵelementEnd();
|
|
54
|
+
i0.ɵɵelementStart(4, "ion-button", 15);
|
|
55
|
+
i0.ɵɵlistener("click", function CamaraAcuerdoVideoComponent_section_3_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.handleClose()); });
|
|
56
|
+
i0.ɵɵelement(5, "ion-icon", 16);
|
|
57
|
+
i0.ɵɵelementEnd()();
|
|
58
|
+
i0.ɵɵelementStart(6, "div", 17)(7, "div", 18);
|
|
59
|
+
i0.ɵɵelement(8, "video", 19, 0);
|
|
60
|
+
i0.ɵɵtemplate(10, CamaraAcuerdoVideoComponent_section_3_div_10_Template, 4, 0, "div", 20);
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
i0.ɵɵelementStart(11, "p", 21);
|
|
63
|
+
i0.ɵɵtext(12);
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
i0.ɵɵelementStart(13, "p", 22);
|
|
66
|
+
i0.ɵɵtext(14);
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
i0.ɵɵelement(15, "ion-progress-bar", 23);
|
|
69
|
+
i0.ɵɵelementStart(16, "div", 24)(17, "span");
|
|
70
|
+
i0.ɵɵtext(18);
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
i0.ɵɵelementStart(19, "span");
|
|
73
|
+
i0.ɵɵtext(20);
|
|
74
|
+
i0.ɵɵelementEnd()()();
|
|
75
|
+
i0.ɵɵelementStart(21, "footer", 25)(22, "ion-button", 26);
|
|
76
|
+
i0.ɵɵlistener("click", function CamaraAcuerdoVideoComponent_section_3_Template_ion_button_click_22_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.isRecording ? ctx_r0.stopRecording() : ctx_r0.recordVideo()); });
|
|
77
|
+
i0.ɵɵelement(23, "ion-icon", 27);
|
|
78
|
+
i0.ɵɵtext(24);
|
|
79
|
+
i0.ɵɵelementEnd()()();
|
|
35
80
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
81
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
82
|
+
i0.ɵɵadvance(10);
|
|
83
|
+
i0.ɵɵproperty("ngIf", ctx_r0.isInitializingCamera || !ctx_r0.isCameraReady);
|
|
84
|
+
i0.ɵɵadvance(2);
|
|
85
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.currentScriptLine, " ");
|
|
86
|
+
i0.ɵɵadvance(2);
|
|
87
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.scriptText, " ");
|
|
37
88
|
i0.ɵɵadvance();
|
|
38
|
-
i0.ɵɵ
|
|
89
|
+
i0.ɵɵproperty("value", ctx_r0.progressValue);
|
|
90
|
+
i0.ɵɵadvance(3);
|
|
91
|
+
i0.ɵɵtextInterpolate(ctx_r0.isRecording ? "Grabando" : "Listo para grabar");
|
|
92
|
+
i0.ɵɵadvance(2);
|
|
93
|
+
i0.ɵɵtextInterpolate1("00:", ctx_r0.timeRemaining < 10 ? "0" + ctx_r0.timeRemaining : ctx_r0.timeRemaining, "");
|
|
94
|
+
i0.ɵɵadvance(2);
|
|
95
|
+
i0.ɵɵproperty("disabled", ctx_r0.isInitializingCamera || !ctx_r0.isCameraReady);
|
|
96
|
+
i0.ɵɵadvance();
|
|
97
|
+
i0.ɵɵproperty("name", ctx_r0.isRecording ? "stop-circle-outline" : "radio-button-on-outline");
|
|
98
|
+
i0.ɵɵadvance();
|
|
99
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.isRecording ? "Detener grabaci\u00F3n" : "Iniciar grabaci\u00F3n", " ");
|
|
39
100
|
} }
|
|
40
101
|
export class CamaraAcuerdoVideoComponent {
|
|
41
102
|
constructor(platform, changeDetector, modalDpiServices, modalController) {
|
|
@@ -43,97 +104,154 @@ export class CamaraAcuerdoVideoComponent {
|
|
|
43
104
|
this.changeDetector = changeDetector;
|
|
44
105
|
this.modalDpiServices = modalDpiServices;
|
|
45
106
|
this.modalController = modalController;
|
|
107
|
+
this.scriptText = 'Acepto los términos y condiciones del crédito que estoy solicitando en Fundación Génesis Empresarial.';
|
|
108
|
+
this.scriptChunks = [
|
|
109
|
+
'Acepto los términos y condiciones',
|
|
110
|
+
'del crédito que estoy solicitando',
|
|
111
|
+
'en Fundación Génesis Empresarial.'
|
|
112
|
+
];
|
|
113
|
+
this.currentStep = 1;
|
|
46
114
|
this.countdown = 0;
|
|
115
|
+
this.currentScriptLine = this.scriptChunks[0];
|
|
116
|
+
this.progressValue = 0;
|
|
47
117
|
this.isRecording = false;
|
|
48
|
-
this.timeRemaining = 15;
|
|
49
|
-
this.
|
|
118
|
+
this.timeRemaining = 15;
|
|
119
|
+
this.isInitializingCamera = false;
|
|
120
|
+
this.isCameraReady = false;
|
|
121
|
+
this.recordingDurationSeconds = 15;
|
|
122
|
+
this.countdownSeconds = 3;
|
|
123
|
+
this.videoBitsPerSecond = 600000;
|
|
124
|
+
this.recordedChunks = [];
|
|
50
125
|
this.stream = null;
|
|
51
126
|
this.mediaRecorder = null;
|
|
52
|
-
this.
|
|
53
|
-
this.
|
|
127
|
+
this.userClosed = false;
|
|
128
|
+
this.logTag = '[CamaraAcuerdoVideo]';
|
|
54
129
|
this.isIOS = this.platform.is('ios');
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
await this.initCamera();
|
|
58
|
-
}
|
|
59
|
-
async ngAfterViewInit() {
|
|
60
|
-
this.modalDpiServices.closeModalAcuerdoVideo$.subscribe(async () => {
|
|
61
|
-
await this.closeOverlayVideo();
|
|
130
|
+
this.closeSubscription = this.modalDpiServices.closeModalAcuerdoVideo$.subscribe(async () => {
|
|
131
|
+
await this.handleClose();
|
|
62
132
|
});
|
|
63
133
|
}
|
|
64
|
-
|
|
65
|
-
this.
|
|
134
|
+
ngOnDestroy() {
|
|
135
|
+
this.clearAllTimers();
|
|
136
|
+
this.stopCameraTracks();
|
|
137
|
+
this.closeSubscription?.unsubscribe();
|
|
138
|
+
}
|
|
139
|
+
async goToRecordingStep() {
|
|
140
|
+
this.currentStep = 2;
|
|
141
|
+
this.changeDetector.detectChanges();
|
|
142
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
143
|
+
await this.initCamera();
|
|
66
144
|
}
|
|
67
145
|
async initCamera() {
|
|
68
|
-
|
|
146
|
+
if (this.stream || this.isInitializingCamera || !this.videoElement?.nativeElement)
|
|
147
|
+
return;
|
|
148
|
+
this.isInitializingCamera = true;
|
|
149
|
+
console.log(`${this.logTag} initCamera start`, {
|
|
150
|
+
ua: navigator.userAgent,
|
|
151
|
+
mediaDevices: !!navigator.mediaDevices,
|
|
152
|
+
hasGetUserMedia: !!navigator.mediaDevices?.getUserMedia,
|
|
153
|
+
hasMediaRecorder: typeof MediaRecorder !== 'undefined'
|
|
154
|
+
});
|
|
69
155
|
try {
|
|
156
|
+
if (typeof MediaRecorder === 'undefined') {
|
|
157
|
+
throw new Error('MediaRecorder no está soportado en este dispositivo/navegador');
|
|
158
|
+
}
|
|
70
159
|
const constraints = {
|
|
71
160
|
video: {
|
|
72
|
-
width: { ideal:
|
|
73
|
-
height: { ideal:
|
|
161
|
+
width: { ideal: 1080 },
|
|
162
|
+
height: { ideal: 1080 },
|
|
74
163
|
facingMode: 'user',
|
|
75
164
|
},
|
|
76
165
|
audio: true
|
|
77
166
|
};
|
|
78
167
|
this.stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
168
|
+
const tracks = this.stream.getTracks().map((track) => ({
|
|
169
|
+
kind: track.kind,
|
|
170
|
+
label: track.label,
|
|
171
|
+
enabled: track.enabled,
|
|
172
|
+
muted: track.muted,
|
|
173
|
+
readyState: track.readyState
|
|
174
|
+
}));
|
|
175
|
+
console.log(`${this.logTag} getUserMedia success`, { tracks });
|
|
79
176
|
this.videoElement.nativeElement.srcObject = this.stream;
|
|
80
177
|
this.videoElement.nativeElement.muted = true;
|
|
81
|
-
|
|
178
|
+
this.videoElement.nativeElement.setAttribute('playsinline', 'true');
|
|
82
179
|
this.videoElement.nativeElement.onloadedmetadata = () => {
|
|
83
|
-
|
|
180
|
+
console.log(`${this.logTag} video metadata loaded`, {
|
|
181
|
+
readyState: this.videoElement.nativeElement.readyState
|
|
182
|
+
});
|
|
183
|
+
this.isCameraReady = true;
|
|
184
|
+
this.changeDetector.detectChanges();
|
|
84
185
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const interval = setInterval(() => {
|
|
88
|
-
if (isCameraReady) {
|
|
89
|
-
clearInterval(interval);
|
|
90
|
-
resolve(true);
|
|
91
|
-
}
|
|
92
|
-
}, 100);
|
|
93
|
-
});
|
|
94
|
-
this.isLoading = false;
|
|
95
|
-
// await this.startVideoRecord();
|
|
186
|
+
await this.videoElement.nativeElement.play();
|
|
187
|
+
console.log(`${this.logTag} video play success`);
|
|
96
188
|
}
|
|
97
189
|
catch (error) {
|
|
98
|
-
|
|
190
|
+
const err = error;
|
|
191
|
+
console.error(`${this.logTag} initCamera error`, {
|
|
192
|
+
name: err?.name,
|
|
193
|
+
message: err?.message,
|
|
194
|
+
code: err?.code,
|
|
195
|
+
full: error
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
this.isInitializingCamera = false;
|
|
200
|
+
console.log(`${this.logTag} initCamera end`, {
|
|
201
|
+
isCameraReady: this.isCameraReady,
|
|
202
|
+
hasStream: !!this.stream
|
|
203
|
+
});
|
|
204
|
+
this.changeDetector.detectChanges();
|
|
99
205
|
}
|
|
100
206
|
}
|
|
101
207
|
async recordVideo() {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
208
|
+
if (this.isRecording || !this.stream || !this.isCameraReady)
|
|
209
|
+
return;
|
|
210
|
+
this.countdown = this.countdownSeconds;
|
|
211
|
+
this.clearCountdownTimer();
|
|
212
|
+
this.countdownIntervalId = setInterval(() => {
|
|
105
213
|
this.countdown--;
|
|
106
214
|
this.changeDetector.detectChanges();
|
|
107
215
|
if (this.countdown <= 0) {
|
|
108
|
-
|
|
109
|
-
this.startVideoRecord();
|
|
216
|
+
this.clearCountdownTimer();
|
|
217
|
+
this.startVideoRecord();
|
|
110
218
|
}
|
|
111
219
|
}, 1000);
|
|
112
220
|
}
|
|
113
|
-
|
|
221
|
+
startVideoRecord() {
|
|
114
222
|
if (!this.stream || this.isRecording)
|
|
115
223
|
return;
|
|
224
|
+
this.recordedChunks = [];
|
|
116
225
|
this.isRecording = true;
|
|
117
|
-
this.timeRemaining =
|
|
118
|
-
this.
|
|
226
|
+
this.timeRemaining = this.recordingDurationSeconds;
|
|
227
|
+
this.progressValue = 0;
|
|
228
|
+
this.currentScriptLine = this.scriptChunks[0];
|
|
119
229
|
this.changeDetector.detectChanges();
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
230
|
+
const mimeType = this.resolveMimeType();
|
|
231
|
+
console.log(`${this.logTag} startVideoRecord`, {
|
|
232
|
+
mimeType,
|
|
233
|
+
isIOS: this.isIOS
|
|
234
|
+
});
|
|
235
|
+
const options = mimeType
|
|
236
|
+
? { mimeType, videoBitsPerSecond: this.videoBitsPerSecond }
|
|
237
|
+
: { videoBitsPerSecond: this.videoBitsPerSecond };
|
|
124
238
|
this.mediaRecorder = new MediaRecorder(this.stream, options);
|
|
125
|
-
let chunks = [];
|
|
126
239
|
this.mediaRecorder.ondataavailable = (event) => {
|
|
240
|
+
console.log(`${this.logTag} ondataavailable`, { size: event.data?.size ?? 0 });
|
|
127
241
|
if (event.data.size > 0)
|
|
128
|
-
|
|
242
|
+
this.recordedChunks.push(event.data);
|
|
129
243
|
};
|
|
130
244
|
this.mediaRecorder.onstop = async () => {
|
|
131
|
-
|
|
245
|
+
console.log(`${this.logTag} onstop`, { chunks: this.recordedChunks.length, userClosed: this.userClosed });
|
|
246
|
+
if (this.userClosed)
|
|
247
|
+
return;
|
|
248
|
+
if (this.recordedChunks.length === 0) {
|
|
132
249
|
console.error('No se capturaron datos en la grabación.');
|
|
133
250
|
return;
|
|
134
251
|
}
|
|
135
|
-
const
|
|
136
|
-
const fileExtension =
|
|
252
|
+
const outputType = mimeType || (this.isIOS ? 'video/mp4' : 'video/webm');
|
|
253
|
+
const fileExtension = outputType.includes('mp4') ? 'mp4' : 'webm';
|
|
254
|
+
const videoBlob = new Blob(this.recordedChunks, { type: outputType });
|
|
137
255
|
const videoFile = this.blobToFile(videoBlob, `acuerdo-video.${fileExtension}`);
|
|
138
256
|
if (this.backFunction) {
|
|
139
257
|
await this.backFunction(videoFile);
|
|
@@ -141,49 +259,78 @@ export class CamaraAcuerdoVideoComponent {
|
|
|
141
259
|
};
|
|
142
260
|
this.mediaRecorder.start(100);
|
|
143
261
|
// 🔥 Iniciar cuenta regresiva para detener
|
|
144
|
-
this.
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
this.changeDetector.detectChanges();
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
clearInterval(this.recordingTimer);
|
|
262
|
+
this.clearRecordingTimer();
|
|
263
|
+
this.recordingIntervalId = setInterval(() => {
|
|
264
|
+
this.timeRemaining--;
|
|
265
|
+
const elapsed = this.recordingDurationSeconds - this.timeRemaining;
|
|
266
|
+
this.progressValue = Math.min(elapsed / this.recordingDurationSeconds, 1);
|
|
267
|
+
this.currentScriptLine = this.getScriptLineByProgress(this.progressValue);
|
|
268
|
+
if (this.timeRemaining <= 0) {
|
|
155
269
|
this.stopRecording();
|
|
156
270
|
}
|
|
271
|
+
this.changeDetector.detectChanges();
|
|
157
272
|
}, 1000);
|
|
158
273
|
}
|
|
159
274
|
async stopRecording() {
|
|
160
275
|
if (this.mediaRecorder && this.isRecording) {
|
|
276
|
+
console.log(`${this.logTag} stopRecording`, { state: this.mediaRecorder.state });
|
|
161
277
|
this.mediaRecorder.stop();
|
|
162
|
-
await this.backFunction(this.capVideo);
|
|
163
278
|
this.isRecording = false;
|
|
164
|
-
this.
|
|
165
|
-
clearInterval(this.recordingTimer);
|
|
279
|
+
this.clearRecordingTimer();
|
|
166
280
|
this.changeDetector.detectChanges();
|
|
167
281
|
}
|
|
168
282
|
}
|
|
283
|
+
resolveMimeType() {
|
|
284
|
+
if (typeof MediaRecorder === 'undefined' || typeof MediaRecorder.isTypeSupported !== 'function') {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
const candidateTypes = this.isIOS
|
|
288
|
+
? ['video/mp4', 'video/webm;codecs=vp9', 'video/webm']
|
|
289
|
+
: ['video/webm;codecs=vp9', 'video/webm', 'video/mp4'];
|
|
290
|
+
return candidateTypes.find((type) => MediaRecorder.isTypeSupported(type));
|
|
291
|
+
}
|
|
292
|
+
getScriptLineByProgress(progress) {
|
|
293
|
+
const index = Math.min(Math.floor(progress * this.scriptChunks.length), this.scriptChunks.length - 1);
|
|
294
|
+
return this.scriptChunks[index];
|
|
295
|
+
}
|
|
169
296
|
blobToFile(blob, fileName) {
|
|
170
297
|
return new File([blob], fileName, { type: blob.type });
|
|
171
298
|
}
|
|
172
|
-
|
|
299
|
+
stopCameraTracks() {
|
|
173
300
|
if (this.stream) {
|
|
174
301
|
this.stream.getTracks().forEach((track) => track.stop());
|
|
175
302
|
this.stream = null;
|
|
176
303
|
}
|
|
177
|
-
// if (this.scanTimeout) clearTimeout(this.scanTimeout);
|
|
178
304
|
}
|
|
179
|
-
|
|
180
|
-
this.
|
|
181
|
-
|
|
305
|
+
clearCountdownTimer() {
|
|
306
|
+
if (this.countdownIntervalId) {
|
|
307
|
+
clearInterval(this.countdownIntervalId);
|
|
308
|
+
this.countdownIntervalId = undefined;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
clearRecordingTimer() {
|
|
312
|
+
if (this.recordingIntervalId) {
|
|
313
|
+
clearInterval(this.recordingIntervalId);
|
|
314
|
+
this.recordingIntervalId = undefined;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
clearAllTimers() {
|
|
318
|
+
this.clearCountdownTimer();
|
|
319
|
+
this.clearRecordingTimer();
|
|
182
320
|
}
|
|
183
|
-
|
|
184
|
-
this.
|
|
185
|
-
this.
|
|
186
|
-
|
|
321
|
+
async handleClose() {
|
|
322
|
+
this.userClosed = true;
|
|
323
|
+
this.clearAllTimers();
|
|
324
|
+
if (this.mediaRecorder && this.isRecording) {
|
|
325
|
+
this.mediaRecorder.stop();
|
|
326
|
+
this.isRecording = false;
|
|
327
|
+
}
|
|
328
|
+
this.stopCameraTracks();
|
|
329
|
+
if (this.closeRequested) {
|
|
330
|
+
await this.closeRequested();
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
await this.modalController.dismiss();
|
|
187
334
|
}
|
|
188
335
|
static { this.ɵfac = function CamaraAcuerdoVideoComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CamaraAcuerdoVideoComponent)(i0.ɵɵdirectiveInject(i1.Platform), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.ModalDpiServices), i0.ɵɵdirectiveInject(i1.ModalController)); }; }
|
|
189
336
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CamaraAcuerdoVideoComponent, selectors: [["app-acuerdo-video"]], viewQuery: function CamaraAcuerdoVideoComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -191,53 +338,30 @@ export class CamaraAcuerdoVideoComponent {
|
|
|
191
338
|
} if (rf & 2) {
|
|
192
339
|
let _t;
|
|
193
340
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.videoElement = _t.first);
|
|
194
|
-
} }, inputs: { backFunction: "backFunction" }, decls:
|
|
195
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
341
|
+
} }, inputs: { backFunction: "backFunction", closeRequested: "closeRequested" }, decls: 4, vars: 4, consts: [["videoElement", ""], [1, "sdk-metag-acuerdo-content", 3, "fullscreen"], ["class", "sdk-metag-countdown-overlay", 4, "ngIf"], ["class", "sdk-metag-step-one", 4, "ngIf"], ["class", "sdk-metag-step-two", 4, "ngIf"], [1, "sdk-metag-countdown-overlay"], [1, "sdk-metag-countdown"], [1, "sdk-metag-step-one"], [1, "sdk-metag-avatar-shell"], ["name", "person-circle-outline"], [1, "sdk-metag-title"], [1, "sdk-metag-instruction-card"], ["expand", "block", 1, "sdk-metag-primary-btn", 3, "click"], [1, "sdk-metag-step-two"], [1, "sdk-metag-player-header"], ["fill", "clear", 1, "sdk-metag-close-btn", 3, "click"], ["slot", "icon-only", "name", "close-outline"], [1, "sdk-metag-player-card"], [1, "sdk-metag-camera-frame"], ["autoplay", "", "muted", "", "playsinline", ""], ["class", "sdk-metag-camera-overlay", 4, "ngIf"], [1, "sdk-metag-script-current"], [1, "sdk-metag-script-full"], [3, "value"], [1, "sdk-metag-progress-meta"], [1, "sdk-metag-player-footer"], ["expand", "block", 1, "sdk-metag-record-btn", 3, "click", "disabled"], ["slot", "start", 3, "name"], [1, "sdk-metag-camera-overlay"], ["name", "crescent"]], template: function CamaraAcuerdoVideoComponent_Template(rf, ctx) { if (rf & 1) {
|
|
196
342
|
i0.ɵɵelementStart(0, "ion-content", 1);
|
|
197
|
-
i0.ɵɵtemplate(1, CamaraAcuerdoVideoComponent_div_1_Template, 3, 1, "div", 2);
|
|
198
|
-
i0.ɵɵelement(2, "video", 3, 0);
|
|
199
|
-
i0.ɵɵelementStart(4, "div", 4)(5, "div", 5);
|
|
200
|
-
i0.ɵɵtemplate(6, CamaraAcuerdoVideoComponent_p_6_Template, 2, 0, "p", 6)(7, CamaraAcuerdoVideoComponent_p_7_Template, 2, 0, "p", 7)(8, CamaraAcuerdoVideoComponent_div_8_Template, 2, 0, "div", 8);
|
|
201
|
-
i0.ɵɵelementEnd();
|
|
202
|
-
i0.ɵɵelementStart(9, "div", 9)(10, "ion-icon", 10);
|
|
203
|
-
i0.ɵɵlistener("click", function CamaraAcuerdoVideoComponent_Template_ion_icon_click_10_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.closeOverlayVideo()); });
|
|
204
|
-
i0.ɵɵelementEnd()();
|
|
205
|
-
i0.ɵɵelementStart(11, "div", 11)(12, "p", 12);
|
|
206
|
-
i0.ɵɵtext(13, "Repite el siguiente texto");
|
|
343
|
+
i0.ɵɵtemplate(1, CamaraAcuerdoVideoComponent_div_1_Template, 3, 1, "div", 2)(2, CamaraAcuerdoVideoComponent_section_2_Template, 14, 1, "section", 3)(3, CamaraAcuerdoVideoComponent_section_3_Template, 25, 9, "section", 4);
|
|
207
344
|
i0.ɵɵelementEnd();
|
|
208
|
-
i0.ɵɵtemplate(14, CamaraAcuerdoVideoComponent_p_14_Template, 2, 1, "p", 13);
|
|
209
|
-
i0.ɵɵelementStart(15, "p", 14);
|
|
210
|
-
i0.ɵɵtext(16, "Acepto los t\u00E9rminos y condiciones del cr\u00E9dito que estoy solicitando en Fundaci\u00F3n G\u00E9nesis Empresarial");
|
|
211
|
-
i0.ɵɵelementEnd();
|
|
212
|
-
i0.ɵɵelementStart(17, "ion-button", 15);
|
|
213
|
-
i0.ɵɵlistener("click", function CamaraAcuerdoVideoComponent_Template_ion_button_click_17_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.isRecording ? ctx.stopRecording() : ctx.recordVideo()); });
|
|
214
|
-
i0.ɵɵtext(18);
|
|
215
|
-
i0.ɵɵelementEnd()()()();
|
|
216
345
|
} if (rf & 2) {
|
|
346
|
+
i0.ɵɵproperty("fullscreen", true);
|
|
217
347
|
i0.ɵɵadvance();
|
|
218
348
|
i0.ɵɵproperty("ngIf", ctx.countdown > 0);
|
|
219
|
-
i0.ɵɵadvance(5);
|
|
220
|
-
i0.ɵɵproperty("ngIf", !ctx.isRecording);
|
|
221
|
-
i0.ɵɵadvance();
|
|
222
|
-
i0.ɵɵproperty("ngIf", ctx.isRecording);
|
|
223
349
|
i0.ɵɵadvance();
|
|
224
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
225
|
-
i0.ɵɵadvance(6);
|
|
226
|
-
i0.ɵɵproperty("ngIf", ctx.isRecording);
|
|
227
|
-
i0.ɵɵadvance(3);
|
|
228
|
-
i0.ɵɵproperty("disabled", ctx.isRecording && ctx.timeRemaining > 5);
|
|
350
|
+
i0.ɵɵproperty("ngIf", ctx.currentStep === 1);
|
|
229
351
|
i0.ɵɵadvance();
|
|
230
|
-
i0.ɵɵ
|
|
231
|
-
} }, dependencies: [i3.NgIf, i1.IonButton, i1.IonContent, i1.IonIcon], styles: [".
|
|
352
|
+
i0.ɵɵproperty("ngIf", ctx.currentStep === 2);
|
|
353
|
+
} }, dependencies: [i3.NgIf, i1.IonButton, i1.IonContent, i1.IonIcon, i1.IonProgressBar, i1.IonSpinner], styles: [".sdk-metag-acuerdo-content[_ngcontent-%COMP%] {\n --background: #ffffff;\n --padding-top: 0;\n --padding-bottom: 0;\n}\n\n.sdk-metag-countdown-overlay[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n z-index: 999;\n display: grid;\n place-items: center;\n background: rgba(15, 23, 42, 0.55);\n backdrop-filter: blur(3px);\n}\n\n.sdk-metag-countdown[_ngcontent-%COMP%] {\n width: 120px;\n height: 120px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-size: 56px;\n font-weight: 800;\n color: #ffffff;\n background: #111827;\n}\n\n.sdk-metag-step-one[_ngcontent-%COMP%] {\n min-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 20px;\n padding: 28px 20px 24px;\n background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\n}\n\n.sdk-metag-avatar-shell[_ngcontent-%COMP%] {\n margin: 0 auto;\n width: 112px;\n height: 112px;\n border-radius: 30px;\n display: grid;\n place-items: center;\n background: #eef2ff;\n\n ion-icon {\n font-size: 72px;\n color: #3730a3;\n }\n}\n\n.sdk-metag-title[_ngcontent-%COMP%] {\n margin: 0;\n text-align: center;\n color: #111827;\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.3px;\n}\n\n.sdk-metag-instruction-card[_ngcontent-%COMP%] {\n padding: 18px 16px;\n border-radius: 20px;\n border: 1px solid #e5e7eb;\n background: #ffffff;\n box-shadow: 0 10px 28px rgba(2, 6, 23, 0.06);\n\n p {\n margin: 0 0 10px;\n color: #374151;\n line-height: 1.45;\n font-size: 14px;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n}\n\n.sdk-metag-primary-btn[_ngcontent-%COMP%] {\n margin-top: 4px;\n --background: #2563eb;\n --background-hover: #1d4ed8;\n --background-activated: #1e40af;\n --border-radius: 14px;\n --box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);\n font-weight: 600;\n}\n\n.sdk-metag-step-two[_ngcontent-%COMP%] {\n min-height: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n gap: 12px;\n padding: 12px 14px 18px;\n background: #ffffff;\n}\n\n.sdk-metag-player-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n h2 {\n margin: 0;\n color: #0f172a;\n font-size: 20px;\n font-weight: 700;\n letter-spacing: -0.2px;\n }\n}\n\n.sdk-metag-close-btn[_ngcontent-%COMP%] {\n --color: #334155;\n}\n\n.sdk-metag-player-card[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n border-radius: 22px;\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);\n padding: 14px 14px 16px;\n}\n\n.sdk-metag-camera-frame[_ngcontent-%COMP%] {\n position: relative;\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: 18px;\n overflow: hidden;\n background: #111827;\n\n video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transform: scaleX(-1);\n }\n}\n\n.sdk-metag-camera-overlay[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n display: grid;\n place-items: center;\n gap: 10px;\n background: rgba(2, 6, 23, 0.64);\n color: #ffffff;\n font-size: 13px;\n text-align: center;\n}\n\n.sdk-metag-script-current[_ngcontent-%COMP%] {\n margin: 0;\n color: #0f172a;\n font-size: 18px;\n font-weight: 700;\n line-height: 1.35;\n}\n\n.sdk-metag-script-full[_ngcontent-%COMP%] {\n margin: 0;\n color: #64748b;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.sdk-metag-progress-meta[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #334155;\n font-size: 13px;\n font-weight: 600;\n}\n\n.sdk-metag-player-footer[_ngcontent-%COMP%] {\n padding-top: 4px;\n}\n\n.sdk-metag-record-btn[_ngcontent-%COMP%] {\n --background: #e11d48;\n --background-hover: #be123c;\n --background-activated: #9f1239;\n --border-radius: 14px;\n --box-shadow: 0 14px 26px rgba(225, 29, 72, 0.28);\n font-weight: 700;\n}"] }); }
|
|
232
354
|
}
|
|
233
355
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CamaraAcuerdoVideoComponent, [{
|
|
234
356
|
type: Component,
|
|
235
|
-
args: [{ selector: 'app-acuerdo-video', template: "<ion-content class=\"
|
|
357
|
+
args: [{ selector: 'app-acuerdo-video', template: "<ion-content class=\"sdk-metag-acuerdo-content\" [fullscreen]=\"true\">\n <div *ngIf=\"countdown > 0\" class=\"sdk-metag-countdown-overlay\">\n <div class=\"sdk-metag-countdown\">{{ countdown }}</div>\n </div>\n\n <section *ngIf=\"currentStep === 1\" class=\"sdk-metag-step-one\">\n <div class=\"sdk-metag-avatar-shell\">\n <ion-icon name=\"person-circle-outline\"></ion-icon>\n </div>\n\n <h1 class=\"sdk-metag-title\">Acuerdo de video</h1>\n\n <article class=\"sdk-metag-instruction-card\">\n <p>Lee en voz alta el texto mostrado para confirmar tu autorizaci\u00F3n.</p>\n <p>Busca un lugar con buena iluminaci\u00F3n, mant\u00E9n tu rostro centrado y evita ruido.</p>\n <p>La grabaci\u00F3n dura aproximadamente {{ timeRemaining }} segundos.</p>\n </article>\n\n <ion-button class=\"sdk-metag-primary-btn\" expand=\"block\" (click)=\"goToRecordingStep()\">\n Continuar\n </ion-button>\n </section>\n\n <section *ngIf=\"currentStep === 2\" class=\"sdk-metag-step-two\">\n <header class=\"sdk-metag-player-header\">\n <h2>Acuerdo de video</h2>\n <ion-button fill=\"clear\" class=\"sdk-metag-close-btn\" (click)=\"handleClose()\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </header>\n\n <div class=\"sdk-metag-player-card\">\n <div class=\"sdk-metag-camera-frame\">\n <video #videoElement autoplay muted playsinline></video>\n\n <div class=\"sdk-metag-camera-overlay\" *ngIf=\"isInitializingCamera || !isCameraReady\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n <span>Preparando c\u00E1mara...</span>\n </div>\n </div>\n\n <p class=\"sdk-metag-script-current\">\n {{ currentScriptLine }}\n </p>\n <p class=\"sdk-metag-script-full\">\n {{ scriptText }}\n </p>\n\n <ion-progress-bar [value]=\"progressValue\"></ion-progress-bar>\n\n <div class=\"sdk-metag-progress-meta\">\n <span>{{ isRecording ? 'Grabando' : 'Listo para grabar' }}</span>\n <span>00:{{ timeRemaining < 10 ? '0' + timeRemaining : timeRemaining }}</span>\n </div>\n </div>\n\n <footer class=\"sdk-metag-player-footer\">\n <ion-button\n class=\"sdk-metag-record-btn\"\n expand=\"block\"\n [disabled]=\"isInitializingCamera || !isCameraReady\"\n (click)=\"isRecording ? stopRecording() : recordVideo()\">\n <ion-icon slot=\"start\" [name]=\"isRecording ? 'stop-circle-outline' : 'radio-button-on-outline'\"></ion-icon>\n {{ isRecording ? 'Detener grabaci\u00F3n' : 'Iniciar grabaci\u00F3n' }}\n </ion-button>\n </footer>\n </section>\n</ion-content>\n", styles: [".sdk-metag-acuerdo-content {\n --background: #ffffff;\n --padding-top: 0;\n --padding-bottom: 0;\n}\n\n.sdk-metag-countdown-overlay {\n position: fixed;\n inset: 0;\n z-index: 999;\n display: grid;\n place-items: center;\n background: rgba(15, 23, 42, 0.55);\n backdrop-filter: blur(3px);\n}\n\n.sdk-metag-countdown {\n width: 120px;\n height: 120px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-size: 56px;\n font-weight: 800;\n color: #ffffff;\n background: #111827;\n}\n\n.sdk-metag-step-one {\n min-height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 20px;\n padding: 28px 20px 24px;\n background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\n}\n\n.sdk-metag-avatar-shell {\n margin: 0 auto;\n width: 112px;\n height: 112px;\n border-radius: 30px;\n display: grid;\n place-items: center;\n background: #eef2ff;\n\n ion-icon {\n font-size: 72px;\n color: #3730a3;\n }\n}\n\n.sdk-metag-title {\n margin: 0;\n text-align: center;\n color: #111827;\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.3px;\n}\n\n.sdk-metag-instruction-card {\n padding: 18px 16px;\n border-radius: 20px;\n border: 1px solid #e5e7eb;\n background: #ffffff;\n box-shadow: 0 10px 28px rgba(2, 6, 23, 0.06);\n\n p {\n margin: 0 0 10px;\n color: #374151;\n line-height: 1.45;\n font-size: 14px;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n}\n\n.sdk-metag-primary-btn {\n margin-top: 4px;\n --background: #2563eb;\n --background-hover: #1d4ed8;\n --background-activated: #1e40af;\n --border-radius: 14px;\n --box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);\n font-weight: 600;\n}\n\n.sdk-metag-step-two {\n min-height: 100%;\n display: grid;\n grid-template-rows: auto 1fr auto;\n gap: 12px;\n padding: 12px 14px 18px;\n background: #ffffff;\n}\n\n.sdk-metag-player-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n h2 {\n margin: 0;\n color: #0f172a;\n font-size: 20px;\n font-weight: 700;\n letter-spacing: -0.2px;\n }\n}\n\n.sdk-metag-close-btn {\n --color: #334155;\n}\n\n.sdk-metag-player-card {\n display: flex;\n flex-direction: column;\n gap: 12px;\n border-radius: 22px;\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);\n padding: 14px 14px 16px;\n}\n\n.sdk-metag-camera-frame {\n position: relative;\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: 18px;\n overflow: hidden;\n background: #111827;\n\n video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transform: scaleX(-1);\n }\n}\n\n.sdk-metag-camera-overlay {\n position: absolute;\n inset: 0;\n display: grid;\n place-items: center;\n gap: 10px;\n background: rgba(2, 6, 23, 0.64);\n color: #ffffff;\n font-size: 13px;\n text-align: center;\n}\n\n.sdk-metag-script-current {\n margin: 0;\n color: #0f172a;\n font-size: 18px;\n font-weight: 700;\n line-height: 1.35;\n}\n\n.sdk-metag-script-full {\n margin: 0;\n color: #64748b;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.sdk-metag-progress-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #334155;\n font-size: 13px;\n font-weight: 600;\n}\n\n.sdk-metag-player-footer {\n padding-top: 4px;\n}\n\n.sdk-metag-record-btn {\n --background: #e11d48;\n --background-hover: #be123c;\n --background-activated: #9f1239;\n --border-radius: 14px;\n --box-shadow: 0 14px 26px rgba(225, 29, 72, 0.28);\n font-weight: 700;\n}\n"] }]
|
|
236
358
|
}], () => [{ type: i1.Platform }, { type: i0.ChangeDetectorRef }, { type: i2.ModalDpiServices }, { type: i1.ModalController }], { videoElement: [{
|
|
237
359
|
type: ViewChild,
|
|
238
360
|
args: ['videoElement', { static: false }]
|
|
239
361
|
}], backFunction: [{
|
|
240
362
|
type: Input
|
|
363
|
+
}], closeRequested: [{
|
|
364
|
+
type: Input
|
|
241
365
|
}] }); })();
|
|
242
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CamaraAcuerdoVideoComponent, { className: "CamaraAcuerdoVideoComponent"
|
|
366
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CamaraAcuerdoVideoComponent, { className: "CamaraAcuerdoVideoComponent" }); })();
|
|
243
367
|
//# sourceMappingURL=camara-acuerdo.video.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camara-acuerdo.video.component.js","sourceRoot":"","sources":["../../../../../../../src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.ts","../../../../../../../src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"camara-acuerdo.video.component.js","sourceRoot":"","sources":["../../../../../../../src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.ts","../../../../../../../src/app/pages/id-vision/components/camara-acuerdo-video/camara-acuerdo.video.component.html"],"names":[],"mappings":"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"}
|