forked from treehouse/mastodon
Appease Travis
parent
769f62d96f
commit
36a35be2ad
|
@ -73,8 +73,23 @@ export default class IconButton extends React.PureComponent {
|
|||
classes.push(this.props.className);
|
||||
}
|
||||
|
||||
const flipDeg = this.props.flip ? -180 : -360;
|
||||
const rotateDeg = this.props.active ? flipDeg : 0;
|
||||
|
||||
const motionDefaultStyle = {
|
||||
rotate: rotateDeg,
|
||||
};
|
||||
|
||||
const springOpts = {
|
||||
stiffness: this.props.flip ? 60 : 120,
|
||||
damping: 7,
|
||||
};
|
||||
const motionStyle = {
|
||||
rotate: this.props.animate ? spring(rotateDeg, springOpts) : 0,
|
||||
};
|
||||
|
||||
return (
|
||||
<Motion defaultStyle={{ rotate: this.props.active ? (this.props.flip ? -180 : -360) : 0 }} style={{ rotate: this.props.animate ? spring(this.props.active ? (this.props.flip ? -180 : -360) : 0, { stiffness: this.props.flip ? 60 : 120, damping: 7 }) : 0 }}>
|
||||
<Motion defaultStyle={motionDefaultStyle} style={motionStyle}>
|
||||
{({ rotate }) =>
|
||||
<button
|
||||
aria-label={this.props.title}
|
||||
|
|
Loading…
Reference in New Issue