student-review-screen 0.0.4 → 0.0.6
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/components/Organisms/TeacherEvaluation/StudentReviewHeader.d.ts +25 -0
- package/dist/components/Organisms/TeacherEvaluation/StudentReviewHeader.js +102 -0
- package/dist/components/Organisms/TeacherEvaluation/StudentReviewHeader.js.map +1 -0
- package/dist/components/Organisms/TeacherEvaluation/TeacherComprehensionCard.js +38 -2
- package/dist/components/Organisms/TeacherEvaluation/TeacherComprehensionCard.js.map +1 -1
- package/dist/components/Organisms/TeacherEvaluation/TeacherEvaluation.styles.d.ts +745 -591
- package/dist/components/Organisms/TeacherEvaluation/TeacherEvaluation.styles.js +58 -0
- package/dist/components/Organisms/TeacherEvaluation/TeacherEvaluation.styles.js.map +1 -1
- package/dist/components/Organisms/TeacherEvaluation/TeacherQuestionCard.js +3 -1
- package/dist/components/Organisms/TeacherEvaluation/TeacherQuestionCard.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export namespace REVIEW_STATUS {
|
|
2
|
+
const PENDING: string;
|
|
3
|
+
const PROFICIENT: string;
|
|
4
|
+
const SATISFACTORY: string;
|
|
5
|
+
const NEEDS_IMPROVEMENT: string;
|
|
6
|
+
}
|
|
7
|
+
export default StudentReviewHeader;
|
|
8
|
+
/**
|
|
9
|
+
* The summary strip above the question list on a student review — subject and
|
|
10
|
+
* topic, the evaluation status, and the counts and dates for the attempt.
|
|
11
|
+
*
|
|
12
|
+
* Every field is optional and simply omitted when absent, so the strip degrades
|
|
13
|
+
* to whatever the caller can actually supply.
|
|
14
|
+
*/
|
|
15
|
+
declare function StudentReviewHeader({ subject, topic, status, totalQuestions, attempted, assignedDate, completedDate, theme, }: {
|
|
16
|
+
subject: any;
|
|
17
|
+
topic: any;
|
|
18
|
+
status: any;
|
|
19
|
+
totalQuestions: any;
|
|
20
|
+
attempted: any;
|
|
21
|
+
assignedDate: any;
|
|
22
|
+
completedDate: any;
|
|
23
|
+
theme?: string | undefined;
|
|
24
|
+
}): React.JSX.Element | null;
|
|
25
|
+
import React from "react";
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.REVIEW_STATUS = void 0;
|
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
|
+
const react_1 = __importStar(require("react"));
|
|
29
|
+
const react_2 = require("@chakra-ui/react");
|
|
30
|
+
const common_utils_1 = require("../../../utils/common-utils");
|
|
31
|
+
const TeacherEvaluation_styles_1 = require("./TeacherEvaluation.styles");
|
|
32
|
+
/**
|
|
33
|
+
* The four states the header can report, matching the Figma variants.
|
|
34
|
+
*
|
|
35
|
+
* `pending` is the evaluation-not-finished state; the other three are
|
|
36
|
+
* proficiency bands. Exported so the consumer maps its own data onto these
|
|
37
|
+
* rather than passing raw strings.
|
|
38
|
+
*/
|
|
39
|
+
exports.REVIEW_STATUS = {
|
|
40
|
+
PENDING: "pending",
|
|
41
|
+
PROFICIENT: "proficient",
|
|
42
|
+
SATISFACTORY: "satisfactory",
|
|
43
|
+
NEEDS_IMPROVEMENT: "needsImprovement",
|
|
44
|
+
};
|
|
45
|
+
const STATUS_LABELS = {
|
|
46
|
+
[exports.REVIEW_STATUS.PENDING]: "Evaluation pending",
|
|
47
|
+
[exports.REVIEW_STATUS.PROFICIENT]: "Proficient",
|
|
48
|
+
[exports.REVIEW_STATUS.SATISFACTORY]: "Satisfactory",
|
|
49
|
+
[exports.REVIEW_STATUS.NEEDS_IMPROVEMENT]: "Needs improvement",
|
|
50
|
+
};
|
|
51
|
+
/* The proficiency bands sit in a bordered chip; evaluation pending is a bare
|
|
52
|
+
icon with no chip, as designed. */
|
|
53
|
+
const BAND_COLOURS = {
|
|
54
|
+
[exports.REVIEW_STATUS.PROFICIENT]: { bg: "#e2f6e6", border: "#67bb6a" },
|
|
55
|
+
[exports.REVIEW_STATUS.SATISFACTORY]: { bg: "#fdf2cb", border: "#ffa726" },
|
|
56
|
+
[exports.REVIEW_STATUS.NEEDS_IMPROVEMENT]: { bg: "#f9e3da", border: "#f65f54" },
|
|
57
|
+
};
|
|
58
|
+
/* Vector data exported from the Figma components. Inlined rather than required
|
|
59
|
+
as .svg files because `tsc` does not copy assets into `dist`, so a
|
|
60
|
+
`require("../assests/...")` would not resolve for consumers of the package. */
|
|
61
|
+
const PendingIcon = () => ((0, jsx_runtime_1.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { d: "M14.1667 10C11.8667 10 10 11.8667 10 14.1667C10 16.4667 11.8667 18.3333 14.1667 18.3333C16.4667 18.3333 18.3333 16.4667 18.3333 14.1667C18.3333 11.8667 16.4667 10 14.1667 10ZM15.5417 16.125L13.75 14.3333V11.6667H14.5833V13.9917L16.125 15.5333L15.5417 16.125V16.125ZM15 2.5H12.35C12 1.53333 11.0833 0.833333 10 0.833333C8.91667 0.833333 8 1.53333 7.65 2.5H5C4.08333 2.5 3.33333 3.25 3.33333 4.16667V16.6667C3.33333 17.5833 4.08333 18.3333 5 18.3333H10.0917C9.59864 17.8548 9.19757 17.2899 8.90833 16.6667H5V4.16667H6.66667V6.66667H13.3333V4.16667H15V8.4C15.5917 8.48333 16.15 8.65833 16.6667 8.9V4.16667C16.6667 3.25 15.9167 2.5 15 2.5ZM10 4.16667C9.54167 4.16667 9.16667 3.79167 9.16667 3.33333C9.16667 2.875 9.54167 2.5 10 2.5C10.4583 2.5 10.8333 2.875 10.8333 3.33333C10.8333 3.79167 10.4583 4.16667 10 4.16667Z", fill: "#5F4DC7" }) }));
|
|
62
|
+
const MedalIcon = () => ((0, jsx_runtime_1.jsxs)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M6 11C7.9295 11 9.5 9.4295 9.5 7.5C9.5 5.5705 7.9295 4 6 4C4.07 4 2.5 5.5705 2.5 7.5C2.5 9.4295 4.07 11 6 11ZM6 5C7.3785 5 8.5 6.1215 8.5 7.5C8.5 8.8785 7.3785 10 6 10C4.6215 10 3.5 8.8785 3.5 7.5C3.5 6.1215 4.6215 5 6 5ZM5.5 1H3.5V3.759C4.09834 3.35861 4.78439 3.10838 5.5 3.0295V1ZM8.5 1H6.5V3.0295C7.21561 3.10838 7.90166 3.35861 8.5 3.759V1Z", fill: "#265728" }), (0, jsx_runtime_1.jsx)("path", { d: "M5.0095 7.9055L4.7755 9.2685L6 8.625L7.2245 9.2685L6.9905 7.9055L7.9815 6.9395L6.6125 6.7405L6 5.5L5.3875 6.7405L4.0185 6.9395L5.0095 7.9055Z", fill: "#265728" })] }));
|
|
63
|
+
const StarCircleIcon = () => ((0, jsx_runtime_1.jsxs)("svg", { width: "7.5", height: "7.5", viewBox: "0 0 7.50002 7.5", fill: "none", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M3.75002 7.5C5.81734 7.5 7.50002 5.81732 7.50002 3.75C7.50002 1.68268 5.81734 0 3.75002 0C1.68216 0 1.63317e-05 1.68268 1.63317e-05 3.75C1.63317e-05 5.81732 1.68216 7.5 3.75002 7.5ZM3.75002 1.07143C5.22698 1.07143 6.42859 2.27304 6.42859 3.75C6.42859 5.22696 5.22698 6.42857 3.75002 6.42857C2.27305 6.42857 1.07144 5.22696 1.07144 3.75C1.07144 2.27304 2.27305 1.07143 3.75002 1.07143Z", fill: "#A66300" }), (0, jsx_runtime_1.jsx)("path", { d: "M2.68778 4.18446L2.43706 5.64482L3.74903 4.95535L5.06099 5.64482L4.81028 4.18446L5.87207 3.14946L4.40528 2.93625L3.74903 1.60714L3.09278 2.93625L1.62599 3.14946L2.68778 4.18446Z", fill: "#A66300" })] }));
|
|
64
|
+
const RingIcon = () => ((0, jsx_runtime_1.jsx)("svg", { width: "7.5", height: "7.5", viewBox: "0 0 7.5 7.5", fill: "none", "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { d: "M3.75 7.5C5.81732 7.5 7.5 5.81732 7.5 3.75C7.5 1.68268 5.81732 0 3.75 0C1.68214 0 0 1.68268 0 3.75C0 5.81732 1.68214 7.5 3.75 7.5ZM3.75 1.07143C5.22696 1.07143 6.42857 2.27304 6.42857 3.75C6.42857 5.22696 5.22696 6.42857 3.75 6.42857C2.27304 6.42857 1.07143 5.22696 1.07143 3.75C1.07143 2.27304 2.27304 1.07143 3.75 1.07143Z", fill: "#D0392E" }) }));
|
|
65
|
+
const BAND_ICONS = {
|
|
66
|
+
[exports.REVIEW_STATUS.PROFICIENT]: MedalIcon,
|
|
67
|
+
[exports.REVIEW_STATUS.SATISFACTORY]: StarCircleIcon,
|
|
68
|
+
[exports.REVIEW_STATUS.NEEDS_IMPROVEMENT]: RingIcon,
|
|
69
|
+
};
|
|
70
|
+
const StatusBadge = ({ status, styles }) => {
|
|
71
|
+
const label = STATUS_LABELS[status];
|
|
72
|
+
if (!label)
|
|
73
|
+
return null;
|
|
74
|
+
const band = BAND_COLOURS[status];
|
|
75
|
+
const Icon = BAND_ICONS[status];
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.headerStatus, "data-testid": `student-review-status-${status}`, children: [band ? ((0, jsx_runtime_1.jsx)(react_2.Flex, { sx: { ...styles.headerStatusChip, bg: band.bg, borderColor: band.border }, children: (0, jsx_runtime_1.jsx)(Icon, {}) })) : ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.headerStatusIcon, children: (0, jsx_runtime_1.jsx)(PendingIcon, {}) })), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.headerStatusLabel, children: label })] }));
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* The summary strip above the question list on a student review — subject and
|
|
80
|
+
* topic, the evaluation status, and the counts and dates for the attempt.
|
|
81
|
+
*
|
|
82
|
+
* Every field is optional and simply omitted when absent, so the strip degrades
|
|
83
|
+
* to whatever the caller can actually supply.
|
|
84
|
+
*/
|
|
85
|
+
const StudentReviewHeader = ({ subject, topic, status, totalQuestions, attempted, assignedDate, completedDate, theme = TeacherEvaluation_styles_1.THEMES.LIGHT, }) => {
|
|
86
|
+
const styles = (0, react_1.useMemo)(() => (0, TeacherEvaluation_styles_1.getStyles)(theme), [theme]);
|
|
87
|
+
const leftFacts = [
|
|
88
|
+
(0, common_utils_1.isNotEmptyOrNull)(totalQuestions) && `No. of questions : ${totalQuestions}`,
|
|
89
|
+
(0, common_utils_1.isNotEmptyOrNull)(attempted) && `Attempted : ${attempted}`,
|
|
90
|
+
].filter(Boolean);
|
|
91
|
+
const rightFacts = [
|
|
92
|
+
(0, common_utils_1.isNotEmptyOrNull)(assignedDate) && `Assigned date : ${assignedDate}`,
|
|
93
|
+
(0, common_utils_1.isNotEmptyOrNull)(completedDate) && `Completed date : ${completedDate}`,
|
|
94
|
+
].filter(Boolean);
|
|
95
|
+
const hasTitleRow = (0, common_utils_1.isNotEmptyOrNull)(subject) || (0, common_utils_1.isNotEmptyOrNull)(topic) || !!STATUS_LABELS[status];
|
|
96
|
+
if (!hasTitleRow && leftFacts.length === 0 && rightFacts.length === 0) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.headerCard, "data-testid": "student-review-header", children: [hasTitleRow && ((0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.headerTitleRow, children: [(0, common_utils_1.isNotEmptyOrNull)(subject) && ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.headerSubject, children: subject })), (0, common_utils_1.isNotEmptyOrNull)(topic) && ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.headerTopic, children: topic })), (0, jsx_runtime_1.jsx)(StatusBadge, { status: status, styles: styles })] })), (leftFacts.length > 0 || rightFacts.length > 0) && ((0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.headerFactsRow, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.headerFactGroup, children: leftFacts.map((fact) => ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.headerFact, children: fact }, fact))) }), (0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.headerFactGroup, children: rightFacts.map((fact) => ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.headerFact, children: fact }, fact))) })] }))] }));
|
|
100
|
+
};
|
|
101
|
+
exports.default = StudentReviewHeader;
|
|
102
|
+
//# sourceMappingURL=StudentReviewHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StudentReviewHeader.js","sourceRoot":"","sources":["../../../../src/components/Organisms/TeacherEvaluation/StudentReviewHeader.jsx"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,8 @@ const TeacherObjectiveAnswer_1 = __importDefault(require("./TeacherObjectiveAnsw
|
|
|
39
39
|
const TeacherEvaluation_styles_1 = require("./TeacherEvaluation.styles");
|
|
40
40
|
const teacherEvaluationUtils_1 = require("./teacherEvaluationUtils");
|
|
41
41
|
const STUDENT_OVERRIDES = { STUDENT_ANSWER: "Your answer" };
|
|
42
|
+
/** Same five lines `Assistant` clamps a comprehension passage to. */
|
|
43
|
+
const PASSAGE_LINE_CLAMP = 5;
|
|
42
44
|
const STRINGS = {
|
|
43
45
|
EVALUATED_BY: "Vin evaluated",
|
|
44
46
|
STUDENT_ANSWER: "Student answer",
|
|
@@ -66,6 +68,23 @@ const TeacherComprehensionCard = ({ question = {}, questionIndex, displayIndex,
|
|
|
66
68
|
const isDark = theme !== TeacherEvaluation_styles_1.THEMES.LIGHT;
|
|
67
69
|
const { questionObject = {} } = question;
|
|
68
70
|
const icons = commonProps?.icons || {};
|
|
71
|
+
/* Passage clamping, matching what `Assistant` already does for comprehension
|
|
72
|
+
passages elsewhere in the student app — five lines, with the toggle shown
|
|
73
|
+
only when the text actually overflows. The design calls it "Read more"
|
|
74
|
+
rather than "Show More", and shows it at every width rather than mobile
|
|
75
|
+
only. */
|
|
76
|
+
const [showFullPassage, setShowFullPassage] = (0, react_1.useState)(false);
|
|
77
|
+
const [passageOverflows, setPassageOverflows] = (0, react_1.useState)(false);
|
|
78
|
+
const passageRef = (0, react_1.useRef)(null);
|
|
79
|
+
(0, react_1.useEffect)(() => {
|
|
80
|
+
if (!isStudent || !passageRef.current) {
|
|
81
|
+
setPassageOverflows(false);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const el = passageRef.current;
|
|
85
|
+
const lineHeight = parseInt(window.getComputedStyle(el).lineHeight || "20", 10);
|
|
86
|
+
setPassageOverflows(el.scrollHeight > lineHeight * PASSAGE_LINE_CLAMP);
|
|
87
|
+
}, [isStudent, questionObject]);
|
|
69
88
|
const subQuestions = (0, react_1.useMemo)(() => (0, teacherEvaluationUtils_1.getComprehensionSubQuestions)(question), [question]);
|
|
70
89
|
const passageImages = questionObject?.images_details || [];
|
|
71
90
|
const renderImages = (urls, testIdPrefix, altPrefix = "Figure") => ((0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.imagesRow, "data-testid": testIdPrefix, children: urls.map((url, index) => ((0, jsx_runtime_1.jsx)(react_2.Card, { variant: "outlined", sx: styles.imageCard, onClick: () => setPreviewImage(url), "data-testid": `${testIdPrefix}-${index}`, children: (0, jsx_runtime_1.jsx)(react_2.Image, { sx: styles.image, src: url, alt: `${altPrefix} ${index + 1}` }) }, index))) }));
|
|
@@ -95,7 +114,9 @@ const TeacherComprehensionCard = ({ question = {}, questionIndex, displayIndex,
|
|
|
95
114
|
? styles.cardHeader
|
|
96
115
|
: { ...styles.cardHeader, bg: "transparent" }, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.headerQuestionContainer, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: isDescriptive
|
|
97
116
|
? styles.questionIndexRow
|
|
98
|
-
: styles.objectiveHeaderRow, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.subQuestionIndexBadge, "data-testid": `${testId}-index`, children: `${displayIndex}.${subIndex + 1}` }), isDescriptive ? ((0, jsx_runtime_1.jsx)(react_2.Text, { sx:
|
|
117
|
+
: styles.objectiveHeaderRow, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.subQuestionIndexBadge, "data-testid": `${testId}-index`, children: `${displayIndex}.${subIndex + 1}` }), isDescriptive ? ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: isStudent
|
|
118
|
+
? styles.questionTypePill
|
|
119
|
+
: styles.questionTypeLabel, children: (0, teacherEvaluationUtils_1.getQuestionTypeLabel)((0, teacherEvaluationUtils_1.getQuestionType)(subObject, subQuestion)) })) : ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.questionText, "data-testid": `${testId}-text`, children: (0, tutor_utils_1.renderContent)(subObject?.question_layout || subObject?.question || "", true, isDark) }))] }), isDescriptive && ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.questionText, "data-testid": `${testId}-text`, children: (0, tutor_utils_1.renderContent)(subObject?.question_layout || subObject?.question || "", true, isDark) }))] }), isDescriptive && !previewImage && !isStudent && ((0, jsx_runtime_1.jsx)(TeacherScoreBox_1.default, { score: score, lowerLimit: 0, upperLimit: totalMarks, isEdited: isEdited, isDisabled: isScoreDisabled || !canEditScore,
|
|
99
120
|
/* The sub-answer's own chat id is the 4th argument, since the
|
|
100
121
|
question index cannot address a sub-question. */
|
|
101
122
|
onScoreChange: onScoreChange
|
|
@@ -109,7 +130,22 @@ const TeacherComprehensionCard = ({ question = {}, questionIndex, displayIndex,
|
|
|
109
130
|
.filter(Boolean)
|
|
110
131
|
.join(""), readView: renderReference(), icons: icons, theme: theme, testId: `${testId}-reference` }))] }))] })] }, subIndex));
|
|
111
132
|
};
|
|
112
|
-
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.questionWrapper, children: [(0, common_utils_1.isNotEmptyOrNull)(evaluatedByLabel) && ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.evaluatedByLabel, "data-testid": `teacher-evaluated-by-${questionIndex}`, children: evaluatedByLabel })), (0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.card, "data-testid": `teacher-comprehension-card-${questionIndex}`, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.comprehensionHeader, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.questionIndexRow, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx:
|
|
133
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.questionWrapper, children: [(0, common_utils_1.isNotEmptyOrNull)(evaluatedByLabel) && ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles.evaluatedByLabel, "data-testid": `teacher-evaluated-by-${questionIndex}`, children: evaluatedByLabel })), (0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.card, "data-testid": `teacher-comprehension-card-${questionIndex}`, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.comprehensionHeader, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.questionIndexRow, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: isStudent
|
|
134
|
+
? {
|
|
135
|
+
...styles.questionIndexBadge,
|
|
136
|
+
...styles.questionIndexBadgePassage,
|
|
137
|
+
}
|
|
138
|
+
: styles.questionIndexCircle, "data-testid": `teacher-question-index-${questionIndex}`, children: displayIndex }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: isStudent ? styles.questionTypePill : styles.questionTypeLabel, children: (0, teacherEvaluationUtils_1.getQuestionTypeLabel)((0, teacherEvaluationUtils_1.getQuestionType)(questionObject, question)) })] }), (0, jsx_runtime_1.jsx)(react_2.Box, { ref: passageRef, sx: {
|
|
139
|
+
...styles.passageText,
|
|
140
|
+
...(isStudent && !showFullPassage
|
|
141
|
+
? {
|
|
142
|
+
overflow: "hidden",
|
|
143
|
+
display: "-webkit-box",
|
|
144
|
+
WebkitBoxOrient: "vertical",
|
|
145
|
+
WebkitLineClamp: PASSAGE_LINE_CLAMP,
|
|
146
|
+
}
|
|
147
|
+
: {}),
|
|
148
|
+
}, "data-testid": "teacher-passage-text", children: (0, tutor_utils_1.renderContent)(questionObject?.question_layout || questionObject?.question || "", true, isDark) }), isStudent && passageOverflows && ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "button", type: "button", sx: styles.passageToggle, onClick: () => setShowFullPassage((open) => !open), "data-testid": "student-passage-read-more", children: showFullPassage ? "Read less" : "Read more" })), passageImages.length > 0 &&
|
|
113
149
|
renderImages(passageImages.map((item) => item?.url).filter(Boolean), "teacher-passage-images")] }), (0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.subQuestionList, children: subQuestions.map((subQuestion) => renderSubQuestion(subQuestion)) }), footer] }), previewImage && ((0, jsx_runtime_1.jsx)(TeacherImagePreview_1.default, { isOpen: !!previewImage, url: previewImage, onClose: () => setPreviewImage(null), theme: theme }))] }));
|
|
114
150
|
};
|
|
115
151
|
exports.default = TeacherComprehensionCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeacherComprehensionCard.js","sourceRoot":"","sources":["../../../../src/components/Organisms/TeacherEvaluation/TeacherComprehensionCard.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"TeacherComprehensionCard.js","sourceRoot":"","sources":["../../../../src/components/Organisms/TeacherEvaluation/TeacherComprehensionCard.jsx"],"names":[],"mappings":"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"}
|