@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.
73 lines (72 loc) • 2.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
var _uikitUtils = require("@sendbird/uikit-utils");
var _useContext = require("./../../hooks/useContext");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const ThreadParentMessageFile = props => {
const fileMessage = props.parentMessage;
if (!fileMessage) return null;
const {
STRINGS
} = (0, _useContext.useLocalization)();
const {
select,
colors,
palette
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
const fileType = (0, _uikitUtils.getFileType)(fileMessage.type || (0, _uikitUtils.getFileExtension)(fileMessage.name));
const fileName = STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(fileMessage) ?? fileMessage.name;
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
style: styles.fileBubbleContainer,
backgroundColor: select({
light: palette.background100,
dark: palette.background400
})
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.PressBox, {
onPress: props.onPress,
onLongPress: props.onLongPress
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
style: styles.iconBackground
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon.File, {
fileType: fileType,
size: 24,
containerStyle: {
backgroundColor: palette.background50,
borderRadius: 8
}
}), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
body3: true,
numberOfLines: 1,
color: colors.onBackground01,
style: styles.name
}, (0, _uikitUtils.truncate)(fileName, {
mode: 'mid',
maxLen: 30
})))));
};
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
fileBubbleContainer: {
alignSelf: 'flex-start',
overflow: 'hidden',
flexDirection: 'row',
alignItems: 'center',
borderRadius: 16,
paddingHorizontal: 12,
paddingVertical: 8
},
iconBackground: {
flexDirection: 'row',
alignItems: 'center'
},
name: {
flexShrink: 1,
marginStart: 8
}
});
var _default = exports.default = ThreadParentMessageFile;
//# sourceMappingURL=ThreadParentMessage.file.js.map