@cuemath/leap 4.0.7-as5 → 4.0.7-as6

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.
@@ -1,68 +1,68 @@
1
- import { useState as F, useCallback as c, useEffect as S } from "react";
1
+ import { useState as l, useCallback as s, useEffect as S } from "react";
2
2
  import { useLocalPeer as T, useRemotePeers as D, useCaptureMediaStreamImage as $ } from "@cuemath/av";
3
3
  import { useUIContext as C } from "../../ui/context/context.js";
4
4
  import { base64ToFile as A } from "../fraud-alert-modal/fraud-alert-modal-helpers.js";
5
5
  import { FRAUD_DETECTION_ANALYTICS_EVENTS as N } from "./report-fraud-analytics.js";
6
6
  import U from "../../hooks/use-s3-helper/use-s3-helper.js";
7
7
  const L = { type: "class_fraud_login" }, k = ({
8
- teacherId: a,
8
+ teacherId: n,
9
9
  studentId: t,
10
10
  studentClassroomId: m,
11
- teacherClassroomId: f,
12
- classStartTs: u
11
+ teacherClassroomId: c,
12
+ classStartTs: i
13
13
  }) => {
14
- const { onEvent: r } = C(), [_, g] = F(!1), e = T(), n = D().find((i) => i.userId === a), s = $(), p = U({
14
+ const { onEvent: u } = C(), [_, f] = l(!1), e = T(), a = D().find((o) => o.userId === n), r = $(), g = U({
15
15
  studentId: t,
16
16
  query: L
17
- }), E = c(
18
- (i) => {
19
- r(N.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {
20
- teacher_url: i.find((o) => o.includes("teacher")) || "",
21
- student_url: i.find((o) => o.includes("student")) || "",
22
- classStartTs: u,
23
- teacherId: a,
17
+ }), p = s(
18
+ (o) => {
19
+ u(N.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {
20
+ teacher_url: o[0],
21
+ student_url: o[1],
22
+ classStartTs: i,
23
+ teacherId: n,
24
24
  studentId: t
25
25
  });
26
26
  },
27
- [u, r, t, a]
28
- ), d = c(() => {
29
- r("fraud_detection_images_failed", { classStartTs: u, teacherId: a, studentId: t });
30
- }, [u, r, t, a]);
27
+ [i, u, t, n]
28
+ ), E = s(() => {
29
+ u("fraud_detection_images_failed", { classStartTs: i, teacherId: n, studentId: t });
30
+ }, [i, u, t, n]);
31
31
  return S(() => {
32
- if (!_ || !(n != null && n.id) || !(e != null && e.id))
32
+ if (!_ || !(a != null && a.id) || !(e != null && e.id))
33
33
  return;
34
- const { image: i } = s(n == null ? void 0 : n.id, "camera"), { image: o } = s(e == null ? void 0 : e.id, "camera"), l = A(i, `teacher-${Date.now()}.png`), R = A(o, `student-${Date.now()}.png`);
35
- !l || !R || (p({
34
+ const { image: o } = r(a == null ? void 0 : a.id, "camera"), { image: F } = r(e == null ? void 0 : e.id, "camera"), R = A(o, `teacher-${Date.now()}.png`), d = A(F, `student-${Date.now()}.png`);
35
+ !R || !d || (g({
36
36
  fileKey: "media/class_fraud_login/",
37
- onSuccess: E,
38
- onError: d,
37
+ onSuccess: p,
38
+ onError: E,
39
39
  images: [
40
40
  {
41
- file: l,
42
- name: `teacher_${f}_${a}`,
41
+ file: R,
42
+ name: `teacher_${c}_${n}`,
43
43
  url: ""
44
44
  },
45
45
  {
46
- file: R,
46
+ file: d,
47
47
  name: `student_${m}_${t}`,
48
48
  url: ""
49
49
  }
50
50
  ]
51
- }), g(!1));
51
+ }), f(!1));
52
52
  }, [
53
53
  _,
54
- s,
54
+ r,
55
55
  e == null ? void 0 : e.id,
56
- d,
57
56
  E,
58
- n == null ? void 0 : n.id,
57
+ p,
58
+ a == null ? void 0 : a.id,
59
59
  m,
60
60
  t,
61
- f,
62
- a,
63
- p
64
- ]), c(() => {
65
- g(!0);
61
+ c,
62
+ n,
63
+ g
64
+ ]), s(() => {
65
+ f(!0);
66
66
  }, []);
67
67
  }, O = k;
68
68
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"use-report-fraud.js","sources":["../../../../src/features/fraud-detection/hooks/use-report-fraud.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useCaptureMediaStreamImage, useLocalPeer, useRemotePeers } from '@cuemath/av';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { base64ToFile } from '../fraud-alert-modal/fraud-alert-modal-helpers';\nimport { type IUseFraudAlertProps } from './report-fraud-types';\nimport { FRAUD_DETECTION_ANALYTICS_EVENTS } from './report-fraud-analytics';\nimport useS3ImageUploadHelper from '../../hooks/use-s3-helper/use-s3-helper';\n\nconst QUERY = { type: 'class_fraud_login' };\n\nconst useReportFraud = ({\n teacherId,\n studentId,\n studentClassroomId,\n teacherClassroomId,\n classStartTs,\n}: IUseFraudAlertProps) => {\n const { onEvent } = useUIContext();\n\n const [canTrackEvent, setCanTrackEvent] = useState(false);\n const localpeer = useLocalPeer();\n const remotePeer = useRemotePeers().find(peer => peer.userId === teacherId);\n const captureMediaStreamImage = useCaptureMediaStreamImage();\n const uploadImages = useS3ImageUploadHelper({\n studentId,\n query: QUERY,\n });\n const onSuccess = useCallback(\n (urls: string[]) => {\n onEvent(FRAUD_DETECTION_ANALYTICS_EVENTS.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {\n teacher_url: urls.find(url => url.includes('teacher')) || '',\n student_url: urls.find(url => url.includes('student')) || '',\n classStartTs,\n teacherId,\n studentId,\n });\n },\n [classStartTs, onEvent, studentId, teacherId],\n );\n\n const onError = useCallback(() => {\n onEvent('fraud_detection_images_failed', { classStartTs, teacherId, studentId });\n }, [classStartTs, onEvent, studentId, teacherId]);\n\n useEffect(() => {\n if (!canTrackEvent || !remotePeer?.id || !localpeer?.id) {\n return;\n }\n\n const { image: teacherImage } = captureMediaStreamImage(remotePeer?.id, 'camera');\n const { image: studentImage } = captureMediaStreamImage(localpeer?.id, 'camera');\n const teacherFile = base64ToFile(teacherImage, `teacher-${Date.now()}.png`);\n const studentFile = base64ToFile(studentImage, `student-${Date.now()}.png`);\n\n if (!teacherFile || !studentFile) {\n return;\n }\n\n uploadImages({\n fileKey: `media/class_fraud_login/`,\n onSuccess,\n onError,\n images: [\n {\n file: teacherFile,\n name: `teacher_${teacherClassroomId}_${teacherId}`,\n url: '',\n },\n {\n file: studentFile,\n name: `student_${studentClassroomId}_${studentId}`,\n url: '',\n },\n ],\n });\n\n setCanTrackEvent(false);\n }, [\n canTrackEvent,\n captureMediaStreamImage,\n localpeer?.id,\n onError,\n onSuccess,\n remotePeer?.id,\n studentClassroomId,\n studentId,\n teacherClassroomId,\n teacherId,\n uploadImages,\n ]);\n\n const captureAndReportFraudImages = useCallback(() => {\n setCanTrackEvent(true);\n }, []);\n\n return captureAndReportFraudImages;\n};\n\nexport default useReportFraud;\n"],"names":["QUERY","useReportFraud","teacherId","studentId","studentClassroomId","teacherClassroomId","classStartTs","onEvent","useUIContext","canTrackEvent","setCanTrackEvent","useState","localpeer","useLocalPeer","remotePeer","useRemotePeers","peer","captureMediaStreamImage","useCaptureMediaStreamImage","uploadImages","useS3ImageUploadHelper","onSuccess","useCallback","urls","FRAUD_DETECTION_ANALYTICS_EVENTS","url","onError","useEffect","teacherImage","studentImage","teacherFile","base64ToFile","studentFile","useReportFraud$1"],"mappings":";;;;;;AAUA,MAAMA,IAAQ,EAAE,MAAM,uBAEhBC,IAAiB,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAA2B;AACnB,QAAA,EAAE,SAAAC,MAAYC,KAEd,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClDC,IAAYC,KACZC,IAAaC,EAAe,EAAE,KAAK,CAAQC,MAAAA,EAAK,WAAWd,CAAS,GACpEe,IAA0BC,KAC1BC,IAAeC,EAAuB;AAAA,IAC1C,WAAAjB;AAAA,IACA,OAAOH;AAAA,EAAA,CACR,GACKqB,IAAYC;AAAA,IAChB,CAACC,MAAmB;AAClB,MAAAhB,EAAQiB,EAAiC,8CAA8C;AAAA,QACrF,aAAaD,EAAK,KAAK,CAAAE,MAAOA,EAAI,SAAS,SAAS,CAAC,KAAK;AAAA,QAC1D,aAAaF,EAAK,KAAK,CAAAE,MAAOA,EAAI,SAAS,SAAS,CAAC,KAAK;AAAA,QAC1D,cAAAnB;AAAA,QACA,WAAAJ;AAAA,QACA,WAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACG,GAAcC,GAASJ,GAAWD,CAAS;AAAA,EAAA,GAGxCwB,IAAUJ,EAAY,MAAM;AAChC,IAAAf,EAAQ,iCAAiC,EAAE,cAAAD,GAAc,WAAAJ,GAAW,WAAAC,EAAW,CAAA;AAAA,KAC9E,CAACG,GAAcC,GAASJ,GAAWD,CAAS,CAAC;AAEhD,SAAAyB,EAAU,MAAM;AACd,QAAI,CAAClB,KAAiB,EAACK,KAAA,QAAAA,EAAY,OAAM,EAACF,KAAA,QAAAA,EAAW;AACnD;AAGF,UAAM,EAAE,OAAOgB,MAAiBX,EAAwBH,KAAA,gBAAAA,EAAY,IAAI,QAAQ,GAC1E,EAAE,OAAOe,MAAiBZ,EAAwBL,KAAA,gBAAAA,EAAW,IAAI,QAAQ,GACzEkB,IAAcC,EAAaH,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM,GACpEI,IAAcD,EAAaF,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM;AAEtE,IAAA,CAACC,KAAe,CAACE,MAIRb,EAAA;AAAA,MACX,SAAS;AAAA,MACT,WAAAE;AAAA,MACA,SAAAK;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,MAAMI;AAAA,UACN,MAAM,WAAWzB,CAAkB,IAAIH,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,MAAM8B;AAAA,UACN,MAAM,WAAW5B,CAAkB,IAAID,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAEDO,EAAiB,EAAK;AAAA,EAAA,GACrB;AAAA,IACDD;AAAA,IACAQ;AAAA,IACAL,KAAA,gBAAAA,EAAW;AAAA,IACXc;AAAA,IACAL;AAAA,IACAP,KAAA,gBAAAA,EAAY;AAAA,IACZV;AAAA,IACAD;AAAA,IACAE;AAAA,IACAH;AAAA,IACAiB;AAAA,EAAA,CACD,GAEmCG,EAAY,MAAM;AACpD,IAAAZ,EAAiB,EAAI;AAAA,EACvB,GAAG,CAAE,CAAA;AAGP,GAEAuB,IAAehC;"}
1
+ {"version":3,"file":"use-report-fraud.js","sources":["../../../../src/features/fraud-detection/hooks/use-report-fraud.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useCaptureMediaStreamImage, useLocalPeer, useRemotePeers } from '@cuemath/av';\n\nimport { useUIContext } from '../../ui/context/context';\nimport { base64ToFile } from '../fraud-alert-modal/fraud-alert-modal-helpers';\nimport { type IUseFraudAlertProps } from './report-fraud-types';\nimport { FRAUD_DETECTION_ANALYTICS_EVENTS } from './report-fraud-analytics';\nimport useS3ImageUploadHelper from '../../hooks/use-s3-helper/use-s3-helper';\n\nconst QUERY = { type: 'class_fraud_login' };\n\nconst useReportFraud = ({\n teacherId,\n studentId,\n studentClassroomId,\n teacherClassroomId,\n classStartTs,\n}: IUseFraudAlertProps) => {\n const { onEvent } = useUIContext();\n\n const [canTrackEvent, setCanTrackEvent] = useState(false);\n const localpeer = useLocalPeer();\n const remotePeer = useRemotePeers().find(peer => peer.userId === teacherId);\n const captureMediaStreamImage = useCaptureMediaStreamImage();\n const uploadImages = useS3ImageUploadHelper({\n studentId,\n query: QUERY,\n });\n const onSuccess = useCallback(\n (urls: string[]) => {\n onEvent(FRAUD_DETECTION_ANALYTICS_EVENTS.FRAUD_LOGIN_TEACHER_ENTERED_CLASS_AS_STUDENT, {\n teacher_url: urls[0],\n student_url: urls[1],\n classStartTs,\n teacherId,\n studentId,\n });\n },\n [classStartTs, onEvent, studentId, teacherId],\n );\n\n const onError = useCallback(() => {\n onEvent('fraud_detection_images_failed', { classStartTs, teacherId, studentId });\n }, [classStartTs, onEvent, studentId, teacherId]);\n\n useEffect(() => {\n if (!canTrackEvent || !remotePeer?.id || !localpeer?.id) {\n return;\n }\n\n const { image: teacherImage } = captureMediaStreamImage(remotePeer?.id, 'camera');\n const { image: studentImage } = captureMediaStreamImage(localpeer?.id, 'camera');\n const teacherFile = base64ToFile(teacherImage, `teacher-${Date.now()}.png`);\n const studentFile = base64ToFile(studentImage, `student-${Date.now()}.png`);\n\n if (!teacherFile || !studentFile) {\n return;\n }\n\n uploadImages({\n fileKey: `media/class_fraud_login/`,\n onSuccess,\n onError,\n images: [\n {\n file: teacherFile,\n name: `teacher_${teacherClassroomId}_${teacherId}`,\n url: '',\n },\n {\n file: studentFile,\n name: `student_${studentClassroomId}_${studentId}`,\n url: '',\n },\n ],\n });\n\n setCanTrackEvent(false);\n }, [\n canTrackEvent,\n captureMediaStreamImage,\n localpeer?.id,\n onError,\n onSuccess,\n remotePeer?.id,\n studentClassroomId,\n studentId,\n teacherClassroomId,\n teacherId,\n uploadImages,\n ]);\n\n const captureAndReportFraudImages = useCallback(() => {\n setCanTrackEvent(true);\n }, []);\n\n return captureAndReportFraudImages;\n};\n\nexport default useReportFraud;\n"],"names":["QUERY","useReportFraud","teacherId","studentId","studentClassroomId","teacherClassroomId","classStartTs","onEvent","useUIContext","canTrackEvent","setCanTrackEvent","useState","localpeer","useLocalPeer","remotePeer","useRemotePeers","peer","captureMediaStreamImage","useCaptureMediaStreamImage","uploadImages","useS3ImageUploadHelper","onSuccess","useCallback","urls","FRAUD_DETECTION_ANALYTICS_EVENTS","onError","useEffect","teacherImage","studentImage","teacherFile","base64ToFile","studentFile","useReportFraud$1"],"mappings":";;;;;;AAUA,MAAMA,IAAQ,EAAE,MAAM,uBAEhBC,IAAiB,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAA2B;AACnB,QAAA,EAAE,SAAAC,MAAYC,KAEd,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClDC,IAAYC,KACZC,IAAaC,EAAe,EAAE,KAAK,CAAQC,MAAAA,EAAK,WAAWd,CAAS,GACpEe,IAA0BC,KAC1BC,IAAeC,EAAuB;AAAA,IAC1C,WAAAjB;AAAA,IACA,OAAOH;AAAA,EAAA,CACR,GACKqB,IAAYC;AAAA,IAChB,CAACC,MAAmB;AAClB,MAAAhB,EAAQiB,EAAiC,8CAA8C;AAAA,QACrF,aAAaD,EAAK,CAAC;AAAA,QACnB,aAAaA,EAAK,CAAC;AAAA,QACnB,cAAAjB;AAAA,QACA,WAAAJ;AAAA,QACA,WAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACG,GAAcC,GAASJ,GAAWD,CAAS;AAAA,EAAA,GAGxCuB,IAAUH,EAAY,MAAM;AAChC,IAAAf,EAAQ,iCAAiC,EAAE,cAAAD,GAAc,WAAAJ,GAAW,WAAAC,EAAW,CAAA;AAAA,KAC9E,CAACG,GAAcC,GAASJ,GAAWD,CAAS,CAAC;AAEhD,SAAAwB,EAAU,MAAM;AACd,QAAI,CAACjB,KAAiB,EAACK,KAAA,QAAAA,EAAY,OAAM,EAACF,KAAA,QAAAA,EAAW;AACnD;AAGF,UAAM,EAAE,OAAOe,MAAiBV,EAAwBH,KAAA,gBAAAA,EAAY,IAAI,QAAQ,GAC1E,EAAE,OAAOc,MAAiBX,EAAwBL,KAAA,gBAAAA,EAAW,IAAI,QAAQ,GACzEiB,IAAcC,EAAaH,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM,GACpEI,IAAcD,EAAaF,GAAc,WAAW,KAAK,IAAA,CAAK,MAAM;AAEtE,IAAA,CAACC,KAAe,CAACE,MAIRZ,EAAA;AAAA,MACX,SAAS;AAAA,MACT,WAAAE;AAAA,MACA,SAAAI;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,UACE,MAAMI;AAAA,UACN,MAAM,WAAWxB,CAAkB,IAAIH,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,MAAM6B;AAAA,UACN,MAAM,WAAW3B,CAAkB,IAAID,CAAS;AAAA,UAChD,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IAAA,CACD,GAEDO,EAAiB,EAAK;AAAA,EAAA,GACrB;AAAA,IACDD;AAAA,IACAQ;AAAA,IACAL,KAAA,gBAAAA,EAAW;AAAA,IACXa;AAAA,IACAJ;AAAA,IACAP,KAAA,gBAAAA,EAAY;AAAA,IACZV;AAAA,IACAD;AAAA,IACAE;AAAA,IACAH;AAAA,IACAiB;AAAA,EAAA,CACD,GAEmCG,EAAY,MAAM;AACpD,IAAAZ,EAAiB,EAAI;AAAA,EACvB,GAAG,CAAE,CAAA;AAGP,GAEAsB,IAAe/B;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.0.7-as5",
3
+ "version": "4.0.7-as6",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"