import React from 'react'; import PropTypes from 'prop-types'; import './RoomTile.scss'; import { twemojify } from '../../../util/twemojify'; import { sanitizeText } from '../../../util/sanitize'; import colorMXID from '../../../util/colorMXID'; import Text from '../../atoms/text/Text'; import Avatar from '../../atoms/avatar/Avatar'; function RoomTile({ avatarSrc, name, id, inviterName, memberCount, desc, options, }) { return (
{twemojify(name)} { inviterName !== null ? `Invited by ${inviterName} to ${id}${memberCount === null ? '' : ` • ${memberCount} members`}` : id + (memberCount === null ? '' : ` • ${memberCount} members`) } { desc !== null && (typeof desc === 'string') ? {twemojify(desc, undefined, true)} : desc }
{ options !== null && (
{options}
)}
); } RoomTile.defaultProps = { avatarSrc: null, inviterName: null, options: null, desc: null, memberCount: null, }; RoomTile.propTypes = { avatarSrc: PropTypes.string, name: PropTypes.string.isRequired, id: PropTypes.string.isRequired, inviterName: PropTypes.string, memberCount: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, ]), desc: PropTypes.node, options: PropTypes.node, }; export default RoomTile;