logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: e843f62f479d9b8b2d177e587c3e10b5e3945f68
parent: ec487166db4d9d532e6090c76b65c797780fa841
Author: Nolan Lawson <nolan@nolanlawson.com>
Date:   Fri, 27 Oct 2017 10:08:07 -0700

Avoid unnecessary Motion components in icon_button.js (#5544)


Diffstat:

Mapp/javascript/mastodon/components/icon_button.js19+++++++++++++++++++
1 file changed, 19 insertions(+), 0 deletions(-)

diff --git a/app/javascript/mastodon/components/icon_button.js b/app/javascript/mastodon/components/icon_button.js @@ -72,6 +72,25 @@ export default class IconButton extends React.PureComponent { overlayed: overlay, }); + if (!animate) { + // Perf optimization: avoid unnecessary <Motion> components unless + // we actually need to animate. + return ( + <button + aria-label={title} + aria-pressed={pressed} + aria-expanded={expanded} + title={title} + className={classes} + onClick={this.handleClick} + style={style} + tabIndex={tabIndex} + > + <i className={`fa fa-fw fa-${icon}`} aria-hidden='true' /> + </button> + ); + } + return ( <Motion defaultStyle={{ rotate: active ? -360 : 0 }} style={{ rotate: animate ? spring(active ? -360 : 0, { stiffness: 120, damping: 7 }) : 0 }}> {({ rotate }) =>