;
for (const img of emojiImgs) {
const src = img.src;
if (shouldAnimate) {
img.src = src.replace('.webp', '.gif');
} else {
img.src = src.replace('.gif', '.webp');
}
}
});
return () => disposer();
}, [message.id]);
const onSubmit = React.useCallback(
(actualContent?: string) => {
if (message.messageSnapshots) {
return;
}
const content = (actualContent ?? value).trim();
if (!content) {
handleDelete();
return;
}
MessageActionCreators.stopEdit(channel.id);
MessageActionCreators.edit(channel.id, message.id, content);
},
[channel.id, handleDelete, message.id, value, message.messageSnapshots],
);
const cancelEditing = React.useCallback(() => {
MessageActionCreators.stopEdit(message.channelId);
}, [message.channelId]);
const handleDismissSystemMessage = React.useCallback(() => {
MessageActionCreators.deleteOptimistic(message.channelId, message.id);
}, [message.channelId, message.id]);
if (message.type === MessageTypes.CLIENT_SYSTEM && message.author.id === FLUXERBOT_ID) {
return (
{formattedDate}
only you can see this message.{' '}
);
}
const renderMessageContent = () => {
if (isEditing && !previewContext && !mobileLayout.enabled) {
return (
);
}
if (shouldHideContent) return null;
return (
{(message.editedTimestamp || message.isEditing) &&
(message.isEditing ? (
{t`(edited)`}
) : (
{t`(edited)`}
))}
);
};
if (messageDisplayCompact) {
return (
{message.messageReference && message.messageReference.type === 0 && (
)}
{!shouldHideContent && (
{isEditing && !previewContext && !mobileLayout.enabled ? (
) : (
{(message.editedTimestamp || message.isEditing) &&
(message.isEditing ? (
{t`(edited)`}
) : (
{t`(edited)`}
))}
)}
)}
{mobileLayout.enabled && message.state === MessageStates.FAILED && (
{t`Failed to send message. Hold for options.`}
)}
);
}
return (
{message.messageReference && message.messageReference.type === 0 && (
)}
{!shouldGroup && (
<>
>
)}
{shouldGroup && (
)}
{(message.content || isEditing) && (!shouldHideContent || isEditing) && (
{!shouldGroup && (
{author.bot && }
{formattedDate}
{(message.flags & MessageFlags.SUPPRESS_NOTIFICATIONS) !== 0 && (
)}
)}
{renderMessageContent()}
)}
{((!message.content && !isEditing) || (shouldHideContent && !isEditing)) && !shouldGroup && (
{author.bot && }
{formattedDate}
{(message.flags & MessageFlags.SUPPRESS_NOTIFICATIONS) !== 0 && (
)}
)}
{mobileLayout.enabled && message.state === MessageStates.FAILED && (
{t`Failed to send message. Hold for options.`}
)}
);
});