diff --git a/app/emoji-custom/server/methods/insertOrUpdateEmoji.js b/app/emoji-custom/server/methods/insertOrUpdateEmoji.js index 72a0a6a0694fa..965adcf6a9bee 100644 --- a/app/emoji-custom/server/methods/insertOrUpdateEmoji.js +++ b/app/emoji-custom/server/methods/insertOrUpdateEmoji.js @@ -17,7 +17,9 @@ Meteor.methods({ if (!s.trim(emojiData.name)) { throw new Meteor.Error('error-the-field-is-required', 'The field Name is required', { method: 'insertOrUpdateEmoji', field: 'Name' }); } - + if (emojiData.emoji === 'undefined' && emojiData.newFile) { + throw new Meteor.Error('error-the-field-is-required', ' Emoji file is required', { method: 'insertOrUpdateEmoji', field: 'File' }); + } emojiData.name = limax(emojiData.name, { replacement: '_' }); emojiData.aliases = limax(emojiData.aliases, { replacement: '_' }); diff --git a/client/views/admin/customEmoji/EditCustomEmoji.tsx b/client/views/admin/customEmoji/EditCustomEmoji.tsx index f110f5fd45dba..1309793736782 100644 --- a/client/views/admin/customEmoji/EditCustomEmoji.tsx +++ b/client/views/admin/customEmoji/EditCustomEmoji.tsx @@ -52,12 +52,12 @@ const EditCustomEmoji: FC = ({ close, onChange, data, ...p const saveAction = useEndpointUpload('emoji-custom.update', {}, t('Custom_Emoji_Updated_Successfully')); const handleSave = useCallback(async () => { - if (!emojiFile) { + if (!emojiFile && !newEmojiPreview) { return; } const formData = new FormData(); - formData.append('emoji', emojiFile); + if (emojiFile) { formData.append('emoji', emojiFile); } formData.append('_id', _id); formData.append('name', name); formData.append('aliases', aliases); @@ -65,7 +65,7 @@ const EditCustomEmoji: FC = ({ close, onChange, data, ...p if (result.success) { onChange(); } - }, [emojiFile, _id, name, aliases, saveAction, onChange]); + }, [emojiFile, _id, name, aliases, saveAction, onChange, newEmojiPreview]); const deleteAction = useEndpointAction('POST', 'emoji-custom.delete', useMemo(() => ({ emojiId: _id }), [_id]));