Browse Source

Fix loading of avatars before drawing them to canvas

closed-social-glitch-2
Eugen Rochko 7 years ago
parent
commit
97da56d02b
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      app/assets/javascripts/components/components/avatar.jsx

+ 2
- 2
app/assets/javascripts/components/components/avatar.jsx View File

@ -24,7 +24,7 @@ const Avatar = React.createClass({
this.setState({ hovering: false }); this.setState({ hovering: false });
}, },
componentDidMount () {
handleLoad () {
this.canvas.getContext('2d').drawImage(this.image, 0, 0, this.props.size, this.props.size); this.canvas.getContext('2d').drawImage(this.image, 0, 0, this.props.size, this.props.size);
}, },
@ -41,7 +41,7 @@ const Avatar = React.createClass({
return ( return (
<div onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} style={{ ...this.props.style, width: `${this.props.size}px`, height: `${this.props.size}px`, position: 'relative' }}> <div onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} style={{ ...this.props.style, width: `${this.props.size}px`, height: `${this.props.size}px`, position: 'relative' }}>
<img ref={this.setImageRef} src={this.props.src} width={this.props.size} height={this.props.size} alt='' style={{ position: 'absolute', top: '0', left: '0', display: hovering ? 'block' : 'none', borderRadius: '4px' }} />
<img ref={this.setImageRef} onLoad={this.handleLoad} src={this.props.src} width={this.props.size} height={this.props.size} alt='' style={{ position: 'absolute', top: '0', left: '0', visibility: hovering ? 'visible' : 'hidden', borderRadius: '4px' }} />
<canvas ref={this.setCanvasRef} width={this.props.size} height={this.props.size} style={{ borderRadius: '4px' }} /> <canvas ref={this.setCanvasRef} width={this.props.size} height={this.props.size} style={{ borderRadius: '4px' }} />
</div> </div>
); );

Loading…
Cancel
Save