{"version":3,"sources":["compatibility.js","images/Skoda_LOISTO_tunnus_RGB_musta.png","components/NavMenu.js","components/FooterLinks.js","components/Footer.js","images/arrowUp.png","components/RenderGate.js","components/CookieConsent.js","components/Symbols.js","components/Layout.js","components/VehicleSearchFilters.js","components/ResetFiltersButton.js","components/PrimaryBannerButton.js","images/icon-search.svg","images/cars/citigo.png","images/cars/fabia.png","images/cars/karoq.png","images/cars/kamiq.png","images/cars/kodiaq.png","images/cars/octavia.png","images/cars/scala.png","images/cars/superb.png","images/cars/rapid.png","components/Home.js","images/arrow-back-big.svg","images/arrow-back-small.svg","images/demovehicle/auto-kuvat.png","components/Vehicle.js","components/Content.js","components/ContactForm.js","components/ReloadFiltersBlock.js","App.js","registerServiceWorker.js","index.js","components/GoogleTagManager.js"],"names":["Array","prototype","filter","fun","this","TypeError","t","Object","len","length","res","thisp","arguments","i","val","call","push","find","defineProperty","value","predicate","o","thisArg","k","kValue","configurable","writable","String","indexOfRegex","regex","match","indexOf","async","window","createImageBitmap","blob","fetch","then","r","supportsWebp","NavMenu","Component","constructor","props","super","toggleNavbar","bind","state","collapsed","setState","render","_jsx","children","Navbar","className","light","_jsxs","Container","NavbarBrand","tag","Link","to","src","logo","alt","NavbarToggler","onClick","Collapse","isOpen","navbar","NavItem","NavLink","activeClassName","exact","displayName","name","FooterLinks","Row","Col","xs","sm","md","lg","xl","href","target","rel","Footer","scrollTop","scrollTo","RenderGate","shouldRender","i18n","use","initReactI18next","init","resources","fi","translation","mainHeader","cookieInfo","cookiePolicy","manageCookies","accept","allow","privacyControlCenter","privacyInfo","additionalInfo","controlManagement","alwaysActive","necessary","analytics","functional","marketing","necessaryInfo","analyticsInfo","functionalInfo","marketingInfo","confirm","lng","fallbackLng","interpolation","escapeValue","modalStyles","content","top","left","right","bottom","padding","overflow","marginRight","transform","width","maxWidth","maxHeight","display","fontSize","CookieConsent","React","modalOpen","settingsOpen","closeModal","acceptAllCookies","openSettings","handleAnalytics","handleFunctional","handleMarketing","getConsent","setCookiesOnConsent","setScriptSrc","cookieComponent","componentDidMount","consentCookie","Cookies","get","undefined","categories","split","includes","createConsentEvent","componentDidUpdate","document","body","style","overflowY","overflowX","event","checked","analyticsScripts","querySelectorAll","functionalScripts","marketingScripts","isConsented","scripts","forEach","script","dataset","consentSrc","category","set","concat","expires","setTimeout","consentClosed","CustomEvent","dispatchEvent","Modal","onRequestClose","ariaHideApp","contentLabel","shouldCloseOnOverlayClick","bodyOpenClassName","role","type","xlinkHref","id","onChange","defaultChecked","htmlFor","withTranslation","Symbols","viewBox","d","fill","cx","cy","stroke","y","height","x","Layout","VehicleSearchFilters","vehicleSearchFilters","currentVehicleSearchFilterValues","JSON","parse","sessionStorage","getItem","vehicleSearchFilterValues","selectedModelNames","isBodyTypeSedanSelected","isBodyTypeFarmariSelected","isBodyTypeHacthbackSelected","isBodyTypeSUVSelected","selectedBodyTypeIds","isFuelBensiiniSelected","isFuelDieselSelected","isFuelKaasuSelected","isFuelSahkoSelected","isFuelHybridiSelected","selectedFuelIds","isTransmissionManualSelected","isTransmissionAutomaticSelected","selectedTransmissionIds","isFourWheelDriveSelected","askPrice","min","max","mileage","year","Date","getFullYear","locations","selectedLocationIds","isTowHitchSelected","isFuelDrivenAuxiliaryHeaterSelected","isCruiseControlSelected","isMetallicSelected","accessories","co2","isMoreOpen","handleChange","toggleModelName","toggleLocation","handleSelectedModelClick","handleSelectedLocationClick","toggleMore","showHideMoreTitles","linkToNewSearch","SUV","name2","temp","filtered","slice","doubleValue","first","second","index","arr","dropdownOpenModelName","textContent","console","log","dropdownOpenLocation","selectedLocation","temp2","that","selected","apply","locationIds","map","item","j","location","preventDefault","btn","getElementById","classList","add","remove","history","pathname","stringify","every","populateLocationsData","response","method","headers","Accept","data","json","prevState","assign","selectedLocations","Form","FormGroup","Label","Dropdown","toggle","DropdownToggle","caret","DropdownMenu","modelNames","DropdownItem","CardGroup","selectedModelName","Card","CardBody","CardTitle","Button","close","CardText","for","CustomInput","label","InputRange","maxValue","minValue","step","ref","allowSameValues","onChangeComplete","ResetFiltersButton","resetSearchFilters","PrimaryBannerButton","contentPagePath","contentPageTitle","navigateToContentPage","Home","handleOnDocumentBottom","vehicleSearchResultIndex","vehicleSearchResult","totalResultCount","skip","loading","setDropdownOpen","fallbackCarImages","carImageCitigo","carImageFabia","carImageKaroq","carImageKamiq","carImageKodiaq","carImageOctavia","carImageScala","carImageSuperb","carImageRapid","renderVehicleSearchResult","renderVehicles","vehicleSearchResultChunk","inventoryVehicles","vehicle","search","images","marketingImageUrls","replace","modelName","makeName","formattedLicensePlateNumber","onError","e","onerror","modelYear","kilometrage","NumberFormat","displayType","thousandSeparator","searchResultCount","smallSearch","Route","Spinner","animation","vehicles","contents","bannerClassName","BottomScrollListener","onBottom","getDerivedStateFromProps","nextProps","prevProps","populateVehicleData","suppressScroll","Top","Skip","ModelNames","FuelIds","BodyIds","TransmissionIds","DriveIds","Accessories","Locations","AskPriceFilterRange","MinAskPrice","MaxAskPrice","InTrafficDateFilterRange","MinInTrafficDate","MaxInTrafficDate","KilometrageFilterRange","MinKilometrage","Math","floor","MaxKilometrage","CO2FilterRange","MinCO2","MaxCO2","clear","setItem","Vehicle","vehicleResult","activeTab","isMoreFeaturesOpen","isSearchFiltersOpen","toggleTabs","toggleMoreFeatures","showHideMoreFeaturesTitles","renderVehicle","toggleSearchFilters","tab","currentVehicleId","substring","filteredStockVehicles","v","arrowBackSmall","driveType","technicalInformation","vehicleFuel","fuelType","transmission","transmissionType","bodyType","inTrafficDate","inTrafficYear","inTrafficMonth","getMonth","inTraffidDateStr","getDate","kWPower","maxPower","hpPower","input","parseFloat","Number","isNaN","toFixed","toString","printHpPower","inspectionDate","inspectionMonth","inspectionDateStr","accessoriesArray","resultToRender","customStandardAccessoriesArray","a","sectionTitle","customAccessoriesArray","newCarAccessoriesArray","newCarAdditionalAccessoriesArray","orderedAccessoriesArray","unknownAccessoriesArray","externalSourceAccessoriesArray","vehicleImages","imageUrl","AccessoriesListNested","listItems","acc","idx","ListGroupItem","identifier","columnSize","ListGroup","active","ListGroupItemHeading","AccessoriesList","rootPosition","position","rootAccessories","nestedAccessoriesList","nestedAccessories","_Fragment","modelType","marketingText","Carousel","Nav","tabs","classnames","TabContent","TabPane","tabId","Table","sellerCompanyName","toLocaleString","fuelEconomy","city","road","combined","colorText","cO2","engineVol","volume","printEngineVol","seatCount","doorAmount","curbWeight","towingCapacityWithBrakes","towingCapacityWithoutBrakes","acceleration","othervehicles","arrowBackBig","componentWillReceiveProps","vehicleId","status","Content","ContactForm","messagePlaceholderValue","email","email2","phone","interestedInTestDriveSelected","interestedInBuyingSelected","interestedInChangingSelected","message","isContactTypeEmailSelected","isContactTypePhoneSelected","isSendCopySelected","isEmailsTheSame","isSentWithErrors","isSentWithoutErrors","interestedInChangingReg","interestedInChangingKm","gdbrAcceptedSelected","marketingByEmailAllowedSelected","handleSubmit","interestedInChangingContent","maxLength","placeholder","onSubmit","required","rows","disabled","ReloadFiltersBlock","App","path","component","Boolean","hostname","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","BrowserRouter","basename","navigator","serviceWorker","ready","registration","unregister","GoogleTagManager","dataLayerName","scriptId","gtmScriptNode","eval","gtm","gtmParts","gtmId","additionalEvents","previewVariables","scheme","noScriptAsReact","scriptAsReact"],"mappings":"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","file":"static/js/main.fcd62d5e.chunk.js","sourcesContent":["if (!Array.prototype.filter) {\r\n Array.prototype.filter = function (fun /*, thisp */) {\r\n \"use strict\";\r\n\r\n if (this == null)\r\n throw new TypeError();\r\n\r\n var t = Object(this);\r\n var len = t.length >>> 0;\r\n if (typeof fun != \"function\")\r\n throw new TypeError();\r\n\r\n var res = [];\r\n var thisp = arguments[1];\r\n for (var i = 0; i < len; i++) {\r\n if (i in t) {\r\n var val = t[i]; // in case fun mutates this\r\n if (fun.call(thisp, val, i, t))\r\n res.push(val);\r\n }\r\n }\r\n\r\n return res;\r\n };\r\n}\r\n\r\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\r\nif (!Array.prototype.find) {\r\n Object.defineProperty(Array.prototype, 'find', {\r\n value: function (predicate) {\r\n // 1. Let O be ? ToObject(this value).\r\n if (this == null) {\r\n throw TypeError('\"this\" is null or not defined');\r\n }\r\n\r\n var o = Object(this);\r\n\r\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\r\n var len = o.length >>> 0;\r\n\r\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\r\n if (typeof predicate !== 'function') {\r\n throw TypeError('predicate must be a function');\r\n }\r\n\r\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n var thisArg = arguments[1];\r\n\r\n // 5. Let k be 0.\r\n var k = 0;\r\n\r\n // 6. Repeat, while k < len\r\n while (k < len) {\r\n // a. Let Pk be ! ToString(k).\r\n // b. Let kValue be ? Get(O, Pk).\r\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\r\n // d. If testResult is true, return kValue.\r\n var kValue = o[k];\r\n if (predicate.call(thisArg, kValue, k, o)) {\r\n return kValue;\r\n }\r\n // e. Increase k by 1.\r\n k++;\r\n }\r\n\r\n // 7. Return undefined.\r\n return undefined;\r\n },\r\n configurable: true,\r\n writable: true\r\n });\r\n}\r\n\r\nString.prototype.indexOfRegex = function (regex) {\r\n var match = this.match(regex);\r\n return match ? this.indexOf(match[0]) : -1;\r\n}\r\n\r\nasync function supportsWebp() {\r\n if (!window.createImageBitmap) return false;\r\n\r\n const webpData = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=';\r\n const blob = await fetch(webpData).then(r => r.blob());\r\n return createImageBitmap(blob).then(() => true, () => false);\r\n}\r\n\r\n(async () => {\r\n if (await supportsWebp()) {\r\n window.supportsWebp = true;\r\n }\r\n else {\r\n window.supportsWebp = false;\r\n }\r\n})();","export default __webpack_public_path__ + \"static/media/Skoda_LOISTO_tunnus_RGB_musta.d5e70670.png\";","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem } from 'reactstrap';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport '../custom.css';\r\nimport './NavMenu.css';\r\n\r\nimport logo from '../images/Skoda_LOISTO_tunnus_RGB_musta.png';\r\n//import search from '../images/search.png';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor (props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar () {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \"SkodaLoisto\"\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n Tutustu Loisto-palveluun\r\n \r\n \r\n \r\n
\r\n
\r\n {/*\r\n \r\n \"Hae\"\r\n \r\n */}\r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport '../custom.css';\r\nimport './FooterLinks.css';\r\n\r\nexport class FooterLinks extends Component {\r\n static displayName = FooterLinks.name;\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}","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport '../custom.css';\r\nimport './Footer.css';\r\nimport arrowUp from '../images/arrowUp.png';\r\n\r\nexport class Footer extends Component {\r\n static displayName = Footer.name;\r\n\r\n scrollTop() {\r\n window.scrollTo(0, 600);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n ©2021 Škoda Auto a.s.\r\n EVÄSTEET\r\n \r\n \"Ylös\" this.scrollTop()} className=\"arrowUp\" />\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAANCAYAAABYWxXTAAAABHNCSVQICAgIfAhkiAAAAS1JREFUOE+dlGFRw0AQhb+nAByAA4oCioNWAa0CqINWAXUAVUAdgARwAA5AwTKP2TBNuCYX9k8yye19u/venRgZEbEFTiQtR6ai2oSIOAXugUXmvALXkj5r96iCJegZmABfgAFn+TTQ4MEYhEWEAU/AOfABzIB34AW4SOBK0uMQrRcWEdMEeYRvwPRwbBFhwE1C1pI2fcCjsIiwNg+ZvAPuSvp01hnuLos6FmGdijeS1n0V5wT2dilg/eaSPOpWtGBpBHdjXRzLGi28MLV1Z42Of4zzCys4zvpUuawpP/dwh1elYn9gWZWt3RhhMRZ0OK88+Lf5bStp5XdFhEfm0RUdN2TnY/87xvExmRvW2Hcnqbkd/sto5eXEDLJxLg1zR7NaI4ytIiJ8GUwk7b8BPC16SMHVnzMAAAAASUVORK5CYII=\"","const RenderGate = ({ shouldRender, children }) => (shouldRender ? children : null)\r\n\r\nexport default RenderGate\r\n","import React from 'react'\r\nimport Modal from 'react-modal'\r\nimport Cookies from 'js-cookie'\r\nimport i18n from 'i18next'\r\nimport { withTranslation, initReactI18next } from 'react-i18next'\r\nimport RenderGate from './RenderGate'\r\n\r\nimport './CookieConsent.css'\r\n\r\n// Usage of the component:\r\n//\r\n// Add an event listener before scripts that set cookies as below:\r\n//\r\n// window.addEventListener('consentClosed', function (event) {\r\n// if (window.cookieComponent.getConsent('analytics')) {\r\n// \r\n// }\r\n// }\r\n\r\n// For one-liner scripts that set cookies:\r\n//\r\n// Add src of the script initially as a data-attribute \"data-consent-src\", e.g. data-consent-src=\"scriptSrc\" and leave src attribute empty or do not set it at all\r\n// Add the cookie category of the script as a data-attribute, e.g. data-cookie-analytics, data-cookie-functional or data-cookie-marketing\r\n\r\n// It's better to move the translations into a separate JSON file and not initialize i18n in this component\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n resources: {\r\n fi: {\r\n translation: {\r\n mainHeader: 'Yksityisyytesi on meille tärkeää',\r\n cookieInfo: 'Evästeitä käytetään asetustesi ja valintojesi tallentamiseen, liikenteemme analysointiin,'\r\n + ' sosiaalisen median ominaisuuksien tuottamiseen sekä sisällön ja mainonnan kohdentamiseen.'\r\n + ' Luovutamme myös tietoja sivustomme käytöstä sosiaalisen median sekä mainonta- ja analytiikkakumppaneillemme.'\r\n + ' Annat suostumuksesi yritykselle ŠKODA AUTO a.s., Helkama- Auto Oy, ja ŠKODAn jakeluverkostolle.'\r\n + ' Lue lisää kohdasta',\r\n cookiePolicy: 'Evästekäytäntö',\r\n manageCookies: 'Evästeiden hallinta',\r\n accept: 'Hyväksy kaikki',\r\n allow: 'Salli kaikki',\r\n privacyControlCenter: 'Tietosuojavalintakeskus',\r\n privacyInfo: 'Aina kun käyt jollakin verkkosivustolla, se voi tallentaa tai hakea tietoja selaimestasi, enimmäkseen evästeiden muodossa.'\r\n + ' Nämä tiedot voivat liittyä sinuun, valintoihisi tai laitteeseesi, ja niitä käytetään lähinnä huolehtimaan siitä,'\r\n + ' että sivusto toimii odotetulla tavalla.'\r\n + ' Tietojen perusteella ei tavallisesti voida suoraan tunnistaa sinua,'\r\n + ' mutta ne voivat antaa sinulle henkilökohtaisemman verkkokokemuksen.'\r\n + ' Koska tietosuojasi on meille tärkeä asia, voit kieltäytyä sallimasta tietyntyyppisiä evästeitä.'\r\n + ' Napsauttamalla luokkien otsikoita saat lisätietoja ja voit muuttaa oletusasetuksiamme.'\r\n + ' Tietyntyyppisten evästeiden estäminen voi kuitenkin vaikuttaa verkkosivustokokemukseesi tarjoamiimme palveluihin.'\r\n + ' Aktivoimalla minkä tahansa alla olevista evästeistä annat myös nimenomaisen suostumuksen siihen,'\r\n + ' että henkilötietosi voidaan siirtää kolmansiin maihin.'\r\n + ' Lisätietoja siirrosta ja siihen liittyvistä riskeistä löytyy evästekäytännössä.',\r\n additionalInfo: 'Lisätiedot',\r\n controlManagement: 'Evästevalintojen hallinta',\r\n alwaysActive: 'Aina aktiivinen',\r\n necessary: 'Tarvittavat evästeet',\r\n analytics: 'Kehittynyt analytiikka',\r\n functional: 'Toiminnot ja valinnat',\r\n marketing: 'Kohdennetut tarjoukset',\r\n necessaryInfo: 'Tarvittavilla evästeillä otetaan käyttöön verkkosivuston ydintoiminnot kuten tietoturva,'\r\n + ' verkonhallinta, käytettävyys ja perustilastotiedot sivustolla kävijöistä.'\r\n + ' Voit ottaa nämä evästeet pois käytöstä muuttamalla selaimesi asetuksia, mutta tämä voi vaikuttaa sivuston toimintaan.',\r\n analyticsInfo: 'Kolmannen osapuolen työkalut, kuten Google-analytiikka,'\r\n + ' tarjoavat meille mahdollisuuden verkkosivuston parantamiseen raportoimalla verkkosivuston käytöstäsi.'\r\n + ' Evästeillä kerättyjen tietojen perusteella ei voida tunnistaa ketään.',\r\n functionalInfo: 'Toiminto- ja valintaevästeillä otetaan käyttöön kehittynyt verkkosivustosisältö ja kehittyneet ominaisuudet,'\r\n + ' ja niiden avulla tallennetaan asetuksesi ja valintasi.',\r\n marketingInfo: 'Käytämme näitä evästeitä SKODA AUTOon sekä kolmansien osapuolten verkkosivustoihin'\r\n + ' ja sosiaaliseen mediaan osoittamasi mielenkiinnon kohteisiin perustuvien kohdennettujen tarjousten,'\r\n + ' sisältöjen ja mainosten näyttämiseen.',\r\n confirm: 'Vahvista valinnat'\r\n }\r\n }\r\n },\r\n lng: 'fi', // if you're using a language detector, do not define the lng option\r\n fallbackLng: 'fi',\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape\r\n }\r\n });\r\n\r\nconst modalStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n padding: '0',\r\n overflow: 'hidden',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: 'auto',\r\n maxWidth: '650px',\r\n maxHeight: '65%',\r\n display: 'flex',\r\n fontSize: '18px'\r\n }\r\n}\r\n\r\nclass CookieConsent extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n modalOpen: false,\r\n settingsOpen: false,\r\n analytics: false,\r\n functional: false,\r\n marketing: false\r\n }\r\n\r\n this.closeModal = this.closeModal.bind(this)\r\n this.acceptAllCookies = this.acceptAllCookies.bind(this)\r\n this.openSettings = this.openSettings.bind(this)\r\n this.handleAnalytics = this.handleAnalytics.bind(this)\r\n this.handleFunctional = this.handleFunctional.bind(this)\r\n this.handleMarketing = this.handleMarketing.bind(this)\r\n this.getConsent = this.getConsent.bind(this)\r\n this.setCookiesOnConsent = this.setCookiesOnConsent.bind(this)\r\n this.setScriptSrc = this.setScriptSrc.bind(this)\r\n\r\n window.cookieComponent = this\r\n }\r\n\r\n componentDidMount() {\r\n const consentCookie = Cookies.get('ConsentInformationLoisto')\r\n\r\n if (!consentCookie || consentCookie === undefined) {\r\n this.setState({\r\n modalOpen: true\r\n })\r\n } else {\r\n const categories = consentCookie.split(',')\r\n\r\n this.setState({\r\n analytics: categories[0].includes('true'),\r\n functional: categories[1].includes('true'),\r\n marketing: categories[2].includes('true')\r\n })\r\n\r\n this.createConsentEvent()\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.modalOpen) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflowY = 'unset';\r\n document.body.style.overflowX = 'hidden';\r\n this.setCookiesOnConsent()\r\n }\r\n }\r\n\r\n handleAnalytics(event) {\r\n this.setState({\r\n analytics: event.target.checked\r\n })\r\n }\r\n\r\n handleFunctional(event) {\r\n this.setState({\r\n functional: event.target.checked\r\n })\r\n }\r\n\r\n handleMarketing(event) {\r\n this.setState({\r\n marketing: event.target.checked\r\n })\r\n }\r\n\r\n setCookiesOnConsent() {\r\n const analyticsScripts = document.querySelectorAll('[data-cookie-analytics]')\r\n const functionalScripts = document.querySelectorAll('[data-cookie-functional]')\r\n const marketingScripts = document.querySelectorAll('[data-cookie-marketing]')\r\n\r\n this.setScriptSrc(this.state.analytics, analyticsScripts)\r\n this.setScriptSrc(this.state.functional, functionalScripts)\r\n this.setScriptSrc(this.state.marketing, marketingScripts)\r\n }\r\n\r\n setScriptSrc(isConsented, scripts) {\r\n if (isConsented && scripts) {\r\n scripts.forEach((script) => {\r\n if (script.dataset.consentSrc) {\r\n script.src = script.dataset.consentSrc\r\n }\r\n })\r\n }\r\n }\r\n\r\n getConsent(category) {\r\n const consentGiven = (category === 'analytics' && this.state.analytics)\r\n || (category === 'functional' && this.state.functional)\r\n || (category === 'marketing' && this.state.marketing)\r\n\r\n if (consentGiven) return true\r\n\r\n return false\r\n }\r\n\r\n closeModal() {\r\n const { analytics, functional, marketing } = this.state\r\n\r\n Cookies.set('ConsentInformationLoisto', `Analytics:${analytics},Functional:${functional},Marketing:${marketing}`, { expires: 60 })\r\n\r\n this.setState({\r\n modalOpen: false\r\n })\r\n\r\n this.createConsentEvent()\r\n }\r\n\r\n openSettings() {\r\n this.setState({\r\n modalOpen: true,\r\n settingsOpen: true\r\n })\r\n }\r\n\r\n acceptAllCookies() {\r\n Cookies.set('ConsentInformationLoisto', 'Analytics:true,Functional:true,Marketing:true', { expires: 60 })\r\n\r\n this.setState({\r\n analytics: true,\r\n functional: true,\r\n marketing: true,\r\n modalOpen: false\r\n })\r\n\r\n this.createConsentEvent()\r\n }\r\n\r\n // In order to listen to user's consent changes to allow/block scripts in DOM\r\n createConsentEvent() {\r\n // Timeout to wait for component state to update before creating and listening to the event\r\n setTimeout(() => {\r\n const consentClosed = new CustomEvent('consentClosed')\r\n window.dispatchEvent(consentClosed)\r\n }, 0)\r\n }\r\n\r\n render() {\r\n const { t } = this.props\r\n\r\n if (!this.state.modalOpen) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n this.closeModal()}\r\n ariaHideApp={false}\r\n style={modalStyles}\r\n contentLabel='Evästeiden hallinta'\r\n shouldCloseOnOverlayClick={false}\r\n bodyOpenClassName='cookie-consent-modal'\r\n >\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

{t('mainHeader')}

\r\n

\r\n {t('cookieInfo')}\r\n {t('cookiePolicy')}.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

{t('privacyControlCenter')}

\r\n

{t('privacyInfo')}

\r\n {t('additionalInfo')}\r\n
\r\n \r\n
\r\n
\r\n

{t('controlManagement')}

\r\n
\r\n
\r\n

{t('necessary')}

\r\n

{t('alwaysActive')}

\r\n
\r\n

{t('necessaryInfo')}

\r\n
\r\n
\r\n
\r\n

{t('analytics')}

\r\n \r\n \r\n
\r\n

{t('analyticsInfo')}

\r\n
\r\n
\r\n
\r\n

{t('functional')}

\r\n \r\n \r\n
\r\n

{t('functionalInfo')}

\r\n
\r\n
\r\n
\r\n

{t('marketing')}

\r\n \r\n \r\n
\r\n

{t('marketingInfo')}

\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 withTranslation()(CookieConsent)\r\n","const Symbols = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Symbols","import React, { Component } from 'react';\r\nimport { NavMenu } from './NavMenu';\r\nimport { FooterLinks } from './FooterLinks';\r\nimport { Footer } from './Footer';\r\nimport CookieConsent from './CookieConsent';\r\nimport Symbols from './Symbols';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n {/**/}\r\n {this.props.children}\r\n {/**/}\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nimport { Button, Collapse } from 'reactstrap';\r\nimport { Form, FormGroup, Label, CustomInput } from 'reactstrap';\r\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\r\nimport { Card, CardBody, CardText, CardGroup, CardTitle } from 'reactstrap';\r\nimport InputRange from 'react-input-range';\r\nimport 'react-input-range/lib/css/index.css';\r\nimport '../custom.css';\r\nimport './VehicleSearchFilters.css';\r\n\r\nexport class VehicleSearchFilters extends Component {\r\n static displayName = VehicleSearchFilters.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleSearchFilters = props.currentVehicleSearchFilterValues !== undefined && props.currentVehicleSearchFilterValues !== null ?\r\n JSON.parse(props.currentVehicleSearchFilterValues) : null;\r\n\r\n if (vehicleSearchFilters === null) {\r\n vehicleSearchFilters = JSON.parse(sessionStorage.getItem('session_vehicleSearchFilterValues'));\r\n }\r\n\r\n this.state = {\r\n vehicleSearchFilterValues: {\r\n selectedModelNames: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedModelNames : [],\r\n isBodyTypeSedanSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeSedanSelected : false,\r\n isBodyTypeFarmariSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeFarmariSelected : false,\r\n isBodyTypeHacthbackSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeHacthbackSelected : false,\r\n isBodyTypeSUVSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeSUVSelected : false,\r\n selectedBodyTypeIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedBodyTypeIds : [],\r\n isFuelBensiiniSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelBensiiniSelected : false,\r\n isFuelDieselSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelDieselSelected : false,\r\n isFuelKaasuSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelKaasuSelected : false,\r\n isFuelSahkoSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelSahkoSelected : false,\r\n isFuelHybridiSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelHybridiSelected : false,\r\n selectedFuelIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedFuelIds : [],\r\n isTransmissionManualSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTransmissionManualSelected : false,\r\n isTransmissionAutomaticSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTransmissionAutomaticSelected : false,\r\n selectedTransmissionIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedTransmissionIds : [],\r\n isFourWheelDriveSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFourWheelDriveSelected : false,\r\n askPrice: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.askPrice.min : 0,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.askPrice.max : 80000\r\n },\r\n mileage: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.mileage.min : 0,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.mileage.max : 130000\r\n },\r\n year: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.year.min : (new Date().getFullYear()) - 5,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.year.max : new Date().getFullYear()\r\n },\r\n locations: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.locations : [],\r\n selectedLocationIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null && vehicleSearchFilters.selectedLocationIds !== undefined ? vehicleSearchFilters.selectedLocationIds : [],\r\n isTowHitchSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTowHitchSelected : false,\r\n isFuelDrivenAuxiliaryHeaterSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelDrivenAuxiliaryHeaterSelected : false,\r\n isCruiseControlSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isCruiseControlSelected : false,\r\n isMetallicSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isMetallicSelected : false,\r\n accessories: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.accessories : [],\r\n co2: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.co2.min : -1,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.co2.max : 220\r\n }\r\n },\r\n isMoreOpen: false\r\n };\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.toggleModelName = this.toggleModelName.bind(this);\r\n this.toggleLocation = this.toggleLocation.bind(this);\r\n this.handleSelectedModelClick = this.handleSelectedModelClick.bind(this);\r\n this.handleSelectedLocationClick = this.handleSelectedLocationClick.bind(this);\r\n this.toggleMore = this.toggleMore.bind(this);\r\n this.showHideMoreTitles = this.showHideMoreTitles.bind(this);\r\n this.linkToNewSearch = this.linkToNewSearch.bind(this);\r\n }\r\n\r\n handleChange(event) {\r\n const target = event.target;\r\n const checked = target.type === 'checkbox' ? target.checked : false;\r\n const name = target.name;\r\n const value = target.value;\r\n const SUV = \"isBodyTypeSUVSelected\";\r\n let name2 = '';\r\n var temp = [];\r\n var filtered = [];\r\n\r\n if (name === 'isBodyTypeSedanSelected' || name === 'isBodyTypeFarmariSelected' || name === 'isBodyTypeHacthbackSelected' || name === SUV) {\r\n name2 = 'selectedBodyTypeIds';\r\n temp = this.state.vehicleSearchFilterValues.selectedBodyTypeIds.slice();\r\n if (checked) {\r\n if (name === SUV) {\r\n let doubleValue = JSON.parse(target.value);\r\n temp.push(doubleValue.first, doubleValue.second) // SUV bodyTypeId can be both '7' and '8'\r\n } else {\r\n temp.push(value)\r\n }\r\n }\r\n else {\r\n if (name === SUV) {\r\n let doubleValue = JSON.parse(target.value);\r\n //const second = doubleValue.second;\r\n const first = doubleValue.first;\r\n\r\n filtered = temp.filter(function (first, index, arr) {\r\n return first !== doubleValue.first;\r\n });\r\n temp = filtered.slice(0);\r\n\r\n filtered = temp.filter(function (second, index, arr) {\r\n return second !== doubleValue.second;\r\n });\r\n temp = filtered.slice(0);\r\n\r\n } else {\r\n filtered = temp.filter(function (value, index, arr) {\r\n return value !== target.value;\r\n });\r\n temp = filtered.slice(0);\r\n } \r\n }\r\n }\r\n\r\n if (name === 'isFuelBensiiniSelected' || name === 'isFuelDieselSelected' || name === 'isFuelKaasuSelected'\r\n || name === 'isFuelSahkoSelected' || name === 'isFuelHybridiSelected') {\r\n name2 = 'selectedFuelIds';\r\n temp = this.state.vehicleSearchFilterValues.selectedFuelIds.slice();\r\n if (checked) {\r\n temp.push(value)\r\n }\r\n else {\r\n filtered = temp.filter(function (value, index, arr) {\r\n return value !== target.value;\r\n });\r\n temp = filtered.slice(0);\r\n }\r\n }\r\n\r\n if (name === 'isTransmissionManualSelected' || name === 'isTransmissionAutomaticSelected') {\r\n name2 = 'selectedTransmissionIds';\r\n temp = this.state.vehicleSearchFilterValues.selectedTransmissionIds.slice();\r\n if (checked) {\r\n temp.push(value)\r\n }\r\n else {\r\n filtered = temp.filter(function (value, index, arr) {\r\n return value !== target.value;\r\n });\r\n temp = filtered.slice(0);\r\n }\r\n }\r\n\r\n if (name === 'isFuelDrivenAuxiliaryHeaterSelected' || name === 'isCruiseControlSelected' || name === 'isTowHitchSelected' || name === 'isMetallicSelected') {\r\n name2 = 'accessories';\r\n temp = this.state.vehicleSearchFilterValues.accessories.slice();\r\n if (checked) {\r\n temp.push(value)\r\n }\r\n else {\r\n filtered = temp.filter(function (value, index, arr) {\r\n return value !== target.value;\r\n });\r\n temp = filtered.slice(0);\r\n }\r\n }\r\n\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n vehicleSearchFilterValues[name] = checked;\r\n vehicleSearchFilterValues[name2] = temp;\r\n this.setState({\r\n vehicleSearchFilterValues\r\n }, () => { this.linkToNewSearch(); });\r\n }\r\n\r\n toggleModelName(event) {\r\n this.setState({\r\n dropdownOpenModelName: !this.state.dropdownOpenModelName\r\n });\r\n\r\n const target = event.target;\r\n const value = target.textContent;\r\n if (value !== 'Valitse') {\r\n var temp = this.state.vehicleSearchFilterValues.selectedModelNames.slice();\r\n if (!temp.includes(value)) {\r\n temp.push(value)\r\n }\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n vehicleSearchFilterValues.selectedModelNames = temp;\r\n this.setState({\r\n vehicleSearchFilterValues\r\n }, () => { this.linkToNewSearch(); });\r\n }\r\n }\r\n\r\n handleSelectedModelClick(event) {\r\n const target = event.target;\r\n console.log(\"target\", target);\r\n var temp = this.state.vehicleSearchFilterValues.selectedModelNames.slice();\r\n\r\n var filtered = temp.filter(function (value, index, arr) {\r\n return value !== event;\r\n });\r\n\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n vehicleSearchFilterValues.selectedModelNames = filtered;\r\n this.setState({\r\n vehicleSearchFilterValues\r\n }, () => { this.linkToNewSearch(); });\r\n }\r\n\r\n toggleLocation(event) {\r\n this.setState({\r\n dropdownOpenLocation: !this.state.dropdownOpenLocation\r\n });\r\n\r\n const target = event.target;\r\n const selectedLocation = target.textContent;\r\n const index = target.value;\r\n if (selectedLocation !== 'Valitse') {\r\n var temp = this.state.vehicleSearchFilterValues.locations.slice();\r\n var temp2 = this.state.vehicleSearchFilterValues.selectedLocationIds.slice();\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n\r\n var that = this;\r\n\r\n setTimeout(function() {\r\n temp[index].selected = true;\r\n temp2.push.apply(temp2, temp[index].locationIds);\r\n\r\n vehicleSearchFilterValues.locations = temp;\r\n vehicleSearchFilterValues.selectedLocationIds = temp2;\r\n\r\n that.setState({\r\n vehicleSearchFilterValues\r\n }, () => { that.linkToNewSearch(); });\r\n }, 100);\r\n }\r\n }\r\n\r\n handleSelectedLocationClick(event) {\r\n var temp = this.state.vehicleSearchFilterValues.locations.slice();\r\n\r\n var index = 0;\r\n this.state.vehicleSearchFilterValues.locations.map((item, j) => {\r\n if (item.location === event) {\r\n index = j;\r\n }\r\n });\r\n temp[index].selected = false;\r\n\r\n var temp2 = this.state.vehicleSearchFilterValues.selectedLocationIds.filter((item) => {\r\n if (item !== event) {\r\n return item;\r\n }\r\n });\r\n\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n\r\n vehicleSearchFilterValues.locations = temp;\r\n vehicleSearchFilterValues.selectedLocationIds = temp2;\r\n\r\n this.setState({\r\n vehicleSearchFilterValues\r\n }, () => { this.linkToNewSearch(); });\r\n }\r\n\r\n toggleMore(event) {\r\n event.preventDefault();\r\n\r\n this.setState({\r\n isMoreOpen: !this.state.isMoreOpen\r\n }, () => { this.showHideMoreTitles() });\r\n }\r\n\r\n showHideMoreTitles() {\r\n var btn = document.getElementById(\"btn-collapse-open\");\r\n if (this.state.isMoreOpen) {\r\n btn.classList.add(\"hidden\");\r\n }\r\n else {\r\n btn.classList.remove(\"hidden\");\r\n }\r\n }\r\n\r\n linkToNewSearch() {\r\n console.log(\"linkToNewSearch() with \", this.state.vehicleSearchFilterValues);\r\n\r\n this.props.history.push({\r\n pathname: \"/\",\r\n state: {\r\n vehicleSearchFilterValues: JSON.stringify(this.state.vehicleSearchFilterValues)\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.vehicleSearchFilterValues.locations.every(location => !location.selected)) {\r\n this.populateLocationsData();\r\n } \r\n }\r\n\r\n async populateLocationsData() {\r\n const response = await fetch('vehiclelocations', {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n }),\r\n });\r\n const data = await response.json();\r\n\r\n this.setState(prevState => {\r\n let vehicleSearchFilterValues = Object.assign({}, prevState.vehicleSearchFilterValues)\r\n vehicleSearchFilterValues.locations = data\r\n return { vehicleSearchFilterValues }\r\n });\r\n }\r\n\r\n render() {\r\n let modelNames = ['Scala', 'Citigo', 'Fabia', 'Octavia', 'Kamiq', 'Karoq', 'Kodiaq', 'Superb', 'Rapid', 'Enyaq'];\r\n\r\n let selectedLocations = this.state.vehicleSearchFilterValues.locations.filter(location => {\r\n return location.selected === true;\r\n });\r\n \r\n return (\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n Valitse\r\n \r\n \r\n {modelNames.map(modelNames => (\r\n this.toggleModelName}>{modelNames}\r\n ))}\r\n \r\n \r\n\r\n \r\n {this.state.vehicleSearchFilterValues.selectedModelNames.map(selectedModelName => (\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

Päästöt (CO2) g/km

\r\n {\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues };\r\n vehicleSearchFilterValues.co2 = co2;\r\n this.setState({ vehicleSearchFilterValues });\r\n }}\r\n onChangeComplete={co2 => {\r\n this.linkToNewSearch();\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}","import React, { Component } from 'react';\r\nimport { Button } from 'reactstrap';\r\nimport { Container } from 'reactstrap';\r\n\r\nimport '../custom.css';\r\n\r\nexport class ResetFiltersButton extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.resetSearchFilters = this.resetSearchFilters.bind(this);\r\n }\r\n\r\n resetSearchFilters(event) {\r\n this.props.history.push({\r\n pathname: \"/reloadfiltersblock\"\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}","import React, { Component } from 'react';\r\nimport { Button } from 'reactstrap';\r\nimport { Container } from 'reactstrap';\r\n\r\nimport '../custom.css';\r\n\r\nexport class PrimaryBannerButton extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n contentPagePath: this.props.contentPagePath,\r\n contentPageTitle: this.props.contentPageTitle\r\n };\r\n\r\n this.navigateToContentPage = this.navigateToContentPage.bind(this);\r\n }\r\n\r\n navigateToContentPage(event) {\r\n this.props.history.push({\r\n pathname: this.state.contentPagePath\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n}","export default __webpack_public_path__ + \"static/media/icon-search.55fd26bb.svg\";","export default __webpack_public_path__ + \"static/media/citigo.5dae8052.png\";","export default __webpack_public_path__ + \"static/media/fabia.369949ad.png\";","export default __webpack_public_path__ + \"static/media/karoq.dc521841.png\";","export default __webpack_public_path__ + \"static/media/kamiq.d4350eb9.png\";","export default __webpack_public_path__ + \"static/media/kodiaq.7b41c59f.png\";","export default __webpack_public_path__ + \"static/media/octavia.c2d30619.png\";","export default __webpack_public_path__ + \"static/media/scala.6d2d860a.png\";","export default __webpack_public_path__ + \"static/media/superb.c1603890.png\";","export default __webpack_public_path__ + \"static/media/rapid.cf829190.png\";","import React, { Component} from 'react';\r\nimport { Container, Row, Col, Spinner } from 'reactstrap';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport NumberFormat from 'react-number-format';\r\nimport { BottomScrollListener } from 'react-bottom-scroll-listener';\r\n\r\nimport { VehicleSearchFilters } from './VehicleSearchFilters';\r\nimport { ResetFiltersButton } from './ResetFiltersButton';\r\nimport { PrimaryBannerButton } from './PrimaryBannerButton';\r\nimport GoogleTagManager from './GoogleTagManager';\r\n\r\nimport '../custom.css';\r\nimport './Home.css';\r\n\r\nimport smallSearch from '../images/icon-search.svg';\r\n// Fallback car images\r\nimport carImageCitigo from '../images/cars/citigo.png';\r\nimport carImageFabia from '../images/cars/fabia.png';\r\nimport carImageKaroq from '../images/cars/karoq.png';\r\nimport carImageKamiq from '../images/cars/kamiq.png';\r\nimport carImageKodiaq from '../images/cars/kodiaq.png';\r\nimport carImageOctavia from '../images/cars/octavia.png';\r\nimport carImageScala from '../images/cars/scala.png';\r\nimport carImageSuperb from '../images/cars/superb.png';\r\nimport carImageRapid from '../images/cars/rapid.png'\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleSearchFilters = props.location.state !== undefined && props.location.state !== null\r\n && props.location.state.vehicleSearchFilterValues !== undefined && props.location.state.vehicleSearchFilterValues !== null ?\r\n JSON.parse(props.location.state.vehicleSearchFilterValues) : null;\r\n\r\n if (vehicleSearchFilters === null) {\r\n vehicleSearchFilters = JSON.parse(sessionStorage.getItem('session_vehicleSearchFilterValues'));\r\n }\r\n\r\n this.state = {\r\n vehicleSearchResult: [],\r\n vehicleSearchResultIndex: -1,\r\n loading: true,\r\n top: 30,\r\n skip: 0,\r\n dropdownOpenModelName: false,\r\n dropdownOpenLocation: false,\r\n setDropdownOpen: false,\r\n isMoreOpen: false,\r\n fallbackCarImages: {\r\n \"Citigo\": carImageCitigo,\r\n \"Fabia\": carImageFabia,\r\n \"Karoq\": carImageKaroq,\r\n \"Kamiq\": carImageKamiq,\r\n \"Kodiaq\": carImageKodiaq,\r\n \"Octavia\": carImageOctavia,\r\n \"Scala\": carImageScala,\r\n \"Superb\": carImageSuperb,\r\n \"Rapid\": carImageRapid\r\n },\r\n vehicleSearchFilterValues: {\r\n selectedModelNames: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedModelNames : [],\r\n isBodyTypeSedanSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeSedanSelected : false,\r\n isBodyTypeFarmariSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeFarmariSelected : false,\r\n isBodyTypeHacthbackSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeHacthbackSelected : false,\r\n isBodyTypeSUVSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isBodyTypeSUVSelected : false,\r\n selectedBodyTypeIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedBodyTypeIds : [],\r\n isFuelBensiiniSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelBensiiniSelected : false,\r\n isFuelDieselSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelDieselSelected : false,\r\n isFuelKaasuSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelKaasuSelected : false,\r\n isFuelSahkoSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelSahkoSelected : false,\r\n isFuelHybridiSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelHybridiSelected : false,\r\n selectedFuelIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedFuelIds : [],\r\n isTransmissionManualSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTransmissionManualSelected : false,\r\n isTransmissionAutomaticSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTransmissionAutomaticSelected : false,\r\n selectedTransmissionIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.selectedTransmissionIds : [],\r\n isFourWheelDriveSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFourWheelDriveSelected : false,\r\n askPrice: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.askPrice.min : 0,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.askPrice.max : 80000\r\n },\r\n mileage: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.mileage.min : 0,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.mileage.max : 130000\r\n },\r\n year: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.year.min : (new Date().getFullYear()) - 5,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.year.max : new Date().getFullYear()\r\n },\r\n locations: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.locations : [],\r\n selectedLocationIds: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null && vehicleSearchFilters.selectedLocationIds !== undefined ? vehicleSearchFilters.selectedLocationIds : [],\r\n isTowHitchSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isTowHitchSelected : false,\r\n isFuelDrivenAuxiliaryHeaterSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isFuelDrivenAuxiliaryHeaterSelected : false,\r\n isCruiseControlSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isCruiseControlSelected : false,\r\n isMetallicSelected: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.isMetallicSelected : false,\r\n accessories: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.accessories : [],\r\n co2: {\r\n min: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.co2.min : -1,\r\n max: vehicleSearchFilters !== undefined && vehicleSearchFilters !== null ? vehicleSearchFilters.co2.max : 220\r\n }\r\n }\r\n };\r\n\r\n this.renderVehicleSearchResult = this.renderVehicleSearchResult.bind(this);\r\n this.renderVehicles = this.renderVehicles.bind(this);\r\n\r\n this.handleOnDocumentBottom = this.handleOnDocumentBottom.bind(this);\r\n }\r\n\r\n handleOnDocumentBottom = () => {\r\n console.log('Scrolled to bottom! ')\r\n\r\n if (this.state.vehicleSearchResultIndex > -1 &&\r\n this.state.vehicleSearchResult[this.state.vehicleSearchResultIndex].totalResultCount > this.state.top) {\r\n this.setState({\r\n top: this.state.top + 30,\r\n skip: this.state.skip + 30,\r\n loading: true\r\n }, () => { this.componentDidMount(true) });\r\n }\r\n }\r\n\r\n renderVehicles(vehicleSearchResultChunk) {\r\n return (\r\n vehicleSearchResultChunk.inventoryVehicles.map((vehicle, i) =>\r\n \r\n
\r\n \r\n {vehicle.makeName { e.target.onerror = null; e.target.src = this.state.fallbackCarImages[vehicle.modelName] }} />\r\n

{vehicle.modelName}

\r\n

{vehicle.modelYear} | {vehicle.kilometrage} 000 km

\r\n

\r\n

\r\n \r\n
\r\n \r\n ) \r\n );\r\n }\r\n\r\n renderVehicleSearchResult(vehicleSearchResult) { \r\n\r\n let searchResultCount = vehicleSearchResult != null && this.state.vehicleSearchResultIndex > -1 ?\r\n vehicleSearchResult[this.state.vehicleSearchResultIndex].totalResultCount : 0;\r\n\r\n if (this.state.loading && this.state.vehicleSearchResultIndex < 0) {\r\n return (\r\n \r\n \r\n
\r\n

\"Hae\" Pikahakukriteerit

\r\n
\r\n
\r\n Löytyi {searchResultCount} Loisto-autoa\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

Loisto - vaihtoautojen valioyksilöt

\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 if (vehicleSearchResult[0].totalResultCount > 0) {\r\n let vehicles = [];\r\n vehicleSearchResult.map((vehicleSearchResultChunk, i) => vehicles.push(this.renderVehicles(vehicleSearchResultChunk)));\r\n return (\r\n \r\n \r\n
\r\n

\"Hae\" Pikahakukriteerit

\r\n
\r\n
\r\n Löytyi {searchResultCount} Loisto-autoa\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

Loisto - vaihtoautojen valioyksilöt

\r\n
\r\n \r\n
\r\n
\r\n {vehicles}\r\n
\r\n \r\n
\r\n );\r\n }\r\n else {\r\n return (\r\n \r\n \r\n
\r\n

\"Hae\" Pikahakukriteerit

\r\n
\r\n
\r\n Löytyi {searchResultCount} Loisto-autoa\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

Loisto - vaihtoautojen valioyksilöt

\r\n
\r\n \r\n
\r\n
Antamillasi hakuehdoilla ei löydy autoja
\r\n \r\n
\r\n );\r\n }\r\n }\r\n }\r\n\r\n\r\n render() {\r\n \r\n let contents = this.renderVehicleSearchResult(this.state.vehicleSearchResult);\r\n let bannerClassName = \"banner\";\r\n if (window.supportsWebp === false) {\r\n bannerClassName = \"banner-no-webp\";\r\n }\r\n const event = { platform: 'react-stack' }\r\n return (\r\n \r\n {/**/}\r\n
\r\n \r\n \r\n
\r\n

Loisto

\r\n

Vaihtoautojen valioyksilöt

\r\n (\r\n \r\n )} />\r\n
\r\n \r\n
\r\n
\r\n\r\n {contents}\r\n\r\n \r\n\r\n
\r\n );\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n\r\n let vehicleSearchFilters = nextProps.location.state !== undefined && nextProps.location.state !== null\r\n && nextProps.location.state.vehicleSearchFilterValues !== undefined && nextProps.location.state.vehicleSearchFilterValues !== null ?\r\n JSON.parse(nextProps.location.state.vehicleSearchFilterValues) : null;\r\n\r\n if (vehicleSearchFilters !== null) {\r\n if (vehicleSearchFilters.selectedModelNames.length !== prevState.vehicleSearchFilterValues.selectedModelNames.length ||\r\n vehicleSearchFilters.isBodyTypeSedanSelected !== prevState.vehicleSearchFilterValues.isBodyTypeSedanSelected ||\r\n vehicleSearchFilters.isBodyTypeFarmariSelected !== prevState.vehicleSearchFilterValues.isBodyTypeFarmariSelected ||\r\n vehicleSearchFilters.isBodyTypeHacthbackSelected !== prevState.vehicleSearchFilterValues.isBodyTypeHacthbackSelected ||\r\n vehicleSearchFilters.isBodyTypeSUVSelected !== prevState.vehicleSearchFilterValues.isBodyTypeSUVSelected ||\r\n vehicleSearchFilters.isFuelBensiiniSelected !== prevState.vehicleSearchFilterValues.isFuelBensiiniSelected ||\r\n vehicleSearchFilters.isFuelDieselSelected !== prevState.vehicleSearchFilterValues.isFuelDieselSelected ||\r\n vehicleSearchFilters.isFuelKaasuSelected !== prevState.vehicleSearchFilterValues.isFuelKaasuSelected ||\r\n vehicleSearchFilters.isFuelSahkoSelected !== prevState.vehicleSearchFilterValues.isFuelSahkoSelected ||\r\n vehicleSearchFilters.isFuelHybridiSelected !== prevState.vehicleSearchFilterValues.isFuelHybridiSelected ||\r\n vehicleSearchFilters.isTransmissionManualSelected !== prevState.vehicleSearchFilterValues.isTransmissionManualSelected || \r\n vehicleSearchFilters.isTransmissionAutomaticSelected !== prevState.vehicleSearchFilterValues.isTransmissionAutomaticSelected ||\r\n vehicleSearchFilters.isFourWheelDriveSelected !== prevState.vehicleSearchFilterValues.isFourWheelDriveSelected ||\r\n vehicleSearchFilters.askPrice.min !== prevState.vehicleSearchFilterValues.askPrice.min ||\r\n vehicleSearchFilters.askPrice.max !== prevState.vehicleSearchFilterValues.askPrice.max ||\r\n vehicleSearchFilters.mileage.min !== prevState.vehicleSearchFilterValues.mileage.min ||\r\n vehicleSearchFilters.mileage.max !== prevState.vehicleSearchFilterValues.mileage.max ||\r\n vehicleSearchFilters.year.min !== prevState.vehicleSearchFilterValues.year.min ||\r\n vehicleSearchFilters.year.max !== prevState.vehicleSearchFilterValues.year.max ||\r\n vehicleSearchFilters.selectedLocationIds.length !== prevState.vehicleSearchFilterValues.selectedLocationIds.length ||\r\n vehicleSearchFilters.isTowHitchSelected !== prevState.vehicleSearchFilterValues.isTowHitchSelected ||\r\n vehicleSearchFilters.isFuelDrivenAuxiliaryHeaterSelected !== prevState.vehicleSearchFilterValues.isFuelDrivenAuxiliaryHeaterSelected ||\r\n vehicleSearchFilters.isCruiseControlSelected !== prevState.vehicleSearchFilterValues.isCruiseControlSelected ||\r\n vehicleSearchFilters.isMetallicSelected !== prevState.vehicleSearchFilterValues.isMetallicSelected ||\r\n vehicleSearchFilters.co2.min !== prevState.vehicleSearchFilterValues.co2.min ||\r\n vehicleSearchFilters.co2.max !== prevState.vehicleSearchFilterValues.co2.max)\r\n {\r\n return {\r\n vehicleSearchFilterValues: vehicleSearchFilters,\r\n vehicleSearchResult: [],\r\n vehicleSearchResultIndex: -1,\r\n loading: true,\r\n top: 30,\r\n skip: 0\r\n };\r\n }\r\n else return null;\r\n }\r\n else return null;\r\n \r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n\r\n if (prevState.vehicleSearchFilterValues.selectedModelNames.length !== this.state.vehicleSearchFilterValues.selectedModelNames.length ||\r\n prevState.vehicleSearchFilterValues.isBodyTypeSedanSelected !== this.state.vehicleSearchFilterValues.isBodyTypeSedanSelected ||\r\n prevState.vehicleSearchFilterValues.isBodyTypeFarmariSelected !== this.state.vehicleSearchFilterValues.isBodyTypeFarmariSelected ||\r\n prevState.vehicleSearchFilterValues.isBodyTypeHacthbackSelected !== this.state.vehicleSearchFilterValues.isBodyTypeHacthbackSelected ||\r\n prevState.vehicleSearchFilterValues.isBodyTypeSUVSelected !== this.state.vehicleSearchFilterValues.isBodyTypeSUVSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelBensiiniSelected !== this.state.vehicleSearchFilterValues.isFuelBensiiniSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelDieselSelected !== this.state.vehicleSearchFilterValues.isFuelDieselSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelKaasuSelected !== this.state.vehicleSearchFilterValues.isFuelKaasuSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelSahkoSelected !== this.state.vehicleSearchFilterValues.isFuelSahkoSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelHybridiSelected !== this.state.vehicleSearchFilterValues.isFuelHybridiSelected ||\r\n prevState.vehicleSearchFilterValues.isTransmissionManualSelected !== this.state.vehicleSearchFilterValues.isTransmissionManualSelected ||\r\n prevState.vehicleSearchFilterValues.isTransmissionAutomaticSelected !== this.state.vehicleSearchFilterValues.isTransmissionAutomaticSelected ||\r\n prevState.vehicleSearchFilterValues.isFourWheelDriveSelected !== this.state.vehicleSearchFilterValues.isFourWheelDriveSelected ||\r\n prevState.vehicleSearchFilterValues.askPrice.min !== this.state.vehicleSearchFilterValues.askPrice.min ||\r\n prevState.vehicleSearchFilterValues.askPrice.max !== this.state.vehicleSearchFilterValues.askPrice.max ||\r\n prevState.vehicleSearchFilterValues.mileage.min !== this.state.vehicleSearchFilterValues.mileage.min ||\r\n prevState.vehicleSearchFilterValues.mileage.max !== this.state.vehicleSearchFilterValues.mileage.max ||\r\n prevState.vehicleSearchFilterValues.year.min !== this.state.vehicleSearchFilterValues.year.min ||\r\n prevState.vehicleSearchFilterValues.year.max !== this.state.vehicleSearchFilterValues.year.max ||\r\n prevState.vehicleSearchFilterValues.selectedLocationIds.length !== this.state.vehicleSearchFilterValues.selectedLocationIds.length ||\r\n prevState.vehicleSearchFilterValues.isTowHitchSelected !== this.state.vehicleSearchFilterValues.isTowHitchSelected ||\r\n prevState.vehicleSearchFilterValues.isFuelDrivenAuxiliaryHeaterSelected !== this.state.vehicleSearchFilterValues.isFuelDrivenAuxiliaryHeaterSelected ||\r\n prevState.vehicleSearchFilterValues.isCruiseControlSelected !== this.state.vehicleSearchFilterValues.isCruiseControlSelected ||\r\n prevState.vehicleSearchFilterValues.isMetallicSelected !== this.state.vehicleSearchFilterValues.isMetallicSelected ||\r\n prevState.vehicleSearchFilterValues.co2.min !== this.state.vehicleSearchFilterValues.co2.min ||\r\n prevState.vehicleSearchFilterValues.co2.max !== this.state.vehicleSearchFilterValues.co2.max)\r\n {\r\n this.populateVehicleData();\r\n }\r\n }\r\n\r\n componentDidMount(suppressScroll) {\r\n this.populateVehicleData();\r\n //if (!suppressScroll) {\r\n // window.scrollTo(0, 750);\r\n //}\r\n }\r\n\r\n async populateVehicleData() {\r\n const response = await fetch('vehiclesearch', {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n Top: this.state.top,\r\n Skip: this.state.skip,\r\n ModelNames: this.state.vehicleSearchFilterValues.selectedModelNames,\r\n FuelIds: this.state.vehicleSearchFilterValues.selectedFuelIds,\r\n BodyIds: this.state.vehicleSearchFilterValues.selectedBodyTypeIds,\r\n TransmissionIds: this.state.vehicleSearchFilterValues.selectedTransmissionIds,\r\n DriveIds: this.state.vehicleSearchFilterValues.isFourWheelDriveSelected ? [\"3\"] : [],\r\n Accessories: this.state.vehicleSearchFilterValues.accessories,\r\n Locations: this.state.vehicleSearchFilterValues.selectedLocationIds,\r\n AskPriceFilterRange: { \r\n MinAskPrice: this.state.vehicleSearchFilterValues.askPrice.min,\r\n MaxAskPrice: this.state.vehicleSearchFilterValues.askPrice.max\r\n },\r\n InTrafficDateFilterRange: {\r\n MinInTrafficDate: new Date(this.state.vehicleSearchFilterValues.year.min + \"-01-01\"),\r\n MaxInTrafficDate: new Date(this.state.vehicleSearchFilterValues.year.max + \"-12-31\")\r\n },\r\n KilometrageFilterRange: {\r\n MinKilometrage: this.state.vehicleSearchFilterValues.mileage.min < 1000 ? 0 :\r\n Math.floor(this.state.vehicleSearchFilterValues.mileage.min / 1000),\r\n MaxKilometrage: Math.floor(this.state.vehicleSearchFilterValues.mileage.max/1000)\r\n },\r\n CO2FilterRange: {\r\n MinCO2: this.state.vehicleSearchFilterValues.co2.min,\r\n MaxCO2: this.state.vehicleSearchFilterValues.co2.max\r\n }\r\n }),\r\n });\r\n const data = await response.json();\r\n\r\n var temp = this.state.vehicleSearchResult.slice();\r\n temp.push(data)\r\n\r\n this.setState({\r\n vehicleSearchResult: temp,\r\n vehicleSearchResultIndex: this.state.vehicleSearchResultIndex + 1,\r\n loading: false\r\n });\r\n\r\n sessionStorage.clear();\r\n sessionStorage.setItem('session_vehicleSearchFilterValues', JSON.stringify(this.state.vehicleSearchFilterValues));\r\n sessionStorage.setItem('session_vehicleSearchResult', JSON.stringify(this.state.vehicleSearchResult));\r\n }\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/arrow-back-big.2ee45c3c.svg\";","export default __webpack_public_path__ + \"static/media/arrow-back-small.4f06438e.svg\";","export default __webpack_public_path__ + \"static/media/auto-kuvat.a87ca132.png\";","import React, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport { Container, Row, Col, Spinner } from 'reactstrap';\r\nimport { TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport { Table } from 'reactstrap';\r\nimport { ListGroup, ListGroupItem, ListGroupItemHeading } from 'reactstrap';\r\nimport { Button, Collapse } from 'reactstrap';\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\r\nimport { Carousel } from 'react-responsive-carousel';\r\nimport NumberFormat from 'react-number-format';\r\nimport GoogleTagManager from './GoogleTagManager';\r\nimport { VehicleSearchFilters } from './VehicleSearchFilters';\r\nimport { ResetFiltersButton } from './ResetFiltersButton';\r\nimport { PrimaryBannerButton } from './PrimaryBannerButton';\r\n\r\nimport '../custom.css';\r\nimport './Home.css';\r\nimport './Vehicle.css';\r\n\r\nimport smallSearch from '../images/icon-search.svg';\r\nimport arrowBackBig from '../images/arrow-back-big.svg';\r\nimport arrowBackSmall from '../images/arrow-back-small.svg';\r\n\r\n// Fallback car images\r\nimport carImageCitigo from '../images/cars/citigo.png';\r\nimport carImageFabia from '../images/cars/fabia.png';\r\nimport carImageKaroq from '../images/cars/karoq.png';\r\nimport carImageKamiq from '../images/cars/kamiq.png';\r\nimport carImageKodiaq from '../images/cars/kodiaq.png';\r\nimport carImageOctavia from '../images/cars/octavia.png';\r\nimport carImageScala from '../images/cars/scala.png';\r\nimport carImageSuperb from '../images/cars/superb.png';\r\nimport carImageRapid from '../images/cars/rapid.png'\r\nimport demoVehicleBigImage from '../images/demovehicle/auto-kuvat.png';\r\n\r\nexport class Vehicle extends Component {\r\n static displayName = Vehicle.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleSearchFilters = props.location.state !== undefined && props.location.state.vehicleSearchFilterValues !== undefined ?\r\n JSON.parse(props.location.state.vehicleSearchFilterValues) : null;\r\n\r\n if (this.props.history.location.search === \"\") {\r\n this.props.history.push({\r\n pathname: \"/\"\r\n });\r\n }\r\n\r\n this.state = {\r\n vehicleSearchFilterValues: vehicleSearchFilters,\r\n vehicleResult: null,\r\n loading: true,\r\n activeTab: '1',\r\n isMoreFeaturesOpen: false,\r\n isSearchFiltersOpen: false,\r\n dropdownOpenModelName: false,\r\n dropdownOpenLocation: false,\r\n setDropdownOpen: false,\r\n isMoreOpen: false,\r\n fallbackCarImages: {\r\n \"Citigo\": carImageCitigo,\r\n \"Fabia\": carImageFabia,\r\n \"Karoq\": carImageKaroq,\r\n \"Kamiq\": carImageKamiq,\r\n \"Kodiaq\": carImageKodiaq,\r\n \"Octavia\": carImageOctavia,\r\n \"Scala\": carImageScala,\r\n \"Superb\": carImageSuperb,\r\n \"Rapid\": carImageRapid\r\n }\r\n };\r\n\r\n this.toggleTabs = this.toggleTabs.bind(this);\r\n this.toggleMoreFeatures = this.toggleMoreFeatures.bind(this);\r\n this.showHideMoreFeaturesTitles = this.showHideMoreFeaturesTitles.bind(this);\r\n this.renderVehicle = this.renderVehicle.bind(this);\r\n this.toggleSearchFilters = this.toggleSearchFilters.bind(this);\r\n }\r\n\r\n toggleTabs(tab) {\r\n if (this.state.activeTab !== tab) {\r\n this.setState({\r\n activeTab: tab\r\n });\r\n }\r\n }\r\n\r\n toggleMoreFeatures(event) {\r\n this.setState({\r\n isMoreFeaturesOpen: !this.state.isMoreFeaturesOpen\r\n }, () => { this.showHideMoreFeaturesTitles() });\r\n }\r\n\r\n showHideMoreFeaturesTitles() {\r\n console.log(\"this.state.isMoreFeaturesOpen \", this.state.isMoreFeaturesOpen);\r\n var btn = document.getElementById(\"btn-collapse-features-open\");\r\n if (this.state.isMoreFeaturesOpen) {\r\n btn.classList.add(\"hidden\");\r\n }\r\n else {\r\n btn.classList.remove(\"hidden\");\r\n }\r\n }\r\n\r\n toggleSearchFilters(event) {\r\n this.setState({\r\n isSearchFiltersOpen: !this.state.isSearchFiltersOpen\r\n });\r\n }\r\n\r\n renderVehicles(vehicleSearchResult) {\r\n let currentVehicleId = this.props.location.search.substring(4);\r\n let filteredStockVehicles = vehicleSearchResult[0].inventoryVehicles.filter(v => v.id !== currentVehicleId);\r\n let max = vehicleSearchResult[0].totalResultCount < 6 ? vehicleSearchResult[0].totalResultCount : 6;\r\n return (\r\n filteredStockVehicles.slice(0, max).map((vehicle, i) =>\r\n \r\n
\r\n \r\n {vehicle.formattedLicensePlateNumber} { e.target.onerror = null; e.target.src = this.state.fallbackCarImages[vehicle.modelName] }} />\r\n

