soapbox/app/gabsocial/components/avatar_overlay.js

39 wiersze
1.0 KiB
JavaScript
Czysty Zwykły widok Historia

2020-03-27 20:59:38 +00:00
import React from 'react';
2020-04-17 22:00:25 +00:00
import { connect } from 'react-redux';
2020-03-27 20:59:38 +00:00
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
2020-04-17 22:00:25 +00:00
const mapStateToProps = state => ({
animate: state.getIn(['settings', 'autoPlayGif']),
2020-04-17 22:00:25 +00:00
});
export default @connect(mapStateToProps)
class AvatarOverlay extends React.PureComponent {
2020-03-27 20:59:38 +00:00
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
friend: ImmutablePropTypes.map.isRequired,
animate: PropTypes.bool,
};
render() {
const { account, friend, animate } = this.props;
const baseStyle = {
backgroundImage: `url(${account.get(animate ? 'avatar' : 'avatar_static')})`,
};
const overlayStyle = {
backgroundImage: `url(${friend.get(animate ? 'avatar' : 'avatar_static')})`,
};
return (
<div className='account__avatar-overlay'>
<div className='account__avatar-overlay-base' style={baseStyle} />
<div className='account__avatar-overlay-overlay' style={overlayStyle} />
</div>
);
}
}