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';
|
import FromNow from '/imports/ui/components/FromNow/FromNow';
|
||||||
|
|
||||||
class FireStats extends Component {
|
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() {
|
render() {
|
||||||
return (
|
if (this.state.loadingAll) return (<Fragment><br /><em><Trans>Actualizando...</Trans></em></Fragment>);
|
||||||
<Fragment>
|
if (this.state.lastCheck && !this.state.lastFireDetected) {
|
||||||
{ this.props.lastCheck && this.props.lastFireDetected ?
|
return (<Fragment><br /><Trans>Actualizado <FromNow when={this.state.lastCheck} />.</Trans></Fragment>);
|
||||||
<Trans>Actualizado <FromNow when={this.props.lastCheck} />, último fuego detectado <FromNow when={this.props.lastFireDetected.when} />.</Trans>
|
}
|
||||||
: '' }
|
if (this.state.lastCheck && this.state.lastFireDetected) {
|
||||||
</Fragment>
|
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 = {
|
FireStats.propTypes = {
|
||||||
lastFireDetected: PropTypes.object,
|
lastFireDetected: PropTypes.object,
|
||||||
|
loadingAll: PropTypes.bool.isRequired,
|
||||||
lastCheck: PropTypes.instanceOf(Date)
|
lastCheck: PropTypes.instanceOf(Date)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -245,8 +245,8 @@ class FiresMap extends React.Component {
|
||||||
<Col xs={12} sm={6} md={6} lg={6} >
|
<Col xs={12} sm={6} md={6} lg={6} >
|
||||||
<p className="firesmap-legend">
|
<p className="firesmap-legend">
|
||||||
{ (this.props.activefires.length + this.props.firealerts.length) === 0 ?
|
{ (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="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 {... 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>
|
</p>
|
||||||
{isNotHomeAndMobile() && this.props.firealerts.length > 0 &&
|
{isNotHomeAndMobile() && this.props.firealerts.length > 0 &&
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,7 @@
|
||||||
"Verifica tu dirección de correo": "Verify Your Email Address",
|
"Verifica tu dirección de correo": "Verify Your Email Address",
|
||||||
"Zonas vigiladas": "Monitored areas",
|
"Zonas vigiladas": "Monitored areas",
|
||||||
"En verde, las zonas vigiladas por nuestros usuari@s actualmente": "In green, the areas monitored by our users currently",
|
"En verde, las zonas vigiladas por nuestros usuari@s actualmente": "In green, the areas monitored by our users currently",
|
||||||
|
"Actualizado <1></1>.": "Updated <1></1>.",
|
||||||
"Actualizado <1></1>, último fuego detectado <3></3>.": "Updated <1></1>, last fire detected <3></3>.",
|
"Actualizado <1></1>, último fuego detectado <3></3>.": "Updated <1></1>, last fire detected <3></3>.",
|
||||||
"Información adicional sobre fuego": "Additional information about fire",
|
"Información adicional sobre fuego": "Additional information about fire",
|
||||||
"CO2emisions": "Did you know that wildfires <1>produce as much CO² as cars</1> and <3>about ⅕ of all our carbon emissions</3>?",
|
"CO2emisions": "Did you know that wildfires <1>produce as much CO² as cars</1> and <3>about ⅕ of all our carbon emissions</3>?",
|
||||||
|
|
@ -248,5 +249,6 @@
|
||||||
"Note: Cloud cover might obscure active fire detections.",
|
"Note: Cloud cover might obscure active fire detections.",
|
||||||
"Hay más información sobre un fuego":
|
"Hay más información sobre un fuego":
|
||||||
"There is more information about a fire",
|
"There is more information about a fire",
|
||||||
"esDecirTalDia": "That is on {{date}}"
|
"esDecirTalDia": "That is on {{date}}",
|
||||||
|
"Actualizando...": "Updating..."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -237,6 +237,7 @@
|
||||||
"Verifica tu dirección de correo",
|
"Verifica tu dirección de correo",
|
||||||
"Zonas vigiladas": "Zonas vigiladas",
|
"Zonas vigiladas": "Zonas vigiladas",
|
||||||
"En verde, las zonas vigiladas por nuestros usuari@s actualmente": "En verde, las zonas vigiladas por nuestros usuari@s actualmente",
|
"En verde, las zonas vigiladas por nuestros usuari@s actualmente": "En verde, las zonas vigiladas por nuestros usuari@s actualmente",
|
||||||
|
"Actualizado <1></1>.": "Actualizado <1></1>.",
|
||||||
"Actualizado <1></1>, último fuego detectado <3></3>.": "Actualizado <1></1>, último fuego detectado <3></3>.",
|
"Actualizado <1></1>, último fuego detectado <3></3>.": "Actualizado <1></1>, último fuego detectado <3></3>.",
|
||||||
"Tomamos nota, ¡gracias por colaborar!":
|
"Tomamos nota, ¡gracias por colaborar!":
|
||||||
"Tomamos nota, ¡gracias por colaborar!",
|
"Tomamos nota, ¡gracias por colaborar!",
|
||||||
|
|
@ -333,5 +334,7 @@
|
||||||
"Nota: Las nubes pueden entorpecer la detección de fuegos activos.",
|
"Nota: Las nubes pueden entorpecer la detección de fuegos activos.",
|
||||||
"Hay más información sobre un fuego":
|
"Hay más información sobre un fuego":
|
||||||
"Hay más información sobre un fuego",
|
"Hay más información sobre un fuego",
|
||||||
"esDecirTalDia": "Es decir el {{date}}"
|
"esDecirTalDia": "Es decir el {{date}}",
|
||||||
|
"Actualizando...":
|
||||||
|
"Actualizando..."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue