{"version":3,"sources":["components/fileDownload.js","appData.js","components/Layout/NavBar.js","components/Layout/Layout.js","components/HomeItem.js","pages/Home.js","pages/NotFound.js","api/uniApi.js","pages/HippoCalculator.js","components/UI/CardPage.js","components/UI/PageService.js","pages/Lightning.js","pages/Doorman.js","pages/Heating.js","pages/Security.js","pages/Shutters.js","pages/Watering.js","pages/RestServices.js","pages/AppStorePage.js","components/UI/CardHw.js","pages/PageHw.js","pages/PagePartner.js","pages/AdminPage.js","App.js","theme.js","store/data-slice.js","store/index.js","index.js"],"names":["module","exports","data","filename","contentType","JSON","stringify","undefined","blob","Blob","type","e","document","createEvent","a","createElement","download","href","window","URL","createObjectURL","dataset","downloadurl","join","initMouseEvent","dispatchEvent","console","error","appServicesList","id","nextRoute","mainText","description","paragraphs","details","imageUrl","iconName","serviceImage","flexContentPosition","detailsVisible","findService","servicePath","service","location","pathname","calcDataDefault","text","value","hasError","multiplier","inputMultiplier","priceServices","items","itemPrice","sale","hwData","name","pdfName","controller","price","di","do","ai","ao","dallas","imagePath","extension","NavBar","props","history","useHistory","React","useState","anchorEl","setAnchorEl","isMenuOpen","Boolean","handleMenuClose","menuItems","map","item","MenuItem","onClick","push","CardMedia","component","sx","width","height","marginRight","alt","image","renderMenu","Menu","anchorOrigin","vertical","horizontal","keepMounted","transformOrigin","open","onClose","Box","flexGrow","AppBar","position","Toolbar","justifyContent","flexDirection","display","style","cursor","Typography","variant","alignSelf","IconButton","size","edge","color","event","currentTarget","Layout","theme","useTheme","matches","useMediaQuery","breakpoints","up","Copyright","bgcolor","Container","maxWidth","disableGutters","padding","alignItems","ml","Link","align","pt","Date","getFullYear","children","HomeItem","itemGrid","Grid","container","spacing","pb","itemData","p","xs","md","pl","backgroundImage","backgroundPosition","backgroundSize","pr","backgroundColor","opacity","borderRadius","mt","mb","fontWeight","Home","content","useEffect","ReactGA","send","hitType","page","page_title","backgroundRepeat","justifyItems","Button","m","NotFound","instance","axios","create","baseURL","HippoCalculator","defaultResult","visible","totalItems","hwTotal","serviceTotal","total","calcData","setCalcData","showResult","setShowResult","setOpen","handleClose","email","setEmail","emailValid","setEmailValid","pdfGenerating","setPdfGenerating","userHwConfig","setUserHwConfig","top","left","transform","border","boxShadow","modalCmp","Modal","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","in","TextField","InputProps","inputProps","min","hiddenLabel","onChange","isValid","RegExp","test","target","Stack","direction","LoadingButton","loading","disabled","getPdf","getTime","gridContent","sm","tmpData","cdata","isNaN","valueAsNumber","priceCheckoutContent","paddingLeft","addHwType","arr","addNew","itemCounter","calcItems","res","calcPriceHandler","inputs","outputs","pwmCount","dallasCount","calcHw","parseInt","loopCounter","values","i","Math","floor","s","resObj","uniApi","post","category","action","label","pdfData","responseType","headers","headerName","namePos","indexOf","substring","slice","length","status","downloadBlobAsFile","mr","Card","marginTop","CardPage","margin","marginBottom","fixedHeight","CardContent","PageService","pageData","header","isLandscape","Lightning","useLocation","Doorman","Heating","Security","Shutters","Watering","RestServices","filter","AppStorePage","WebkitFilter","transition","gutterBottom","underline","CardHw","PageHw","contentController","el","xl","contentExtensions","contentSensors","rel","PagePartners","AdminPage","App","path","exact","now","PagePartner","initialize","createTheme","palette","primary","main","secondary","red","A400","gray","background","default","responsiveFontSizes","dataSlice","createSlice","initialState","priceOfffers","reducers","setData","state","payload","clearAllData","actions","store","configureStore","reducer","ReactDOM","render","ThemeProvider","CssBaseline","querySelector"],"mappings":"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","file":"static/js/main.792e528f.chunk.js","sourcesContent":["const downloadBlobAsFile = function (data, filename, contentType) {\n if (!contentType) {\n contentType = \"application/octetstream\";\n }\n if (!data) {\n console.error(\" No data\");\n return;\n }\n\n if (!filename) filename = \"filetodonwload.txt\";\n\n if (typeof data === \"object\" && contentType === \"application/octetstream\") {\n data = JSON.stringify(data, undefined, 4);\n }\n\n var blob = new Blob([data], { type: contentType }),\n e = document.createEvent(\"MouseEvents\"),\n a = document.createElement(\"a\");\n\n a.download = filename;\n a.href = window.URL.createObjectURL(blob);\n a.dataset.downloadurl = [contentType, a.download, a.href].join(\":\");\n e.initMouseEvent(\n \"click\",\n true,\n false,\n window,\n 0,\n 0,\n 0,\n 0,\n 0,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n a.dispatchEvent(e);\n};\n\nmodule.exports = downloadBlobAsFile;\n","export const appServicesList = [\n {\n id: \"hw\",\n nextRoute: \"/pageHw\",\n mainText: \"Hardvérové vybavenie\",\n description:\n \"Prístup do Vašeho domova máte pod kontrolou v jednom prehľadnom okne aplikácie\",\n paragraphs: [\n {\n mainText: \"Prvotriedny hardvér\",\n details: \"\",\n },\n {\n mainText: \"Oskúšaný v priemysle\",\n details: \"\",\n },\n {\n mainText: \"Vývoj a výroba v ČR - Unipi technology\",\n details: \"\",\n },\n {\n mainText: \"Unipi - je open-source\",\n details: \"\",\n },\n {\n mainText: \"Riadiace jednotky a rozširovacie moduly\",\n details: \"\",\n },\n ],\n imageUrl: \"url(/assets/hw_background.png)\",\n iconName: \"/assets/hw_icon.png\",\n serviceImage: \"/assets/hw_background.png\",\n flexContentPosition: \"flex-start\",\n },\n {\n id: \"lightning\",\n nextRoute: \"/pageLightning\",\n mainText: \"Osvetlenie\",\n description:\n \"Čaro svetla - ovládajte a automatizujte svetlá pomocou systému Hippo home s personalizovaným pôdorysom pre každého\",\n paragraphs: [\n {\n mainText: \"Klasické osvetlenie\",\n details:\n \"Ledky, halógeny, Hippo home zvládne ováldať všetko čo sa dá vypnúť a zapnúť\",\n },\n {\n mainText: \"Stmievateľné osvetlenie\",\n details:\n \"Nastavte si ideálnu intenzitu osvetlenia so stmievateľnými žiarovkami\",\n },\n // {\n // mainText: \"Svetelné scény\",\n // details:\n // \"Navodte tu pravú svetelnu pohodu pre rôzne činnosti pomocou svetelných scén\",\n // },\n {\n mainText: \"Automatické zapínanie na pohyb\",\n details:\n \"Automatizujte zapínanie svetiel na chodbe alebo v iných miestnostiach pomocou detektoru pohybu\",\n },\n {\n mainText: \"Režim deň/noc\",\n details:\n \"Chcete aby niektoré svetlá fungovali len v noci alebo len cez deň? Nie je problém, pomocou súmrakového spínača to vie systém Hippo home jednoducho zariadiť. Nechcete investovať desiatky Eur do snímača? Nevadí, systém si vie na základe polohy automaticky zistiť čas súmraku a úsvit a podľa toho aplikovať pravidlá pre noc a deň\",\n },\n {\n mainText: \"Časový režim\",\n details:\n \"Chcete aby určité pravidlá pre osvetlenie fungovali len v určitom čase? Na to je ako stvorený modul časového režimu Hippo home systému\",\n },\n ],\n imageUrl: \"url(/assets/main_lightning.png)\",\n iconName: \"/assets/lights_icon.png\",\n serviceImage: \"/assets/lights.png\",\n flexContentPosition: \"flex-end\",\n },\n {\n id: \"doorman\",\n nextRoute: \"/pageDoorman\",\n mainText: \"Prístupový systém\",\n description:\n \"Prístup do Vašeho domova máte pod kontrolou v jednom prehľadnom okne aplikácie\",\n paragraphs: [\n {\n mainText: \"Prístupové brány\",\n details:\n \"Aktuálny stav prístupovej brány na pozemok, otváranie/zatváranie brány je s Hippo systémom hračka\",\n },\n {\n mainText: \"Garážové brány\",\n details:\n \"Integráciou garážovej brány do systému si možete zautomatizovať príchod a odchod z domu\",\n },\n {\n mainText: \"Vchodové dvere\",\n details:\n \"Otvárateľné vchodové dvere? Uzamykatelné vchodové dvere? Aktuálny stav, či sú dvere otvorené alebo zatvorené? Všetko v jednom s aplikáciu Hippo home\",\n },\n {\n mainText: \"Kryty bazénov\",\n details:\n \"Máte doma bazén a chceli by ste ho ovládať z mobilnej aplikácie? Vyskúšajte si to s Hippo home systémom\",\n },\n {\n mainText: \"Príchodový režim\",\n details:\n \"Automatizovanie príchodu domov je jednou z výhod použitia inteligentného domu Hippo home. Systém dokážie nie len naraz otvoriť viacero brán, ale dokáže napríklad otvoriť žalúzie, zapnúť kúrenie, vysvietiť cestu do kuchyne a rôzne iné požiadavky podľa potrieb zákazníka\",\n },\n {\n mainText: \"Odchodový režim\",\n details:\n \"Pri odchode z domu už nemusíte kontrolovať či ste za sebou zamkli alebo zavreli všetky brány. Okrem toho je možné do odchodového režimu vypnúť svetlá, utlmiť kúrenie alebo zatiahnuť žalúzie\",\n },\n ],\n imageUrl: \"url(/assets/main_doorman.png)\",\n iconName: \"/assets/doorman_icon.png\",\n serviceImage: \"/assets/doorman.png\",\n flexContentPosition: \"flex-start\",\n },\n {\n id: \"heating\",\n nextRoute: \"/pageHeating\",\n mainText: \"Kúrenie & chladenie\",\n description: \"Teplená pohoda pre každého\",\n paragraphs: [\n {\n mainText: \"Zónová regulácia\",\n details:\n \"Rôzna teplená pohoda v rôznych miestostiach? Nie je problém, pomocou zónovej regulácie si možete nastaviť v každej zóne rôznu teplotu\",\n },\n {\n mainText: \"Temperovanie\",\n details:\n \"Mnohé moderné nízkoenergetické domy používajú pre vykurovanie svojho domova podlahové kúrenie. Preto aby podlaha bola stále príjemne teplá implementuje systém Hippo home automatické temperovanie\",\n },\n {\n mainText: \"Časové programy\",\n details:\n \"Pomocou termostatu si môžete regulovať teplotu vo Vašom domove tak ako Vám vyhovuje\",\n },\n {\n mainText: \"Dovolenkový režim\",\n details:\n \"Alebo inak nazvaný aj ako Eko režim možete využiť pre rýchle prepnutie domu do útlmového režimu vykurovania, kde sa dom temperuje na nižšiu teplotu, ktorú si vopred nastavíte\",\n },\n {\n mainText: \"Chladenie\",\n details:\n \"V letných mesiacoch dobre padne si svoj domov vychlaiť na príjemnú teplotu. V rámci systémového modulu Kúrenie dokáže systém implementovať aj chladenie, pre ktoré platia rovnaké možnosti použitia ako pre kúrenie.\",\n },\n ],\n imageUrl: \"url(/assets/main_heating.png)\",\n iconName: \"/assets/heating_icon.png\",\n serviceImage: \"/assets/heating.png\",\n flexContentPosition: \"flex-end\",\n },\n {\n id: \"security\",\n nextRoute: \"/pageSecurity\",\n mainText: \"Zabezpečovací systém\",\n description: \"Bezpečnosť Vašeho domova máte pod kontrolou\",\n paragraphs: [\n {\n mainText: \"Zabezpečenie objektu\",\n details:\n \"Zabezpečenie Vašeho domova je samozrejmosťou počas neprítomnosti, či už keď ide o dovolenku alebo dlhšiu návštevu u blízkych. Počas neprítomnosti sa nemusíte obávať o bezpečnosť Vašeho domova, postará sa za Vás o to systém Hippo home\",\n },\n {\n mainText: \"Detekcia pohybu\",\n details:\n \"Absolútna kontrola a detekcia pohybu vo Vašom domove - prehľad aktívnych a neaktívnych detektorov pohybu sa nachádza v pôdoryse osvetlenia\",\n },\n {\n mainText: \"Poplašný systém\",\n details:\n \"Pomocou GSM modulu Vám váš dom oznámy narušenie a pomocou sirény spustí poplach v dome\",\n },\n {\n mainText: \"Integrácia zabezpečovacieho systému tretích strán\",\n details:\n \"Chcete iné riešenie zabezpečenia Vašeho domova? Implementácia systémov tretích strán ako Jablotron je u nás jednoduché\",\n },\n ],\n imageUrl: \"url(/assets/main_security.png)\",\n iconName: \"/assets/security_icon.png\",\n serviceImage: \"/assets/security.png\",\n flexContentPosition: \"flex-start\",\n },\n {\n id: \"shutters\",\n nextRoute: \"/pageShutters\",\n mainText: \"Žalúzie, markízy a rolety\",\n description: \"\",\n paragraphs: [\n {\n mainText: \"Ovládanie žalúzií\",\n details:\n \"Integrované ovládanie žalúzií z vypínačov alebo pomocou aplikácie. Ovládanie viacerých žalúzií súčasne\",\n },\n {\n mainText: \"Ranný svetelný budík\",\n details:\n \"Nie je príjemnejšie vstávanie ako pomocou slnečných lúčov. Vyskúšajte to pomocou svetelného budíku\",\n },\n {\n mainText: \"Automatizovanie akcií\",\n details:\n \"Automatické zatiahnutie žalúzií pred spaním? Nastavenie žalúzie do určitej polohy v danom čase? Všetko je možné nastaviť pomocou časovača\",\n },\n {\n mainText: \"Zatiahnutie celého domu pri odchode\",\n details:\n \"V rámci odchodového režimu systém môže automaticky zatieniť všetky žalúzie na dome. Tak isto je možné vyhradiť jeden vypínač na odtienenie alebo zatienenie celého domu\",\n },\n {\n mainText: \"Ochrana pri silnom vetre\",\n details:\n \"V prípade silného vetru sa systém automaticky postará o vytiahnutie žalúzií a týmto sa predíde možnému poškodeniu majetku\",\n },\n ],\n imageUrl: \"url(/assets/main_shutters.png)\",\n iconName: \"/assets/shutter_icon.png\",\n serviceImage: \"/assets/blinds.png\",\n flexContentPosition: \"flex-end\",\n },\n {\n id: \"watering\",\n nextRoute: \"/pageWatering\",\n mainText: \"Zavlažovanie\",\n description: \"Dokonála kontrola zavlažovania svojej záhradky a trávniku\",\n paragraphs: [\n {\n mainText: \"Zónové polievanie\",\n details:\n \"Kontrola zavlažovania na základe zón dokonale pokryje potreby rôznych rastlín\",\n },\n {\n mainText: \"Až 4 rôzne časy polievania pre zónu počas dňa\",\n details:\n \"Počas dňa je možné nastaviť až 4 rôzne časy polievania, pričom je možné špecifikovať dni, kedy sa bude polievať. Týmto spôsobom možete zavlažovať napríklad iba ráno a večer a predítete možnému zpáleniu trávnika\",\n },\n {\n mainText: \"Manuálne zapnutie zavlažovanie\",\n details:\n \"Zdá sa Vám záhradka alebo trávnik nedostatočne poliaty? Spustite kedykoľvek zavlažovanie manuálne\",\n },\n {\n mainText: \"Postupné zavlažovanie všetkých zón\",\n details:\n \"Ste lenivý nastavovať alebo ovládať jednotlivé zóny samostatné? Využite našu funkciu postupného zavlažovania, kde systém automaticky postupne zavlaží jednotlivé zóny\",\n },\n {\n mainText: \"Detektor dažďa\",\n details:\n \"V prípade dažďa nie je potrebné spúštať zavlažovanie. Systém pomocou detektora dažďa zistí že prší a nezapne zavlažovanie\",\n },\n ],\n imageUrl: \"url(/assets/main_watering.png)\",\n iconName: \"/assets/watering_icon.png\",\n serviceImage: \"/assets/watering.png\",\n flexContentPosition: \"flex-start\",\n },\n {\n id: \"systemFunction\",\n nextRoute: \"/pageSystemFunction\",\n mainText: \"Ostatné funkcie systému Hippo home\",\n description:\n \"Nekonečné možnosti integrovania rôznych služieb do systému a automatizovanie rôznych denno denných aktivít\",\n paragraphs: [\n {\n mainText: \"Ovládanie rekuperácie\",\n details:\n \"Efektívna výmena vzduchu je dôležitá nie len pre ľudské zdravie, ale tiež šetrí rodinný rozpočet\",\n detailsVisible: true,\n serviceImage: \"/assets/rekuperacia.png\",\n },\n {\n mainText: \"Meteo stanica\",\n details:\n \"Vždy aktuálne informácie o počasí v okolí Vašeho domova pomocou súkromnej meteo stanice Giom3000\",\n detailsVisible: true,\n serviceImage: \"/assets/meteo.png\",\n },\n {\n mainText: \"Časovač\",\n details:\n \"Automatizovanie úloh je teraz pre Vás hračka pomocou funkcie Časovača, ktorý spoľahlivo vykoná danú akciu v správny čas\",\n detailsVisible: true,\n serviceImage: \"/assets/casovac.png\",\n },\n {\n mainText: \"Scenáre\",\n details:\n \"Automatizovaním viacerých funkcií do jedného scenára dosiahnete maximálny používateľský komfort, ktorý dokáže inteligentný dom ponúknuť\",\n detailsVisible: true,\n serviceImage: \"/assets/scenare.png\",\n },\n {\n mainText: \"Príchodový režim\",\n details: \"\",\n detailsVisible: false,\n },\n {\n mainText: \"Odchodový režim\",\n details: \"\",\n detailsVisible: false,\n },\n ],\n imageUrl: \"\",\n iconName: \"/assets/system_icon.png\",\n serviceImage: \"\",\n flexContentPosition: \"flex-end\",\n },\n];\n\nexport const findService = (servicePath) => {\n for (let service of appServicesList) {\n if (service.nextRoute === location.pathname) {\n return {\n ...service,\n };\n }\n }\n};\n\nexport const calcDataDefault = [\n {\n id: \"lightsT\",\n text: \"Počet svetiel\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"lights\",\n text: \"Počet svetiel\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 1,\n inputMultiplier: 1.2,\n },\n {\n id: \"pwmT\",\n text: \"Počet stmievatelnych svetiel\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"pwm\",\n text: \"Počet stmievatelnych svetiel\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 1,\n inputMultiplier: 2,\n },\n {\n id: \"pirT\",\n text: \"Počet detektorov pohybu\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"pir\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 0,\n inputMultiplier: 1,\n },\n {\n id: \"doormanT\",\n text: \"Počet ovládatelných brán\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"doorman\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 2,\n inputMultiplier: 0,\n },\n {\n id: \"heatingT\",\n text: \"Počet zón vykurovania\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"heating\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 1,\n inputMultiplier: 0,\n },\n {\n id: \"shutterT\",\n text: \"Počet žalúzií a otvárateľných okien\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"shutter\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 2,\n inputMultiplier: 2,\n },\n {\n id: \"securityT\",\n text: \"Počet zón zabezpečenia\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"security\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 2,\n inputMultiplier: 0,\n },\n\n {\n id: \"wateringT\",\n text: \"Počet zón zavlažovania\",\n type: \"text\",\n value: \"0\",\n },\n {\n id: \"watering\",\n text: \"\",\n type: \"input\",\n value: \"0\",\n hasError: false,\n multiplier: 1,\n inputMultiplier: 0,\n },\n];\n\nexport const priceServices = [\n {\n items: 50,\n itemPrice: 13,\n },\n {\n items: 100,\n itemPrice: 10,\n },\n {\n items: 150,\n itemPrice: 9,\n },\n {\n items: 200,\n itemPrice: 8,\n },\n];\n\nexport const hwRabat = 1.3;\nconst sale = 0.8;\n\nexport const hwData = [\n {\n type: \"unipi\",\n name: \"S207\",\n pdfName: \"Hippo server S207\",\n controller: true,\n price: 429 * sale,\n di: 8,\n do: 8,\n ai: 0,\n ao: 0,\n dallas: 0,\n imagePath: \"/assets/s207.png\",\n details:\n \"Programovatelný logický kontrolér a riadiace centrum Hippo systému, ktoré môže priamo obsluhovať 8 výstupných a 8 vstupných prvkov. Obsahuje zbernicu RS485, cez ktorú sa pripájajú ďaľšie rozšírenia na zvýšenie počtu kontrolovaných vstupno výstupných prvkov.\",\n },\n {\n type: \"unipi\",\n name: \"M207\",\n pdfName: \"Hippo server M207\",\n controller: true,\n price: 511 * sale,\n di: 20,\n do: 18,\n ai: 1,\n ao: 1,\n dallas: 1,\n imagePath: \"/assets/m207.png\",\n details:\n \"Programovatelný logický kontrolér a riadiace centrum Hippo systému, ktoré môže priamo obsluhovať 20 výstupných a 14 vstupných prvkov. Obsahuje zbernicu RS485, cez ktorú sa pripájajú ďaľšie rozšírenia na zvýšenie počtu kontrolovaných vstupno výstupných prvkov.\",\n },\n {\n type: \"unipi\",\n name: \"L207\",\n pdfName: \"Hippo server L207\",\n controller: true,\n price: 644 * sale,\n di: 36,\n do: 28,\n ai: 1,\n ao: 1,\n dallas: 1,\n imagePath: \"/assets/l207.png\",\n details:\n \"Programovatelný logický kontrolér a riadiace centrum Hippo systému, ktoré môže priamo obsluhovať 36 výstupných a 28 vstupných prvkov. Obsahuje zbernicu RS485, cez ktorú sa pripájajú ďaľšie rozšírenia na zvýšenie počtu kontrolovaných vstupno výstupných prvkov.\",\n },\n {\n type: \"unipi\",\n name: \"xS11\",\n controller: false,\n extension: true,\n pdfName: \"Hippo modul xS11\",\n price: 188 * sale,\n di: 12,\n do: 13,\n ai: 0,\n ao: 0,\n dallas: 0,\n imagePath: \"/assets/xS11.png\",\n details:\n \"Unipi Extension xS11 je rozširujúci modul s komunikáciou protokolom Modbus RTU po zbernici RS485. Rozširuje existujúci systém o vstupno (12) výstupne prvky (13) typu vypni/zapni.\",\n },\n {\n type: \"unipi\",\n name: \"xS51\",\n controller: false,\n extension: true,\n pdfName: \"Hippo modul xS51\",\n price: 230 * sale,\n di: 4,\n do: 5,\n ai: 4,\n ao: 4,\n dallas: 0,\n imagePath: \"/assets/xS51.png\",\n details:\n \"Unipi Extension xS51 je rozširujúci modul s komunikáciou protokolom Modbus RTU po zbernici RS485. Rozširuje existujúci systém o vstupno (4) výstupne prvky (5) typu vypni/zapni a hlavne o analógové vstupy (4) a výstupy (4) -> stmievateľné svetlá.\",\n },\n {\n type: \"unipi\",\n name: \"xG18\",\n controller: false,\n extension: true,\n pdfName: \"Hippo modul xG18\",\n price: 98 * sale,\n di: 0,\n do: 0,\n ai: 0,\n ao: 0,\n dallas: 8,\n imagePath: \"/assets/xG18.png\",\n details:\n \"Unipi Extension xG18 je rozširujúci modul s komunikáciou protokolom Modbus RTU po zbernici RS485. Rozširuje existujúci systém senzory teploty typu 1-wire Dallas s precizným meraním teploty\",\n },\n\n {\n type: \"hw\",\n name: \"dallas\",\n controller: false,\n extension: false,\n pdfName: \"Teplotný senzor\",\n price: 8,\n di: 0,\n do: 0,\n ai: 0,\n ao: 0,\n dallas: 0,\n imagePath: \"/assets/dallas.png\",\n details:\n \"Digitálny, vode odolný 1-Wire teplotný senzor vybavený čipom DS18B20 s precíznym meraním teploty v rozmedzí -55 °C do 85 °C.\",\n },\n {\n type: \"unipi\",\n name: \"zdroj\",\n controller: false,\n extension: false,\n pdfName: \"Zdroj\",\n price: 24 * sale,\n di: 0,\n do: 0,\n ai: 0,\n ao: 0,\n dallas: 0,\n imagePath: \"/assets/zdroj.png\",\n details: \"Napájací zdroj na DIN lištu 24 V DC, 1.5A\",\n },\n];\n","import React from \"react\";\nimport {\n CardMedia,\n Box,\n AppBar,\n Toolbar,\n IconButton,\n Typography,\n Menu,\n MenuItem,\n} from \"@mui/material\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport { useHistory } from \"react-router-dom\";\nimport { appServicesList } from \"../../appData\";\n\nconst NavBar = (props) => {\n const history = useHistory();\n const [anchorEl, setAnchorEl] = React.useState(null);\n const isMenuOpen = Boolean(anchorEl);\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n const handleProfileMenuOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const menuId = \"primary-menu\";\n\n const menuItems = appServicesList.map((item) => {\n return (\n {\n history.push(item.nextRoute);\n handleMenuClose();\n }}\n >\n \n {item.mainText}\n \n );\n });\n\n const renderMenu = (\n \n {menuItems}\n \n );\n\n return (\n \n \n \n \n history.push(\"/\")}\n />\n history.push(\"/\")}\n >\n Hippo home\n \n \n \n \n \n \n \n {renderMenu}\n \n );\n};\n\nexport default NavBar;\n","import Reac from \"react\";\nimport { Container, Box, useMediaQuery, CardMedia, Link } from \"@mui/material\";\nimport Typography from \"@mui/material/Typography\";\nimport NavBar from \"./NavBar\";\nimport { useTheme } from \"@mui/material/styles\";\n\nconst Layout = (props) => {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"sm\"));\n function Copyright() {\n return (\n \n \n \n \n \n Kontaktné údaje:\n \n \n \n iHouse control s.r.o.\n \n \n Radlinského 17/B\n \n \n 05201 Spišská Nová Ves\n \n \n \n \n Informácie, obchod\n \n \n \n +421 918 825 442\n \n \n \n info@ihcontrol.eu\n \n \n \n \n {\"Copyright © iHouse control s.r.o.\"}\n {new Date().getFullYear()}\n {\".\"}\n \n \n \n );\n }\n return (\n \n \n {props.children}\n \n \n );\n};\n\nexport default Layout;\n","import { Grid, Typography, useMediaQuery } from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { Box } from \"@mui/system\";\nimport React from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nconst HomeItem = (props) => {\n const history = useHistory();\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n let itemGrid = (\n \n {props.itemData.paragraphs.map((p) => (\n \n \n
  • {p.mainText}
  • \n \n
    \n ))}\n \n );\n\n return (\n \n {\n history.push(props.itemData.nextRoute, { itemData: props.itemData });\n }}\n sx={{\n backgroundColor: \"white\",\n display: \"flex\",\n cursor: \"pointer\",\n \"&:hover\": {\n //backgroundColor: \"gray.500\",\n opacity: [0.9, 0.8, 0.7],\n },\n alignSelf: \"center\",\n height: \"80%\",\n padding: 1,\n borderRadius: 4,\n flexDirection: \"column\",\n }}\n mt={matches ? 10 : 5}\n mb={matches ? 10 : 5}\n >\n \n {props.itemData.mainText}\n \n {itemGrid}\n \n \n );\n};\n\nexport default HomeItem;\n","import {\n Typography,\n Box,\n Button,\n useMediaQuery,\n Container,\n} from \"@mui/material\";\nimport React, { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport HomeItem from \"../components/HomeItem\";\nimport { useTheme } from \"@mui/material/styles\";\nimport ReactGA from \"react-ga4\";\n\nimport { appServicesList } from \"../appData\";\n\nconst Home = (props) => {\n const history = useHistory();\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\n let content = appServicesList.map((data) => (\n \n ));\n\n useEffect(() => {\n ReactGA.send({ hitType: \"pageview\", page: \"home\", page_title: \"home\" });\n }, []);\n\n return (\n \n \n \n Jednoduchý a spoľahlivý inteligentný domov\n \n \n Vypočítajte si približnú cenu pomocou našej jednoduchej kalkulačky\n \n \n {\n history.push(\"/calculator\");\n }}\n >\n Cenová kalkulačka\n \n {\n history.push(\"/appHippoHome\");\n }}\n >\n Vyskúšajte si našu aplikáciu\n \n {\n history.push(\"/partners\");\n }}\n >\n Staň sa partnerom\n \n \n \n {content}\n \n );\n};\n\nexport default Home;\n","import { Typography, Box } from \"@mui/material\";\n\nimport React from \"react\";\n\nconst NotFound = (props) => {\n return (\n \n \n Hľadaná stránka neexistuje!\n \n \n );\n};\n\nexport default NotFound;\n","import axios from \"axios\";\n\nconst instance = axios.create({\n baseURL: \"/api\",\n});\n\n// instance.interceptors.request.use(\n// async (config) => {\n// const token = localStorage.getItem(\"cykloAuthToken\");\n// if (token) {\n// config.headers.Authorization = `Bearer ${token}`;\n// }\n// return config;\n// },\n// (err) => {\n// return Promise.reject(err);\n// }\n// );\n\nexport default instance;\n","import {\n Box,\n Typography,\n Card,\n Grid,\n TextField,\n Button,\n Stack,\n useMediaQuery,\n Backdrop,\n Modal,\n Fade,\n} from \"@mui/material\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport React, { useEffect } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport downloadBlobAsFile from \"../components/fileDownload\";\nimport uniApi from \"../api/uniApi\";\nimport { calcDataDefault, priceServices, hwRabat, hwData } from \"../appData\";\nimport ReactGA from \"react-ga4\";\n\nconst HippoCalculator = (props) => {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\n const defaultResult = {\n visible: false,\n totalItems: 0,\n hwTotal: 0,\n serviceTotal: 0,\n total: 0,\n };\n\n const [calcData, setCalcData] = React.useState(calcDataDefault);\n const [showResult, setShowResult] = React.useState(defaultResult);\n\n //state handlers for Modal\n const [open, setOpen] = React.useState(false);\n const handleOpen = () => {\n setOpen(true);\n if (process.env.NODE_ENV !== \"development\") {\n setEmail(\"\");\n setEmailValid(false);\n } else {\n setEmail(\"aa@aa.aa\");\n setEmailValid(true);\n }\n setPdfGenerating(false);\n };\n const handleClose = () => setOpen(false);\n const [email, setEmail] = React.useState(\"\");\n const [emailValid, setEmailValid] = React.useState(false);\n const [pdfGenerating, setPdfGenerating] = React.useState(false);\n const [userHwConfig, setUserHwConfig] = React.useState([]);\n\n const style = {\n position: \"absolute\",\n top: \"40%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: matches ? 400 : \"90%\",\n bgcolor: \"background.paper\",\n border: \"2px solid #000\",\n boxShadow: 24,\n borderRadius: 4,\n p: 2,\n };\n\n let modalCmp = (\n \n \n \n \n Pre vygenerovanie cenovej ponuky vo formáte PDF zadajte prosím Váš\n email\n \n {\n let isValid = true;\n const pattern = new RegExp(\n /^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i\n );\n\n if (!pattern.test(event.target.value)) {\n isValid = false;\n }\n setEmailValid(isValid);\n setEmail(event.target.value);\n }}\n />\n \n \n {\n setPdfGenerating(true);\n getPdf(`CP-${new Date().getTime() % 10000}.pdf`);\n }}\n >\n Generuj PDF\n \n \n \n \n \n );\n\n let gridContent = calcData.map((item) => {\n if (item.type === \"text\") {\n return (\n \n {item.text}\n \n );\n } else {\n return (\n \n {\n let tmpData = [...calcData];\n for (let cdata of tmpData) {\n if (cdata.id === item.id) {\n cdata.value = event.target.value;\n cdata.hasError = isNaN(event.target.valueAsNumber);\n }\n }\n setCalcData(tmpData);\n }}\n value={item.value}\n />\n \n );\n }\n });\n\n let priceCheckoutContent = (\n \n \n Počet prvkov v systéme: {showResult.totalItems}\n \n \n Cena za hardvér:  {showResult.hwTotal} Eur bez DPH\n \n \n Cena za služby:    {showResult.serviceTotal} Eur bez DPH\n \n \n Celková cena:       {showResult.total} Eur bez\n DPH\n \n \n );\n\n const addHwType = (arr, name) => {\n for (let item of hwData) {\n if (name === item.name) {\n let addNew = true;\n for (let a of arr) {\n if (a.name === name) {\n addNew = false;\n a.itemCounter++;\n break;\n }\n }\n if (addNew) {\n arr.push({\n ...item,\n itemCounter: 1,\n });\n }\n break;\n }\n }\n };\n\n const calcItems = (arr) => {\n let res = {\n di: 0,\n do: 0,\n ai: 0,\n ao: 0,\n dallas: 0,\n };\n for (let a of arr) {\n res.di += a.di * a.itemCounter;\n res.do += a.do * a.itemCounter;\n res.ai += a.ai * a.itemCounter;\n res.ao += a.ao * a.itemCounter;\n res.dallas += a.dallas * a.itemCounter;\n }\n return res;\n };\n\n const calcPriceHandler = async () => {\n let inputs = 0;\n let outputs = 0;\n let pwmCount = 0;\n let dallasCount = 0;\n let calcHw = [];\n for (let data of calcData) {\n if (data.type === \"input\") {\n if (!isNaN(data.value)) {\n inputs += parseInt(data.value) * data.inputMultiplier;\n if (data.id === \"pwm\") {\n pwmCount += parseInt(data.value) * data.multiplier;\n } else {\n outputs += parseInt(data.value) * data.multiplier;\n }\n if (data.id === \"heating\") {\n dallasCount += parseInt(data.value);\n }\n }\n }\n }\n let loopCounter = 0;\n //console.log(inputs, outputs, dallasCount, pwmCount);\n\n addHwType(calcHw, \"M207\");\n while (1) {\n const values = calcItems(calcHw);\n if (values.ao < pwmCount) {\n addHwType(calcHw, \"xS51\");\n }\n if (values.do < outputs || values.di < inputs) {\n addHwType(calcHw, \"xS11\");\n }\n if (values.dallas < dallasCount) {\n addHwType(calcHw, \"xG18\");\n }\n if (loopCounter++ > 50) {\n break;\n }\n }\n for (let i = 0; i < dallasCount; i++) {\n addHwType(calcHw, \"dallas\");\n }\n addHwType(calcHw, \"zdroj\");\n\n let price = 0;\n let totalItems = inputs + outputs + dallasCount + pwmCount;\n for (let a of calcHw) {\n a.price = Math.floor(a.price * hwRabat);\n price += a.itemCounter * a.price;\n }\n let serviceTotal = priceServices[0].itemPrice * totalItems;\n for (let s of priceServices) {\n if (totalItems > s.items) {\n serviceTotal = s.itemPrice * totalItems;\n }\n }\n setUserHwConfig(calcHw);\n if (totalItems > 0) {\n const resObj = {\n visible: true,\n totalItems: Math.floor(totalItems),\n hwTotal: Math.floor(price),\n serviceTotal: Math.floor(serviceTotal + 200),\n total: Math.floor(price) + Math.floor(serviceTotal + 200),\n };\n setShowResult(resObj);\n const response = await uniApi.post(\"/pdf/cpGenData\", {\n content: {\n ...resObj,\n },\n email: \"\",\n userHwConfig: [],\n calcData: [],\n });\n ReactGA.event({\n category: \"CP\",\n action: \"calc_cp\",\n label: resObj.totalItems, // optional\n value: resObj.total, // optional, must be a number\n });\n } else {\n setShowResult(defaultResult);\n }\n };\n\n const clearCalcHandler = () => {\n let tmpData = [...calcData];\n for (let cdata of tmpData) {\n cdata.value = 0;\n }\n setCalcData(tmpData);\n setShowResult(defaultResult);\n };\n\n const getPdf = async (filename) => {\n const pdfData = {\n ...showResult,\n };\n try {\n let res = await uniApi.post(\n \"/pdf\",\n {\n content: pdfData,\n email,\n userHwConfig,\n calcData,\n },\n {\n responseType: \"blob\",\n }\n );\n\n if (res.headers[\"content-disposition\"]) {\n let headerName = res.headers[\"content-disposition\"];\n let namePos = headerName.indexOf(\"filename=\");\n if (namePos !== -1) {\n filename = headerName.substring(namePos + 10);\n if (filename.slice(-1) === `\"`) {\n filename = filename.substring(0, filename.length - 1);\n }\n }\n }\n if (res.status === 200) {\n downloadBlobAsFile(res.data, filename, \"application/pdf\");\n }\n setPdfGenerating(false);\n setOpen(false);\n } catch (err) {\n setPdfGenerating(false);\n setOpen(false);\n }\n };\n\n useEffect(() => {\n ReactGA.send({ hitType: \"pageview\", page_title: \"Hippo calculator\" });\n }, []);\n\n return (\n \n \n Kalkulačka systému Hippo home\n \n \n \n {gridContent}\n \n {showResult.visible && priceCheckoutContent}\n \n \n \n Exportuj do PDF\n \n \n \n \n {modalCmp}\n \n );\n};\n\nexport default HippoCalculator;\n","import { Card, CardContent, Typography } from \"@mui/material\";\nimport React from \"react\";\n\nconst CardPage = (props) => {\n //console.log(props.fixedHeight);\n return (\n \n \n \n {props.mainText}\n \n \n {props.details}\n \n \n \n );\n};\n\nexport default CardPage;\n","import { Typography, Box, CardMedia, Grid, Container } from \"@mui/material\";\nimport React, { useEffect } from \"react\";\nimport CardPage from \"./CardPage\";\nimport ReactGA from \"react-ga4\";\n\nconst PageService = (props) => {\n let content = props.pageData.map((item) => {\n return (\n \n );\n });\n useEffect(() => {\n ReactGA.send({ hitType: \"pageview\", page_title: props.header });\n }, []);\n return (\n \n \n {props.header}\n \n \n {props.mainText}\n \n\n \n \n \n \n \n {content}\n \n \n \n );\n};\n\nexport default PageService;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Lightning = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Lightning;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Doorman = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Doorman;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Heating = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Heating;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Security = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Security;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Shutters = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Shutters;\n","import React from \"react\";\nimport PageService from \"../components/UI/PageService\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\n\nconst Watering = (props) => {\n const location = useLocation();\n const data = findService(location.pathname);\n return (\n \n );\n};\n\nexport default Watering;\n","import React from \"react\";\nimport {\n Typography,\n Box,\n CardMedia,\n Grid,\n useMediaQuery,\n Container,\n} from \"@mui/material\";\nimport { useLocation } from \"react-router-dom\";\nimport { findService } from \"../appData\";\nimport CardPage from \"../components/UI/CardPage\";\nimport { useTheme } from \"@mui/material/styles\";\n\nconst RestServices = (props) => {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n const location = useLocation();\n const data = findService(location.pathname);\n let details = data.paragraphs.filter((p) => p.detailsVisible);\n details.push({\n mainText: \"Zoznam svetiel\",\n details:\n \"Ak Vám nevyhovuje zobrazenie svetiel v pôdoryse, môžete využiť na ovládanie osvetlenia prehľadný zoznam svetiel\",\n detailsVisible: true,\n serviceImage: \"/assets/lights_list.png\",\n });\n details.push({\n mainText: \"Nastavenia aplikácie\",\n details:\n \"V nastaveniach aplikácie je možné si aplikáciu prispôsobiť svojim potrebám a tiež je možné si upraviť pozície svetiel v pôdoryse do ideáleho stavu\",\n detailsVisible: true,\n serviceImage: \"/assets/settings.png\",\n });\n\n const content = details.map((p) => {\n return (\n \n \n \n \n \n \n );\n });\n return (\n \n \n {data.mainText}\n \n \n {data.description}\n \n \n {content}\n \n \n );\n};\n\nexport default RestServices;\n","import {\n Box,\n Typography,\n CardMedia,\n Card,\n CardContent,\n useMediaQuery,\n Link,\n Container,\n} from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport ReactGA from \"react-ga4\";\nimport { useEffect } from \"react\";\n\nconst AppStorePage = (props) => {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n useEffect(() => {\n ReactGA.send({ hitType: \"pageview\", page_title: \"appStorePage\" });\n }, []);\n return (\n \n \n \n \n Vyskúšajte si našu aplikáciu pre Iphone alebo Android\n \n \n \n \n \n \n Google play\n \n \n \n \n \n \n \n \n \n Apple store\n \n \n \n \n \n \n \n \n );\n};\n\nexport default AppStorePage;\n","import { Card, CardContent, CardMedia, Box, Typography } from \"@mui/material\";\nimport React from \"react\";\n\nconst CardHw = (props) => {\n //console.log(props.fixedHeight);\n return (\n \n \n \n {props.mainText}\n \n \n \n {props.details}\n \n \n \n );\n};\n\nexport default CardHw;\n","import React from \"react\";\nimport {\n Typography,\n Box,\n CardMedia,\n Grid,\n Container,\n Link,\n} from \"@mui/material\";\n\nimport { hwData } from \"../appData\";\nimport CardHw from \"../components/UI/CardHw\";\n\nconst PageHw = (props) => {\n const contentController = hwData\n .filter((el) => el.controller)\n .map((el) => {\n return (\n \n \n \n );\n });\n const contentExtensions = hwData\n .filter((el) => el.extension)\n .map((el) => {\n return (\n \n \n \n );\n });\n const contentSensors = hwData\n .filter((el) => !el.extension && !el.controller)\n .map((el) => {\n return (\n \n \n \n );\n });\n return (\n \n \n Hardvérové komponenty\n \n \n Prvotriedny hardvér vyvýjaný a vyrábaný v Českej republike spoločnosťou{\" \"}\n \n Unipi technology.\n {\" \"}\n Vysoký výkon a softvérová otvorenosť spoločne s rozširovacími modulmi\n ponúkaju kvalitu a spoľahlivosť pre každú domácnosť.\n \n \n Riadiace jednotky\n \n \n {contentController}\n \n \n Rozširovacie Moduly\n \n \n {contentExtensions}\n \n \n Senzory a príslušenstvo\n \n \n {contentSensors}\n \n \n );\n};\n\nexport default PageHw;\n","import {\n Typography,\n CardMedia,\n useMediaQuery,\n Link,\n Container,\n} from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport ReactGA from \"react-ga4\";\nimport { useEffect } from \"react\";\n\nconst PagePartners = (props) => {\n const theme = useTheme();\n const matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n useEffect(() => {\n ReactGA.send({ hitType: \"pageview\", page_title: \"partnerPage\" });\n }, []);\n return (\n \n \n Chcete sa stať partnerom a inštalovať inteligentný systém Hippo home?\n \n \n \n V tom prípade nás kontaktujte na tel. čísle:{\" \"}\n \n +421 918 825 442\n {\" \"}\n alebo píšte na email:\n \n info@ihcontrol.eu\n {\" \"}\n \n \n \n a aj Vy budete môcť využívať moderný webový nástroj na spravovanie a\n nastavovanie inteligentnej domácnosti Hippo Home.\n \n \n );\n};\n\nexport default PagePartners;\n","import { Typography, Container } from \"@mui/material\";\n\nconst AdminPage = (props) => {\n return (\n \n Tu bude login\n \n );\n};\n\nexport default AdminPage;\n","import Layout from \"./components/Layout/Layout\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Home from \"./pages/Home\";\nimport NotFound from \"./pages/NotFound\";\nimport HippoCalculator from \"./pages/HippoCalculator\";\nimport Lightning from \"./pages/Lightning\";\nimport Doorman from \"./pages/Doorman\";\nimport Heating from \"./pages/Heating\";\nimport Security from \"./pages/Security\";\nimport Shutters from \"./pages/Shutters\";\nimport Watering from \"./pages/Watering\";\nimport RestServices from \"./pages/RestServices\";\nimport AppStorePage from \"./pages/AppStorePage\";\n\nimport ReactGA from \"react-ga4\";\nimport PageHw from \"./pages/PageHw\";\nimport PagePartners from \"./pages/PagePartner\";\nimport AdminPage from \"./pages/AdminPage\";\n\nconst TRACKING_ID = \"G-XFCNRF2KWD\";\n\nif (process.env.NODE_ENV !== \"development\") {\n ReactGA.initialize(TRACKING_ID);\n}\n\nexport default function App() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n );\n}\n","import { red } from \"@mui/material/colors\";\nimport { createTheme, responsiveFontSizes } from \"@mui/material/styles\";\n\n// A custom theme for this app\nlet theme = createTheme({\n palette: {\n primary: {\n main: \"#556cd6\",\n },\n secondary: {\n main: \"#19857b\",\n },\n error: {\n main: red.A400,\n },\n gray: {\n 200: \"#eeeeee\",\n 300: \"#e0e0e0\",\n 400: \"#bdbdbd\",\n 500: \"#9e9e9e\",\n },\n background: {\n default: \"#e0e0e0\",\n },\n },\n});\ntheme = responsiveFontSizes(theme);\n\nexport default theme;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst initialState = {\n priceOfffers: [],\n};\n\nconst dataSlice = createSlice({\n name: \"data\",\n initialState,\n reducers: {\n setData(state, action) {\n state.priceOfffers = action.payload;\n },\n clearAllData(state) {\n state.priceOfffers = [];\n },\n },\n});\n\nexport const dataAction = dataSlice.actions;\n\nexport default dataSlice;\n","import { configureStore } from \"@reduxjs/toolkit\";\nimport dataSlice from \"./data-slice\";\n\nconst store = configureStore({\n reducer: {\n data: dataSlice.reducer,\n },\n});\n\nexport default store;\n","import * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { ThemeProvider } from \"@mui/material/styles\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { Provider } from \"react-redux\";\nimport App from \"./App\";\nimport theme from \"./theme\";\nimport store from \"./store/index\";\n\nReactDOM.render(\n \n \n \n {/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}\n \n \n \n \n ,\n document.querySelector(\"#root\")\n);\n"],"sourceRoot":""}