UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

76 lines 2.85 kB
import type { BaseApiClient } from '../types/api'; import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup'; import type { KnowledgeStructureState, Bank, BankYear, KnowledgeArea } from '../types/activityFilters'; import { QUESTION_TYPE } from '../components/Quiz/useQuizStore'; /** * Configuration options for the useActivityFiltersData hook */ export interface UseActivityFiltersDataOptions { /** * Selected subjects for loading knowledge structure */ selectedSubjects: string[]; /** * Institution ID for loading question types (optional) */ institutionId?: string | null; } /** * Return type for the useActivityFiltersData hook */ export interface UseActivityFiltersDataReturn { banks: Bank[]; bankYears: BankYear[]; loadingBanks: boolean; banksError: string | null; loadBanks: () => Promise<void>; knowledgeAreas: KnowledgeArea[]; loadingSubjects: boolean; subjectsError: string | null; loadKnowledgeAreas: () => Promise<void>; knowledgeStructure: KnowledgeStructureState; knowledgeCategories: CategoryConfig[]; handleCategoriesChange: (updatedCategories: CategoryConfig[]) => void; selectedKnowledgeSummary: { topics: string[]; subtopics: string[]; contents: string[]; }; enableSummary: boolean; loadTopics: (subjectIds: string[]) => Promise<void>; loadSubtopics: (topicIds: string[], options?: { forceApi?: boolean; }) => Promise<void>; loadContents: (subtopicIds: string[]) => Promise<void>; questionTypes: QUESTION_TYPE[]; loadingQuestionTypes: boolean; questionTypesError: string | null; loadQuestionTypes: () => Promise<void>; } /** * Create an activity filters data hook with API client injection. * @param apiClient - API client instance */ export declare const createUseActivityFiltersData: (apiClient: BaseApiClient) => (options: UseActivityFiltersDataOptions) => UseActivityFiltersDataReturn; /** * Create a pre-configured activity filters data hook * This is a convenience function that returns a hook ready to use * * @param apiClient - API client instance * @returns Pre-configured useActivityFiltersData hook * * @example * // In your app setup * import { createActivityFiltersDataHook } from 'analytica-frontend-lib'; * import api from './services/api'; * * export const useActivityFiltersData = createActivityFiltersDataHook(api); * * // Then use directly in components * const { banks, knowledgeAreas, loadBanks } = useActivityFiltersData({ * selectedSubjects: [], * institutionId: 'institution-id', * }); */ export declare const createActivityFiltersDataHook: (apiClient: BaseApiClient) => (options: UseActivityFiltersDataOptions) => UseActivityFiltersDataReturn; //# sourceMappingURL=useActivityFiltersData.d.ts.map