UNPKG

@sendbird/uikit-react-native

Version:

Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

68 lines (67 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _uikitChatHooks = require("@sendbird/uikit-chat-hooks"); var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation"); var _useContext = require("../../hooks/useContext"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const SIZE = 16; const GroupChannelMessageOutgoingStatus = ({ channel, message, style }) => { const { sdk } = (0, _useContext.useSendbirdChat)(); const { colors } = (0, _uikitReactNativeFoundation.useUIKitTheme)(); const outgoingStatus = (0, _uikitChatHooks.useMessageOutgoingStatus)(sdk, channel, message); if (!message.isUserMessage() && !message.isFileMessage()) return null; if (channel.isEphemeral) return null; if (outgoingStatus === 'PENDING') { return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.LoadingSpinner, { size: SIZE, style: style }); } if (outgoingStatus === 'FAILED') { return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, { icon: 'error', size: SIZE, color: colors.error, style: style }); } if (outgoingStatus === 'READ') { return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, { icon: 'done-all', size: SIZE, color: colors.secondary, style: style }); } if (outgoingStatus === 'UNREAD' || outgoingStatus === 'DELIVERED') { return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, { icon: 'done-all', size: SIZE, color: colors.onBackground03, style: style }); } if (outgoingStatus === 'UNDELIVERED') { return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, { icon: 'done', size: SIZE, color: colors.onBackground03, style: style }); } return null; }; var _default = exports.default = /*#__PURE__*/_react.default.memo(GroupChannelMessageOutgoingStatus); //# sourceMappingURL=GroupChannelMessageOutgoingStatus.js.map