UNPKG

@replyke/core

Version:

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

41 lines 1.49 kB
import useChatMessages from "./messages/useChatMessages"; import useSendMessage from "./messages/useSendMessage"; import useConversationMembers from "./conversations/useConversationMembers"; import useMarkConversationAsRead from "./useMarkConversationAsRead"; import useTypingIndicator from "./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 } = useChatMessages({ conversationId, }); const send = useSendMessage({ conversationId }); const { members, loading: membersLoading, addMember, removeMember, leave, changeRole, upsertMember, removeMemberLocally, } = useConversationMembers({ conversationId }); const mark = useMarkConversationAsRead({ conversationId }); const { typingUsers, startTyping, stopTyping } = useTypingIndicator({ conversationId, }); return { messages, messagesLoading, hasMore, loadOlder, send, members, membersLoading, addMember, removeMember, leave, changeRole, upsertMember, removeMemberLocally, mark, typingUsers, startTyping, stopTyping, }; } export default useConversationData; //# sourceMappingURL=useConversationData.js.map