l-min-components 1.7.1567 → 1.7.1569
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/package.json +1 -1
- package/src/components/header/languageDropdown.jsx +17 -17
- package/src/components/messageAddon/assets/svg/check_circle.jsx +41 -0
- package/src/components/messageAddon/messages/messagebox/messageBubble.jsx +3 -4
- package/src/components/reportsComponents/fullAnalysis/data.grammar.v2.jsx +8504 -92
- package/src/components/reportsComponents/fullAnalysis/index.jsx +0 -6
- package/src/components/reportsComponents/fullAnalysis/style.jsx +0 -59
- package/src/components/reportsComponents/hooks/useRreportUtils.jsx +1 -41
- package/src/components/reportsComponents/reportQuestions/contants.jsx +0 -7
- package/src/components/reportsComponents/reportQuestions/index.jsx +0 -49
- package/src/components/reportsComponents/reportQuestions/questions/quizScripted.jsx +0 -1
- package/src/components/reportsComponents/fullAnalysis/components/Comprehension.jsx +0 -47
- package/src/components/reportsComponents/reportQuestions/questions/quizWritten.jsx +0 -97
|
@@ -24,7 +24,6 @@ import useReportUtils from "../hooks/useRreportUtils";
|
|
|
24
24
|
import GrammarV2 from "./components/Grammar.v2";
|
|
25
25
|
import useTranslation from "../../../hooks/useTranslation.jsx";
|
|
26
26
|
import wordStore from "../../../mc/wordStore.json";
|
|
27
|
-
import Comprehension from "./components/Comprehension.jsx";
|
|
28
27
|
const FullAnalysis = ({ data, onClose, accountType }) => {
|
|
29
28
|
const { findText } = useTranslation(wordStore);
|
|
30
29
|
const { setRightLayout, setCenterLayoutStyle } = useContext(OutletContext);
|
|
@@ -37,7 +36,6 @@ const FullAnalysis = ({ data, onClose, accountType }) => {
|
|
|
37
36
|
label: item?.label,
|
|
38
37
|
value: item?.id,
|
|
39
38
|
}));
|
|
40
|
-
|
|
41
39
|
const [selected, setSelected] = useState(tabs?.[0]?.value || "");
|
|
42
40
|
useEffect(() => {
|
|
43
41
|
if (tabs?.length) {
|
|
@@ -70,7 +68,6 @@ const FullAnalysis = ({ data, onClose, accountType }) => {
|
|
|
70
68
|
|
|
71
69
|
const selectedModel =
|
|
72
70
|
data && data?.models?.find((item) => item?.id === selected);
|
|
73
|
-
|
|
74
71
|
const handleClose = () => {
|
|
75
72
|
setRightLayout(true);
|
|
76
73
|
setCenterLayoutStyle({
|
|
@@ -244,9 +241,6 @@ const FullAnalysis = ({ data, onClose, accountType }) => {
|
|
|
244
241
|
setCheckingPlayingAudio={setCheckingPlayingAudio}
|
|
245
242
|
/>
|
|
246
243
|
)}
|
|
247
|
-
{selectedModel?.id === "comprehension" && (
|
|
248
|
-
<Comprehension Aidata={selectedModel} />
|
|
249
|
-
)}
|
|
250
244
|
{selectedModel?.id === "grammar" && (
|
|
251
245
|
<>
|
|
252
246
|
{selectedModel?.version === 2 ? (
|
|
@@ -720,62 +720,3 @@ export const GrammarV2FeedbackList = styled.ul`
|
|
|
720
720
|
}
|
|
721
721
|
}
|
|
722
722
|
`;
|
|
723
|
-
|
|
724
|
-
export const ComprehensionContainer = styled.ul`
|
|
725
|
-
border-radius: 32px;
|
|
726
|
-
background: #fff;
|
|
727
|
-
padding: 20px;
|
|
728
|
-
list-style: none;
|
|
729
|
-
display: flex;
|
|
730
|
-
flex-direction: column;
|
|
731
|
-
width: 100%;
|
|
732
|
-
gap: 15px;
|
|
733
|
-
li {
|
|
734
|
-
border-bottom: 1px solid #dfe5e5;
|
|
735
|
-
|
|
736
|
-
padding-bottom: 15px;
|
|
737
|
-
&:last-child {
|
|
738
|
-
border-bottom: transparent;
|
|
739
|
-
}
|
|
740
|
-
}
|
|
741
|
-
`;
|
|
742
|
-
|
|
743
|
-
export const ComprehensionContainerResponse = styled.div`
|
|
744
|
-
display: flex;
|
|
745
|
-
flex-direction: column;
|
|
746
|
-
width: 100%;
|
|
747
|
-
gap: 10px;
|
|
748
|
-
padding-bottom: 5px;
|
|
749
|
-
> p {
|
|
750
|
-
color: #636666;
|
|
751
|
-
font-size: 14px;
|
|
752
|
-
line-height: 24px;
|
|
753
|
-
}
|
|
754
|
-
> div {
|
|
755
|
-
border-radius: 24px;
|
|
756
|
-
background: #f5f7f7;
|
|
757
|
-
min-height: 150px;
|
|
758
|
-
padding: 10px;
|
|
759
|
-
> p {
|
|
760
|
-
color: #4a4d4d;
|
|
761
|
-
|
|
762
|
-
font-size: 16px;
|
|
763
|
-
line-height: 25px;
|
|
764
|
-
&::first-letter {
|
|
765
|
-
text-transform: capitalize;
|
|
766
|
-
}
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
`;
|
|
770
|
-
|
|
771
|
-
export const ComprehensionFeekback = styled.div`
|
|
772
|
-
h3 {
|
|
773
|
-
font-size: 16px;
|
|
774
|
-
font-weight: 600;
|
|
775
|
-
margin-bottom: 10px;
|
|
776
|
-
}
|
|
777
|
-
p {
|
|
778
|
-
color: #4a4d4d;
|
|
779
|
-
font-size: 14px;
|
|
780
|
-
}
|
|
781
|
-
`;
|
|
@@ -54,13 +54,6 @@ const quizResponses = ({ responses = [], type = "scripted" }) => {
|
|
|
54
54
|
recording: response,
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
if (type === "written") {
|
|
58
|
-
return {
|
|
59
|
-
key: index + 1,
|
|
60
|
-
index,
|
|
61
|
-
text: response,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
57
|
return {
|
|
65
58
|
key: index + 1,
|
|
66
59
|
text: response?.text,
|
|
@@ -144,8 +137,6 @@ const setupAnalysis = (data, audioData, score) => {
|
|
|
144
137
|
let totalScore = 0;
|
|
145
138
|
let modelCount = 0;
|
|
146
139
|
|
|
147
|
-
// console.log(data, "///");
|
|
148
|
-
|
|
149
140
|
if (
|
|
150
141
|
data?.logic_evaluation &&
|
|
151
142
|
data?.logic_evaluation?.length &&
|
|
@@ -433,24 +424,7 @@ const setupAnalysis = (data, audioData, score) => {
|
|
|
433
424
|
models: formatted,
|
|
434
425
|
};
|
|
435
426
|
};
|
|
436
|
-
const quizWrittenSelectedModel = (response, aiData) => {
|
|
437
|
-
if (!response || !aiData) return null;
|
|
438
|
-
const index = response?.index || 0;
|
|
439
|
-
const objectData = {};
|
|
440
427
|
|
|
441
|
-
if (aiData?.grammar?.[index] && aiData?.grammar?.length) {
|
|
442
|
-
const findData = aiData?.grammar?.[index];
|
|
443
|
-
objectData["grammar"] = [findData];
|
|
444
|
-
}
|
|
445
|
-
if (
|
|
446
|
-
aiData?.comprehension?.length &&
|
|
447
|
-
aiData?.comprehension?.[0] &&
|
|
448
|
-
index === 0
|
|
449
|
-
) {
|
|
450
|
-
objectData["comprehension"] = aiData?.comprehension;
|
|
451
|
-
}
|
|
452
|
-
return objectData;
|
|
453
|
-
};
|
|
454
428
|
const quixSelectedModel = (response, aiData) => {
|
|
455
429
|
if (!response || !aiData) return null;
|
|
456
430
|
|
|
@@ -474,14 +448,6 @@ const quixSelectedModel = (response, aiData) => {
|
|
|
474
448
|
objectData["grammar"] = [findData];
|
|
475
449
|
}
|
|
476
450
|
|
|
477
|
-
if (aiData?.comprehension?.length && aiData?.comprehension) {
|
|
478
|
-
const attemptResp = aiData?.comprehension?.[0]?.attempt_data_batch?.[0];
|
|
479
|
-
|
|
480
|
-
if (attemptResp?.recording?.id === audioId || attemptResp?.id === audioId) {
|
|
481
|
-
objectData["comprehension"] = aiData?.comprehension;
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
|
|
485
451
|
return objectData;
|
|
486
452
|
};
|
|
487
453
|
const dialpgueSelectedModel = (response, aiData) => {
|
|
@@ -726,15 +692,10 @@ const getQuestionInfo = (question) => {
|
|
|
726
692
|
type = "word-play-multiple-choice";
|
|
727
693
|
else type = "word-play-text";
|
|
728
694
|
} else if (question?.type === "QUIZ") {
|
|
729
|
-
if (
|
|
730
|
-
question?.question_data?.question_data?.type === "MultipleChoice" ||
|
|
731
|
-
question?.question_data?.question_data?.type === "Multiple Choice"
|
|
732
|
-
)
|
|
695
|
+
if (question?.question_data?.question_data?.type === "MultipleChoice")
|
|
733
696
|
type = "quiz-multiple-choice";
|
|
734
697
|
else if (question?.question_data?.question_data?.type === "UnScripted")
|
|
735
698
|
type = "quiz-unscripted";
|
|
736
|
-
else if (question?.question_data?.question_data?.type === "Written")
|
|
737
|
-
type = "quiz-written";
|
|
738
699
|
else type = "quiz-scripted";
|
|
739
700
|
} else if (question?.type === "ESSAY") {
|
|
740
701
|
if (question?.question_data?.config?.type === "Scripted")
|
|
@@ -768,7 +729,6 @@ const useReportUtils = () => {
|
|
|
768
729
|
grammarFindOperation,
|
|
769
730
|
toRGBA,
|
|
770
731
|
getQuestionInfo,
|
|
771
|
-
quizWrittenSelectedModel,
|
|
772
732
|
};
|
|
773
733
|
};
|
|
774
734
|
|
|
@@ -74,13 +74,6 @@ const data = {
|
|
|
74
74
|
ai_score_available: false,
|
|
75
75
|
system_score: true,
|
|
76
76
|
},
|
|
77
|
-
{
|
|
78
|
-
label: "Q&A quiz",
|
|
79
|
-
value: "quiz-written",
|
|
80
|
-
type: "written",
|
|
81
|
-
ai_score_available: false,
|
|
82
|
-
system_score: false,
|
|
83
|
-
},
|
|
84
77
|
{
|
|
85
78
|
label: "Q&A quiz",
|
|
86
79
|
value: "quiz-scripted",
|
|
@@ -61,7 +61,6 @@ import { NavBack, NavForword } from "../fullAnalysis/icons/navArrow";
|
|
|
61
61
|
*/
|
|
62
62
|
import useTranslation from "../../../hooks/useTranslation.jsx";
|
|
63
63
|
import wordStore from "../../../mc/wordStore.json";
|
|
64
|
-
import QuizWritten from "./questions/quizWritten.jsx";
|
|
65
64
|
const ReportQuestions = ({
|
|
66
65
|
accountType,
|
|
67
66
|
AiData,
|
|
@@ -73,13 +72,6 @@ const ReportQuestions = ({
|
|
|
73
72
|
onSwitchQuestion,
|
|
74
73
|
loading,
|
|
75
74
|
mainTitle,
|
|
76
|
-
// navControl = {
|
|
77
|
-
// on: false,
|
|
78
|
-
// disablePrev: false,
|
|
79
|
-
// disableNext: false,
|
|
80
|
-
// onNext: () => {},
|
|
81
|
-
// onPrev: () => {},
|
|
82
|
-
// },
|
|
83
75
|
}) => {
|
|
84
76
|
const { findText } = useTranslation(wordStore);
|
|
85
77
|
const [questionList, setQuestionList] = useState([]);
|
|
@@ -106,7 +98,6 @@ const ReportQuestions = ({
|
|
|
106
98
|
const question = constants.questions.find(
|
|
107
99
|
(question) => question.value === questionType
|
|
108
100
|
);
|
|
109
|
-
|
|
110
101
|
const commentData = answerData?.answer?.comments;
|
|
111
102
|
const hasAnswer = answerData?.answer?.data;
|
|
112
103
|
useEffect(() => {
|
|
@@ -260,36 +251,6 @@ const ReportQuestions = ({
|
|
|
260
251
|
<InfoIcon2 />
|
|
261
252
|
</ScoreHeader>
|
|
262
253
|
<QuestionNav>
|
|
263
|
-
{/* {navControl?.on ? (
|
|
264
|
-
<>
|
|
265
|
-
<button
|
|
266
|
-
disabled={navControl.disablePrev}
|
|
267
|
-
onClick={navControl.onPrev}
|
|
268
|
-
>
|
|
269
|
-
<NavBack disabled={navControl.disablePrev} />
|
|
270
|
-
{findText("Previous question")}
|
|
271
|
-
</button>
|
|
272
|
-
<button
|
|
273
|
-
disabled={navControl.disableNext}
|
|
274
|
-
onClick={navControl.onNext}
|
|
275
|
-
>
|
|
276
|
-
{findText("Next question")}
|
|
277
|
-
<NavForword disabled={navControl.disableNext} />
|
|
278
|
-
</button>
|
|
279
|
-
</>
|
|
280
|
-
) : (
|
|
281
|
-
<>
|
|
282
|
-
<button disabled={!prevId} onClick={handlePrev}>
|
|
283
|
-
<NavBack disabled={!prevId} />
|
|
284
|
-
{findText("Previous question")}
|
|
285
|
-
</button>
|
|
286
|
-
<button disabled={!nextId} onClick={handleNext}>
|
|
287
|
-
{findText("Next question")}
|
|
288
|
-
<NavForword disabled={!nextId} />
|
|
289
|
-
</button>
|
|
290
|
-
</>
|
|
291
|
-
)} */}
|
|
292
|
-
|
|
293
254
|
<button disabled={!prevId} onClick={handlePrev}>
|
|
294
255
|
<NavBack disabled={!prevId} />
|
|
295
256
|
{findText("Previous question")}
|
|
@@ -395,16 +356,6 @@ const ReportQuestions = ({
|
|
|
395
356
|
defaultSelected={defaultSelected}
|
|
396
357
|
/>
|
|
397
358
|
)}
|
|
398
|
-
{questionType === "quiz-written" && (
|
|
399
|
-
<QuizWritten
|
|
400
|
-
data={findedQuestion}
|
|
401
|
-
answerData={answerData}
|
|
402
|
-
aiData={AiData}
|
|
403
|
-
setToggle={setToggle}
|
|
404
|
-
isPersonal={isPersonal}
|
|
405
|
-
defaultSelected={defaultSelected}
|
|
406
|
-
/>
|
|
407
|
-
)}
|
|
408
359
|
{questionType === "quiz-multiple-choice" && (
|
|
409
360
|
<QuizMultipleChoice
|
|
410
361
|
data={findedQuestion}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {
|
|
3
|
-
ComprehensionContainer,
|
|
4
|
-
ComprehensionContainerResponse,
|
|
5
|
-
ComprehensionFeekback,
|
|
6
|
-
} from "../style";
|
|
7
|
-
|
|
8
|
-
const FeekbackResponsive = ({ title, content, color = "#00C2C2" }) => {
|
|
9
|
-
return (
|
|
10
|
-
<ComprehensionFeekback>
|
|
11
|
-
<h3 style={{ color }}>{title}</h3>
|
|
12
|
-
<p>{content}</p>
|
|
13
|
-
</ComprehensionFeekback>
|
|
14
|
-
);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const Comprehension = ({ Aidata }) => {
|
|
18
|
-
const model = Aidata?.data;
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<ComprehensionContainer>
|
|
22
|
-
<li>
|
|
23
|
-
<ComprehensionContainerResponse>
|
|
24
|
-
<p>Student response</p>
|
|
25
|
-
<div>
|
|
26
|
-
<p>{model?.studentTextAnswers?.[0] || Aidata?.responseText}</p>
|
|
27
|
-
</div>
|
|
28
|
-
</ComprehensionContainerResponse>
|
|
29
|
-
</li>
|
|
30
|
-
<li>
|
|
31
|
-
<FeekbackResponsive
|
|
32
|
-
title="Correct answer"
|
|
33
|
-
content={model?.model_data?.generate?.answers?.[0]?.answer}
|
|
34
|
-
/>
|
|
35
|
-
</li>
|
|
36
|
-
<li>
|
|
37
|
-
<FeekbackResponsive
|
|
38
|
-
title="Feekback"
|
|
39
|
-
color="#30D468"
|
|
40
|
-
content={model?.model_data?.evaluate?.results?.[0]?.feedback}
|
|
41
|
-
/>
|
|
42
|
-
</li>
|
|
43
|
-
</ComprehensionContainer>
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export default Comprehension;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
|
2
|
-
import {
|
|
3
|
-
QuestionSection,
|
|
4
|
-
QuestionSectionAction,
|
|
5
|
-
QuestionSectionWithAnalysis,
|
|
6
|
-
} from "../style.jsx";
|
|
7
|
-
import Tabs from "../components/tabs.jsx";
|
|
8
|
-
import useReportUtils from "../../hooks/useRreportUtils.jsx";
|
|
9
|
-
import Response from "../components/response.jsx";
|
|
10
|
-
import AnalysisButton from "../components/analysisButton.jsx";
|
|
11
|
-
import QuestionDropdown from "../components/questionDropdown.jsx";
|
|
12
|
-
import QuizQuestion from "../components/quizQuestion.jsx";
|
|
13
|
-
|
|
14
|
-
import useTranslation from "../../../../hooks/useTranslation.jsx";
|
|
15
|
-
import wordStore from "../../../../mc/wordStore.json";
|
|
16
|
-
const QuizWritten = ({
|
|
17
|
-
data,
|
|
18
|
-
aiData,
|
|
19
|
-
setToggle,
|
|
20
|
-
answerData,
|
|
21
|
-
isPersonal,
|
|
22
|
-
defaultSelected = 1,
|
|
23
|
-
}) => {
|
|
24
|
-
const { findText } = useTranslation(wordStore);
|
|
25
|
-
const [selected, setSelected] = useState(defaultSelected);
|
|
26
|
-
const [analysis, setAnalysis] = useState(null);
|
|
27
|
-
const { quizResponses, setupAnalysis, quizWrittenSelectedModel } =
|
|
28
|
-
useReportUtils();
|
|
29
|
-
const quizList = quizResponses({
|
|
30
|
-
responses: answerData?.answer?.data?.data?.responses,
|
|
31
|
-
type: "written",
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const selectionList = quizList?.map((item) => ({
|
|
35
|
-
value: item?.key,
|
|
36
|
-
label: `Reponses ${item?.key}`,
|
|
37
|
-
}));
|
|
38
|
-
const selectedResponse =
|
|
39
|
-
quizList?.find((item) => item?.key === selected) || {};
|
|
40
|
-
|
|
41
|
-
const selectedModel = quizWrittenSelectedModel(selectedResponse, aiData);
|
|
42
|
-
console.log(selectedModel, "/////");
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (selectedResponse) {
|
|
46
|
-
const models = setupAnalysis(
|
|
47
|
-
selectedModel,
|
|
48
|
-
selectedResponse?.recording,
|
|
49
|
-
data?.ai_score
|
|
50
|
-
);
|
|
51
|
-
setAnalysis(models);
|
|
52
|
-
}
|
|
53
|
-
}, [selectedResponse?.key]);
|
|
54
|
-
return (
|
|
55
|
-
<QuestionSection>
|
|
56
|
-
<Tabs
|
|
57
|
-
options={selectionList}
|
|
58
|
-
selected={selected}
|
|
59
|
-
onChange={setSelected}
|
|
60
|
-
/>
|
|
61
|
-
<QuestionDropdown>
|
|
62
|
-
<>
|
|
63
|
-
<li>
|
|
64
|
-
<h3>{findText("Instruction")}</h3>
|
|
65
|
-
<p>{data?.question_data?.instruction}</p>
|
|
66
|
-
</li>
|
|
67
|
-
<li>
|
|
68
|
-
<QuizQuestion data={data} />
|
|
69
|
-
</li>
|
|
70
|
-
<li>
|
|
71
|
-
<h3>{findText("Qyestion")}</h3>
|
|
72
|
-
<p>{data?.question_data?.question_data?.question}</p>
|
|
73
|
-
</li>
|
|
74
|
-
</>
|
|
75
|
-
</QuestionDropdown>
|
|
76
|
-
|
|
77
|
-
<Response response={selectedResponse?.text} isPersonal={isPersonal} />
|
|
78
|
-
|
|
79
|
-
<QuestionSectionWithAnalysis>
|
|
80
|
-
<QuestionSectionAction>
|
|
81
|
-
{analysis?.models?.length > 0 && (
|
|
82
|
-
<AnalysisButton
|
|
83
|
-
disabled={!(analysis?.models?.length > 0)}
|
|
84
|
-
onClick={() => {
|
|
85
|
-
setToggle({
|
|
86
|
-
...analysis,
|
|
87
|
-
defaultSelected: selected,
|
|
88
|
-
});
|
|
89
|
-
}}
|
|
90
|
-
/>
|
|
91
|
-
)}
|
|
92
|
-
</QuestionSectionAction>
|
|
93
|
-
</QuestionSectionWithAnalysis>
|
|
94
|
-
</QuestionSection>
|
|
95
|
-
);
|
|
96
|
-
};
|
|
97
|
-
export default QuizWritten;
|