@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
40 lines (37 loc) • 1.59 kB
JavaScript
import { useCallback } from 'react';
import '../../../context/TranslationContext.js';
import '../../../context/UIKitContext.js';
import '../../../context/ComponentContext.js';
import { useChatActionContext } from '../../../context/ChatActionContext.js';
import '../../../context/MessageInputContext.js';
import '../../../context/UIMessageContext.js';
import '../../../context/ChatStateContext.js';
import { MessageType } from '../../../types/models.js';
import '../../../types/events.js';
function useUploadPicker(props) {
var _a;
var _b = useChatActionContext(), sendMessage = _b.sendMessage, createImageMessage = _b.createImageMessage, createVideoMessage = _b.createVideoMessage, createFileMessage = _b.createFileMessage, editLocalMessage = _b.editLocalMessage;
var createUploadMessage = (_a = {},
_a[MessageType.Image] = createImageMessage,
_a[MessageType.Video] = createVideoMessage,
_a[MessageType.File] = createFileMessage,
_a);
var sendUploadMessage = useCallback(function (data, type) {
var file = data.file;
var message = createUploadMessage[type]({
file: file,
onProgress: function (num) {
console.log('onProgress: ', num);
message.progress = num;
editLocalMessage(message);
},
});
console.log('message: ', message);
sendMessage(message);
}, [sendMessage]);
return {
sendUploadMessage: sendUploadMessage,
};
}
export { useUploadPicker };
//# sourceMappingURL=useUploadPicker.js.map