@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
54 lines (49 loc) • 2.25 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
require('../../types/models.js');
require('../../types/events.js');
var constants = require('../../constants.js');
var utils = require('./utils.js');
require('react');
var chatReducer = function (state, action) {
switch (action === null || action === void 0 ? void 0 : action.type) {
case constants.CONSTANT_DISPATCH_TYPE.RESET:
return tslib.__assign({}, initialState);
case constants.CONSTANT_DISPATCH_TYPE.SET_HIGH_LIGHTED_MESSAGE_ID:
return tslib.__assign(tslib.__assign({}, state), { highlightedMessageId: action.value });
case constants.CONSTANT_DISPATCH_TYPE.OPERATE_MESSAGE:
return tslib.__assign(tslib.__assign({}, state), { operateData: tslib.__assign({}, action.value) });
case constants.CONSTANT_DISPATCH_TYPE.SET_AUDIO_SOURCE:
return tslib.__assign(tslib.__assign({}, state), { audioSource: action.value });
case constants.CONSTANT_DISPATCH_TYPE.SET_VIDEO_SOURCE:
return tslib.__assign(tslib.__assign({}, state), { videoSource: action.value });
case constants.CONSTANT_DISPATCH_TYPE.UPDATE_UPLOAD_PENDDING_MESSAGE_LIST:
return tslib.__assign(tslib.__assign({}, state), { uploadPenddingMessageList: tslib.__spreadArray([], utils.handleUploadPendingMessage(state.uploadPenddingMessageList, action.value), true) });
case constants.CONSTANT_DISPATCH_TYPE.JUMP_TO_LATEST_MESSAGE: {
return tslib.__assign(tslib.__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: [],
};
exports.chatReducer = chatReducer;
exports.initialState = initialState;
//# sourceMappingURL=ChatState.js.map