analytica-frontend-lib 1.2.60 → 1.2.61

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.mjs CHANGED
@@ -20662,7 +20662,7 @@ var ActivityDetails = ({
20662
20662
  onBack,
20663
20663
  onViewActivity,
20664
20664
  emptyStateImage,
20665
- mapSubjectNameToEnum
20665
+ mapSubjectNameToEnum: mapSubjectNameToEnum2
20666
20666
  }) => {
20667
20667
  const { isMobile } = useMobile();
20668
20668
  const [page, setPage] = useState40(1);
@@ -20782,7 +20782,7 @@ var ActivityDetails = ({
20782
20782
  onBack();
20783
20783
  }
20784
20784
  };
20785
- const subjectEnum = data?.activity?.subjectName && mapSubjectNameToEnum ? mapSubjectNameToEnum(data.activity.subjectName) : null;
20785
+ const subjectEnum = data?.activity?.subjectName && mapSubjectNameToEnum2 ? mapSubjectNameToEnum2(data.activity.subjectName) : null;
20786
20786
  const subjectInfo = subjectEnum ? getSubjectInfo(subjectEnum) : null;
20787
20787
  if (loading && !data) {
20788
20788
  return /* @__PURE__ */ jsx82("div", { className: "flex flex-col w-full h-auto relative justify-center items-center mb-5 overflow-hidden", children: /* @__PURE__ */ jsxs66("div", { className: "flex flex-col w-full h-full max-w-[1150px] mx-auto z-10 lg:px-0 px-4 pt-4 gap-4", children: [
@@ -23005,7 +23005,7 @@ var createGoalFiltersConfig = (userData) => [
23005
23005
  ]
23006
23006
  }
23007
23007
  ];
23008
- var createTableColumns2 = (mapSubjectNameToEnum, onDeleteGoal, onEditGoal) => [
23008
+ var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteGoal, onEditGoal) => [
23009
23009
  {
23010
23010
  key: "startDate",
23011
23011
  label: "In\xEDcio",
@@ -23048,7 +23048,7 @@ var createTableColumns2 = (mapSubjectNameToEnum, onDeleteGoal, onEditGoal) => [
23048
23048
  className: "max-w-[140px]",
23049
23049
  render: (value) => {
23050
23050
  const subjectName = typeof value === "string" ? value : "";
23051
- const subjectEnum = mapSubjectNameToEnum?.(subjectName);
23051
+ const subjectEnum = mapSubjectNameToEnum2?.(subjectName);
23052
23052
  if (!subjectEnum) {
23053
23053
  return /* @__PURE__ */ jsx87(Text_default, { size: "sm", className: "truncate", title: subjectName, children: subjectName });
23054
23054
  }
@@ -23161,7 +23161,7 @@ var RecommendedLessonsHistory = ({
23161
23161
  onEditGoal,
23162
23162
  emptyStateImage,
23163
23163
  noSearchImage,
23164
- mapSubjectNameToEnum,
23164
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
23165
23165
  userFilterData,
23166
23166
  title = "Hist\xF3rico de aulas recomendadas",
23167
23167
  createButtonText = "Criar aula",
@@ -23188,8 +23188,8 @@ var RecommendedLessonsHistory = ({
23188
23188
  [userFilterData]
23189
23189
  );
23190
23190
  const tableColumns = useMemo25(
23191
- () => createTableColumns2(mapSubjectNameToEnum, onDeleteGoal, onEditGoal),
23192
- [mapSubjectNameToEnum, onDeleteGoal, onEditGoal]
23191
+ () => createTableColumns2(mapSubjectNameToEnum2, onDeleteGoal, onEditGoal),
23192
+ [mapSubjectNameToEnum2, onDeleteGoal, onEditGoal]
23193
23193
  );
23194
23194
  const handleParamsChange = useCallback20(
23195
23195
  (params) => {
@@ -23400,12 +23400,12 @@ import { Fragment as Fragment22, jsx as jsx89, jsxs as jsxs72 } from "react/jsx-
23400
23400
  var LessonHeader = ({
23401
23401
  data,
23402
23402
  onViewLesson,
23403
- mapSubjectNameToEnum,
23403
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
23404
23404
  viewLessonLabel
23405
23405
  }) => {
23406
23406
  const { goal, breakdown } = data;
23407
23407
  const subjectName = goal.lessonsGoals[0]?.supLessonsProgress?.lesson?.subject?.name || "";
23408
- const subjectEnum = mapSubjectNameToEnum?.(subjectName);
23408
+ const subjectEnum = mapSubjectNameToEnum2?.(subjectName);
23409
23409
  const subjectInfo = subjectEnum ? getSubjectInfo(subjectEnum) : null;
23410
23410
  return /* @__PURE__ */ jsx89("div", { className: "bg-background rounded-xl border border-border-50 p-6", children: /* @__PURE__ */ jsxs72("div", { className: "flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4", children: [
23411
23411
  /* @__PURE__ */ jsxs72("div", { className: "flex flex-col gap-2", children: [
@@ -23973,7 +23973,7 @@ var RecommendedLessonDetails = ({
23973
23973
  onViewLesson,
23974
23974
  onViewStudentPerformance,
23975
23975
  onBreadcrumbClick,
23976
- mapSubjectNameToEnum,
23976
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
23977
23977
  breadcrumbs,
23978
23978
  labels: customLabels,
23979
23979
  className
@@ -24035,7 +24035,7 @@ var RecommendedLessonDetails = ({
24035
24035
  {
24036
24036
  data,
24037
24037
  onViewLesson,
24038
- mapSubjectNameToEnum,
24038
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
24039
24039
  viewLessonLabel: labels.viewLesson
24040
24040
  }
24041
24041
  ),
@@ -24236,11 +24236,11 @@ import { CaretRight as CaretRight11 } from "phosphor-react";
24236
24236
 
24237
24237
  // src/components/ActivitiesHistory/utils/renderSubjectCell.tsx
24238
24238
  import { jsx as jsx96, jsxs as jsxs78 } from "react/jsx-runtime";
24239
- var renderSubjectCell = (subjectName, mapSubjectNameToEnum, showEmptyDash = false) => {
24239
+ var renderSubjectCell = (subjectName, mapSubjectNameToEnum2, showEmptyDash = false) => {
24240
24240
  if (!subjectName) {
24241
24241
  return showEmptyDash ? /* @__PURE__ */ jsx96(Text_default, { size: "sm", color: "text-text-400", children: "-" }) : null;
24242
24242
  }
24243
- const subjectEnum = mapSubjectNameToEnum?.(subjectName);
24243
+ const subjectEnum = mapSubjectNameToEnum2?.(subjectName);
24244
24244
  if (!subjectEnum) {
24245
24245
  return /* @__PURE__ */ jsx96(Text_default, { size: "sm", className: "truncate", title: subjectName, children: subjectName });
24246
24246
  }
@@ -24335,7 +24335,7 @@ var mapActivityStatusToDisplay = (apiStatus) => mapApiStatusToDisplay(apiStatus)
24335
24335
 
24336
24336
  // src/components/ActivitiesHistory/config/historyTableColumns.tsx
24337
24337
  import { jsx as jsx98 } from "react/jsx-runtime";
24338
- var createHistoryTableColumns = (mapSubjectNameToEnum) => [
24338
+ var createHistoryTableColumns = (mapSubjectNameToEnum2) => [
24339
24339
  {
24340
24340
  key: "startDate",
24341
24341
  label: "In\xEDcio",
@@ -24372,7 +24372,7 @@ var createHistoryTableColumns = (mapSubjectNameToEnum) => [
24372
24372
  className: "max-w-[140px]",
24373
24373
  render: (value) => {
24374
24374
  const subjectName = typeof value === "string" ? value : "";
24375
- return renderSubjectCell(subjectName, mapSubjectNameToEnum, false);
24375
+ return renderSubjectCell(subjectName, mapSubjectNameToEnum2, false);
24376
24376
  }
24377
24377
  },
24378
24378
  {
@@ -24582,7 +24582,7 @@ var HistoryTab = ({
24582
24582
  onRowClick,
24583
24583
  emptyStateImage,
24584
24584
  noSearchImage,
24585
- mapSubjectNameToEnum,
24585
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
24586
24586
  userFilterData
24587
24587
  }) => {
24588
24588
  const fetchActivitiesHistoryRef = useRef26(fetchActivitiesHistory);
@@ -24605,8 +24605,8 @@ var HistoryTab = ({
24605
24605
  [userFilterData]
24606
24606
  );
24607
24607
  const historyTableColumns = useMemo28(
24608
- () => createHistoryTableColumns(mapSubjectNameToEnum),
24609
- [mapSubjectNameToEnum]
24608
+ () => createHistoryTableColumns(mapSubjectNameToEnum2),
24609
+ [mapSubjectNameToEnum2]
24610
24610
  );
24611
24611
  const handleParamsChange = useCallback24(
24612
24612
  (params) => {
@@ -24697,7 +24697,7 @@ import { Plus as Plus5 } from "phosphor-react";
24697
24697
  // src/components/ActivitiesHistory/config/modelsTableColumns.tsx
24698
24698
  import { Trash as Trash3, PencilSimple as PencilSimple3, PaperPlaneTilt as PaperPlaneTilt3 } from "phosphor-react";
24699
24699
  import { jsx as jsx100, jsxs as jsxs80 } from "react/jsx-runtime";
24700
- var createModelsTableColumns = (mapSubjectNameToEnum, onSendActivity, onEditModel, onDeleteModel) => [
24700
+ var createModelsTableColumns = (mapSubjectNameToEnum2, onSendActivity, onEditModel, onDeleteModel) => [
24701
24701
  {
24702
24702
  key: "title",
24703
24703
  label: "T\xEDtulo",
@@ -24721,7 +24721,7 @@ var createModelsTableColumns = (mapSubjectNameToEnum, onSendActivity, onEditMode
24721
24721
  className: "max-w-[160px]",
24722
24722
  render: (value) => {
24723
24723
  const subjectName = typeof value === "string" ? value : "";
24724
- return renderSubjectCell(subjectName, mapSubjectNameToEnum, true);
24724
+ return renderSubjectCell(subjectName, mapSubjectNameToEnum2, true);
24725
24725
  }
24726
24726
  },
24727
24727
  {
@@ -24919,7 +24919,7 @@ var ModelsTab = ({
24919
24919
  onEditModel,
24920
24920
  emptyStateImage,
24921
24921
  noSearchImage,
24922
- mapSubjectNameToEnum,
24922
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
24923
24923
  userFilterData,
24924
24924
  subjectsMap
24925
24925
  }) => {
@@ -24957,12 +24957,12 @@ var ModelsTab = ({
24957
24957
  }, []);
24958
24958
  const modelsTableColumns = useMemo29(
24959
24959
  () => createModelsTableColumns(
24960
- mapSubjectNameToEnum,
24960
+ mapSubjectNameToEnum2,
24961
24961
  onSendActivity,
24962
24962
  onEditModel,
24963
24963
  handleDeleteClick
24964
24964
  ),
24965
- [mapSubjectNameToEnum, onSendActivity, onEditModel, handleDeleteClick]
24965
+ [mapSubjectNameToEnum2, onSendActivity, onEditModel, handleDeleteClick]
24966
24966
  );
24967
24967
  const handleParamsChange = useCallback26(
24968
24968
  (params) => {
@@ -25101,7 +25101,7 @@ var ActivitiesHistory = ({
25101
25101
  onEditModel,
25102
25102
  emptyStateImage,
25103
25103
  noSearchImage,
25104
- mapSubjectNameToEnum,
25104
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
25105
25105
  userFilterData,
25106
25106
  subjectsMap
25107
25107
  }) => {
@@ -25183,7 +25183,7 @@ var ActivitiesHistory = ({
25183
25183
  onRowClick,
25184
25184
  emptyStateImage,
25185
25185
  noSearchImage,
25186
- mapSubjectNameToEnum,
25186
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
25187
25187
  userFilterData
25188
25188
  }
25189
25189
  ),
@@ -25198,7 +25198,7 @@ var ActivitiesHistory = ({
25198
25198
  onEditModel,
25199
25199
  emptyStateImage,
25200
25200
  noSearchImage,
25201
- mapSubjectNameToEnum,
25201
+ mapSubjectNameToEnum: mapSubjectNameToEnum2,
25202
25202
  userFilterData,
25203
25203
  subjectsMap
25204
25204
  }
@@ -25210,6 +25210,139 @@ var ActivitiesHistory = ({
25210
25210
  );
25211
25211
  };
25212
25212
 
25213
+ // src/utils/subjectMappers.ts
25214
+ var SUBJECT_NAME_MAPPING = {
25215
+ matem\u00E1tica: "Matem\xE1tica" /* MATEMATICA */,
25216
+ portugu\u00EAs: "Portugu\xEAs" /* PORTUGUES */,
25217
+ ci\u00EAncias: "Biologia" /* BIOLOGIA */,
25218
+ hist\u00F3ria: "Hist\xF3ria" /* HISTORIA */,
25219
+ geografia: "Geografia" /* GEOGRAFIA */,
25220
+ ingl\u00EAs: "Ingl\xEAs" /* INGLES */,
25221
+ "educa\xE7\xE3o f\xEDsica": "Ed. F\xEDsica" /* EDUCACAO_FISICA */,
25222
+ artes: "Artes" /* ARTES */,
25223
+ tecnologia: "Trilhas" /* TRILHAS */,
25224
+ f\u00EDsica: "F\xEDsica" /* FISICA */,
25225
+ literatura: "Literatura" /* LITERATURA */,
25226
+ biologia: "Biologia" /* BIOLOGIA */,
25227
+ qu\u00EDmica: "Qu\xEDmica" /* QUIMICA */,
25228
+ filosofia: "Filosofia" /* FILOSOFIA */,
25229
+ espanhol: "Espanhol" /* ESPANHOL */,
25230
+ reda\u00E7\u00E3o: "Reda\xE7\xE3o" /* REDACAO */,
25231
+ sociologia: "Sociologia" /* SOCIOLOGIA */,
25232
+ trilhas: "Trilhas" /* TRILHAS */
25233
+ };
25234
+ var mapSubjectNameToEnum = (subjectName) => {
25235
+ const normalized = subjectName.trim().toLowerCase();
25236
+ return SUBJECT_NAME_MAPPING[normalized] || null;
25237
+ };
25238
+ var mapSubjectEnumToName = (subjectEnum) => {
25239
+ const reverseMapping = {
25240
+ ["Matem\xE1tica" /* MATEMATICA */]: "Matem\xE1tica",
25241
+ ["Portugu\xEAs" /* PORTUGUES */]: "Portugu\xEAs",
25242
+ ["Biologia" /* BIOLOGIA */]: "Biologia",
25243
+ ["Hist\xF3ria" /* HISTORIA */]: "Hist\xF3ria",
25244
+ ["Geografia" /* GEOGRAFIA */]: "Geografia",
25245
+ ["Ingl\xEAs" /* INGLES */]: "Ingl\xEAs",
25246
+ ["Ed. F\xEDsica" /* EDUCACAO_FISICA */]: "Educa\xE7\xE3o F\xEDsica",
25247
+ ["Artes" /* ARTES */]: "Artes",
25248
+ ["F\xEDsica" /* FISICA */]: "F\xEDsica",
25249
+ ["Literatura" /* LITERATURA */]: "Literatura",
25250
+ ["Qu\xEDmica" /* QUIMICA */]: "Qu\xEDmica",
25251
+ ["Filosofia" /* FILOSOFIA */]: "Filosofia",
25252
+ ["Espanhol" /* ESPANHOL */]: "Espanhol",
25253
+ ["Reda\xE7\xE3o" /* REDACAO */]: "Reda\xE7\xE3o",
25254
+ ["Sociologia" /* SOCIOLOGIA */]: "Sociologia",
25255
+ ["Trilhas" /* TRILHAS */]: "Trilhas"
25256
+ };
25257
+ return reverseMapping[subjectEnum] || subjectEnum;
25258
+ };
25259
+
25260
+ // src/utils/filterHelpers.ts
25261
+ var getSchoolOptionsFromUserData = (userData) => {
25262
+ if (!userData?.userInstitutions) {
25263
+ return [];
25264
+ }
25265
+ const schoolsMap = /* @__PURE__ */ new Map();
25266
+ for (const userInst of userData.userInstitutions) {
25267
+ if (userInst.school?.id && userInst.school?.name) {
25268
+ schoolsMap.set(userInst.school.id, {
25269
+ id: userInst.school.id,
25270
+ name: userInst.school.name
25271
+ });
25272
+ }
25273
+ }
25274
+ return Array.from(schoolsMap.values()).sort(
25275
+ (a, b) => a.name.localeCompare(b.name, "pt-BR")
25276
+ );
25277
+ };
25278
+ var getSubjectOptionsFromUserData = (userData) => {
25279
+ if (!userData?.subTeacherTopicClasses) {
25280
+ return [];
25281
+ }
25282
+ const subjectsMap = /* @__PURE__ */ new Map();
25283
+ for (const subTeacher of userData.subTeacherTopicClasses) {
25284
+ if (subTeacher.subject?.id && subTeacher.subject?.name) {
25285
+ subjectsMap.set(subTeacher.subject.id, {
25286
+ id: subTeacher.subject.id,
25287
+ name: subTeacher.subject.name
25288
+ });
25289
+ }
25290
+ }
25291
+ return Array.from(subjectsMap.values()).sort(
25292
+ (a, b) => a.name.localeCompare(b.name, "pt-BR")
25293
+ );
25294
+ };
25295
+ var getSchoolYearOptionsFromUserData = (userData) => {
25296
+ if (!userData?.userInstitutions) {
25297
+ return [];
25298
+ }
25299
+ const schoolYearsMap = /* @__PURE__ */ new Map();
25300
+ for (const userInst of userData.userInstitutions) {
25301
+ if (userInst.schoolYear?.id && userInst.schoolYear?.name) {
25302
+ schoolYearsMap.set(userInst.schoolYear.id, {
25303
+ id: userInst.schoolYear.id,
25304
+ name: userInst.schoolYear.name
25305
+ });
25306
+ }
25307
+ }
25308
+ return Array.from(schoolYearsMap.values()).sort(
25309
+ (a, b) => a.name.localeCompare(b.name, "pt-BR")
25310
+ );
25311
+ };
25312
+ var getClassOptionsFromUserData = (userData) => {
25313
+ if (!userData) {
25314
+ return [];
25315
+ }
25316
+ const classesMap = /* @__PURE__ */ new Map();
25317
+ if (userData.userInstitutions) {
25318
+ for (const userInst of userData.userInstitutions) {
25319
+ if (userInst.class?.id && userInst.class?.name) {
25320
+ classesMap.set(userInst.class.id, {
25321
+ id: userInst.class.id,
25322
+ name: userInst.class.name
25323
+ });
25324
+ }
25325
+ }
25326
+ }
25327
+ if (userData.subTeacherTopicClasses) {
25328
+ for (const subTeacher of userData.subTeacherTopicClasses) {
25329
+ if (subTeacher.class?.id && subTeacher.class?.name) {
25330
+ classesMap.set(subTeacher.class.id, {
25331
+ id: subTeacher.class.id,
25332
+ name: subTeacher.class.name
25333
+ });
25334
+ }
25335
+ }
25336
+ }
25337
+ return Array.from(classesMap.values()).sort(
25338
+ (a, b) => a.name.localeCompare(b.name, "pt-BR")
25339
+ );
25340
+ };
25341
+ var buildUserFilterData = (userData) => ({
25342
+ schools: getSchoolOptionsFromUserData(userData),
25343
+ subjects: getSubjectOptionsFromUserData(userData)
25344
+ });
25345
+
25213
25346
  // src/hooks/useChat.ts
25214
25347
  import { useState as useState50, useEffect as useEffect46, useCallback as useCallback27, useRef as useRef28 } from "react";
25215
25348
  var WS_STATES = {
@@ -26189,6 +26322,7 @@ export {
26189
26322
  Whiteboard_default as Whiteboard,
26190
26323
  activitiesHistoryApiResponseSchema,
26191
26324
  activityModelsApiResponseSchema,
26325
+ buildUserFilterData,
26192
26326
  cn,
26193
26327
  convertActivityFiltersToQuestionsFilter,
26194
26328
  createActivitiesHistoryHook,
@@ -26224,10 +26358,13 @@ export {
26224
26358
  getCategoryText,
26225
26359
  getChatUserInfo,
26226
26360
  getChatWsUrl,
26361
+ getClassOptionsFromUserData,
26227
26362
  getDeviceType,
26228
26363
  getGoalStatusBadgeAction,
26229
26364
  getQuestionStatusBadgeConfig,
26230
26365
  getRootDomain,
26366
+ getSchoolOptionsFromUserData,
26367
+ getSchoolYearOptionsFromUserData,
26231
26368
  getSelectedIdsFromCategories,
26232
26369
  getStatusBadge,
26233
26370
  getStatusBadgeAction,
@@ -26239,6 +26376,7 @@ export {
26239
26376
  getSubjectIcon,
26240
26377
  getSubjectInfo,
26241
26378
  getSubjectName,
26379
+ getSubjectOptionsFromUserData,
26242
26380
  goalApiResponseSchema,
26243
26381
  goalDetailsApiResponseSchema,
26244
26382
  goalsHistoryApiResponseSchema,
@@ -26256,6 +26394,8 @@ export {
26256
26394
  mapInternalStatusToApi,
26257
26395
  mapQuestionTypeToEnum,
26258
26396
  mapQuestionTypeToEnumRequired,
26397
+ mapSubjectEnumToName,
26398
+ mapSubjectNameToEnum,
26259
26399
  questionTypeLabels,
26260
26400
  supportSchema,
26261
26401
  syncDropdownState,