@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
49 lines (46 loc) • 2.02 kB
JavaScript
import { __assign, __spreadArray } from 'tslib';
import '../../types/models.js';
import '../../types/events.js';
import { CONSTANT_DISPATCH_TYPE } from '../../constants.js';
import { handleUploadPendingMessage } from './utils.js';
import 'react';
var chatReducer = function (state, action) {
switch (action === null || action === void 0 ? void 0 : action.type) {
case CONSTANT_DISPATCH_TYPE.RESET:
return __assign({}, initialState);
case CONSTANT_DISPATCH_TYPE.SET_HIGH_LIGHTED_MESSAGE_ID:
return __assign(__assign({}, state), { highlightedMessageId: action.value });
case CONSTANT_DISPATCH_TYPE.OPERATE_MESSAGE:
return __assign(__assign({}, state), { operateData: __assign({}, action.value) });
case CONSTANT_DISPATCH_TYPE.SET_AUDIO_SOURCE:
return __assign(__assign({}, state), { audioSource: action.value });
case CONSTANT_DISPATCH_TYPE.SET_VIDEO_SOURCE:
return __assign(__assign({}, state), { videoSource: action.value });
case CONSTANT_DISPATCH_TYPE.UPDATE_UPLOAD_PENDDING_MESSAGE_LIST:
return __assign(__assign({}, state), { uploadPenddingMessageList: __spreadArray([], handleUploadPendingMessage(state.uploadPenddingMessageList, action.value), true) });
case CONSTANT_DISPATCH_TYPE.JUMP_TO_LATEST_MESSAGE: {
return __assign(__assign({}, state), {
// hasMoreNewer: false,
highlightedMessageId: undefined, suppressAutoscroll: false });
}
default: return state;
}
};
var initialState = {
hasMore: true,
hasMoreNewer: false,
loadingMore: false,
loadingMoreNewer: false,
messages: [],
highlightedMessageId: '',
lastMessageID: '',
suppressAutoscroll: false,
init: false,
isSameLastMessageID: false,
operateData: {},
audioSource: null,
vidoeSource: null,
uploadPenddingMessageList: [],
};
export { chatReducer, initialState };
//# sourceMappingURL=ChatState.js.map