import classNames from 'classnames';
import { PropTypes, Actions, React, Utils } from 'mailspring-exports';
import InitialSyncActivity from './initial-sync-activity';
import SyncbackActivity from './syncback-activity';
export default class SyncActivity extends React.Component {
static propTypes = {
initialSync: PropTypes.bool,
syncbackTasks: PropTypes.array,
};
constructor() {
super();
this.state = {
expanded: false,
blink: false,
};
this.mounted = false;
}
componentDidMount() {
this.mounted = true;
this.unsub = Actions.expandInitialSyncState.listen(this.showExpandedState);
}
shouldComponentUpdate(nextProps, nextState) {
return !Utils.isEqualReact(nextProps, this.props) || !Utils.isEqualReact(nextState, this.state);
}
componentWillUnmount() {
this.mounted = false;
this.unsub();
}
showExpandedState = () => {
if (!this.state.expanded) {
this.setState({ expanded: true });
} else {
this.setState({ blink: true });
setTimeout(() => {
if (this.mounted) {
this.setState({ blink: false });
}
}, 1000);
}
};
hideExpandedState = () => {
this.setState({ expanded: false });
};
_renderInitialSync() {
if (!this.props.initialSync) {
return false;
}
return