UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

79 lines 2.19 kB
import * as React from 'react'; import { StyleSheet, Text, View } from 'react-native'; import { PersonIcon } from '../../Icons'; import { getInitials } from '../../utils/functions'; import { COLORS } from '../../utils/theme'; import { useHMSRoomStyleSheet } from '../../hooks-util'; export const _AvatarView = ({ name, videoView, avatarStyles, avatarContainerStyles, isInset = false }) => { const showInitials = !!name && name.length > 0; const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({ avatarContainer: { backgroundColor: theme.palette.background_default }, avatar: { backgroundColor: COLORS.EXTENDED.PURPLE }, avatarText: { color: COLORS.WHITE, fontFamily: `${typography.font_family}-SemiBold` } })); return /*#__PURE__*/React.createElement(View, { style: styles.container }, videoView || /*#__PURE__*/React.createElement(View, { style: [styles.avatarContainer, hmsRoomStyles.avatarContainer, avatarContainerStyles] }, /*#__PURE__*/React.createElement(View, { style: [isInset ? styles.insetAvatar : styles.avatar, hmsRoomStyles.avatar, avatarStyles] }, showInitials ? /*#__PURE__*/React.createElement(Text, { style: [isInset ? styles.insetText : styles.avatarText, hmsRoomStyles.avatarText] }, getInitials(name)) : /*#__PURE__*/React.createElement(PersonIcon, { style: styles.avatarIcon })))); }; const styles = StyleSheet.create({ container: { flex: 1, position: 'relative', overflow: 'hidden' }, avatarContainer: { flex: 1, alignItems: 'center', justifyContent: 'center' }, avatar: { width: 88, aspectRatio: 1, borderRadius: 44, justifyContent: 'center', alignItems: 'center' }, insetAvatar: { width: 44, aspectRatio: 1, borderRadius: 22, justifyContent: 'center', alignItems: 'center' }, avatarIcon: { width: 40, height: 40 }, avatarText: { fontSize: 34, lineHeight: 40, letterSpacing: 0.25 }, insetText: { fontSize: 18, lineHeight: 24 } }); export const AvatarView = /*#__PURE__*/React.memo(_AvatarView); //# sourceMappingURL=AvatarView.js.map