{"version":3,"sources":["components/TopMenu/TopMenu.js","components/HomeHeader/HomeHeader.js","components/SolutionsSection/SolutionsSection.js","components/Quote/Quote.js","components/ProductOnHome_one/ProductOnHome_one.js","components/ProductOnHome_two/ProductOnHome_two.js","components/ProductOnHome_three/ProductOnHome_three.js","components/pages/Home.js","components/VideoHeader/VideoHeader.js","components/ServiceBasic/ServiceBasic.js","components/ServiceTwo/ServiceTwo.js","components/ServiceSimple/ServiceSimple.js","components/pages/Services.js","components/ProductHeader/ProductHeader.js","components/ProductDescription/ProductDescription.js","components/ProductBanner/ProductBanner.js","components/ProductPromotion/ProductPromotion.js","components/pages/Work.js","components/SimpleHeader/SimpleHeader.js","components/ContactForm/ContactForm.js","components/pages/Contact.js","components/AboutUsContent/AboutUsContent.js","components/SimpleBanner/SimpleBanner.js","components/pages/About.js","components/Footer/Footer.js","components/DefaultLayout.js","App.js","serviceWorker.js","index.js"],"names":["isOpen","keys","37","38","39","40","preventDefault","e","window","event","returnValue","preventDefaultForScrollKeys","keyCode","TopMenu","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","iconToggler","collapse","menusInfo","undefined","menuBG","toggleCustomNavbar","bind","assertThisInitialized","setState","collapsed","addEventListener","onwheel","onmousewheel","document","ontouchmove","onkeydown","body","style","overflow","removeEventListener","menuIcon","menuComplement","bgColor","component","itemList","itemID","i","length","id","selectItemByID","menuID","react_default","a","createElement","onClick","className","src","alt","acf","logo_icon","url","backgroundColor","reactstrap_es","color","dark","href","navbar","Link","to","Component","HomeHeader","pageInfo","clients","openModal","_this2","server","wpLocation","pageID","fetch","then","response","json","urlClients","console","log","build_default","videoId","bg_video_id","aspectRatio","overlay","onReady","backgroundImage","bg_image","title_line_1","title_line_2","base_color","subtitle","map","item","key","website","title","rendered","rel","target","better_featured_image","source_url","SolutionsSection","services","cards","card_icon","background","mini_banner_background_image","mini_banner_text_line_1","mini_banner_text_line_2","mini_banner_image","selectItemByIndex","itemIndex","cantidadTestimonios","positionTestimonio","quoteSelectedIndex","Quote","quote","quoteIndex","testimonio","fbLink","linkedInLink","GPlusLink","facebook_url","google_plus_url","linked_in_url","testimonial_background","client_selfie","author","job","company_name","ProductOnHome_one","productsList","position","slug","product_background_image","product_logo","product_descriptive_image","product_subtitle","product_description_paragraph_title","ProductOnHome_two","ProductOnHome_three","Home","quotes","products","loading","contentLoaded","loadInfo","siteData","name","setTimeout","testimonios","lib_default","assign","dots","infinite","speed","slidesToShow","slidesToScroll","autoplay","components_Quote_Quote","components_HomeHeader_HomeHeader","loadingControl","components_SolutionsSection_SolutionsSection","components_ProductOnHome_one_ProductOnHome_one","components_ProductOnHome_two_ProductOnHome_two","components_ProductOnHome_three_ProductOnHome_three","dist_default","spinnerColor","textColor","logoSrc","text","VideoHeader","videoIsOpen","header_icon","ServiceBasic","serviceSelected","serviceList","serviceID","selectServiceByID","service","replace","alt_text","description","ServiceTwo","ServiceSimple","ServiceSimpleBG","Services","components_VideoHeader_VideoHeader","components_ServiceBasic_ServiceBasic","components_ServiceTwo_ServiceTwo","components_ServiceSimple_ServiceSimple","ProductHeader","sizes","large","ProductDescription","tecnologies","technologiesUsed","technologiesOnProps","technologies_used_on_this_product","technologiesOnState","b","ID","push","product_description_paragraph","product_characteristic_one","product_characteristic_two","product_characteristics_list","icon","ProductBanner","productInfo","product_banner_background_image","product_banner_title","product_banner_subtitle","googlePlay","iOs","url_from_google_play","url_web","url_from_apple_store","product_promotion_title","product_promotion_description","Work","searchValue","ret","searchItem","match","params","components_ProductHeader_ProductHeader","components_ProductDescription_ProductDescription","components_ProductBanner_ProductBanner","ProductPromotion_ProductPromotion","Redirect","SimpleHeader","fitty","require","$","ContactForm","contactName","contactEmail","contactMessage","contactReason","contactReasonQuote","contactReasonHelp","contactReasonComment","handleSubmit","handleChange","handleChangeMessage","handleChangeName","handleChangeReason","maxSize","value","checked","numberOfReasons","message","ajax","type","data","email","reason","cache","success","error","xhr","status","err","ReactGA","category","action","swal","html","showConfirmButton","timer","onBeforeOpen","onClose","clearInterval","timerInterval","result","dismiss","DismissReason","forceUpdate","onSubmit","for","placeholder","onChange","required","label","rows","cols","Contact","components_SimpleHeader_SimpleHeader","components_ContactForm_ContactForm","AboutUsContent","about_us_content_title_line_1","about_us_content_title_line_2","card_image","about_us_content_subtitle","about_us_content_description","SimpleBanner","about_us_banner_background_image","about_us_banner_title_line_1","about_us_banner_title_line_2","about_us_banner_description","About","components_AboutUsContent_AboutUsContent","components_SimpleBanner_SimpleBanner","Footer","DefaultLayout","pathName","openMessagePopup","imageUrl","customClass","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","location","el","setAttribute","left","appendChild","select","execCommand","removeChild","BrowserRouter","components_TopMenu_TopMenu","Switch","Route","exact","path","render","components_pages_Home","pages_About","pages_Contact","pages_Services","pages_Work","components_Footer_Footer","App","contentLoading","initialize","pageview","react_meta_tags_lib_default","content","components_DefaultLayout","isLocalhost","Boolean","hostname","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","catch","ReactDOM","src_App_0","getElementById","URL","process","origin","concat","contentType","headers","get","indexOf","ready","unregister","reload","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.026451f4.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport './TopMenu.css';\r\nimport { Collapse, Navbar, NavbarBrand, Nav, NavItem } from 'reactstrap';\r\n\r\n// variable utilizada para controlar el estado del menu: abierto o cerrado:\r\nvar isOpen=false;\r\n//varaible utilizada para desactivar el scroll, son las teclas que se pueden utilizar para hacer scroll\r\nvar keys = {37: 1, 38: 1, 39: 1, 40: 1};\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre:selectItemByID.\r\n Descripción: Método creado para seleccionar un item del array, por su id,\r\n luego se crea en el state del componente actual\r\n Fecha de creación: 5/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction selectItemByID(component, itemList, itemID) {\r\n for (let i = 0; i < itemList.length; i++) {\r\n // eslint-disable-next-line\r\n if(itemID==itemList[i].id){\r\n component.state={menusInfo : itemList[i]};\r\n }\r\n }\r\n}\r\n/*-----------------------------------------------------------------------------\r\n Nombre:preventDefault.\r\n Descripción: Método creado para desactivar el scroll del sitio, se utiliza cuando se muestra el menu abierto\r\n Fecha de creación: 15/01/2019\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction preventDefault(e) {\r\n e = e || window.event;\r\n if (e.preventDefault)\r\n e.preventDefault();\r\n e.returnValue = false;\r\n}\r\n/*-----------------------------------------------------------------------------\r\n Nombre:preventDefaultForScrollKeys.\r\n Descripción: Método creado para desactivar el scroll del sitio, se utiliza cuando se muestra el menu abierto\r\n Fecha de creación: 15/01/2019\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction preventDefaultForScrollKeys(e) {\r\n if (keys[e.keyCode]) {\r\n preventDefault(e);\r\n return false;\r\n }\r\n}\r\n/*-----------------------------------------------------------------------------\r\n Nombre:disableScroll.\r\n Descripción: Método creado para desactivar el scroll del sitio, se utiliza cuando se muestra el menu abierto\r\n Fecha de creación: 15/01/2019\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction disableScroll() {\r\n if (window.addEventListener) // older FF\r\n window.addEventListener('DOMMouseScroll', preventDefault, false);\r\n window.onwheel = preventDefault; // modern standard\r\n window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE\r\n window.ontouchmove = preventDefault; // mobile\r\n document.onkeydown = preventDefaultForScrollKeys;\r\n\r\n document.body.style.overflow = 'hidden';\r\n}\r\n/*-----------------------------------------------------------------------------\r\n Nombre:enableScroll.\r\n Descripción: Método creado para activar el scroll del sitio, se utiliza cuando se muestra el menu abierto\r\n Fecha de creación: 15/01/2019\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction enableScroll() {\r\n if (window.removeEventListener)\r\n window.removeEventListener('DOMMouseScroll', preventDefault, false);\r\n window.onmousewheel = document.onmousewheel = null;\r\n window.onwheel = null;\r\n window.ontouchmove = null;\r\n document.onkeydown = null;\r\n\r\n document.body.style.overflow = 'visible';\r\n}\r\n\r\nclass TopMenu extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n iconToggler: 'res/icons/menuIcon.svg',\r\n collapse: true,\r\n menusInfo: undefined,\r\n menuBG: '#cacaca'\r\n };\r\n this.toggleCustomNavbar = this.toggleCustomNavbar.bind(this);\r\n }\r\n\r\n toggleCustomNavbar() {\r\n isOpen = !isOpen;\r\n this.setState({\r\n collapsed: !this.state.collapse\r\n });\r\n if (isOpen) {\r\n this.setState({\r\n menuBG: 'rgba(0,0,0,0.79)'\r\n });\r\n disableScroll();\r\n } else {\r\n this.setState({\r\n menuBG: '#000'\r\n });\r\n enableScroll();\r\n }\r\n }\r\n\r\n componentWillMount(){\r\n this.setState({\r\n menuBG: '#000'\r\n });\r\n }\r\n\r\n render() {\r\n var bgColor = this.state.menuBG;\r\n selectItemByID(this, this.props.menusInfo, this.props.menuID);\r\n if(this.state.menusInfo !== undefined){\r\n let menuIcon, menuComplement;\r\n if( isOpen ){\r\n menuIcon = ;\r\n menuComplement =
The best way to get it done faster is to start sooner
\r\n\r\n } else {\r\n menuIcon =\r\n
;\r\n }\r\n return (\r\n\r\n\r\n );\r\n } else {\r\n return (\r\n\r\n \r\n \r\n\r\n {testimonios}\r\n\r\n\r\n\r\nAn example of our work
\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default Home;\r\n","import React, { Component } from 'react';\r\nimport './VideoHeader.css';\r\n/*Youtube popup component */\r\nimport '../../../node_modules/react-modal-video/scss/modal-video.scss';\r\n\r\nclass VideoHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined,\r\n videoIsOpen: false\r\n }\r\n this.openModal = this.openModal.bind(this)\r\n }\r\n\r\n openModal () {\r\n this.setState({isOpen: true})\r\n }\r\n\r\n componentWillMount() {\r\n let url = this.props.server+this.props.wpLocation+\"wp-json/wp/v2/pages/\"+this.props.pageID;\r\n fetch(url)\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((pageInfo) => {\r\n this.setState({ pageInfo: pageInfo });\r\n });\r\n }\r\n\r\n render() {\r\n if ( this.state.pageInfo !== undefined ) {\r\n return (\r\nContent done
\r\n\r\n\r\n\r\n )\r\n } else {\r\n return \r\n }\r\n }\r\n\r\n}\r\n\r\nexport default VideoHeader;\r\n","import React, { Component } from 'react';\r\nimport './ServiceBasic.css';\r\n/*-----------------------------------------------------------------------------\r\n Nombre:selectServiceByID.\r\n Descripción: Método creado para seleccionar un servicio del array, por su id,\r\n luego se crea en el state del componente ServiceBasic (componente actual)\r\n Fecha de creación: 5/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction selectServiceByID(component, serviceList, serviceID) {\r\n for (let i = 0; i < serviceList.length; i++) {\r\n if(serviceID===serviceList[i].id){\r\n component.state.serviceSelected = serviceList[i];\r\n }\r\n }\r\n}\r\n\r\nclass ServiceBasic extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { serviceSelected: undefined }\r\n }\r\n\r\n render() {\r\n\r\n selectServiceByID(this, this.props.service, this.props.serviceID);\r\n // console.log(this.props.service)\r\n return (\r\n\r\n\r\n\r\n\r\n {/* !! - Video comentado temporalmente, si se descomenta, lee los datos de wordpress y despliega el video en el componente*/}\r\n {/*{this.state.pageInfo.acf.title_line_1}
\r\n{this.state.pageInfo.acf.title_line_2}
\r\n \r\n{this.state.pageInfo.acf.subtitle}
\r\n\r\n*/}\r\n {/*\r\nthis.setState({isOpen: false})} />*/}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n {/**/}\r\n\r\n\r\n\r\n
\r\n\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ServiceBasic;\r\n","import React, { Component } from 'react';\r\nimport './ServiceTwo.css';\r\n/*-----------------------------------------------------------------------------\r\n Nombre:selectServiceByID.\r\n Descripción: Método creado para seleccionar un servicio del array, por su id,\r\n luego se crea en el state del componente ServiceBasic (componente actual)\r\n Fecha de creación: 5/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction selectServiceByID(component, serviceList, serviceID) {\r\n for (let i = 0; i < serviceList.length; i++) {\r\n if(serviceID===serviceList[i].id){\r\n component.state.serviceSelected = serviceList[i];\r\n }\r\n }\r\n}\r\n\r\nclass ServiceTwo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { serviceSelected: undefined }\r\n }\r\n\r\n render() {\r\n\r\n selectServiceByID(this, this.props.service, this.props.serviceID);\r\n // console.log(this.props.service)\r\n return (\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n{this.state.serviceSelected.acf.title_line_1}
\r\n{this.state.serviceSelected.acf.title_line_2}
\r\n \r\n{this.state.serviceSelected.acf.description}
\r\n\r\n\r\n\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ServiceTwo;\r\n","import React, { Component } from 'react';\r\nimport './ServiceSimple.css';\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre:selectServiceByID.\r\n Descripción: Método creado para seleccionar un servicio del array, por su id,\r\n luego se crea en el state del componente ServiceSimple (componente actual)\r\n Fecha de creación: 07/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction selectServiceByID(component, serviceList, serviceID) {\r\n for (let i = 0; i < serviceList.length; i++) {\r\n if(serviceID===serviceList[i].id){\r\n component.state.serviceSelected = serviceList[i];\r\n }\r\n }\r\n}\r\n\r\nclass ServiceSimple extends Component{\r\n constructor(props) {\r\n super(props);\r\n this.state = { serviceSelected: undefined }\r\n }\r\n\r\n render (){\r\n selectServiceByID(this, this.props.service, this.props.serviceID);\r\n let ServiceSimpleBG = '#000';\r\n if( this.state.serviceSelected.better_featured_image !== null) {\r\n ServiceSimpleBG = 'url('+this.state.serviceSelected.better_featured_image.source_url+')';\r\n }\r\n return (\r\n\r\n\r\n\r\n\r\n\r\n\r\n{this.state.serviceSelected.acf.title_line_1}
\r\n{this.state.serviceSelected.acf.title_line_2}
\r\n \r\n{this.state.serviceSelected.acf.description}
\r\n\r\n\r\n\r\n
\r\n {/**/}\r\n\r\n );\r\n };\r\n}\r\n\r\nexport default ServiceSimple;","import React, { Component } from 'react';\r\n/* Componentes propios */\r\nimport VideoHeader from '../VideoHeader/VideoHeader';\r\nimport ServiceBasic from '../ServiceBasic/ServiceBasic';\r\nimport ServiceTwo from '../ServiceTwo/ServiceTwo';\r\nimport Quote from '../Quote/Quote';\r\nimport ServiceSimple from \"../ServiceSimple/ServiceSimple\";\r\nimport LoadingScreen from \"react-loading-screen\";\r\n\r\n//Variable constante para establecer el servidor de wordpress\r\nvar server = \"\";\r\nvar wpLocation = \"\";\r\n\r\nclass Services extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n services: [],\r\n quotes: [],\r\n contentLoaded: true\r\n }\r\n }\r\n componentWillMount(){\r\n //Variable constante para establecer el servidor de wordpress\r\n server = this.props.server;\r\n wpLocation = this.props.wpLocation;\r\n\r\n fetch(server+wpLocation+'wp-json/wp/v2/services/')\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((services) => {\r\n this.setState({ services: services });\r\n });\r\n fetch(server+wpLocation+'wp-json/wp/v2/testimonials/')\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((quotes) => {\r\n this.setState({ quotes: quotes });\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n contentLoaded: false\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.services.length > 0 && this.state.quotes.length > 0) {\r\n return (\r\n\r\n\r\n{this.state.serviceSelected.acf.title_line_1}
\r\n{this.state.serviceSelected.acf.title_line_2}
\r\n \r\n{this.state.serviceSelected.acf.description}\r\n\r\n \r\n\r\n )\r\n } else {\r\n return (\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default Services;\r\n","import React, { Component } from 'react';\r\nimport './ProductHeader.css';\r\n\r\nclass ProductHeader extends Component {\r\n render() {\r\n return (\r\nLoadable content
\r\n\r\n\r\n\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ProductHeader;\r\n","import React, { Component } from 'react';\r\nimport './ProductDescription.css';\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre: Array.prototype.compareWith\r\n Descripción: Método creado para buscar elementos en dos arreglos, los compara\r\n retorna los datos que coinciden en un arreglo\r\n Fecha de creación: 12/12/2018\r\n Autor: Josué Somarribas.\r\n-------------------------------------------------------------------------------*/\r\n// Array.prototype.compareWith = function(arr2) {\r\n// var coincidence = [];\r\n// this.sort();\r\n// arr2.sort();\r\n// for(var i = 0; i < this.length; i += 1) {\r\n// // if(arr2.indexOf(this[i]).id > -1){\r\n// console.log(arr2[i]ID)\r\n// coincidence.push(this[i]);\r\n// // }\r\n// }\r\n// return coincidence;\r\n// };\r\n\r\nclass ProductDescription extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n tecnologies: undefined\r\n };\r\n }\r\n\r\n componentWillMount(){\r\n fetch(this.props.server+this.props.wpLocation+'wp-json/wp/v2/technologies/')\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((tecnologies) => {\r\n this.setState({ tecnologies: tecnologies });\r\n });\r\n\r\n }\r\n\r\n render() {\r\n if(this.state.tecnologies !== undefined) {\r\n // Comparamos los dos arreglos y obtenemos las coincidencias.\r\n // Estas son las tecnologias utilizadas en este producto\r\n let technologiesUsed = [];\r\n let technologiesOnProps = this.props.item.acf.technologies_used_on_this_product;\r\n let technologiesOnState = this.state.tecnologies;\r\n\r\n for(var i = 0; i < technologiesOnProps.length; i += 1) {\r\n for(var b = 0; b < technologiesOnState.length; b += 1) {\r\n if (technologiesOnProps[i].ID === technologiesOnState[b].id) {\r\n console.log(technologiesOnProps[i].ID +\"==?\"+technologiesOnState[b].id)\r\n technologiesUsed.push(technologiesOnState[b]);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n{this.props.item.acf.product_subtitle}
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n );\r\n } else {\r\n return (\r\n\r\n\r\n\r\n\r\n{this.props.item.acf.product_description_paragraph_title}
\r\n{this.props.item.acf.product_description_paragraph}
\r\n\r\n\r\n\r\n\r\n{this.props.item.acf.product_characteristic_one}
\r\n{this.props.item.acf.product_characteristic_two}
\r\n\r\n {/**/}\r\n\r\n\r\n{this.props.item.acf.product_characteristics_list}
\r\n {technologiesUsed.map((item, i) =>\r\n\r\n\r\n )}\r\n\r\n
\r\n\r\n )\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nexport default ProductDescription;\r\n","import React, { Component } from 'react';\r\nimport './ProductBanner.css';\r\n\r\nclass ProductBanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n productInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n productInfo: this.props.productInfo\r\n });\r\n }\r\n\r\n render() {\r\n if ( this.state.productInfo !== undefined ) {\r\n return (\r\n\r\n\r\n\r\n )\r\n } else {\r\n return\r\n\r\n\r\n\r\n{this.state.productInfo.acf.product_banner_title}
\r\n {/**/}\r\n\r\n\r\n{this.state.productInfo.acf.product_banner_subtitle}
\r\n\r\n\r\n\r\n
Cargando ...
\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default ProductBanner;\r\n","import React, { Component } from 'react';\r\nimport './ProductPromotion.css';\r\n\r\n\r\nclass ProductBanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n productInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n productInfo: this.props.productInfo\r\n });\r\n }\r\n\r\n\r\n render() {\r\n if ( this.state.productInfo !== undefined ) {\r\n //Verificamos que esté establecida l a url de google play / apple story y sitio web\r\n //si no está establecida, se imprime un span vacío\r\n let googlePlay, iOs, website;\r\n if(this.state.productInfo.acf.url_from_google_play === \"\"){\r\n googlePlay = \r\n } else {\r\n googlePlay = \r\n\r\n ;\r\n }\r\n if(this.state.productInfo.acf.url_web === \"\"){\r\n website = \r\n } else {\r\n website = \r\n
\r\n ;\r\n }\r\n if(this.state.productInfo.acf.url_from_apple_store === \"\"){\r\n iOs = \r\n } else {\r\n iOs = \r\n
\r\n ;\r\n }\r\n return (\r\n
\r\n\r\n )\r\n } else {\r\n return\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nTry it yourself!
\r\n {googlePlay}\r\n {iOs}\r\n {website}\r\n\r\n\r\n{this.state.productInfo.acf.product_promotion_title}
\r\n{this.state.productInfo.acf.product_promotion_description}
\r\nCargando ...
\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default ProductBanner;\r\n","import React, { Component } from 'react';\r\nimport LoadingScreen from \"react-loading-screen\";\r\nimport {Redirect} from \"react-router-dom\";\r\n\r\nimport ProductHeader from \"../ProductHeader/ProductHeader\";\r\nimport ProductDescription from \"../ProductDescription/ProductDescription\";\r\nimport ProductBanner from \"../ProductBanner/ProductBanner\";\r\nimport ProductPromotion from \"../ProductPromotion/ProductPromotion\";\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre:searchItem.\r\n Descripción: Método creado para buscar elementos, segun los datos brindados\r\n Fecha de creación: 12/12/2018\r\n Autor: Josué Somarribas.\r\n-------------------------------------------------------------------------------*/\r\nfunction searchItem(component, itemList, searchValue) {\r\n var ret = false;\r\n for (let i = 0; i < itemList.length; i++) {\r\n console.log(searchValue+\"=?\"+itemList[i].acf.slug)\r\n if(searchValue===itemList[i].acf.slug){\r\n ret = itemList[i];\r\n // return true;\r\n\r\n } else {\r\n // ret = false;\r\n }\r\n }\r\n return ret;\r\n}\r\n/*-----------------------------------------------------------------------------\r\n Nombre:loadInfo.\r\n Descripción: Metodo para obtener los datos de wordpress hasta que se carguen.\r\n Fecha de creación: 4/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction loadInfo(component) {\r\n if(component.props.siteData.name === undefined) {\r\n document.title = \"Making the magic ...\" ;\r\n setTimeout(function(){\r\n loadInfo(component);\r\n }, 30);\r\n } else {\r\n document.title = component.props.siteData.name + \" - Work\";\r\n }\r\n}\r\n\r\nclass Work extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n products: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n loadInfo(this);\r\n }\r\n\r\n componentWillMount() {\r\n fetch(this.props.server+this.props.wpLocation+'wp-json/wp/v2/products/')\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((products) => {\r\n this.setState({ products: products });\r\n });\r\n }\r\n\r\n render() {\r\n if( this.state.products[0] !== undefined ){\r\n let item = searchItem(this, this.state.products, this.props.match.params.id);\r\n if ( item !==false ){\r\n return (\r\n\r\n\r\n );\r\n } else {\r\n return (\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n } else {\r\n return (\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nexport default Work;\r\n","import React, { Component } from 'react';\r\nimport './SimpleHeader.css';\r\n\r\nclass SimpleHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n pageInfo: this.props.pageInfo\r\n });\r\n }\r\n\r\n render() {\r\n if ( this.state.pageInfo !== undefined ) {\r\n return (\r\nContent done
\r\n\r\n\r\n )\r\n } else {\r\n return\r\n\r\n\r\n\r\n\r\n\r\n{this.state.pageInfo.acf.title_line_1}
\r\n{this.state.pageInfo.acf.title_line_2}
\r\n \r\n{this.state.pageInfo.acf.subtitle}
\r\n\r\nCargando header ...
\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default SimpleHeader;\r\n","import React, { Component } from 'react';\r\nimport $ from 'jquery';\r\nimport './ContactForm.css';\r\nimport { CustomInput, Button, Form, FormGroup, Label, Input } from 'reactstrap';\r\nimport swal from 'sweetalert2';\r\nimport '../../../node_modules/animate.css/animate.css';\r\nimport ReactGA from 'react-ga';\r\n\r\nvar fitty = require('../../../node_modules/fitty/dist/fitty.min');\r\nwindow.$ = $;\r\n\r\nfunction addNotification(component) {\r\n let timerInterval\r\n swal({\r\n title: 'Thank you. Message sent!',\r\n html: 'We will contact you soon',\r\n // footer: 'We will contact you soon',\r\n showConfirmButton: false,\r\n timer: 4000,\r\n onBeforeOpen: () => {\r\n // swal.showLoading()\r\n // timerInterval = setInterval(() => {\r\n // swal.getContent().querySelector('strong')\r\n // .textContent = swal.getTimerLeft()\r\n // }, 100)\r\n },\r\n onClose: () => {\r\n clearInterval(timerInterval)\r\n }\r\n }).then((result) => {\r\n if (\r\n // Read more about handling dismissals\r\n result.dismiss === swal.DismissReason.timer\r\n ) {\r\n ///console.log('Message sent successfully')\r\n }\r\n });\r\n\r\n setTimeout(\r\n function() {\r\n component.forceUpdate()\r\n },\r\n 1200\r\n );\r\n}\r\n\r\n\r\nclass ContactForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n contactName: '',\r\n contactEmail: '',\r\n contactMessage: '',\r\n contactReason: 'Unknown reason',\r\n contactReasonQuote: false,\r\n contactReasonHelp: false,\r\n contactReasonComment: false,\r\n };\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleChangeMessage = this.handleChangeMessage.bind(this);\r\n this.handleChangeName = this.handleChangeName.bind(this);\r\n this.handleChangeReason = this.handleChangeReason.bind(this);\r\n //redimencionamos el tamaño del titulo con fitty\r\n fitty('#ContactFormTitle', {maxSize:70})\r\n\r\n }\r\n\r\n componentDidMount(){\r\n //redimencionamos el tamaño del titulo con fitty\r\n fitty('#ContactFormTitle', {maxSize:70})\r\n }\r\n\r\n // Cambia el state del component con el texto actualizado del input\r\n handleChange(e) {\r\n this.setState({\r\n contactEmail: e.target.value,\r\n });\r\n }\r\n\r\n // Cambia el state del component con el texto actualizado del input\r\n handleChangeMessage(e) {\r\n this.setState({\r\n contactMessage: e.target.value\r\n });\r\n }\r\n // Cambia el state del component con el texto actualizado del input\r\n handleChangeName(e) {\r\n this.setState({\r\n contactName: e.target.value\r\n });\r\n }\r\n // Cambia el state del component con el texto actualizado del input\r\n handleChangeReason(event) {\r\n //Se obtienen los datos del formulario\r\n const target = event.target;\r\n // const value = target.type === 'checkbox' ? target.checked : target.value;\r\n\r\n //se limpia el state del mensaje\r\n this.setState({ contactReason: ''});\r\n\r\n //se actualiza el state correspondiente\r\n if(target.id === 'contactReasonQuote') {\r\n this.setState({ contactReasonQuote: target.checked});\r\n }\r\n if(target.id === 'contactReasonComment') {\r\n this.setState({ contactReasonComment: target.checked});\r\n }\r\n if(target.id === 'contactReasonHelp') {\r\n this.setState({ contactReasonHelp: target.checked});\r\n }\r\n //Se crea el mensaje del asunto del correo\r\n setTimeout(\r\n function() {\r\n let numberOfReasons = 0;\r\n let message = 'Unknown reason';\r\n if(this.state.contactReasonQuote) {\r\n message = 'I need a quote';\r\n numberOfReasons += 1 ;\r\n }\r\n if(this.state.contactReasonComment) {\r\n numberOfReasons += 1 ;\r\n if(numberOfReasons > 1) {\r\n message=message+', also I have a comment';\r\n } else {\r\n message='I have a comment';\r\n }\r\n }\r\n if(this.state.contactReasonHelp) {\r\n numberOfReasons += 1 ;\r\n if(numberOfReasons > 1) {\r\n message=message+' and I need help';\r\n } else {\r\n message='I have need help';\r\n }\r\n }\r\n this.setState({ contactReason: message});\r\n }\r\n .bind(this),\r\n 500\r\n );\r\n }\r\n\r\n handleSubmit(e) {\r\n //Evitamos que la pagina se recargue\r\n e.preventDefault();\r\n // se actualiza el state del componente\r\n this.setState({\r\n contactEmail: '',\r\n contactMessage: '',\r\n contactName: '',\r\n contactReason: '',\r\n contactReasonQuote: false,\r\n contactReasonHelp: false,\r\n contactReasonComment: false,\r\n });\r\n //Se envia el correo\r\n $.ajax({\r\n url: '/res/mail/index.php',\r\n type: 'GET',\r\n data: {\r\n 'message': this.state.contactMessage,\r\n 'email': this.state.contactEmail,\r\n 'name': this.state.contactName,\r\n 'reason': this.state.contactReason,\r\n },\r\n cache: false,\r\n success: function(data) {\r\n // Success..\r\n // this.setState({\r\n // contactEmail: 'success',\r\n // contactMessage: 'yay'\r\n // });\r\n // $('#formContact').slideUp();\r\n // $('#formContact').after(this.state.contactMessage);\r\n // console.log('success', data);\r\n },\r\n // Fail..\r\n error: function(xhr, status, err) {\r\n // console.log(xhr, status);\r\n // console.log(err);\r\n // this.setState({\r\n // contactEmail: 'danger',\r\n // contactMessage: err+\"+\"+status+\":\"+xhr\r\n // });\r\n // console.log(this.state.contactEmail + this.state.contactMessage + 'fail');\r\n }\r\n });\r\n //Registramos la accion el google analytics\r\n ReactGA.event({\r\n category: 'User',\r\n action: 'Send a contact email'\r\n });\r\n //Se notifica el envio\r\n addNotification(this);\r\n }\r\n\r\n render() {\r\n\r\n //redimencionamos el tamaño del titulo con fitty\r\n fitty('#ContactFormTitle', {maxSize:70})\r\n return (\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default ContactForm;\r\n","import React, { Component } from 'react';\r\nimport SimpleHeader from \"../SimpleHeader/SimpleHeader\";\r\nimport ContactForm from \"../ContactForm/ContactForm\";\r\nimport LoadingScreen from \"react-loading-screen\";\r\n//Variable constante para establecer el servidor de wordpress\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre:loadInfo.\r\n Descripción: Metodo para obtener los datos de wordpress hasta que se carguen.\r\n Fecha de creación: 4/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction loadInfo(component) {\r\n if(component.props.siteData.name === undefined) {\r\n document.title = \"Making the magic ...\" ;\r\n setTimeout(function(){\r\n loadInfo(component);\r\n }, 30);\r\n } else {\r\n document.title = component.props.siteData.name + \" - Contact\";\r\n }\r\n}\r\n\r\nclass Contact extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount(){\r\n //Consultamos los datos de wordpress\r\n let url = this.props.server+this.props.wpLocation+\"wp-json/wp/v2/pages/\"+this.props.pageID;\r\n fetch(url)\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((pageInfo) => {\r\n this.setState({ pageInfo: pageInfo });\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n loadInfo(this);\r\n }\r\n\r\n render() {\r\n\r\n if ( this.state.pageInfo !== undefined ){\r\n return (\r\n\r\n\r\n\r\n\r\n\r\n \r\nLET’S GET IN TOUCH
\r\n\r\n\r\nWe are glad to hear from you
\r\n\r\n\r\n );\r\n } else {\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default Contact;\r\n","import React, { Component } from 'react';\r\nimport './AboutUsContent.css';\r\n\r\nclass AboutUsContent extends Component{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n pageInfo: this.props.pageInfo\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\nLoadable content
\r\n\r\n\r\n );\r\n }\r\n}\r\nexport default AboutUsContent;","import React, { Component } from 'react';\r\nimport './SimpleBanner.css';\r\n\r\nclass SimpleBanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.setState({\r\n pageInfo: this.props.pageInfo\r\n });\r\n }\r\n\r\n render() {\r\n if ( this.state.pageInfo !== undefined ) {\r\n return (\r\n\r\n\r\n{this.state.pageInfo.acf.about_us_content_title_line_1} {this.state.pageInfo.acf.about_us_content_title_line_2}
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {/*\r\n*/}\r\n
\r\n\r\n{this.state.pageInfo.acf.about_us_content_subtitle}
\r\n{this.state.pageInfo.acf.about_us_content_description}
\r\n\r\n\r\n )\r\n } else {\r\n return\r\n\r\n\r\n\r\n\r\n\r\n{this.state.pageInfo.acf.about_us_banner_title_line_1}
\r\n{this.state.pageInfo.acf.about_us_banner_title_line_2}
\r\n \r\n{this.state.pageInfo.acf.about_us_banner_description}
\r\nCargando ...
\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default SimpleBanner;\r\n","import React, { Component } from 'react';\r\nimport SimpleHeader from \"../SimpleHeader/SimpleHeader\";\r\nimport AboutUsContent from \"../AboutUsContent/AboutUsContent\";\r\nimport SimpleBanner from \"../SimpleBanner/SimpleBanner\";\r\nimport LoadingScreen from \"react-loading-screen\";\r\n/*-----------------------------------------------------------------------------\r\n Nombre:loadInfo.\r\n Descripción: Metodo para obtener los datos de wordpress hasta que se carguen.\r\n Fecha de creación: 4/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction loadInfo(component) {\r\n if(component.props.siteData.name === undefined) {\r\n document.title = \"Making the magic ...\" ;\r\n setTimeout(function(){\r\n loadInfo(component);\r\n }, 30);\r\n } else {\r\n document.title = component.props.siteData.name + \" - About\";\r\n }\r\n}\r\n\r\nclass About extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pageInfo: undefined\r\n }\r\n }\r\n\r\n componentWillMount(){\r\n //Consultamos los datos de wordpress\r\n let url = this.props.server+this.props.wpLocation+\"wp-json/wp/v2/pages/\"+this.props.pageID;\r\n fetch(url)\r\n .then((response) => {\r\n return response.json()\r\n })\r\n .then((pageInfo) => {\r\n this.setState({ pageInfo: pageInfo });\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n loadInfo(this);\r\n }\r\n\r\n render() {\r\n if ( this.state.pageInfo !== undefined ){\r\n return (\r\n\r\n\r\n );\r\n } else {\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default About;\r\n","import React, { Component } from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport './Footer.css';\r\n\r\n/*-----------------------------------------------------------------------------\r\n Nombre:selectItemByID.\r\n Descripción: Método creado para seleccionar un item del array, por su id,\r\n luego se crea en el state del componente actual\r\n Fecha de creación: 5/12/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\nfunction selectItemByID(component, itemList, itemID) {\r\n for (let i = 0; i < itemList.length; i++) {\r\n // eslint-disable-next-line\r\n if (itemList[i].id == itemID) {\r\n component.state = {menusInfo: itemList[i]};\r\n}\r\n }\r\n}\r\n\r\nclass Footer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { menusInfo: undefined }\r\n }\r\n\r\n\r\n render() {\r\n selectItemByID(this, this.props.menusInfo, this.props.menuID);\r\n if(this.state.menusInfo !== undefined){\r\n return (\r\nLoadable content
\r\n\r\n \r\n\r\n );\r\n } else {\r\n return (\r\n\r\n\r\n );\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nexport default Footer;\r\n","import React, { Component } from 'react';\r\nimport swal from 'sweetalert2';\r\n/* Componentes propios */\r\nimport TopMenu from './TopMenu/TopMenu';\r\nimport Home from './pages/Home';\r\nimport Services from './pages/Services';\r\nimport Work from './pages/Work';\r\nimport Contact from './pages/Contact';\r\nimport About from './pages/About';\r\nimport Footer from './Footer/Footer';\r\n/* Routing */\r\nimport {BrowserRouter as Router, Route, Switch} from \"react-router-dom\";\r\n//Variable constante para establecer el servidor de wordpress\r\nvar server = \"\";\r\n// eslint-disable-next-line\r\nvar wpLocation;\r\n\r\nclass DefaultLayout extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pathName: '/'\r\n };\r\n this.openMessagePopup.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n //Variable constante para establecer el servidor de wordpress\r\n server = this.props.server;\r\n wpLocation = this.props.wpLocation;\r\n\r\n\r\n }\r\n\r\n openMessagePopup () {\r\n let timer = 15000;\r\n let contactMessage = swal({\r\n title: 'info@sevensoftit.com',\r\n imageUrl: '../res/icons/contactMessage.svg',\r\n customClass: 'contactPopUp rollIn',\r\n showCancelButton: true,\r\n confirmButtonColor: '#e92899',\r\n cancelButtonColor: '#e92899',\r\n confirmButtonText: 'Send us a message',\r\n timer: timer,\r\n cancelButtonText: 'Copy email .\r\n
\r\n- \r\n Home \r\n
\r\n- \r\n Services\r\n
\r\n- \r\n About\r\n
\r\n- \r\n Contact\r\n
\r\n- \r\n Work\r\n
\r\n'\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n //Redirecciona a la pagina de contacto\r\n window.location.href = \"/contact\";\r\n }\r\n if (result.dismiss === 'cancel') {\r\n // Create new element\r\n var el = document.createElement('textarea');\r\n // Set value (string to be copied)\r\n el.value = 'info@sevensoftit.com';\r\n // Set non-editable to avoid focus and move outside of view\r\n el.setAttribute('readonly', '');\r\n el.style = {position: 'absolute', left: '-9999px'};\r\n document.body.appendChild(el);\r\n // Select text inside element\r\n el.select();\r\n // Copy text to clipboard\r\n document.execCommand('copy');\r\n // Remove temporary element\r\n document.body.removeChild(el);\r\n //Se confirma la accion\r\n\r\n let timerInterval;\r\n swal({\r\n title: 'Copied to clipboard!',\r\n showConfirmButton: false,\r\n type: 'success',\r\n timer: 1000,\r\n onClose: () => {\r\n clearInterval(timerInterval)\r\n }\r\n });\r\n } else {\r\n let timerInterval;\r\n swal({\r\n title: 'Feel free to contact us anytime',\r\n showConfirmButton: false,\r\n timer: 1500,\r\n onClose: () => {\r\n clearInterval(timerInterval)\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default DefaultLayout;\r\n","import React, { Component } from 'react';\r\n//Estilos\r\nimport './App.css';\r\nimport './animate.css';\r\n//Componetes propios\r\nimport DefaultLayout from './components/DefaultLayout';\r\n//Componente para pantalla de carga, ayuda en las auditorias del sitio\r\nimport LoadingScreen from 'react-loading-screen';\r\n//Componente para manejar las meta tags del sitio\r\nimport MetaTags from 'react-meta-tags';\r\n//Analytics\r\nimport ReactGA from 'react-ga';\r\n//Variable constante para establecer el servidor de wordpress\r\n//const server = 'http://192.168.100.32:8080/';\r\n//const wpLocation = 'sevensoft_site/admin/';\r\nconst server = 'https://admin.sevensoftit.com/';\r\nconst wpLocation = 'sevensoftword/index.php/';\r\n\r\nclass App extends Component {\r\n /*-----------------------------------------------------------------------------\r\n Nombre:Constructor.\r\n Descripción: Constructor en el cuál se crean las variables para acceder a los\r\n datos de wordpress mediante API REST\r\n Fecha de creación: 29/11/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\n constructor (){\r\n super();\r\n this.state = {\r\n siteData: [],\r\n menusInfo: [],\r\n contentLoading: true\r\n }\r\n\r\n ReactGA.initialize('UA-129524116-1');\r\n ReactGA.pageview('/homepage');\r\n\r\n }\r\n /*-----------------------------------------------------------------------------\r\n Nombre:componentDidMount.\r\n Descripción: Metodo para obtener los datos de wordpress.\r\n Fecha de creación: 29/11/2018\r\n Autor: Josué Somarribas.\r\n -------------------------------------------------------------------------------*/\r\n componentDidMount() {\r\n let siteDataUrl = server+wpLocation+\"wp-json/\";\r\n fetch(siteDataUrl)\r\n .then(response => response.json())\r\n .then(response => {\r\n this.setState({\r\n siteData: response\r\n })\r\n });\r\n let menusInfo = server+wpLocation+\"wp-json/wp/v2/menu\";\r\n fetch(menusInfo)\r\n .then(response => response.json())\r\n .then(response => {\r\n this.setState({\r\n menusInfo: response,\r\n contentLoading: false\r\n })\r\n });\r\n }\r\n render() {\r\n return (\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n}/>\r\n }/>\r\n }/>\r\n }/>\r\n } />\r\n {/* */}\r\n\r\n }/>\r\n \r\n\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n/*Bootstrap module*/\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nReactDOM.render(\r\n \r\n\r\n \r\n \r\n\r\n , document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.register();\n"],"sourceRoot":""}