analytica-frontend-lib 1.2.85 → 1.2.87

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.
Files changed (76) hide show
  1. package/dist/ActivitiesHistory/index.js.map +1 -1
  2. package/dist/ActivitiesHistory/index.mjs.map +1 -1
  3. package/dist/NotificationCard/index.js +1 -1
  4. package/dist/NotificationCard/index.js.map +1 -1
  5. package/dist/NotificationCard/index.mjs +1 -1
  6. package/dist/NotificationCard/index.mjs.map +1 -1
  7. package/dist/RecommendedLessonsHistory/index.d.ts +1 -1
  8. package/dist/RecommendedLessonsHistory/index.d.ts.map +1 -1
  9. package/dist/RecommendedLessonsHistory/index.js +148 -142
  10. package/dist/RecommendedLessonsHistory/index.js.map +1 -1
  11. package/dist/RecommendedLessonsHistory/index.mjs +147 -141
  12. package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
  13. package/dist/hooks/useActivitiesHistory/index.js.map +1 -1
  14. package/dist/hooks/useActivitiesHistory/index.mjs.map +1 -1
  15. package/dist/hooks/useNotifications.d.ts +2 -2
  16. package/dist/hooks/useNotifications.d.ts.map +1 -1
  17. package/dist/hooks/useRecommendedClassDrafts/index.d.ts +57 -0
  18. package/dist/hooks/useRecommendedClassDrafts/index.d.ts.map +1 -0
  19. package/dist/hooks/{useGoalDrafts → useRecommendedClassDrafts}/index.js +40 -40
  20. package/dist/hooks/useRecommendedClassDrafts/index.js.map +1 -0
  21. package/dist/hooks/{useGoalDrafts → useRecommendedClassDrafts}/index.mjs +33 -33
  22. package/dist/hooks/useRecommendedClassDrafts/index.mjs.map +1 -0
  23. package/dist/hooks/useRecommendedClassDrafts.d.ts +57 -0
  24. package/dist/hooks/useRecommendedClassDrafts.d.ts.map +1 -0
  25. package/dist/hooks/{useGoalModels.d.ts → useRecommendedClassModels.d.ts} +32 -32
  26. package/dist/hooks/useRecommendedClassModels.d.ts.map +1 -0
  27. package/dist/hooks/useRecommendedLessonDetails.d.ts +44 -44
  28. package/dist/hooks/useRecommendedLessonDetails.d.ts.map +1 -1
  29. package/dist/hooks/useRecommendedLessons/index.d.ts +35 -35
  30. package/dist/hooks/useRecommendedLessons/index.d.ts.map +1 -1
  31. package/dist/hooks/useRecommendedLessons/index.js +41 -41
  32. package/dist/hooks/useRecommendedLessons/index.js.map +1 -1
  33. package/dist/hooks/useRecommendedLessons/index.mjs +37 -37
  34. package/dist/hooks/useRecommendedLessons/index.mjs.map +1 -1
  35. package/dist/hooks/useRecommendedLessons.d.ts +35 -35
  36. package/dist/hooks/useRecommendedLessons.d.ts.map +1 -1
  37. package/dist/hooks/useRecommendedLessonsPage/index.d.ts +21 -21
  38. package/dist/hooks/useRecommendedLessonsPage/index.d.ts.map +1 -1
  39. package/dist/hooks/useRecommendedLessonsPage/index.js +39 -33
  40. package/dist/hooks/useRecommendedLessonsPage/index.js.map +1 -1
  41. package/dist/hooks/useRecommendedLessonsPage/index.mjs +39 -33
  42. package/dist/hooks/useRecommendedLessonsPage/index.mjs.map +1 -1
  43. package/dist/hooks/useRecommendedLessonsPage.d.ts +21 -21
  44. package/dist/hooks/useRecommendedLessonsPage.d.ts.map +1 -1
  45. package/dist/index.d.ts +14 -11
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +359 -288
  48. package/dist/index.js.map +1 -1
  49. package/dist/index.mjs +329 -262
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/store/notificationStore.d.ts.map +1 -1
  52. package/dist/types/activitiesHistory/index.js.map +1 -1
  53. package/dist/types/activitiesHistory/index.mjs.map +1 -1
  54. package/dist/types/common.d.ts +2 -2
  55. package/dist/types/lessonAvailability.d.ts +33 -0
  56. package/dist/types/lessonAvailability.d.ts.map +1 -0
  57. package/dist/types/notifications.d.ts +5 -5
  58. package/dist/types/notifications.d.ts.map +1 -1
  59. package/dist/types/recommendedLessons/index.d.ts +112 -112
  60. package/dist/types/recommendedLessons/index.d.ts.map +1 -1
  61. package/dist/types/recommendedLessons/index.js +25 -25
  62. package/dist/types/recommendedLessons/index.js.map +1 -1
  63. package/dist/types/recommendedLessons/index.mjs +17 -17
  64. package/dist/types/recommendedLessons/index.mjs.map +1 -1
  65. package/dist/types/recommendedLessons.d.ts +112 -112
  66. package/dist/types/recommendedLessons.d.ts.map +1 -1
  67. package/dist/utils/lessonAvailabilityUtils.d.ts +45 -0
  68. package/dist/utils/lessonAvailabilityUtils.d.ts.map +1 -0
  69. package/package.json +1 -1
  70. package/dist/hooks/useGoalDrafts/index.d.ts +0 -57
  71. package/dist/hooks/useGoalDrafts/index.d.ts.map +0 -1
  72. package/dist/hooks/useGoalDrafts/index.js.map +0 -1
  73. package/dist/hooks/useGoalDrafts/index.mjs.map +0 -1
  74. package/dist/hooks/useGoalDrafts.d.ts +0 -57
  75. package/dist/hooks/useGoalDrafts.d.ts.map +0 -1
  76. package/dist/hooks/useGoalModels.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -12739,7 +12739,7 @@ import { devtools as devtools3 } from "zustand/middleware";
12739
12739
  var NotificationEntityType = /* @__PURE__ */ ((NotificationEntityType2) => {
12740
12740
  NotificationEntityType2["ACTIVITY"] = "ACTIVITY";
12741
12741
  NotificationEntityType2["TRAIL"] = "TRAIL";
12742
- NotificationEntityType2["GOAL"] = "GOAL";
12742
+ NotificationEntityType2["RECOMMENDEDCLASS"] = "RECOMMENDEDCLASS";
12743
12743
  return NotificationEntityType2;
12744
12744
  })(NotificationEntityType || {});
12745
12745
 