{vehicle.modelName}

\r\n

{vehicle.modelYear} | {vehicle.kilometrage} 000 km

\r\n

\r\n

\r\n \r\n
\r\n \r\n ));\r\n }\r\n\r\n renderVehicle(vehicle) {\r\n if (vehicle === null) {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto - vaihtoautojen valioyksilöt\r\n \r\n
\r\n

Autoa ei löytynyt, se on mahdollisesti jo poistunut myynnistä.

\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n console.log(\"renderVehicle with \", vehicle);\r\n\r\n const fuelIdArray = {\r\n 0: 'Ei tiedossa', 1: 'Bensiini', 10: 'Hybridi diesel', 11: 'Plugin-hybridi bensiini', 12: 'Plugin-hybridi diesel',\r\n 13: 'Bensiini MHVE', 14: 'Diesel MHVE', 15: 'Sähkö-bensiini REx', 16: 'Sähkö-diesel REx',\r\n 2: 'Diesel', 3: 'Kaasu', 4: 'Sähkö', 5: 'Hybridi', 6: 'Bensiini-Kaasu', 7: 'Bensiini-Etanoli', 8: 'CNG Maakaasu', 9: 'Vety'};\r\n\r\n const gearboxArray = {\r\n 1: 'Manuaalinen' , 0: 'Puoliautomaatti' , 3: 'Automaattinen portaaton' , 2: 'Automaattinen' }\r\n ;\r\n\r\n const bodyTypeArray = {\r\n 0: 'Ei tiedossa', 1: 'Sedan', 2: 'Monikäyttö', 20: 'Erillinen kuormatila',\r\n 3: 'Viistoperä', 31: 'Custom/Chopper/Cruiser', 32: 'Enduro/Cross/All road/Off Road',\r\n 33: 'Katu/Matka/Sport', 34: 'Kilpa-ajoneuvo', 35: 'Trial', 36: 'Trike', 37: 'Yhdistelmä/Sivuvaunu',\r\n 4: 'Coupe', 5: 'Farmari', 6: 'Erikoisauto', 61: 'Avoauto', 7: 'Pakettiauto', 8: 'Maastoauto', 81: 'Pick-up', 9: 'Tila-auto'\r\n }\r\n\r\n const driveTypeArray = {\r\n 1: 'Etuveto',\r\n 2: 'Takaveto',\r\n 3: 'Neliveto'\r\n }\r\n let driveType = driveTypeArray[vehicle.technicalInformation.driveType];\r\n\r\n let vehicleFuel = fuelIdArray[vehicle.fuelType];\r\n let transmission = gearboxArray[vehicle.technicalInformation.transmissionType];\r\n let bodyType = bodyTypeArray[vehicle.bodyType];\r\n\r\n let inTrafficDate = new Date(Date.parse(vehicle.inTrafficDate));\r\n let inTrafficYear = inTrafficDate.getFullYear();\r\n let inTrafficMonth = inTrafficDate.getMonth() +1;\r\n let inTraffidDateStr = inTrafficDate.getDate() + '.' + inTrafficMonth + '.' + inTrafficYear;\r\n\r\n let kWPower = vehicle.technicalInformation.maxPower;\r\n let hpPower = printHpPower(kWPower);\r\n\r\n let inspectionDate = new Date(Date.parse(vehicle.inspectionDate));\r\n let inspectionMonth = inspectionDate.getMonth() + 1;\r\n let inspectionDateStr = inspectionDate.getDate() + '.' + inspectionMonth + '.' + inspectionDate.getFullYear();\r\n if (inspectionDateStr === '1.1.1') {\r\n inspectionDateStr = \"-\";\r\n }\r\n\r\n let accessoriesArray = vehicle.accessories;\r\n let resultToRender = [];\r\n\r\n // 0 - Package\r\n //const packageAccessoriesArray = accessoriesArray.filter(a =>\r\n // a.type === 0\r\n //);\r\n //if (packageAccessoriesArray.length !== 0) {\r\n // resultToRender.push({ sectionTitle: \"Paketti\", accessories: packageAccessoriesArray});\r\n //}\r\n\r\n // 1 - Custom standard accessories\r\n const customStandardAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 0 || a.type === 1 || a.type === 7\r\n );\r\n if (customStandardAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Muut varusteet ja lisätiedot autosta\", accessories: customStandardAccessoriesArray });\r\n }\r\n\r\n // 2 - Custom accessories\r\n const customAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 2\r\n );\r\n if (customAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Custom accessories (FI)\", accessories: customAccessoriesArray });\r\n }\r\n\r\n // 3 - New car standard accessories\r\n const newCarAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 3\r\n );\r\n if (newCarAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Vakiovarusteet\", accessories: newCarAccessoriesArray });\r\n }\r\n\r\n // 4 - New car additional accessories\r\n const newCarAdditionalAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 4\r\n );\r\n if (newCarAdditionalAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Tehdasasenteiset lisävarusteet\", accessories: newCarAdditionalAccessoriesArray });\r\n }\r\n\r\n // 5 - Ordered accessories\r\n const orderedAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 5\r\n );\r\n if (orderedAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Tilatut lisävarusteet\", accessories: orderedAccessoriesArray });\r\n }\r\n\r\n // 6 - Unknown\r\n const unknownAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 6\r\n );\r\n if (unknownAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Ei-määritellyt lisävarusteet\", accessories: unknownAccessoriesArray });\r\n }\r\n\r\n //// 7 - Campaign\r\n //const campaignAccessoriesArray = accessoriesArray.filter(a =>\r\n // a.type === 7\r\n //);\r\n //if (campaignAccessoriesArray.length !== 0) {\r\n // resultToRender.push({ sectionTitle: \"Kampanjavarusteet\", accessories: campaignAccessoriesArray });\r\n //}\r\n\r\n // 8 - From an external source\r\n const externalSourceAccessoriesArray = accessoriesArray.filter(a =>\r\n a.type === 8\r\n );\r\n if (externalSourceAccessoriesArray.length !== 0) {\r\n resultToRender.push({ sectionTitle: \"Muut lisävarusteet\", accessories: externalSourceAccessoriesArray });\r\n }\r\n\r\n let vehicleImages = vehicle.images.marketingImageUrls.slice().map((imageUrl, i) =>\r\n
\r\n \r\n \r\n {\"Kuva { e.target.onerror = null; e.target.src = this.state.fallbackCarImages[vehicle.modelName] }}>\r\n \r\n
\r\n );\r\n function AccessoriesListNested(props) {\r\n const accessories = props.accessories;\r\n\r\n const listItems = accessories.accessories.map((acc, idx) =>\r\n {acc.name}\r\n );\r\n return (\r\n \r\n \r\n \r\n {accessories.sectionTitle}\r\n \r\n {listItems}\r\n \r\n \r\n );\r\n }\r\n\r\n function AccessoriesList(props) {\r\n const accessories = props.accessories;\r\n const rootPosition = props.position;\r\n let position = props.position;\r\n\r\n let columnSize = accessories.length === 1 ? \"12\" : accessories.length === 2 ? \"6\" : \"4\"; \r\n\r\n let nestedAccessoriesList = [];\r\n let rootAccessories;\r\n\r\n if (accessories === undefined || accessories.length === 0) {\r\n return;\r\n }\r\n\r\n if (accessories.length > 1) {\r\n\r\n for (var i = position + 1; i < accessories.length; i++) {\r\n position = i;\r\n\r\n if (position % 3 === 0) {\r\n break;\r\n } \r\n\r\n let nestedAccessories = ;\r\n\r\n nestedAccessoriesList.push(nestedAccessories);\r\n }\r\n } else {\r\n columnSize = 12;\r\n }\r\n\r\n if (position > 1 && position < accessories.length - 1) {\r\n rootAccessories = ;\r\n }\r\n\r\n const listItems = accessories[rootPosition].accessories.map((acc, idx) => \r\n {acc.name}\r\n );\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {resultToRender[rootPosition].sectionTitle}\r\n \r\n {listItems}\r\n \r\n \r\n {nestedAccessoriesList}\r\n \r\n {rootAccessories}\r\n \r\n );\r\n }\r\n\r\n function printEngineVol(engineVol) {\r\n if (engineVol === 0) {\r\n return '';\r\n }\r\n if (engineVol === 999) {\r\n return \"1.0\";\r\n }\r\n\r\n var volume = engineVol.toString().substring(0, 1) + \".\" + engineVol.toString().substring(1);\r\n const input = parseFloat(volume);\r\n if (Number.isNaN(input)) {\r\n return '';\r\n }\r\n const rounded = input.toFixed(1);\r\n return rounded.toString();\r\n }\r\n\r\n function printHpPower(kWPower) {\r\n if (kWPower === 0) {\r\n return '';\r\n }\r\n\r\n const input = parseFloat(kWPower);\r\n if (Number.isNaN(input)) {\r\n return '';\r\n }\r\n const rounded = (input * 1.36).toFixed(0);\r\n return rounded.toString();\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto - vaihtoautojen valioyksilöt\r\n \r\n
\r\n

{vehicle.modelName} {vehicle.modelType.substring(0, vehicle.modelType.indexOfRegex('#|(\\\\d)'))}\r\n \r\n \r\n €\r\n

\r\n

{vehicle.modelType}

\r\n
\r\n {vehicle.marketingText}\r\n
\r\n \r\n
\r\n\r\n {vehicleImages.length > 0 &&\r\n \r\n \r\n \r\n {vehicleImages}\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\n \r\n \r\n \r\n \r\n \r\n \r\n
Käyttövoima{vehicleFuel}
Vaihteisto{transmission}
Rekisterinumero{vehicle.formattedLicensePlateNumber}
Korimalli{bodyType}
Käyttöönottovuosi{inTrafficYear}
Mittarilukema{vehicle.kilometrage} 000
Vetotapa{driveType}
Sijainti{vehicle.sellerCompanyName}
\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
Teho{kWPower} kW ({hpPower.toLocaleString('fi')} hv)
Kulutus l/100 km
- kaupunki{vehicle.fuelEconomy.city.toFixed(1)} l/100km
- maantie{vehicle.fuelEconomy.road.toFixed(1)} l/100 km
- yhdistetty{vehicle.fuelEconomy.combined.toFixed(1)} l/100 km
Väri{vehicle.colorText.fi}
Päästöt (CO2) g/km{vehicle.cO2} g/km
\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
Moottorin tilavuus{printEngineVol(vehicle.technicalInformation.engineVol)} L
Henkilömäärä{vehicle.technicalInformation.seatCount}
Ovien lukumäärä{vehicle.doorAmount}
Viimeisin katsastus{inspectionDateStr}
\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
Omamassa{vehicle.technicalInformation.curbWeight} kg
Käyttöönottopäivä{inTraffidDateStr}
Vetomassa (jarrullinen){vehicle.technicalInformation.towingCapacityWithBrakes} kg
Vetomassa (ei jarruja){vehicle.technicalInformation.towingCapacityWithoutBrakes} kg
Kiihtyvyys 0-100 km/h{vehicle.technicalInformation.acceleration.toFixed(1)} s
\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 At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore,\r\n
\r\n\r\n
\r\n At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio.\r\n
\r\n \r\n
*/}\r\n\r\n \r\n \r\n \r\n Ota yhteyttä\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 \"Back\"\r\n Loisto - vaihtoautojen valioyksilöt\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n\r\n }\r\n\r\n render() {\r\n\r\n let contents = this.state.loading ?\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n : \r\n this.renderVehicle(this.state.vehicleResult);\r\n\r\n let searchResultCount = this.props.location.state !== undefined && this.props.location.state.vehicleSearchResult != null ?\r\n this.props.location.state.vehicleSearchResult[0].totalResultCount : 0;\r\n\r\n let othervehicles = this.props.location.state !== undefined && this.props.location.state.vehicleSearchResult ? this.renderVehicles(this.props.location.state.vehicleSearchResult) : null;\r\n\r\n let bannerClassName = \"vehicle-page-banner\";\r\n if (window.supportsWebp === false) {\r\n bannerClassName = \"vehicle-page-banner-no-webp\";\r\n }\r\n const event = { platform: 'react-stack' }\r\n return (\r\n \r\n {/**/}\r\n
\r\n \r\n \r\n
\r\n

Loisto

\r\n

Vaihtoautojen valioyksilöt

\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 Löytyi {searchResultCount} Loisto-autoa\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 {othervehicles}\r\n\r\n
\r\n \r\n \"Back\"\r\n Loisto - vaihtoautojen valioyksilöt\r\n \r\n
\r\n
\r\n \r\n \r\n {contents}\r\n\r\n
\r\n\r\n
\r\n );\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.setState({\r\n loading: true\r\n }, () => {this.componentDidMount() }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.location.search !== \"\") {\r\n this.populateVehicleData();\r\n window.scrollTo(0, 700);\r\n }\r\n }\r\n\r\n async populateVehicleData() {\r\n const vehicleId = this.props.location.search;\r\n const response = await fetch('vehicle' + vehicleId);\r\n\r\n if (response.status === 200) {\r\n const data = await response.json();\r\n\r\n this.setState({\r\n vehicleResult: data,\r\n loading: false,\r\n activeTab: '1',\r\n isMoreFeaturesOpen: false\r\n });\r\n } else {\r\n this.setState({\r\n loading: false\r\n });\r\n }\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { Button, Collapse } from 'reactstrap';\r\nimport NumberFormat from 'react-number-format';\r\nimport GoogleTagManager from './GoogleTagManager';\r\nimport { VehicleSearchFilters } from './VehicleSearchFilters';\r\nimport { ResetFiltersButton } from './ResetFiltersButton';\r\nimport { PrimaryBannerButton } from './PrimaryBannerButton';\r\n\r\nimport '../custom.css';\r\nimport './Home.css';\r\nimport './Vehicle.css';\r\nimport './Content.css';\r\n\r\nimport smallSearch from '../images/icon-search.svg';\r\nimport arrowBackBig from '../images/arrow-back-big.svg';\r\nimport arrowBackSmall from '../images/arrow-back-small.svg';\r\n\r\n// Fallback car images\r\nimport carImageCitigo from '../images/cars/citigo.png';\r\nimport carImageFabia from '../images/cars/fabia.png';\r\nimport carImageKaroq from '../images/cars/karoq.png';\r\nimport carImageKamiq from '../images/cars/kamiq.png';\r\nimport carImageKodiaq from '../images/cars/kodiaq.png';\r\nimport carImageOctavia from '../images/cars/octavia.png';\r\nimport carImageScala from '../images/cars/scala.png';\r\nimport carImageSuperb from '../images/cars/superb.png';\r\nimport carImageRapid from '../images/cars/rapid.png'\r\n\r\n//import demoCar from '../images/demovehicle/skoda-superb-black-edition-black.jpg';\r\n\r\nexport class Content extends Component {\r\n static displayName = Content.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleSearchFilters = JSON.parse(sessionStorage.getItem('session_vehicleSearchFilterValues'));\r\n let vehicleSearchResult = JSON.parse(sessionStorage.getItem('session_vehicleSearchResult'));\r\n\r\n this.state = {\r\n vehicleSearchResult: vehicleSearchResult,\r\n vehicleSearchFilterValues: vehicleSearchFilters,\r\n isSearchFiltersOpen: false,\r\n dropdownOpenModelName: false,\r\n dropdownOpenLocation: false,\r\n setDropdownOpen: false,\r\n isMoreOpen: false,\r\n fallbackCarImages: {\r\n \"Citigo\": carImageCitigo,\r\n \"Fabia\": carImageFabia,\r\n \"Karoq\": carImageKaroq,\r\n \"Kamiq\": carImageKamiq,\r\n \"Kodiaq\": carImageKodiaq,\r\n \"Octavia\": carImageOctavia,\r\n \"Scala\": carImageScala,\r\n \"Superb\": carImageSuperb,\r\n \"Rapid\": carImageRapid\r\n }\r\n };\r\n\r\n this.toggleSearchFilters = this.toggleSearchFilters.bind(this);\r\n }\r\n\r\n toggleSearchFilters(event) {\r\n this.setState({\r\n isSearchFiltersOpen: !this.state.isSearchFiltersOpen\r\n });\r\n }\r\n\r\n renderVehicles(vehicleSearchResult) {\r\n let max = 0;\r\n if (vehicleSearchResult && (vehicleSearchResult.length > 0)) {\r\n max = vehicleSearchResult[0].totalResultCount < 6 ? vehicleSearchResult[0].totalResultCount : 6;\r\n }\r\n\r\n if (!max) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n vehicleSearchResult[0].inventoryVehicles.slice(0, max).map((vehicle, i) =>\r\n \r\n
\r\n \r\n {vehicle.makeName { e.target.onerror = null; e.target.src = this.state.fallbackCarImages[vehicle.modelName] }} />\r\n

{vehicle.modelName} {vehicle.modelType}

\r\n

{vehicle.modelYear} | {vehicle.kilometrage} 000 km

\r\n

\r\n

\r\n \r\n
\r\n \r\n ));\r\n }\r\n\r\n render() {\r\n\r\n let searchResultCount = 0;\r\n if (this.state.vehicleSearchResult && this.state.vehicleSearchResult.length > 0) {\r\n searchResultCount = this.state.vehicleSearchResult[0].totalResultCount;\r\n }\r\n\r\n let bannerClassName = \"vehicle-page-banner\";\r\n if (window.supportsWebp === false) {\r\n bannerClassName = \"vehicle-page-banner-no-webp\";\r\n }\r\n\r\n\r\n let othervehicles = this.renderVehicles(this.state.vehicleSearchResult);\r\n const event = { platform: 'react-stack' }\r\n return (\r\n \r\n {/**/}\r\n
\r\n \r\n \r\n
\r\n

Loisto

\r\n

Vaihtoautojen valioyksilöt

\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 Löytyi {searchResultCount} Loisto-autoa\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 {othervehicles}\r\n
\r\n \r\n \"Back\"\r\n Loisto-vaihtoautojen valioyksilöt\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto - vaihtoautojen valioyksilöt\r\n \r\n
\r\n\r\n

Loisto – vaihtoautojen valioyksilöt

\r\n\r\n
\r\n Loisto on Škodan uusi vaihtoauto-ohjelma, josta löydät parhaat ja valikoidut Škoda-vaihtoautot. Kaikki Loisto-ohjelmaan kuuluvat vaihtoautot ovat huolellisesti kuntotarkastettuja ja huoltokirjoiltaan aukottomia, alle viisivuotiaita ja maksimissaan 130 000 km ajettuja valioyksilöitä.\r\n
\r\n \r\n
\r\n Loisto-ohjelman vaihtoautoihin on hankittavissa Loisto-vaihtoautoturva, joka tuo huolettomuutta autonhankintaan. Loisto-vaihtoautoturva kattaa auton tekniset viat ja rikkoutumiset 1 vuoden tai 20 000 km ajan ostohetkestä. Loisto-vaihtoautoturvassa on nerokasta sekin, että jos jostain syystä tulet toisiin aatoksiin uuden Loisto-vaihtoautosi kanssa, voit vaihtaa sen toiseen Škoda-merkkiseen autoon 14 vuorokauden tai 1000 km kuluttua auton ostohetkestä.\r\n
\r\n\r\n
\r\n Loisto-vaihtoautoturvan saat ainoastaan valtuutetulta Škoda-jälleenmyyjältäsi.\r\n
\r\n\r\n
\r\n Tutustu Škodan Loisto-vaihtoautovalikoimaan ja valitse omasi.\r\n
\r\n\r\n

Škodan Loisto-vaihtoautot pähkinänkuoressa

\r\n\r\n
\r\n Alle 5-vuotiaita valioyksilöitä\r\n Mittarilukema alle 130 000 km\r\n Merkkihuolloissa huollettuja ja kuntotarkastettuja\r\n Ajoturva voimassa\r\n Lisäpalveluna hankittavissa myös Loisto-vaihtoautoturva 12 kk/20 000 km\r\n
\r\n\r\n

Loisto-vaihtoautoturva tuo huolettomuutta autonhankintaan

\r\n\r\n
\r\n

Huolettomia ajokilometrejä

\r\n Loisto-vaihtoautoturva kattaa auton teknisten vikojen ja rikkoutumisien korjauksen 1 vuoden tai 20 000 km ajan auton ostohetkestä.\r\n
\r\n
\r\n

Tarkastettu ja kunnostettu

\r\n Loisto-vaihtoautot ovat Škoda Service -merkkihuolloissa huollettuja ja huolellisesti kuntotarkastettuja sekä huoltokirjaltaan aukottomia vaihtoautoja.\r\n
\r\n
\r\n

Turva tien päälle

\r\n Loisto-vaihtoautoissa on voimassa myös Škoda Ajoturva, joka tarjoaa 24 h tiepalvelun ja tarvittaessa autosi hinauksen sekä sinun ja matkaseurueesi kuljetuksen pois vikapaikalta, mikäli autosi kuntoon saattaminen vaatisikin korjaamotoimenpiteitä.\r\n
\r\n
\r\n Teknisen vian tai rikkoutumisen sattuessa Škoda Ajoturva tarjoaa sinulle sijaisauton, mikäli autoasi ei saada saman päivän aikana kuntoon. Škoda Ajoturva on voimassa seuraavaan huoltoon asti ja on elinikäinen, kun huollatat autosi huolto-ohjelman mukaisesti Škoda Service -merkkihuollossa.\r\n
\r\n
\r\n Lue lisää Škoda Ajoturvasta tästä.\r\n
\r\n
\r\n

Vaihto-oikeus

\r\n Jos jostain syystä tuletkin toisiin aatoksiin uuden Loisto-vaihtoturvallisen autosi kanssa, sinulla on mahdollisuus vaihtaa autosi toiseen Škoda-merkkiseen vaihtoautoon 14 vuorokauden tai 1000 km kuluttua auton ostohetkestä.\r\n
\r\n
\r\n

Kotiinkuljetus

\r\n Halutessasi auto toimitetaan kaupanteon jälkeen suoraan kotiosoitteeseesi. Kysy lisää kotiinkuljetuksesta ja siihen liittyvistä kustannuksista Škoda-jälleenmyyjältäsi.\r\n
\r\n
\r\n
\r\n Loisto-vaihtoautoturvan hinta on 490€.\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport { Container, Row, Col, Spinner } from 'reactstrap';\r\nimport { CustomInput } from 'reactstrap';\r\nimport GoogleTagManager from './GoogleTagManager';\r\nimport { PrimaryBannerButton } from './PrimaryBannerButton';\r\n\r\nimport '../custom.css';\r\nimport './ContactForm.css';\r\n\r\nimport arrowBackBig from '../images/arrow-back-big.svg';\r\nimport arrowBackSmall from '../images/arrow-back-small.svg';\r\n\r\nexport class ContactForm extends Component {\r\n static displayName = ContactForm.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleResult = props.location.state !== undefined && props.location.state.vehicleResult !== undefined ?\r\n JSON.parse(props.location.state.vehicleResult) : null;\r\n\r\n var messagePlaceholderValue = \"Hei, olen kiinnostunut Loisto-autosta \";\r\n\r\n if (vehicleResult !== null) {\r\n messagePlaceholderValue = messagePlaceholderValue + vehicleResult.makeName + ' '\r\n + vehicleResult.modelName + ' rekisterinumero ' + vehicleResult.formattedLicensePlateNumber;\r\n }\r\n\r\n this.state = {\r\n vehicleResult: vehicleResult,\r\n name: '',\r\n email: '',\r\n email2: '',\r\n phone: '',\r\n interestedInTestDriveSelected: false,\r\n interestedInBuyingSelected: false,\r\n interestedInChangingSelected: false,\r\n message: messagePlaceholderValue,\r\n isContactTypeEmailSelected: false,\r\n isContactTypePhoneSelected: false,\r\n isSendCopySelected: false,\r\n isEmailsTheSame: true,\r\n isSentWithErrors: false,\r\n isSentWithoutErrors: false,\r\n loading: false,\r\n interestedInChangingReg: '',\r\n interestedInChangingKm: '',\r\n gdbrAcceptedSelected: false,\r\n marketingByEmailAllowedSelected: false\r\n };\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n handleChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n if (name === \"interestedInChangingSelected\")\r\n if (!target.checked)\r\n this.setState({\r\n interestedInChangingReg: '',\r\n interestedInChangingKm: ''\r\n });\r\n \r\n this.setState({\r\n [name]: value,\r\n isEmailsTheSame: true,\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n console.log(this.state);\r\n\r\n if (this.state.email !== this.state.email2) {\r\n this.setState({\r\n isEmailsTheSame: false\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n loading: true\r\n }\r\n );\r\n\r\n fetch('InfoDealer',\r\n {\r\n method: \"POST\",\r\n body: JSON.stringify(this.state),\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n }).then(\r\n (response) => (response.json())\r\n ).then((response) => {\r\n if (response === true) {\r\n this.setState({\r\n isSentWithoutErrors: true,\r\n loading: false\r\n });\r\n } else {\r\n this.setState({\r\n isSentWithErrors: true,\r\n loading: false\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n let bannerClassName = \"vehicle-page-banner\";\r\n if (window.supportsWebp === false) {\r\n bannerClassName = \"vehicle-page-banner-no-webp\";\r\n }\r\n const interestedInChangingContent = this.state.interestedInChangingSelected\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 : null;\r\n const event = { platform: 'react-stack' }\r\n return (\r\n \r\n {/**/}\r\n
\r\n \r\n \r\n
\r\n

Loisto

\r\n

Vaihtoautojen valioyksilöt

\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 \"Back\"\r\n Loisto
-vaihtoautot
\r\n \r\n
\r\n
\r\n \r\n\r\n {!this.state.isSentWithErrors && !this.state.isSentWithoutErrors && !this.state.loading &&\r\n (\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto-vaihtoautot\r\n \r\n
\r\n\r\n

Ota yhteyttä

\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\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 Olen kiinnostunut\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n {interestedInChangingContent}\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 Haluamani vastaustapa\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 Olen lukenut ja ymmärtänyt Škoda:n \r\n \r\n \r\n tietoturvaselosteen\r\n \r\n
\r\n }\r\n checked={this.state.gdbrAcceptedSelected}\r\n onChange={this.handleChange}\r\n />\r\n \r\n \r\n
\r\n \r\n {!this.state.isEmailsTheSame &&\r\n
\r\n \r\n ! \r\n
\r\n }\r\n\r\n
\r\n \r\n Lähetä yhteydenottolomake\r\n \r\n
\r\n Tämän viestin vastaanottaja: {this.state.vehicleResult.sellerCompanyName}\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n )}\r\n {!this.state.isSentWithErrors && this.state.isSentWithoutErrors && !this.state.loading &&\r\n (\r\n
\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto-vaihtoautot\r\n \r\n
\r\n\r\n

Ota yhteyttä

\r\n\r\n
\r\n
\r\n Viesti on lähetetty.\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n )}\r\n {this.state.isSentWithErrors && !this.state.isSentWithoutErrors && !this.state.loading &&\r\n (\r\n
\r\n \r\n \r\n
\r\n \r\n \"Back\"\r\n Loisto-vaihtoautot\r\n \r\n
\r\n\r\n

Ota yhteyttä

\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.loading &&\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}","/*Due to existing implementation, I found no other easy way to reset filters on the welcome page. Another option is to refactor code to pass parameters correctly. In this case it means to rewrite code completely.*/\r\n\r\nimport React, { Component } from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { Container } from 'reactstrap';\r\n\r\nimport { VehicleSearchFilters } from './VehicleSearchFilters';\r\n\r\nexport class ReloadFiltersBlock extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let vehicleSearchFilters = JSON.parse(sessionStorage.getItem('session_vehicleSearchFilterValues'));\r\n let vehicleSearchResult = JSON.parse(sessionStorage.getItem('session_vehicleSearchResult'));\r\n\r\n this.state = {\r\n vehicleSearchResult: vehicleSearchResult,\r\n vehicleSearchFilterValues: vehicleSearchFilters\r\n };\r\n }\r\n componentDidMount() {\r\n var vehicleSearchFilterValues = { ...this.state.vehicleSearchFilterValues }\r\n\r\n vehicleSearchFilterValues.selectedModelNames = [];\r\n vehicleSearchFilterValues.isBodyTypeSedanSelected = false;\r\n vehicleSearchFilterValues.isBodyTypeFarmariSelected = false;\r\n vehicleSearchFilterValues.isBodyTypeHacthbackSelected = false;\r\n vehicleSearchFilterValues.isBodyTypeSUVSelected = false;\r\n vehicleSearchFilterValues.selectedBodyTypeIds = [];\r\n vehicleSearchFilterValues.isFuelBensiiniSelected = false;\r\n vehicleSearchFilterValues.isFuelDieselSelected = false;\r\n vehicleSearchFilterValues.isFuelKaasuSelected = false;\r\n vehicleSearchFilterValues.isFuelSahkoSelected = false;\r\n vehicleSearchFilterValues.isFuelHybridiSelected = false;\r\n vehicleSearchFilterValues.selectedFuelIds = [];\r\n vehicleSearchFilterValues.isTransmissionManualSelected = false;\r\n vehicleSearchFilterValues.isTransmissionAutomaticSelected = false;\r\n vehicleSearchFilterValues.selectedTransmissionIds = [];\r\n vehicleSearchFilterValues.isFourWheelDriveSelected = false;\r\n\r\n if (vehicleSearchFilterValues.askPrice !== undefined) {\r\n vehicleSearchFilterValues.askPrice.min = 0;\r\n vehicleSearchFilterValues.askPrice.max = 80000;\r\n } else {\r\n vehicleSearchFilterValues.askPrice = {\r\n min: 0,\r\n max: 80000\r\n }\r\n }\r\n\r\n if (vehicleSearchFilterValues.mileage !== undefined) {\r\n vehicleSearchFilterValues.mileage.min = 0;\r\n vehicleSearchFilterValues.mileage.max = 130000;\r\n } else {\r\n vehicleSearchFilterValues.mileage = {\r\n min: 0,\r\n max: 130000\r\n }\r\n }\r\n\r\n if (vehicleSearchFilterValues.locations !== undefined) {\r\n for (var index = 0; index < vehicleSearchFilterValues.locations.length; ++index) {\r\n vehicleSearchFilterValues.locations[index].selected = false;\r\n }\r\n } else {\r\n vehicleSearchFilterValues.locations = [];\r\n }\r\n\r\n if (vehicleSearchFilterValues.year !== undefined) {\r\n vehicleSearchFilterValues.year.min = (new Date().getFullYear()) - 5;\r\n vehicleSearchFilterValues.year.max = new Date().getFullYear();\r\n } else {\r\n vehicleSearchFilterValues.year = {\r\n min: (new Date().getFullYear()) - 5,\r\n max: new Date().getFullYear()\r\n }\r\n }\r\n vehicleSearchFilterValues.selectedModelNames = [];\r\n vehicleSearchFilterValues.selectedLocationIds = [];\r\n vehicleSearchFilterValues.isTowHitchSelected = false;\r\n vehicleSearchFilterValues.isFuelDrivenAuxiliaryHeaterSelected = false;\r\n vehicleSearchFilterValues.isCruiseControlSelected = false;\r\n vehicleSearchFilterValues.isMetallicSelected = false;\r\n vehicleSearchFilterValues.accessories = [];\r\n\r\n if (vehicleSearchFilterValues.co2 !== undefined) {\r\n vehicleSearchFilterValues.co2.min = -1;\r\n vehicleSearchFilterValues.co2.max = 220;\r\n } else {\r\n vehicleSearchFilterValues.co2 = {\r\n min: -1,\r\n max: 220\r\n }\r\n }\r\n\r\n\r\n this.setState({\r\n vehicleSearchFilterValues\r\n }, () => {\r\n this.props.history.push({\r\n pathname: \"/\",\r\n state: {\r\n vehicleSearchFilterValues: JSON.stringify(this.state.vehicleSearchFilterValues)\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\n}","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Home';\r\nimport { Vehicle } from './components/Vehicle';\r\nimport { Content } from './components/Content';\r\nimport { ContactForm } from './components/ContactForm';\r\nimport { ReloadFiltersBlock } from './components/ReloadFiltersBlock';\r\nimport './compatibility.js';\r\n\r\nimport './custom.css'\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\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","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport { unregister } from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nunregister();\r\n\r\n","import React, { Component } from 'react';\r\nimport gtmParts from 'react-google-tag-manager';\r\nimport PropTypes from 'prop-types';\r\n\r\n// inside the render method where you want to include the tag manager\r\n//\r\n\r\n// or with all optional parameters\r\n// const event = { platform: 'react-stack' }\r\n// < GoogleTagManager gtmId = 'GTM-12345' scriptId = 'gtm-script-container' dataLayerName = 'dl-backup' additionalEvents = { event } previewVariables = '' scheme = 'https:' />\r\n\r\nclass GoogleTagManager extends Component {\r\n componentDidMount() {\r\n const dataLayerName = this.props.dataLayerName || 'dataLayer';\r\n const scriptId = this.props.scriptId || 'react-google-tag-manager-gtm';\r\n\r\n if (!window[dataLayerName]) {\r\n const gtmScriptNode = document.getElementById(scriptId);\r\n\r\n eval(gtmScriptNode.textContent);\r\n }\r\n }\r\n\r\n render() {\r\n const gtm = gtmParts({\r\n id: this.props.gtmId,\r\n dataLayerName: this.props.dataLayerName || 'dataLayer',\r\n additionalEvents: this.props.additionalEvents || {},\r\n previewVariables: this.props.previewVariables || false,\r\n scheme: this.props.scheme || 'https:',\r\n });\r\n\r\n return (\r\n
\r\n
{gtm.noScriptAsReact()}
\r\n
\r\n {gtm.scriptAsReact()}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nGoogleTagManager.propTypes = {\r\n gtmId: PropTypes.string.isRequired,\r\n dataLayerName: PropTypes.string,\r\n additionalEvents: PropTypes.object,\r\n previewVariables: PropTypes.string,\r\n scriptId: PropTypes.string,\r\n scheme: PropTypes.string,\r\n};\r\n\r\nexport default GoogleTagManager;\r\n"],"sourceRoot":""}