@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
45 lines (42 loc) • 1.74 kB
JavaScript
import { useEffect, useCallback } from 'react';
import '../types/models.js';
import '../types/events.js';
import '../store/conversations/actions.js';
import 'tslib';
import { getConversationsStateByAccount } from '../store/conversations/selectors.js';
import { fetchConversationsByAccount } from '../store/conversations/commands.js';
import { useDispatch } from '../store/useDispatch.js';
import { useSelector } from 'react-redux';
import 'redux';
import '../store/rootReducer.js';
import '../store/accounts/actions.js';
import '../store/accounts/selectors.js';
import '../node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/invariant.js';
import 'i18next';
import '../store/messages/actions.js';
import '../store/contacts/actions.js';
import '../node_modules/.pnpm/lodash.flatten@4.4.0/node_modules/lodash.flatten/index.js';
function useConversationList(accountId) {
var _a;
var dispatch = useDispatch();
useEffect(function () {
if (accountId) {
dispatch(fetchConversationsByAccount(accountId));
}
}, [accountId]);
var loadMore = useCallback(function () {
if (accountId) {
dispatch(fetchConversationsByAccount(accountId, true));
}
}, [accountId]);
var _b = useSelector(getConversationsStateByAccount(accountId)), conversations = _b.conversations, cursor = _b.cursor, loading = _b.loading, error = _b.error;
return {
loadMore: loadMore,
conversations: conversations,
loading: loading,
error: error,
hasMore: (_a = cursor === null || cursor === void 0 ? void 0 : cursor.has_next) !== null && _a !== void 0 ? _a : false,
};
}
export { useConversationList };
//# sourceMappingURL=useConversationList.js.map