Better stats in FiresMap
This commit is contained in:
parent
e36dda74db
commit
bea2703f2f
4 changed files with 46 additions and 11 deletions
|
|
@ -8,19 +8,49 @@ import { translate, Trans } from 'react-i18next';
|
|||
import FromNow from '/imports/ui/components/FromNow/FromNow';
|
||||
|
||||
class FireStats extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
lastFireDetected: props.lastFireDetected,
|
||||
lastCheck: props.lastCheck,
|
||||
loadingAll: props.loadingAll
|
||||
};
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps) {
|
||||
if (this.props.lastCheck !== nextProps.lastCheck ||
|
||||
this.props.lastFireDetected !== nextProps.lastFireDetected ||
|
||||
this.props.loadingAll !== nextProps.loadingAll
|
||||
) {
|
||||
this.setState({
|
||||
lastFireDetected: nextProps.lastFireDetected,
|
||||
lastCheck: nextProps.lastCheck,
|
||||
loadingAll: nextProps.loadingAll
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
shouldComponentUpdate(nextProps, nextState) {
|
||||
return !(nextState.lastCheck === this.state.lastCheck &&
|
||||
nextState.lastFireDetected === this.state.lastFireDetected &&
|
||||
nextState.loadingAll === this.state.loadingAll);
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<Fragment>
|
||||
{ this.props.lastCheck && this.props.lastFireDetected ?
|
||||
<Trans>Actualizado <FromNow when={this.props.lastCheck} />, último fuego detectado <FromNow when={this.props.lastFireDetected.when} />.</Trans>
|
||||
: '' }
|
||||
</Fragment>
|
||||
);
|
||||
if (this.state.loadingAll) return (<Fragment><br /><em><Trans>Actualizando...</Trans></em></Fragment>);
|
||||
if (this.state.lastCheck && !this.state.lastFireDetected) {
|
||||
return (<Fragment><br /><Trans>Actualizado <FromNow when={this.state.lastCheck} />.</Trans></Fragment>);
|
||||
}
|
||||
if (this.state.lastCheck && this.state.lastFireDetected) {
|
||||
return (<Fragment><br /><Trans>Actualizado <FromNow when={this.state.lastCheck} />, último fuego detectado <FromNow when={this.state.lastFireDetected.when} />.</Trans></Fragment>);
|
||||
}
|
||||
return (<Fragment />);
|
||||
}
|
||||
}
|
||||
|
||||
FireStats.propTypes = {
|
||||
lastFireDetected: PropTypes.object,
|
||||
loadingAll: PropTypes.bool.isRequired,
|
||||
lastCheck: PropTypes.instanceOf(Date)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -245,8 +245,8 @@ class FiresMap extends React.Component {
|
|||
<Col xs={12} sm={6} md={6} lg={6} >
|
||||
<p className="firesmap-legend">
|
||||
{ (this.props.activefires.length + this.props.firealerts.length) === 0 ?
|
||||
<Fragment><Trans parent="span" i18nKey="noActiveFireInMapCount">No hay fuegos activos en esta zona del mapa. <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos en el mundo.</Trans> <FireStats {... this.props} /></Fragment> :
|
||||
<Fragment><Trans parent="span" i18nKey="activeFireInMapCount">En rojo, <strong>{{ count: this.props.activefires.length + this.props.firealerts.length }}</strong> fuegos activos. <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos en el mundo.</Trans> <FireStats {... this.props} /></Fragment>
|
||||
<Fragment><Trans parent="span" i18nKey="noActiveFireInMapCount">No hay fuegos activos en esta zona del mapa. <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos en el mundo.</Trans> <FireStats loadingAll={loading} {... this.props} /></Fragment> :
|
||||
<Fragment><Trans parent="span" i18nKey="activeFireInMapCount">En rojo, <strong>{{ count: this.props.activefires.length + this.props.firealerts.length }}</strong> fuegos activos. <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos en el mundo.</Trans> <FireStats loadingAll={loading} {... this.props} /></Fragment>
|
||||
}
|
||||
</p>
|
||||
{isNotHomeAndMobile() && this.props.firealerts.length > 0 &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue