catchup-library-web 2.5.15 → 2.5.16

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/index.d.mts CHANGED
@@ -171,6 +171,7 @@ interface IGroupingActivityProps {
171
171
  changeAnswer: (e: any) => void;
172
172
  isPreview: boolean;
173
173
  showCorrectAnswer: boolean;
174
+ isFullScreen: boolean;
174
175
  }
175
176
  interface IMatchingActivityProps {
176
177
  answerMap: any;
@@ -238,7 +239,7 @@ declare const DropdownActivityContent: ({ answerMap, data, canAnswerQuestion, ch
238
239
 
239
240
  declare const FillInTheBlanksActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IFillInTheBlanksActivityProps) => react_jsx_runtime.JSX.Element;
240
241
 
241
- declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
242
+ declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
242
243
 
243
244
  declare const MatchingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IMatchingActivityProps) => react_jsx_runtime.JSX.Element;
244
245
 
package/dist/index.d.ts CHANGED
@@ -171,6 +171,7 @@ interface IGroupingActivityProps {
171
171
  changeAnswer: (e: any) => void;
172
172
  isPreview: boolean;
173
173
  showCorrectAnswer: boolean;
174
+ isFullScreen: boolean;
174
175
  }
175
176
  interface IMatchingActivityProps {
176
177
  answerMap: any;
@@ -238,7 +239,7 @@ declare const DropdownActivityContent: ({ answerMap, data, canAnswerQuestion, ch
238
239
 
239
240
  declare const FillInTheBlanksActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IFillInTheBlanksActivityProps) => react_jsx_runtime.JSX.Element;
240
241
 
241
- declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
242
+ declare const GroupingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IGroupingActivityProps) => react_jsx_runtime.JSX.Element;
242
243
 
243
244
  declare const MatchingActivityContent: ({ answerMap, data, canAnswerQuestion, changeAnswer, isPreview, showCorrectAnswer, isFullScreen, }: IMatchingActivityProps) => react_jsx_runtime.JSX.Element;
244
245
 
package/dist/index.js CHANGED
@@ -3819,7 +3819,7 @@ var ActivityBodyContent = ({
3819
3819
  key
3820
3820
  });
3821
3821
  }).filter(Boolean);
3822
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col justify-center items-center h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3822
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3823
3823
  ShowBodyMediaByContentType_default,
3824
3824
  {
3825
3825
  index,
@@ -5670,7 +5670,8 @@ var GroupingActivityContent = ({
5670
5670
  canAnswerQuestion,
5671
5671
  changeAnswer,
5672
5672
  isPreview,
5673
- showCorrectAnswer
5673
+ showCorrectAnswer,
5674
+ isFullScreen
5674
5675
  }) => {
5675
5676
  const contentMap = parseContentMapFromData(data);
5676
5677
  const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
@@ -5684,16 +5685,17 @@ var GroupingActivityContent = ({
5684
5685
  }
5685
5686
  changeAnswer(answerMap2);
5686
5687
  };
5687
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
5688
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5688
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-row flex-wrap h-full", children: [
5689
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5689
5690
  ActivityBodyContent_default,
5690
5691
  {
5691
5692
  bodyMap: groupingBodyMap,
5692
5693
  templateType: "GROUPING"
5693
5694
  }
5694
- ),
5695
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}),
5696
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5695
+ ) }),
5696
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}) }),
5697
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VerticalDividerLine_default, {}) }),
5698
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5697
5699
  GroupingActivityMaterialContent_default,
5698
5700
  {
5699
5701
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5705,7 +5707,7 @@ var GroupingActivityContent = ({
5705
5707
  isPreview,
5706
5708
  showCorrectAnswer
5707
5709
  }
5708
- )
5710
+ ) })
5709
5711
  ] });
5710
5712
  };
5711
5713
  var GroupingActivityContent_default = GroupingActivityContent;
package/dist/index.mjs CHANGED
@@ -3585,7 +3585,7 @@ var ActivityBodyContent = ({
3585
3585
  key
3586
3586
  });
3587
3587
  }).filter(Boolean);
