UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

60 lines 2.66 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.useMessagePreviewIcon = void 0; var _ComponentsContext = require("../../contexts/componentsContext/ComponentsContext"); var _useGroupedAttachments = require("../../hooks/messagePreview/useGroupedAttachments"); var _types = require("../../types/types"); var useMessagePreviewIcon = ({ message }) => { var _message$attachments, _message$attachments2; var _useComponentsContext = (0, _ComponentsContext.useComponentsContext)(), icons = _useComponentsContext.icons; var _useGroupedAttachment = (0, _useGroupedAttachments.useGroupedAttachments)(message == null ? void 0 : message.attachments), giphys = _useGroupedAttachment.giphys, audios = _useGroupedAttachment.audios, images = _useGroupedAttachment.images, videos = _useGroupedAttachment.videos, files = _useGroupedAttachment.files, voiceRecordings = _useGroupedAttachment.voiceRecordings; var attachmentsLength = message == null || (_message$attachments = message.attachments) == null ? void 0 : _message$attachments.length; if (!message) { return null; } var onlyImages = (images == null ? void 0 : images.length) && (images == null ? void 0 : images.length) === attachmentsLength; var onlyAudio = (audios == null ? void 0 : audios.length) && (audios == null ? void 0 : audios.length) === attachmentsLength; var onlyVideos = (videos == null ? void 0 : videos.length) && (videos == null ? void 0 : videos.length) === attachmentsLength; var onlyVoiceRecordings = (voiceRecordings == null ? void 0 : voiceRecordings.length) && (voiceRecordings == null ? void 0 : voiceRecordings.length) === attachmentsLength; var hasLink = message == null || (_message$attachments2 = message.attachments) == null ? void 0 : _message$attachments2.some(attachment => attachment.type === _types.FileTypes.Image && attachment.og_scrape_url); if (message.type === 'deleted') { return icons.CircleBan; } if (message.poll_id) { return icons.PollIcon; } if (message.shared_location) { return icons.MapPin; } if (hasLink) { return icons.Link; } if (onlyAudio || onlyVoiceRecordings) { return icons.Mic; } if (onlyVideos) { return icons.VideoIcon; } if (onlyImages) { return icons.PhotoIcon; } if (giphys != null && giphys.length) { return icons.File; } if (files != null && files.length || images != null && images.length || videos != null && videos.length || audios != null && audios.length) { return icons.File; } return null; }; exports.useMessagePreviewIcon = useMessagePreviewIcon; //# sourceMappingURL=useMessagePreviewIcon.js.map