@livelike/react-native
Version:
LiveLike React Native package
33 lines (26 loc) • 849 B
text/typescript
import { ChatMessagesState, chatMessageStore } from '../store/chatMessage';
import { useSelectedFieldStore } from './useSelectedFieldStore';
export type UseChatMessageArg = {
roomId: string;
};
const EMPTY_CHAT_MESSAGES_STATE: ChatMessagesState = {
chatMessagesLoaded: false,
chatMessages: [],
};
export function useChatRoomState({ roomId }: UseChatMessageArg) {
const chatMessageState = useSelectedFieldStore(
chatMessageStore,
() => chatMessageStore.get()[roomId] ?? EMPTY_CHAT_MESSAGES_STATE
);
return chatMessageState;
}
/**
* @deprecated Use useChatRoomState hook instead
*/
export function useChatMessages({ roomId }: UseChatMessageArg) {
const chatMessageState = useSelectedFieldStore(
chatMessageStore,
() => chatMessageStore.get()[roomId] ?? EMPTY_CHAT_MESSAGES_STATE
);
return chatMessageState;
}