import classNames from 'classnames';
import {Actions, React, Utils} from 'nylas-exports';
import InitialSyncActivity from './initial-sync-activity';
import SyncbackActivity from './syncback-activity';
export default class SyncActivity extends React.Component {
static propTypes = {
initialSync: React.PropTypes.bool,
syncbackTasks: React.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