/* eslint-disable import/no-absolute-path */ /* eslint-disable react/jsx-indent-props */ /* eslint-disable key-spacing */ /* eslint-env jquery */ import 'simple-line-icons/css/simple-line-icons.css'; import React, { Component } from 'react'; import { translate, Trans } from 'react-i18next'; import { Helmet } from 'react-helmet'; import PropTypes from 'prop-types'; // import { HashLink as Link } from 'react-router-hash-link'; // import { Link } from 'react-router-dom'; // https://www.npmjs.com/package/react-resize-detector import ReactResizeDetector from 'react-resize-detector'; import MobileStoreButton from 'react-mobile-store-button'; import _ from 'lodash'; import 'html5-device-mockups/dist/device-mockups.min.css'; import 'bootstrap-carousel-swipe/carousel-swipe'; import { isAnyMobile } from '/imports/ui/components/Utils/isMobile'; import SubscriptionEditor from '/imports/ui/components/SubscriptionEditor/SubscriptionEditor'; import SubscriptionsMap from '/imports/ui/pages/Subscriptions/SubscriptionsMap'; import ShareIt from '/imports/ui/components/ShareIt/ShareIt'; import getFallbackLang from '/imports/modules/lang-fallback'; import FiresMap from '../FiresMap/FiresMap'; import './Index.scss'; import './Index-custom.scss'; class Index extends Component { // Debounce by David Walsch // https://davidwalsh.name/javascript-debounce-function constructor(props) { super(props); const self = this; this.myScaleFunction = _.debounce(() => { self.scaleHeader(); }, 250); this.onResize = this.onResize.bind(this); this.getBotUrl = this.getBotUrl.bind(this); } componentDidMount() { const car1 = $('#carouselMainIndicators'); const car2 = $('#carouselSndIndicators'); car1.carousel(); car2.carousel(); /* _.defer(() => { $('#firsthomeslide').addClass('lazy'); }); */ const loadLazy = (ev) => { ev.relatedTarget.classList.add('lazy'); }; car1.on('slide.bs.carousel', loadLazy); car2.on('slide.bs.carousel', loadLazy); } onResize() { this.myScaleFunction(); } getMap(isMobile, props) { if (!isMobile) { return (
); } return (
); } getBotUrl() { const fallbackLng = getFallbackLang(this.props.i18n.language); console.log(`language: ${this.props.i18n.language}, fallback: ${fallbackLng}`); return fallbackLng === 'es' ? 'https://t.me/TodosContraElFuego_bot' : 'https://t.me/AllAgainstTheFire_bot'; } scaleHeader() { const scalable = document.getElementById('tcefh1'); const margin = 10; const scalableContainer = scalable.parentNode; scalable.style.transform = 'scale(1)'; const scalableContainerWidth = scalableContainer.offsetWidth - margin; const scalableWidth = scalable.offsetWidth; scalable.style.transform = `scale(${scalableContainerWidth / scalableWidth})`; scalableContainer.style.height = `${scalable.getBoundingClientRect().height}px`; } handleBtnClick() { window.open(this.getBotUrl(), '_blank'); } gotoParticipe() { const element = document.querySelector('#participe'); if (element) { element.scrollIntoView(); } } render() { const { t } = this.props; const title = `${t('AppName')}: ${t('Inicio')}`; const androidUrl = 'https://play.google.com/store/apps/details?id=org.comunes.fires'; return (
{title} {/* https://v4-alpha.getbootstrap.com/components/carousel/ */}
{ this.slides = ref; }} > {/* for dev ^^^: data-interval=false */}
{ this.gotoParticipe(); }} onClick={() => { this.gotoParticipe(); }} />

Elige un lugar

Elige un radio de vigilancia

Recibe alertas de fuegos en esa zona

Alerta cuando hay un fuego

{this.props.t('AppName')}

Siempre alerta a los fuegos en nuestro vecindario

{/* {this.props.t('Participa')} */}

{this.props.t('AppDescrip')}

{this.props.t('AppDescripLong')}

Imágenes capturadas por los satélites de la NASA muestran el humo de grandes incendios que se extienden sobre el Océano Pacífico. La actividad del fuego está delineada en rojo.

{ this.slidesSnd = ref; }} > {/* for dev ^^^: data-interval=false */}

Ayúdanos a combatir el cambio climático y a proteger el medioambiente

Suscríbete a alertas de fuegos

{this.getMap(isAnyMobile, this.props)}

Somos muchos ojos

); } } Index.propTypes = { history: PropTypes.object.isRequired, i18n: PropTypes.object.isRequired, t: PropTypes.func.isRequired }; export default translate([], { wait: true })(Index);