stream-chat-react-native-core 4.4.0-beta.2 → 4.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +4 -12
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js +4 -12
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +8 -4
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +80 -0
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +3 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +27 -22
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +22 -14
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +108 -40
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +117 -24
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +52 -20
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +145 -119
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/i18n/en.json +2 -0
- package/lib/commonjs/i18n/fr.json +2 -0
- package/lib/commonjs/i18n/hi.json +2 -0
- package/lib/commonjs/i18n/it.json +2 -0
- package/lib/commonjs/i18n/ja.json +3 -1
- package/lib/commonjs/i18n/ko.json +3 -1
- package/lib/commonjs/i18n/nl.json +2 -0
- package/lib/commonjs/i18n/ru.json +2 -0
- package/lib/commonjs/i18n/tr.json +2 -0
- package/lib/commonjs/icons/Warning.js +38 -0
- package/lib/commonjs/icons/Warning.js.map +1 -0
- package/lib/commonjs/icons/index.js +13 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/utils/utils.js +33 -2
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +4 -12
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js +4 -12
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +8 -4
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +80 -0
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +3 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Message/Message.js +27 -22
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +22 -14
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +108 -40
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +117 -24
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js +52 -20
- package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +2 -2
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +145 -119
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/i18n/en.json +2 -0
- package/lib/module/i18n/fr.json +2 -0
- package/lib/module/i18n/hi.json +2 -0
- package/lib/module/i18n/it.json +2 -0
- package/lib/module/i18n/ja.json +3 -1
- package/lib/module/i18n/ko.json +3 -1
- package/lib/module/i18n/nl.json +2 -0
- package/lib/module/i18n/ru.json +2 -0
- package/lib/module/i18n/tr.json +2 -0
- package/lib/module/icons/Warning.js +38 -0
- package/lib/module/icons/Warning.js.map +1 -0
- package/lib/module/icons/index.js +13 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/utils/utils.js +33 -2
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Chat/hooks/__tests__/useAppSettings.test.d.ts +1 -0
- package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts +3 -0
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts +12 -2
- package/lib/typescript/components/MessageInput/UploadProgressIndicator.d.ts +1 -3
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +5 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -4
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +3 -3
- package/lib/typescript/i18n/en.json +2 -0
- package/lib/typescript/i18n/fr.json +2 -0
- package/lib/typescript/i18n/hi.json +2 -0
- package/lib/typescript/i18n/it.json +2 -0
- package/lib/typescript/i18n/ja.json +3 -1
- package/lib/typescript/i18n/ko.json +3 -1
- package/lib/typescript/i18n/nl.json +2 -0
- package/lib/typescript/i18n/ru.json +2 -0
- package/lib/typescript/i18n/tr.json +2 -0
- package/lib/typescript/icons/Warning.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +1 -0
- package/lib/typescript/utils/Streami18n.d.ts +6 -0
- package/lib/typescript/utils/utils.d.ts +15 -2
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +1 -1
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +3 -9
- package/src/components/Channel/hooks/useCreateThreadContext.ts +3 -9
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +1 -0
- package/src/components/Chat/Chat.tsx +4 -0
- package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +34 -0
- package/src/components/Chat/hooks/useAppSettings.ts +39 -0
- package/src/components/Chat/hooks/useCreateChatContext.ts +2 -0
- package/src/components/Message/Message.tsx +56 -48
- package/src/components/Message/MessageSimple/utils/renderText.tsx +9 -0
- package/src/components/MessageInput/FileUploadPreview.tsx +60 -14
- package/src/components/MessageInput/ImageUploadPreview.tsx +95 -42
- package/src/components/MessageInput/UploadProgressIndicator.tsx +49 -22
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +50 -80
- package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +49 -74
- package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +36 -13
- package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +122 -17
- package/src/contexts/chatContext/ChatContext.tsx +5 -1
- package/src/contexts/messageContext/MessageContext.tsx +7 -4
- package/src/contexts/messageInputContext/MessageInputContext.tsx +127 -96
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +2 -2
- package/src/i18n/en.json +2 -0
- package/src/i18n/fr.json +2 -0
- package/src/i18n/hi.json +2 -0
- package/src/i18n/it.json +2 -0
- package/src/i18n/ja.json +3 -1
- package/src/i18n/ko.json +3 -1
- package/src/i18n/nl.json +2 -0
- package/src/i18n/ru.json +2 -0
- package/src/i18n/tr.json +2 -0
- package/src/icons/Warning.tsx +12 -0
- package/src/icons/index.ts +1 -0
- package/src/utils/utils.ts +53 -1
- package/src/version.json +1 -1
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +0 -4413
- package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +0 -2373
|
@@ -71,6 +71,8 @@ var MessageInputContext = _react["default"].createContext({});
|
|
|
71
71
|
exports.MessageInputContext = MessageInputContext;
|
|
72
72
|
|
|
73
73
|
var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
74
|
+
var _getFileUploadConfig, _getFileUploadConfig2, _getImageUploadConfig, _getImageUploadConfig2;
|
|
75
|
+
|
|
74
76
|
var children = _ref.children,
|
|
75
77
|
value = _ref.value;
|
|
76
78
|
|
|
@@ -81,8 +83,38 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
81
83
|
setSelectedPicker = _useAttachmentPickerC.setSelectedPicker;
|
|
82
84
|
|
|
83
85
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
86
|
+
appSettings = _useChatContext.appSettings,
|
|
84
87
|
client = _useChatContext.client;
|
|
85
88
|
|
|
89
|
+
var getFileUploadConfig = function getFileUploadConfig() {
|
|
90
|
+
var _appSettings$app;
|
|
91
|
+
|
|
92
|
+
var fileConfig = appSettings == null ? void 0 : (_appSettings$app = appSettings.app) == null ? void 0 : _appSettings$app.file_upload_config;
|
|
93
|
+
|
|
94
|
+
if (fileConfig !== null || fileConfig !== undefined) {
|
|
95
|
+
return fileConfig;
|
|
96
|
+
} else {
|
|
97
|
+
return {};
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var blockedFileExtensionTypes = (_getFileUploadConfig = getFileUploadConfig()) == null ? void 0 : _getFileUploadConfig.blocked_file_extensions;
|
|
102
|
+
var blockedFileMimeTypes = (_getFileUploadConfig2 = getFileUploadConfig()) == null ? void 0 : _getFileUploadConfig2.blocked_mime_types;
|
|
103
|
+
|
|
104
|
+
var getImageUploadConfig = function getImageUploadConfig() {
|
|
105
|
+
var _appSettings$app2;
|
|
106
|
+
|
|
107
|
+
var imageConfig = appSettings == null ? void 0 : (_appSettings$app2 = appSettings.app) == null ? void 0 : _appSettings$app2.image_upload_config;
|
|
108
|
+
|
|
109
|
+
if (imageConfig !== null || imageConfig !== undefined) {
|
|
110
|
+
return imageConfig;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return {};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var blockedImageExtensionTypes = (_getImageUploadConfig = getImageUploadConfig()) == null ? void 0 : _getImageUploadConfig.blocked_file_extensions;
|
|
117
|
+
var blockedImageMimeTypes = (_getImageUploadConfig2 = getImageUploadConfig()) == null ? void 0 : _getImageUploadConfig2.blocked_mime_types;
|
|
86
118
|
var channelCapabities = (0, _OwnCapabilitiesContext.useOwnCapabilitiesContext)();
|
|
87
119
|
|
|
88
120
|
var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
|
|
@@ -649,9 +681,57 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
649
681
|
};
|
|
650
682
|
}();
|
|
651
683
|
|
|
684
|
+
var regExcondition = /File (extension \.\w{2,4}|type \S+) is not supported/;
|
|
685
|
+
|
|
686
|
+
var getUploadSetStateAction = function getUploadSetStateAction(id, fileState) {
|
|
687
|
+
var extraData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
688
|
+
|
|
689
|
+
var uploads = function uploads(prevUploads) {
|
|
690
|
+
return prevUploads.map(function (prevUpload) {
|
|
691
|
+
if (prevUpload.id === id) {
|
|
692
|
+
return (0, _extends2["default"])({}, prevUpload, extraData, {
|
|
693
|
+
state: fileState
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
return prevUpload;
|
|
698
|
+
});
|
|
699
|
+
};
|
|
700
|
+
|
|
701
|
+
return uploads;
|
|
702
|
+
};
|
|
703
|
+
|
|
704
|
+
var handleFileOrImageUploadError = function handleFileOrImageUploadError(error, isImageError, id) {
|
|
705
|
+
if (isImageError) {
|
|
706
|
+
setNumberOfUploads(function (prevNumberOfUploads) {
|
|
707
|
+
return prevNumberOfUploads - 1;
|
|
708
|
+
});
|
|
709
|
+
|
|
710
|
+
if (error instanceof Error) {
|
|
711
|
+
if (regExcondition.test(error.message)) {
|
|
712
|
+
return setImageUploads(getUploadSetStateAction(id, _utils.FileState.NOT_SUPPORTED));
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
return setImageUploads(getUploadSetStateAction(id, _utils.FileState.UPLOAD_FAILED));
|
|
716
|
+
}
|
|
717
|
+
} else {
|
|
718
|
+
setNumberOfUploads(function (prevNumberOfUploads) {
|
|
719
|
+
return prevNumberOfUploads - 1;
|
|
720
|
+
});
|
|
721
|
+
|
|
722
|
+
if (error instanceof Error) {
|
|
723
|
+
if (regExcondition.test(error.message)) {
|
|
724
|
+
return setFileUploads(getUploadSetStateAction(id, _utils.FileState.NOT_SUPPORTED));
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
return setFileUploads(getUploadSetStateAction(id, _utils.FileState.UPLOAD_FAILED));
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
};
|
|
731
|
+
|
|
652
732
|
var uploadFile = function () {
|
|
653
733
|
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(_ref5) {
|
|
654
|
-
var newFile, file, id, response;
|
|
734
|
+
var newFile, file, id, response, extraData;
|
|
655
735
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
656
736
|
while (1) {
|
|
657
737
|
switch (_context4.prev = _context4.next) {
|
|
@@ -667,17 +747,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
667
747
|
|
|
668
748
|
case 3:
|
|
669
749
|
file = newFile.file, id = newFile.id;
|
|
670
|
-
setFileUploads(
|
|
671
|
-
return prevFileUploads.map(function (fileUpload) {
|
|
672
|
-
if (fileUpload.id === id) {
|
|
673
|
-
return (0, _extends2["default"])({}, fileUpload, {
|
|
674
|
-
state: _utils.FileState.UPLOADING
|
|
675
|
-
});
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
return fileUpload;
|
|
679
|
-
});
|
|
680
|
-
});
|
|
750
|
+
setFileUploads(getUploadSetStateAction(id, _utils.FileState.UPLOADING));
|
|
681
751
|
response = {};
|
|
682
752
|
_context4.prev = 6;
|
|
683
753
|
|
|
@@ -707,57 +777,24 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
707
777
|
response = _context4.sent;
|
|
708
778
|
|
|
709
779
|
case 17:
|
|
780
|
+
extraData = {
|
|
781
|
+
url: response.file
|
|
782
|
+
};
|
|
783
|
+
setFileUploads(getUploadSetStateAction(id, _utils.FileState.UPLOADED, extraData));
|
|
710
784
|
_context4.next = 24;
|
|
711
785
|
break;
|
|
712
786
|
|
|
713
|
-
case
|
|
714
|
-
_context4.prev =
|
|
787
|
+
case 21:
|
|
788
|
+
_context4.prev = 21;
|
|
715
789
|
_context4.t0 = _context4["catch"](6);
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
if (!newFile) {
|
|
719
|
-
setNumberOfUploads(function (prevNumberOfUploads) {
|
|
720
|
-
return prevNumberOfUploads - 1;
|
|
721
|
-
});
|
|
722
|
-
} else {
|
|
723
|
-
setFileUploads(function (prevFileUploads) {
|
|
724
|
-
return prevFileUploads.map(function (fileUpload) {
|
|
725
|
-
if (fileUpload.id === id) {
|
|
726
|
-
return (0, _extends2["default"])({}, fileUpload, {
|
|
727
|
-
state: _utils.FileState.UPLOAD_FAILED
|
|
728
|
-
});
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
return fileUpload;
|
|
732
|
-
});
|
|
733
|
-
});
|
|
734
|
-
setNumberOfUploads(function (prevNumberOfUploads) {
|
|
735
|
-
return prevNumberOfUploads - 1;
|
|
736
|
-
});
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
return _context4.abrupt("return");
|
|
790
|
+
handleFileOrImageUploadError(_context4.t0, false, id);
|
|
740
791
|
|
|
741
792
|
case 24:
|
|
742
|
-
setFileUploads(function (prevFileUploads) {
|
|
743
|
-
return prevFileUploads.map(function (fileUpload) {
|
|
744
|
-
if (fileUpload.id === id) {
|
|
745
|
-
return (0, _extends2["default"])({}, fileUpload, {
|
|
746
|
-
state: _utils.FileState.UPLOADED,
|
|
747
|
-
url: response.file
|
|
748
|
-
});
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
return fileUpload;
|
|
752
|
-
});
|
|
753
|
-
});
|
|
754
|
-
|
|
755
|
-
case 25:
|
|
756
793
|
case "end":
|
|
757
794
|
return _context4.stop();
|
|
758
795
|
}
|
|
759
796
|
}
|
|
760
|
-
}, _callee4, null, [[6,
|
|
797
|
+
}, _callee4, null, [[6, 21]]);
|
|
761
798
|
}));
|
|
762
799
|
|
|
763
800
|
return function uploadFile(_x) {
|
|
@@ -870,18 +907,9 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
870
907
|
return prevAsyncUploads;
|
|
871
908
|
});
|
|
872
909
|
} else {
|
|
873
|
-
setImageUploads(
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
return (0, _extends2["default"])({}, imageUpload, {
|
|
877
|
-
state: _utils.FileState.UPLOADED,
|
|
878
|
-
url: res.file
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
return imageUpload;
|
|
883
|
-
});
|
|
884
|
-
});
|
|
910
|
+
setImageUploads(getUploadSetStateAction(id, _utils.FileState.UPLOADED, {
|
|
911
|
+
url: res.file
|
|
912
|
+
}));
|
|
885
913
|
}
|
|
886
914
|
});
|
|
887
915
|
_context5.next = 41;
|
|
@@ -896,50 +924,22 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
896
924
|
|
|
897
925
|
case 41:
|
|
898
926
|
if (Object.keys(response).length) {
|
|
899
|
-
setImageUploads(
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
state: _utils.FileState.UPLOADED,
|
|
905
|
-
url: response.file,
|
|
906
|
-
width: file.width
|
|
907
|
-
});
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
return imageUpload;
|
|
911
|
-
});
|
|
912
|
-
});
|
|
927
|
+
setImageUploads(getUploadSetStateAction(id, _utils.FileState.UPLOADED, {
|
|
928
|
+
height: file.height,
|
|
929
|
+
url: response.file,
|
|
930
|
+
width: file.width
|
|
931
|
+
}));
|
|
913
932
|
}
|
|
914
933
|
|
|
915
|
-
_context5.next =
|
|
934
|
+
_context5.next = 47;
|
|
916
935
|
break;
|
|
917
936
|
|
|
918
937
|
case 44:
|
|
919
938
|
_context5.prev = 44;
|
|
920
939
|
_context5.t2 = _context5["catch"](5);
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
if (newImage) {
|
|
924
|
-
setImageUploads(function (prevImageUploads) {
|
|
925
|
-
return prevImageUploads.map(function (imageUpload) {
|
|
926
|
-
if (imageUpload.id === id) {
|
|
927
|
-
return (0, _extends2["default"])({}, imageUpload, {
|
|
928
|
-
state: _utils.FileState.UPLOAD_FAILED
|
|
929
|
-
});
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
return imageUpload;
|
|
933
|
-
});
|
|
934
|
-
});
|
|
935
|
-
}
|
|
940
|
+
handleFileOrImageUploadError(_context5.t2, true, id);
|
|
936
941
|
|
|
937
|
-
|
|
938
|
-
return prevNumberOfUploads - 1;
|
|
939
|
-
});
|
|
940
|
-
return _context5.abrupt("return");
|
|
941
|
-
|
|
942
|
-
case 50:
|
|
942
|
+
case 47:
|
|
943
943
|
case "end":
|
|
944
944
|
return _context5.stop();
|
|
945
945
|
}
|
|
@@ -954,33 +954,46 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
954
954
|
|
|
955
955
|
var uploadNewFile = function () {
|
|
956
956
|
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(file) {
|
|
957
|
-
var id, mimeType, newFile;
|
|
957
|
+
var id, mimeType, isBlockedFileExtension, isBlockedFileMimeType, fileState, newFile;
|
|
958
958
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
959
959
|
while (1) {
|
|
960
960
|
switch (_context6.prev = _context6.next) {
|
|
961
961
|
case 0:
|
|
962
962
|
id = (0, _utils.generateRandomId)();
|
|
963
963
|
mimeType = (0, _mimeTypes.lookup)(file.name);
|
|
964
|
+
isBlockedFileExtension = blockedFileExtensionTypes == null ? void 0 : blockedFileExtensionTypes.some(function (fileExtensionType) {
|
|
965
|
+
var _file$name;
|
|
966
|
+
|
|
967
|
+
return (_file$name = file.name) == null ? void 0 : _file$name.includes(fileExtensionType);
|
|
968
|
+
});
|
|
969
|
+
isBlockedFileMimeType = blockedFileMimeTypes == null ? void 0 : blockedFileMimeTypes.some(function (mimeType) {
|
|
970
|
+
var _file$name2;
|
|
971
|
+
|
|
972
|
+
return (_file$name2 = file.name) == null ? void 0 : _file$name2.includes(mimeType);
|
|
973
|
+
});
|
|
974
|
+
fileState = isBlockedFileExtension || isBlockedFileMimeType ? _utils.FileState.NOT_SUPPORTED : _utils.FileState.UPLOADING;
|
|
964
975
|
newFile = {
|
|
965
976
|
file: (0, _extends2["default"])({}, file, {
|
|
966
977
|
type: mimeType || (file == null ? void 0 : file.type)
|
|
967
978
|
}),
|
|
968
979
|
id: id,
|
|
969
|
-
state:
|
|
980
|
+
state: fileState
|
|
970
981
|
};
|
|
971
|
-
_context6.next =
|
|
982
|
+
_context6.next = 8;
|
|
972
983
|
return Promise.all([setFileUploads(function (prevFileUploads) {
|
|
973
984
|
return prevFileUploads.concat([newFile]);
|
|
974
985
|
}), setNumberOfUploads(function (prevNumberOfUploads) {
|
|
975
986
|
return prevNumberOfUploads + 1;
|
|
976
987
|
})]);
|
|
977
988
|
|
|
978
|
-
case
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
989
|
+
case 8:
|
|
990
|
+
if (!isBlockedFileExtension) {
|
|
991
|
+
uploadFile({
|
|
992
|
+
newFile: newFile
|
|
993
|
+
});
|
|
994
|
+
}
|
|
982
995
|
|
|
983
|
-
case
|
|
996
|
+
case 9:
|
|
984
997
|
case "end":
|
|
985
998
|
return _context6.stop();
|
|
986
999
|
}
|
|
@@ -995,30 +1008,43 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
995
1008
|
|
|
996
1009
|
var uploadNewImage = function () {
|
|
997
1010
|
var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(image) {
|
|
998
|
-
var id, newImage;
|
|
1011
|
+
var id, isBlockedImageMimeType, isBlockedImageExtension, imageState, newImage;
|
|
999
1012
|
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1000
1013
|
while (1) {
|
|
1001
1014
|
switch (_context7.prev = _context7.next) {
|
|
1002
1015
|
case 0:
|
|
1003
1016
|
id = (0, _utils.generateRandomId)();
|
|
1017
|
+
isBlockedImageMimeType = blockedImageMimeTypes == null ? void 0 : blockedImageMimeTypes.some(function (mimeType) {
|
|
1018
|
+
var _image$uri;
|
|
1019
|
+
|
|
1020
|
+
return (_image$uri = image.uri) == null ? void 0 : _image$uri.includes(mimeType);
|
|
1021
|
+
});
|
|
1022
|
+
isBlockedImageExtension = blockedImageExtensionTypes == null ? void 0 : blockedImageExtensionTypes.some(function (imageExtensionType) {
|
|
1023
|
+
var _image$uri2;
|
|
1024
|
+
|
|
1025
|
+
return (_image$uri2 = image.uri) == null ? void 0 : _image$uri2.includes(imageExtensionType);
|
|
1026
|
+
});
|
|
1027
|
+
imageState = isBlockedImageExtension || isBlockedImageMimeType ? _utils.FileState.NOT_SUPPORTED : _utils.FileState.UPLOADING;
|
|
1004
1028
|
newImage = {
|
|
1005
1029
|
file: image,
|
|
1006
1030
|
id: id,
|
|
1007
|
-
state:
|
|
1031
|
+
state: imageState
|
|
1008
1032
|
};
|
|
1009
|
-
_context7.next =
|
|
1033
|
+
_context7.next = 7;
|
|
1010
1034
|
return Promise.all([setImageUploads(function (prevImageUploads) {
|
|
1011
1035
|
return prevImageUploads.concat([newImage]);
|
|
1012
1036
|
}), setNumberOfUploads(function (prevNumberOfUploads) {
|
|
1013
1037
|
return prevNumberOfUploads + 1;
|
|
1014
1038
|
})]);
|
|
1015
1039
|
|
|
1016
|
-
case
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1040
|
+
case 7:
|
|
1041
|
+
if (!isBlockedImageExtension) {
|
|
1042
|
+
uploadImage({
|
|
1043
|
+
newImage: newImage
|
|
1044
|
+
});
|
|
1045
|
+
}
|
|
1020
1046
|
|
|
1021
|
-
case
|
|
1047
|
+
case 8:
|
|
1022
1048
|
case "end":
|
|
1023
1049
|
return _context7.stop();
|
|
1024
1050
|
}
|
|
@@ -1087,7 +1113,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
|
|
|
1087
1113
|
__self: _this,
|
|
1088
1114
|
__source: {
|
|
1089
1115
|
fileName: _jsxFileName,
|
|
1090
|
-
lineNumber:
|
|
1116
|
+
lineNumber: 1117,
|
|
1091
1117
|
columnNumber: 5
|
|
1092
1118
|
}
|
|
1093
1119
|
}, children);
|
|
@@ -1108,7 +1134,7 @@ var withMessageInputContext = function withMessageInputContext(Component) {
|
|
|
1108
1134
|
__self: _this,
|
|
1109
1135
|
__source: {
|
|
1110
1136
|
fileName: _jsxFileName,
|
|
1111
|
-
lineNumber:
|
|
1137
|
+
lineNumber: 1145,
|
|
1112
1138
|
columnNumber: 12
|
|
1113
1139
|
}
|
|
1114
1140
|
}));
|