UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

46 lines 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const useChatMessages_1 = __importDefault(require("./messages/useChatMessages")); const useSendMessage_1 = __importDefault(require("./messages/useSendMessage")); const useConversationMembers_1 = __importDefault(require("./conversations/useConversationMembers")); const useMarkConversationAsRead_1 = __importDefault(require("./useMarkConversationAsRead")); const useTypingIndicator_1 = __importDefault(require("./useTypingIndicator")); /** * High-level composition hook that powers ConversationProvider. * Combines messages, send, members, read-state, and typing indicators into one object. */ function useConversationData({ conversationId, }) { const { messages, loading: messagesLoading, hasMore, loadOlder } = (0, useChatMessages_1.default)({ conversationId, }); const send = (0, useSendMessage_1.default)({ conversationId }); const { members, loading: membersLoading, addMember, removeMember, leave, changeRole, upsertMember, removeMemberLocally, } = (0, useConversationMembers_1.default)({ conversationId }); const mark = (0, useMarkConversationAsRead_1.default)({ conversationId }); const { typingUsers, startTyping, stopTyping } = (0, useTypingIndicator_1.default)({ conversationId, }); return { messages, messagesLoading, hasMore, loadOlder, send, members, membersLoading, addMember, removeMember, leave, changeRole, upsertMember, removeMemberLocally, mark, typingUsers, startTyping, stopTyping, }; } exports.default = useConversationData; //# sourceMappingURL=useConversationData.js.map