analytica-frontend-lib 1.2.84 → 1.2.86
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/RecommendedLessonsHistory/index.js +337 -165
- package/dist/RecommendedLessonsHistory/index.js.map +1 -1
- package/dist/RecommendedLessonsHistory/index.mjs +286 -114
- package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
- package/dist/hooks/useGoalDrafts/index.d.ts +57 -0
- package/dist/hooks/useGoalDrafts/index.d.ts.map +1 -0
- package/dist/hooks/useGoalDrafts/index.js +189 -0
- package/dist/hooks/useGoalDrafts/index.js.map +1 -0
- package/dist/hooks/useGoalDrafts/index.mjs +151 -0
- package/dist/hooks/useGoalDrafts/index.mjs.map +1 -0
- package/dist/hooks/useGoalDrafts.d.ts +57 -0
- package/dist/hooks/useGoalDrafts.d.ts.map +1 -0
- package/dist/hooks/useRecommendedLessonsPage/index.d.ts +4 -0
- package/dist/hooks/useRecommendedLessonsPage/index.d.ts.map +1 -1
- package/dist/hooks/useRecommendedLessonsPage/index.js +24 -0
- package/dist/hooks/useRecommendedLessonsPage/index.js.map +1 -1
- package/dist/hooks/useRecommendedLessonsPage/index.mjs +24 -0
- package/dist/hooks/useRecommendedLessonsPage/index.mjs.map +1 -1
- package/dist/hooks/useRecommendedLessonsPage.d.ts +4 -0
- package/dist/hooks/useRecommendedLessonsPage.d.ts.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +690 -430
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +567 -316
- package/dist/index.mjs.map +1 -1
- package/dist/types/lessonAvailability.d.ts +33 -0
- package/dist/types/lessonAvailability.d.ts.map +1 -0
- package/dist/utils/lessonAvailabilityUtils.d.ts +45 -0
- package/dist/utils/lessonAvailabilityUtils.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -135,6 +135,26 @@ var createUseRecommendedLessonsPage = (config) => {
|
|
|
135
135
|
},
|
|
136
136
|
[api, endpoints.goalDrafts]
|
|
137
137
|
);
|
|
138
|
+
const fetchGoalDrafts = (0, import_react.useCallback)(
|
|
139
|
+
async (filters) => {
|
|
140
|
+
const params = buildQueryParams({
|
|
141
|
+
...filters,
|
|
142
|
+
type: "RASCUNHO" /* RASCUNHO */
|
|
143
|
+
});
|
|
144
|
+
const response = await api.get(
|
|
145
|
+
endpoints.goalDrafts,
|
|
146
|
+
{ params }
|
|
147
|
+
);
|
|
148
|
+
return response.data;
|
|
149
|
+
},
|
|
150
|
+
[api, endpoints.goalDrafts]
|
|
151
|
+
);
|
|
152
|
+
const deleteGoalDraft = (0, import_react.useCallback)(
|
|
153
|
+
async (id) => {
|
|
154
|
+
await api.delete(`${endpoints.goalDrafts}/${id}`);
|
|
155
|
+
},
|
|
156
|
+
[api, endpoints.goalDrafts]
|
|
157
|
+
);
|
|
138
158
|
const handleCreateLesson = (0, import_react.useCallback)(() => {
|
|
139
159
|
navigate(paths.createLesson);
|
|
140
160
|
}, []);
|
|
@@ -216,6 +236,10 @@ var createUseRecommendedLessonsPage = (config) => {
|
|
|
216
236
|
onEditGoal: handleEditGoal,
|
|
217
237
|
onEditModel: handleEditModel,
|
|
218
238
|
onSendLesson: handleSendLesson,
|
|
239
|
+
fetchGoalDrafts,
|
|
240
|
+
deleteGoalDraft,
|
|
241
|
+
onSendDraft: handleSendLesson,
|
|
242
|
+
onEditDraft: handleEditModel,
|
|
219
243
|
emptyStateImage,
|
|
220
244
|
noSearchImage,
|
|
221
245
|
mapSubjectNameToEnum,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useRecommendedLessonsPage.ts"],"sourcesContent":["/**\n * useRecommendedLessonsPage Hook Factory\n *\n * Factory function to create a hook for RecommendedLessons, LessonDrafts, and LessonModels pages.\n * Contains all common state, memos, and callbacks.\n */\n\nimport { useCallback, useRef, useMemo, useState } from 'react';\nimport {\n GoalDraftType,\n type GoalHistoryFilters,\n type GoalsHistoryApiResponse,\n type GoalTableItem,\n type GoalHistoryItem,\n type GoalModelFilters,\n type GoalModelsApiResponse,\n type GoalModelTableItem,\n} from '../types/recommendedLessons';\nimport type {\n SendLessonFormData,\n CategoryConfig,\n} from '../components/SendLessonModal/types';\nimport { SubjectEnum } from '../enums/SubjectEnum';\n\n/**\n * API client interface\n */\nexport interface RecommendedLessonsApiClient {\n get: <T>(\n url: string,\n config?: { params?: Record<string, unknown> }\n ) => Promise<{ data: T }>;\n post: <T>(url: string, data?: unknown) => Promise<{ data: T }>;\n delete: <T>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * User institution data structure\n */\nexport interface UserInstitution {\n school: { id: string; name: string };\n schoolYear: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * Subject teacher class data structure\n */\nexport interface SubTeacherTopicClass {\n subject: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * User data structure\n */\nexport interface RecommendedLessonsUserData {\n userInstitutions?: UserInstitution[];\n subTeacherTopicClasses?: SubTeacherTopicClass[];\n}\n\n/**\n * Navigation paths configuration\n */\nexport interface RecommendedLessonsPagePaths {\n /** Path for creating a new lesson */\n createLesson: string;\n /** Path for creating a new model */\n createModel: string;\n /** Base path for lesson details */\n lessonDetails: string;\n /** Base path for editing a lesson */\n editLesson: string;\n /** Path for editing a model (with id parameter) */\n editModel: string;\n}\n\n/**\n * API endpoints configuration\n */\nexport interface RecommendedLessonsPageEndpoints {\n /** Endpoint for fetching goals history */\n goalsHistory: string;\n /** Endpoint for fetching goal models/drafts */\n goalDrafts: string;\n /** Endpoint for submitting a goal */\n submitGoal: string;\n}\n\n/**\n * UI text configuration\n */\nexport interface RecommendedLessonsPageTexts {\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n}\n\n/**\n * Configuration for createUseRecommendedLessonsPage factory\n */\nexport interface UseRecommendedLessonsPageConfig {\n /** API client for making requests */\n api: RecommendedLessonsApiClient;\n /** Navigation function */\n navigate: (path: string, options?: { state?: unknown }) => void;\n /** User data for filter options */\n userData: RecommendedLessonsUserData | null;\n /** Navigation paths */\n paths: RecommendedLessonsPagePaths;\n /** API endpoints */\n endpoints: RecommendedLessonsPageEndpoints;\n /** UI text */\n texts: RecommendedLessonsPageTexts;\n /** Image for empty state */\n emptyStateImage: string;\n /** Image for no search results */\n noSearchImage: string;\n /** Function to map subject name to SubjectEnum */\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n}\n\n/**\n * Return type for the useRecommendedLessonsPage hook\n */\nexport interface UseRecommendedLessonsPageReturn {\n /** Props for RecommendedLessonsHistory component */\n historyProps: {\n fetchGoalsHistory: (\n filters?: GoalHistoryFilters\n ) => Promise<GoalsHistoryApiResponse>;\n fetchGoalModels: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalModel: (id: string) => Promise<void>;\n onCreateLesson: () => void;\n onCreateModel: () => void;\n onRowClick: (row: GoalTableItem) => void;\n onEditGoal: (id: string) => void;\n onEditModel: (model: GoalModelTableItem) => void;\n onSendLesson: (model: GoalModelTableItem) => void;\n emptyStateImage: string;\n noSearchImage: string;\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n userFilterData: {\n schools: Array<{ id: string; name: string }>;\n classes: Array<{ id: string; name: string }>;\n subjects: Array<{ id: string; name: string }>;\n };\n subjectsMap: Map<string, string>;\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n };\n /** Props for SendLessonModal component */\n modalProps: {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (formData: SendLessonFormData) => Promise<void>;\n categories: CategoryConfig[];\n onCategoriesChange: (categories: CategoryConfig[]) => void;\n isLoading: boolean;\n modalTitle: string | undefined;\n };\n /** Navigate function for custom tab handlers */\n navigate: (path: string, options?: { state?: unknown }) => void;\n}\n\n/**\n * Build query parameters from filter object\n */\nconst buildQueryParams = (\n filters?: Record<string, unknown>\n): Record<string, unknown> => {\n if (!filters) return {};\n\n const params: Record<string, unknown> = {};\n for (const key in filters) {\n const value = filters[key];\n if (value !== undefined && value !== null) {\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n params[key] = value;\n }\n }\n }\n return params;\n};\n\n/**\n * Get school options from user data\n */\nconst getSchoolOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const schoolMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.school?.id && inst.school?.name) {\n schoolMap.set(inst.school.id, inst.school.name);\n }\n });\n\n return Array.from(schoolMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get class options from user data\n */\nconst getClassOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const classMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.class?.id && inst.class?.name) {\n classMap.set(inst.class.id, inst.class.name);\n }\n });\n\n return Array.from(classMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get subject options from user data\n */\nconst getSubjectOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.subTeacherTopicClasses) return [];\n\n const subjectMap = new Map<string, string>();\n userData.subTeacherTopicClasses.forEach((stc) => {\n if (stc.subject?.id && stc.subject?.name) {\n subjectMap.set(stc.subject.id, stc.subject.name);\n }\n });\n\n return Array.from(subjectMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Factory function to create useRecommendedLessonsPage hook\n *\n * @param config - Configuration object with API client, navigation, user data, paths, etc.\n * @returns Hook function that returns historyProps, modalProps, and navigate\n *\n * @example\n * ```tsx\n * // In your app setup\n * const useRecommendedLessonsPage = createUseRecommendedLessonsPage({\n * api,\n * navigate,\n * userData,\n * paths: {\n * createLesson: '/criar-aula',\n * createModel: '/criar-aula?mode=model',\n * lessonDetails: '/aulas-recomendadas',\n * editLesson: '/aulas-recomendadas',\n * editModel: '/criar-aula?mode=model&id=',\n * },\n * endpoints: {\n * goalsHistory: '/recommended-class/history',\n * goalDrafts: '/recommended-class/drafts',\n * submitGoal: '/goals',\n * },\n * texts: {\n * title: 'Histórico de aulas recomendadas',\n * createButtonText: 'Criar aula',\n * searchPlaceholder: 'Buscar aula',\n * },\n * emptyStateImage,\n * noSearchImage,\n * mapSubjectNameToEnum,\n * });\n *\n * // In your component\n * const { historyProps, modalProps, navigate } = useRecommendedLessonsPage();\n * ```\n */\nexport const createUseRecommendedLessonsPage = (\n config: UseRecommendedLessonsPageConfig\n): (() => UseRecommendedLessonsPageReturn) => {\n const {\n api,\n navigate,\n userData,\n paths,\n endpoints,\n texts,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n } = config;\n\n return (): UseRecommendedLessonsPageReturn => {\n // Store original goal data for navigation\n const goalsMapRef = useRef<Map<string, GoalHistoryItem>>(new Map());\n\n // SendLessonModal state\n const [sendModalOpen, setSendModalOpen] = useState(false);\n const [selectedModel, setSelectedModel] =\n useState<GoalModelTableItem | null>(null);\n const [sendModalLoading, setSendModalLoading] = useState(false);\n const [sendModalCategories, setSendModalCategories] = useState<\n CategoryConfig[]\n >([]);\n\n // Build user filter data from user data\n const userFilterData = useMemo(\n () => ({\n schools: getSchoolOptions(userData),\n classes: getClassOptions(userData),\n subjects: getSubjectOptions(userData),\n }),\n [userData]\n );\n\n // Memoized subjects map for models display\n const subjectsMap = useMemo(() => {\n const map = new Map<string, string>();\n const subjects = getSubjectOptions(userData);\n subjects.forEach((s) => map.set(s.id, s.name));\n return map;\n }, [userData]);\n\n /**\n * Fetch goals history from API\n */\n const fetchGoalsHistory = useCallback(\n async (\n filters?: GoalHistoryFilters\n ): Promise<GoalsHistoryApiResponse> => {\n const params = buildQueryParams(filters as Record<string, unknown>);\n const response = await api.get<GoalsHistoryApiResponse>(\n endpoints.goalsHistory,\n { params }\n );\n\n // Store original goal data for later use in navigation\n const goals = response.data.data.goals;\n goals.forEach((goal) => {\n goalsMapRef.current.set(goal.goal.id, goal);\n });\n\n return response.data;\n },\n [api, endpoints.goalsHistory]\n );\n\n /**\n * Fetch goal models from API\n */\n const fetchGoalModels = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.MODELO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal model\n */\n const deleteGoalModel = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Handle create lesson button click\n */\n const handleCreateLesson = useCallback(() => {\n navigate(paths.createLesson);\n }, []);\n\n /**\n * Handle create model button click\n */\n const handleCreateModel = useCallback(() => {\n navigate(paths.createModel);\n }, []);\n\n /**\n * Handle row click - navigate to goal details\n */\n const handleRowClick = useCallback((row: GoalTableItem) => {\n const originalData = goalsMapRef.current.get(row.id);\n navigate(`${paths.lessonDetails}/${row.id}`, {\n state: { goalData: originalData },\n });\n }, []);\n\n /**\n * Handle edit goal action\n */\n const handleEditGoal = useCallback((id: string) => {\n navigate(`${paths.editLesson}/${id}/editar`);\n }, []);\n\n /**\n * Handle edit model action\n */\n const handleEditModel = useCallback((model: GoalModelTableItem) => {\n navigate(`${paths.editModel}${model.id}`);\n }, []);\n\n /**\n * Handle send lesson button click - opens modal\n */\n const handleSendLesson = useCallback(\n (model: GoalModelTableItem) => {\n setSelectedModel(model);\n\n // Build categories from user data for CheckboxGroup\n const classes = getClassOptions(userData);\n const categories: CategoryConfig[] = [];\n\n if (classes.length > 0) {\n categories.push({\n key: 'students',\n label: 'Turmas',\n selectedIds: [],\n itens: classes.map((cls) => ({\n id: cls.id,\n name: cls.name,\n studentId: cls.id,\n userInstitutionId: cls.id,\n })),\n });\n }\n\n setSendModalCategories(categories);\n setSendModalOpen(true);\n },\n [userData]\n );\n\n /**\n * Handle send lesson modal submit\n */\n const handleSendLessonSubmit = useCallback(\n async (formData: SendLessonFormData) => {\n if (!selectedModel) return;\n\n setSendModalLoading(true);\n try {\n await api.post(endpoints.submitGoal, {\n draftId: selectedModel.id,\n students: formData.students,\n startDate: `${formData.startDate}T${formData.startTime}:00`,\n finalDate: `${formData.finalDate}T${formData.finalTime}:00`,\n });\n\n setSendModalOpen(false);\n setSelectedModel(null);\n } finally {\n setSendModalLoading(false);\n }\n },\n [api, endpoints.submitGoal, selectedModel]\n );\n\n /**\n * Handle send lesson modal close\n */\n const handleSendModalClose = useCallback(() => {\n setSendModalOpen(false);\n setSelectedModel(null);\n }, []);\n\n /**\n * Handle categories change in send modal\n */\n const handleCategoriesChange = useCallback(\n (categories: CategoryConfig[]) => {\n setSendModalCategories(categories);\n },\n []\n );\n\n return {\n historyProps: {\n fetchGoalsHistory,\n fetchGoalModels,\n deleteGoalModel,\n onCreateLesson: handleCreateLesson,\n onCreateModel: handleCreateModel,\n onRowClick: handleRowClick,\n onEditGoal: handleEditGoal,\n onEditModel: handleEditModel,\n onSendLesson: handleSendLesson,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n userFilterData,\n subjectsMap,\n title: texts.title,\n createButtonText: texts.createButtonText,\n searchPlaceholder: texts.searchPlaceholder,\n },\n modalProps: {\n isOpen: sendModalOpen,\n onClose: handleSendModalClose,\n onSubmit: handleSendLessonSubmit,\n categories: sendModalCategories,\n onCategoriesChange: handleCategoriesChange,\n isLoading: sendModalLoading,\n modalTitle: selectedModel?.title,\n },\n navigate,\n };\n };\n};\n\n/**\n * Alias for createUseRecommendedLessonsPage\n */\nexport const createRecommendedLessonsPageHook = createUseRecommendedLessonsPage;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useRecommendedLessonsPage.ts"],"sourcesContent":["/**\n * useRecommendedLessonsPage Hook Factory\n *\n * Factory function to create a hook for RecommendedLessons, LessonDrafts, and LessonModels pages.\n * Contains all common state, memos, and callbacks.\n */\n\nimport { useCallback, useRef, useMemo, useState } from 'react';\nimport {\n GoalDraftType,\n type GoalHistoryFilters,\n type GoalsHistoryApiResponse,\n type GoalTableItem,\n type GoalHistoryItem,\n type GoalModelFilters,\n type GoalModelsApiResponse,\n type GoalModelTableItem,\n} from '../types/recommendedLessons';\nimport type {\n SendLessonFormData,\n CategoryConfig,\n} from '../components/SendLessonModal/types';\nimport { SubjectEnum } from '../enums/SubjectEnum';\n\n/**\n * API client interface\n */\nexport interface RecommendedLessonsApiClient {\n get: <T>(\n url: string,\n config?: { params?: Record<string, unknown> }\n ) => Promise<{ data: T }>;\n post: <T>(url: string, data?: unknown) => Promise<{ data: T }>;\n delete: <T>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * User institution data structure\n */\nexport interface UserInstitution {\n school: { id: string; name: string };\n schoolYear: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * Subject teacher class data structure\n */\nexport interface SubTeacherTopicClass {\n subject: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * User data structure\n */\nexport interface RecommendedLessonsUserData {\n userInstitutions?: UserInstitution[];\n subTeacherTopicClasses?: SubTeacherTopicClass[];\n}\n\n/**\n * Navigation paths configuration\n */\nexport interface RecommendedLessonsPagePaths {\n /** Path for creating a new lesson */\n createLesson: string;\n /** Path for creating a new model */\n createModel: string;\n /** Base path for lesson details */\n lessonDetails: string;\n /** Base path for editing a lesson */\n editLesson: string;\n /** Path for editing a model (with id parameter) */\n editModel: string;\n}\n\n/**\n * API endpoints configuration\n */\nexport interface RecommendedLessonsPageEndpoints {\n /** Endpoint for fetching goals history */\n goalsHistory: string;\n /** Endpoint for fetching goal models/drafts */\n goalDrafts: string;\n /** Endpoint for submitting a goal */\n submitGoal: string;\n}\n\n/**\n * UI text configuration\n */\nexport interface RecommendedLessonsPageTexts {\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n}\n\n/**\n * Configuration for createUseRecommendedLessonsPage factory\n */\nexport interface UseRecommendedLessonsPageConfig {\n /** API client for making requests */\n api: RecommendedLessonsApiClient;\n /** Navigation function */\n navigate: (path: string, options?: { state?: unknown }) => void;\n /** User data for filter options */\n userData: RecommendedLessonsUserData | null;\n /** Navigation paths */\n paths: RecommendedLessonsPagePaths;\n /** API endpoints */\n endpoints: RecommendedLessonsPageEndpoints;\n /** UI text */\n texts: RecommendedLessonsPageTexts;\n /** Image for empty state */\n emptyStateImage: string;\n /** Image for no search results */\n noSearchImage: string;\n /** Function to map subject name to SubjectEnum */\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n}\n\n/**\n * Return type for the useRecommendedLessonsPage hook\n */\nexport interface UseRecommendedLessonsPageReturn {\n /** Props for RecommendedLessonsHistory component */\n historyProps: {\n fetchGoalsHistory: (\n filters?: GoalHistoryFilters\n ) => Promise<GoalsHistoryApiResponse>;\n fetchGoalModels: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalModel: (id: string) => Promise<void>;\n onCreateLesson: () => void;\n onCreateModel: () => void;\n onRowClick: (row: GoalTableItem) => void;\n onEditGoal: (id: string) => void;\n onEditModel: (model: GoalModelTableItem) => void;\n onSendLesson: (model: GoalModelTableItem) => void;\n fetchGoalDrafts: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalDraft: (id: string) => Promise<void>;\n onSendDraft: (draft: GoalModelTableItem) => void;\n onEditDraft: (draft: GoalModelTableItem) => void;\n emptyStateImage: string;\n noSearchImage: string;\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n userFilterData: {\n schools: Array<{ id: string; name: string }>;\n classes: Array<{ id: string; name: string }>;\n subjects: Array<{ id: string; name: string }>;\n };\n subjectsMap: Map<string, string>;\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n };\n /** Props for SendLessonModal component */\n modalProps: {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (formData: SendLessonFormData) => Promise<void>;\n categories: CategoryConfig[];\n onCategoriesChange: (categories: CategoryConfig[]) => void;\n isLoading: boolean;\n modalTitle: string | undefined;\n };\n /** Navigate function for custom tab handlers */\n navigate: (path: string, options?: { state?: unknown }) => void;\n}\n\n/**\n * Build query parameters from filter object\n */\nconst buildQueryParams = (\n filters?: Record<string, unknown>\n): Record<string, unknown> => {\n if (!filters) return {};\n\n const params: Record<string, unknown> = {};\n for (const key in filters) {\n const value = filters[key];\n if (value !== undefined && value !== null) {\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n params[key] = value;\n }\n }\n }\n return params;\n};\n\n/**\n * Get school options from user data\n */\nconst getSchoolOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const schoolMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.school?.id && inst.school?.name) {\n schoolMap.set(inst.school.id, inst.school.name);\n }\n });\n\n return Array.from(schoolMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get class options from user data\n */\nconst getClassOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const classMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.class?.id && inst.class?.name) {\n classMap.set(inst.class.id, inst.class.name);\n }\n });\n\n return Array.from(classMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get subject options from user data\n */\nconst getSubjectOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.subTeacherTopicClasses) return [];\n\n const subjectMap = new Map<string, string>();\n userData.subTeacherTopicClasses.forEach((stc) => {\n if (stc.subject?.id && stc.subject?.name) {\n subjectMap.set(stc.subject.id, stc.subject.name);\n }\n });\n\n return Array.from(subjectMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Factory function to create useRecommendedLessonsPage hook\n *\n * @param config - Configuration object with API client, navigation, user data, paths, etc.\n * @returns Hook function that returns historyProps, modalProps, and navigate\n *\n * @example\n * ```tsx\n * // In your app setup\n * const useRecommendedLessonsPage = createUseRecommendedLessonsPage({\n * api,\n * navigate,\n * userData,\n * paths: {\n * createLesson: '/criar-aula',\n * createModel: '/criar-aula?mode=model',\n * lessonDetails: '/aulas-recomendadas',\n * editLesson: '/aulas-recomendadas',\n * editModel: '/criar-aula?mode=model&id=',\n * },\n * endpoints: {\n * goalsHistory: '/recommended-class/history',\n * goalDrafts: '/recommended-class/drafts',\n * submitGoal: '/goals',\n * },\n * texts: {\n * title: 'Histórico de aulas recomendadas',\n * createButtonText: 'Criar aula',\n * searchPlaceholder: 'Buscar aula',\n * },\n * emptyStateImage,\n * noSearchImage,\n * mapSubjectNameToEnum,\n * });\n *\n * // In your component\n * const { historyProps, modalProps, navigate } = useRecommendedLessonsPage();\n * ```\n */\nexport const createUseRecommendedLessonsPage = (\n config: UseRecommendedLessonsPageConfig\n): (() => UseRecommendedLessonsPageReturn) => {\n const {\n api,\n navigate,\n userData,\n paths,\n endpoints,\n texts,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n } = config;\n\n return (): UseRecommendedLessonsPageReturn => {\n // Store original goal data for navigation\n const goalsMapRef = useRef<Map<string, GoalHistoryItem>>(new Map());\n\n // SendLessonModal state\n const [sendModalOpen, setSendModalOpen] = useState(false);\n const [selectedModel, setSelectedModel] =\n useState<GoalModelTableItem | null>(null);\n const [sendModalLoading, setSendModalLoading] = useState(false);\n const [sendModalCategories, setSendModalCategories] = useState<\n CategoryConfig[]\n >([]);\n\n // Build user filter data from user data\n const userFilterData = useMemo(\n () => ({\n schools: getSchoolOptions(userData),\n classes: getClassOptions(userData),\n subjects: getSubjectOptions(userData),\n }),\n [userData]\n );\n\n // Memoized subjects map for models display\n const subjectsMap = useMemo(() => {\n const map = new Map<string, string>();\n const subjects = getSubjectOptions(userData);\n subjects.forEach((s) => map.set(s.id, s.name));\n return map;\n }, [userData]);\n\n /**\n * Fetch goals history from API\n */\n const fetchGoalsHistory = useCallback(\n async (\n filters?: GoalHistoryFilters\n ): Promise<GoalsHistoryApiResponse> => {\n const params = buildQueryParams(filters as Record<string, unknown>);\n const response = await api.get<GoalsHistoryApiResponse>(\n endpoints.goalsHistory,\n { params }\n );\n\n // Store original goal data for later use in navigation\n const goals = response.data.data.goals;\n goals.forEach((goal) => {\n goalsMapRef.current.set(goal.goal.id, goal);\n });\n\n return response.data;\n },\n [api, endpoints.goalsHistory]\n );\n\n /**\n * Fetch goal models from API\n */\n const fetchGoalModels = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.MODELO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal model\n */\n const deleteGoalModel = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Fetch goal drafts from API\n */\n const fetchGoalDrafts = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.RASCUNHO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal draft\n */\n const deleteGoalDraft = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Handle create lesson button click\n */\n const handleCreateLesson = useCallback(() => {\n navigate(paths.createLesson);\n }, []);\n\n /**\n * Handle create model button click\n */\n const handleCreateModel = useCallback(() => {\n navigate(paths.createModel);\n }, []);\n\n /**\n * Handle row click - navigate to goal details\n */\n const handleRowClick = useCallback((row: GoalTableItem) => {\n const originalData = goalsMapRef.current.get(row.id);\n navigate(`${paths.lessonDetails}/${row.id}`, {\n state: { goalData: originalData },\n });\n }, []);\n\n /**\n * Handle edit goal action\n */\n const handleEditGoal = useCallback((id: string) => {\n navigate(`${paths.editLesson}/${id}/editar`);\n }, []);\n\n /**\n * Handle edit model action\n */\n const handleEditModel = useCallback((model: GoalModelTableItem) => {\n navigate(`${paths.editModel}${model.id}`);\n }, []);\n\n /**\n * Handle send lesson button click - opens modal\n */\n const handleSendLesson = useCallback(\n (model: GoalModelTableItem) => {\n setSelectedModel(model);\n\n // Build categories from user data for CheckboxGroup\n const classes = getClassOptions(userData);\n const categories: CategoryConfig[] = [];\n\n if (classes.length > 0) {\n categories.push({\n key: 'students',\n label: 'Turmas',\n selectedIds: [],\n itens: classes.map((cls) => ({\n id: cls.id,\n name: cls.name,\n studentId: cls.id,\n userInstitutionId: cls.id,\n })),\n });\n }\n\n setSendModalCategories(categories);\n setSendModalOpen(true);\n },\n [userData]\n );\n\n /**\n * Handle send lesson modal submit\n */\n const handleSendLessonSubmit = useCallback(\n async (formData: SendLessonFormData) => {\n if (!selectedModel) return;\n\n setSendModalLoading(true);\n try {\n await api.post(endpoints.submitGoal, {\n draftId: selectedModel.id,\n students: formData.students,\n startDate: `${formData.startDate}T${formData.startTime}:00`,\n finalDate: `${formData.finalDate}T${formData.finalTime}:00`,\n });\n\n setSendModalOpen(false);\n setSelectedModel(null);\n } finally {\n setSendModalLoading(false);\n }\n },\n [api, endpoints.submitGoal, selectedModel]\n );\n\n /**\n * Handle send lesson modal close\n */\n const handleSendModalClose = useCallback(() => {\n setSendModalOpen(false);\n setSelectedModel(null);\n }, []);\n\n /**\n * Handle categories change in send modal\n */\n const handleCategoriesChange = useCallback(\n (categories: CategoryConfig[]) => {\n setSendModalCategories(categories);\n },\n []\n );\n\n return {\n historyProps: {\n fetchGoalsHistory,\n fetchGoalModels,\n deleteGoalModel,\n onCreateLesson: handleCreateLesson,\n onCreateModel: handleCreateModel,\n onRowClick: handleRowClick,\n onEditGoal: handleEditGoal,\n onEditModel: handleEditModel,\n onSendLesson: handleSendLesson,\n fetchGoalDrafts,\n deleteGoalDraft,\n onSendDraft: handleSendLesson,\n onEditDraft: handleEditModel,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n userFilterData,\n subjectsMap,\n title: texts.title,\n createButtonText: texts.createButtonText,\n searchPlaceholder: texts.searchPlaceholder,\n },\n modalProps: {\n isOpen: sendModalOpen,\n onClose: handleSendModalClose,\n onSubmit: handleSendLessonSubmit,\n categories: sendModalCategories,\n onCategoriesChange: handleCategoriesChange,\n isLoading: sendModalLoading,\n modalTitle: selectedModel?.title,\n },\n navigate,\n };\n };\n};\n\n/**\n * Alias for createUseRecommendedLessonsPage\n */\nexport const createRecommendedLessonsPageHook = createUseRecommendedLessonsPage;\n"],"mappings":"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","names":[]}
|
|
@@ -110,6 +110,26 @@ var createUseRecommendedLessonsPage = (config) => {
|
|
|
110
110
|
},
|
|
111
111
|
[api, endpoints.goalDrafts]
|
|
112
112
|
);
|
|
113
|
+
const fetchGoalDrafts = useCallback(
|
|
114
|
+
async (filters) => {
|
|
115
|
+
const params = buildQueryParams({
|
|
116
|
+
...filters,
|
|
117
|
+
type: "RASCUNHO" /* RASCUNHO */
|
|
118
|
+
});
|
|
119
|
+
const response = await api.get(
|
|
120
|
+
endpoints.goalDrafts,
|
|
121
|
+
{ params }
|
|
122
|
+
);
|
|
123
|
+
return response.data;
|
|
124
|
+
},
|
|
125
|
+
[api, endpoints.goalDrafts]
|
|
126
|
+
);
|
|
127
|
+
const deleteGoalDraft = useCallback(
|
|
128
|
+
async (id) => {
|
|
129
|
+
await api.delete(`${endpoints.goalDrafts}/${id}`);
|
|
130
|
+
},
|
|
131
|
+
[api, endpoints.goalDrafts]
|
|
132
|
+
);
|
|
113
133
|
const handleCreateLesson = useCallback(() => {
|
|
114
134
|
navigate(paths.createLesson);
|
|
115
135
|
}, []);
|
|
@@ -191,6 +211,10 @@ var createUseRecommendedLessonsPage = (config) => {
|
|
|
191
211
|
onEditGoal: handleEditGoal,
|
|
192
212
|
onEditModel: handleEditModel,
|
|
193
213
|
onSendLesson: handleSendLesson,
|
|
214
|
+
fetchGoalDrafts,
|
|
215
|
+
deleteGoalDraft,
|
|
216
|
+
onSendDraft: handleSendLesson,
|
|
217
|
+
onEditDraft: handleEditModel,
|
|
194
218
|
emptyStateImage,
|
|
195
219
|
noSearchImage,
|
|
196
220
|
mapSubjectNameToEnum,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useRecommendedLessonsPage.ts"],"sourcesContent":["/**\n * useRecommendedLessonsPage Hook Factory\n *\n * Factory function to create a hook for RecommendedLessons, LessonDrafts, and LessonModels pages.\n * Contains all common state, memos, and callbacks.\n */\n\nimport { useCallback, useRef, useMemo, useState } from 'react';\nimport {\n GoalDraftType,\n type GoalHistoryFilters,\n type GoalsHistoryApiResponse,\n type GoalTableItem,\n type GoalHistoryItem,\n type GoalModelFilters,\n type GoalModelsApiResponse,\n type GoalModelTableItem,\n} from '../types/recommendedLessons';\nimport type {\n SendLessonFormData,\n CategoryConfig,\n} from '../components/SendLessonModal/types';\nimport { SubjectEnum } from '../enums/SubjectEnum';\n\n/**\n * API client interface\n */\nexport interface RecommendedLessonsApiClient {\n get: <T>(\n url: string,\n config?: { params?: Record<string, unknown> }\n ) => Promise<{ data: T }>;\n post: <T>(url: string, data?: unknown) => Promise<{ data: T }>;\n delete: <T>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * User institution data structure\n */\nexport interface UserInstitution {\n school: { id: string; name: string };\n schoolYear: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * Subject teacher class data structure\n */\nexport interface SubTeacherTopicClass {\n subject: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * User data structure\n */\nexport interface RecommendedLessonsUserData {\n userInstitutions?: UserInstitution[];\n subTeacherTopicClasses?: SubTeacherTopicClass[];\n}\n\n/**\n * Navigation paths configuration\n */\nexport interface RecommendedLessonsPagePaths {\n /** Path for creating a new lesson */\n createLesson: string;\n /** Path for creating a new model */\n createModel: string;\n /** Base path for lesson details */\n lessonDetails: string;\n /** Base path for editing a lesson */\n editLesson: string;\n /** Path for editing a model (with id parameter) */\n editModel: string;\n}\n\n/**\n * API endpoints configuration\n */\nexport interface RecommendedLessonsPageEndpoints {\n /** Endpoint for fetching goals history */\n goalsHistory: string;\n /** Endpoint for fetching goal models/drafts */\n goalDrafts: string;\n /** Endpoint for submitting a goal */\n submitGoal: string;\n}\n\n/**\n * UI text configuration\n */\nexport interface RecommendedLessonsPageTexts {\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n}\n\n/**\n * Configuration for createUseRecommendedLessonsPage factory\n */\nexport interface UseRecommendedLessonsPageConfig {\n /** API client for making requests */\n api: RecommendedLessonsApiClient;\n /** Navigation function */\n navigate: (path: string, options?: { state?: unknown }) => void;\n /** User data for filter options */\n userData: RecommendedLessonsUserData | null;\n /** Navigation paths */\n paths: RecommendedLessonsPagePaths;\n /** API endpoints */\n endpoints: RecommendedLessonsPageEndpoints;\n /** UI text */\n texts: RecommendedLessonsPageTexts;\n /** Image for empty state */\n emptyStateImage: string;\n /** Image for no search results */\n noSearchImage: string;\n /** Function to map subject name to SubjectEnum */\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n}\n\n/**\n * Return type for the useRecommendedLessonsPage hook\n */\nexport interface UseRecommendedLessonsPageReturn {\n /** Props for RecommendedLessonsHistory component */\n historyProps: {\n fetchGoalsHistory: (\n filters?: GoalHistoryFilters\n ) => Promise<GoalsHistoryApiResponse>;\n fetchGoalModels: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalModel: (id: string) => Promise<void>;\n onCreateLesson: () => void;\n onCreateModel: () => void;\n onRowClick: (row: GoalTableItem) => void;\n onEditGoal: (id: string) => void;\n onEditModel: (model: GoalModelTableItem) => void;\n onSendLesson: (model: GoalModelTableItem) => void;\n emptyStateImage: string;\n noSearchImage: string;\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n userFilterData: {\n schools: Array<{ id: string; name: string }>;\n classes: Array<{ id: string; name: string }>;\n subjects: Array<{ id: string; name: string }>;\n };\n subjectsMap: Map<string, string>;\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n };\n /** Props for SendLessonModal component */\n modalProps: {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (formData: SendLessonFormData) => Promise<void>;\n categories: CategoryConfig[];\n onCategoriesChange: (categories: CategoryConfig[]) => void;\n isLoading: boolean;\n modalTitle: string | undefined;\n };\n /** Navigate function for custom tab handlers */\n navigate: (path: string, options?: { state?: unknown }) => void;\n}\n\n/**\n * Build query parameters from filter object\n */\nconst buildQueryParams = (\n filters?: Record<string, unknown>\n): Record<string, unknown> => {\n if (!filters) return {};\n\n const params: Record<string, unknown> = {};\n for (const key in filters) {\n const value = filters[key];\n if (value !== undefined && value !== null) {\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n params[key] = value;\n }\n }\n }\n return params;\n};\n\n/**\n * Get school options from user data\n */\nconst getSchoolOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const schoolMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.school?.id && inst.school?.name) {\n schoolMap.set(inst.school.id, inst.school.name);\n }\n });\n\n return Array.from(schoolMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get class options from user data\n */\nconst getClassOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const classMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.class?.id && inst.class?.name) {\n classMap.set(inst.class.id, inst.class.name);\n }\n });\n\n return Array.from(classMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get subject options from user data\n */\nconst getSubjectOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.subTeacherTopicClasses) return [];\n\n const subjectMap = new Map<string, string>();\n userData.subTeacherTopicClasses.forEach((stc) => {\n if (stc.subject?.id && stc.subject?.name) {\n subjectMap.set(stc.subject.id, stc.subject.name);\n }\n });\n\n return Array.from(subjectMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Factory function to create useRecommendedLessonsPage hook\n *\n * @param config - Configuration object with API client, navigation, user data, paths, etc.\n * @returns Hook function that returns historyProps, modalProps, and navigate\n *\n * @example\n * ```tsx\n * // In your app setup\n * const useRecommendedLessonsPage = createUseRecommendedLessonsPage({\n * api,\n * navigate,\n * userData,\n * paths: {\n * createLesson: '/criar-aula',\n * createModel: '/criar-aula?mode=model',\n * lessonDetails: '/aulas-recomendadas',\n * editLesson: '/aulas-recomendadas',\n * editModel: '/criar-aula?mode=model&id=',\n * },\n * endpoints: {\n * goalsHistory: '/recommended-class/history',\n * goalDrafts: '/recommended-class/drafts',\n * submitGoal: '/goals',\n * },\n * texts: {\n * title: 'Histórico de aulas recomendadas',\n * createButtonText: 'Criar aula',\n * searchPlaceholder: 'Buscar aula',\n * },\n * emptyStateImage,\n * noSearchImage,\n * mapSubjectNameToEnum,\n * });\n *\n * // In your component\n * const { historyProps, modalProps, navigate } = useRecommendedLessonsPage();\n * ```\n */\nexport const createUseRecommendedLessonsPage = (\n config: UseRecommendedLessonsPageConfig\n): (() => UseRecommendedLessonsPageReturn) => {\n const {\n api,\n navigate,\n userData,\n paths,\n endpoints,\n texts,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n } = config;\n\n return (): UseRecommendedLessonsPageReturn => {\n // Store original goal data for navigation\n const goalsMapRef = useRef<Map<string, GoalHistoryItem>>(new Map());\n\n // SendLessonModal state\n const [sendModalOpen, setSendModalOpen] = useState(false);\n const [selectedModel, setSelectedModel] =\n useState<GoalModelTableItem | null>(null);\n const [sendModalLoading, setSendModalLoading] = useState(false);\n const [sendModalCategories, setSendModalCategories] = useState<\n CategoryConfig[]\n >([]);\n\n // Build user filter data from user data\n const userFilterData = useMemo(\n () => ({\n schools: getSchoolOptions(userData),\n classes: getClassOptions(userData),\n subjects: getSubjectOptions(userData),\n }),\n [userData]\n );\n\n // Memoized subjects map for models display\n const subjectsMap = useMemo(() => {\n const map = new Map<string, string>();\n const subjects = getSubjectOptions(userData);\n subjects.forEach((s) => map.set(s.id, s.name));\n return map;\n }, [userData]);\n\n /**\n * Fetch goals history from API\n */\n const fetchGoalsHistory = useCallback(\n async (\n filters?: GoalHistoryFilters\n ): Promise<GoalsHistoryApiResponse> => {\n const params = buildQueryParams(filters as Record<string, unknown>);\n const response = await api.get<GoalsHistoryApiResponse>(\n endpoints.goalsHistory,\n { params }\n );\n\n // Store original goal data for later use in navigation\n const goals = response.data.data.goals;\n goals.forEach((goal) => {\n goalsMapRef.current.set(goal.goal.id, goal);\n });\n\n return response.data;\n },\n [api, endpoints.goalsHistory]\n );\n\n /**\n * Fetch goal models from API\n */\n const fetchGoalModels = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.MODELO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal model\n */\n const deleteGoalModel = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Handle create lesson button click\n */\n const handleCreateLesson = useCallback(() => {\n navigate(paths.createLesson);\n }, []);\n\n /**\n * Handle create model button click\n */\n const handleCreateModel = useCallback(() => {\n navigate(paths.createModel);\n }, []);\n\n /**\n * Handle row click - navigate to goal details\n */\n const handleRowClick = useCallback((row: GoalTableItem) => {\n const originalData = goalsMapRef.current.get(row.id);\n navigate(`${paths.lessonDetails}/${row.id}`, {\n state: { goalData: originalData },\n });\n }, []);\n\n /**\n * Handle edit goal action\n */\n const handleEditGoal = useCallback((id: string) => {\n navigate(`${paths.editLesson}/${id}/editar`);\n }, []);\n\n /**\n * Handle edit model action\n */\n const handleEditModel = useCallback((model: GoalModelTableItem) => {\n navigate(`${paths.editModel}${model.id}`);\n }, []);\n\n /**\n * Handle send lesson button click - opens modal\n */\n const handleSendLesson = useCallback(\n (model: GoalModelTableItem) => {\n setSelectedModel(model);\n\n // Build categories from user data for CheckboxGroup\n const classes = getClassOptions(userData);\n const categories: CategoryConfig[] = [];\n\n if (classes.length > 0) {\n categories.push({\n key: 'students',\n label: 'Turmas',\n selectedIds: [],\n itens: classes.map((cls) => ({\n id: cls.id,\n name: cls.name,\n studentId: cls.id,\n userInstitutionId: cls.id,\n })),\n });\n }\n\n setSendModalCategories(categories);\n setSendModalOpen(true);\n },\n [userData]\n );\n\n /**\n * Handle send lesson modal submit\n */\n const handleSendLessonSubmit = useCallback(\n async (formData: SendLessonFormData) => {\n if (!selectedModel) return;\n\n setSendModalLoading(true);\n try {\n await api.post(endpoints.submitGoal, {\n draftId: selectedModel.id,\n students: formData.students,\n startDate: `${formData.startDate}T${formData.startTime}:00`,\n finalDate: `${formData.finalDate}T${formData.finalTime}:00`,\n });\n\n setSendModalOpen(false);\n setSelectedModel(null);\n } finally {\n setSendModalLoading(false);\n }\n },\n [api, endpoints.submitGoal, selectedModel]\n );\n\n /**\n * Handle send lesson modal close\n */\n const handleSendModalClose = useCallback(() => {\n setSendModalOpen(false);\n setSelectedModel(null);\n }, []);\n\n /**\n * Handle categories change in send modal\n */\n const handleCategoriesChange = useCallback(\n (categories: CategoryConfig[]) => {\n setSendModalCategories(categories);\n },\n []\n );\n\n return {\n historyProps: {\n fetchGoalsHistory,\n fetchGoalModels,\n deleteGoalModel,\n onCreateLesson: handleCreateLesson,\n onCreateModel: handleCreateModel,\n onRowClick: handleRowClick,\n onEditGoal: handleEditGoal,\n onEditModel: handleEditModel,\n onSendLesson: handleSendLesson,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n userFilterData,\n subjectsMap,\n title: texts.title,\n createButtonText: texts.createButtonText,\n searchPlaceholder: texts.searchPlaceholder,\n },\n modalProps: {\n isOpen: sendModalOpen,\n onClose: handleSendModalClose,\n onSubmit: handleSendLessonSubmit,\n categories: sendModalCategories,\n onCategoriesChange: handleCategoriesChange,\n isLoading: sendModalLoading,\n modalTitle: selectedModel?.title,\n },\n navigate,\n };\n };\n};\n\n/**\n * Alias for createUseRecommendedLessonsPage\n */\nexport const createRecommendedLessonsPageHook = createUseRecommendedLessonsPage;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useRecommendedLessonsPage.ts"],"sourcesContent":["/**\n * useRecommendedLessonsPage Hook Factory\n *\n * Factory function to create a hook for RecommendedLessons, LessonDrafts, and LessonModels pages.\n * Contains all common state, memos, and callbacks.\n */\n\nimport { useCallback, useRef, useMemo, useState } from 'react';\nimport {\n GoalDraftType,\n type GoalHistoryFilters,\n type GoalsHistoryApiResponse,\n type GoalTableItem,\n type GoalHistoryItem,\n type GoalModelFilters,\n type GoalModelsApiResponse,\n type GoalModelTableItem,\n} from '../types/recommendedLessons';\nimport type {\n SendLessonFormData,\n CategoryConfig,\n} from '../components/SendLessonModal/types';\nimport { SubjectEnum } from '../enums/SubjectEnum';\n\n/**\n * API client interface\n */\nexport interface RecommendedLessonsApiClient {\n get: <T>(\n url: string,\n config?: { params?: Record<string, unknown> }\n ) => Promise<{ data: T }>;\n post: <T>(url: string, data?: unknown) => Promise<{ data: T }>;\n delete: <T>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * User institution data structure\n */\nexport interface UserInstitution {\n school: { id: string; name: string };\n schoolYear: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * Subject teacher class data structure\n */\nexport interface SubTeacherTopicClass {\n subject: { id: string; name: string };\n class: { id: string; name: string };\n}\n\n/**\n * User data structure\n */\nexport interface RecommendedLessonsUserData {\n userInstitutions?: UserInstitution[];\n subTeacherTopicClasses?: SubTeacherTopicClass[];\n}\n\n/**\n * Navigation paths configuration\n */\nexport interface RecommendedLessonsPagePaths {\n /** Path for creating a new lesson */\n createLesson: string;\n /** Path for creating a new model */\n createModel: string;\n /** Base path for lesson details */\n lessonDetails: string;\n /** Base path for editing a lesson */\n editLesson: string;\n /** Path for editing a model (with id parameter) */\n editModel: string;\n}\n\n/**\n * API endpoints configuration\n */\nexport interface RecommendedLessonsPageEndpoints {\n /** Endpoint for fetching goals history */\n goalsHistory: string;\n /** Endpoint for fetching goal models/drafts */\n goalDrafts: string;\n /** Endpoint for submitting a goal */\n submitGoal: string;\n}\n\n/**\n * UI text configuration\n */\nexport interface RecommendedLessonsPageTexts {\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n}\n\n/**\n * Configuration for createUseRecommendedLessonsPage factory\n */\nexport interface UseRecommendedLessonsPageConfig {\n /** API client for making requests */\n api: RecommendedLessonsApiClient;\n /** Navigation function */\n navigate: (path: string, options?: { state?: unknown }) => void;\n /** User data for filter options */\n userData: RecommendedLessonsUserData | null;\n /** Navigation paths */\n paths: RecommendedLessonsPagePaths;\n /** API endpoints */\n endpoints: RecommendedLessonsPageEndpoints;\n /** UI text */\n texts: RecommendedLessonsPageTexts;\n /** Image for empty state */\n emptyStateImage: string;\n /** Image for no search results */\n noSearchImage: string;\n /** Function to map subject name to SubjectEnum */\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n}\n\n/**\n * Return type for the useRecommendedLessonsPage hook\n */\nexport interface UseRecommendedLessonsPageReturn {\n /** Props for RecommendedLessonsHistory component */\n historyProps: {\n fetchGoalsHistory: (\n filters?: GoalHistoryFilters\n ) => Promise<GoalsHistoryApiResponse>;\n fetchGoalModels: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalModel: (id: string) => Promise<void>;\n onCreateLesson: () => void;\n onCreateModel: () => void;\n onRowClick: (row: GoalTableItem) => void;\n onEditGoal: (id: string) => void;\n onEditModel: (model: GoalModelTableItem) => void;\n onSendLesson: (model: GoalModelTableItem) => void;\n fetchGoalDrafts: (\n filters?: GoalModelFilters\n ) => Promise<GoalModelsApiResponse>;\n deleteGoalDraft: (id: string) => Promise<void>;\n onSendDraft: (draft: GoalModelTableItem) => void;\n onEditDraft: (draft: GoalModelTableItem) => void;\n emptyStateImage: string;\n noSearchImage: string;\n mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;\n userFilterData: {\n schools: Array<{ id: string; name: string }>;\n classes: Array<{ id: string; name: string }>;\n subjects: Array<{ id: string; name: string }>;\n };\n subjectsMap: Map<string, string>;\n title: string;\n createButtonText: string;\n searchPlaceholder: string;\n };\n /** Props for SendLessonModal component */\n modalProps: {\n isOpen: boolean;\n onClose: () => void;\n onSubmit: (formData: SendLessonFormData) => Promise<void>;\n categories: CategoryConfig[];\n onCategoriesChange: (categories: CategoryConfig[]) => void;\n isLoading: boolean;\n modalTitle: string | undefined;\n };\n /** Navigate function for custom tab handlers */\n navigate: (path: string, options?: { state?: unknown }) => void;\n}\n\n/**\n * Build query parameters from filter object\n */\nconst buildQueryParams = (\n filters?: Record<string, unknown>\n): Record<string, unknown> => {\n if (!filters) return {};\n\n const params: Record<string, unknown> = {};\n for (const key in filters) {\n const value = filters[key];\n if (value !== undefined && value !== null) {\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n params[key] = value;\n }\n }\n }\n return params;\n};\n\n/**\n * Get school options from user data\n */\nconst getSchoolOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const schoolMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.school?.id && inst.school?.name) {\n schoolMap.set(inst.school.id, inst.school.name);\n }\n });\n\n return Array.from(schoolMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get class options from user data\n */\nconst getClassOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.userInstitutions) return [];\n\n const classMap = new Map<string, string>();\n userData.userInstitutions.forEach((inst) => {\n if (inst.class?.id && inst.class?.name) {\n classMap.set(inst.class.id, inst.class.name);\n }\n });\n\n return Array.from(classMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Get subject options from user data\n */\nconst getSubjectOptions = (\n userData: RecommendedLessonsUserData | null\n): Array<{ id: string; name: string }> => {\n if (!userData?.subTeacherTopicClasses) return [];\n\n const subjectMap = new Map<string, string>();\n userData.subTeacherTopicClasses.forEach((stc) => {\n if (stc.subject?.id && stc.subject?.name) {\n subjectMap.set(stc.subject.id, stc.subject.name);\n }\n });\n\n return Array.from(subjectMap.entries()).map(([id, name]) => ({ id, name }));\n};\n\n/**\n * Factory function to create useRecommendedLessonsPage hook\n *\n * @param config - Configuration object with API client, navigation, user data, paths, etc.\n * @returns Hook function that returns historyProps, modalProps, and navigate\n *\n * @example\n * ```tsx\n * // In your app setup\n * const useRecommendedLessonsPage = createUseRecommendedLessonsPage({\n * api,\n * navigate,\n * userData,\n * paths: {\n * createLesson: '/criar-aula',\n * createModel: '/criar-aula?mode=model',\n * lessonDetails: '/aulas-recomendadas',\n * editLesson: '/aulas-recomendadas',\n * editModel: '/criar-aula?mode=model&id=',\n * },\n * endpoints: {\n * goalsHistory: '/recommended-class/history',\n * goalDrafts: '/recommended-class/drafts',\n * submitGoal: '/goals',\n * },\n * texts: {\n * title: 'Histórico de aulas recomendadas',\n * createButtonText: 'Criar aula',\n * searchPlaceholder: 'Buscar aula',\n * },\n * emptyStateImage,\n * noSearchImage,\n * mapSubjectNameToEnum,\n * });\n *\n * // In your component\n * const { historyProps, modalProps, navigate } = useRecommendedLessonsPage();\n * ```\n */\nexport const createUseRecommendedLessonsPage = (\n config: UseRecommendedLessonsPageConfig\n): (() => UseRecommendedLessonsPageReturn) => {\n const {\n api,\n navigate,\n userData,\n paths,\n endpoints,\n texts,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n } = config;\n\n return (): UseRecommendedLessonsPageReturn => {\n // Store original goal data for navigation\n const goalsMapRef = useRef<Map<string, GoalHistoryItem>>(new Map());\n\n // SendLessonModal state\n const [sendModalOpen, setSendModalOpen] = useState(false);\n const [selectedModel, setSelectedModel] =\n useState<GoalModelTableItem | null>(null);\n const [sendModalLoading, setSendModalLoading] = useState(false);\n const [sendModalCategories, setSendModalCategories] = useState<\n CategoryConfig[]\n >([]);\n\n // Build user filter data from user data\n const userFilterData = useMemo(\n () => ({\n schools: getSchoolOptions(userData),\n classes: getClassOptions(userData),\n subjects: getSubjectOptions(userData),\n }),\n [userData]\n );\n\n // Memoized subjects map for models display\n const subjectsMap = useMemo(() => {\n const map = new Map<string, string>();\n const subjects = getSubjectOptions(userData);\n subjects.forEach((s) => map.set(s.id, s.name));\n return map;\n }, [userData]);\n\n /**\n * Fetch goals history from API\n */\n const fetchGoalsHistory = useCallback(\n async (\n filters?: GoalHistoryFilters\n ): Promise<GoalsHistoryApiResponse> => {\n const params = buildQueryParams(filters as Record<string, unknown>);\n const response = await api.get<GoalsHistoryApiResponse>(\n endpoints.goalsHistory,\n { params }\n );\n\n // Store original goal data for later use in navigation\n const goals = response.data.data.goals;\n goals.forEach((goal) => {\n goalsMapRef.current.set(goal.goal.id, goal);\n });\n\n return response.data;\n },\n [api, endpoints.goalsHistory]\n );\n\n /**\n * Fetch goal models from API\n */\n const fetchGoalModels = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.MODELO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal model\n */\n const deleteGoalModel = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Fetch goal drafts from API\n */\n const fetchGoalDrafts = useCallback(\n async (filters?: GoalModelFilters): Promise<GoalModelsApiResponse> => {\n const params = buildQueryParams({\n ...filters,\n type: GoalDraftType.RASCUNHO,\n } as Record<string, unknown>);\n const response = await api.get<GoalModelsApiResponse>(\n endpoints.goalDrafts,\n { params }\n );\n return response.data;\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Delete a goal draft\n */\n const deleteGoalDraft = useCallback(\n async (id: string): Promise<void> => {\n await api.delete(`${endpoints.goalDrafts}/${id}`);\n },\n [api, endpoints.goalDrafts]\n );\n\n /**\n * Handle create lesson button click\n */\n const handleCreateLesson = useCallback(() => {\n navigate(paths.createLesson);\n }, []);\n\n /**\n * Handle create model button click\n */\n const handleCreateModel = useCallback(() => {\n navigate(paths.createModel);\n }, []);\n\n /**\n * Handle row click - navigate to goal details\n */\n const handleRowClick = useCallback((row: GoalTableItem) => {\n const originalData = goalsMapRef.current.get(row.id);\n navigate(`${paths.lessonDetails}/${row.id}`, {\n state: { goalData: originalData },\n });\n }, []);\n\n /**\n * Handle edit goal action\n */\n const handleEditGoal = useCallback((id: string) => {\n navigate(`${paths.editLesson}/${id}/editar`);\n }, []);\n\n /**\n * Handle edit model action\n */\n const handleEditModel = useCallback((model: GoalModelTableItem) => {\n navigate(`${paths.editModel}${model.id}`);\n }, []);\n\n /**\n * Handle send lesson button click - opens modal\n */\n const handleSendLesson = useCallback(\n (model: GoalModelTableItem) => {\n setSelectedModel(model);\n\n // Build categories from user data for CheckboxGroup\n const classes = getClassOptions(userData);\n const categories: CategoryConfig[] = [];\n\n if (classes.length > 0) {\n categories.push({\n key: 'students',\n label: 'Turmas',\n selectedIds: [],\n itens: classes.map((cls) => ({\n id: cls.id,\n name: cls.name,\n studentId: cls.id,\n userInstitutionId: cls.id,\n })),\n });\n }\n\n setSendModalCategories(categories);\n setSendModalOpen(true);\n },\n [userData]\n );\n\n /**\n * Handle send lesson modal submit\n */\n const handleSendLessonSubmit = useCallback(\n async (formData: SendLessonFormData) => {\n if (!selectedModel) return;\n\n setSendModalLoading(true);\n try {\n await api.post(endpoints.submitGoal, {\n draftId: selectedModel.id,\n students: formData.students,\n startDate: `${formData.startDate}T${formData.startTime}:00`,\n finalDate: `${formData.finalDate}T${formData.finalTime}:00`,\n });\n\n setSendModalOpen(false);\n setSelectedModel(null);\n } finally {\n setSendModalLoading(false);\n }\n },\n [api, endpoints.submitGoal, selectedModel]\n );\n\n /**\n * Handle send lesson modal close\n */\n const handleSendModalClose = useCallback(() => {\n setSendModalOpen(false);\n setSelectedModel(null);\n }, []);\n\n /**\n * Handle categories change in send modal\n */\n const handleCategoriesChange = useCallback(\n (categories: CategoryConfig[]) => {\n setSendModalCategories(categories);\n },\n []\n );\n\n return {\n historyProps: {\n fetchGoalsHistory,\n fetchGoalModels,\n deleteGoalModel,\n onCreateLesson: handleCreateLesson,\n onCreateModel: handleCreateModel,\n onRowClick: handleRowClick,\n onEditGoal: handleEditGoal,\n onEditModel: handleEditModel,\n onSendLesson: handleSendLesson,\n fetchGoalDrafts,\n deleteGoalDraft,\n onSendDraft: handleSendLesson,\n onEditDraft: handleEditModel,\n emptyStateImage,\n noSearchImage,\n mapSubjectNameToEnum,\n userFilterData,\n subjectsMap,\n title: texts.title,\n createButtonText: texts.createButtonText,\n searchPlaceholder: texts.searchPlaceholder,\n },\n modalProps: {\n isOpen: sendModalOpen,\n onClose: handleSendModalClose,\n onSubmit: handleSendLessonSubmit,\n categories: sendModalCategories,\n onCategoriesChange: handleCategoriesChange,\n isLoading: sendModalLoading,\n modalTitle: selectedModel?.title,\n },\n navigate,\n };\n };\n};\n\n/**\n * Alias for createUseRecommendedLessonsPage\n */\nexport const createRecommendedLessonsPageHook = createUseRecommendedLessonsPage;\n"],"mappings":"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","names":[]}
|
|
@@ -134,6 +134,10 @@ export interface UseRecommendedLessonsPageReturn {
|
|
|
134
134
|
onEditGoal: (id: string) => void;
|
|
135
135
|
onEditModel: (model: GoalModelTableItem) => void;
|
|
136
136
|
onSendLesson: (model: GoalModelTableItem) => void;
|
|
137
|
+
fetchGoalDrafts: (filters?: GoalModelFilters) => Promise<GoalModelsApiResponse>;
|
|
138
|
+
deleteGoalDraft: (id: string) => Promise<void>;
|
|
139
|
+
onSendDraft: (draft: GoalModelTableItem) => void;
|
|
140
|
+
onEditDraft: (draft: GoalModelTableItem) => void;
|
|
137
141
|
emptyStateImage: string;
|
|
138
142
|
noSearchImage: string;
|
|
139
143
|
mapSubjectNameToEnum: (subjectName: string) => SubjectEnum | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecommendedLessonsPage.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecommendedLessonsPage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useRecommendedLessonsPage.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecommendedLessonsPage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -150,6 +150,9 @@ export { cn, getSubjectColorWithOpacity, syncDropdownState, getSelectedIdsFromCa
|
|
|
150
150
|
export { convertActivityFiltersToQuestionsFilter } from './utils/questionFiltersConverter';
|
|
151
151
|
export { mapQuestionTypeToEnum, mapQuestionTypeToEnumRequired, } from './utils/questionTypeUtils';
|
|
152
152
|
export { STUDENT_ACTIVITY_STATUS, ACTIVITY_AVAILABILITY, studentActivityStatusSchema, } from './types/activityDetails';
|
|
153
|
+
export { LESSON_AVAILABILITY } from './types/lessonAvailability';
|
|
154
|
+
export type { LessonAvailability, LessonAvailabilityResult, } from './types/lessonAvailability';
|
|
155
|
+
export { checkLessonAvailability, isLessonNotYetAvailable, isLessonExpired, } from './utils/lessonAvailabilityUtils';
|
|
153
156
|
export { getStatusBadgeConfig, formatTimeSpent, formatQuestionNumbers, formatDateToBrazilian, } from './utils/utils';
|
|
154
157
|
export type { StudentActivityStatus, ActivityAvailability, ActivityStudentData, Pagination as ActivityDetailsPagination, GeneralStats, QuestionStats, ActivityMetadata, ActivityDetailsData, ActivityDetailsQueryParams, ActivityStudentTableItem, StatusBadgeConfig, } from './types/activityDetails';
|
|
155
158
|
export { ActivityDetails } from './components/ActivityDetails/ActivityDetails';
|
|
@@ -183,6 +186,10 @@ export { GoalApiStatus, GoalDisplayStatus, GoalBadgeActionType, getGoalStatusBad
|
|
|
183
186
|
export type { GoalSubject, GoalCreator, GoalStats, GoalBreakdown, GoalData, GoalHistoryItem, GoalTableItem, GoalsHistoryApiResponse, GoalHistoryFilters, GoalHistoryPagination, GoalFilterOption, GoalUserFilterData, GoalDetailStudent, GoalDetailAggregated, GoalDetailContentPerformanceItem, GoalDetailContentPerformance, GoalDetailsData, GoalDetailsApiResponse, GoalLessonSubject, GoalLesson, GoalLessonProgress, GoalLessonGoalItem, GoalMetadata, GoalApiResponse, LessonDetailsData, GoalModelResponse, GoalModelTableItem, GoalModelsApiResponse, GoalModelFilters, GoalModelPagination, GoalActivityStatus, GoalActivity, GoalSupUsersActivities, GoalActivitiesGoals, } from './types/recommendedLessons';
|
|
184
187
|
export { createUseGoalModels, createGoalModelsHook, transformGoalModelToTableItem, handleGoalModelFetchError, goalModelsApiResponseSchema, DEFAULT_GOAL_MODELS_PAGINATION, } from './hooks/useGoalModels';
|
|
185
188
|
export type { UseGoalModelsState, UseGoalModelsReturn, } from './hooks/useGoalModels';
|
|
189
|
+
export { createUseGoalDrafts, createGoalDraftsHook, handleGoalDraftFetchError, DEFAULT_GOAL_DRAFTS_PAGINATION, } from './hooks/useGoalDrafts';
|
|
190
|
+
export type { UseGoalDraftsState, UseGoalDraftsReturn, } from './hooks/useGoalDrafts';
|
|
191
|
+
export { GoalDraftsTab } from './components/RecommendedLessonsHistory/tabs/DraftsTab';
|
|
192
|
+
export type { GoalDraftsTabProps } from './components/RecommendedLessonsHistory/tabs/DraftsTab';
|
|
186
193
|
export { ActivitiesHistory } from './components/ActivitiesHistory';
|
|
187
194
|
export type { ActivitiesHistoryProps } from './components/ActivitiesHistory';
|
|
188
195
|
export { createUseActivitiesHistory, createActivitiesHistoryHook, transformActivityToTableItem, handleActivityFetchError, activitiesHistoryApiResponseSchema, DEFAULT_ACTIVITIES_PAGINATION, } from './hooks/useActivitiesHistory';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|