UNPKG

stream-chat-react-native-core

Version:

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

59 lines 2.1 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 _useComponentsContext = (0, _ComponentsContext.useComponentsContext)(), icons = _useComponentsContext.icons; var _useGroupedAttachment = (0, _useGroupedAttachments.useGroupedAttachments)(message?.attachments), giphys = _useGroupedAttachment.giphys, audios = _useGroupedAttachment.audios, images = _useGroupedAttachment.images, videos = _useGroupedAttachment.videos, files = _useGroupedAttachment.files, voiceRecordings = _useGroupedAttachment.voiceRecordings; var attachmentsLength = message?.attachments?.length; if (!message) { return null; } var onlyImages = images?.length && images?.length === attachmentsLength; var onlyAudio = audios?.length && audios?.length === attachmentsLength; var onlyVideos = videos?.length && videos?.length === attachmentsLength; var onlyVoiceRecordings = voiceRecordings?.length && voiceRecordings?.length === attachmentsLength; var hasLink = message?.attachments?.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?.length) { return icons.File; } if (files?.length || images?.length || videos?.length || audios?.length) { return icons.File; } return null; }; exports.useMessagePreviewIcon = useMessagePreviewIcon; //# sourceMappingURL=useMessagePreviewIcon.js.map