analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
42 lines • 1.41 kB
TypeScript
import type { ForumApiClient, ForumTopic, ForumReply, ForumPagination } from '../types/forum';
type UseForumState = {
topics: ForumTopic[];
pagination: ForumPagination | null;
selectedTopic: ForumTopic | null;
replies: ForumReply[];
isLoadingTopics: boolean;
isLoadingTopic: boolean;
isSubmitting: boolean;
error: string | null;
};
export type UseForumReturn = UseForumState & {
fetchTopics: (params?: {
limit?: number;
offset?: number;
}) => Promise<void>;
fetchTopic: (topicId: string) => Promise<void>;
createTopic: (body: {
content: string;
imageUrl?: string;
countsForGrade?: boolean;
}) => Promise<void>;
updateTopic: (topicId: string, body: {
content?: string;
imageUrl?: string | null;
}) => Promise<void>;
deleteTopic: (topicId: string) => Promise<void>;
createReply: (topicId: string, body: {
content: string;
imageUrl?: string;
}) => Promise<void>;
updateReply: (replyId: string, body: {
content?: string;
imageUrl?: string | null;
}) => Promise<void>;
deleteReply: (replyId: string) => Promise<void>;
selectTopic: (topic: ForumTopic | null) => void;
clearError: () => void;
};
export declare const createUseForum: (apiClient: ForumApiClient) => () => UseForumReturn;
export {};
//# sourceMappingURL=useForum.d.ts.map