{"version":3,"file":"286.f2b5f5d5f6ec32c3.js","mappings":"+IAQO,MAAMA,EAAwBC,GAAmBC,IAC7CC,EAAAA,EAAAA,IAAI,8BAAgC,IAAIC,gBAAgB,CAC3DH,cAAeA,KACfI,MAAMC,GAAaC,EAAYL,KAI1BM,EAA2BP,GAAmBC,IAChDC,EAAAA,EAAAA,IAAI,mCAAqC,IAAIC,gBAAgB,CAChEH,cAAeA,KACfI,MAAMC,GAAaC,EAAYL,KAIvC,SAASK,EAAYL,IACnBC,EAAAA,EAAAA,IAAI,mBACCE,MAAKC,GAAYA,EAASG,SAC1BJ,MAAMK,IACLR,EAASS,EAAQ,CACbD,SAAUA,IADd,IAIDE,OAAOC,IACNX,GAASY,EAAAA,EAAAA,GAAWD,GAAKE,GAAUC,EAAUD,KAA7C,GAEP,CAEM,MAAMC,EAAaD,IAAD,CACrBE,KAAMC,EAAAA,GACNC,QAAS,CACLJ,WAIKJ,EAAWD,IAAD,CACnBO,KAAMG,EAAAA,GACND,QAAST,G,2FCvCb,MAyBA,EAzB2B,EAAET,oBACzB,MAAMC,GAAWmB,EAAAA,EAAAA,MAEXX,GAAWY,EAAAA,EAAAA,KAAaC,GAAUA,EAAMC,mBAAmBd,WAYjE,SAASe,IACL,OAAOf,EAASgB,KAAIC,GAAKA,EAAE1B,gBAAe2B,SAAS3B,EACtD,CAGD,OACI,0BAAQ,cAAY4B,EAAAA,EAAAA,GAAU,2BAA4BC,UAAW,qCAAuCL,IAAa,6CAA8C,IAAKM,QAAS,KAfjLN,IAMJvB,GAASM,EAAAA,EAAAA,IAAwBP,IAL7BC,GAASF,EAAAA,EAAAA,IAAqBC,GAclC,GADJ,C","sources":["webpack:///./Scripts/Actions/ComparisonProducts.action.js","webpack:///./Scripts/Components/ProductItem/ProductItemCompareButton.js"],"sourcesContent":["import {get} from '../Services/http';\nimport {catchError} from './Error.action';\nimport {\n COMPARISON_PRODUCTS_LOAD_ERROR,\n COMPARISON_PRODUCTS_LOADING,\n COMPARISON_PRODUCTS_RECEIVE,\n} from '../constants';\n\nexport const addComparisonProduct = (articleNumber) => (dispatch) => {\n return get('/CompareCookie/AddToCookie?' + new URLSearchParams({\n articleNumber: articleNumber,\n })).then((response) => getProducts(dispatch))\n};\n\n\nexport const removeComparisonProduct = (articleNumber) => (dispatch) => {\n return get('/CompareCookie/DeleteFromCookie?' + new URLSearchParams({\n articleNumber: articleNumber,\n })).then((response) => getProducts(dispatch))\n};\n\n\nfunction getProducts(dispatch) {\n get('/CompareCookie/')\n .then(response => response.json())\n .then((products) => {\n dispatch(receive({\n products: products\n }));\n })\n .catch((ex) => {\n dispatch(catchError(ex, (error) => loadError(error)));\n });\n}\n\nexport const loadError = (error) => ({\n type: COMPARISON_PRODUCTS_LOAD_ERROR,\n payload: {\n error,\n },\n});\n\nexport const receive = (products) => ({\n type: COMPARISON_PRODUCTS_RECEIVE,\n payload: products,\n});\n\nexport const loadingResellers = (status) => ({\n type: COMPARISON_PRODUCTS_LOADING,\n payload: status,\n});\n","import React from 'react';\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {addComparisonProduct, removeComparisonProduct} from \"../../Actions/ComparisonProducts.action\";\nimport {translate} from \"../../Services/translation\";\n\nconst AddToCompareButton = ({articleNumber}) => {\n const dispatch = useDispatch();\n\n const products = useSelector((state) => state.comparisonProducts.products);\n\n function handleClick(){\n if(!isActive()){\n dispatch(addComparisonProduct(articleNumber));\n\n return;\n }\n\n dispatch(removeComparisonProduct(articleNumber));\n }\n\n function isActive(){\n return products.map(x => x.articleNumber).includes(articleNumber);\n }\n\n\n return (\n \n );\n};\n\nexport default AddToCompareButton;\n"],"names":["addComparisonProduct","articleNumber","dispatch","get","URLSearchParams","then","response","getProducts","removeComparisonProduct","json","products","receive","catch","ex","catchError","error","loadError","type","COMPARISON_PRODUCTS_LOAD_ERROR","payload","COMPARISON_PRODUCTS_RECEIVE","useDispatch","useSelector","state","comparisonProducts","isActive","map","x","includes","translate","className","onClick"],"sourceRoot":""}