student-review-screen 0.0.24 → 0.0.27

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.
@@ -28,6 +28,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
28
28
  const react_1 = __importStar(require("react"));
29
29
  const react_2 = require("@chakra-ui/react");
30
30
  const common_utils_1 = require("../../../utils/common-utils");
31
+ const crypto_1 = require("../../../utils/crypto");
31
32
  const LearningPathUtils_1 = require("../../../utils/LearningPathUtils");
32
33
  const tutor_utils_1 = require("../../../utils/tutor-utils");
33
34
  const TeacherEvaluation_styles_1 = require("./TeacherEvaluation.styles");
@@ -42,33 +43,45 @@ exports.SCQ_FAMILY = [
42
43
  ];
43
44
  const isScqFamily = (questionType) => exports.SCQ_FAMILY.includes(String(questionType));
44
45
  exports.isScqFamily = isScqFamily;
45
- const stripMarkup = (value) => String(value ?? "")
46
- .replace(/<[^>]*>/g, "")
47
- .replace(/&nbsp;/g, " ")
48
- .trim()
49
- .toLowerCase();
50
- const matches = (option, candidates) => candidates.some((candidate) => stripMarkup(candidate) === stripMarkup(option));
51
- const CheckTick = () => ((0, jsx_runtime_1.jsx)("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { d: "M1 4.2 3.5 6.7 9 1.2", stroke: "#ffffff", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" }) }));
46
+ /* Figma 230:10799 puts a green tick on the correct option. Parked for now —
47
+ uncomment this and the block in the option row below to restore it. */
48
+ // const CheckTick = () => (
49
+ // <svg width="10" height="8" viewBox="0 0 10 8" fill="none" aria-hidden="true">
50
+ // <path
51
+ // d="M1 4.2 3.5 6.7 9 1.2"
52
+ // stroke="#ffffff"
53
+ // strokeWidth="1.6"
54
+ // strokeLinecap="round"
55
+ // strokeLinejoin="round"
56
+ // />
57
+ // </svg>
58
+ // );
52
59
  const StudentOptionList = ({ question = {}, currentQuestion = {}, theme = TeacherEvaluation_styles_1.THEMES.LIGHT, }) => {
53
60
  const styles = (0, react_1.useMemo)(() => (0, TeacherEvaluation_styles_1.getStyles)(theme), [theme]);
54
61
  const options = currentQuestion?.options_layout || [];
55
62
  const optionImages = currentQuestion?.option_image_details || [];
56
63
  const correctAnswers = (0, react_1.useMemo)(() => currentQuestion?.answers_layout || [], [currentQuestion]);
57
- const givenAnswers = (0, react_1.useMemo)(() => (0, common_utils_1.isNotEmptyOrNull)(question?.userAnswer)
58
- ? (0, common_utils_1.extractGivenAnswers)(question.userAnswer) || []
59
- : [], [question]);
64
+ const hashedKeys = currentQuestion?.answers_index_hashed_keys;
65
+ const isHashed = (0, common_utils_1.isNotEmptyOrNull)(hashedKeys);
66
+ const value = (0, react_1.useMemo)(() => (0, common_utils_1.isNotEmptyOrNull)(question?.userAnswer)
67
+ ? (0, common_utils_1.handleRemoveExtraSpaceInBubbles)((0, common_utils_1.extractGivenAnswers)(question.userAnswer)?.[0])
68
+ : "", [question]);
60
69
  if (!options.length)
61
70
  return null;
62
71
  return ((0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles.optionList, "data-testid": "student-option-list", children: options.map((option, index) => {
63
- const isCorrect = matches(option, correctAnswers);
64
- const isGiven = matches(option, givenAnswers);
65
- const isWrongPick = isGiven && !isCorrect;
72
+ const item = isHashed
73
+ ? (0, crypto_1.answers_index_hashed_keys)(`${currentQuestion?.uuid}${common_utils_1.passphrase}${index}`)
74
+ : option;
75
+ const isCorrect = isHashed
76
+ ? item === hashedKeys?.[0]
77
+ : item === correctAnswers?.[0];
78
+ const isWrongPick = !isCorrect && item === value;
66
79
  const state = isCorrect
67
80
  ? styles.optionCorrect
68
81
  : isWrongPick
69
82
  ? styles.optionWrong
70
83
  : undefined;
71
- return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: { ...styles.option, ...(state || {}) }, "data-testid": `student-option-${index}`, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.optionLeft, children: [(0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.optionBadge, "data-testid": `student-option-label-${index}`, children: (0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", sx: styles.optionBadgeText, children: (0, common_utils_1.getCharacterFromNumber)(index) }) }), (0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.optionText, "data-testid": `student-option-content-${index}`, children: [(0, tutor_utils_1.renderContent)(option), optionImages?.[index]?.url && ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "img", sx: styles.optionImage, src: optionImages[index].url, alt: "" }))] })] }), isCorrect && ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.optionTick, "data-testid": `student-option-tick-${index}`, children: (0, jsx_runtime_1.jsx)(CheckTick, {}) }))] }, index));
84
+ return ((0, jsx_runtime_1.jsx)(react_2.Flex, { sx: { ...styles.option, ...(state || {}) }, "data-testid": `student-option-${index}`, children: (0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles.optionLeft, children: [(0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles.optionBadge, "data-testid": `student-option-label-${index}`, children: (0, jsx_runtime_1.jsx)(react_2.Box, { as: "span", sx: styles.optionBadgeText, children: (0, common_utils_1.getCharacterFromNumber)(index) }) }), (0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles.optionText, "data-testid": `student-option-content-${index}`, children: [(0, tutor_utils_1.renderContent)(option), optionImages?.[index]?.url && ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "img", sx: styles.optionImage, src: optionImages[index].url, alt: "" }))] })] }) }, index));
72
85
  }) }));
73
86
  };
74
87
  exports.default = StudentOptionList;
@@ -1 +1 @@
1
- {"version":3,"file":"StudentOptionList.js","sourceRoot":"","sources":["../../../../src/components/Organisms/TeacherEvaluation/StudentOptionList.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StudentOptionList.js","sourceRoot":"","sources":["../../../../src/components/Organisms/TeacherEvaluation/StudentOptionList.jsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "student-review-screen",
3
- "version": "0.0.24",
3
+ "version": "0.0.27",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",