blob: 4c3ac0b67a8f0a5192880804b566a79b4c149a29 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import React from 'react';
import PropTypes from 'prop-types';
import { Link } from 'react-router-dom';
import { UserType } from './Types';
import Icon from './Icon';
const Avatar = React.memo(props => {
return (
<div style={{ display: 'flex', padding: '12px' }}>
<div className="msg-avatar">
{
props.user.uname ?
<Link to={{ pathname: props.link || `/${props.user.uname}/` }}>
<img src={props.user.avatar} alt={`${props.user.uname}`} />
</Link>
: <Icon name="ei-spinner" size="m" />
}
</div>
<div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center' }}>
<span>
<Link to={{ pathname: `/${props.user.uname}/` }}>
<span>{props.user.uname}</span>
</Link>
</span>
{props.children}
</div>
</div>
);
});
export default Avatar;
export const AvatarLink = React.memo(props => {
return (
<Link to={{ pathname: props.link || `/${props.user.uname}/` }}>
<img src={props.user.avatar} alt={`${props.user.uname}`} />
{props.user.uname}
</Link>
);
});
Avatar.propTypes = {
user: UserType,
link: PropTypes.string,
children: PropTypes.node
};
|