analytica-frontend-lib 1.2.83 → 1.2.85
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/ActivitiesHistory/index.js +156 -147
- package/dist/ActivitiesHistory/index.js.map +1 -1
- package/dist/ActivitiesHistory/index.mjs +155 -146
- package/dist/ActivitiesHistory/index.mjs.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.d.ts +6 -4
- package/dist/ActivityCardQuestionBanks/index.d.ts.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.js.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.mjs.map +1 -1
- package/dist/RecommendedLessonsHistory/index.js +460 -286
- package/dist/RecommendedLessonsHistory/index.js.map +1 -1
- package/dist/RecommendedLessonsHistory/index.mjs +409 -235
- package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
- package/dist/hooks/useActivitiesHistory/index.js.map +1 -1
- package/dist/hooks/useActivitiesHistory/index.mjs.map +1 -1
- package/dist/hooks/useActivityModels/index.d.ts +1 -1
- package/dist/hooks/useActivityModels/index.d.ts.map +1 -1
- package/dist/hooks/useActivityModels/index.js +13 -2
- package/dist/hooks/useActivityModels/index.js.map +1 -1
- package/dist/hooks/useActivityModels/index.mjs +13 -2
- package/dist/hooks/useActivityModels/index.mjs.map +1 -1
- package/dist/hooks/useActivityModels.d.ts +1 -1
- package/dist/hooks/useActivityModels.d.ts.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 +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2251 -1058
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2264 -1078
- package/dist/index.mjs.map +1 -1
- package/dist/types/activitiesHistory/index.d.ts +11 -1
- package/dist/types/activitiesHistory/index.d.ts.map +1 -1
- package/dist/types/activitiesHistory/index.js.map +1 -1
- package/dist/types/activitiesHistory/index.mjs.map +1 -1
- package/dist/types/activitiesHistory.d.ts +11 -1
- package/dist/types/activitiesHistory.d.ts.map +1 -1
- package/dist/types/questions.d.ts +1 -0
- package/dist/types/questions.d.ts.map +1 -1
- package/package.json +3 -1
|
@@ -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":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAElB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,CAAC,CAAC,EACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAC1C,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,qCAAqC;IACrC,GAAG,EAAE,2BAA2B,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,mCAAmC;IACnC,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC5C,uBAAuB;IACvB,KAAK,EAAE,2BAA2B,CAAC;IACnC,oBAAoB;IACpB,SAAS,EAAE,+BAA+B,CAAC;IAC3C,cAAc;IACd,KAAK,EAAE,2BAA2B,CAAC;IACnC,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,oDAAoD;IACpD,YAAY,EAAE;QACZ,iBAAiB,EAAE,CACjB,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACtC,eAAe,EAAE,CACf,OAAO,CAAC,EAAE,gBAAgB,KACvB,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACpC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;QAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;QACzC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;QACjD,YAAY,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;QAClD,eAAe,EAAE,CACf,OAAO,CAAC,EAAE,gBAAgB,KACvB,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACpC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;QACjD,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;QAClE,cAAc,EAAE;YACd,OAAO,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC7C,QAAQ,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC/C,CAAC;QACF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,0CAA0C;IAC1C,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,kBAAkB,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;QAC3D,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC;IACF,gDAAgD;IAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,+BAA+B,KACtC,CAAC,MAAM,+BAA+B,CAgRxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,WAtRnC,+BAA+B,KACtC,CAAC,MAAM,+BAA+B,CAqRsC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -142,6 +142,8 @@ export type { ActivityListQuestionsProps } from './components/ActivityListQuesti
|
|
|
142
142
|
export type { ActivityCardQuestionPreviewProps } from './components/ActivityCardQuestionPreview/ActivityCardQuestionPreview';
|
|
143
143
|
export { ActivityPreview } from './components/ActivityPreview/ActivityPreview';
|
|
144
144
|
export type { ActivityPreviewProps, PreviewQuestion, } from './components/ActivityPreview/ActivityPreview';
|
|
145
|
+
export { LessonPreview } from './components/LessonPreview/LessonPreview';
|
|
146
|
+
export type { LessonPreviewProps, PreviewLesson, } from './components/LessonPreview/LessonPreview';
|
|
145
147
|
export { QuestionsPdfGenerator, QuestionsPdfContent, useQuestionsPdfPrint, } from './components/QuestionsPdfGenerator';
|
|
146
148
|
export type { QuestionsPdfGeneratorProps } from './components/QuestionsPdfGenerator';
|
|
147
149
|
export { cn, getSubjectColorWithOpacity, syncDropdownState, getSelectedIdsFromCategories, toggleArrayItem, toggleSingleValue, } from './utils/utils';
|
|
@@ -162,6 +164,8 @@ export { SendActivityModal } from './components/SendActivityModal';
|
|
|
162
164
|
export { useSendActivityModal } from './components/SendActivityModal';
|
|
163
165
|
export type { SendActivityModalProps, SendActivityFormData, ActivitySubtype, StepErrors, StepState, StepConfig, SendActivityModalInitialData, } from './components/SendActivityModal';
|
|
164
166
|
export { validateActivityStep, validateRecipientStep, validateDeadlineStep, validateStep, isStepValid, isFormValid, ERROR_MESSAGES, } from './components/SendActivityModal';
|
|
167
|
+
export { ChooseActivityModelModal } from './components/ChooseActivityModelModal';
|
|
168
|
+
export type { ChooseActivityModelModalProps } from './components/ChooseActivityModelModal';
|
|
165
169
|
export { SendLessonModal } from './components/SendLessonModal';
|
|
166
170
|
export { useSendLessonModal } from './components/SendLessonModal';
|
|
167
171
|
export type { SendLessonModalProps, SendLessonFormData, StepErrors as SendLessonStepErrors, StepState as SendLessonStepState, StepConfig as SendLessonStepConfig, } from './components/SendLessonModal';
|
|
@@ -179,6 +183,10 @@ export { GoalApiStatus, GoalDisplayStatus, GoalBadgeActionType, getGoalStatusBad
|
|
|
179
183
|
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';
|
|
180
184
|
export { createUseGoalModels, createGoalModelsHook, transformGoalModelToTableItem, handleGoalModelFetchError, goalModelsApiResponseSchema, DEFAULT_GOAL_MODELS_PAGINATION, } from './hooks/useGoalModels';
|
|
181
185
|
export type { UseGoalModelsState, UseGoalModelsReturn, } from './hooks/useGoalModels';
|
|
186
|
+
export { createUseGoalDrafts, createGoalDraftsHook, handleGoalDraftFetchError, DEFAULT_GOAL_DRAFTS_PAGINATION, } from './hooks/useGoalDrafts';
|
|
187
|
+
export type { UseGoalDraftsState, UseGoalDraftsReturn, } from './hooks/useGoalDrafts';
|
|
188
|
+
export { GoalDraftsTab } from './components/RecommendedLessonsHistory/tabs/DraftsTab';
|
|
189
|
+
export type { GoalDraftsTabProps } from './components/RecommendedLessonsHistory/tabs/DraftsTab';
|
|
182
190
|
export { ActivitiesHistory } from './components/ActivitiesHistory';
|
|
183
191
|
export type { ActivitiesHistoryProps } from './components/ActivitiesHistory';
|
|
184
192
|
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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"}
|