@@ -12748,8 +12748,7 @@ var mapBackendNotification = (backendNotification) => {
12748
12748
  let type = "GENERAL";
12749
12749
  let entityType = null;
12750
12750
  if (backendNotification.entityType) {
12751
- const backendEntityType = backendNotification.entityType.toUpperCase();
12752
- switch (backendEntityType) {
12751
+ switch (backendNotification.entityType.toUpperCase()) {
12753
12752
  case "ACTIVITY" /* ACTIVITY */:
12754
12753
  type = "ACTIVITY";
12755
12754
  entityType = "ACTIVITY" /* ACTIVITY */;
@@ -12758,9 +12757,9 @@ var mapBackendNotification = (backendNotification) => {
12758
12757
  type = "TRAIL";
12759
12758
  entityType = "TRAIL" /* TRAIL */;
12760
12759
  break;
12761
- case "GOAL" /* GOAL */:
12762
- type = "GOAL";
12763
- entityType = "GOAL" /* GOAL */;
12760
+ case "RECOMMENDEDCLASS" /* RECOMMENDEDCLASS */:
12761
+ type = "RECOMMENDEDCLASS";
12762
+ entityType = "RECOMMENDEDCLASS" /* RECOMMENDEDCLASS */;
12764
12763
  break;
12765
12764
  default:
12766
12765
  break;
@@ -12777,7 +12776,7 @@ var mapBackendNotification = (backendNotification) => {
12777
12776
  entityId: backendNotification.entityId,
12778
12777
  sender: backendNotification.sender,
12779
12778
  activity: backendNotification.activity,
12780
- goal: backendNotification.goal,
12779
+ recommendedClass: backendNotification.recommendedClass,
12781
12780
  actionLink: backendNotification.actionLink ?? null
12782
12781
  };
12783
12782
  };
@@ -13153,7 +13152,7 @@ var NotificationList = ({
13153
13152
  groupedNotifications.map((group, idx) => /* @__PURE__ */ jsxs52("div", { className: "flex flex-col", children: [
13154
13153
  /* @__PURE__ */ jsx65("div", { className: "flex items-end px-4 py-6 pb-4", children: /* @__PURE__ */ jsx65("h4", { className: "text-lg font-bold text-text-500 flex-grow", children: group.label }) }),
13155
13154
  group.notifications.map((notification) => {
13156
- const isGlobalNotification = !notification.entityType && !notification.entityId && !notification.activity && !notification.goal;
13155
+ const isGlobalNotification = !notification.entityType && !notification.entityId && !notification.activity && !notification.recommendedClass;
13157
13156
  let navigationHandler;
13158
13157
  if (isGlobalNotification) {
13159
13158
  navigationHandler = () => handleGlobalNotificationClick(notification);
@@ -13703,7 +13702,8 @@ var createUseNotifications = (apiClient) => {
13703
13702
  case "ACTIVITY" /* ACTIVITY */:
13704
13703
  window.location.href = `/atividades/${entityId}`;
13705
13704
  break;
13706
- case "GOAL" /* GOAL */:
13705
+ case "RECOMMENDEDCLASS" /* RECOMMENDEDCLASS */:
13706
+ case "RECOMMENDEDCLASS":
13707
13707
  window.location.href = `/painel/trilhas/${entityId}`;
13708
13708
  break;
13709
13709
  default:
@@ -13720,7 +13720,8 @@ var createUseNotifications = (apiClient) => {
13720
13720
  switch (entityType.toUpperCase()) {
13721
13721
  case "ACTIVITY" /* ACTIVITY */:
13722
13722
  return "Ver atividade";
13723
- case "GOAL" /* GOAL */:
13723
+ case "RECOMMENDEDCLASS" /* RECOMMENDEDCLASS */:
13724
+ case "RECOMMENDEDCLASS":
13724
13725
  return "Ver meta";
13725
13726
  default:
13726
13727
  return void 0;
@@ -23300,6 +23301,53 @@ var LessonPreview = ({
23300
23301
  ] });
23301
23302
  };
23302
23303
 
23304
+ // src/types/lessonAvailability.ts
23305
+ var LESSON_AVAILABILITY = {
23306
+ /** Lesson is available for access */
23307
+ DISPONIVEL: "DISPONIVEL",
23308
+ /** Lesson has not started yet (current date < startDate) */
23309
+ NAO_INICIADA: "NAO_INICIADA",
23310
+ /** Lesson has expired (current date > finalDate) */
23311
+ EXPIRADA: "EXPIRADA"
23312
+ };
23313
+
23314
+ // src/utils/lessonAvailabilityUtils.ts
23315
+ var isDateInPast = (dateString) => {
23316
+ const date = new Date(dateString);
23317
+ const now = /* @__PURE__ */ new Date();
23318
+ return now > date;
23319
+ };
23320
+ var isDateInFuture = (dateString) => {
23321
+ const date = new Date(dateString);
23322
+ const now = /* @__PURE__ */ new Date();
23323
+ return now < date;
23324
+ };
23325
+ var checkLessonAvailability = (startDate, finalDate) => {
23326
+ const start = startDate ? new Date(startDate) : null;
23327
+ const end = finalDate ? new Date(finalDate) : null;
23328
+ let status = LESSON_AVAILABILITY.DISPONIVEL;
23329
+ if (startDate && isDateInFuture(startDate)) {
23330
+ status = LESSON_AVAILABILITY.NAO_INICIADA;
23331
+ } else if (finalDate && isDateInPast(finalDate)) {
23332
+ status = LESSON_AVAILABILITY.EXPIRADA;
23333
+ }
23334
+ return {
23335
+ status,
23336
+ startDate: start,
23337
+ endDate: end,
23338
+ formattedStartDate: startDate ? formatDateToBrazilian(startDate) : null,
23339
+ formattedEndDate: finalDate ? formatDateToBrazilian(finalDate) : null
23340
+ };
23341
+ };
23342
+ var isLessonNotYetAvailable = (startDate) => {
23343
+ if (!startDate) return false;
23344
+ return isDateInFuture(startDate);
23345
+ };
23346
+ var isLessonExpired = (finalDate) => {
23347
+ if (!finalDate) return false;
23348
+ return isDateInPast(finalDate);
23349
+ };
23350
+
23303
23351
  // src/components/ActivityDetails/ActivityDetails.tsx
23304
23352
  import { useState as useState43, useMemo as useMemo26, useCallback as useCallback20, useEffect as useEffect45, useRef as useRef28 } from "react";
23305
23353
  import {
@@ -26065,12 +26113,12 @@ import { useState as useState50, useCallback as useCallback29, useMemo as useMem
26065
26113
  import { Plus as Plus5, CaretRight as CaretRight10, Trash as Trash4, PencilSimple as PencilSimple4 } from "phosphor-react";
26066
26114
 
26067
26115
  // src/types/recommendedLessons.ts
26068
- var getGoalStatusBadgeAction = (status) => getStatusBadgeAction(status);
26069
- var GOAL_FILTER_STATUS_OPTIONS = [
26116
+ var getRecommendedClassStatusBadgeAction = (status) => getStatusBadgeAction(status);
26117
+ var RECOMMENDED_CLASS_FILTER_STATUS_OPTIONS = [
26070
26118
  { id: "VENCIDA" /* VENCIDA */, name: "Vencida" },
26071
26119
  { id: "A_VENCER" /* A_VENCER */, name: "Ativa" }
26072
26120
  ];
26073
- var GOAL_STATUS_OPTIONS = [
26121
+ var RECOMMENDED_CLASS_STATUS_OPTIONS = [
26074
26122
  { id: "A_VENCER" /* A_VENCER */, name: "A Vencer" },
26075
26123
  { id: "VENCIDA" /* VENCIDA */, name: "Vencida" },
26076
26124
  { id: "CONCLUIDA" /* CONCLUIDA */, name: "Conclu\xEDda" }
@@ -26110,35 +26158,35 @@ var formatDaysToComplete = (daysToComplete) => {
26110
26158
  if (daysToComplete === 1) return "1 dia";
26111
26159
  return `${daysToComplete} dias`;
26112
26160
  };
26113
- var GOAL_ACTIVITY_STATUS = {
26161
+ var RECOMMENDED_CLASS_ACTIVITY_STATUS = {
26114
26162
  PENDENTE: "PENDENTE",
26115
26163
  CONCLUIDA: "CONCLUIDA",
26116
26164
  EXPIRADA: "EXPIRADA"
26117
26165
  };
26118
- var GoalDraftType = /* @__PURE__ */ ((GoalDraftType2) => {
26119
- GoalDraftType2["MODELO"] = "MODELO";
26120
- GoalDraftType2["RASCUNHO"] = "RASCUNHO";
26121
- return GoalDraftType2;
26122
- })(GoalDraftType || {});
26166
+ var RecommendedClassDraftType = /* @__PURE__ */ ((RecommendedClassDraftType2) => {
26167
+ RecommendedClassDraftType2["MODELO"] = "MODELO";
26168
+ RecommendedClassDraftType2["RASCUNHO"] = "RASCUNHO";
26169
+ return RecommendedClassDraftType2;
26170
+ })(RecommendedClassDraftType || {});
26123
26171
 
26124
26172
  // src/hooks/useRecommendedLessons.ts
26125
26173
  import { useState as useState46, useCallback as useCallback25 } from "react";
26126
26174
  import { z as z4 } from "zod";
26127
26175
  import dayjs4 from "dayjs";
26128
- var goalSubjectSchema = z4.object({
26176
+ var recommendedClassSubjectSchema = z4.object({
26129
26177
  id: z4.string().uuid(),
26130
26178
  name: z4.string()
26131
26179
  }).nullable();
26132
- var goalCreatorSchema = z4.object({
26180
+ var recommendedClassCreatorSchema = z4.object({
26133
26181
  id: z4.string().uuid(),
26134
26182
  name: z4.string()
26135
26183
  }).nullable();
26136
- var goalStatsSchema = z4.object({
26184
+ var recommendedClassStatsSchema = z4.object({
26137
26185
  totalStudents: z4.number(),
26138
26186
  completedCount: z4.number(),
26139
26187
  completionPercentage: z4.number()
26140
26188
  });
26141
- var goalBreakdownSchema = z4.object({
26189
+ var recommendedClassBreakdownSchema = z4.object({
26142
26190
  classId: z4.string().uuid(),
26143
26191
  className: z4.string(),
26144
26192
  schoolId: z4.string(),
@@ -26146,7 +26194,7 @@ var goalBreakdownSchema = z4.object({
26146
26194
  studentCount: z4.number(),
26147
26195
  completedCount: z4.number()
26148
26196
  });
26149
- var goalDataSchema = z4.object({
26197
+ var recommendedClassDataSchema = z4.object({
26150
26198
  id: z4.string().uuid(),
26151
26199
  title: z4.string(),
26152
26200
  startDate: z4.string().nullable(),
@@ -26155,21 +26203,21 @@ var goalDataSchema = z4.object({
26155
26203
  progress: z4.number(),
26156
26204
  totalLessons: z4.number()
26157
26205
  });
26158
- var goalHistoryItemSchema = z4.object({
26159
- goal: goalDataSchema,
26160
- subject: goalSubjectSchema,
26161
- creator: goalCreatorSchema,
26162
- stats: goalStatsSchema,
26163
- breakdown: z4.array(goalBreakdownSchema)
26206
+ var recommendedClassHistoryItemSchema = z4.object({
26207
+ recommendedClass: recommendedClassDataSchema,
26208
+ subject: recommendedClassSubjectSchema,
26209
+ creator: recommendedClassCreatorSchema,
26210
+ stats: recommendedClassStatsSchema,
26211
+ breakdown: z4.array(recommendedClassBreakdownSchema)
26164
26212
  });
26165
- var goalsHistoryApiResponseSchema = z4.object({
26213
+ var recommendedClassHistoryApiResponseSchema = z4.object({
26166
26214
  message: z4.string(),
26167
26215
  data: z4.object({
26168
- goals: z4.array(goalHistoryItemSchema),
26216
+ recommendedClass: z4.array(recommendedClassHistoryItemSchema),
26169
26217
  total: z4.number()
26170
26218
  })
26171
26219
  });
26172
- var determineGoalStatus = (finalDate, completionPercentage) => {
26220
+ var determineRecommendedClassStatus = (finalDate, completionPercentage) => {
26173
26221
  if (completionPercentage === 100) {
26174
26222
  return "CONCLU\xCDDA" /* CONCLUIDA */;
26175
26223
  }
@@ -26182,29 +26230,29 @@ var determineGoalStatus = (finalDate, completionPercentage) => {
26182
26230
  }
26183
26231
  return "ATIVA" /* ATIVA */;
26184
26232
  };
26185
- var transformGoalToTableItem = (item) => {
26233
+ var transformRecommendedClassToTableItem = (item) => {
26186
26234
  const firstBreakdown = item.breakdown[0];
26187
26235
  const schoolName = firstBreakdown?.schoolName || "-";
26188
26236
  const className = firstBreakdown?.className || "-";
26189
26237
  const classDisplay = item.breakdown.length > 1 ? `${item.breakdown.length} turmas` : className;
26190
26238
  return {
26191
- id: item.goal.id,
26192
- startDate: item.goal.startDate ? dayjs4(item.goal.startDate).format("DD/MM") : "-",
26193
- deadline: item.goal.finalDate ? dayjs4(item.goal.finalDate).format("DD/MM") : "-",
26194
- title: item.goal.title,
26239
+ id: item.recommendedClass.id,
26240
+ startDate: item.recommendedClass.startDate ? dayjs4(item.recommendedClass.startDate).format("DD/MM") : "-",
26241
+ deadline: item.recommendedClass.finalDate ? dayjs4(item.recommendedClass.finalDate).format("DD/MM") : "-",
26242
+ title: item.recommendedClass.title,
26195
26243
  school: schoolName,
26196
26244
  year: "-",
26197
26245
  // API doesn't provide year directly
26198
26246
  subject: item.subject?.name || "-",
26199
26247
  class: classDisplay,
26200
- status: determineGoalStatus(
26201
- item.goal.finalDate,
26248
+ status: determineRecommendedClassStatus(
26249
+ item.recommendedClass.finalDate,
26202
26250
  item.stats.completionPercentage
26203
26251
  ),
26204
26252
  completionPercentage: item.stats.completionPercentage
26205
26253
  };
26206
26254
  };
26207
- var handleGoalFetchError = (error) => {
26255
+ var handleRecommendedClassFetchError = (error) => {
26208
26256
  if (error instanceof z4.ZodError) {
26209
26257
  console.error("Erro ao validar dados de hist\xF3rico de aulas:", error);
26210
26258
  return "Erro ao validar dados de hist\xF3rico de aulas";
@@ -26212,10 +26260,10 @@ var handleGoalFetchError = (error) => {
26212
26260
  console.error("Erro ao carregar hist\xF3rico de aulas:", error);
26213
26261
  return "Erro ao carregar hist\xF3rico de aulas";
26214
26262
  };
26215
- var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
26263
+ var createUseRecommendedLessonsHistory = (fetchRecommendedClassHistory) => {
26216
26264
  return () => {
26217
26265
  const [state, setState] = useState46({
26218
- goals: [],
26266
+ recommendedClass: [],
26219
26267
  loading: false,
26220
26268
  error: null,
26221
26269
  pagination: {
@@ -26225,21 +26273,21 @@ var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
26225
26273
  totalPages: 0
26226
26274
  }
26227
26275
  });
26228
- const fetchGoals = useCallback25(
26276
+ const fetchRecommendedClass = useCallback25(
26229
26277
  async (filters) => {
26230
26278
  setState((prev) => ({ ...prev, loading: true, error: null }));
26231
26279
  try {
26232
- const responseData = await fetchGoalsHistory(filters);
26233
- const validatedData = goalsHistoryApiResponseSchema.parse(responseData);
26234
- const tableItems = validatedData.data.goals.map(
26235
- transformGoalToTableItem
26280
+ const responseData = await fetchRecommendedClassHistory(filters);
26281
+ const validatedData = recommendedClassHistoryApiResponseSchema.parse(responseData);
26282
+ const tableItems = validatedData.data.recommendedClass.map(
26283
+ transformRecommendedClassToTableItem
26236
26284
  );
26237
26285
  const page = filters?.page || 1;
26238
26286
  const limit = filters?.limit || 10;
26239
26287
  const total = validatedData.data.total;
26240
26288
  const totalPages = Math.ceil(total / limit);
26241
26289
  setState({
26242
- goals: tableItems,
26290
+ recommendedClass: tableItems,
26243
26291
  loading: false,
26244
26292
  error: null,
26245
26293
  pagination: {
@@ -26250,7 +26298,7 @@ var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
26250
26298
  }
26251
26299
  });
26252
26300
  } catch (error) {
26253
- const errorMessage = handleGoalFetchError(error);
26301
+ const errorMessage = handleRecommendedClassFetchError(error);
26254
26302
  setState((prev) => ({
26255
26303
  ...prev,
26256
26304
  loading: false,
@@ -26258,11 +26306,11 @@ var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
26258
26306
  }));
26259
26307
  }
26260
26308
  },
26261
- [fetchGoalsHistory]
26309
+ [fetchRecommendedClassHistory]
26262
26310
  );
26263
26311
  return {
26264
26312
  ...state,
26265
- fetchGoals
26313
+ fetchRecommendedClass
26266
26314
  };
26267
26315
  };
26268
26316
  };
@@ -26463,7 +26511,7 @@ var getSubjectOptions = (data) => {
26463
26511
  name: subject.name
26464
26512
  }));
26465
26513
  };
26466
- var createGoalModelsFiltersConfig = (userData) => [
26514
+ var createRecommendedClassModelsFiltersConfig = (userData) => [
26467
26515
  {
26468
26516
  key: "content",
26469
26517
  label: "CONTE\xDADO",
@@ -26479,7 +26527,7 @@ var createGoalModelsFiltersConfig = (userData) => [
26479
26527
  ];
26480
26528
 
26481
26529
  // src/components/RecommendedLessonsHistory/utils/filterBuilders.ts
26482
- var buildGoalModelsFiltersFromParams = (params) => {
26530
+ var buildRecommendedClassModelsFiltersFromParams = (params) => {
26483
26531
  const filters = {
26484
26532
  page: params.page,
26485
26533
  limit: params.limit
@@ -26493,7 +26541,7 @@ var buildGoalModelsFiltersFromParams = (params) => {
26493
26541
  return filters;
26494
26542
  };
26495
26543
 
26496
- // src/hooks/useGoalModels.ts
26544
+ // src/hooks/useRecommendedClassModels.ts
26497
26545
  import { useState as useState48, useCallback as useCallback27 } from "react";
26498
26546
  import { z as z6 } from "zod";
26499
26547
  import dayjs5 from "dayjs";
@@ -26509,10 +26557,10 @@ var createFetchErrorHandler = (validationErrorMessage, genericErrorMessage) => (
26509
26557
  return genericErrorMessage;
26510
26558
  };
26511
26559
 
26512
- // src/hooks/useGoalModels.ts
26513
- var goalModelResponseSchema = z6.object({
26560
+ // src/hooks/useRecommendedClassModels.ts
26561
+ var recommendedClassModelResponseSchema = z6.object({
26514
26562
  id: z6.string().uuid(),
26515
- type: z6.nativeEnum(GoalDraftType),
26563
+ type: z6.nativeEnum(RecommendedClassDraftType),
26516
26564
  title: z6.string(),
26517
26565
  description: z6.string().nullable(),
26518
26566
  creatorUserInstitutionId: z6.string().uuid(),
@@ -26522,20 +26570,20 @@ var goalModelResponseSchema = z6.object({
26522
26570
  createdAt: z6.string(),
26523
26571
  updatedAt: z6.string()
26524
26572
  });
26525
- var goalModelsApiResponseSchema = z6.object({
26573
+ var recommendedClassModelsApiResponseSchema = z6.object({
26526
26574
  message: z6.string(),
26527
26575
  data: z6.object({
26528
- drafts: z6.array(goalModelResponseSchema),
26576
+ drafts: z6.array(recommendedClassModelResponseSchema),
26529
26577
  total: z6.number()
26530
26578
  })
26531
26579
  });
26532
- var DEFAULT_GOAL_MODELS_PAGINATION = {
26580
+ var DEFAULT_RECOMMENDED_CLASS_MODELS_PAGINATION = {
26533
26581
  total: 0,
26534
26582
  page: 1,
26535
26583
  limit: 10,
26536
26584
  totalPages: 0
26537
26585
  };
26538
- var transformGoalModelToTableItem = (model, subjectsMap) => {
26586
+ var transformRecommendedClassModelToTableItem = (model, subjectsMap) => {
26539
26587
  const subjectName = model.subjectId ? subjectsMap?.get(model.subjectId) || "" : "";
26540
26588
  return {
26541
26589
  id: model.id,
@@ -26545,26 +26593,26 @@ var transformGoalModelToTableItem = (model, subjectsMap) => {
26545
26593
  subjectId: model.subjectId
26546
26594
  };
26547
26595
  };
26548
- var handleGoalModelFetchError = createFetchErrorHandler(
26596
+ var handleRecommendedClassModelFetchError = createFetchErrorHandler(
26549
26597
  "Erro ao validar dados de modelos de aulas",
26550
26598
  "Erro ao carregar modelos de aulas"
26551
26599
  );
26552
- var createUseGoalModels = (fetchGoalModels, deleteGoalModel) => {
26600
+ var createUseRecommendedClassModels = (fetchRecommendedClassModels, deleteRecommendedClassModel) => {
26553
26601
  return () => {
26554
26602
  const [state, setState] = useState48({
26555
26603
  models: [],
26556
26604
  loading: false,
26557
26605
  error: null,
26558
- pagination: DEFAULT_GOAL_MODELS_PAGINATION
26606
+ pagination: DEFAULT_RECOMMENDED_CLASS_MODELS_PAGINATION
26559
26607
  });
26560
26608
  const fetchModels = useCallback27(
26561
26609
  async (filters, subjectsMap) => {
26562
26610
  setState((prev) => ({ ...prev, loading: true, error: null }));
26563
26611
  try {
26564
- const responseData = await fetchGoalModels(filters);
26565
- const validatedData = goalModelsApiResponseSchema.parse(responseData);
26612
+ const responseData = await fetchRecommendedClassModels(filters);
26613
+ const validatedData = recommendedClassModelsApiResponseSchema.parse(responseData);
26566
26614
  const tableItems = validatedData.data.drafts.map(
26567
- (model) => transformGoalModelToTableItem(model, subjectsMap)
26615
+ (model) => transformRecommendedClassModelToTableItem(model, subjectsMap)
26568
26616
  );
26569
26617
  const limit = filters?.limit || 10;
26570
26618
  const page = filters?.page || 1;
@@ -26582,7 +26630,7 @@ var createUseGoalModels = (fetchGoalModels, deleteGoalModel) => {
26582
26630
  }
26583
26631
  });
26584
26632
  } catch (error) {
26585
- const errorMessage = handleGoalModelFetchError(error);
26633
+ const errorMessage = handleRecommendedClassModelFetchError(error);
26586
26634
  setState((prev) => ({
26587
26635
  ...prev,
26588
26636
  loading: false,
@@ -26590,19 +26638,19 @@ var createUseGoalModels = (fetchGoalModels, deleteGoalModel) => {
26590
26638
  }));
26591
26639
  }
26592
26640
  },
26593
- [fetchGoalModels]
26641
+ [fetchRecommendedClassModels]
26594
26642
  );
26595
26643
  const deleteModel = useCallback27(
26596
26644
  async (id) => {
26597
26645
  try {
26598
- await deleteGoalModel(id);
26646
+ await deleteRecommendedClassModel(id);
26599
26647
  return true;
26600
26648
  } catch (error) {
26601
26649
  console.error("Erro ao deletar modelo:", error);
26602
26650
  return false;
26603
26651
  }
26604
26652
  },
26605
- [deleteGoalModel]
26653
+ [deleteRecommendedClassModel]
26606
26654
  );
26607
26655
  return {
26608
26656
  ...state,
@@ -26611,27 +26659,27 @@ var createUseGoalModels = (fetchGoalModels, deleteGoalModel) => {
26611
26659
  };
26612
26660
  };
26613
26661
  };
26614
- var createGoalModelsHook = createUseGoalModels;
26662
+ var createRecommendedClassModelsHook = createUseRecommendedClassModels;
26615
26663
 
26616
26664
  // src/components/RecommendedLessonsHistory/tabs/ModelsTab.tsx
26617
26665
  import { jsx as jsx118 } from "react/jsx-runtime";
26618
- var GOAL_MODELS_CONFIG = {
26666
+ var RECOMMENDED_CLASS_MODELS_CONFIG = {
26619
26667
  entityName: "aula",
26620
26668
  entityNamePlural: "aulas",
26621
- testId: "goal-models-tab",
26669
+ testId: "recommendedClass-models-tab",
26622
26670
  emptyStateTitle: "Crie modelos para agilizar suas aulas",
26623
26671
  emptyStateDescription: "Salve modelos de aulas recomendadas para reutilizar e enviar rapidamente para suas turmas!",
26624
26672
  searchPlaceholder: "Buscar modelo"
26625
26673
  };
26626
- var GOAL_COLUMNS_CONFIG = {
26674
+ var RECOMMENDED_CLASS_COLUMNS_CONFIG = {
26627
26675
  sendButtonLabel: "Enviar aula",
26628
26676
  sendButtonAriaLabel: "Enviar aula",
26629
26677
  deleteButtonAriaLabel: "Deletar modelo",
26630
26678
  editButtonAriaLabel: "Editar modelo"
26631
26679
  };
26632
- var GoalModelsTab = ({
26633
- fetchGoalModels,
26634
- deleteGoalModel,
26680
+ var RecommendedClassModelsTab = ({
26681
+ fetchRecommendedClassModels,
26682
+ deleteRecommendedClassModel,
26635
26683
  onCreateModel,
26636
26684
  onSendLesson,
26637
26685
  onEditModel,
@@ -26643,8 +26691,8 @@ var GoalModelsTab = ({
26643
26691
  }) => /* @__PURE__ */ jsx118(
26644
26692
  ModelsTabBase,
26645
26693
  {
26646
- fetchModels: fetchGoalModels,
26647
- deleteModel: deleteGoalModel,
26694
+ fetchModels: fetchRecommendedClassModels,
26695
+ deleteModel: deleteRecommendedClassModel,
26648
26696
  onCreateModel,
26649
26697
  onSend: onSendLesson,
26650
26698
  onEditModel,
@@ -26653,17 +26701,17 @@ var GoalModelsTab = ({
26653
26701
  mapSubjectNameToEnum: mapSubjectNameToEnum2,
26654
26702
  userFilterData,
26655
26703
  subjectsMap,
26656
- config: GOAL_MODELS_CONFIG,
26704
+ config: RECOMMENDED_CLASS_MODELS_CONFIG,
26657
26705
  createTableColumns: (mapSubject, send, edit, del) => createModelsTableColumnsBase(
26658
26706
  mapSubject,
26659
26707
  send,
26660
26708
  edit,
26661
26709
  del,
26662
- GOAL_COLUMNS_CONFIG
26710
+ RECOMMENDED_CLASS_COLUMNS_CONFIG
26663
26711
  ),
26664
- createFiltersConfig: createGoalModelsFiltersConfig,
26665
- buildFiltersFromParams: buildGoalModelsFiltersFromParams,
26666
- createUseModels: createUseGoalModels
26712
+ createFiltersConfig: createRecommendedClassModelsFiltersConfig,
26713
+ buildFiltersFromParams: buildRecommendedClassModelsFiltersFromParams,
26714
+ createUseModels: createUseRecommendedClassModels
26667
26715
  }
26668
26716
  );
26669
26717
 
@@ -26675,7 +26723,7 @@ var getSubjectOptions2 = (data) => {
26675
26723
  name: subject.name
26676
26724
  }));
26677
26725
  };
26678
- var createGoalDraftsFiltersConfig = (userData) => [
26726
+ var createRecommendedClassDraftsFiltersConfig = (userData) => [
26679
26727
  {
26680
26728
  key: "content",
26681
26729
  label: "CONTE\xDADO",
@@ -26690,34 +26738,34 @@ var createGoalDraftsFiltersConfig = (userData) => [
26690
26738
  }
26691
26739
  ];
26692
26740
 
26693
- // src/hooks/useGoalDrafts.ts
26741
+ // src/hooks/useRecommendedClassDrafts.ts
26694
26742
  import { useState as useState49, useCallback as useCallback28 } from "react";
26695
- var DEFAULT_GOAL_DRAFTS_PAGINATION = {
26743
+ var DEFAULT_RECOMMENDED_CLASS_DRAFTS_PAGINATION = {
26696
26744
  total: 0,
26697
26745
  page: 1,
26698
26746
  limit: 10,
26699
26747
  totalPages: 0
26700
26748
  };
26701
- var handleGoalDraftFetchError = createFetchErrorHandler(
26749
+ var handleRecommendedClassDraftFetchError = createFetchErrorHandler(
26702
26750
  "Erro ao validar dados de rascunhos de aulas",
26703
26751
  "Erro ao carregar rascunhos de aulas"
26704
26752
  );
26705
- var createUseGoalDrafts = (fetchGoalDrafts, deleteGoalDraft) => {
26753
+ var createUseRecommendedClassDrafts = (fetchRecommendedClassDrafts, deleteRecommendedClassDraft) => {
26706
26754
  return () => {
26707
26755
  const [state, setState] = useState49({
26708
26756
  models: [],
26709
26757
  loading: false,
26710
26758
  error: null,
26711
- pagination: DEFAULT_GOAL_DRAFTS_PAGINATION
26759
+ pagination: DEFAULT_RECOMMENDED_CLASS_DRAFTS_PAGINATION
26712
26760
  });
26713
26761
  const fetchModels = useCallback28(
26714
26762
  async (filters, subjectsMap) => {
26715
26763
  setState((prev) => ({ ...prev, loading: true, error: null }));
26716
26764
  try {
26717
- const responseData = await fetchGoalDrafts(filters);
26718
- const validatedData = goalModelsApiResponseSchema.parse(responseData);
26765
+ const responseData = await fetchRecommendedClassDrafts(filters);
26766
+ const validatedData = recommendedClassModelsApiResponseSchema.parse(responseData);
26719
26767
  const tableItems = validatedData.data.drafts.map(
26720
- (draft) => transformGoalModelToTableItem(draft, subjectsMap)
26768
+ (draft) => transformRecommendedClassModelToTableItem(draft, subjectsMap)
26721
26769
  );
26722
26770
  const limit = filters?.limit || 10;
26723
26771
  const page = filters?.page || 1;
@@ -26735,7 +26783,7 @@ var createUseGoalDrafts = (fetchGoalDrafts, deleteGoalDraft) => {
26735
26783
  }
26736
26784
  });
26737
26785
  } catch (error) {
26738
- const errorMessage = handleGoalDraftFetchError(error);
26786
+ const errorMessage = handleRecommendedClassDraftFetchError(error);
26739
26787
  setState((prev) => ({
26740
26788
  ...prev,
26741
26789
  loading: false,
@@ -26743,19 +26791,19 @@ var createUseGoalDrafts = (fetchGoalDrafts, deleteGoalDraft) => {
26743
26791
  }));
26744
26792
  }
26745
26793
  },
26746
- [fetchGoalDrafts]
26794
+ [fetchRecommendedClassDrafts]
26747
26795
  );
26748
26796
  const deleteModel = useCallback28(
26749
26797
  async (id) => {
26750
26798
  try {
26751
- await deleteGoalDraft(id);
26799
+ await deleteRecommendedClassDraft(id);
26752
26800
  return true;
26753
26801
  } catch (error) {
26754
26802
  console.error("Erro ao deletar rascunho:", error);
26755
26803
  return false;
26756
26804
  }
26757
26805
  },
26758
- [deleteGoalDraft]
26806
+ [deleteRecommendedClassDraft]
26759
26807
  );
26760
26808
  return {
26761
26809
  ...state,
@@ -26764,27 +26812,27 @@ var createUseGoalDrafts = (fetchGoalDrafts, deleteGoalDraft) => {
26764
26812
  };
26765
26813
  };
26766
26814
  };
26767
- var createGoalDraftsHook = createUseGoalDrafts;
26815
+ var createRecommendedClassDraftsHook = createUseRecommendedClassDrafts;
26768
26816
 
26769
26817
  // src/components/RecommendedLessonsHistory/tabs/DraftsTab.tsx
26770
26818
  import { jsx as jsx119 } from "react/jsx-runtime";
26771
- var GOAL_DRAFTS_CONFIG = {
26819
+ var RECOMMENDED_CLASS_DRAFTS_CONFIG = {
26772
26820
  entityName: "rascunho",
26773
26821
  entityNamePlural: "rascunhos",
26774
- testId: "goal-drafts-tab",
26822
+ testId: "recommendedClass-drafts-tab",
26775
26823
  emptyStateTitle: "Voc\xEA n\xE3o tem aulas recomendadas em rascunho",
26776
26824
  emptyStateDescription: "As aulas recomendadas que voc\xEA come\xE7ar a criar, aparecer\xE3o aqui automaticamente como rascunhos. Tudo \xE9 salvo enquanto voc\xEA cria, continue de onde parou quando quiser!",
26777
26825
  searchPlaceholder: "Buscar rascunho"
26778
26826
  };
26779
- var GOAL_DRAFTS_COLUMNS_CONFIG = {
26827
+ var RECOMMENDED_CLASS_DRAFTS_COLUMNS_CONFIG = {
26780
26828
  sendButtonLabel: "Enviar aula",
26781
26829
  sendButtonAriaLabel: "Enviar rascunho",
26782
26830
  deleteButtonAriaLabel: "Deletar rascunho",
26783
26831
  editButtonAriaLabel: "Editar rascunho"
26784
26832
  };
26785
- var GoalDraftsTab = ({
26786
- fetchGoalDrafts,
26787
- deleteGoalDraft,
26833
+ var RecommendedClassDraftsTab = ({
26834
+ fetchRecommendedClassDrafts,
26835
+ deleteRecommendedClassDraft,
26788
26836
  onCreateDraft,
26789
26837
  onSendDraft,
26790
26838
  onEditDraft,
@@ -26796,8 +26844,8 @@ var GoalDraftsTab = ({
26796
26844
  }) => /* @__PURE__ */ jsx119(
26797
26845
  ModelsTabBase,
26798
26846
  {
26799
- fetchModels: fetchGoalDrafts,
26800
- deleteModel: deleteGoalDraft,
26847
+ fetchModels: fetchRecommendedClassDrafts,
26848
+ deleteModel: deleteRecommendedClassDraft,
26801
26849
  onCreateModel: onCreateDraft,
26802
26850
  onSend: onSendDraft,
26803
26851
  onEditModel: onEditDraft,
@@ -26806,28 +26854,28 @@ var GoalDraftsTab = ({
26806
26854
  mapSubjectNameToEnum: mapSubjectNameToEnum2,
26807
26855
  userFilterData,
26808
26856
  subjectsMap,
26809
- config: GOAL_DRAFTS_CONFIG,
26857
+ config: RECOMMENDED_CLASS_DRAFTS_CONFIG,
26810
26858
  createTableColumns: (mapSubject, send, edit, del) => createModelsTableColumnsBase(
26811
26859
  mapSubject,
26812
26860
  send,
26813
26861
  edit,
26814
26862
  del,
26815
- GOAL_DRAFTS_COLUMNS_CONFIG
26863
+ RECOMMENDED_CLASS_DRAFTS_COLUMNS_CONFIG
26816
26864
  ),
26817
- createFiltersConfig: createGoalDraftsFiltersConfig,
26818
- buildFiltersFromParams: buildGoalModelsFiltersFromParams,
26819
- createUseModels: createUseGoalDrafts
26865
+ createFiltersConfig: createRecommendedClassDraftsFiltersConfig,
26866
+ buildFiltersFromParams: buildRecommendedClassModelsFiltersFromParams,
26867
+ createUseModels: createUseRecommendedClassDrafts
26820
26868
  }
26821
26869
  );
26822
26870
 
26823
26871
  // src/components/RecommendedLessonsHistory/RecommendedLessonsHistory.tsx
26824
26872
  import { Fragment as Fragment26, jsx as jsx120, jsxs as jsxs94 } from "react/jsx-runtime";
26825
- var GoalPageTab = /* @__PURE__ */ ((GoalPageTab2) => {
26826
- GoalPageTab2["HISTORY"] = "history";
26827
- GoalPageTab2["DRAFTS"] = "drafts";
26828
- GoalPageTab2["MODELS"] = "models";
26829
- return GoalPageTab2;
26830
- })(GoalPageTab || {});
26873
+ var RecommendedClassPageTab = /* @__PURE__ */ ((RecommendedClassPageTab2) => {
26874
+ RecommendedClassPageTab2["HISTORY"] = "history";
26875
+ RecommendedClassPageTab2["DRAFTS"] = "drafts";
26876
+ RecommendedClassPageTab2["MODELS"] = "models";
26877
+ return RecommendedClassPageTab2;
26878
+ })(RecommendedClassPageTab || {});
26831
26879
  var extractFilterValue = (param) => {
26832
26880
  if (!Array.isArray(param) || param.length === 0) return {};
26833
26881
  return param.length === 1 ? { single: param[0] } : { multiple: param };
@@ -26888,7 +26936,7 @@ var getClassOptions = (data) => {
26888
26936
  name: cls.name
26889
26937
  }));
26890
26938
  };
26891
- var createGoalFiltersConfig = (userData) => [
26939
+ var createRecommendedClassFiltersConfig = (userData) => [
26892
26940
  {
26893
26941
  key: "academic",
26894
26942
  label: "DADOS ACAD\xCAMICOS",
@@ -26963,12 +27011,12 @@ var createGoalFiltersConfig = (userData) => [
26963
27011
  key: "status",
26964
27012
  label: "Status",
26965
27013
  selectedIds: [],
26966
- itens: GOAL_FILTER_STATUS_OPTIONS
27014
+ itens: RECOMMENDED_CLASS_FILTER_STATUS_OPTIONS
26967
27015
  }
26968
27016
  ]
26969
27017
  }
26970
27018
  ];
26971
- var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteGoal, onEditGoal) => [
27019
+ var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteRecommendedClass, onEditRecommendedClass) => [
26972
27020
  {
26973
27021
  key: "startDate",
26974
27022
  label: "In\xEDcio",
@@ -27049,7 +27097,9 @@ var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteGoal, onEditGoal) => [
27049
27097
  Badge_default,
27050
27098
  {
27051
27099
  variant: "solid",
27052
- action: getGoalStatusBadgeAction(status),
27100
+ action: getRecommendedClassStatusBadgeAction(
27101
+ status
27102
+ ),
27053
27103
  size: "small",
27054
27104
  children: status
27055
27105
  }
@@ -27080,11 +27130,11 @@ var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteGoal, onEditGoal) => [
27080
27130
  render: (_value, row) => {
27081
27131
  const handleDelete = (e) => {
27082
27132
  e.stopPropagation();
27083
- onDeleteGoal?.(row.id);
27133
+ onDeleteRecommendedClass?.(row.id);
27084
27134
  };
27085
27135
  const handleEdit = (e) => {
27086
27136
  e.stopPropagation();
27087
- onEditGoal?.(row.id);
27137
+ onEditRecommendedClass?.(row.id);
27088
27138
  };
27089
27139
  return /* @__PURE__ */ jsxs94("div", { className: "flex justify-center gap-2", children: [
27090
27140
  /* @__PURE__ */ jsx120(
@@ -27117,11 +27167,11 @@ var createTableColumns2 = (mapSubjectNameToEnum2, onDeleteGoal, onEditGoal) => [
27117
27167
  }
27118
27168
  ];
27119
27169
  var RecommendedLessonsHistory = ({
27120
- fetchGoalsHistory,
27170
+ fetchRecommendedClassHistory,
27121
27171
  onCreateLesson,
27122
27172
  onRowClick,
27123
- onDeleteGoal,
27124
- onEditGoal,
27173
+ onDeleteRecommendedClass,
27174
+ onEditRecommendedClass,
27125
27175
  emptyStateImage,
27126
27176
  noSearchImage,
27127
27177
  mapSubjectNameToEnum: mapSubjectNameToEnum2,
@@ -27129,14 +27179,14 @@ var RecommendedLessonsHistory = ({
27129
27179
  title = "Hist\xF3rico de aulas recomendadas",
27130
27180
  createButtonText = "Criar aula",
27131
27181
  searchPlaceholder = "Buscar aula",
27132
- fetchGoalModels,
27133
- deleteGoalModel,
27182
+ fetchRecommendedClassModels,
27183
+ deleteRecommendedClassModel,
27134
27184
  onCreateModel,
27135
27185
  onSendLesson,
27136
27186
  onEditModel,
27137
27187
  subjectsMap,
27138
- fetchGoalDrafts,
27139
- deleteGoalDraft,
27188
+ fetchRecommendedClassDrafts,
27189
+ deleteRecommendedClassDraft,
27140
27190
  onSendDraft,
27141
27191
  onEditDraft,
27142
27192
  defaultTab,
@@ -27158,35 +27208,39 @@ var RecommendedLessonsHistory = ({
27158
27208
  },
27159
27209
  [onTabChange]
27160
27210
  );
27161
- const fetchGoalsHistoryRef = useRef32(fetchGoalsHistory);
27162
- fetchGoalsHistoryRef.current = fetchGoalsHistory;
27163
- const useGoalsHistory = useMemo28(
27211
+ const fetchRecommendedClassHistoryRef = useRef32(fetchRecommendedClassHistory);
27212
+ fetchRecommendedClassHistoryRef.current = fetchRecommendedClassHistory;
27213
+ const useRecommendedClassHistory = useMemo28(
27164
27214
  () => createUseRecommendedLessonsHistory(
27165
- (filters) => fetchGoalsHistoryRef.current(filters)
27215
+ (filters) => fetchRecommendedClassHistoryRef.current(filters)
27166
27216
  ),
27167
27217
  []
27168
27218
  );
27169
27219
  const {
27170
- goals,
27220
+ recommendedClass,
27171
27221
  loading,
27172
27222
  error,
27173
27223
  pagination,
27174
- fetchGoals
27175
- } = useGoalsHistory();
27224
+ fetchRecommendedClass
27225
+ } = useRecommendedClassHistory();
27176
27226
  const initialFilterConfigs = useMemo28(
27177
- () => createGoalFiltersConfig(userFilterData),
27227
+ () => createRecommendedClassFiltersConfig(userFilterData),
27178
27228
  [userFilterData]
27179
27229
  );
27180
27230
  const tableColumns = useMemo28(
27181
- () => createTableColumns2(mapSubjectNameToEnum2, onDeleteGoal, onEditGoal),
27182
- [mapSubjectNameToEnum2, onDeleteGoal, onEditGoal]
27231
+ () => createTableColumns2(
27232
+ mapSubjectNameToEnum2,
27233
+ onDeleteRecommendedClass,
27234
+ onEditRecommendedClass
27235
+ ),
27236
+ [mapSubjectNameToEnum2, onDeleteRecommendedClass, onEditRecommendedClass]
27183
27237
  );
27184
27238
  const handleParamsChange = useCallback29(
27185
27239
  (params) => {
27186
27240
  const filters = buildFiltersFromParams(params);
27187
- fetchGoals(filters);
27241
+ fetchRecommendedClass(filters);
27188
27242
  },
27189
- [fetchGoals]
27243
+ [fetchRecommendedClass]
27190
27244
  );
27191
27245
  return /* @__PURE__ */ jsxs94(
27192
27246
  "div",
@@ -27260,7 +27314,7 @@ var RecommendedLessonsHistory = ({
27260
27314
  activeTab === "history" /* HISTORY */ && /* @__PURE__ */ jsx120(Fragment26, { children: error ? /* @__PURE__ */ jsx120("div", { className: "flex items-center justify-center bg-background rounded-xl w-full min-h-[705px]", children: /* @__PURE__ */ jsx120(Text_default, { size: "lg", color: "text-error-500", children: error }) }) : /* @__PURE__ */ jsx120("div", { className: "w-full", children: /* @__PURE__ */ jsx120(
27261
27315
  TableProvider,
27262
27316
  {
27263
- data: goals,
27317
+ data: recommendedClass,
27264
27318
  headers: tableColumns,
27265
27319
  loading,
27266
27320
  variant: "borderless",
@@ -27327,11 +27381,11 @@ var RecommendedLessonsHistory = ({
27327
27381
  }
27328
27382
  }
27329
27383
  ) }) }),
27330
- activeTab === "drafts" /* DRAFTS */ && fetchGoalDrafts && deleteGoalDraft && onCreateLesson && /* @__PURE__ */ jsx120(
27331
- GoalDraftsTab,
27384
+ activeTab === "drafts" /* DRAFTS */ && fetchRecommendedClassDrafts && deleteRecommendedClassDraft && onCreateLesson && /* @__PURE__ */ jsx120(
27385
+ RecommendedClassDraftsTab,
27332
27386
  {
27333
- fetchGoalDrafts,
27334
- deleteGoalDraft,
27387
+ fetchRecommendedClassDrafts,
27388
+ deleteRecommendedClassDraft,
27335
27389
  onCreateDraft: onCreateLesson,
27336
27390
  onSendDraft,
27337
27391
  onEditDraft,
@@ -27342,11 +27396,11 @@ var RecommendedLessonsHistory = ({
27342
27396
  subjectsMap
27343
27397
  }
27344
27398
  ),
27345
- activeTab === "models" /* MODELS */ && fetchGoalModels && deleteGoalModel && onCreateModel && /* @__PURE__ */ jsx120(
27346
- GoalModelsTab,
27399
+ activeTab === "models" /* MODELS */ && fetchRecommendedClassModels && deleteRecommendedClassModel && onCreateModel && /* @__PURE__ */ jsx120(
27400
+ RecommendedClassModelsTab,
27347
27401
  {
27348
- fetchGoalModels,
27349
- deleteGoalModel,
27402
+ fetchRecommendedClassModels,
27403
+ deleteRecommendedClassModel,
27350
27404
  onCreateModel,
27351
27405
  onSendLesson,
27352
27406
  onEditModel,
@@ -27421,8 +27475,8 @@ var LessonHeader = ({
27421
27475
  mapSubjectNameToEnum: mapSubjectNameToEnum2,
27422
27476
  viewLessonLabel
27423
27477
  }) => {
27424
- const { goal, breakdown } = data;
27425
- const subjectName = goal.lessonsGoals[0]?.supLessonsProgress?.lesson?.subject?.name || "";
27478
+ const { recommendedClass, breakdown } = data;
27479
+ const subjectName = recommendedClass.lessons[0]?.supLessonsProgress?.lesson?.subject?.name || "";
27426
27480
  const subjectEnum = mapSubjectNameToEnum2?.(subjectName);
27427
27481
  const subjectInfo = subjectEnum ? getSubjectInfo(subjectEnum) : null;
27428
27482
  return /* @__PURE__ */ jsx122("div", { className: "bg-background rounded-xl border border-border-50 p-6", children: /* @__PURE__ */ jsxs96("div", { className: "flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4", children: [
@@ -27434,18 +27488,18 @@ var LessonHeader = ({
27434
27488
  size: "xl",
27435
27489
  weight: "bold",
27436
27490
  className: "text-text-950 lg:text-2xl",
27437
- children: goal.title
27491
+ children: recommendedClass.title
27438
27492
  }
27439
27493
  ),
27440
27494
  /* @__PURE__ */ jsxs96("div", { className: "flex flex-wrap items-center gap-2 text-sm text-text-600", children: [
27441
27495
  /* @__PURE__ */ jsxs96(Text_default, { as: "span", size: "sm", className: "text-text-600", children: [
27442
27496
  "In\xEDcio em ",
27443
- formatDate(goal.startDate)
27497
+ formatDate(recommendedClass.startDate)
27444
27498
  ] }),
27445
27499
  /* @__PURE__ */ jsx122(Text_default, { as: "span", size: "sm", className: "text-text-400", children: "\u2022" }),
27446
27500
  /* @__PURE__ */ jsxs96(Text_default, { as: "span", size: "sm", className: "text-text-600", children: [
27447
27501
  "Prazo final ",
27448
- formatDate(goal.finalDate)
27502
+ formatDate(recommendedClass.finalDate)
27449
27503
  ] }),
27450
27504
  breakdown?.schoolName && /* @__PURE__ */ jsxs96(Fragment27, { children: [
27451
27505
  /* @__PURE__ */ jsx122(Text_default, { as: "span", size: "sm", className: "text-text-400", children: "\u2022" }),
@@ -28000,7 +28054,7 @@ var StudentPerformanceModal = ({
28000
28054
  // src/components/RecommendedLessonDetails/RecommendedLessonDetails.tsx
28001
28055
  import { Fragment as Fragment28, jsx as jsx127, jsxs as jsxs101 } from "react/jsx-runtime";
28002
28056
  var RecommendedLessonDetails = ({
28003
- goalId,
28057
+ recommendedClassId,
28004
28058
  data,
28005
28059
  loading = false,
28006
28060
  error = null,
@@ -28022,13 +28076,16 @@ var RecommendedLessonDetails = ({
28022
28076
  const [performanceError, setPerformanceError] = useState51(null);
28023
28077
  const handleViewStudentPerformance = useCallback31(
28024
28078
  async (studentId) => {
28025
- if (!fetchStudentPerformance || !goalId) return;
28079
+ if (!fetchStudentPerformance || !recommendedClassId) return;
28026
28080
  setPerformanceModalOpen(true);
28027
28081
  setPerformanceLoading(true);
28028
28082
  setPerformanceData(null);
28029
28083
  setPerformanceError(null);
28030
28084
  try {
28031
- const result = await fetchStudentPerformance(goalId, studentId);
28085
+ const result = await fetchStudentPerformance(
28086
+ recommendedClassId,
28087
+ studentId
28088
+ );
28032
28089
  setPerformanceData(result);
28033
28090
  } catch (err) {
28034
28091
  console.error("Error fetching student performance:", err);
@@ -28039,7 +28096,7 @@ var RecommendedLessonDetails = ({
28039
28096
  setPerformanceLoading(false);
28040
28097
  }
28041
28098
  },
28042
- [fetchStudentPerformance, goalId]
28099
+ [fetchStudentPerformance, recommendedClassId]
28043
28100
  );
28044
28101
  const handleClosePerformanceModal = useCallback31(() => {
28045
28102
  setPerformanceModalOpen(false);
@@ -28049,18 +28106,18 @@ var RecommendedLessonDetails = ({
28049
28106
  const defaultBreadcrumbs = useMemo30(
28050
28107
  () => [
28051
28108
  { label: "Aulas recomendadas", path: "/aulas-recomendadas" },
28052
- { label: data?.goal.title || "Detalhes" }
28109
+ { label: data?.recommendedClass.title || "Detalhes" }
28053
28110
  ],
28054
- [data?.goal.title]
28111
+ [data?.recommendedClass.title]
28055
28112
  );
28056
28113
  const breadcrumbItems = breadcrumbs || defaultBreadcrumbs;
28057
28114
  const displayStudents = useMemo30(() => {
28058
28115
  if (!data?.details.students) return [];
28059
- const deadline = data?.goal.finalDate;
28116
+ const deadline = data?.recommendedClass.finalDate;
28060
28117
  return data.details.students.map(
28061
28118
  (student) => transformStudentForDisplay(student, deadline)
28062
28119
  );
28063
- }, [data?.details.students, data?.goal.finalDate]);
28120
+ }, [data?.details.students, data?.recommendedClass.finalDate]);
28064
28121
  if (loading) {
28065
28122
  return /* @__PURE__ */ jsx127(
28066
28123
  "div",
@@ -28188,7 +28245,7 @@ var createUseRecommendedLessonsPage = (config) => {
28188
28245
  mapSubjectNameToEnum: mapSubjectNameToEnum2
28189
28246
  } = config;
28190
28247
  return () => {
28191
- const goalsMapRef = useRef33(/* @__PURE__ */ new Map());
28248
+ const recommendedClassMapRef = useRef33(/* @__PURE__ */ new Map());
28192
28249
  const [sendModalOpen, setSendModalOpen] = useState52(false);
28193
28250
  const [selectedModel, setSelectedModel] = useState52(null);
28194
28251
  const [sendModalLoading, setSendModalLoading] = useState52(false);
@@ -28207,60 +28264,63 @@ var createUseRecommendedLessonsPage = (config) => {
28207
28264
  subjects.forEach((s) => map.set(s.id, s.name));
28208
28265
  return map;
28209
28266
  }, [userData]);
28210
- const fetchGoalsHistory = useCallback32(
28267
+ const fetchRecommendedClassHistory = useCallback32(
28211
28268
  async (filters) => {
28212
28269
  const params = buildQueryParams2(filters);
28213
28270
  const response = await api.get(
28214
- endpoints.goalsHistory,
28271
+ endpoints.recommendedClassHistory,
28215
28272
  { params }
28216
28273
  );
28217
- const goals = response.data.data.goals;
28218
- goals.forEach((goal) => {
28219
- goalsMapRef.current.set(goal.goal.id, goal);
28274
+ const recommendedClass = response.data.data.recommendedClass;
28275
+ recommendedClass.forEach((recommendedClass2) => {
28276
+ recommendedClassMapRef.current.set(
28277
+ recommendedClass2.recommendedClass.id,
28278
+ recommendedClass2
28279
+ );
28220
28280
  });
28221
28281
  return response.data;
28222
28282
  },
28223
- [api, endpoints.goalsHistory]
28283
+ [api, endpoints.recommendedClassHistory]
28224
28284
  );
28225
- const fetchGoalModels = useCallback32(
28285
+ const fetchRecommendedClassModels = useCallback32(
28226
28286
  async (filters) => {
28227
28287
  const params = buildQueryParams2({
28228
28288
  ...filters,
28229
28289
  type: "MODELO" /* MODELO */
28230
28290
  });
28231
28291
  const response = await api.get(
28232
- endpoints.goalDrafts,
28292
+ endpoints.recommendedClassDrafts,
28233
28293
  { params }
28234
28294
  );
28235
28295
  return response.data;
28236
28296
  },
28237
- [api, endpoints.goalDrafts]
28297
+ [api, endpoints.recommendedClassDrafts]
28238
28298
  );
28239
- const deleteGoalModel = useCallback32(
28299
+ const deleteRecommendedClassModel = useCallback32(
28240
28300
  async (id) => {
28241
- await api.delete(`${endpoints.goalDrafts}/${id}`);
28301
+ await api.delete(`${endpoints.recommendedClassDrafts}/${id}`);
28242
28302
  },
28243
- [api, endpoints.goalDrafts]
28303
+ [api, endpoints.recommendedClassDrafts]
28244
28304
  );
28245
- const fetchGoalDrafts = useCallback32(
28305
+ const fetchRecommendedClassDrafts = useCallback32(
28246
28306
  async (filters) => {
28247
28307
  const params = buildQueryParams2({
28248
28308
  ...filters,
28249
28309
  type: "RASCUNHO" /* RASCUNHO */
28250
28310
  });
28251
28311
  const response = await api.get(
28252
- endpoints.goalDrafts,
28312
+ endpoints.recommendedClassDrafts,
28253
28313
  { params }
28254
28314
  );
28255
28315
  return response.data;
28256
28316
  },
28257
- [api, endpoints.goalDrafts]
28317
+ [api, endpoints.recommendedClassDrafts]
28258
28318
  );
28259
- const deleteGoalDraft = useCallback32(
28319
+ const deleteRecommendedClassDraft = useCallback32(
28260
28320
  async (id) => {
28261
- await api.delete(`${endpoints.goalDrafts}/${id}`);
28321
+ await api.delete(`${endpoints.recommendedClassDrafts}/${id}`);
28262
28322
  },
28263
- [api, endpoints.goalDrafts]
28323
+ [api, endpoints.recommendedClassDrafts]
28264
28324
  );
28265
28325
  const handleCreateLesson = useCallback32(() => {
28266
28326
  navigate(paths.createLesson);
@@ -28269,17 +28329,20 @@ var createUseRecommendedLessonsPage = (config) => {
28269
28329
  navigate(paths.createModel);
28270
28330
  }, []);
28271
28331
  const handleRowClick = useCallback32((row) => {
28272
- const originalData = goalsMapRef.current.get(row.id);
28332
+ const originalData = recommendedClassMapRef.current.get(row.id);
28273
28333
  navigate(`${paths.lessonDetails}/${row.id}`, {
28274
- state: { goalData: originalData }
28334
+ state: { recommendedClassData: originalData }
28275
28335
  });
28276
28336
  }, []);
28277
- const handleEditGoal = useCallback32((id) => {
28337
+ const handleEditRecommendedClass = useCallback32((id) => {
28278
28338
  navigate(`${paths.editLesson}/${id}/editar`);
28279
28339
  }, []);
28280
- const handleEditModel = useCallback32((model) => {
28281
- navigate(`${paths.editModel}${model.id}`);
28282
- }, []);
28340
+ const handleEditModel = useCallback32(
28341
+ (model) => {
28342
+ navigate(`${paths.editModel}${model.id}`);
28343
+ },
28344
+ []
28345
+ );
28283
28346
  const handleSendLesson = useCallback32(
28284
28347
  (model) => {
28285
28348
  setSelectedModel(model);
@@ -28308,7 +28371,7 @@ var createUseRecommendedLessonsPage = (config) => {
28308
28371
  if (!selectedModel) return;
28309
28372
  setSendModalLoading(true);
28310
28373
  try {
28311
- await api.post(endpoints.submitGoal, {
28374
+ await api.post(endpoints.submitRecommendedClass, {
28312
28375
  draftId: selectedModel.id,
28313
28376
  students: formData.students,
28314
28377
  startDate: `${formData.startDate}T${formData.startTime}:00`,
@@ -28320,7 +28383,7 @@ var createUseRecommendedLessonsPage = (config) => {
28320
28383
  setSendModalLoading(false);
28321
28384
  }
28322
28385
  },
28323
- [api, endpoints.submitGoal, selectedModel]
28386
+ [api, endpoints.submitRecommendedClass, selectedModel]
28324
28387
  );
28325
28388
  const handleSendModalClose = useCallback32(() => {
28326
28389
  setSendModalOpen(false);
@@ -28334,17 +28397,17 @@ var createUseRecommendedLessonsPage = (config) => {
28334
28397
  );
28335
28398
  return {
28336
28399
  historyProps: {
28337
- fetchGoalsHistory,
28338
- fetchGoalModels,
28339
- deleteGoalModel,
28400
+ fetchRecommendedClassHistory,
28401
+ fetchRecommendedClassModels,
28402
+ deleteRecommendedClassModel,
28340
28403
  onCreateLesson: handleCreateLesson,
28341
28404
  onCreateModel: handleCreateModel,
28342
28405
  onRowClick: handleRowClick,
28343
- onEditGoal: handleEditGoal,
28406
+ onEditRecommendedClass: handleEditRecommendedClass,
28344
28407
  onEditModel: handleEditModel,
28345
28408
  onSendLesson: handleSendLesson,
28346
- fetchGoalDrafts,
28347
- deleteGoalDraft,
28409
+ fetchRecommendedClassDrafts,
28410
+ deleteRecommendedClassDraft,
28348
28411
  onSendDraft: handleSendLesson,
28349
28412
  onEditDraft: handleEditModel,
28350
28413
  emptyStateImage,
@@ -28374,7 +28437,7 @@ var createRecommendedLessonsPageHook = createUseRecommendedLessonsPage;
28374
28437
  // src/hooks/useRecommendedLessonDetails.ts
28375
28438
  import { useState as useState53, useCallback as useCallback33, useEffect as useEffect52 } from "react";
28376
28439
  import { z as z7 } from "zod";
28377
- var goalLessonSubjectSchema = z7.object({
28440
+ var recommendedClassLessonSubjectSchema = z7.object({
28378
28441
  id: z7.string(),
28379
28442
  name: z7.string(),
28380
28443
  color: z7.string(),
@@ -28384,38 +28447,38 @@ var lessonContentSchema = z7.object({
28384
28447
  id: z7.string(),
28385
28448
  name: z7.string()
28386
28449
  });
28387
- var goalLessonSchema = z7.object({
28450
+ var recommendedClassLessonSchema = z7.object({
28388
28451
  id: z7.string(),
28389
28452
  content: lessonContentSchema,
28390
28453
  subtopic: lessonContentSchema,
28391
28454
  topic: lessonContentSchema,
28392
- subject: goalLessonSubjectSchema
28455
+ subject: recommendedClassLessonSubjectSchema
28393
28456
  });
28394
- var goalLessonProgressSchema = z7.object({
28457
+ var recommendedClassLessonProgressSchema = z7.object({
28395
28458
  id: z7.string(),
28396
28459
  userId: z7.string(),
28397
28460
  lessonId: z7.string(),
28398
28461
  progress: z7.number(),
28399
- lesson: goalLessonSchema
28462
+ lesson: recommendedClassLessonSchema
28400
28463
  });
28401
- var goalLessonGoalItemSchema = z7.object({
28402
- goalId: z7.string(),
28464
+ var recommendedClassLessonsItemSchema = z7.object({
28465
+ recommendedClassId: z7.string(),
28403
28466
  supLessonsProgressId: z7.string(),
28404
- supLessonsProgress: goalLessonProgressSchema
28467
+ supLessonsProgress: recommendedClassLessonProgressSchema
28405
28468
  });
28406
- var goalMetadataSchema = z7.object({
28469
+ var recommendedClassMetadataSchema = z7.object({
28407
28470
  id: z7.string(),
28408
28471
  title: z7.string(),
28409
28472
  startDate: z7.string(),
28410
28473
  finalDate: z7.string(),
28411
28474
  progress: z7.number(),
28412
- lessonsGoals: z7.array(goalLessonGoalItemSchema)
28475
+ lessons: z7.array(recommendedClassLessonsItemSchema)
28413
28476
  });
28414
- var goalApiResponseSchema = z7.object({
28477
+ var recommendedClassApiResponseSchema = z7.object({
28415
28478
  message: z7.string(),
28416
- data: goalMetadataSchema
28479
+ data: recommendedClassMetadataSchema
28417
28480
  });
28418
- var goalDetailStudentSchema = z7.object({
28481
+ var recommendedClassDetailStudentSchema = z7.object({
28419
28482
  userInstitutionId: z7.string(),
28420
28483
  userId: z7.string(),
28421
28484
  name: z7.string(),
@@ -28424,29 +28487,29 @@ var goalDetailStudentSchema = z7.object({
28424
28487
  avgScore: z7.number().nullable(),
28425
28488
  daysToComplete: z7.number().nullable()
28426
28489
  });
28427
- var goalDetailAggregatedSchema = z7.object({
28490
+ var recommendedClassDetailAggregatedSchema = z7.object({
28428
28491
  completionPercentage: z7.number(),
28429
28492
  avgScore: z7.number().nullable()
28430
28493
  });
28431
- var goalDetailContentPerformanceItemSchema = z7.object({
28494
+ var recommendedClassDetailContentPerformanceItemSchema = z7.object({
28432
28495
  contentId: z7.string(),
28433
28496
  contentName: z7.string(),
28434
28497
  rate: z7.number()
28435
28498
  }).nullable();
28436
- var goalDetailContentPerformanceSchema = z7.object({
28437
- best: goalDetailContentPerformanceItemSchema,
28438
- worst: goalDetailContentPerformanceItemSchema
28499
+ var recommendedClassDetailContentPerformanceSchema = z7.object({
28500
+ best: recommendedClassDetailContentPerformanceItemSchema,
28501
+ worst: recommendedClassDetailContentPerformanceItemSchema
28439
28502
  });
28440
- var goalDetailsDataSchema = z7.object({
28441
- students: z7.array(goalDetailStudentSchema),
28442
- aggregated: goalDetailAggregatedSchema,
28443
- contentPerformance: goalDetailContentPerformanceSchema
28503
+ var recommendedClassDetailsDataSchema = z7.object({
28504
+ students: z7.array(recommendedClassDetailStudentSchema),
28505
+ aggregated: recommendedClassDetailAggregatedSchema,
28506
+ contentPerformance: recommendedClassDetailContentPerformanceSchema
28444
28507
  });
28445
- var goalDetailsApiResponseSchema = z7.object({
28508
+ var recommendedClassDetailsApiResponseSchema = z7.object({
28446
28509
  message: z7.string(),
28447
- data: goalDetailsDataSchema
28510
+ data: recommendedClassDetailsDataSchema
28448
28511
  });
28449
- var goalBreakdownSchema2 = z7.object({
28512
+ var recommendedClassBreakdownSchema2 = z7.object({
28450
28513
  classId: z7.string().uuid(),
28451
28514
  className: z7.string(),
28452
28515
  schoolId: z7.string(),
@@ -28454,14 +28517,14 @@ var goalBreakdownSchema2 = z7.object({
28454
28517
  studentCount: z7.number(),
28455
28518
  completedCount: z7.number()
28456
28519
  });
28457
- var historyGoalItemSchema = z7.object({
28458
- goal: z7.object({ id: z7.string().uuid() }),
28459
- breakdown: z7.array(goalBreakdownSchema2)
28520
+ var historyRecommendedClassItemSchema = z7.object({
28521
+ recommendedClass: z7.object({ id: z7.string().uuid() }),
28522
+ breakdown: z7.array(recommendedClassBreakdownSchema2)
28460
28523
  });
28461
28524
  var historyApiResponseSchema = z7.object({
28462
28525
  message: z7.string(),
28463
28526
  data: z7.object({
28464
- goals: z7.array(historyGoalItemSchema),
28527
+ recommendedClass: z7.array(historyRecommendedClassItemSchema),
28465
28528
  total: z7.number()
28466
28529
  })
28467
28530
  });
@@ -28492,23 +28555,23 @@ var createUseRecommendedLessonDetails = (apiClient) => {
28492
28555
  setState((prev) => ({ ...prev, loading: true, error: null }));
28493
28556
  try {
28494
28557
  const promises = [
28495
- apiClient.fetchGoal(lessonId),
28496
- apiClient.fetchGoalDetails(lessonId),
28558
+ apiClient.fetchRecommendedClass(lessonId),
28559
+ apiClient.fetchRecommendedClassDetails(lessonId),
28497
28560
  apiClient.fetchBreakdown ? apiClient.fetchBreakdown(lessonId) : Promise.resolve(null)
28498
28561
  ];
28499
- const [goalResponse, detailsResponse, historyResponse] = await Promise.all(promises);
28500
- const validatedGoal = goalApiResponseSchema.parse(goalResponse);
28501
- const validatedDetails = goalDetailsApiResponseSchema.parse(detailsResponse);
28562
+ const [recommendedClassResponse, detailsResponse, historyResponse] = await Promise.all(promises);
28563
+ const validatedRecommendedClass = recommendedClassApiResponseSchema.parse(recommendedClassResponse);
28564
+ const validatedDetails = recommendedClassDetailsApiResponseSchema.parse(detailsResponse);
28502
28565
  let breakdown;
28503
28566
  if (historyResponse) {
28504
28567
  const validatedHistory = historyApiResponseSchema.parse(historyResponse);
28505
- const historyItem = validatedHistory.data.goals.find(
28506
- (g) => g.goal.id === lessonId
28568
+ const historyItem = validatedHistory.data.recommendedClass.find(
28569
+ (g) => g.recommendedClass.id === lessonId
28507
28570
  );
28508
28571
  breakdown = historyItem?.breakdown[0];
28509
28572
  }
28510
28573
  const lessonData = {
28511
- goal: validatedGoal.data,
28574
+ recommendedClass: validatedRecommendedClass.data,
28512
28575
  details: validatedDetails.data,
28513
28576
  breakdown
28514
28577
  };
@@ -30445,9 +30508,9 @@ export {
30445
30508
  CorrectActivityModal_default as CorrectActivityModal,
30446
30509
  CreateActivity,
30447
30510
  DEFAULT_ACTIVITIES_PAGINATION,
30448
- DEFAULT_GOAL_DRAFTS_PAGINATION,
30449
- DEFAULT_GOAL_MODELS_PAGINATION,
30450
30511
  DEFAULT_MODELS_PAGINATION,
30512
+ DEFAULT_RECOMMENDED_CLASS_DRAFTS_PAGINATION,
30513
+ DEFAULT_RECOMMENDED_CLASS_MODELS_PAGINATION,
30451
30514
  DIFFICULTY_LEVEL_ENUM,
30452
30515
  DateTimeInput_default as DateTimeInput,
30453
30516
  Divider_default as Divider,
@@ -30461,21 +30524,13 @@ export {
30461
30524
  EmptyState_default as EmptyState,
30462
30525
  FileAttachment_default as FileAttachment,
30463
30526
  FilterModal,
30464
- GOAL_ACTIVITY_STATUS,
30465
- GOAL_FILTER_STATUS_OPTIONS,
30466
- GOAL_STATUS_OPTIONS,
30467
30527
  ActivityStatus2 as GeneralActivityStatus,
30468
- GenericApiStatus as GoalApiStatus,
30469
- BadgeActionType as GoalBadgeActionType,
30470
- GenericDisplayStatus as GoalDisplayStatus,
30471
- GoalDraftType,
30472
- GoalDraftsTab,
30473
- GoalPageTab,
30474
30528
  IconButton_default as IconButton,
30475
30529
  IconRender_default as IconRender,
30476
30530
  IconRoundedButton_default as IconRoundedButton,
30477
30531
  ImageUpload,
30478
30532
  Input_default as Input,
30533
+ LESSON_AVAILABILITY,
30479
30534
  LatexRenderer_default as LatexRenderer,
30480
30535
  LessonPreview,
30481
30536
  loadingModal_default as LoadingModal,
@@ -30529,10 +30584,19 @@ export {
30529
30584
  QuizResultTitle,
30530
30585
  QuizTitle,
30531
30586
  QuizTrueOrFalse,
30587
+ RECOMMENDED_CLASS_ACTIVITY_STATUS,
30588
+ RECOMMENDED_CLASS_FILTER_STATUS_OPTIONS,
30589
+ RECOMMENDED_CLASS_STATUS_OPTIONS,
30532
30590
  Radio_default as Radio,
30533
30591
  RadioGroup,
30534
30592
  RadioGroupItem,
30535
30593
  RankingCard,
30594
+ GenericApiStatus as RecommendedClassApiStatus,
30595
+ BadgeActionType as RecommendedClassBadgeActionType,
30596
+ GenericDisplayStatus as RecommendedClassDisplayStatus,
30597
+ RecommendedClassDraftType,
30598
+ RecommendedClassDraftsTab,
30599
+ RecommendedClassPageTab,
30536
30600
  RecommendedLessonDetails_default as RecommendedLessonDetails,
30537
30601
  RecommendedLessonsHistory,
30538
30602
  STUDENT_ACTIVITY_STATUS,
@@ -30586,16 +30650,17 @@ export {
30586
30650
  activitiesHistoryApiResponseSchema,
30587
30651
  activityModelsApiResponseSchema,
30588
30652
  buildUserFilterData,
30653
+ checkLessonAvailability,
30589
30654
  cn,
30590
30655
  convertActivityFiltersToQuestionsFilter,
30591
30656
  createActivitiesHistoryHook,
30592
30657
  createActivityFiltersDataHook,
30593
30658
  createActivityModelsHook,
30594
- createGoalDraftsHook,
30595
- createGoalModelsHook,
30596
30659
  createNotificationStore,
30597
30660
  createNotificationsHook,
30598
30661
  createQuestionsListHook,
30662
+ createRecommendedClassDraftsHook,
30663
+ createRecommendedClassModelsHook,
30599
30664
  createRecommendedLessonDetailsHook,
30600
30665
  createRecommendedLessonsHistoryHook,
30601
30666
  createRecommendedLessonsPageHook,
@@ -30604,17 +30669,17 @@ export {
30604
30669
  createUseActivityModels,
30605
30670
  createUseChat,
30606
30671
  createUseChatRooms,
30607
- createUseGoalDrafts,
30608
- createUseGoalModels,
30609
30672
  createUseNotificationStore,
30610
30673
  createUseNotifications,
30611
30674
  createUseQuestionsList,
30675
+ createUseRecommendedClassDrafts,
30676
+ createUseRecommendedClassModels,
30612
30677
  createUseRecommendedLessonDetails,
30613
30678
  createUseRecommendedLessonsHistory,
30614
30679
  createUseRecommendedLessonsPage,
30615
30680
  createZustandAuthAdapter,
30616
30681
  deriveStudentStatus,
30617
- determineGoalStatus,
30682
+ determineRecommendedClassStatus,
30618
30683
  formatDateToBrazilian,
30619
30684
  formatDaysToComplete,
30620
30685
  formatFileSize,
@@ -30629,8 +30694,8 @@ export {
30629
30694
  getChatWsUrl,
30630
30695
  getClassOptionsFromUserData,
30631
30696
  getDeviceType,
30632
- getGoalStatusBadgeAction,
30633
30697
  getQuestionStatusBadgeConfig,
30698
+ getRecommendedClassStatusBadgeAction,
30634
30699
  getRootDomain,
30635
30700
  getSchoolOptionsFromUserData,
30636
30701
  getSchoolYearOptionsFromUserData,
@@ -30646,20 +30711,18 @@ export {
30646
30711
  getSubjectInfo,
30647
30712
  getSubjectName,
30648
30713
  getSubjectOptionsFromUserData,
30649
- goalApiResponseSchema,
30650
- goalDetailsApiResponseSchema,
30651
- goalModelsApiResponseSchema,
30652
- goalsHistoryApiResponseSchema,
30653
30714
  handleActivityFetchError,
30654
- handleGoalDraftFetchError,
30655
- handleGoalFetchError,
30656
- handleGoalModelFetchError,
30657
30715
  handleLessonDetailsFetchError,
30658
30716
  handleModelFetchError,
30717
+ handleRecommendedClassDraftFetchError,
30718
+ handleRecommendedClassFetchError,
30719
+ handleRecommendedClassModelFetchError,
30659
30720
  historyApiResponseSchema,
30660
30721
  isChatUserInfoValid,
30661
30722
  isDeadlinePassed,
30662
30723
  isFormValid,
30724
+ isLessonExpired,
30725
+ isLessonNotYetAvailable,
30663
30726
  isStepValid,
30664
30727
  mapActivityStatusToDisplay,
30665
30728
  mapApiStatusToInternal,
@@ -30669,6 +30732,10 @@ export {
30669
30732
  mapSubjectEnumToName,
30670
30733
  mapSubjectNameToEnum,
30671
30734
  questionTypeLabels,
30735
+ recommendedClassApiResponseSchema,
30736
+ recommendedClassDetailsApiResponseSchema,
30737
+ recommendedClassHistoryApiResponseSchema,
30738
+ recommendedClassModelsApiResponseSchema,
30672
30739
  renderSubjectCell,
30673
30740
  studentActivityStatusSchema,
30674
30741
  supportSchema,
@@ -30676,9 +30743,9 @@ export {
30676
30743
  toggleArrayItem,
30677
30744
  toggleSingleValue,
30678
30745
  transformActivityToTableItem,
30679
- transformGoalModelToTableItem,
30680
- transformGoalToTableItem,
30681
30746
  transformModelToTableItem,
30747
+ transformRecommendedClassModelToTableItem,
30748
+ transformRecommendedClassToTableItem,
30682
30749
  useActivityDetails,
30683
30750
  useAlertFormStore,
30684
30751
  useApiConfig,