{"version":3,"sources":["Provider/Provider.js","images/logo-dpec-01.svg","components/BannerComponent.js","components/CategoriaCardComponent.js","components/DropdownComponent.js","components/TablaComponent.js","components/InputCardComponent.js","components/Medidor/MedidorComponent.js","components/InputsComponent.js","components/BarraConsumoComponent.js","components/ConsejosCardComponent.js","components/ResultadosComponent.js","components/InputAResultadoComponent.js","components/MainModalComponent.js","App.js","index.js"],"names":["Provider","children","useState","currentTabla","TotalkWhBim","TotalImporteBim","clearDropdowns","ValoresCategoriaCard","tablasPorCategoria","valoresConsumoState","setValoresConsumoState","AppContext","value","createContext","Banner","className","src","logo","alt","CategoriaCard","localkWh2","localCant","name","getCateName","currentCateName","useContext","handleOnclick","kWh","toFixed","Cant","localeCompare","onClick","Dropdown","handleItem","items","handleClear","clearItem","disabled","selectedItem","setSelectedItem","useEffect","onChange","item","Button","aria-hidden","as","Fragment","leave","leaveFrom","leaveTo","Options","map","Option","active","selected","index","Tabla","forwardRef","ref","tupla","returnTotalkWhCategoria","tuplaFlag","setTuplaFlag","arrayOfElements","setArrayOfElements","currentName","setCurrentName","anArray","useImperativeHandle","clearArrayOfElements","clearArrayOfElementsChild","addToArrayOfElements","currentValue","localValores","Object","create","sumValue","cantE","push","consumoBimestral","Math","trunc","pow","handleTotalkWhCategoria","s","renderBody","electrodomestico","cantidad","usoDiario","title","type","itemResta","valorMedidor","splice","subtractFromArrayOfElements","undefined","isNaN","JSON","stringify","length","key","toUpperCase","InputCard","nombreCategoria","electrodomesticos","electrodomesticoState","setElectrodomesticoState","cantidadState","setCantidadState","usoDiarioState","setUsoDiarioState","inputDataState","setInputDataState","electroDropdownIsEmpty","setElectroDropdownIsEmpty","cantidadDropdownIsEmpty","setCantidadDropdownIsEmpty","usoDiarioDropdownIsEmpty","setUsoDiarioDropdownIsEmpty","clearElectro","setClearElectro","clearCantidad","setClearCantidad","clearUsoDiario","setClearUsoDiario","tablaRef","useRef","clearDropdown","enableClear","localObj","disableDropdown","tableData","includes","valorUsoDiario","nombreUsoDiario","calcKWH","W","calcBim","inputData","current","Medidor","totalkWhBim","orangeTop","tangerineTop","redTop","needle","transform","transition","style","Inputs","data","arrayCategorias","setArrayCategorias","cateNamefromCard","setCateNamefromCard","arrayElectrodomesticos","setArrayElectrodomesticos","arrayCantidad","setArrayCantidad","arrayUsoDiario","setArrayUsoDiario","scrollableI","keys","cat","scrollIntoView","cate","itemName","saveNameOnClick","event","target","verResultados","BarraConsumo","tempRes","porcentajeParaMostrar","round","width","ConsejosCard","mostrarConsejos","currentCat","artefactoDetalle","heladera","lavarropas","calefones","plancha","teleAudioCompus","usuariosResponsablesDetalle","usuariosResponsablesItems","iluminacionDetalle1","iluminacionDetalle2","iluminacionItems","aireAcondicionadoDetalle","aireAcondicionadoRecomendaciones","calefaccionBuenasCostumbres","Resultados","totalAPagarEstimadoBimestral","scrollable","mayor","mayorCat","cuotaFijaPorSuministro","primeroskWh","importeTotalSinImpuestos","consumo","abs","id","currentUrl","window","location","href","fatherUrl","document","referrer","process","toLowerCase","dataCenso","ValorEstimadoBimestral","ConsumoEstimadoBimestral","tempJSon","ItemsJSon","ItemsHuman","CantidadItems","i","j","concat","prepareData","opener","datosCensoCargaFather","err","console","error","close","InputAResultado","closeModal","setVerResultados","MainModal","isOpen","setData","fetch","headers","Accept","then","response","json","myJson","appear","show","onClose","Child","enterFrom","enterTo","Overlay","Title","App","basename","path","component","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.a91fcb65.chunk.js","sourcesContent":["import React, {createContext, useState} from 'react'\r\n\r\n\r\nconst Provider = ({children}) => {\r\n\r\n let obj = {\r\n\r\n currentTabla: [],\r\n\r\n TotalkWhBim: 0,\r\n\r\n TotalImporteBim: 0,\r\n\r\n clearDropdowns: false,\r\n \r\n ValoresCategoriaCard: {\r\n \"Climatización\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Electrónica, Audio y Video\":\r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Cocina\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Línea Blanca\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Agua\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Iluminación\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Refrigeración\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n\r\n \"Maquinaria\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n \r\n \"Cuidado Personal\": \r\n { \"kWh\": 0, \"Cant\": 0 },\r\n },\r\n \r\n tablasPorCategoria: {\r\n \"Climatización\": [],\r\n\r\n \"Electrónica, Audio y Video\": [],\r\n\r\n \"Cocina\": [],\r\n\r\n \"Línea Blanca\": [],\r\n\r\n \"Agua\": [],\r\n\r\n \"Iluminación\": [],\r\n\r\n \"Refrigeración\": [],\r\n\r\n \"Maquinaria\": [],\r\n \r\n \"Cuidado Personal\": [],\r\n }\r\n };\r\n\r\n const [valoresConsumoState, setValoresConsumoState] = useState(obj);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport default Provider\r\nexport const AppContext = createContext();","export default __webpack_public_path__ + \"static/media/logo-dpec-01.43be18da.svg\";","import React from 'react';\r\n\r\nimport logo from \"../images/logo-dpec-01.svg\";\r\n\r\nconst Banner = () => {\r\n\r\n // Mantener comentado hasta que requieran lo contrario\r\n // function handleClose() {\r\n // window.close();\r\n // }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {\"logo\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* Mantener comentado hasta que requieran lo contrario */}\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 Banner\r\n","import React, { useContext/*, useState*/ } from \"react\";\r\nimport { AppContext } from \"../Provider/Provider\";\r\n\r\n\r\nconst CategoriaCard = ({ name, getCateName, currentCateName }) => {\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n\r\n var localkWh1 = 0;\r\n var localkWh2\r\n var localCant = 0;\r\n\r\n \r\n localkWh1 = valoresConsumoState[\"ValoresCategoriaCard\"][name].kWh;\r\n \r\n localkWh2 = localkWh1.toFixed(2); // Lo muestra con 2 decimales\r\n \r\n localCant = valoresConsumoState[\"ValoresCategoriaCard\"][name].Cant;\r\n \r\n \r\n function handleOnclick() {\r\n getCateName(name);\r\n }\r\n \r\n\r\n return (\r\n <> {name.localeCompare(currentCateName) == 0 \r\n ? handleOnclick()}\r\n >\r\n
\r\n {name.localeCompare(\"Electrónica, Audio y Video\") == 0\r\n ?
\r\n \r\n

\r\n Elect. Audio y Video\r\n

\r\n
\r\n :

\r\n {name}\r\n

\r\n }\r\n

\r\n {localkWh2} kWh\r\n

\r\n

\r\n {localCant} Electrodomésticos\r\n

\r\n
\r\n \r\n :
handleOnclick()}\r\n >\r\n
\r\n {name.localeCompare(\"Electrónica, Audio y Video\") == 0\r\n ?
\r\n \r\n

\r\n Elect. Audio y Video\r\n

\r\n
\r\n :

\r\n {name}\r\n

\r\n }\r\n

\r\n {localkWh2} kWh\r\n

\r\n

\r\n {localCant} Electrodomésticos\r\n

\r\n
\r\n
\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default CategoriaCard","import React, { useState, Fragment, useEffect } from \"react\";\r\n\r\nimport { Listbox, Transition } from \"@headlessui/react\";\r\nimport { CheckIcon, SelectorIcon } from \"@heroicons/react/solid\";\r\n\r\nconst Dropdown = ({ handleItem, items, handleClear, clearItem, disabled }) => {\r\n\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n \r\n function handleChange(item) {\r\n setSelectedItem(item); //Envía el valor para mostrarlo en Dropdown\r\n handleItem(item); //Envía el valor para manejarlo en componente padre \r\n handleClear(false);\r\n }\r\n\r\n useEffect(() => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [])\r\n \r\n return (\r\n \r\n {!disabled \r\n ?
\r\n \r\n \r\n {clearItem ? \"\" : selectedItem.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items.map((item) => (\r\n \r\n `${active ? \"text-green-800 hover:bg-green-100\" : \"text-gray-800\"}\r\n cursor-default select-none relative py-2 pl-10 pr-4`\r\n }\r\n value={ item }\r\n >\r\n {({ selected, active }) => (\r\n <>\r\n \r\n {item.name}\r\n \r\n {(!clearItem && selected) \r\n ? (\r\n \r\n \r\n ) : null\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 Dropdown\r\n","import React from 'react'\r\nimport { useState, useEffect, useContext, useImperativeHandle, forwardRef } from 'react';\r\n\r\nimport { AppContext } from '../Provider/Provider';\r\n\r\nimport { TrashIcon } from \"@heroicons/react/solid\";\r\n\r\nconst Tabla = forwardRef(({ name, tupla, returnTotalkWhCategoria }, ref) => {\r\n\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n \r\n const [tuplaFlag, setTuplaFlag] = useState({});\r\n\r\n const [arrayOfElements, setArrayOfElements] = useState([]);\r\n\r\n const [currentName, setCurrentName] = useState(\"\");\r\n\r\n\r\n if(currentName === \"\") {\r\n setCurrentName(name);\r\n } else if(currentName !== name) {\r\n\r\n let anArray = valoresConsumoState.tablasPorCategoria[currentName];\r\n\r\n setArrayOfElements(anArray);\r\n\r\n setCurrentName(name);\r\n }\r\n\r\n\r\n useImperativeHandle(\r\n ref,\r\n () => ({\r\n clearArrayOfElements(){\r\n clearArrayOfElementsChild();\r\n }\r\n }),\r\n )\r\n\r\n \r\n const verifyTupla = () => {\r\n if (typeof tupla !== \"undefined\") {\r\n if (\r\n tupla.electrodomestico !== undefined &&\r\n tupla.cantidad !== undefined &&\r\n tupla.usoDiario !== undefined &&\r\n tupla.kWh !== undefined &&\r\n !isNaN(tupla.kWh) &&\r\n tupla.consumoBimestral !== undefined &&\r\n !isNaN(tupla.consumoBimestral)\r\n ) {\r\n if (JSON.stringify(tupla) !== JSON.stringify(tuplaFlag)) {\r\n addToArrayOfElements();\r\n }\r\n setTuplaFlag(tupla);\r\n }\r\n }\r\n };\r\n\r\n\r\n const addToArrayOfElements = () => {\r\n var localValores = Object.create(valoresConsumoState);\r\n \r\n let anArray = arrayOfElements;\r\n let currentValue = 0;\r\n let sumValue = localValores.ValoresCategoriaCard[name].kWh;\r\n let cantE = localValores.ValoresCategoriaCard[name].Cant;\r\n let digitos = 2;\r\n\r\n anArray.push(tupla);\r\n setArrayOfElements(anArray);\r\n\r\n currentValue = tupla.consumoBimestral; //valor de consumo del item\r\n \r\n cantE++;\r\n \r\n localValores.ValoresCategoriaCard[name].kWh = sumValue + currentValue;\r\n localValores.ValoresCategoriaCard[name].Cant = cantE;\r\n\r\n localValores.TotalkWhBim += currentValue;\r\n \r\n /** Valor para el Medidor */\r\n localValores.TotalkWhBim = Math.trunc(\r\n localValores.TotalkWhBim * Math.pow(10, digitos)\r\n ) / Math.pow(10, digitos); //Valor para el Medidor\r\n\r\n /** Valor para mostrar en la card de la categoría */ \r\n handleTotalkWhCategoria(localValores.ValoresCategoriaCard[name].kWh);\r\n\r\n setValoresConsumoState(localValores);\r\n };\r\n\r\n\r\n const subtractFromArrayOfElements = (index) => {\r\n var localValores = Object.create(valoresConsumoState);\r\n \r\n let anArray = arrayOfElements;\r\n let sumValue = localValores.ValoresCategoriaCard[name].kWh;\r\n let itemResta = 0;\r\n let cantE = localValores.ValoresCategoriaCard[name].Cant;\r\n let valorMedidor = valoresConsumoState.TotalkWhBim;\r\n let digitos = 2;\r\n\r\n itemResta = arrayOfElements[index].consumoBimestral; //resta el valor del item\r\n \r\n cantE--;\r\n \r\n localValores.ValoresCategoriaCard[name].kWh = sumValue - itemResta;\r\n localValores.ValoresCategoriaCard[name].Cant = cantE;\r\n \r\n valorMedidor -= itemResta; \r\n\r\n /** Valor para el Medidor */\r\n localValores.TotalkWhBim = Math.trunc(valorMedidor * Math.pow(10, digitos)) / Math.pow(10, digitos); \r\n\r\n /** Valor para mostrar en la card de la categoría */ \r\n handleTotalkWhCategoria( localValores.ValoresCategoriaCard[name].kWh); \r\n \r\n setValoresConsumoState(localValores);\r\n\r\n anArray.splice(index, 1);\r\n setArrayOfElements(anArray);\r\n };\r\n\r\n\r\n const clearArrayOfElementsChild = () => {\r\n var localValores = Object.create(valoresConsumoState);\r\n \r\n let anArray = [];\r\n let clear = 0;\r\n let sumValue = localValores.ValoresCategoriaCard[name].kWh;\r\n let digitos = 2;\r\n\r\n localValores.TotalkWhBim = Math.trunc(\r\n (localValores.TotalkWhBim -= sumValue) * Math.pow(10, digitos)\r\n ) / Math.pow(10, digitos); // Valor para el Medidor\r\n\r\n localValores.ValoresCategoriaCard[name].kWh = clear;\r\n localValores.ValoresCategoriaCard[name].Cant = clear;\r\n valoresConsumoState.tablasPorCategoria[name] = [];\r\n \r\n setArrayOfElements(anArray);\r\n\r\n handleTotalkWhCategoria(clear);\r\n\r\n setValoresConsumoState(localValores);\r\n };\r\n\r\n\r\n const handleTotalkWhCategoria = (s) => {\r\n returnTotalkWhCategoria(s);\r\n };\r\n\r\n const renderHeader = () => {\r\n \r\n let headerElement = [\r\n \"electrodoméstico\",\r\n \"cantidad\",\r\n \"kWh\",\r\n \"uso diario\",\r\n \"consumo bimestral\",\r\n \"\"\r\n ];\r\n\r\n return headerElement.map((key, index) => {\r\n return (\r\n \r\n {key.toUpperCase()}\r\n \r\n );\r\n });\r\n };\r\n\r\n\r\n const renderBody = () => {\r\n return (\r\n arrayOfElements &&\r\n arrayOfElements.map(\r\n (\r\n { electrodomestico, cantidad, kWh, usoDiario, consumoBimestral },\r\n index\r\n ) => {\r\n return (\r\n \r\n \r\n {electrodomestico}\r\n \r\n \r\n {cantidad}\r\n \r\n \r\n {kWh}\r\n \r\n \r\n {usoDiario}\r\n \r\n \r\n {consumoBimestral} kWh\r\n \r\n \r\n subtractFromArrayOfElements(index)}\r\n className={\"h-4 w-4 text-gray-500 | hover:text-red-500 | focus:outline-none\"}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n )\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n verifyTupla();\r\n\r\n setArrayOfElements(valoresConsumoState.tablasPorCategoria[name]);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [renderBody()]);\r\n\r\n return (\r\n <>\r\n {arrayOfElements.length === 0 || name !== currentName ? (\r\n \r\n Aquí verá los datos\r\n \r\n ) : (\r\n \r\n \r\n {renderHeader()}\r\n \r\n \r\n {renderBody()}\r\n \r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nexport default Tabla\r\n","import { React, useState, useContext, useRef } from \"react\";\r\n\r\nimport { TrashIcon } from \"@heroicons/react/solid\";\r\n\r\nimport { AppContext } from '../Provider/Provider';\r\n\r\nimport Dropdown from './DropdownComponent';\r\nimport Tabla from './TablaComponent';\r\n\r\nconst InputCard = ({ nombreCategoria, electrodomesticos, cantidad, usoDiario }) => {\r\n\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n\r\n const [electrodomesticoState, setElectrodomesticoState] = useState({});\r\n const [cantidadState, setCantidadState] = useState({});\r\n const [usoDiarioState, setUsoDiarioState] = useState({});\r\n const [inputDataState, setInputDataState] = useState([]);\r\n\r\n const [electroDropdownIsEmpty, setElectroDropdownIsEmpty] = useState(true);\r\n const [cantidadDropdownIsEmpty, setCantidadDropdownIsEmpty] = useState(true);\r\n const [usoDiarioDropdownIsEmpty, setUsoDiarioDropdownIsEmpty] = useState(true);\r\n \r\n /** Para limpiar los dropdowns */\r\n const [clearElectro, setClearElectro] = useState(false);\r\n const [clearCantidad, setClearCantidad] = useState(false);\r\n const [clearUsoDiario, setClearUsoDiario] = useState(false);\r\n \r\n\r\n const tablaRef = useRef();\r\n \r\n /** Obtiene los datos de los dropdowns */\r\n function handleElectrodomestico(item) {\r\n var localObj = valoresConsumoState;\r\n // Deshabilita el uso diario para los termotanques o heladeras\r\n if(item.name.includes(\"Termotanque\") || item.name.includes(\"Heladera\"))\r\n { \r\n localObj.disableDropdown = true;\r\n setUsoDiarioDropdownIsEmpty(false);\r\n }\r\n else\r\n localObj.disableDropdown = false;\r\n\r\n setValoresConsumoState(localObj);\r\n setElectrodomesticoState(item);\r\n setElectroDropdownIsEmpty(false);\r\n \r\n }\r\n\r\n function handleCantidad(item) {\r\n setCantidadState(item);\r\n setCantidadDropdownIsEmpty(false);\r\n }\r\n\r\n function handleUsoDiario(item) {\r\n setUsoDiarioState(item);\r\n setUsoDiarioDropdownIsEmpty(false);\r\n }\r\n /** ---------------------------------- */\r\n\r\n /** ------ Limpia los dropdowns ------ */\r\n function handleClearElectro(clearItem) {\r\n setClearElectro(clearItem);\r\n }\r\n function handleClearCantidad(clearItem) {\r\n setClearCantidad(clearItem);\r\n }\r\n function handleClearUsoDiario(clearItem) {\r\n setClearUsoDiario(clearItem);\r\n }\r\n /** ---------------------------------- */\r\n\r\n if (valoresConsumoState.clearDropdown) {\r\n enableClear();\r\n\r\n let localObj = valoresConsumoState;\r\n \r\n localObj.clearDropdown = false;\r\n setValoresConsumoState(localObj);\r\n }\r\n\r\n\r\n function handleInputDataOnClick() {\r\n if (!electroDropdownIsEmpty \r\n && !cantidadDropdownIsEmpty\r\n && !usoDiarioDropdownIsEmpty\r\n ) \r\n {\r\n var valorUsoDiario = 0;\r\n var nombreUsoDiario = \"\";\r\n if(electrodomesticoState.name.includes(\"Termotanque\")){\r\n valorUsoDiario = 2.5;\r\n nombreUsoDiario = valorUsoDiario + \" hs.\";\r\n }\r\n else if(electrodomesticoState.name.includes(\"Heladera\")){\r\n valorUsoDiario = 24;\r\n nombreUsoDiario = valorUsoDiario + \" hs.\";\r\n }\r\n else{ \r\n valorUsoDiario = usoDiarioState.value;\r\n nombreUsoDiario = usoDiarioState.name;\r\n }\r\n\r\n let digitos = 2;\r\n \r\n var calcKWH =\r\n cantidadState.name *\r\n (electrodomesticoState.W / 1000) *\r\n valorUsoDiario;\r\n \r\n var calcBim = calcKWH * 60;\r\n \r\n calcKWH =\r\n Math.trunc(calcKWH * Math.pow(10, digitos)) / Math.pow(10, digitos);\r\n calcBim =\r\n Math.trunc(calcBim * Math.pow(10, digitos)) / Math.pow(10, digitos);\r\n \r\n let inputData = {\r\n electrodomestico: electrodomesticoState.name,\r\n cantidad: cantidadState.name,\r\n kWh: calcKWH,\r\n usoDiario: nombreUsoDiario,\r\n consumoBimestral: calcBim,\r\n };\r\n\r\n setInputDataState(inputData);\r\n\r\n handleTotalkWhCategoria();\r\n \r\n disableButton();\r\n\r\n enableClear();\r\n }\r\n }\r\n\r\n function disableButton() {\r\n setElectroDropdownIsEmpty(true);\r\n setCantidadDropdownIsEmpty(true);\r\n setUsoDiarioDropdownIsEmpty(true);\r\n }\r\n\r\n function enableClear() {\r\n var localObj = valoresConsumoState;\r\n localObj.disableDropdown = false;\r\n \r\n setClearElectro(true);\r\n setClearCantidad(true);\r\n setClearUsoDiario(true);\r\n \r\n setValoresConsumoState(localObj);\r\n\r\n }\r\n\r\n\r\n function handleTotalkWhCategoria(tableData) {\r\n \r\n if (typeof tableData !== \"undefined\" && typeof nombreCategoria !== \"undefined\") {\r\n let localObj = valoresConsumoState;\r\n let digitos = 2;\r\n localObj.ValoresCategoriaCard[nombreCategoria].kWh = tableData;\r\n localObj.TotalkWhBim = tableData; //poner la suma total. \r\n localObj.TotalkWhBim = Math.trunc(localObj.TotalkWhBim * Math.pow(10, digitos)) / Math.pow(10, digitos);\r\n setValoresConsumoState(localObj);\r\n }\r\n }\r\n\r\n function handleDeleteTableOnClick(){\r\n /** Acá se llama a la función de TablaComponent */\r\n tablaRef.current.clearArrayOfElements();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

{nombreCategoria}

\r\n
\r\n Electrodomésticos\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n Cantidad\r\n
\r\n \r\n
\r\n
\r\n
\r\n Uso Diario\r\n
\r\n \r\n
\r\n
\r\n \r\n AGREGAR\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 InputCard\r\n","import React, { useContext } from 'react';\r\nimport { AppContext } from \"../../Provider/Provider\";\r\n\r\nimport './MedidorComponent.css';\r\n\r\n// Ir sumando los kWh mediante se clickee en el botón confirmar\r\nconst Medidor = () => {\r\n\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n\r\n // Cálculo para la equivalencia: (grados * valor recibido)/tope;\r\n\r\n var totalkWhBim = valoresConsumoState.TotalkWhBim;\r\n\r\n /**\r\n * Los topes son por colores porque la aguja se comporta de manera distinta\r\n * en los distintos rangos\r\n */\r\n var greenTop = 600;\r\n var yelowTop = 866;\r\n var orangeTop = 1132;\r\n var tangerineTop = 1400;\r\n var redTop = 2000; \r\n\r\n // Valores en grados\r\n var base = 0;\r\n var green = 35;\r\n var yelow = 71;\r\n var orange = 110;\r\n var tangerine = 146;\r\n var red = 180;\r\n \r\n var value = 0;\r\n\r\n if (totalkWhBim > base && totalkWhBim <= greenTop)\r\n value = (green * totalkWhBim) / greenTop;\r\n else if (totalkWhBim > greenTop && totalkWhBim <= yelowTop)\r\n value = (yelow * totalkWhBim) / yelowTop;\r\n else if (totalkWhBim > yelowTop && totalkWhBim <= orangeTop)\r\n value = (orange * totalkWhBim) / orangeTop;\r\n else if (totalkWhBim > orangeTop && totalkWhBim <= tangerineTop)\r\n value = (tangerine * totalkWhBim) / tangerineTop;\r\n else if (totalkWhBim > tangerineTop && totalkWhBim <= redTop)\r\n value = (red * totalkWhBim) / redTop;\r\n else if (totalkWhBim > redTop)\r\n value = red;\r\n\r\n\r\n // Mueve la aguja\r\n var needle = {\r\n transform: 'rotate('+value+'deg)',\r\n transition: '2s',\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
\r\n
\r\n
\r\n
\r\n
{totalkWhBim} kWh
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Medidor\r\n","import React, { useState, useContext, useEffect, useRef } from \"react\";\r\nimport { AppContext } from \"../Provider/Provider\";\r\n\r\nimport CategoriaCard from './CategoriaCardComponent';\r\nimport InputCard from './InputCardComponent';\r\nimport Medidor from './Medidor/MedidorComponent';\r\n\r\nconst Inputs = ({ onClick, data }) => {\r\n const [arrayCategorias, setArrayCategorias] = useState([]);\r\n\r\n // Nombre Categoria desde categoriaCard onClick\r\n const [cateNamefromCard, setCateNamefromCard] = useState(\"Climatización\");\r\n\r\n const [arrayElectrodomesticos, setArrayElectrodomesticos] = useState([]);\r\n\r\n const [arrayCantidad, setArrayCantidad] = useState([]);\r\n\r\n const [arrayUsoDiario, setArrayUsoDiario] = useState([]);\r\n\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n\r\n const scrollableI = useRef();\r\n\r\n if (data !== undefined && data.length !== 0) {\r\n\r\n if (Object.keys(arrayCategorias).length === 0) {\r\n setArrayCategorias(data[\"Categorías\"]);\r\n\r\n // Setea los electrodomesticos para la categoría recibida\r\n setArrayElectrodomesticos(data[\"Categorías\"][cateNamefromCard]);\r\n }\r\n\r\n if (Object.keys(arrayCantidad).length === 0) {\r\n setArrayCantidad(data[\"Cantidad\"]);\r\n }\r\n\r\n if (Object.keys(arrayUsoDiario).length === 0) {\r\n setArrayUsoDiario(data[\"Uso Diario\"]);\r\n }\r\n }\r\n\r\n var cat = [];\r\n if (arrayCategorias !== undefined) {\r\n // Obtiene los nombres de la categorías para mostrarlos en CategoriaCard\r\n cat = Object.keys(arrayCategorias); \r\n }\r\n\r\n\r\n function enableButton() {\r\n if(valoresConsumoState.TotalkWhBim == 0)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n\r\n function handleClick(event) {\r\n onClick(event.target.verResultados);\r\n let localObj = valoresConsumoState;\r\n localObj.disableDropdown = false;\r\n setValoresConsumoState(localObj);\r\n\r\n }\r\n\r\n \r\n function saveNameOnClick(item) {\r\n let localObj = valoresConsumoState;\r\n \r\n setCateNamefromCard(item);\r\n setArrayElectrodomesticos(data[\"Categorías\"][item]);\r\n\r\n localObj.clearDropdown = true;\r\n \r\n localObj.disableDropdown = false;\r\n setValoresConsumoState(localObj);\r\n\r\n }\r\n\r\n const scrollToElement = () => scrollableI.current.scrollIntoView();\r\n \r\n useEffect(() => {\r\n scrollToElement();\r\n \r\n },[]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n 1\r\n \r\n \r\n Seleccioná dentro de cada categoría los electrodomésticos que utilizás, indicando cantidad y horas de uso diario.\r\n \r\n
\r\n
\r\n
\r\n
\r\n {cat.map((cate, index) => (\r\n
\r\n saveNameOnClick(itemName)}\r\n currentCateName={cateNamefromCard}\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 2\r\n \r\n \r\n Presioná el botón para ver cómo se compone tu consumo y descubrí consejos para ahorrar en tu factura.\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n VER TUS RESULTADOS\r\n \r\n
\r\n
\r\n
\r\n
\r\n CONSUMO BIMESTRAL ESTIMADO:\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Inputs\r\n","import React, { useContext } from \"react\";\r\nimport { AppContext } from \"../Provider/Provider\";\r\n\r\nconst BarraConsumo = ({ name }) => {\r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n\r\n\r\n let porcentaje = 0;\r\n let valorKWHxCat = valoresConsumoState.ValoresCategoriaCard[name].kWh; // valor de kwh de cada categoria \r\n \r\n let valorTotalKWH = valoresConsumoState.TotalkWhBim; // Valor total de kwh bimestral (100%)\r\n let tempRes = (valorKWHxCat/valorTotalKWH)*100;\r\n \r\n porcentaje = Math.round(tempRes);\r\n\r\n /** se usa para la barra de porcentaje */\r\n let porcentajeParaMostrar = porcentaje + '%';\r\n\r\n return (\r\n
\r\n {name}\r\n
\r\n
\r\n {tempRes} %\r\n
\r\n \r\n {porcentajeParaMostrar}\r\n \r\n );\r\n};\r\n\r\nexport default BarraConsumo;\r\n","import React from 'react'\r\n\r\nconst ConsejosCard = ({mostrarConsejos}) => {\r\n var currentCat = \"Climatización\";\r\n if(typeof mostrarConsejos !== \"undefined\"){\r\n currentCat = mostrarConsejos;\r\n }\r\n\r\n /** \r\n * Artefactos en General \r\n */ \r\n let artefactoDetalle = \r\n

\r\n El consumo de energía está asociado con el tiempo de funcionamiento del equipo, por eso la clave es usar sólo lo necesario.\r\n

\r\n let heladera = \r\n
    \r\n
  • Mantener la parte trasera limpia y ventilada.
  • \r\n
  • Ubicarla lejos de los focos de calor y a 15 cm de la pared.
  • \r\n
  • Verificar los burletes de la puerta.
  • \r\n
  • No introducir comidas calientes.
  • \r\n
  • No abrir la puerta inútilmente o por tiempos prolongados.
  • \r\n
  • Descongelarla periódicamente.
  • \r\n
; \r\n let lavarropas =\r\n
    \r\n
  • Procurar siempre lavar con agua fría.
  • \r\n
  • Utilizar siempre su capacidad máxima (al igual que en los secarropas).
  • \r\n
;\r\n \r\n let calefones = \r\n
    \r\n
  • Ajustar el termostato para obtener una temperatura ligeramente superior a los 40°C.
  • \r\n
  • No prolongar inútilmente el tiempo de las duchas.
  • \r\n
;\r\n let plancha = \r\n
    \r\n
  • Mantener la superficie de la plancha limpia.
  • \r\n
  • Acumular ropa y no planchar prendas por separado.
  • \r\n
  • Desenchufarla antes de terminar y utilizar el calor remanente.
  • \r\n
\r\n let teleAudioCompus = \r\n
    \r\n
  • Apagarlos mientras no se utilizan.
  • \r\n
  • No dejarlos en “stand by”.
  • \r\n
  • Configurar la opción de ahorro para el monitor.
  • \r\n
\r\n\r\n /** \r\n * Usuarios Responsables\r\n */\r\n let usuariosResponsablesDetalle = \r\n

\r\n El aporte de los usuarios es fundamental para el uso eficiente y racional de la energía eléctrica. Con la ayuda y colaboración de cada uno, los beneficios son para todos. Por eso los invitamos a:\r\n

;\r\n let usuariosResponsablesItems = \r\n
    \r\n
  • Verificar la instalación eléctrica de la vivienda para evitar pérdidas.
  • \r\n
  • Apagar las luces de los ambientes que no se usan.
  • \r\n
  • Aprovechar la luz natural y elegir colores claros para paredes y techos.
  • \r\n
  • Usar lámparas de bajo consumo.
  • \r\n
  • Apagar los electrodomésticos mientras no se utilizan.
  • \r\n
  • Desenchufar el cargador del celular.
  • \r\n
  • Elegir los de bajo consumo eléctrico, a la hora de comprar nuevos electrodomésticos.
  • \r\n
;\r\n\r\n /** \r\n * Iluminación Eficiente \r\n */\r\n let iluminacionDetalle1 = \r\n
    \r\n
  • Es aquella que ilumina con el menor consumo de energía posible.
  • \r\n
  • El uso de lámparas fluorescentes compactas, comúnmente llamadas “lámparas de bajo consumo”, es el mejor medio para lograr una iluminación eficiente.
  • \r\n
  • Estas lámparas tienen una potencia de entre 7 y 23 watts, para que tengan el flujo luminoso equivalente a las incandescentes de 25 a 100 w.
  • \r\n
\r\n let iluminacionDetalle2 = \r\n

Beneficios de las lámparas fluorescentes compactas:

;\r\n let iluminacionItems = \r\n
    \r\n
  • Consumen entre 75 y 80% menos que las comunes, aún brindando la misma luz.
  • \r\n
  • Duran 6 veces más que las lámparas comunes.
  • \r\n
  • Habitualmente, son un poco más caras que las comunes, pero el ahorro compensa el gasto adicional.
  • \r\n
  • Preservan el medio ambiente, usando cuidadosamente las reservas naturales disponibles.
  • \r\n
\r\n\r\n /** \r\n * Aire Acondicionado \r\n */\r\n let aireAcondicionadoDetalle = \r\n

\r\n El acondicionador de aire depende casi exclusivamente de la electricidad y su uso racional implica, por ende, un ahorro importante de energía.\r\n

;\r\n let aireAcondicionadoRecomendaciones = \r\n
    \r\n
  • No enfriar en exceso. Una temperatura de 24°C en verano en el interior de la vivienda brinda una suficiente sensación de bienestar. Por cada grado de temperatura por debajo de los 24°C el acondicionador consumirá aproximadamente un 5% más de energía.
  • \r\n
  • Instalar persianas y cortinas que impiden las radiaciones directas del sol y, por lo tanto, disminuyen la necesidad de refrigerar.
  • \r\n
  • Desconectar el acondicionador cuando no haya nadie en la vivienda o habitación que se está refrigerando.
  • \r\n
  • Revisar periódicamente el artefacto para comprobar si existen fugas de gas Freón (el fluido refrigerante). El escape de este gas impide el buen funcionamiento del equipo y daña el medio ambiente.
  • \r\n
  • Realizar la limpieza del filtro que atrapa la polución ambiente para mejorar el rendimiento del equipo.
  • \r\n
;\r\n\r\n /** \r\n * Calefacción\r\n */\r\n let calefaccionDetalle = \r\n

\r\n Cualquiera sea el tipo de calefacción que se utilice, las medidas para reducir el consumo energético se agrupan alrededor de tres ideas:\r\n

\r\n let calefaccionAislamiento = \r\n

Una parte del calor escapa de las viviendas por las paredes, puertas, ventanas, caja de las persianas, etc. Para evitarlo se recomienda:\r\n

    \r\n
  • Instalar algún tipo de aislamiento térmico en paredes y techo, por ejemplo, paneles de telgopor.
  • \r\n
  • Instalar burletes adhesivos en los cierres de puertas exteriores y ventanas, cerrando así las rendijas
  • \r\n
\r\n

;\r\n let calefaccionTemperatura = \r\n

En condiciones normales, la temperatura exterior con la que el cuerpo humano encuentra la sensación de bienestar es ligeramente inferior a los 20° C. Por ello:\r\n

    \r\n
  • Intentar mantener la temperatura en el hogar alrededor de los 20° C.
  • \r\n
  • No usar la calefacción para mantener un ambiente exactamente opuesto al que impone la estación del año: estar desabrigado dentro de la casa en invierno es perjudicial para la salud y representa un consumo innecesario de energía.
  • \r\n
\r\n

;\r\n let calefaccionBuenasCostumbres = \r\n
    \r\n
  • Los calentadores eléctricos tienen un consumo energético mucho mayor.
  • \r\n
  • Apagar la calefacción por la noche.
  • \r\n
  • Ventilar la casa y cerrar las ventanas antes de encender la calefacción.
  • \r\n
\r\n\r\n switch (currentCat) {\r\n case \"Climatización\": \r\n return
\r\n

Climatización

\r\n {aireAcondicionadoDetalle}\r\n
\r\n {aireAcondicionadoRecomendaciones}\r\n
\r\n {/* {calefaccionDetalle}\r\n
*/}\r\n {/* {calefaccionAislamiento}\r\n
*/}\r\n {/* {calefaccionTemperatura}\r\n
*/}\r\n {calefaccionBuenasCostumbres}\r\n
\r\n
\r\n case \"Cocina\": \r\n return
\r\n

Cocina

\r\n {usuariosResponsablesDetalle}\r\n
\r\n {usuariosResponsablesItems}\r\n
\r\n
\r\n case \"Agua\":\r\n return
\r\n

Agua

\r\n {artefactoDetalle}\r\n
\r\n {calefones}\r\n
\r\n
\r\n case \"Refrigeración\":\r\n return
\r\n

Refrigeración

\r\n {artefactoDetalle}\r\n
\r\n {heladera}\r\n
\r\n
\r\n case \"Cuidado Personal\":\r\n return
\r\n

Cuidado Personal

\r\n {artefactoDetalle}\r\n
\r\n
\r\n case \"Electrónica, Audio y Video\":\r\n return
\r\n

Electrónica, Audio y Video

\r\n {artefactoDetalle}\r\n
\r\n {teleAudioCompus}\r\n
\r\n
\r\n case \"Línea Blanca\":\r\n return
\r\n

Línea Blanca

\r\n {artefactoDetalle}\r\n
\r\n {lavarropas}\r\n
\r\n {plancha}\r\n
\r\n
\r\n case \"Iluminación\":\r\n return
\r\n

Iluminación

\r\n

Iluminación Eficiente

\r\n {iluminacionDetalle1}\r\n
\r\n {iluminacionDetalle2}\r\n
\r\n {iluminacionItems}\r\n
\r\n
\r\n case \"Maquinaria\":\r\n return
\r\n

Maquinaria

\r\n {usuariosResponsablesDetalle}\r\n
\r\n {usuariosResponsablesItems}\r\n
\r\n
\r\n default: \r\n return
\r\n

\r\n No hay consejos para mostrar\r\n

\r\n
\r\n }\r\n}\r\n\r\nexport default ConsejosCard\r\n","import React, { useState, useContext, useEffect, useRef } from \"react\";\r\n\r\nimport { AppContext } from \"../Provider/Provider\";\r\n\r\nimport Medidor from './Medidor/MedidorComponent';\r\nimport BarraConsumo from './BarraConsumoComponent';\r\nimport ConsejosCard from './ConsejosCardComponent';\r\n\r\n\r\nconst Resultados = ({ onClick }) => {\r\n\r\n \r\n const [valoresConsumoState, setValoresConsumoState] = useContext(AppContext);\r\n \r\n const [arrayCategorias] = useState(valoresConsumoState.ValoresCategoriaCard);\r\n \r\n const scrollable = useRef();\r\n\r\n /** Para mostrar los nombres de las categorias en las barras de porcentaje */\r\n var cat = [];\r\n var mayor= 0;\r\n var mayorCat = \"\";\r\n\r\n /** \r\n * Inicialización de Valores (Residencial) \r\n * Actualizado al 04/08/2022\r\n */\r\n var cantidadkWh = 600; /** Para el precio de los primeros kWh y el excedente */\r\n var cuotaFijaPorSuministro = 1021.70; \r\n var primeroskWh = 10.14147; // kwh * primeroskWh\r\n var excedentekWh = 12.40287; // kwh * cuotaFijaPorSuministro\r\n var importeTotalSinImpuestos = 0; // cuotaFijaPorSuministro + primeroskWh + excedentekWh\r\n var alumbradoPublico = 698.83;\r\n var importeTotalEnConceptoDeGarantia = 0; //importeTotalSinImpuestos + alumbradoPublico\r\n var IVA = 0.21;\r\n var IVAConsumidorFinal = 0; //importeTotalSinImpuestos * IVA\r\n var totalAPagarEstimadoBimestral = 0; // importeTotalEnConceptoDeGarantia + IVAConsumidorFinal\r\n\r\n\r\n if (arrayCategorias !== undefined) {\r\n cat = Object.keys(arrayCategorias);\r\n } \r\n\r\n for (const consumo in arrayCategorias) {\r\n if(Math.trunc(\r\n (arrayCategorias[consumo].kWh/valoresConsumoState.TotalkWhBim)*100\r\n ) > mayor){\r\n mayor = (arrayCategorias[consumo].kWh/valoresConsumoState.TotalkWhBim)*100;\r\n mayorCat = consumo;\r\n }\r\n }\r\n\r\n if (valoresConsumoState.TotalkWhBim > cantidadkWh) {\r\n\r\n let tempImporte1 = cantidadkWh * primeroskWh;\r\n\r\n let tempImporte2 = Math.abs(valoresConsumoState.TotalkWhBim - cantidadkWh) * excedentekWh;\r\n\r\n importeTotalSinImpuestos = cuotaFijaPorSuministro + tempImporte1 + tempImporte2;\r\n } else {\r\n let tempImporte1 = valoresConsumoState.TotalkWhBim * primeroskWh;\r\n\r\n importeTotalSinImpuestos = cuotaFijaPorSuministro + tempImporte1;\r\n }\r\n\r\n importeTotalEnConceptoDeGarantia = importeTotalSinImpuestos + alumbradoPublico;\r\n\r\n IVAConsumidorFinal = importeTotalSinImpuestos * IVA;\r\n\r\n totalAPagarEstimadoBimestral = importeTotalEnConceptoDeGarantia + IVAConsumidorFinal;\r\n\r\n\r\n let localObj = valoresConsumoState;\r\n \r\n localObj.TotalImporteBim = Math.trunc(totalAPagarEstimadoBimestral * 100) / 100;\r\n setValoresConsumoState(localObj);\r\n\r\n\r\n function handleClick(event) {\r\n onClick(event.target.verResultados);\r\n }\r\n\r\n function prepareData(){\r\n \r\n var ValorEstimadoBimestral = valoresConsumoState.TotalImporteBim; \r\n var ConsumoEstimadoBimestral = valoresConsumoState.TotalkWhBim; \r\n var tempJSon = valoresConsumoState.tablasPorCategoria;\r\n var ItemsJSon = {};\r\n var ItemsHuman = \"\";\r\n var CantidadItems = 0;\r\n\r\n \r\n for (let i in tempJSon){\r\n CantidadItems += tempJSon[i].length;\r\n \r\n if(tempJSon[i].length > 0){\r\n ItemsJSon[i] = tempJSon[i];\r\n }\r\n }\r\n\r\n for (let i in ItemsJSon){\r\n ItemsHuman = ItemsHuman.concat(i, \": \\n\")\r\n for (let j in ItemsJSon[i]){\r\n /** Items en texto plano */\r\n ItemsHuman = ItemsHuman.concat(\"Cantidad: \", ItemsJSon[i][j].cantidad, \", \");\r\n ItemsHuman = ItemsHuman.concat(\"Consumo Bimestral: \", ItemsJSon[i][j].consumoBimestral, \", \");\r\n ItemsHuman = ItemsHuman.concat(\"Electrodomestico: \", ItemsJSon[i][j].electrodomestico, \", \");\r\n ItemsHuman = ItemsHuman.concat(\"kWh: \", ItemsJSon[i][j].kWh, \", \");\r\n ItemsHuman = ItemsHuman.concat(\"Uso Diario: \", ItemsJSon[i][j].usoDiario, \". \\n\");\r\n }\r\n }\r\n\r\n ItemsJSon = JSON.stringify(ItemsJSon);\r\n\r\n return {\r\n ValorEstimadoBimestral,\r\n ConsumoEstimadoBimestral,\r\n ItemsJSon,\r\n ItemsHuman,\r\n CantidadItems\r\n };\r\n }\r\n\r\n /**\r\n * Se deja sin uso por el momento\r\n */\r\n function handleClose() {\r\n\r\n var currentUrl = window.location.href; // URL Actual\r\n var fatherUrl = document.referrer; // Url de quien llama a Censo de Carga\r\n \r\n if(fatherUrl != \"\" && currentUrl != \"\" &&\r\n (fatherUrl.toLowerCase() == process.env.REACT_APP_FATHER_URL && currentUrl == process.env.REACT_APP_CURRENT_URL)\r\n ){ \r\n\r\n var dataCenso = prepareData();\r\n \r\n try {\r\n window.opener.datosCensoCargaFather(dataCenso);\r\n } catch (err) {\r\n console.error(err);\r\n } \r\n }\r\n window.close(); \r\n }\r\n\r\n const scrollToElement = () => scrollable.current.scrollIntoView();\r\n \r\n useEffect(() => {\r\n scrollToElement();\r\n \r\n },[]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n 3\r\n \r\n
\r\n

\r\n El resumen de tu simulación es el siguiente:\r\n

\r\n
\r\n \r\n {/* Mantener comentado hasta que requieran lo contrario */}\r\n {/*

\r\n IMPORTE BIMESTRAL ESTIMADO:\r\n

\r\n
\r\n ${totalAPagarEstimadoBimestral.toFixed(2)}\r\n
*/}\r\n

\r\n CONSUMO BIMESTRAL ESTIMADO:\r\n

\r\n
\r\n
\r\n {valoresConsumoState.TotalkWhBim} kWh\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Tu consumo se encuentra distribuido de la siguiente forma:\r\n

\r\n
\r\n {cat.map((cate, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n

\r\n CONSEJOS PARA MEJORAR TU CONSUMO\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n VOLVER\r\n \r\n {/* Mantener comentado hasta que requieran lo contrario */}\r\n \r\n {(window.location.href == process.env.REACT_APP_CURRENT_URL) ? 'CERRAR Y ENVIAR' : 'CERRAR'}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Resultados\r\n","import React from 'react'\r\nimport { useState } from 'react';\r\n\r\nimport Inputs from './InputsComponent';\r\nimport Resultados from './ResultadosComponent';\r\n\r\nconst InputAResultado = ({ closeModal, data }) => {\r\n \r\n const [verResultados, setVerResultados] = useState(false);\r\n\r\n // const [totales, setTotales] = useState(0)\r\n\r\n \r\n function showResultados(){\r\n setVerResultados(true);\r\n }\r\n\r\n\r\n function volver(){\r\n setVerResultados(false);\r\n }\r\n\r\n\r\n // function handleValores() {\r\n // setTotales()\r\n // }\r\n\r\n\r\n if (!verResultados) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n};\r\n\r\nexport default InputAResultado\r\n","import React from 'react'\r\n\r\nimport { useState, useEffect, Fragment } from \"react\";\r\nimport { Dialog, Transition } from \"@headlessui/react\";\r\n\r\nimport Banner from \"./BannerComponent\";\r\nimport InputAResultado from './InputAResultadoComponent';\r\n\r\n\r\nfunction MainModal() {\r\n const [ isOpen, setIsOpen ] = useState(true);\r\n \r\n const [ data, setData ] = useState([]);\r\n\r\n\r\n function closeModal() {\r\n /** Se comenta para que no se cierra el modal al \r\n * hacer click por fuera del mismo\r\n */\r\n // setIsOpen(false);\r\n }\r\n\r\n function openModal() {\r\n setIsOpen(true);\r\n }\r\n\r\n // Funcion para Data.json\r\n const getData = () => {\r\n fetch(\"./Data.json\", {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n })\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .then(function (myJson) {\r\n setData(myJson);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n getData();\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n {/*
\r\n \r\n Abrir Simulador\r\n \r\n
*/}\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n {/* This element is to trick the browser into centering the modal contents. */}\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 MainModal\r\n","import './App.css';\r\n\r\nimport {\r\n BrowserRouter as Router,\r\n Route,\r\n} from \"react-router-dom\";\r\n\r\nimport Provider from \"./Provider/Provider\";\r\n\r\nimport MainModal from \"./components/MainModalComponent\";\r\n\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render(\n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}