1
0
mirror of https://github.com/yldio/copilot.git synced 2024-09-22 14:23:50 +03:00
copilot/ui/src/components/avatar/index.js

74 lines
1.2 KiB
JavaScript
Raw Normal View History

// TODO: use a checkbox
const classNames = require('classnames');
const React = require('react');
const styles = require('./style.css');
const Avatar = ({
alt,
className,
color,
crossorigin,
longdesc,
2016-10-28 18:49:00 +03:00
name = '',
sizes,
src,
srcset,
style
}) => {
const cn = classNames(
className,
styles.avatar
);
style = {
...style,
background: color
};
2016-10-28 18:49:00 +03:00
const letter = name.split('')[0];
const av = src ? (
<img
alt={alt || name}
2016-10-28 18:49:00 +03:00
className={styles.picture}
crossOrigin={crossorigin}
longdesc={longdesc}
sizes={sizes}
2016-10-28 18:49:00 +03:00
src={src}
srcSet={srcset}
2016-10-28 18:49:00 +03:00
style={style}
/>
) : (
<p
className={styles.letter}
style={style}
>
{letter}
</p>
);
return (
<div className={cn} style={style}>
2016-10-28 18:49:00 +03:00
{av}
</div>
);
};
Avatar.propTypes = {
alt: React.PropTypes.string,
className: React.PropTypes.string,
color: React.PropTypes.string,
crossorigin: React.PropTypes.string,
longdesc: React.PropTypes.string,
name: React.PropTypes.string,
sizes: React.PropTypes.string,
src: React.PropTypes.string,
srcset: React.PropTypes.string,
style: React.PropTypes.object
};
module.exports = Avatar;