3588
- return /* @__PURE__ */ jsx21("div", { className: "flex flex-col justify-center items-center h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx21(
3588
+ return /* @__PURE__ */ jsx21("div", { className: "flex flex-col h-full overflow-y-auto", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx21(
3589
3589
  ShowBodyMediaByContentType_default,
3590
3590
  {
3591
3591
  index,
@@ -5429,14 +5429,15 @@ var GroupingActivityMaterialContent = ({
5429
5429
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5430
5430
 
5431
5431
  // src/components/activities/GroupingActivityContent.tsx
5432
- import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
5432
+ import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
5433
5433
  var GroupingActivityContent = ({
5434
5434
  answerMap,
5435
5435
  data,
5436
5436
  canAnswerQuestion,
5437
5437
  changeAnswer,
5438
5438
  isPreview,
5439
- showCorrectAnswer
5439
+ showCorrectAnswer,
5440
+ isFullScreen
5440
5441
  }) => {
5441
5442
  const contentMap = parseContentMapFromData(data);
5442
5443
  const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
@@ -5450,16 +5451,17 @@ var GroupingActivityContent = ({
5450
5451
  }
5451
5452
  changeAnswer(answerMap2);
5452
5453
  };
5453
- return /* @__PURE__ */ jsxs22(Fragment4, { children: [
5454
- /* @__PURE__ */ jsx32(
5454
+ return /* @__PURE__ */ jsxs22("div", { className: "flex flex-row flex-wrap h-full", children: [
5455
+ /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx32(
5455
5456
  ActivityBodyContent_default,
5456
5457
  {
5457
5458
  bodyMap: groupingBodyMap,
5458
5459
  templateType: "GROUPING"
5459
5460
  }
5460
- ),
5461
- /* @__PURE__ */ jsx32(DividerLine_default, {}),
5462
- /* @__PURE__ */ jsx32(
5461
+ ) }),
5462
+ /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx32(DividerLine_default, {}) }),
5463
+ /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx32(VerticalDividerLine_default, {}) }),
5464
+ /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx32(
5463
5465
  GroupingActivityMaterialContent_default,
5464
5466
  {
5465
5467
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5471,7 +5473,7 @@ var GroupingActivityContent = ({
5471
5473
  isPreview,
5472
5474
  showCorrectAnswer
5473
5475
  }
5474
- )
5476
+ ) })
5475
5477
  ] });
5476
5478
  };
5477
5479
  var GroupingActivityContent_default = GroupingActivityContent;
@@ -5479,7 +5481,7 @@ var GroupingActivityContent_default = GroupingActivityContent;
5479
5481
  // src/components/activities/material-contents/MatchingActivityMaterialContent.tsx
5480
5482
  import { useEffect as useEffect11, useRef as useRef6, useState as useState20 } from "react";
5481
5483
  import { InlineMath as InlineMath6 } from "react-katex";
5482
- import { Fragment as Fragment5, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
5484
+ import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
5483
5485
  var MatchingActivityMaterialContent = ({
5484
5486
  uniqueValue,
5485
5487
  answerMap,
@@ -5726,7 +5728,7 @@ var MatchingActivityMaterialContent = ({
5726
5728
  ) })
5727
5729
  }
5728
5730
  ),
5729
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs23(Fragment5, { children: [
5731
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs23(Fragment4, { children: [
5730
5732
  /* @__PURE__ */ jsx33(
5731
5733
  "div",
5732
5734
  {
@@ -6289,7 +6291,7 @@ var retrieveAcceptedFormats = (fileType) => {
6289
6291
  };
6290
6292
 
6291
6293
  // src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx
6292
- import { Fragment as Fragment6, jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
6294
+ import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
6293
6295
  var OpenEndedActivityMaterialContent = ({
6294
6296
  answerMap,
6295
6297
  contentMap,
@@ -6346,7 +6348,7 @@ var OpenEndedActivityMaterialContent = ({
6346
6348
  const answerMapAnswer = answerMap2["ANSWER"];
6347
6349
  const extension = answerMapAnswer.split(".").pop();
6348
6350
  const fileType = retrieveFileTypeFromExtension(extension);
6349
- return /* @__PURE__ */ jsx39(Fragment6, { children: fileType === "IMAGE" ? /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(
6351
+ return /* @__PURE__ */ jsx39(Fragment5, { children: fileType === "IMAGE" ? /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(
6350
6352
  BaseImage_default,
6351
6353
  {
6352
6354
  src: answerMapAnswer,
@@ -6369,7 +6371,7 @@ var OpenEndedActivityMaterialContent = ({
6369
6371
  }
6370
6372
  ) });
6371
6373
  };
6372
- return /* @__PURE__ */ jsx39(Fragment6, { children: /* @__PURE__ */ jsxs29("div", { className: "", children: [
6374
+ return /* @__PURE__ */ jsx39(Fragment5, { children: /* @__PURE__ */ jsxs29("div", { className: "", children: [
6373
6375
  /* @__PURE__ */ jsx39("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx39("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6374
6376
  /* @__PURE__ */ jsx39("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx39(DividerLine_default, {}) }),
6375
6377
  contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null
@@ -6378,7 +6380,7 @@ var OpenEndedActivityMaterialContent = ({
6378
6380
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
6379
6381
 
6380
6382
  // src/components/activities/OpenEndedActivityContent.tsx
6381
- import { Fragment as Fragment7, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
6383
+ import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
6382
6384
  var OpenEndedActivityContent = ({
6383
6385
  answerMap,
6384
6386
  data,
@@ -6409,7 +6411,7 @@ var OpenEndedActivityContent = ({
6409
6411
  )
6410
6412
  }
6411
6413
  ),
6412
- showMaterialContent ? /* @__PURE__ */ jsxs30(Fragment7, { children: [
6414
+ showMaterialContent ? /* @__PURE__ */ jsxs30(Fragment6, { children: [
6413
6415
  /* @__PURE__ */ jsx40(
6414
6416
  "div",
6415
6417
  {
@@ -6734,7 +6736,7 @@ var OrderingActivityContent_default = OrderingActivityContent;
6734
6736
  // src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
6735
6737
  import { useEffect as useEffect15, useState as useState24 } from "react";
6736
6738
  import { InlineMath as InlineMath10 } from "react-katex";
6737
- import { Fragment as Fragment8, jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
6739
+ import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
6738
6740
  var TrueFalseActivityMaterialContent = ({
6739
6741
  uniqueValue,
6740
6742
  answerMap,
@@ -6840,7 +6842,7 @@ var TrueFalseActivityMaterialContent = ({
6840
6842
  },
6841
6843
  index
6842
6844
  );
6843
- }) }) : /* @__PURE__ */ jsxs33(Fragment8, { children: [
6845
+ }) }) : /* @__PURE__ */ jsxs33(Fragment7, { children: [
6844
6846
  displayAnswerMap.trueList.map((item) => /* @__PURE__ */ jsxs33("div", { className: "flex flex-row items-center gap-x-2", children: [
6845
6847
  /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6846
6848
  /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("true") }) })
@@ -7093,7 +7095,7 @@ var SelectionBox = ({
7093
7095
  var SelectionBox_default = SelectionBox;
7094
7096
 
7095
7097
  // src/components/activities/ActivityPreviewByData.tsx
7096
- import { Fragment as Fragment9, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
7098
+ import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
7097
7099
  var ACTIVITY_TEMPLATE_LIST = [
7098
7100
  { type: "ORDERING", materialMap: "orderingMaterialMap" },
7099
7101
  { type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
@@ -7202,42 +7204,42 @@ var ActivityPreviewByData = ({
7202
7204
  }
7203
7205
  switch (selectedType) {
7204
7206
  case "ORDERING":
7205
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7207
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7206
7208
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7207
7209
  /* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps))
7208
7210
  ] }) : null;
7209
7211
  case "DROPDOWN":
7210
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7212
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7211
7213
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7212
7214
  /* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps))
7213
7215
  ] }) : null;
7214
7216
  case "MCSA":
7215
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7217
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7216
7218
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7217
7219
  /* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps))
7218
7220
  ] }) : null;
7219
7221
  case "MCMA":
7220
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7222
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7221
7223
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7222
7224
  /* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps))
7223
7225
  ] }) : null;
7224
7226
  case "MATCHING":
7225
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7227
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7226
7228
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7227
7229
  /* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps))
7228
7230
  ] }) : null;
7229
7231
  case "GROUPING":
7230
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7232
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7231
7233
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7232
7234
  /* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps))
7233
7235
  ] }) : null;
7234
7236
  case "FILL_IN_THE_BLANKS":
7235
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7237
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7236
7238
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7237
7239
  /* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps))
7238
7240
  ] }) : null;
7239
7241
  case "OPEN_ENDED":
7240
- return data.openEndedBodyMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7242
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7241
7243
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7242
7244
  /* @__PURE__ */ jsx48(
7243
7245
  OpenEndedActivityContent_default,
@@ -7247,7 +7249,7 @@ var ActivityPreviewByData = ({
7247
7249
  )
7248
7250
  ] }) : null;
7249
7251
  case "TRUE_FALSE":
7250
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7252
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7251
7253
  isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7252
7254
  /* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps))
7253
7255
  ] }) : null;
@@ -7257,7 +7259,7 @@ var ActivityPreviewByData = ({
7257
7259
  };
7258
7260
  if (!data) return null;
7259
7261
  return /* @__PURE__ */ jsxs38("div", { children: [
7260
- showType && optionList.length > 0 ? /* @__PURE__ */ jsxs38(Fragment9, { children: [
7262
+ showType && optionList.length > 0 ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7261
7263
  /* @__PURE__ */ jsxs38("div", { className: "mb-2", children: [
7262
7264
  showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7263
7265
  /* @__PURE__ */ jsx48(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catchup-library-web",
3
- "version": "2.5.15",
3
+ "version": "2.5.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -5,6 +5,7 @@ import {
5
5
  parseMaterialMapFromData,
6
6
  } from "../../utilization/CatchtivityUtilization";
7
7
  import DividerLine from "../dividers/DividerLine";
8
+ import VerticalDividerLine from "../dividers/VerticalDividerLine";
8
9
  import ActivityBodyContent from "./body-contents/ActivityBodyContent";
9
10
  import GroupingActivityMaterialContent from "./material-contents/GroupingActivityMaterialContent";
10
11
 
@@ -15,6 +16,7 @@ const GroupingActivityContent = ({
15
16
  changeAnswer,
16
17
  isPreview,
17
18
  showCorrectAnswer,
19
+ isFullScreen,
18
20
  }: IGroupingActivityProps) => {
19
21
  const contentMap = parseContentMapFromData(data);
20
22
  const groupingBodyMap = parseBodyMapFromData(data, "GROUPING");
@@ -36,23 +38,32 @@ const GroupingActivityContent = ({
36
38
  };
37
39
 
38
40
  return (
39
- <>
40
- <ActivityBodyContent
41
- bodyMap={groupingBodyMap}
42
- templateType={"GROUPING"}
43
- />
44
- <DividerLine />
45
- <GroupingActivityMaterialContent
46
- uniqueValue={JSON.stringify(data.contentMap)}
47
- answerMap={answerMap}
48
- materialMap={groupingMaterialMap}
49
- contentMap={contentMap}
50
- checkCanAnswerQuestion={canAnswerQuestion}
51
- onChange={handleGroupingAnswerOnChange}
52
- isPreview={isPreview}
53
- showCorrectAnswer={showCorrectAnswer}
54
- />
55
- </>
41
+ <div className="flex flex-row flex-wrap h-full">
42
+ <div className={`${isFullScreen ? "w-full" : "w-full md:w-[30%] md:overflow-y-auto"}`}>
43
+ <ActivityBodyContent
44
+ bodyMap={groupingBodyMap}
45
+ templateType={"GROUPING"}
46
+ />
47
+ </div>
48
+ <div className={`${isFullScreen ? "contents" : "contents md:hidden"}`}>
49
+ <DividerLine />
50
+ </div>
51
+ <div className={`${isFullScreen ? "hidden" : "hidden md:block"}`}>
52
+ <VerticalDividerLine />
53
+ </div>
54
+ <div className={`${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`}>
55
+ <GroupingActivityMaterialContent
56
+ uniqueValue={JSON.stringify(data.contentMap)}
57
+ answerMap={answerMap}
58
+ materialMap={groupingMaterialMap}
59
+ contentMap={contentMap}
60
+ checkCanAnswerQuestion={canAnswerQuestion}
61
+ onChange={handleGroupingAnswerOnChange}
62
+ isPreview={isPreview}
63
+ showCorrectAnswer={showCorrectAnswer}
64
+ />
65
+ </div>
66
+ </div>
56
67
  );
57
68
  };
58
69
 
@@ -13,7 +13,7 @@ const ActivityBodyContent = ({
13
13
  bodyValue: string,
14
14
  contentType: string,
15
15
  answerMap: string[],
16
- startIndex: number
16
+ startIndex: number,
17
17
  ) => {
18
18
  let currentQQIndex = startIndex;
19
19
  let processedValue = bodyValue;
@@ -31,7 +31,7 @@ const ActivityBodyContent = ({
31
31
  if (isEmpty) {
32
32
  processedValue = processedValue.replace(
33
33
  "@@",
34
- () => `----(${currentQQIndex + 1})----`
34
+ () => `----(${currentQQIndex + 1})----`,
35
35
  );
36
36
  } else {
37
37
  const trimmedAnswer =
@@ -41,25 +41,25 @@ const ActivityBodyContent = ({
41
41
  case "TEXT":
42
42
  processedValue = processedValue.replace(
43
43
  "@@",
44
- () => `--TEXT--${trimmedAnswer}--TEXT--`
44
+ () => `--TEXT--${trimmedAnswer}--TEXT--`,
45
45
  );
46
46
  break;
47
47
  case "IMAGE":
48
48
  processedValue = processedValue.replace(
49
49
  "@@",
50
- () => `--IMAGE--${trimmedAnswer}--IMAGE--`
50
+ () => `--IMAGE--${trimmedAnswer}--IMAGE--`,
51
51
  );
52
52
  break;
53
53
  case "VIDEO":
54
54
  processedValue = processedValue.replace(
55
55
  "@@",
56
- () => `--VIDEO--${trimmedAnswer}--VIDEO--`
56
+ () => `--VIDEO--${trimmedAnswer}--VIDEO--`,
57
57
  );
58
58
  break;
59
59
  case "AUDIO":
60
60
  processedValue = processedValue.replace(
61
61
  "@@",
62
- () => `--AUDIO--${trimmedAnswer}--AUDIO--`
62
+ () => `--AUDIO--${trimmedAnswer}--AUDIO--`,
63
63
  );
64
64
  break;
65
65
  default:
@@ -93,7 +93,7 @@ const ActivityBodyContent = ({
93
93
  body.value,
94
94
  contentType,
95
95
  answerMap,
96
- globalAnswerIndex
96
+ globalAnswerIndex,
97
97
  );
98
98
  body.value = result.processedValue;
99
99
  globalAnswerIndex = result.currentQQIndex;
@@ -107,7 +107,7 @@ const ActivityBodyContent = ({
107
107
  .filter(Boolean);
108
108
 
109
109
  return (
110
- <div className="flex flex-col justify-center items-center h-full overflow-y-auto">
110
+ <div className="flex flex-col h-full overflow-y-auto">
111
111
  {processedBodies.map((body, index) => (
112
112
  <ShowBodyMediaByContentType
113
113
  key={`body-${body.key}-${index}`}
@@ -110,6 +110,7 @@ export interface IGroupingActivityProps {
110
110
  changeAnswer: (e: any) => void;
111
111
  isPreview: boolean;
112
112
  showCorrectAnswer: boolean;
113
+ isFullScreen: boolean;
113
114
  }
114
115
 
115
116
  export interface IGroupingActivityMaterialProps {