{"version":3,"sources":["tailwind.my.config.js","components/Buttons/ActionButton/index.tsx","components/Loader/index.tsx","components/InnerLoader/index.tsx","assets/images/logo_green.png","redux/actionTypes.tsx","redux/reducers/general.tsx","redux/actions.tsx","redux/reducers/accessori.tsx","redux/reducers/generatore.tsx","utils/storage.tsx","utils/consts.tsx","utils/utils.tsx","redux/reducers/generatoreestint.tsx","redux/reducers/optional.tsx","redux/reducers/panche.tsx","assets/images/materials/Cerniera_SX.svg","assets/images/materials/Cerniera_DX.svg","i18n.js","redux/reducers/porte_vetrate.tsx","redux/reducers/riepilogo.tsx","redux/reducers/scelta_configurazione.ts","redux/reducers/struttura_vano_doccia.tsx","redux/reducers/voltaggio.tsx","redux/reducers/vano_doccia.tsx","redux/reducers/vetrate.tsx","redux/reducers/index.tsx","redux/store.tsx","controller/Callback/index.tsx","components/Modal/index.tsx","assets/images/closeicon.png","components/Typography/H3/index.tsx","components/Typography/Text/index.tsx","components/Gallery/index.tsx","components/Buttons/FormButton/index.tsx","components/Wizard/index.tsx","components/MsgError/index.tsx","controller/Configuratore/Steps/VanoDoccia/index.tsx","assets/images/PerfectWellness Logo big-01.png","components/Menu/index.tsx","assets/images/logo_text_green.png","components/AsyncSelect/customStyle.js","components/AsyncSelect/customStyleSecondary.js","components/AsyncSelect/index.tsx","components/AsyncSelect/TextCell/index.tsx","assets/images/kit_coibentazione/kit_1.png","assets/images/kit_coibentazione/kit_2.png","assets/images/kit_coibentazione/kit_3.png","assets/images/kit_coibentazione/kit_4.png","assets/images/kit_coibentazione/kit_5.png","assets/images/kit_coibentazione/kit_6.png","network/index.tsx","network/api.tsx","network/actions/index.tsx","components/Typography/Subtitle/index.tsx","controller/Configuratore/Steps/StrutturaVanoDoccia/index.tsx","controller/Configuratore/Steps/Vetrate/index.tsx","assets/images/diff_int.png","assets/images/diff_ext.png","assets/images/gen-int-defr.png","assets/images/gen-ext-defr.png","assets/images/gen-int-es.png","assets/images/gen-ext-es.png","components/Image/index.tsx","controller/Configuratore/Steps/Generatore/index.tsx","components/Icon/index.tsx","components/GridItem/SelectableGridItem/index.tsx","controller/Configuratore/Steps/GeneratoreEstInt/index.tsx","components/GridItem/SelectableDetailGridItem/index.tsx","controller/Configuratore/Steps/Optional/index.tsx","components/GridItem/ConfigurationGridItem/index.tsx","controller/Configuratore/Steps/PorteVetrate/index.tsx","components/GridItem/PlusGridItem/index.tsx","controller/Configuratore/Steps/Panche/index.tsx","controller/Configuratore/Steps/Accessori/index.tsx","controller/Configuratore/Steps/Voltaggio/index.tsx","components/GridItem/RiepilogoGridItem/index.tsx","components/GridItem/RiepilogoSimpleGridItem/index.tsx","components/RiepilogoItem/index.tsx","controller/Configuratore/Steps/Riepilogo/index.tsx","assets/images/Logo-Effe.svg","assets/images/Logo-Effe-Bianco.svg","components/ImgVano/index.tsx","controller/Configuratore/Steps/SceltaConfigurazione/index.tsx","controller/Configuratore/index.tsx","assets/images/menu.png","assets/images/menu_white.png","assets/images/Logo-Effe.png","controller/Overview/index.tsx","Router.tsx","Managerapp.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["module","exports","purge","darkMode","important","theme","screens","minWidth","extend","colors","fontSize","h1","h2","h3","h3mobile","h4","h5","text","menu","titlepopup","textpopup","titleCard","titleSectionGenerator","titleOverview","titlePrice","fontWeight","fontFamily","regular","bold","light","thin","margin","title","subtitle","borderWidth","minHeight","keyframes","opacity","from","to","animation","maxHeight","maxWidth","height","variants","cursor","plugins","IActionButtonType","ELoader","ActionButton","importance","isVisibleQuantity","quantity","onPlus","onMinus","isLoading","style","icon","isSelected","disableHover","props","className","Primary","Secondary","zIndex","disabled","onClick","xmlns","width","viewBox","id","data-name","transform","d","fill","stroke","tailwindMyConfig","strokeWidth","InnerLoader","small","defaultOptions","loop","autoplay","animationData","loader_small","loader","rendererSettings","preserveAspectRatio","dimension","window","innerWidth","options","src","ActionTypes","withTranslation","type","error","errorMsg","t","disableAction","loading","history","useHistory","console","log","replace","EInternalExternalImage","actGeneral","data","ActionGeneral","payload","actSceltaConfigurazione","ActionSceltaConfigurazioneSetData","actVanoDocciaSetData","ActionVanoDocciaSetData","actStrutturaVanoDocciaSetData","ActionStrutturaVanoDocciaSetData","actVetrateSetData","ActionVetrateSetData","actGeneratoreSetData","ActionGeneratoreSetData","actGeneratoreSetModel","ActionGeneratoreSetModel","actGeneratoreSetOptionals","ActionGeneratoreSetOptionals","actPorteVetrateStandard","ActionGeneratoreSetPortaVetrata","actResetPorteVetrateStandard","porta_listino","undefined","porta_prodotto","modello_porta","modello_vetrata","actPorteVetrateCustom","ActionGeneratoreSetPortaVetrataCustom","actResetPorteVetrateCustom","larghezza_porta","altezza_porta","larghezza_vetrata","altezza_vetrata","materiale","modello","versione","actPanche","ActionGeneratoreSetPanca","actGeneratoreSetAccessori","ActionGeneratoreSetAccessori","actGeneratoreSetVoltaggio","ActionGeneratoreSetVoltaggio","actGeneratoreSetRiepilogo","ActionGeneratoreSetRiepilogo","initialState","accessori","EGeneratoreType","loginTryCount","skipInternalExternalStep","internalExternalImage","EXTERNAL","appLoading","stepError","CrmLanguage","Language","tipologia","getLabelEGeneratoreType","k","key","String","toLowerCase","Interno","Esterno","getMKitCoibentazione","larghezza","profondita","altezza","round","dim","larghezza_m","altezza_m","profondita_m","Math","ceil","LIMIT","PLACEHOLDER_IMAGE","SLUG_TUTTOVETRO_CONTOUR","CODE_TUTTOVETRO_CONTOUR","SLUG_TUTTOVETRO_INSIDE","CODE_TUTTOVETRO_INSIDE","SLUG_ADAPTA_CUSTOM","SLUG_MATERIALE_SPAZZOLATA","SLUG_MATERIALE_ANODIZZATO","SLUG_ANGOLO_VETRO_PORTA_CONTOUR","SLUG_ANGOLO_VETRO_PORTA_INSIDE","SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE","SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED","SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED","SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE","SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO","SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE","SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO","SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE","SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO","SLUG_NUVOLA_SP_90","SLUG_NUVOLA_SP_110","SLUG_NUVOLA_SP_140","SLUG_NUVOLA_SP_180","SLUG_NUVOLA_SP_250","SLUG_NUVOLA_SP_360","SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES","getLanguageForNSP","language","getLocalization","Localization","AMERICA","crmLanguage","getCrmLanguage","slice","toUpperCase","includes","OPTIONALS_SMART_POWER","GLASS","CAMOUFLAGE","TRADITIONAL_CROMO","TRADITIONAL_NERO","TRADITIONAL_GUN","OPTIONALS_PANNELLO_CONTROLLO","INTERNO_OPTIONAL","INTERNO","ESTERNO","IMAGES_VANO","DIMENSIONI","DESKTOP","MOBILE","VANO_INTERNO","INTERNO_MARMO","INTERNO_MOSAICO","INTERNO_STONE","STRUTTURA","CARTONGESSO","MURATURA","POLIESTIRENE","RIVESTIMENTO","MOSAICO","MARMO","PIETRA","KIT_COIBENTAZIONE","VETRATA_1","NO_KIT_COIBENTAZIONE","VETRATA_2","ACTIVE","DEFAULT","GENERATORE_INTERNO","GENERATORE_ESTERNO","AQUASTEAM","EASYSTEAM","NUVOLA_INT","NUVOLA_EXT","NUVOLA_SP_INT","NUVOLA_SP_EXT","TOUCH_STEAM","INSIDE","SOUND_SYSTEM","DOMOTICA","PANNELLO_ESTERNO","PANNELLO_ESTERNO_SONDA","PLAFONIERA_CROMO_BIANCA","PLAFONIERA_BIANCA","TUTTOVETRO_70","TUTTOVETRO_120","TUTTOVETRO_170","FIT_120","FIT_65_80","FIT_V50","SPAZIO_120_160","SPAZIO_80","SPAZIO_V","SPAZIOFILO_120_160","SPAZIOFILO_80_100","SPAZIOFILO_V","SPAZIOSLIDE_130_160","TUTTOVETRO_CONTOUR_PORTA","TUTTOVETRO_CONTOUR_VETRO_PORTA","TUTTOVETRO_CONTOUR_VETRO_PORTA_VETRO","TUTTOVETRO_CONTOUR_D","TUTTOVETRO_CONTOUR_V","TUTTOVETRO_INSIDE_A","TUTTOVETRO_INSIDE_B","TUTTOVETRO_INSIDE_C","TUTTOVETRO_INSIDE_D","TUTTOVETRO_INSIDE_V","SEDILE_MINI","FONTE_MINI","ALU_ANGOLO","ALU_1","ALU_2","ALU_3","LOGICA_114","LOGICA_69","LOGICA_79","ARROTONDATA_LED_1_x_0","ARROTONDATA_LED_2_x_0","ARROTONDATA_LED_2_x_1","ARROTONDATA_LED_3_x_0","ARROTONDATA_LED_3_x_2","RETTANGOLARE_LED_1_x_0","RETTANGOLARE_LED_2_x_0","RETTANGOLARE_LED_2_x_1","RETTANGOLARE_LED_3_x_0","RETTANGOLARE_LED_3_x_1","RETTANGOLARE_LED_3_x_2","RETTANGOLARE_1_x_0","RETTANGOLARE_2_x_0","RETTANGOLARE_2_x_1","RETTANGOLARE_3_x_0","RETTANGOLARE_3_x_2","TOPKAPI_115","TOPKAPI_75","CIOTOLA","FIT_SHOWER","TUBO_KNEIP","CryptoJS","require","KEY_TOKEN","UnitOfMeasure","Valute","setAuthInfo","infoToken","idUser","crm_language","email","_jsonData","id_user","at","moment","valueOf","_data","JSON","stringify","localStorage","setItem","AES","encrypt","process","toString","i18n","changeLanguage","getLangFromWPLocale","getAuthInfo","info","getItem","decrypted","decrypt","enc","Utf8","parse","isLogged","access_token","isTokenExpired","auth","expire_date_ms","getLanguage","CategoryIdPorta","getUnitOfMeasure","EUROPA","CENTIMETRI","PIEDI","getSecondaryUnitOfMeasure","IN","getUnitOfMeasureMCubiLabel","fromMCubiToFeetCubi","m_cubi","getCmFromFtAndInch","ft","inc","fromIncToCm","fromMCubiToCurrentUnitOfMeasure","Number","location","pathname","substr","IT","IT_EXPORT","DE","EN","ES","FR","getValute","EURO","DOLLARI","isMobile","CategoryIdModelloPortaVetrate","getCategoryIdPorta","is_standard","PORTA_STANDARD_EN","PORTA_STANDARD_IT","PORTA_CUSTOM_EN","PORTA_CUSTOM_IT","CategoryIdOptional","getCategoryIdModelloPortaVetrate","porte","MODELLO_PORTA_EN","MODELLO_PORTA_IT","MODELLO_VETRATA_EN","MODELLO_VETRATA_IT","CategoryIdAccessori","CategoryIdPanche","parseDimension","value","capitalizeAllWords","str","a","capitalize","string","charAt","EDocumentType","toPrice","price","price_extra","toPricePancheCustom","formatPriceForContext","price_unformatted","localization","currency","separator","precision","symbol","format","decimal","formatPrice","isVetroPortaVetroPortaModel","porta","slug","isCustomPortaVetrata","getIdLightHammam","getIdModuleLightHammam","getVolume","vano_doccia_state","isCmUnit","room_volume","profondita_inc","larghezza_inc","altezza_inc","pow","toFixed","filterModels","models","is_kit_coibentazione_included","toNumber","s","parseFloat","map","m","rendered","acf","min_metri_cubi_potenza","metri_cubi_potenza_max","min_metri_cubi_no_kit_di_coibentazione","max_metri_cubi_no_kit_di_coibentazione","is_visible","EKitCoibentazioneModel","generatore_product","generatore_model","list_generatori_interni","optionalsForModel","optionals","listNSPControlPanels","listNSPSteamDiffusors","panche","panca_custom","use","Backend","initReactI18next","init","lng","backend","loadPath","fallbackLng","debug","ns","defaultNS","interpolation","escapeValue","react","wait","EPortaType","EPortaStdCustomType","ESideCerniera","EVoltaggio","getPerimetroPortaVetrataMetri","altezza_cm","larghezza_cm","getAreaPortaVetrataMetri","getPricesCustomPortaVetrata","store","result","Error","const_price_anodizzato","LIMIT_ALTEZZA","perimetro_porta","area_porta","price_profilo_esterno_contour","price_spessore_vetro_contour","price_cerniere_contour","price_guarnizioni_contour","getConstProfiloEsternoInside","price_porta_profilo_esterno_inside","price_spessore_vetro_inside","price_cerniere_inside","price_guarnizioni_inside","getPriceTelaioInside","perimetro","telaio_squadrette","getMoltiplicatoreInside","getPriceTelaioMoltiplicatoInside","finalPricePorta","extra","moltiplicatore","subtotale","getPricePortaInside","getPricePortaContour","width_less_than_90cm","final_price","getPricePortaAdapta","sku","descrizione","voltaggio","side_cerniera","materials","concat","perimetro_vetrata","area_vetrata","price_vetrata_spessore_vetro","price_vetrata_guarnizioni","price_vetrata_profilo_esterno_contour","price_vetrata_profilo_esterno_inside","_price_vetrata_total","getPriceVetrataContour","getPriceVetrataInside","EB2Type","getLabelForESideCerniera","side","DX","SX","initialStateStandard","initialStateCustom","ConfigurationType","b2type","formRichiestaPreventivo","perc_sconto","EStrutturaVanoDoccia","ERivestimentoVanoDoccia","getLabelEStrutturaVanoDoccia","Cartongesso","Muratura","Poliestirene","EVoltaggioType","getLabelERivestimentoVanoDoccia","Ceramica","Marmo","Pietra","struttura","rivestimento","kit_coibentazione","add_kit_coibentazione_to_quote","quantita","getLabelEVoltaggioType","v208","v208_3ph","V240","getVoltaggiExternal","getVoltaggiInternal","appReducer","combineReducers","general","state","action","scelta_configurazione","vano_doccia","struttura_vano_doccia","vetrate","generatore","optional","porta_vetrata","riepilogo","rootReducer","ActionResetStore","createStore","__REDUX_DEVTOOLS_EXTENSION__","connect","IModalType","ModalSize","ownProps","useState","anErrorOccurred","setAnErrorOccurred","errorAuth","setErrorAuth","dispatch","useDispatch","useEffect","queryString","search","urlParams","URLSearchParams","id_token","get","decoded","jwt_decode","axios","responseVerifyUserAuthorization","has_permission","user_id","getState","PRIMARY","H3","Text","Gallery","gallery","currentGalleryIndex","setCurrentGalleryIndex","galleryRef","useRef","icFullScreenRef","ic_fullscreen","ref","showPlayButton","showFullscreenButton","showNav","showThumbnails","items","img","original","currIndex","current","getCurrentIndex","slideToIndex","fullScreen","onMouseEnter","play","onMouseLeave","stop","isStopped","length","Modal","onClose","visible","contentClassName","fullscreen","cancelAction","okAction","htmlDecode","size","modalType","closeInline","footer","col","show","lg","onHide","backdropClassName","Row","Col","xs","sm","md","xl","top","left","ic_close","dangerouslySetInnerHTML","__html","marginLeft","marginRight","children","isDisabled","currentStepIndex","steps","onGoForward","onGoBack","hideFooter","hideHeader","imgVano","disabledGoForward","wizardHeader","useWindowSize","isLastStep","MsgError","message","useStore","Form","useForm","form","useSelector","modalIsOpen","setModalIsOpen","modalData","setModalData","setFieldsValue","name","layout","autoComplete","Item","fields","find","min","parser","onChange","num","max","placeholder","step","StepConfiguratore","VanoDoccia","msg","content","Menu","onClickMenuItem","currentStep","menuIsOpen","menuIsClosing","setMenuIsClosing","logo_us","it","indexIt","positionInMenu","href","borderTop","borderBottom","borderColor","label","position","control","styles","b","backgroundColor","tailwindconfig","borderRadius","border","padding","boxShadow","textAlign","provided","selectProps","marginTop","menuList","paddingTop","paddingBottom","indicatorSeparator","display","indicatorsContainer","container","isFocused","option","transition","onStyleLabel","color","menuPortal","base","singleValue","whiteSpace","overflow","textOverflow","valueContainer","currValue","loadOptions","isSearchable","noOptionsMessage","isSecondary","isOpened","setIsOpened","getOptionValue","getOptionLabel","val","onMenuClose","onMenuOpen","customStyleSecondary","customStyle","additional","page","menuPlacement","menuPosition","components","Option","prs","CustomOption","DropdownIndicator","cacheUniqs","TextCell","styleText","e","preventDefault","stopPropagation","API_URL","API_DMA_URL","response","status","NetworkClient","dma_api","getBaseURL","_networkClient","create","baseURL","formatResponse","resp","interceptors","request","Promise","reject","endpoint","start","limit","id_prodotto","id_modello","id_optional","ACCESSORI_EN","ACCESSORI_IT","PANCHE_EN","PANCHE_IT","id_product_porta","id_item","id_materiale","getGeneratoriInterni","resolve","then","res","catch","getGeneratoriEsterni","getKitCoibentazioneWithSlug","model","getModelloDiProdotto","getOptional","getAccessori","getPanche","getPorte","getModelloPorta","getMateriale","addRiepilogo","post","Subtitle","downloadGeneratoriInterni","listGeneratoriInterni","downloadNSPOptionalsRequired","optionalsDiffusorsForNSP","optionalsControlPanelForNSP","push","_struttura","item","searchQuery","loadedOptions","Object","keys","hasMore","kit_coibentazione_1","objectFit","kit_coibentazione_2","listStyle","kit_coibentazione_materiali_1","kit_coibentazione_materiali_2","kit_coibentazione_materiali_3","kit_coibentazione_materiali_4","StrutturaVanoDoccia","Vetrate","Image","imgStyle","classNameImage","classNameWrapper","imageLoading","setImageLoading","pulsing","setPulsing","background","motion","initial","animate","delay","duration","onLoad","setTimeout","stepModal","setStepModal","stepModalRef","img_differenza_int_defr","img_differenza_int_es","img_differenza_int","getImgInt","img_differenza_est_defr","img_differenza_est_es","img_differenza_est","getImgExt","_stepModal","float","values","Generatore","DEFAULT_COLOR","IconClose","IconEdit","ic_edit","IconFrecciaDown","IconRestart","cx","cy","r","IconLink","fill-rule","clip-rule","IconSelected","IconCopy","IconDownload","stroke-width","IconAccordionClosed","IconAccordionOpened","titleAction","setIsLoading","currentGeneratore","setCurrentGeneratore","offset","setOffset","setHasMore","setItems","isLoadingModelli","closeModal","getGeneratoriFromAPI","isGeneratoreEsternoSelected","filter","g","hide_config","roundMCubi","mcubi","_min_metri_cubi_no_kit_di_coibentazione","_max_metri_cubi_no_kit_di_coibentazione","_voltaggi","_powerLabel","more_details","power_model","v","join","_mCubicLabel","_gallery","Array","isArray","slider_gallery","curr_gallery_modello","_volume","max_volume_generatore_con_kit","max_volume_generatore_no_kit","steam_image","url","list_modelli","accordion_group","models_relationship","_modelli","indexModel","ID","_dati_modello","replaceAll","modelsFiltered","isSmartPower","listSteamDiffusors","showNSPSelects","coll","sort","m1","m2","o","optKey","opt","disableDelete","prodotto","dimensioni","GeneratoreEstInt","size_x","size_Z","size_Y","description_block","block","indexBlock","titolo_blocco_descrizione","content_blocco_descrizione","maxChar","field","getCaratteristicheField","Select","description","descriptionHtml","image","maxCharDescription","actionDescription","actionOnClick","buttonTitleSelect","heightCell","buttonTitleDeselect","extraDescription","isVisibleSelectQuantity","selectQuantity","maxQuantity","optionsQuantiy","labelQuantity","onChangeSelectQuantity","selectQuantityPlaceholder","itemsExtraToSelect","selectItemExtraPlaceholder","onChangeSelectItemExtra","classNameTitleDefault","AnimatePresence","div","exit","LayoutGroup","borderRight","suffixIcon","right","index","qty","finishesOptions","tmpVariant","setTmpVariant","listOptionals","setListOptionals","getOptionalsOfProducts","optionals_of_product","optional_products_group","related_optional","detailOptional","showExternalPanelIncluded","indexOptionalSelected","indexOf","disableRemove","hasSelectedPannelloTouchConSondaRemotataForNSP","hasSelectedPannelloTouchForNSP","_embedded","source_url","_optionals","splice","modalProps","variant","HEIGHT_CELL","currentAccordion","setCurrentAccordion","isLoadingStd","setIsLoadingStd","setIsLoadingCtm","offsetPorteStandard","setOffsetPorteStandard","setHasMorePorteStandard","listPorteStandard","setListPorteStandard","offsetPorteCustom","setOffsetPorteCustom","setHasMorePorteCustom","listPorteCustom","setListPorteCustom","currentMaterialPorta","setCurrentMaterialPorta","currentSideCernieraPorta","setCurrentSideCernieraPorta","isLoadingItems","setIsLoadingItems","setMaterials","openModal","getPorteStandardFromAPI","getPorteCustomFromAPI","getUniqueMaterialsFromItems","allItems","_","Set","_items","forEach","idMaterial","has","add","getUniqueVersionsFromItems","idVersion","responsePorteVetrateStandardList","porteStandard","hasAtLeastOneVetrata","_modelPortaOrVetrata","categoria_modello_pv","tipologia_di_prodotto","STANDARD","areDimensionsOfPortaVetrataGreaterThanVano","PORTE_VETRATE","areDimensionsOfPortaGreaterThanVano","areDimensionsOfVetrataGreaterThanVano","isRequiredVetrata","maxDimVano","minDimVano","existOneRightCase","isVetrataSectionVisible","onChangeModelloPorta","indexItem","item_relationship","resItem","_materials","unique_items_for_material","unique_items_for_version","areDimensionPortaUnavailable","areDimensionVetrataUnavailable","isDisabledProdottoPortaVetrata","min_altezza_modello_porta","min_larghezza_modello_porta","min_altezza_modello_vetrata","min_larghezza_modello_vetrata","Accordion","Toggle","eventKey","Collapse","indexPorta","post_title","_portaModels","_vetrataModels","standard_configuration_fields","x_axis_door","y_axis_door","p","getVetrateFiltered","_listVetrateToFilter","other_models_relationship","currentPorta","model_fallback","qty_models_vetrata","modelType","custom_configuration_fields","material_door_custom","material","itIndex","isModelSelected","defaultValue","target","cerniera","versions","PorteVetrate","_porta_listino","post_name","telaio","i","descrizioneHtml","overlay","actionTitle","listPanche","setListPanche","pancaMap","setPancaMap","Map","pancaCustomMap","setPancaCustomMap","getPancheFromAPI","getModelliPancheCustomSezioneRettangolare","price_euro","getModelliPancheCustomSezioneRettangolareLuciLed","getModelliPancheCustomSezioneArrotondataLuciLed","listPancheCustom","panca","indexPanca","indexPancaSelected","_panche","_itemData","_pancaMap","item_listino","_pancaCustomMap","set","configurations","listAccessori","setListAccessori","accessoriMap","setAccessoriMap","getAccessoriFromAPI","max_quantity_optional","multipli_for_quantity_sku","multiply_price","label_quantity","acc","indexAccessorioSelected","accessorio","_options","indexJ","_accessori","_accessoriMap","descriptionItems","disclaimer","isQuote","_heightCell","marginBottom","ditem","subItems","onDelete","priceUnit","units","isMultipleUnits","isLoadingPrice","valute","classNameMainItem","icDownloadRef","defaultDownloadOptions","ic_download","WIDTH_ACTION","sI","sIindex","actResetStore","mainInternalImg","layerInternalImgs","mainExternalImg","layerExternalImgs","onScrollBody","isLoadingPrices","setIsLoadingPrices","urlQuote","setUrlQuote","refUrlQuote","uuidQuote","setUuidQuote","idQuote","setIdQuote","formIsSubmitted","setFormIsSubmitted","quoteIsGenerated","setQuoteIsGenerated","customerInfo","setCustomerInfo","HTMLElement","prototype","scrollIntoView","ID_FORM_ENG","formId","listinoGeneratore","setListinoGeneratore","totalGeneratore","setTotalGeneratore","listinoOptionals","setListinoOptionals","totalOptionals","setTotalOptionals","listinoPorteVetrate","setListinoPorteVetrate","listinoPorteVetrateCustom","setListinoPorteVetrateCustom","totalPorteVetrate","setTotalPorteVetrate","isLoadingPorteVetrate","setIsLoadingPorteVetrate","totalPanche","setTotalPanche","listinoAccessori","setListinoAccessori","totalAccessori","setTotalAccessori","getTotal","getTotalDiscount","perc_discount","total_pre_discount","total","isConfigurazioneTypeOnlyPorteVetrate","initGeneratore","_total","_mapItemRelated","item_related","_listinoItem","model_slug","is_steam_diffusor","_values","_larghezza","_profondita","_altezza","_larghezza_porta","_altezza_porta","_larghezza_vetrata","_altezza_vetrata","metri_kit_coibentazione","kits","KIT_0_12","KIT_12_15","KIT_15_21","_kit","kit_coibentazione_12","kit_coibentazione_15","kit_coibentazione_21","kit_coibentazione_18","kit_coibentazione_27","item_id","optionalForProduct","initPorteVetrate","_list","_pListinoItems","pListIndex","_pListinoItem","pricingPortaVetrata","pricingPortaVetrataItem","reduce","initOptionals","_mapOptionals","_listinoItems","initPanchine","c","initAccessories","_mapAccessori","sub_total","initRiepilogo","smoothscroll","polyfill","uuid_quote","random","getMainImageGeneratore","getTitleGeneratore","getTitleOptional","getMainImageOptional","getTitleAccessorio","getMainImageAccessori","getMainImagePanche","getTitlePortaCustom","getPricePancaCustom","getPricePancaStd","getPricePortaVetrata","pv","getMainImagePortaVetrata","_imgPorta","_imgVetrata","getDimensioneBoxDoccia","getVolumeBoxDoccia","m3","getVolumeBoxDocciaCm","getStrutturaVano","getRivestimentoVano","getKitCoibentazione","getAddKitCoibentazioneToQuote","getVoltaggio","getDetailCustomPorta","_blocks","writeDataToClipboard","navigator","clipboard","writeText","notification","setInputValue","inputName","input","elem","event","document","createEvent","initEvent","dispatchEvent","jqueryChange","getInputValue","handlerBeforeSubmitForm","eventName","forms","firstname","lastname","company_name","city","country","riferimento_nome_del_progetto","commenti_per_l_acquirente","addEventListener","handlerSubmitForm","removeEventListener","goToPrevStep","onOk","submitQuote","getIdQuote","first_name","last_name","encodeURIComponent","getUrlQuote","id_quote","_host","hostname","protocol","link_quote","uuid","link","subtotal","images","model_items","its","subitems","z","porte_vetrate","isCustom","custom_extra_info","numParetiVetrata","custom_items","keyPvCustom","indexPv","getSubItemsPortaVetrataCustom","unit","info_tecniche","dimensione_box","volume","volt","type_configuration","price_discounted","percentual_discount","timestamp","Date","getTime","customer_info","version","getElementById","scrollTo","offsetTop","behavior","infoLabels","infoOnClicks","onGoToStep","Voltaggio","split","onScroll","scrollTop","header","_documents","documents_related_collection_group","resource_url","document_title","paddingLeft","Optional","indexOptList","pvA","pvB","pvcurr","Panche","indexPan","currP","_configurations","indexSelected","Accessori","imgWizard","indexLabel","onKeyUp","warning","region","portalId","onReady","script","createElement","jqueryScript","getElementsByTagName","body","appendChild","_email","onSubmit","$form","final_url_quote","reload","open","isInternal","showToggle","useAnonymusCORSImg","styleImg","onToggleChanged","onAllImagesLoaded","clsImg","wrapperRef","imagesLoaded","setStatus","updateStatus","complete","every","querySelectorAll","once","useOnLoadImages","INTERNAL","crossOrigin","ZINDEX_VANO_ESTERNO","pathImg","checked","SceltaConfigurazione","setSize","useLayoutEffect","updateSize","innerHeight","setMenuIsOpen","setCurrentStep","isScrolledOnTop","setIsScrolledOnTop","MAX_WIDTH","initConfiguratore","openLoginModal","keepSession","NEXT_PUBLIC_AUTH_SCOPES","getSteps","component","hideInMenu","Riepilogo","_volumeVano","some","getImage","screen","showToggleInternalExternal","getImageOfCurrentStep","isInternalView","getImageLayersOfCurrentStep","listImages","slug_model_generatore","showIntExtLayer","slug_porta","slug_vetrata","base_pieces","angle_pieces","scrollToTopWizard","getCurrentStepIndex","goForward","skip_check","getError","actionOk","actionCancel","Warning","next_step","indexCurrentStepInSteps","getNextStep","indexS","isActive","isDone","missingFields","goBack","prev_step","getPrevStep","isImgInternalView","tabIndex","onKeyDown","keyCode","which","_isScrolledOnTop","logo","logo_white","setPayload","setError","areImgVanoLoaded","idRiepilogo","path_parts","err","downloadPDF","html2canvas","windowWidth","windowHeight","logging","allowTaint","useCORS","ignoreElements","el","classList","contains","onclone","doc","querySelector","removeAttribute","remove","imagesVano","call","currEl","fontsBold","titles","titlesSections","colData","colorGreenLights","borderColorGreenLights","bgColorGreenLights","textXs","bgSubtotals","textGrayTexts","canvas","imgHeight","heightLeft","jsPDF","imgData","toDataURL","addImage","indexPage","addPage","save","print","downloadPdf","isFeaturedOnRework","SECONDARY","isKitCoibentazioneAddedToQuote","flexDirection","Router","exact","path","Configuratore","Callback","Overview","ManagerApp","App","app_version","Bugsnag","apiKey","BugsnagPluginReact","enabledBreadcrumbTypes","releaseStage","enabledReleaseStages","appVersion","onError","setUser","ErrorBoundary","getPlugin","createErrorBoundary","React","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","fallback","StrictMode"],"mappings":"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","file":"static/js/main.921a39f4.chunk.js","sourcesContent":["module.exports = {\n purge: [\"./src/**/*.{js,jsx,ts,tsx}\", \"./public/index.html\"],\n darkMode: false, // or 'media' or 'class'\n important: true,\n theme: {\n screens: {\n 'xs': '0px',\n // => @media (min-width: 0px) { ... } \n\n 'sm': '640px',\n // => @media (min-width: 640px) { ... } \n \n 'md': '768px',\n // => @media (min-width: 768px) { ... }\n \n 'lg': '1024px',\n // => @media (min-width: 1024px) { ... }\n \n 'xl': '1280px',\n // => @media (min-width: 1280px) { ... }\n },\n minWidth: {},\n extend: {\n colors: {\n \"azzurro-effe\": \"#B3FCE8\",\n \"fluo-effe\": \"#00FFBA\", \n \"verde-effe\": \"#00E6A8\",\n \"verde-medioscuro-effe\": \"#00996f\", //noname\n \"verde-scuro-effe\": \"#406464\",\n \"giallo-effe\": \"#EEF9C1\",\n \"grigio-effe\": \"#707070\",\n \"grigio-chiaro-effe\": \"#ededed\",\n \"grigio-old-effe\": \"#5C5C5C\",\n \"grigio-scuro-effe\": \"#5C5C5C\",\n \"bianco-effe\": \"#333333\", //noname\n \"warning-effe\": \"#EF4C4C\",\n \"warning-input-effe\":\"#FD657D\",\n \"black-effe\":\"#2B2E34\",\n \"loader-effe\":\"#363636\",\n \"wizard-effe\":\"#B1B1B1\",\n \"subtitle-effe\":\"#9A9A9A\",\n \"modal-effe\":\"#6C6C6C\",\n \"modal-effe-light\":\"#e1e1e1\",\n \"hover-cell\":\"#E5FFF8\",\n \"default-cell\":\"#F5F5F5\",\n \"divider\":\"#DDDDDD\",\n \"menu-selected\":\"rgba(0,255,186,.04)\"\n },\n fontSize: {\n h1: 70,\n h2: 50,\n h3: 20,\n h3mobile: 18,\n h4: 27,\n h5: 25,\n text: 22,\n menu: 30,\n titlepopup: 20,\n textpopup: 12,\n titleCard: 16,\n titleSectionGenerator: 18,\n titleOverview: 28,\n titlePrice: 26\n },\n fontWeight: {\n h1: 900,\n h2: 900,\n h3: 900,\n h4: 900,\n text: 400,\n menu: 300,\n },\n fontFamily:{\n regular:\"avertastd-regularuploadedfile !important\",\n bold:\"avertastd-bolduploaded_file !important\",\n light: \"avertastd-lightuploaded_file !important\",\n thin: \"avertastd-thinuploaded_file !important\"\n },\n margin:{\n title: \"0 13px 22px 13px\",\n subtitle: \"0 13px 22px 13px\"\n },\n borderWidth:{\n 'half': \".5px\",\n },\n minHeight:{\n '55': 55\n },\n keyframes: {\n \"fade-in-down\": {\n \"0%\": {\n opacity: \"0\"\n },\n \"100%\": {\n opacity: \"1\"\n },\n },\n \"fade-out-down\": {\n from: {\n opacity: \"1\"\n },\n to: {\n opacity: \"0\"\n },\n },\n },\n animation: {\n \"fade-in-down\": \"fade-in-down 0.5s ease-out\",\n 'fade-out-down': 'fade-out-down 0.5s ease-out',\n },\n maxHeight: {\n '30-screen':\"30vh\",\n '40-screen':\"40vh\",\n 'half-screen':\"50vh\"\n },\n maxWidth: {\n 'full':\"100%\"\n },\n height:{\n '70-screen': \"70%\"\n }\n },\n },\n variants: {\n extend: {\n cursor: ['hover', 'focus'],\n },\n },\n plugins: [],\n};\n","import { Spin } from \"antd\";\nimport { FC } from \"react\";\nimport tailwindMyConfig from \"../../../tailwind.my.config\";\n\nexport enum IActionButtonType {\n Primary = \"Primary\",\n Secondary = \"Secondary\",\n Tertiary = \"Tertiary\"\n}\n\ninterface IActionButton extends React.ButtonHTMLAttributes {\n importance: IActionButtonType;\n title: string;\n quantity?: number;\n isVisibleQuantity?: boolean;\n onPlus?: () => void;\n onMinus?: () => void;\n isLoading?: boolean;\n style?: any;\n icon?: boolean;\n isSelected?: boolean;\n disableHover?: boolean;\n}\n\nconst ActionButton: FC = ({\n importance,\n title,\n isVisibleQuantity,\n quantity,\n onPlus,\n onMinus,\n isLoading,\n style,\n icon,\n isSelected,\n disableHover,\n ...props\n}: IActionButton) => {\n return (\n \n\n {\n isLoading ? \n :(\n isVisibleQuantity ? \n (\n
\n
\n \n
\n
\n {quantity}\n
\n
\n \n
\n
\n ) : \n
\n {title}\n {\n icon && \n (\n isSelected ? \n \n \n \n \n \n \n : \n \n \n \n \n \n )\n }\n\n
\n )\n }\n \n );\n};\nexport default ActionButton;\n","import logo_white from \"./../../assets/images/Logo-Effe-Bianco.svg\";\nimport logo from \"./../../assets/images/logo_green.png\";\nimport { Spin } from \"antd\";\nimport { FC } from \"react\";\nimport tailwindMyConfig from \"../../tailwind.my.config\";\nimport { withTranslation } from \"react-i18next\";\nimport ActionButton, { IActionButtonType } from \"../Buttons/ActionButton\";\nimport { useHistory } from \"react-router\";\nimport InnerLoader from \"../InnerLoader\";\nimport { motion } from 'framer-motion';\n\nexport enum ELoader {\n PRIMARY,\n SECONDARY\n}\n\ninterface ILoader{\n type?: ELoader;\n error?: boolean;\n errorMsg?: String;\n t?: any;\n disableAction?: boolean;\n loading?: boolean;\n}\n\nconst Loader: FC = ({ type, error, errorMsg, t, disableAction, loading, ...props }: ILoader) => {\n const history = useHistory();\n console.log(errorMsg, error)\n return (\n
\n
\n
\n {\n error ? \n
\n {\n

{errorMsg}

\n }\n {\n !disableAction &&\n {\n history.replace(\"/\")\n }}\n />\n }\n
\n :\n \n }\n
\n
\n
\n );\n}\n\nexport default withTranslation()(Loader);\n","import { FC } from \"react\";\nimport loader from \"./../../assets/lottie/loader.json\"\nimport loader_small from \"./../../assets/lottie/loader_small.json\"\n\nimport logo from \"./../../assets/images/logo_green.png\";\nimport Lottie from 'react-lottie';\n\ninterface IInnerLoader{\n small?: boolean;\n className?: string;\n}\n\nconst InnerLoader: FC = ({ small, className, ...props }: IInnerLoader) => {\n\n const defaultOptions = {\n loop: true,\n autoplay: true, \n animationData: small ? loader_small : loader,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n };\n const dimension = small ? 40 : (window?.innerWidth < 500 ? (window?.innerWidth*0.8) : 500)\n return (\n
\n
\n \n
\n {!small && }\n
\n );\n}\n\nexport default InnerLoader;\n","export default \"data:image/png;base64,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\"","enum ActionTypes {\n ActionVanoDocciaSetData = \"ActionVanoDocciaSetData\",\n ActionStrutturaVanoDocciaSetData = \"ActionStrutturaVanoDocciaSetData\",\n ActionVetrateSetData = \"ActionVetrateSetData\",\n ActionSceltaConfigurazioneSetData = \"ActionSceltaConfigurazioneSetData\",\n ActionGeneratoreSetData = \"ActionGeneratoreSetData\",\n ActionGeneratoreSetModel = \"ActionGeneratoreSetModel\",\n ActionGeneratoreSetOptionals = \"ActionGeneratoreSetOptionals\",\n ActionGeneratoreSetPortaVetrata = \"ActionGeneratoreSetPortaVetrata\",\n ActionGeneratoreSetPortaVetrataCustom = \"ActionGeneratoreSetPortaVetrataCustom\",\n ActionGeneratoreSetPanca = \"ActionGeneratoreSetPanca\",\n ActionGeneratoreSetAccessori = \"ActionGeneratoreSetAccessori\",\n ActionGeneratoreSetVoltaggio = \"ActionGeneratoreSetVoltaggio\",\n ActionGeneratoreSetRiepilogo = \"ActionGeneratoreSetRiepilogo\",\n ActionGeneral = \"ActionGeneral\",\n ActionResetStore = \"ActionResetStore\",\n}\n\ntype TAction = {\n type: ActionTypes;\n payload: any;\n};\n\nclass Action {\n private _type: ActionTypes;\n private _payload: any;\n\n constructor(type: ActionTypes, payload: any) {\n this._type = type;\n this._payload = payload;\n }\n\n get type(): ActionTypes {\n return this._type;\n }\n get payload(): any {\n return this._payload;\n }\n\n static factory(data: TAction) {\n return new Action(data.type, data.payload);\n }\n}\n\nexport { ActionTypes };\nexport default Action;\n","import { StepError } from \"../../controller/Configuratore\";\nimport Action, { ActionTypes } from \"../actionTypes\";\n\nexport enum EInternalExternalImage{\n INTERNAL,\n EXTERNAL\n}\nexport type TGeneralStoreState = {\n loginTryCount?: number;\n skipInternalExternalStep?: boolean;\n internalExternalImage?: EInternalExternalImage;\n appLoading?: boolean;\n stepError?: StepError|undefined;\n}\nconst initialState: TGeneralStoreState = {\n loginTryCount: 0,\n skipInternalExternalStep: false,\n internalExternalImage: EInternalExternalImage.EXTERNAL,\n appLoading: true,\n stepError: undefined\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneral: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { ActionTypes } from \"./actionTypes\";\nimport { TAccessoriStoreState } from \"./reducers/accessori\";\nimport { TGeneralStoreState } from \"./reducers/general\";\nimport { TGeneratoreStoreState } from \"./reducers/generatore\";\nimport { TGeneratoreModelStoreState } from \"./reducers/generatoreestint\";\nimport { TOptionalStoreState } from \"./reducers/optional\";\nimport { TPancheStoreState } from \"./reducers/panche\";\nimport { TPorteVetrateCustomStoreState, TPorteVetrateStandardStoreState } from \"./reducers/porte_vetrate\";\nimport { TRiepilogoStoreState } from \"./reducers/riepilogo\";\nimport { TSceltaConfigurazioneStoreState } from \"./reducers/scelta_configurazione\";\nimport { TStrutturaVanoDocciaStoreState } from \"./reducers/struttura_vano_doccia\";\nimport { TVanoDocciaStoreState } from \"./reducers/vano_doccia\";\nimport { TVetrateStoreState } from \"./reducers/vetrate\";\nimport { TVoltaggioStoreState } from \"./reducers/voltaggio\";\n\n//Reset\nexport const actResetStore = () => ({\n type: ActionTypes.ActionResetStore\n});\n\n//General\nexport const actGeneral = (data: TGeneralStoreState) => ({\n type: ActionTypes.ActionGeneral,\n payload: data\n});\n\n//Scelta Configurazione\nexport const actSceltaConfigurazione = (data: TSceltaConfigurazioneStoreState) => ({\n type: ActionTypes.ActionSceltaConfigurazioneSetData,\n payload: data\n});\n\n//Vano Doccia\nexport const actVanoDocciaSetData = (data: TVanoDocciaStoreState) => ({\n type: ActionTypes.ActionVanoDocciaSetData,\n payload: data\n});\n\n//Vano Doccia\nexport const actStrutturaVanoDocciaSetData = (data: TStrutturaVanoDocciaStoreState) => ({\n type: ActionTypes.ActionStrutturaVanoDocciaSetData,\n payload: data\n});\n\n//Vetrate\nexport const actVetrateSetData = (data: TVetrateStoreState) => ({\n type: ActionTypes.ActionVetrateSetData,\n payload: data\n});\n\n//Generatore\nexport const actGeneratoreSetData = (data: TGeneratoreStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetData,\n payload: data\n});\n\n//Generatore Model\nexport const actGeneratoreSetModel = (data: TGeneratoreModelStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetModel,\n payload: data\n});\n\n//Optionals\nexport const actGeneratoreSetOptionals = (data: TOptionalStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetOptionals,\n payload: data\n});\n\n//Porte Vetrate\nexport const actPorteVetrateStandard = (data: TPorteVetrateStandardStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetPortaVetrata,\n payload: data\n});\nexport const actResetPorteVetrateStandard = () => ({\n type: ActionTypes.ActionGeneratoreSetPortaVetrata,\n payload: {\n porta_listino: undefined,\n porta_prodotto: undefined,\n modello_porta: undefined,\n modello_vetrata: undefined\n } as TPorteVetrateStandardStoreState\n});\nexport const actPorteVetrateCustom = (data: TPorteVetrateCustomStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetPortaVetrataCustom,\n payload: data\n});\nexport const actResetPorteVetrateCustom = () => ({\n type: ActionTypes.ActionGeneratoreSetPortaVetrataCustom,\n payload: {\n porta_prodotto: undefined,\n larghezza_porta: undefined,\n altezza_porta: undefined,\n larghezza_vetrata: undefined,\n altezza_vetrata: undefined,\n materiale: undefined,\n modello: undefined,\n versione: undefined\n } as TPorteVetrateCustomStoreState\n});\n\n\n//Panche\nexport const actPanche = (data: TPancheStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetPanca,\n payload: data\n});\n\n//Accessori\nexport const actGeneratoreSetAccessori = (data: TAccessoriStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetAccessori,\n payload: data\n});\n\n//Voltaggio\nexport const actGeneratoreSetVoltaggio = (data: TVoltaggioStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetVoltaggio,\n payload: data\n});\n\n//Riepilogo\nexport const actGeneratoreSetRiepilogo = (data: TRiepilogoStoreState) => ({\n type: ActionTypes.ActionGeneratoreSetRiepilogo,\n payload: data\n});","import Action, { ActionTypes } from \"../actionTypes\";\nimport { TFeaturedMediaType } from \"./media\";\nimport { TListinoItemType } from \"./porte_vetrate\";\n\nexport type TListinoAccessorioItemType = TListinoItemType & {\n multipli_for_quantity_sku: boolean;\n multiply_price: number;\n label_quantity?: string;\n}\n\nexport type TAccessorio = {\n id: string;\n slug: string;\n title: {\n rendered: string\n };\n content:{\n rendered: string;\n };\n _embedded: TFeaturedMediaType;\n description: string; //TODO: Manca campo\n acf: {\n item_relationship: TListinoAccessorioItemType[];\n max_quantity_optional: number\n };\n}\nexport type TAccessorioQuantity = {\n accessorio: TAccessorio;\n quantity: number;\n}\n\nexport type TAccessoriStoreState = {\n accessori?: TAccessorioQuantity[];\n}\nconst initialState: TAccessoriStoreState = {\n accessori: []\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetAccessori: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { getCmFromFtAndInch } from \"../../utils/utils\";\nimport Action, { ActionTypes } from \"../actionTypes\";\n\nexport enum EGeneratoreType{\n Interno = \"interno\",\n Esterno = \"esterno\"\n}\n\nexport type TGeneratoreStoreState = {\n tipologia?: EGeneratoreType;\n}\nconst initialState: TGeneratoreStoreState = {\n tipologia: undefined\n};\n\nexport const getLabelEGeneratoreType = (k:EGeneratoreType) => {\n const key = String(k).toLowerCase()\n if(key===EGeneratoreType.Interno) return \"generatore.interno\"\n else if(key===EGeneratoreType.Esterno) return \"generatore.esterno\"\n else return \"\"\n}\n\nexport const getMKitCoibentazione = (larghezza:number, profondita: number, altezza: number, larghezza_porta: number, altezza_porta: number, \n larghezza_vetrata: number, altezza_vetrata: number, round?: boolean): number => {\n const larghezza_m = larghezza/100\n const altezza_m = altezza!/100\n const profondita_m = profondita!/100\n //porta\n const larghezza_porta_m = larghezza_porta/100\n const altezza_porta_m = altezza_porta/100\n //vetrata\n const larghezza_vetrata_m = larghezza_vetrata/100\n const altezza_vetrata_m = altezza_vetrata/100\n\n const roundDimension = (dim: number) => !round ? dim : Math.ceil(dim)\n const s = ((larghezza_m * altezza_m) * 2) + ((profondita_m * altezza_m) * 2) + (larghezza_m * profondita_m) - (altezza_porta_m * larghezza_porta_m) - (altezza_vetrata_m * larghezza_vetrata_m)\n return roundDimension(s)\n} \n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetData: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import moment from 'moment'\nimport i18n from 'i18next'\nimport { getLanguage, getLocalization, Localization } from './utils';\n\nvar CryptoJS = require(\"crypto-js\");\nconst KEY_TOKEN = \"f_a_c\";\n\nexport enum CrmLanguage {\n IT = \"Italiano\",\n EN = \"Inglese\",\n FR = \"Francese\",\n DE = \"Tedesco\",\n ES = \"Spagnolo\",\n IT_EXPORT = \"Italiano (Export)\"\n}\n\nexport enum Language {\n IT = \"it-IT\",\n EN = \"en-EN\",\n FR = \"fr-FR\",\n DE = \"de-DE\",\n ES = \"es-ES\"\n}\n\nexport type AuthInfoType = {\n access_token: string;\n refresh_token: string;\n id_user: string;\n crm_language: CrmLanguage;\n at: number;\n email: string;\n}\n\n// AUTH\nconst setAuthInfo = (infoToken: any, idUser: string, crm_language: string, email: string): void => {\n const _jsonData = {\n ...infoToken,\n id_user: idUser,\n crm_language,\n email,\n at: moment().valueOf()\n } as AuthInfoType\n const _data = JSON.stringify(_jsonData)\n console.log(\"[SET AUTH DATA]\", _data)\n\n localStorage.setItem(KEY_TOKEN, CryptoJS.AES.encrypt(_data, process.env.REACT_APP_CRYPT_KEY).toString());\n\n //Set language\n i18n.changeLanguage(getLangFromWPLocale());\n};\n\nconst getAuthInfo = (): AuthInfoType|any => {\n try {\n const info = localStorage.getItem(KEY_TOKEN)\n const decrypted = info ? CryptoJS.AES.decrypt(info, process.env.REACT_APP_CRYPT_KEY)?.toString(CryptoJS.enc.Utf8) : \"{}\";\n return JSON.parse(decrypted);\n } catch (error) {\n return {} ;\n }\n};\n\nconst clearAuthInfo = (): void => {\n localStorage.removeItem(KEY_TOKEN);\n};\n\nconst isLogged = (): boolean => {\n return !!getAuthInfo()?.access_token && isTokenExpired() !== undefined && !isTokenExpired()\n}\n\nconst isTokenExpired = (): boolean | undefined => {\n const auth = getAuthInfo();\n if (!auth?.at) return undefined\n const expire_date_ms = auth?.at + (3600 * 1000)\n return moment().valueOf() > expire_date_ms\n};\n\nconst getLangFromWPLocale = (): string | undefined => {\n if (getLocalization() === Localization.AMERICA) return \"en\"\n else return getLanguage()\n}\n\n\nexport { setAuthInfo, getAuthInfo, isLogged, isTokenExpired, getLangFromWPLocale, clearAuthInfo };\n","import { getCrmLanguage, getLocalization, Localization } from \"./utils\"\n\nexport const LIMIT = 20\nexport const PLACEHOLDER_IMAGE = \"https://www.immobiliarepizzigalli.com/wp-content/uploads/2017/01/banner-placeholder.jpg\"\nexport const HEIGHT_SCROLL = \"100%\"\nexport const MAX_CM_VANO_DOCCIA = 999\n\nexport const ID_TUTTOVETRO_CONTOUR_PORTA = \"porta-tuttovetro-contour\"\nexport const ID_TUTTOVETRO_CONTOUR_VETRATA = \"vetrata-tuttovetro-contour\"\nexport const SLUG_TUTTOVETRO_CONTOUR = \"tuttovetro-contour\"\nexport const CODE_TUTTOVETRO_CONTOUR = \"HA60059996\"\n\nexport const ID_TUTTOVETRO_INSIDE_PORTA = \"porta-tuttovetro-inside\"\nexport const ID_TUTTOVETRO_INSIDE_VETRATA = \"vetrata-tuttovetro-inside\"\nexport const SLUG_TUTTOVETRO_INSIDE = \"tuttovetro-inside\"\nexport const CODE_TUTTOVETRO_INSIDE = \"HA60059997\"\nexport const CODE_TELAIO_TUTTOVETRO_INSIDE = \"HA85409995\"\n\nexport const SLUG_ADAPTA_CUSTOM = \"adapta-2\"\nexport const ID_ADAPTA_PORTA = \"porta-adapta\"\nexport const CODE_ADAPTA = \"ADAPTA\" \n\n//Materials\nexport const SLUG_MATERIALE_DEFAULT = \"alluminio-finitura-brillantata\"\nexport const SLUG_MATERIALE_SPAZZOLATA = \"alluminio-finitura-spazzolata\"\nexport const SLUG_MATERIALE_ANODIZZATO = \"alluminio-finitura-anodizzata-nero-opaco\"\nexport const SLUG_MATERIALE_BRONZO_SATINATO = \"bronzo-satinato\"\nexport const SLUG_MATERIALE_NERO_SATINATO = \"nero-satinato\"\nexport const SLUG_MATERIALE_RAME_SATINATO = \"rame-satinato\"\n\nexport const SLUG_ANGOLO_VETRO_PORTA_CONTOUR = \"angolo-vetro-porta-tuttovetro-contour\"\nexport const SLUG_ANGOLO_VETRO_PORTA_INSIDE = \"porta-ad-angolo-tuttovetro-inside\"\n\n//porta\nexport const MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM = 100\nexport const MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM = 250\nexport const MIN_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM = 60\nexport const MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM = 350\n//vetrata\nexport const MIN_DIM_LARGHEZZA_VETRATA_CUSTOM = 20\n\nexport const SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE = \"panca-custom-sezione-rettangolare\"\nexport const SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED = \"panca-custom-sezione-rettangolare-led\"\nexport const SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED = \"panca-custom-sezione-arrotondata\"\nexport const SLUG_KIT_COIBENTAZIONE_15_21_MQ = \"ha-55-03-0002-kit-coibentazione-fino-a-21-mq\"\nexport const SLUG_KIT_COIBENTAZIONE_12_15_MQ = \"ha-55-02-0002-kit-coibentazione-fino-a-15-mq\"\nexport const SLUG_KIT_COIBENTAZIONE_0_12_MQ = \"ha-55-01-0004-kit-coibentazione-fino-a-12-mq\"\n\n//Rettangolare\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE = \"SV31000008\"\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_END_COVER = \"SV31000009 - SV31000024\"\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO = \"SV31000010\"\n//Rettangolare LED\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE = \"SV31000257\"\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_END_COVER = \"SV31000258 - SV31000259\"\nexport const SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO = \"SV31000260\"\n//Arrotondata\nexport const SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE = \"SV31000262\"\nexport const SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_END_COVER = \"SV31000263 - SV31000264\"\nexport const SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO = \"SV31000265\"\n\n\n\nexport const SLUG_NUVOLA_SP_30 = \"nuvola-smart-power-30-2\"\nexport const SLUG_NUVOLA_SP_45 = \"nuvola-smart-power-45-2\"\nexport const SLUG_NUVOLA_SP_55 = \"nuvola-smart-power-55-2\"\nexport const SLUG_NUVOLA_SP_70 = \"nuvola-smart-power-70-2\"\nexport const SLUG_NUVOLA_SP_90 = \"nuvola-smart-power-90\"\nexport const SLUG_NUVOLA_SP_110 = \"nuvola-smart-power-110\"\nexport const SLUG_NUVOLA_SP_140 = \"nuvola-smart-power-140\"\nexport const SLUG_NUVOLA_SP_180 = \"nuvola-smart-power-180\"\nexport const SLUG_NUVOLA_SP_250 = \"nuvola-smart-power-250\"\nexport const SLUG_NUVOLA_SP_360 = \"nuvola-smart-power-360\"\n\nexport const SLUG_PRODOTTO_SPAZIO = \"spazio\"\nexport const SLUG_PRODOTTO_SPAZIOFILO = \"spaziofilo\"\n\nexport const SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES = \"steam-diffusers-finishes\"\n\nexport const getLanguageForNSP = () => {\n let language;\n\n if(getLocalization()===Localization.AMERICA){\n language = \"US\"\n }else{\n let crmLanguage = (getCrmLanguage() ?? \"in\")?.slice(0,2)?.toUpperCase();\n language = crmLanguage;\n if(![\"IT\",\"IN\",\"TE\",\"FR\",\"SP\"].includes(crmLanguage)){\n switch (crmLanguage) {\n case \"EN\":\n language = \"IN\"\n break;\n case \"ES\":\n language = \"SP\"\n break;\n case \"DE\":\n language = \"TE\"\n break;\n default:\n language = \"IN\";\n break;\n }\n }\n }\n\n return language;\n}\nexport const OPTIONALS_SMART_POWER:{[key: string]: {\n GLASS: {[key: string]:string};\n CAMOUFLAGE: {[key: string]:string};\n TRADITIONAL_CROMO: {[key: string]:string};\n TRADITIONAL_NERO: {[key: string]:string};\n TRADITIONAL_GUN: {[key: string]:string};\n }} = {\n \"1PZ\":{\n GLASS: {\n \"IT\": \"32550\",\n \"IN\": \"33684\",\n\t\t \"FR\": \"33685\",\n\t\t \"TE\": \"33686\",\n\t\t \"SP\": \"33687\",\n\t\t \"US\": \"34422\",\n },\n CAMOUFLAGE: {\n\t\t\t\"IT\": \"32551\",\n\t\t\t\"IN\": \"33680\",\n\t\t\t\"FR\": \"33681\",\n\t\t\t\"TE\": \"33682\",\n\t\t\t\"SP\": \"33683\",\n\t\t\t\"US\": \"34423\",\n \n },\n TRADITIONAL_CROMO: {\n\t\t\t\"IT\": \"32552\",\n\t\t\t\"IN\": \"33676\",\n\t\t\t\"FR\": \"33677\",\n\t\t\t\"TE\": \"33678\",\n\t\t\t\"SP\": \"33679\",\n \t\t\"US\": \"34424\",\n },\n TRADITIONAL_NERO: {\n\t\t\t\"IT\": \"32584\",\n\t\t\t\"IN\": \"33445\",\n\t\t\t\"FR\": \"33673\",\n\t\t\t\"TE\": \"33674\",\n\t\t\t\"SP\": \"33675\",\n\t\t\t\"US\": \"34421\",\n \n },\n TRADITIONAL_GUN: {\n\t\t\t\"IT\": \"32588\",\n\t\t\t\"IN\": \"33688\",\n\t\t\t\"FR\": \"33689\",\n\t\t\t\"TE\": \"33690\",\n\t\t\t\"SP\": \"33691\",\n\t\t\t\"US\": \"34425\",\n \n },\n },\n \"2PZ\":{\n GLASS: {\n\t\t\t\"IT\": \"32581\",\n\t\t\t\"IN\": \"33641\",\n\t\t\t\"FR\": \"33642\",\n\t\t\t\"TE\": \"33643\",\n\t\t\t\"SP\": \"33644\",\n\t\t\t\"US\": \"34426\",\n \n },\n CAMOUFLAGE: {\n\t\t\t\"IT\": \"32575\",\n\t\t\t\"IN\": \"33645\",\n\t\t\t\"FR\": \"33646\",\n\t\t\t\"TE\": \"33647\",\n\t\t\t\"SP\": \"33648\",\n\t\t\t\"US\": \"34427\"\n \n },\n TRADITIONAL_CROMO: {\n\t\t\t\"IT\": \"32572\",\n\t\t\t\"IN\": \"33657\",\n\t\t\t\"FR\": \"33658\",\n\t\t\t\"TE\": \"33659\",\n\t\t\t\"SP\": \"33660\",\n\t\t\t\"US\": \"34432\",\n \n },\n TRADITIONAL_NERO: {\n\t\t\t\"IT\": \"32585\",\n\t\t\t\"IN\": \"33629\",\n\t\t\t\"FR\": \"33630\",\n\t\t\t\"TE\": \"33631\",\n\t\t\t\"SP\": \"33632\",\n\t\t\t\"US\": \"34433\",\n \n },\n TRADITIONAL_GUN: {\n\t\t\t\"IT\": \"32589\",\n\t\t\t\"IN\": \"33617\",\n\t\t\t\"FR\": \"33618\",\n\t\t\t\"TE\": \"33619\",\n\t\t\t\"SP\": \"33620\",\n\t\t\t\"US\": \"34434\",\n \n }\n },\n \"4PZ\":{\n GLASS: {\n\t\t\t\"IT\": \"32582\",\n\t\t\t\"IN\": \"33637\",\n\t\t\t\"FR\": \"33638\",\n\t\t\t\"TE\": \"33639\",\n\t\t\t\"SP\": \"33640\",\n\t\t\t\"US\": \"34435\",\n \n },\n CAMOUFLAGE: {\n\t\t\t\"IT\": \"32592\",\n\t\t\t\"IN\": \"33591\",\n\t\t\t\"FR\": \"33592\",\n\t\t\t\"TE\": \"33593\",\n\t\t\t\"SP\": \"33594\",\n\t\t\t\"US\": \"34436\",\n \n },\n TRADITIONAL_CROMO: {\n\t\t\t\"IT\": \"32573\",\n\t\t\t\"IN\": \"33653\",\n\t\t\t\"FR\": \"33654\",\n\t\t\t\"TE\": \"33655\",\n\t\t\t\"SP\": \"33656\",\n\t\t\t\"US\": \"34437\",\n\n },\n TRADITIONAL_NERO: {\n\t\t\t\"IT\": \"32586\",\n\t\t\t\"IN\": \"33625\",\n\t\t\t\"FR\": \"33626\",\n\t\t\t\"TE\": \"33627\",\n\t\t\t\"SP\": \"33628\",\n\t\t\t\"US\": \"34438\",\n \n },\n TRADITIONAL_GUN: {\n\t\t\t\"IT\": \"32590\",\n\t\t\t\"IN\": \"33613\",\n\t\t\t\"FR\": \"33614\",\n\t\t\t\"TE\": \"33615\",\n\t\t\t\"SP\": \"33616\",\n\t\t\t\"US\": \"34439\",\n \n }\n },\n \"8PZ\":{\n GLASS: {\n\t\t\t\"IT\": \"32583\",\n\t\t\t\"IN\": \"32583\",\n\t\t\t\"FR\": \"32583\",\n\t\t\t\"TE\": \"32583\",\n\t\t\t\"SP\": \"32583\",\n\t\t\t\"US\": \"34440\",\n },\n CAMOUFLAGE: {\n\t\t\t\"IT\": \"32593\",\n\t\t\t\"IN\": \"32593\",\n\t\t\t\"FR\": \"32593\",\n\t\t\t\"TE\": \"32593\",\n\t\t\t\"SP\": \"32593\",\n\t\t\t\"US\": \"34441\"\n },\n TRADITIONAL_CROMO: {\n\t\t\t\"IT\": \"32574\",\n\t\t\t\"IN\": \"33649\",\n\t\t\t\"FR\": \"33650\",\n\t\t\t\"TE\": \"33651\",\n\t\t\t\"SP\": \"33652\",\n\t\t\t\"US\": \"34442\"\n },\n TRADITIONAL_NERO: {\n\t\t\t\"IT\": \"32587\",\n\t\t\t\"IN\": \"33621\",\n\t\t\t\"FR\": \"33622\",\n\t\t\t\"TE\": \"33623\",\n\t\t\t\"SP\": \"33624\",\n\t\t\t\"US\": \"34443\",\n\n },\n TRADITIONAL_GUN: {\n\t\t\t\"IT\": \"32591\",\n\t\t\t\"IN\": \"33595\",\n\t\t\t\"FR\": \"33596\",\n\t\t\t\"TE\": \"33597\",\n\t\t\t\"SP\": \"33598\",\n\t\t\t\"US\": \"34444\"\n\n }\n },\n}\nexport const OPTIONALS_PANNELLO_CONTROLLO:{\n INTERNO_OPTIONAL:{[key: string]:string},\n INTERNO:{[key: string]:string},\n ESTERNO:{[key: string]:string}\n} = {\n INTERNO_OPTIONAL: {\n \"IT\": \"2879\",\n \"IN\": \"20424\",\n \"FR\": \"20425\",\n \"TE\": \"20426\",\n \"SP\": \"20427\",\n \"US\": \"20938\"\n }, //Hanno duplicato l'interno: uno è relativo al generatore ed uno è un optional\n INTERNO: {\n \"IT\": \"2881\",\n \"IN\": \"20416\",\n \"FR\": \"20417\",\n \"TE\": \"20418\",\n \"SP\": \"20419\",\n \"US\": \"20936\"\n }, //https://www.effe.it/wp-admin/post.php?post=2881&action=edit&lang=it\n ESTERNO: {\n \"IT\": \"2880\",\n \"IN\": \"20420\",\n \"FR\": \"20421\",\n \"TE\": \"20422\",\n \"SP\": \"20423\",\n \"US\": \"20937\"\n },\n}\n\nexport const IMAGES_VANO = {\n STEP_1: {\n DIMENSIONI: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B1.0%5D+dimensioni.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/1+-+Dimensioni+-+mobile.png\"\n },\n VANO_INTERNO: {\n ESTERNO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Vano/Vano+esterno+-+Desktop.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Vano/Vano+esterno+-+Mobile.png\"\n },\n INTERNO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Vano/Vano+Interno+-+Desktop.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Vano/Vano+interno+-+Mobile.png\"\n },\n INTERNO_MARMO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Vano/Vano+Interno+-+Marmo+-+Desktop.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Vano/Vano+Interno+-+Marmo+-+Mobile.png\"\n },\n INTERNO_MOSAICO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Vano/Vano+Interno+-+Mosaico+-+Desktop.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Vano/Vano+Interno+-+Mosaico+-+Mobile.png\"\n },\n INTERNO_STONE: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Vano/Vano+Interno+-+Stone+-+Desktop.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Vano/Vano+Interno+-+Stone+-+Mobile.png\"\n }\n }\n },\n STEP_2: {\n STRUTTURA: {\n CARTONGESSO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.1%5D+cartongesso.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Cartongesso+-+mobile.png\"\n },\n MURATURA: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.1%5D+muratura.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Muratura+-+mobile.png\"\n },\n POLIESTIRENE: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.1%5D+polistirene.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Polistirene+-+mobile.png\"\n },\n },\n RIVESTIMENTO: {\n MOSAICO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.2%5D+mosaico.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Mosaico+-+mobile.png\"\n },\n MARMO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.2%5D+marmo.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Marmo+-+mobile.png\"\n },\n PIETRA: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.2%5D+Stone.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Stone+-+mobile.png\"\n },\n },\n KIT_COIBENTAZIONE: {\n MOSAICO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.3%5D+mosaico+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Coibentato+Mosaico+-+mobile.png\"\n },\n MARMO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.3%5D+marmo+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Coibentato+Marmo+-+mobile.png\"\n },\n PIETRA: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B2.3%5D+stone+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/2+-+Coibentato+Stone+-+mobile.png\"\n },\n },\n },\n STEP_3: {\n VETRATA_1: {\n KIT_COIBENTAZIONE: {\n MARMO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+marmo+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Coib+Marmo+-+mobile.png\"\n },\n MOSAICO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+mosaico+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Coib+Mosaico+-+mobile.png\"\n },\n PIETRA: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+Stone+coibentato.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Coib+Stone+-+mobile.png\"\n }\n },\n NO_KIT_COIBENTAZIONE: {\n MARMO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+marmo+1+vetrata.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Marmo+-+mobile.png\"\n },\n MOSAICO: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+mosaico+1+vetrata.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Mosaico+-+mobile.png\"\n },\n PIETRA: {\n DESKTOP: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+Stone+1+vetrata.png\",\n MOBILE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+singola+Stone+-+mobile.png\"\n }\n }\n },\n VETRATA_2: {\n KIT_COIBENTAZIONE: {\n MARMO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+marmo+2+vetrate+coibentato.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+marmo+2+vetrate+coibentato+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Coib+Marmo+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/%5B3.1%5D+marmo+2+vetrate+coibentato+-+Mobile+Mono.png\"\n }\n },\n MOSAICO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+mosaico+2+vetrate+coibentato.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+mosaico+2+vetrate+coibentato+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Coib+Mosaico+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/%5B3.1%5D+mosaico+2+vetrate+coibentato+-+Mobile+Mono.png\"\n }\n },\n PIETRA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+Stone+2+vetrate+coibentato.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+Stone+2+vetrate+coibentato+-+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Coib+Stone+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/%5B3.1%5D+Stone+2+vetrate+coibentato+-+Mobile+Mono.png\"\n }\n }\n },\n NO_KIT_COIBENTAZIONE: {\n MARMO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+marmo+2+vetrate.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/3+-+Marmo+2+vetrate+-+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Marmo+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Marmo+2+vetrate+-+Mobile+Mono.png\"\n }\n },\n MOSAICO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+mosaico+2+vetrate.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/3+-+Mosaico+2+vetrate+-+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Mosaico+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Mosaico+2+vetrate+-+Mobile+Mono.png\"\n }\n },\n PIETRA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/%5B3.1%5D+Stone+2+vetrate.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/3+-+Stone+2+vetrate+-+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Vetrata+doppia+Stone+-+mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/3+-+Stone+2+vetrate+-+Mobile+Mono.png\"\n }\n }\n }\n },\n },\n STEP_GENERATORE: {\n GENERATORE_INTERNO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Generatore+interno+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Generatore+interno+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Generatore+interno+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Generatore+interno+-+Mobile+Mono.png\"\n }\n },\n GENERATORE_ESTERNO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Generatore+esterno+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Generatore+esterno+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Generatore+esterno+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Generatore+esterno+-+Mobile+Mono.png\"\n }\n }\n },\n STEP_GENERATORE_MODELLO: {\n AQUASTEAM: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Aquasteam+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Aquasteam+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Aquasteam+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Aquasteam+-+Mobile+Mono.png\"\n }\n },\n EASYSTEAM: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Easysteam+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Easysteam+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Easysteam+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Easysteam+-+Mobile+Mono.png\"\n }\n },\n NUVOLA_INT: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+-+Desktop+Interno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+-+Desktop+Interno+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+-+Mobile+Interno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+-+Mobile+Interno+Mono.png\"\n }\n },\n NUVOLA_EXT: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+-+Desktop+Esterno+.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+-+Desktop+Esterno+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+-+Mobile+Esterno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+-+Mobile+Esterno+Mono.png\"\n }\n },\n NUVOLA_SP_INT: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+SP+-+Desktop+Interno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+SP+-+Desktop+Interno+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+SP+-+Mobile+Interno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+SP+-+Mobile+Interno+Mono.png\"\n }\n },\n NUVOLA_SP_EXT: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+SP+-+Desktop+Esterno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Nuvola+SP+-+Desktop+Esterno+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+SP+-+Mobile+Esterno.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Nuvola+SP+-+Mobile+Esterno+Mono.png\"\n }\n },\n TOUCH_STEAM: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Touch%26Steam+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Touch%26Steam+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Touch%26Steam+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Touch%26Steam+-+Mobile+Mono.png\"\n }\n },\n INSIDE: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Inside+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Generatore/4+-+Inside+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Inside+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Generatore/4+-+Inside+-+Mobile+Mono.png\"\n }\n },\n },\n STEP_OPTIONAL: {\n SOUND_SYSTEM: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Effe+sound+system+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Effe+sound+system+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Effe+sound+system+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Effe+sound+system+-+Mobile+Mono.png\"\n }\n },\n DOMOTICA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Intefaccia+domotica+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Intefaccia+domotica+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Intefaccia+domotica+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Intefaccia+domotica+-+Mobile+Mono.png\"\n }\n },\n PANNELLO_ESTERNO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Pannello+esterno+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Pannello+esterno+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Pannello+esterno+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Pannello+esterno+-+Mobile+Mono.png\"\n }\n },\n PANNELLO_ESTERNO_SONDA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Pannello+esterno+con+sonda+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Pannello+esterno+con+sonda+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Pannello+esterno+con+sonda+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Pannello+esterno+con+sonda+-+Mobile+Mono.png\"\n }\n },\n PLAFONIERA_CROMO_BIANCA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Plafoniera+cromo+bianca+alt+passivi+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Plafoniera+cromo+bianca+alt+passivi+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Plafoniera+cromo+bianca+alt+passivi+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Plafoniera+cromo+bianca+alt+passivi+-+Mobile+Mono.png\"\n }\n },\n PLAFONIERA_BIANCA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Plafoniera+ill+bianca+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Optional/5+-+Plafoniera+ill+bianca+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Plafoniera+ill+bianca+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Optional/5+-+Plafoniera+ill+bianca+-+Mobile+Mono.png\"\n }\n },\n },\n STEP_PORTE: {\n TUTTOVETRO_70: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_120: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_170: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Mobile+Mono.png\"\n }\n },\n FIT_120: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+120+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+120+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+120+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+120+-+Mobile+Mono.png\"\n }\n },\n FIT_65_80: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+65-80+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+65-80+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+65-80+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+65-80+-+Mobile+Mono.png\"\n }\n },\n FIT_V50: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+vetrata+50+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Fit+vetrata+50+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+vetrata+50+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Fit+vetrata+50+-+Mobile+Mono.png\"\n }\n },\n SPAZIO_120_160: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+120-160+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+120-160+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+120-160+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+120-160+-+Mobile+Mono.png\"\n }\n },\n SPAZIO_80: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+80+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+80+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+80+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+80+-+Mobile+Mono.png\"\n }\n },\n SPAZIO_V: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+vetrata+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spazio+vetrata+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+vetrata+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spazio+vetrata+-+Mobile+Mono.png\"\n }\n },\n SPAZIOFILO_120_160: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+120-160+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+120-160+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+120-160+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+120-160+-+Mobile+Mono.png\"\n }\n },\n SPAZIOFILO_80_100: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+80-100+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+80-100+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+80-100+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+80-100+-+Mobile+Mono.png\"\n }\n },\n SPAZIOFILO_V: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+Vetrata+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Spaziofilo+Vetrata+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+Vetrata+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Spaziofilo+Vetrata+-+Mobile+Mono.png\"\n }\n },\n SPAZIOSLIDE_130_160: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+SpazioSlide+130-160+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+SpazioSlide+130-160+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+SpazioSlide+130-160+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+SpazioSlide+130-160+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_CONTOUR_PORTA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+A+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+A+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+A+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+A+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_CONTOUR_VETRO_PORTA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+B+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+B+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+B+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+B+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_CONTOUR_VETRO_PORTA_VETRO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+C+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+C+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+C+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+C+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_CONTOUR_D: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+angoloA+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+angoloA+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+angoloA+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+angoloA+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_CONTOUR_V: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+Vetrata+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Contour+Vetrata+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+Vetrata+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Contour+Vetrata+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_INSIDE_A: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+70+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_INSIDE_B: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+120+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_INSIDE_C: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+170+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_INSIDE_D: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+angolo+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+angolo+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+angolo+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+angolo+-+Mobile+Mono.png\"\n }\n },\n TUTTOVETRO_INSIDE_V: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+Vetrata+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/PorteVetrate/6+-+Tuttovetro+Inside+Vetrata+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+Vetrata+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/PorteVetrate/6+-+Tuttovetro+Inside+Vetrata+-+Mobile+Mono.png\"\n }\n }\n },\n STEP_PANCHE: {\n SEDILE_MINI: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Sedile+Mini+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Sedile+Mini+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Sedile+Mini+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Sedile+Mini+-+Mobile+Mono.png\"\n }\n },\n FONTE_MINI: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Fonte+Mini+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Fonte+Mini+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Fonte+Mini+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Fonte+Mini+-+Mobile+Mono.png\"\n }\n },\n ALU_ANGOLO: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu+angolo+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu+angolo+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu+angolo+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu+angolo+-+Mobile+Mono.png\"\n }\n },\n ALU_1: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu1+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu1+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu1+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu1+-+Mobile+Mono.png\"\n }\n },\n ALU_2: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu2+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu2+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu2+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu2+-+Mobile+Mono.png\"\n }\n },\n ALU_3: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu3+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Alu3+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu3+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Alu3+-+Mobile+Mono.png\"\n }\n },\n LOGICA_114: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+114+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+114+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+114+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+114+-+Mobile+Mono.png\"\n }\n },\n LOGICA_69: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+69+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+69+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+69+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+69+-+Mobile+Mono.png\"\n }\n },\n LOGICA_79: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+79+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Logica+79+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+79+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Logica+79+-+Mobile+Mono.png\"\n }\n },\n //ARROTONDATA LED\n ARROTONDATA_LED_1_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_1x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_1x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_1x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_1x0+-+Mobile+Mono.png\"\n }\n },\n ARROTONDATA_LED_2_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_2x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_2x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_2x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_2x0+-+Mobile+Mono.png\"\n }\n },\n ARROTONDATA_LED_2_x_1: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_2x1+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_2x1+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_2x1+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_2x1+-+Mobile+Mono.png\"\n }\n },\n ARROTONDATA_LED_3_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_3x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_3x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_3x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_3x0+-+Mobile+Mono.png\"\n }\n },\n ARROTONDATA_LED_3_x_2: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_3x2+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Arrotondata+LED_3x2+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_3x2+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Arrotondata+LED_3x2+-+Mobile+Mono.png\"\n }\n },\n //RETTANGOLARE LED\n RETTANGOLARE_LED_1_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_1x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_1x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_1x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_1x0+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_LED_2_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_2x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_2x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_2x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_2x0+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_LED_2_x_1: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_2x1+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_2x1+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_2x1+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_2x1+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_LED_3_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x0+-+Mobile+Mono.png\"\n }\n },\n\n RETTANGOLARE_LED_3_x_1: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x1+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x1+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x1+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x1+-+Mobile+Mono.png\"\n }\n },\n\n RETTANGOLARE_LED_3_x_2: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x2+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/2024/7+-+Rettangolare+2024+LED_3x2+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x2+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/2024/7+-+Rettangolare+2024+LED_3x2+-+Mobile+Mono.png\"\n }\n },\n //RETTANGOLARE\n RETTANGOLARE_1_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_1x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_1x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_1x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_1x0+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_2_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_2x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_2x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_2x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_2x0+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_2_x_1: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_2x1+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_2x1+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_2x1+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_2x1+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_3_x_0: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_3x0+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_3x0+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_3x0+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_3x0+-+Mobile+Mono.png\"\n }\n },\n RETTANGOLARE_3_x_2: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_3x2+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Rettangolare_3x2+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_3x2+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Rettangolare_3x2+-+Mobile+Mono.png\"\n }\n },\n\n\n\n TOPKAPI_115: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Topkapi+115+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Topkapi+115+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Topkapi+115+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Topkapi+115+-+Mobile+Mono.png\"\n }\n },\n TOPKAPI_75: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Topkapi+75+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/7+-+Topkapi+75+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Topkapi+75+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/Panche/7+-+Topkapi+75+-+Mobile+Mono.png\"\n }\n },\n },\n STEP_ACCESSORI: {\n CIOTOLA: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Ciotola+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Ciotola+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Ciotola+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Ciotola+-+Mobile+Mono.png\"\n }\n },\n FIT_SHOWER: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Fit+shower+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Fit+shower+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Fit+shower+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Fit+shower+-+Mobile+Mono.png\"\n }\n },\n TUBO_KNEIP: {\n DESKTOP: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Tubo+Kneipp+-+Desktop.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/accessori/8+-+Tubo+Kneipp+-+Desktop+Mono.png\"\n },\n MOBILE: {\n ACTIVE: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Tubo+Kneipp+-+Mobile.png\",\n DEFAULT: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/mobile/accessori/8+-+Tubo+Kneipp+-+Mobile+Mono.png\"\n }\n }\n }\n}","import currency from \"currency.js\"\nimport { TListinoItemAcfType, TModelloDetailPortaType } from \"../redux/reducers/porte_vetrate\"\nimport { SLUG_ADAPTA_CUSTOM, SLUG_ANGOLO_VETRO_PORTA_CONTOUR, SLUG_ANGOLO_VETRO_PORTA_INSIDE, SLUG_TUTTOVETRO_CONTOUR, SLUG_TUTTOVETRO_INSIDE } from \"./consts\"\nimport { CrmLanguage, getAuthInfo } from \"./storage\"\n\nexport enum UnitOfMeasure {\n CENTIMETRI = \"CM\",\n PIEDI = \"FT\",\n IN = \"IN\"\n}\nexport enum Localization {\n AMERICA = \"AMERICA\",\n EUROPA = \"EUROPA\"\n}\nexport enum Valute {\n EURO = \"€\",\n DOLLARI = \"$\"\n}\n\n\n// UNITA DI MISURA\nexport const getUnitOfMeasure = () => {\n return getLocalization()===Localization.EUROPA ? UnitOfMeasure.CENTIMETRI : UnitOfMeasure.PIEDI\n}\nexport const getSecondaryUnitOfMeasure = () => {\n return getLocalization()===Localization.EUROPA ? null : UnitOfMeasure.IN\n}\nexport const getUnitOfMeasureMCubiLabel = () => {\n return getLocalization()===Localization.EUROPA ? \"generatoreestint.modelli.fields.m_cubi\" : \"generatoreestint.modelli.fields.piedi_cubi\"\n}\nexport const getUnitOfMeasureCmLabel = () => {\n return getLocalization()===Localization.EUROPA ? \"unit_measure.cm\" : \"unit_measure.piedi\"\n}\n\nexport const fromFeetToCm = (feet:number) => {\n return feet*30.48\n}\nexport const fromIncToCm = (inc:number) => {\n return inc*2.54\n}\nexport const fromMCubiToFeetCubi = (m_cubi:number) => {\n return m_cubi*35.3147\n}\nexport const getCmFromFtAndInch = (ft:number|undefined, inc:number|undefined) => {\n return fromFeetToCm(ft||0)+fromIncToCm(inc||0)\n}\n\n/**\n * Converte i metri cubi nell'unità utilizzata nel paese corrente\n * @param m_cubi Metri cubi\n * @returns Valore in metri cubi o feet cubi\n */\nexport const fromMCubiToCurrentUnitOfMeasure = (m_cubi:string|undefined) => {\n return m_cubi !== undefined ? getLocalization()===Localization.EUROPA ? m_cubi : fromMCubiToFeetCubi(Number(m_cubi)) : undefined\n}\n\n// LOCALIZZAZIONE\nexport const getLocalization = () => {\n return window.location.pathname.substr(1,2).toUpperCase() === \"US\" ? Localization.AMERICA : Localization.EUROPA\n}\n\nexport const getCrmLanguage = () => {\n const {crm_language} = getAuthInfo();\n return crm_language\n}\n\nexport const getLanguage = () => {\n const {crm_language} = getAuthInfo()\n if(getLocalization()===Localization.AMERICA)\n return \"en-us\"\n switch (crm_language) {\n case CrmLanguage.IT:\n case CrmLanguage.IT_EXPORT: \n return \"it\"\n case CrmLanguage.DE:\n return \"de\"\n case CrmLanguage.EN:\n return \"en\"\n case CrmLanguage.ES:\n return \"es\"\n case CrmLanguage.FR:\n return \"fr\"\n default:\n return \"en\" //fallback lang\n }\n}\n\n//VALUTA\nexport const getValute = () => {\n return getLocalization()===Localization.EUROPA ? Valute.EURO : Valute.DOLLARI\n}\n\n//ROLES\nexport const hasValidRoleToLogin = (roles:any): boolean => {\n return !!roles?.[\"agenzia_autorizzata\"] || !!roles?.[\"rivenditore_autorizzato\"] || !!roles?.[\"dipendente_effe\"]\n}\n\n\n//MEDIA-QUERY\nexport const isMobile = () => {\n return window.innerWidth <= 640\n}\n\nexport const isTablet = () => {\n return !isMobile() && window.innerWidth <= 1024\n}\n\n\n// APPLICAZIONE\nexport const isKitCoibentazioneVisible = () => {\n return true\n}\nenum CategoryIdPorta {\n PORTA_STANDARD_IT = 60,\n PORTA_STANDARD_EN = 60, //TODO:\n PORTA_CUSTOM_IT = 59,\n PORTA_CUSTOM_EN = 59, //TODO:\n}\nexport const getCategoryIdPorta = (is_standard: boolean) => {\n return is_standard ? \n getLocalization()===Localization.AMERICA ? CategoryIdPorta.PORTA_STANDARD_EN : CategoryIdPorta.PORTA_STANDARD_IT\n : \n getLocalization()===Localization.AMERICA ? CategoryIdPorta.PORTA_CUSTOM_EN : CategoryIdPorta.PORTA_CUSTOM_IT\n}\nenum CategoryIdModelloPortaVetrate {\n MODELLO_PORTA_IT = 43,\n MODELLO_PORTA_EN = 43, //TODO:\n MODELLO_VETRATA_IT = 35,\n MODELLO_VETRATA_EN = 35, //TODO:\n}\nexport const getCategoryIdModelloPortaVetrate = (porte:boolean) => {\n return porte ? (getLocalization()===Localization.AMERICA ? CategoryIdModelloPortaVetrate.MODELLO_PORTA_EN : CategoryIdModelloPortaVetrate.MODELLO_PORTA_IT) : (getLocalization()===Localization.AMERICA ? CategoryIdModelloPortaVetrate.MODELLO_VETRATA_EN : CategoryIdModelloPortaVetrate.MODELLO_VETRATA_IT)\n}\nenum CategoryIdOptional {\n OPTIONALS_IT = 33,\n OPTIONALS_EN = 0 //TODO: \n}\nexport const getCategoryIdOptional = () => {\n return getLocalization()===Localization.AMERICA ? CategoryIdOptional.OPTIONALS_EN : CategoryIdOptional.OPTIONALS_IT\n}\nenum CategoryIdAccessori {\n ACCESSORI_IT = 61,\n ACCESSORI_EN = 61 \n}\nexport const getCategoryIdAccessori = () => {\n return getLocalization()===Localization.AMERICA ? CategoryIdAccessori.ACCESSORI_EN : CategoryIdAccessori.ACCESSORI_IT\n}\nenum CategoryIdPanche {\n PANCHE_IT = 119,\n PANCHE_EN = 0 //TODO: \n}\nexport const getCategoryIdPanche = () => {\n return getLocalization()===Localization.AMERICA ? CategoryIdPanche.PANCHE_EN : CategoryIdPanche.PANCHE_IT\n}\n\n\n// NUMBERS\nexport const parseDimension = (value:string|undefined) : number => {\n return Number(value?.replace(\".\", '')||0)\n}\n\n// STRINGS\nexport const capitalizeAllWords = (str:string) => {\n return str ? str.toLowerCase().replace( /\\b./g, function(a){ return a.toUpperCase(); } ) : \"\";\n}\n\nexport function capitalize(string:string) {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n }\n \n\nexport const toPrice = (price:TListinoItemAcfType|undefined): number => {\n if(getLocalization()===Localization.AMERICA) return Number(price?.price)\n else return price ? (Number(getCrmLanguage()===CrmLanguage.IT_EXPORT ? price.price_extra : price.price)) : 0\n}\n\nexport const toPricePancheCustom = (price:TListinoItemAcfType|undefined): number => {\n if(getLocalization()===Localization.AMERICA) return Number(price?.price)\n else return price ? (Number(getCrmLanguage()===CrmLanguage.IT ? price.price : price.price_extra)) : 0\n}\n\nexport const formatPrice = (price_unformatted:number|undefined, localization:Localization|string=Localization.EUROPA) => {\n return price_unformatted!== undefined ? (localization === Localization.EUROPA ? currency(Math.round(price_unformatted), { separator: '.', precision: 0, symbol: \"\" }).format() : currency(Math.round(price_unformatted), { separator: ',', precision: 2, decimal: '.', symbol: \"\" }).format()) : \"\"; \n}\n\nexport const formatPriceForContext = (price_unformatted:number|undefined) => {\n return formatPrice(price_unformatted, getLocalization())\n}\n\n\nexport const uuidv4 = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\nexport const checkIfUUID = ( uuid:string ) : boolean => {\n const s = \"\" + uuid;\n let _s ;\n _s = s.match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$');\n if (_s === null) {\n return false;\n }\n return true;\n}\n\n\n\nexport const isVetroPortaVetroPortaModel = (porta:TModelloDetailPortaType) => {\n\n return porta?.slug === SLUG_ANGOLO_VETRO_PORTA_CONTOUR || \n porta?.slug === SLUG_ANGOLO_VETRO_PORTA_INSIDE\n}\n\nexport const isCustomPortaVetrata = (slug:string): boolean => {\n\n return slug === SLUG_TUTTOVETRO_CONTOUR || \n slug === SLUG_TUTTOVETRO_INSIDE || slug === SLUG_ADAPTA_CUSTOM\n}\n\n\nexport const getIdLightHammam = (): string => {\n const {crm_language} = getAuthInfo()\n if(getLocalization()===Localization.AMERICA) return \"27414\" \n switch (crm_language) {\n case CrmLanguage.IT:\n case CrmLanguage.IT_EXPORT:\n return \"27409\"\n case CrmLanguage.FR:\n return \"27411\"\n case CrmLanguage.EN:\n return \"27410\"\n case CrmLanguage.DE:\n return \"27412\"\n case CrmLanguage.ES:\n return \"27413\"\n default:\n return \"27409\";\n }\n}\n\nexport const getIdModuleLightHammam = (): string => {\n const {crm_language} = getAuthInfo()\n if(getLocalization()===Localization.AMERICA) return \"28776\" \n switch (crm_language) {\n case CrmLanguage.IT:\n case CrmLanguage.IT_EXPORT:\n return \"27415\"\n case CrmLanguage.FR:\n return \"28777\"\n case CrmLanguage.EN:\n return \"28775\"\n case CrmLanguage.DE:\n return \"348922\"\n case CrmLanguage.ES:\n return \"28779\"\n default:\n return \"27415\";\n }\n}","import { getCmFromFtAndInch, getUnitOfMeasure, UnitOfMeasure } from \"../../utils/utils\";\nimport Action, { ActionTypes } from \"../actionTypes\";\nimport { TBetterFeaturedMediaType, TFeaturedMediaType } from \"./media\";\nimport { TOptional, TOptionalDetailType, TOptionalQuantity } from \"./optional\";\nimport { TListinoItemType } from \"./porte_vetrate\";\nimport { TVanoDocciaStoreState } from \"./vano_doccia\";\n\nexport const getVolume = (vano_doccia_state:TVanoDocciaStoreState) => {\n const isCmUnit = getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI;\n const cm_3 = (isCmUnit ? vano_doccia_state.profondita||0 : getCmFromFtAndInch(vano_doccia_state.profondita,vano_doccia_state.profondita_inc) ) * \n (isCmUnit ? vano_doccia_state.larghezza||0 : getCmFromFtAndInch(vano_doccia_state.larghezza,vano_doccia_state.larghezza_inc) ) *\n (isCmUnit ? vano_doccia_state.altezza||0 : getCmFromFtAndInch(vano_doccia_state.altezza,vano_doccia_state.altezza_inc) ) \n // console.log(\"PRF\",vano_doccia_state.profondita,vano_doccia_state.profondita_inc,getCmFromFtAndInch(vano_doccia_state.profondita,vano_doccia_state.profondita_inc))\n // console.log(\"LRG\",vano_doccia_state.larghezza,vano_doccia_state.larghezza_inc,getCmFromFtAndInch(vano_doccia_state.larghezza,vano_doccia_state.larghezza_inc))\n // console.log(\"ALT\",vano_doccia_state.altezza,vano_doccia_state.altezza_inc,getCmFromFtAndInch(vano_doccia_state.altezza,vano_doccia_state.altezza_inc))\n const room_volume = cm_3 * Math.pow(10, -6); // to m3\n return Number(room_volume.toFixed(2))\n}\n\nexport const filterModels = (\n models: TGeneratoreModelDetailType[],\n is_kit_coibentazione_included: boolean,\n vano_doccia_state:TVanoDocciaStoreState\n): TGeneratoreModelDetailType[] => {\n const room_volume = getVolume(vano_doccia_state) \n\n console.log(`>> Volume ${room_volume}m^3\n Kit di coibentazione ${is_kit_coibentazione_included}\n Sizes: ${JSON.stringify(vano_doccia_state)}`);\n\n const toNumber = (s: string): number => parseFloat(s);\n return models.map((m: TGeneratoreModelDetailType) => {\n console.log(`Modello ${m.title.rendered}: MinMetri^3 (conKit) ${m.acf.min_metri_cubi_potenza} | MaxMetri^3 (conKit) ${m.acf.metri_cubi_potenza_max}\n MinMetri^3 (noKit) ${m.acf.min_metri_cubi_no_kit_di_coibentazione} | MaxMetri^3 (noKit) ${m.acf.max_metri_cubi_no_kit_di_coibentazione}`);\n \n return ({\n ...m,\n is_visible: (is_kit_coibentazione_included &&\n (m.acf.min_metri_cubi_potenza === undefined || room_volume >= toNumber(m.acf.min_metri_cubi_potenza) || toNumber(m.acf.min_metri_cubi_potenza) > room_volume) &&\n (m.acf.metri_cubi_potenza_max === undefined || room_volume <= toNumber(m.acf.metri_cubi_potenza_max)))\n ||\n (!is_kit_coibentazione_included &&\n (m.acf.min_metri_cubi_no_kit_di_coibentazione === undefined || room_volume >= toNumber(m.acf.min_metri_cubi_no_kit_di_coibentazione) || toNumber(m.acf.min_metri_cubi_no_kit_di_coibentazione) > room_volume) &&\n (m.acf.max_metri_cubi_no_kit_di_coibentazione === undefined || room_volume <= toNumber(m.acf.max_metri_cubi_no_kit_di_coibentazione)))\n }) \n \n });\n};\n\nexport type TGalleryItem = {\n [\"image-slider-gallery\"]: string;\n};\n\n\nexport enum EDocumentType{\n URL = \"url\",\n FILE = \"file\"\n}\nexport type TDocument = {\n resource_url: string;\n document_title: string;\n input_type: EDocumentType\n}\n\nexport type TGeneratoreType = {\n id: string;\n slug: string;\n title: {\n rendered: string;\n };\n _embedded: TFeaturedMediaType;\n better_featured_image: TBetterFeaturedMediaType;\n acf: {\n accordion_group: {\n models_relationship: TGeneratoreModelType[];\n };\n slider_gallery: TGalleryItem[];\n optional_products_group: {\n related_optional: TOptional[]\n },\n documents_related_collection_group: TDocument[],\n max_volume_generatore_no_kit: string;\n max_volume_generatore_con_kit: string;\n steam_image: {\n url:string\n };\n hide_config?: boolean | undefined;\n };\n \n};\n\nexport type TDescriptionBlockType = {\n titolo_blocco_descrizione: string;\n content_blocco_descrizione: string;\n};\n\nexport type TGeneratoreModelType = {\n ID: string;\n post_title: string;\n post_name: string;\n potenza: string; //TODO: manca campo nel modello\n dimensione: string; //TODO: manca campo nel modello\n dimensione_controcassa: string; //TODO: manca campo nel modello\n materiali: string; //TODO: manca campo nel modello\n caratteristiche: string; //TODO: manca campo nel modello\n};\n\nexport type TGeneratoreModelDetailType = {\n id: string;\n title: {\n rendered: string;\n };\n slug: string;\n acf: {\n gallery_modello: {\n url: string;\n }[];\n description_block: TDescriptionBlockType[];\n metri_cubi_potenza_max: string | undefined;\n min_metri_cubi_potenza: string | undefined;\n max_metri_cubi_no_kit_di_coibentazione: string | undefined;\n min_metri_cubi_no_kit_di_coibentazione: string | undefined;\n more_details: {\n power_model: string;\n size_Y: string;\n size_Z: string;\n size_x: string;\n };\n item_related: TListinoItemType[]\n };\n is_visible: any;\n};\n\nexport type TGeneratoreModelStoreState = {\n generatore_product?: TGeneratoreType; \n generatore_model?: TGeneratoreModelDetailType;\n optionalsForModel?: TOptionalQuantity[];\n list_generatori_interni?: TGeneratoreType[];\n};\nconst initialState: TGeneratoreModelStoreState = {\n generatore_product: undefined,\n generatore_model: undefined,\n list_generatori_interni: [],\n optionalsForModel: []\n};\n\nexport default function (state = initialState, action: Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetModel: {\n return {\n ...state,\n ...action.payload,\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\nimport { TBetterFeaturedMediaType, TFeaturedMediaType } from \"./media\";\nimport { TListinoItemType } from \"./porte_vetrate\";\n\nexport enum EKitCoibentazioneModel{\n KIT_0_12 = \"ha-55-01-0004-kit-coibentazione-fino-a-12-mq\",\n KIT_12_15 = \"ha-55-02-0002-kit-coibentazione-fino-a-15-mq\",\n KIT_15_21 = \"ha-55-03-0002-kit-coibentazione-fino-a-21-mq\"\n}\nexport type TOptional = {\n ID: string;\n post_title: string; \n}\nexport type TOptionalDetailType = {\n id: string;\n slug: string;\n name?: string;\n title: {\n rendered: string\n };\n content:{\n rendered: string;\n };\n acf: {\n item_relationship: TListinoItemType[];\n max_quantity_optional: number\n };\n _embedded: TFeaturedMediaType;\n better_featured_image: TBetterFeaturedMediaType;\n description: string; //TODO: Manca campo \n}\nexport type TOptionalQuantity = {\n optional: TOptionalDetailType;\n quantity: number;\n variant?: string;\n disableDelete?: boolean;\n optKey?: string;\n}\n\nexport type TOptionalStoreState = {\n optionals?: TOptionalQuantity[];\n listNSPControlPanels?: TOptionalDetailType[];\n listNSPSteamDiffusors?: {\n [key: string]: {\n GLASS: TOptionalDetailType | undefined,\n CAMOUFLAGE: TOptionalDetailType | undefined,\n TRADITIONAL_CROMO: TOptionalDetailType | undefined,\n TRADITIONAL_NERO: TOptionalDetailType | undefined,\n TRADITIONAL_GUN: TOptionalDetailType | undefined\n }\n };\n}\nconst initialState: TOptionalStoreState = {\n optionals: [],\n listNSPControlPanels: [],\n listNSPSteamDiffusors: {\n \"1PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"2PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"4PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"8PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n }\n }\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetOptionals: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\nimport { TFeaturedMediaType } from \"./media\";\nimport { TListinoItemAcfType, TListinoItemContentType, TListinoItemType } from \"./porte_vetrate\";\n\n//Standard\nexport type TPancaType = {\n id: string;\n slug: string;\n title: {\n rendered: string\n };\n content: {\n rendered: string\n };\n _embedded: TFeaturedMediaType;\n description: string; //TODO: Manca campo\n acf: {\n max_quantity_optional: number;\n item_relationship: TListinoItemType[];\n };\n}\nexport type TPancaQuantity = {\n panca: TPancaType;\n quantity: number|undefined;\n item_listino: TListinoItemContentType|undefined;\n}\n//Su misura\nexport type TPancaCustomType = {\n id: string;\n slug: string;\n name: string;\n img: string;\n descrizione: string;\n}\nexport type TPancaCustomConfigurationType = {\n id: string;\n name: string;\n price_euro:TListinoItemAcfType, //only for eu\n img: string;\n descrizione: string;\n dimensioni: string;\n}\nexport type TPancaCustomConfigurationQuantity = {\n panca_custom: TPancaCustomConfigurationType;\n quantity: number;\n}\nexport type TPancaCustomChoice = {\n modello: TPancaCustomType;\n configurations: TPancaCustomConfigurationQuantity[];\n}\n\n\n//Store\nexport type TPancheStoreState = {\n panche?: TPancaQuantity[]; \n panca_custom?: TPancaCustomChoice;\n}\nconst initialState: TPancheStoreState = {\n panche: [],\n panca_custom: undefined\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetPanca: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","export default __webpack_public_path__ + \"static/media/Cerniera_SX.d0f5fefa.svg\";","export default __webpack_public_path__ + \"static/media/Cerniera_DX.d3479844.svg\";","\nimport i18n from 'i18next'\nimport Backend from 'i18next-xhr-backend'\nimport { initReactI18next } from 'react-i18next'\nimport { getLangFromWPLocale } from './utils/storage';\n\nconst defaultLng = 'en';\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n .init({\n lng: getLangFromWPLocale(),\n backend: {\n loadPath: '/assets/i18n/{{ns}}/{{lng}}/it.json'\n },\n fallbackLng: defaultLng,\n debug: true,\n ns: ['translations'],\n defaultNS: 'translations',\n interpolation: {\n escapeValue: false\n },\n react: {\n wait: true\n }\n })\n\nexport default i18n","import Action, { ActionTypes } from \"../actionTypes\";\nimport { TFeaturedMediaType } from \"./media\";\nimport img_cerniera_sx from \"./../../assets/images/materials/Cerniera_SX.svg\"\nimport img_cerniera_dx from \"./../../assets/images/materials/Cerniera_DX.svg\"\nimport { CODE_ADAPTA, CODE_TELAIO_TUTTOVETRO_INSIDE, CODE_TUTTOVETRO_CONTOUR, CODE_TUTTOVETRO_INSIDE, ID_ADAPTA_PORTA, ID_TUTTOVETRO_CONTOUR_PORTA, ID_TUTTOVETRO_CONTOUR_VETRATA, ID_TUTTOVETRO_INSIDE_PORTA, ID_TUTTOVETRO_INSIDE_VETRATA, MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM, MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM, MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM, MIN_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM, PLACEHOLDER_IMAGE, SLUG_ADAPTA_CUSTOM, SLUG_ANGOLO_VETRO_PORTA_CONTOUR, SLUG_ANGOLO_VETRO_PORTA_INSIDE, SLUG_MATERIALE_ANODIZZATO, SLUG_MATERIALE_BRONZO_SATINATO, SLUG_MATERIALE_DEFAULT, SLUG_MATERIALE_NERO_SATINATO, SLUG_MATERIALE_RAME_SATINATO, SLUG_MATERIALE_SPAZZOLATA, SLUG_TUTTOVETRO_CONTOUR, SLUG_TUTTOVETRO_INSIDE } from \"../../utils/consts\";\nimport { isVetroPortaVetroPortaModel } from \"../../utils/utils\";\nimport i18n from './../../i18n'\nimport { CrmLanguage, getAuthInfo } from \"../../utils/storage\";\n\nexport enum EPortaType {\n FIT = \"fit\"\n}\n\nexport const getPerimetroPortaVetrataMetri = (altezza_cm: number, larghezza_cm: number): number => {\n return ((altezza_cm / 100 + larghezza_cm! / 100) * 2) + 0.18\n}\nexport const getAreaPortaVetrataMetri = (altezza_cm: number, larghezza_cm: number): number => {\n return (altezza_cm / 100 * larghezza_cm! / 100)\n}\n\nexport const getPricesCustomPortaVetrata = (store: TPorteVetrateCustomStoreState): { [key: string]: TListinoItemContentType[] } => {\n let _pricing: TListinoItemContentType[] = []\n const {crm_language} = getAuthInfo()\n let result: { [key: string]: TListinoItemContentType[] } = {};\n if (store.modello_porta) {\n if (\n (store.modello_porta && !isVetroPortaVetroPortaModel(store.modello_porta!)) &&\n (store.altezza_porta! < MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM || store.altezza_porta! > MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM ||\n store.larghezza_porta! < MIN_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM || store.larghezza_porta! > MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM)) {\n throw new Error(\"La larghezza deve essere maggiore o uguale a 60cm e minori o uguali a 350cm, l'altezza deve essere maggiore o uguale a 60cm e minori o uguali a 250cm\")\n }\n\n if (store.porta_prodotto?.slug !== SLUG_TUTTOVETRO_CONTOUR && store.porta_prodotto?.slug !== SLUG_TUTTOVETRO_INSIDE && store.porta_prodotto?.slug !== SLUG_ADAPTA_CUSTOM) {\n console.log(\"PRODOTTO NON GESTITO >>> \",store.porta_prodotto?.slug)\n throw new Error(\"Il prodotto di porta custom non è gestito\")\n }\n\n //Const contour\n const const_profilo_esterno_contour = 10\n const const_profilo_esterno_contour_spazzolato = 15\n const const_price_anodizzato = 750\n\n //Const Inside\n const const_profilo_esterno_inside = 3.5\n const const_profilo_esterno_spazzolato_inside = 7.4\n const const_profilo_esterno_anodizzato_inside = 12\n\n\n //Const comuni\n const const_price_spessore_8_mm = 75\n const const_price_spessore_10_mm = 90\n const const_price_cerniere_2_pz = 106\n const const_price_cerniere_3_pz = 159\n const const_guarnizioni = 4\n const const_moltiplicatore_default = 5\n const const_moltiplicatore_ad_angolo = 5.2\n const LIMIT_ALTEZZA = 220\n\n //Porta\n const perimetro_porta = getPerimetroPortaVetrataMetri(store.altezza_porta!, store.larghezza_porta!)\n const area_porta = getAreaPortaVetrataMetri(store.altezza_porta!, store.larghezza_porta!)\n\n //$$ Contour\n const price_profilo_esterno_contour = perimetro_porta * (store.materiale?.slug === SLUG_MATERIALE_SPAZZOLATA ? const_profilo_esterno_contour_spazzolato : const_profilo_esterno_contour)\n const price_spessore_vetro_contour = area_porta * (store.altezza_porta! < LIMIT_ALTEZZA ? const_price_spessore_8_mm : const_price_spessore_10_mm)\n const price_cerniere_contour = store.altezza_porta! < LIMIT_ALTEZZA ? const_price_cerniere_2_pz : const_price_cerniere_3_pz\n const price_maniglia_contour = 23\n const price_guarnizioni_contour = perimetro_porta * const_guarnizioni\n const price_imballo_contour = 35\n const price_lavorazione_profilo_contour = 50\n const price_imballaggio_contour = 10\n\n //$$ Inside\n const getConstProfiloEsternoInside = () => store.materiale?.slug === SLUG_MATERIALE_ANODIZZATO ? const_profilo_esterno_anodizzato_inside : store.materiale?.slug === SLUG_MATERIALE_SPAZZOLATA ? const_profilo_esterno_spazzolato_inside : const_profilo_esterno_inside\n const price_porta_profilo_esterno_inside = getConstProfiloEsternoInside() * (perimetro_porta * 2)\n const price_spessore_vetro_inside = area_porta * (store.altezza_porta! < LIMIT_ALTEZZA ? const_price_spessore_8_mm : const_price_spessore_10_mm)\n const price_cerniere_inside = store.altezza_porta! < LIMIT_ALTEZZA ? const_price_cerniere_2_pz : const_price_cerniere_3_pz\n const price_maniglia_inside = 23\n const price_guarnizioni_inside = perimetro_porta * const_guarnizioni\n const price_imballo_inside = 25\n const price_imballaggio_inside = 20 * 2\n\n const getPriceTelaioInside = (perimetro: number) => {\n const telaio_profilo = 3\n const telaio_listello = 6\n const telaio_squadrette = 15\n const telaio_imballo = 5\n const telaio_lavorazione = 20\n const adeguamento_prezzo = 7\n return (telaio_profilo * perimetro) + telaio_listello + (telaio_squadrette * 1) + telaio_imballo + telaio_lavorazione + adeguamento_prezzo\n }\n\n const getPricePortaContour = () => {\n const percentual = 0\n let subtotale = Math.round((price_profilo_esterno_contour + price_spessore_vetro_contour + price_cerniere_contour + price_maniglia_contour + price_guarnizioni_contour + price_imballo_contour + price_lavorazione_profilo_contour + price_imballaggio_contour) * (store.modello_porta?.slug === SLUG_ANGOLO_VETRO_PORTA_CONTOUR ? const_moltiplicatore_ad_angolo : const_moltiplicatore_default)) + (store.materiale?.slug === SLUG_MATERIALE_ANODIZZATO ? const_price_anodizzato : 0)\n console.log(`Porta price CONTOUR : String((${price_profilo_esterno_contour}+${price_spessore_vetro_contour}+${price_cerniere_contour}+${price_maniglia_contour}+${price_guarnizioni_contour}+${price_imballo_contour}+${price_lavorazione_profilo_contour}+${price_imballaggio_contour}) * (${store.modello_porta?.slug === SLUG_ANGOLO_VETRO_PORTA_CONTOUR ? const_moltiplicatore_ad_angolo : const_moltiplicatore_default})) + ${+ (store.materiale?.slug === SLUG_MATERIALE_ANODIZZATO ? const_price_anodizzato : 0)}`)\n return String(Math.round(subtotale + (subtotale * percentual) / 100))\n }\n\n const getMoltiplicatoreInside = () => store.modello_porta?.slug === SLUG_ANGOLO_VETRO_PORTA_INSIDE ? const_moltiplicatore_ad_angolo : const_moltiplicatore_default\n const getPriceTelaioMoltiplicatoInside = () => (getPriceTelaioInside(perimetro_porta) * getMoltiplicatoreInside())\n const getPricePortaInside = () => {\n const moltiplicatore = getMoltiplicatoreInside()\n const priceTelaioMoltiplicato = getPriceTelaioMoltiplicatoInside()\n const subtotale = priceTelaioMoltiplicato + ((price_porta_profilo_esterno_inside + price_spessore_vetro_inside + price_cerniere_inside + price_maniglia_inside + price_guarnizioni_inside + price_imballo_inside + price_imballaggio_inside) * moltiplicatore)\n console.log(`Porta price INSIDE : Telaio(${getPriceTelaioInside(perimetro_porta)}*${moltiplicatore}) - (${price_porta_profilo_esterno_inside} + ${price_spessore_vetro_inside} + ${price_cerniere_inside} + ${price_maniglia_inside} + ${price_guarnizioni_inside} + ${price_imballo_inside} + ${price_imballaggio_inside}) * ${moltiplicatore}`)\n return String(Math.round(subtotale))\n }\n\n\n const getPricePortaAdapta = (extra: boolean) => {\n const price_adapta_70 = 1750;\n const price_extra_adapta_70 = 1850;\n const price_adapta_120 = 2550;\n const price_extra_adapta_120 = 2650;\n\n const width_less_than_90cm = store.larghezza_porta! >= 50 && store.larghezza_porta!<=90;\n let final_price:number = (width_less_than_90cm ? ((extra ? price_extra_adapta_70 : price_adapta_70)*1.1) : store.larghezza_porta!>90 ? ((extra ? price_extra_adapta_120 : price_adapta_120)*1.15) : 0);\n if(store.materiale?.slug === SLUG_MATERIALE_RAME_SATINATO || store.materiale?.slug === SLUG_MATERIALE_NERO_SATINATO || store.materiale?.slug === SLUG_MATERIALE_BRONZO_SATINATO){\n final_price+= width_less_than_90cm ? (crm_language===CrmLanguage.IT ? 1400 : 1440) : (crm_language===CrmLanguage.IT ? 2310 : 2380); \n }\n return `${final_price?.toFixed(2)}`;\n }\n\n const finalPricePorta = (extra?: boolean) => store.porta_prodotto?.slug === SLUG_TUTTOVETRO_INSIDE ? `${Number(getPricePortaInside()) - getPriceTelaioMoltiplicatoInside()}` : \n store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? getPricePortaContour() : \n store.porta_prodotto?.slug === SLUG_ADAPTA_CUSTOM ? getPricePortaAdapta(!!extra) : \"\";\n\n result[\n store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? ID_TUTTOVETRO_CONTOUR_PORTA : \n store.porta_prodotto?.slug === SLUG_TUTTOVETRO_INSIDE ? ID_TUTTOVETRO_INSIDE_PORTA : \n store.porta_prodotto?.slug === SLUG_ADAPTA_CUSTOM ? ID_ADAPTA_PORTA : \"\"] = [\n {\n id: store.modello_porta!.id,\n slug: store.porta_prodotto?.slug,\n title: store.modello_porta!.title,\n acf: { \n sku: store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? CODE_TUTTOVETRO_CONTOUR : \n store.porta_prodotto?.slug === SLUG_TUTTOVETRO_INSIDE ? CODE_TUTTOVETRO_INSIDE : \n store.porta_prodotto?.slug === SLUG_ADAPTA_CUSTOM ? CODE_ADAPTA : \"\",\n descrizione: \"\",\n voltaggio: null,\n side_cerniera: store.versione!,\n materials: [],\n price: finalPricePorta(),\n price_extra: finalPricePorta(true)\n }\n },\n ].concat(store.porta_prodotto?.slug === SLUG_TUTTOVETRO_INSIDE ? [\n {\n id: store.modello_porta!.id,\n slug: store.porta_prodotto?.slug,\n title: { rendered: i18n.t(\"v6.telaio_porta\") },\n acf: {\n sku: CODE_TELAIO_TUTTOVETRO_INSIDE,\n descrizione: \"\",\n side_cerniera: store.versione!,\n voltaggio: null,\n materials: [],\n price: `${getPriceTelaioMoltiplicatoInside()}`,\n price_extra: `${getPriceTelaioMoltiplicatoInside()}`,\n }\n }\n ] : [])\n\n //Vetrata\n if (store.modello_vetrata) {\n const perimetro_vetrata = getPerimetroPortaVetrataMetri(store.altezza_vetrata!, store.larghezza_vetrata!)\n const area_vetrata = getAreaPortaVetrataMetri(store.altezza_vetrata!, store.larghezza_vetrata!)\n\n const price_vetrata_spessore_vetro = area_vetrata * (store.altezza_vetrata! < LIMIT_ALTEZZA ? const_price_spessore_8_mm : const_price_spessore_10_mm)\n const price_vetrata_guarnizioni = perimetro_vetrata * const_guarnizioni\n\n //Contour\n const price_vetrata_profilo_esterno_contour = (perimetro_vetrata * (store.materiale?.slug === SLUG_MATERIALE_SPAZZOLATA ? const_profilo_esterno_contour_spazzolato : const_profilo_esterno_contour))\n\n //Inside\n const price_vetrata_profilo_esterno_inside = (perimetro_vetrata * 2) * getConstProfiloEsternoInside()\n\n const getPriceVetrataContour = () => {\n const percentual = 0\n let subtotale = Math.round((price_vetrata_profilo_esterno_contour + price_vetrata_spessore_vetro + price_vetrata_guarnizioni + price_imballo_contour + price_lavorazione_profilo_contour + price_imballaggio_contour) * const_moltiplicatore_default) + (store.materiale?.slug === SLUG_MATERIALE_ANODIZZATO ? const_price_anodizzato : 0)\n console.log(`Vetrata Contour price : String((${price_vetrata_profilo_esterno_contour}+${price_vetrata_spessore_vetro}+${price_vetrata_guarnizioni}+${price_imballo_contour}+${price_lavorazione_profilo_contour}+${price_imballaggio_contour}) * (${const_moltiplicatore_default})) + ${(store.materiale?.slug === SLUG_MATERIALE_ANODIZZATO ? const_price_anodizzato : 0)} `)\n return String(Math.round(subtotale + (subtotale * percentual) / 100))\n }\n const getPriceVetrataInside = () => {\n const percentual = 0\n const moltiplicatore = const_moltiplicatore_default\n const subtotale = (getPriceTelaioInside(perimetro_vetrata) * moltiplicatore) + ((price_vetrata_profilo_esterno_inside + price_vetrata_spessore_vetro + price_vetrata_guarnizioni + price_imballo_inside + price_imballaggio_inside) * moltiplicatore)\n console.log(`Vetrata Inside price : String(Telaio(${getPriceTelaioInside(perimetro_vetrata)}*${moltiplicatore}) + (${price_vetrata_profilo_esterno_inside}+${price_vetrata_spessore_vetro}+${price_vetrata_guarnizioni}+${price_imballo_inside}+${price_imballaggio_inside}) * (${moltiplicatore})) `)\n return String(Math.round(subtotale + (subtotale * percentual) / 100))\n }\n const _price_vetrata_total = store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? getPriceVetrataContour() : getPriceVetrataInside()\n\n result[store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? ID_TUTTOVETRO_CONTOUR_VETRATA : ID_TUTTOVETRO_INSIDE_VETRATA] = [\n {\n id: store.modello_vetrata!.id,\n slug: store.porta_prodotto?.slug,\n title: store.modello_vetrata!.title,\n acf: {\n sku: store.porta_prodotto?.slug === SLUG_TUTTOVETRO_CONTOUR ? CODE_TUTTOVETRO_CONTOUR : CODE_TUTTOVETRO_INSIDE,\n descrizione: \"\",\n voltaggio: null,\n side_cerniera: store.versione!,\n materials: [],\n price: _price_vetrata_total,\n price_extra: _price_vetrata_total\n }\n }\n ]\n }\n }\n\n\n return result\n}\n\n\nexport enum EPortaStdCustomType {\n STANDARD = \"Standard\",\n CUSTOM = \"Custom\"\n}\n\nexport type TPortaType = {\n id: string;\n slug: string;\n title: {\n rendered: string\n };\n content: {\n rendered: string\n };\n _embedded: TFeaturedMediaType;\n descrizione: string; //TODO: Descrizione prodotto porta vetrata\n acf: {\n tipologia_di_prodotto: EPortaStdCustomType,\n models_relationship: TModelloPortaType[];\n min_altezza_modello_porta: string;\n min_larghezza_modello_porta: string;\n min_altezza_modello_vetrata: string;\n min_larghezza_modello_vetrata: string;\n custom_configuration_fields: {\n material_door_custom: TMaterial[]\n }\n };\n}\nexport type TModelloPortaType = {\n ID: string;\n post_title: string;\n dim_vetrata: string; //TODO:\n dim_controtelaio: string; //TODO:\n materiali: string; //TODO:\n caratteristiche: string; //TODO:\n acf: {\n item_relationship: TListinoItemType[];\n };\n}\nexport type TModelloDetailPortaType = {\n id: string;\n slug: string;\n categoria_modello_pv: number[];\n title: {\n rendered: string\n };\n content: {\n rendered: string\n };\n _embedded: TFeaturedMediaType;\n acf: {\n item_relationship: TListinoItemType[];\n standard_configuration_fields: {\n x_axis_door: number;\n y_axis_door: number;\n }\n };\n is_visible: boolean;\n}\n\nexport type TListinoItemType = {\n ID: string;\n post_title: string;\n}\nexport enum ESideCerniera {\n DX = \"right\",\n SX = \"left\"\n}\nexport enum EVoltaggio {\n V208 = \"208\",\n V240 = \"240\"\n}\n\nexport const getLabelForESideCerniera = (side?: ESideCerniera) => {\n switch (side) {\n case ESideCerniera.DX:\n return \"porte_vetrate.versione_dx\"\n case ESideCerniera.SX:\n return \"porte_vetrate.versione_sx\"\n default:\n return \"\";\n }\n}\nexport const getImageForESideCerniera = (side?: ESideCerniera) => {\n switch (side) {\n case ESideCerniera.DX:\n return img_cerniera_dx\n case ESideCerniera.SX:\n return img_cerniera_sx\n default:\n return PLACEHOLDER_IMAGE;\n }\n}\n\nexport type TListinoItemAcfType = {\n sku: string;\n descrizione: string;\n price: string;\n price_extra: string;\n side_cerniera?: ESideCerniera;\n materials: TMaterial[];\n voltaggio: EVoltaggio | null;\n}\n\nexport type TListinoItemContentType = {\n id: string;\n slug: string;\n acf: TListinoItemAcfType;\n title: {\n rendered: string\n };\n multipli_for_quantity_sku?: boolean;\n label_quantity?: string;\n variant?: string;\n}\nexport type TMaterial = {\n ID: string;\n post_title: string;\n post_name: string;\n}\nexport type TMaterialDetails = {\n id: string;\n slug: string;\n title: {\n rendered: string\n };\n _embedded: TFeaturedMediaType;\n}\n\nexport type TVetrataType = {\n id: string;\n name: string;\n img: string;\n descrizione: string;\n}\nexport type TCollezioniSuMisura = {\n id: string;\n name: string;\n img: string;\n descrizione: string;\n}\n\nexport type TPorteVetrateStandardStoreState = {\n porta_prodotto?: TPortaType;\n porta_listino?: TListinoItemContentType[];\n modello_porta?: TModelloDetailPortaType;\n modello_vetrata?: TModelloDetailPortaType;\n}\nexport type TPorteVetrateCustomStoreState = {\n porta_prodotto?: TPortaType;\n larghezza_porta?: number;\n altezza_porta?: number;\n larghezza_vetrata?: number;\n altezza_vetrata?: number;\n materiale?: TMaterialDetails;\n versione?: ESideCerniera;\n modello_porta?: TModelloDetailPortaType;\n modello_vetrata?: TModelloDetailPortaType;\n}\nconst initialStateStandard: TPorteVetrateStandardStoreState = {\n porta_prodotto: undefined,\n porta_listino: undefined,\n modello_porta: undefined,\n modello_vetrata: undefined\n};\nconst initialStateCustom: TPorteVetrateCustomStoreState = {\n porta_prodotto: undefined,\n larghezza_porta: undefined,\n altezza_porta: undefined,\n larghezza_vetrata: undefined,\n altezza_vetrata: undefined,\n materiale: undefined,\n versione: undefined,\n modello_porta: undefined,\n modello_vetrata: undefined\n};\n\n\nexport default function (state = { ...initialStateStandard, ...initialStateCustom }, action: Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetPortaVetrata: {\n return {\n ...state,\n ...action.payload\n };\n }\n case ActionTypes.ActionGeneratoreSetPortaVetrataCustom: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { ImgType } from \"../../controller/Configuratore\";\nimport Action, { ActionTypes } from \"../actionTypes\";\nimport { TListinoItemContentType } from \"./porte_vetrate\";\nimport { ConfigurationType } from \"./scelta_configurazione\";\n\nexport type TRiepilogoRequest = {\n id: string;\n data: TRiepilogoPayload;\n}\nexport type TRiepilogoPayload = {\n uuid: string;\n link: string;\n data: TRiepilogoPayloadData;\n type_configuration: ConfigurationType | undefined;\n language: string;\n localization: string;\n price: number;\n price_discounted: number;\n percentual_discount: number;\n valute: string;\n timestamp: number;\n customer_info: TCustomerInfo | null;\n version: string;\n mainInternalImg: string;\n layerInternalImgs: ImgType[];\n mainExternalImg: string;\n layerExternalImgs: ImgType[];\n}\n\nexport type TCustomerInfo = {\n firstname?: string;\n lastname?: string;\n company_name?: string;\n city: string;\n country: string;\n commenti_per_l_acquirente?: string;\n riferimento_nome_del_progetto: string;\n}\n\nexport type TRiepilogoPayloadData = {\n generatore: {\n name: string;\n images: string[];\n subtotal: string;\n model_items: {\n name: string;\n price: string;\n units?: number;\n }[]\n },\n optionals: {\n subtotal: string;\n images: string[];\n optionals: {\n name: string,\n price: string,\n subitems: {\n name: string;\n price: string;\n }[]\n }[],\n },\n panche: {\n subtotal: string;\n images: string[];\n panche: {\n name: string,\n price: string,\n units?: number;\n }[],\n },\n porte_vetrate: {\n subtotal: string;\n images: string[];\n isCustom: boolean;\n numParetiVetrata: number;\n custom_extra_info: string[];\n model_items: {\n name: string,\n price: string\n }[];\n custom_items: { title: string; subItems: { title: string; price: string; valute: string; }[]; }[]\n }\n accessori: {\n subtotal: string;\n images: string[];\n accessori: {\n name: string,\n price: string,\n quantity?: number;\n subitems: {\n name: string;\n price: string;\n multipli_for_quantity_sku: boolean;\n label_quantity: string;\n }[]\n }[],\n },\n info_tecniche: {\n dimensione_box: string;\n volume: string;\n struttura: string;\n rivestimento: string;\n volt: string;\n kit_coibentazione: string;\n add_kit_coibentazione_to_quote: string;\n }\n}\n\nexport enum EB2Type {\n B2B = \"B2B\",\n B2C = \"B2C\"\n}\n\nexport type TFormRichiestaPreventivo = {\n nome?: string;\n cognome?: string;\n email?: string;\n telefono?: string;\n provincia?: string;\n indirizzo?: string;\n}\n\nexport type TRiepilogoStoreState = {\n b2type?: EB2Type;\n formRichiestaPreventivo?: TFormRichiestaPreventivo;\n perc_sconto?: number;\n}\nconst initialState: TRiepilogoStoreState = {\n b2type: undefined,\n formRichiestaPreventivo: undefined,\n perc_sconto: undefined\n};\n\n\nexport default function (state = initialState, action: Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetRiepilogo: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\n\n\nexport enum ConfigurationType{\n STANDARD = \"STANDARD\",\n PORTE_VETRATE = \"PORTE_VETRATE\"\n}\n\nexport type TSceltaConfigurazioneStoreState = {\n type?: ConfigurationType;\n}\nconst initialState: TSceltaConfigurazioneStoreState = {\n type: undefined\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionSceltaConfigurazioneSetData: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { getLocalization, Localization } from \"../../utils/utils\";\nimport Action, { ActionTypes } from \"../actionTypes\";\n\n//Struttura\nexport enum EStrutturaVanoDoccia {\n Cartongesso = \"cartongesso\",\n Muratura = \"muratura\",\n Poliestirene = \"poliestirene\",\n}\nexport const getLabelEStrutturaVanoDoccia = (k: EStrutturaVanoDoccia) => {\n const key = String(k).toLowerCase()\n if (key === EStrutturaVanoDoccia.Cartongesso) return \"vanodoccia_struttura.struttura.cartongesso\"\n else if (key === EStrutturaVanoDoccia.Muratura) return \"vanodoccia_struttura.struttura.muratura\"\n else if (key === EStrutturaVanoDoccia.Poliestirene) return \"vanodoccia_struttura.struttura.poliestirene\"\n else return \"\"\n}\n\n//Rivestimento\nexport enum ERivestimentoVanoDoccia {\n Ceramica = \"ceramica\",\n Marmo = \"marmo\",\n Pietra = \"pietra\"\n}\nexport const getLabelERivestimentoVanoDoccia = (k: ERivestimentoVanoDoccia) => {\n const key = String(k).toLowerCase()\n if (key === ERivestimentoVanoDoccia.Ceramica) return \"vanodoccia_struttura.rivestimento.ceramica\"\n else if (key === ERivestimentoVanoDoccia.Marmo) return \"vanodoccia_struttura.rivestimento.marmo\"\n else if (key === ERivestimentoVanoDoccia.Pietra) return \"vanodoccia_struttura.rivestimento.pietra\"\n else return \"\"\n}\n\n//Struttura Vano Doccia\nexport type TStrutturaVanoDocciaStoreState = {\n struttura?: EStrutturaVanoDoccia;\n rivestimento?: ERivestimentoVanoDoccia;\n kit_coibentazione?: boolean;\n add_kit_coibentazione_to_quote?: boolean;\n}\nconst initialState: TStrutturaVanoDocciaStoreState = {\n struttura: undefined,\n rivestimento: undefined,\n kit_coibentazione: getLocalization() === Localization.EUROPA ? true : undefined,\n add_kit_coibentazione_to_quote: undefined\n};\n\n\nexport default function (state = initialState, action: Action) {\n switch (action.type) {\n case ActionTypes.ActionStrutturaVanoDocciaSetData: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\n\nexport enum EVoltaggioType{\n v208 = \"208\",\n v208_3ph = \"208_3ph\",\n V240 = \"240\",\n\n}\n\nexport type TVoltaggioStoreState = {\n voltaggio?: EVoltaggioType;\n}\nconst initialState: TVoltaggioStoreState = {\n voltaggio: undefined\n};\n\nexport const getLabelEVoltaggioType = (k:EVoltaggioType) => {\n const key = k\n if(key===EVoltaggioType.v208) return \"voltaggio.v208\"\n else if(key===EVoltaggioType.v208_3ph) return \"voltaggio.v208_3ph\"\n else if(key===EVoltaggioType.V240) return \"voltaggio.v240\"\n else return \"\"\n}\n\nexport const getVoltaggiExternal = () : EVoltaggioType[] => {\n return [EVoltaggioType.v208,EVoltaggioType.V240]\n}\nexport const getVoltaggiInternal = () : EVoltaggioType[] => {\n return [EVoltaggioType.v208,EVoltaggioType.V240]\n}\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionGeneratoreSetVoltaggio: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\n\n//Vano Doccia\nexport type TVanoDocciaStoreState = {\n larghezza?: number;\n larghezza_inc?: number;\n profondita?: number;\n profondita_inc?: number;\n altezza?: number;\n altezza_inc?: number;\n}\nconst initialState: TVanoDocciaStoreState = {\n larghezza: undefined,\n larghezza_inc: undefined,\n profondita: undefined,\n profondita_inc: undefined,\n altezza: undefined,\n altezza_inc: undefined\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionVanoDocciaSetData: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import Action, { ActionTypes } from \"../actionTypes\";\n\nexport type TVetrateStoreState = {\n quantita?: number;\n}\nconst initialState: TVetrateStoreState = {\n quantita: undefined\n};\n\n\nexport default function(state = initialState, action:Action) {\n switch (action.type) {\n case ActionTypes.ActionVetrateSetData: {\n return {\n ...state,\n ...action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { combineReducers } from \"redux\";\nimport { ActionTypes } from \"../actionTypes\";\nimport accessori, { TAccessoriStoreState } from \"./accessori\";\nimport general, { TGeneralStoreState } from \"./general\";\nimport generatore, { TGeneratoreStoreState } from \"./generatore\";\nimport generatore_product, { TGeneratoreModelStoreState } from \"./generatoreestint\";\nimport optional, { TOptionalStoreState } from \"./optional\";\nimport panche, { TPancheStoreState } from \"./panche\";\nimport porta_vetrata, { TPorteVetrateCustomStoreState, TPorteVetrateStandardStoreState } from \"./porte_vetrate\";\nimport riepilogo, { TRiepilogoStoreState } from \"./riepilogo\";\nimport scelta_configurazione, { TSceltaConfigurazioneStoreState } from \"./scelta_configurazione\";\nimport struttura_vano_doccia, { TStrutturaVanoDocciaStoreState } from \"./struttura_vano_doccia\";\nimport vano_doccia, { TVanoDocciaStoreState } from \"./vano_doccia\";\nimport vetrate, { TVetrateStoreState } from \"./vetrate\";\nimport voltaggio, { TVoltaggioStoreState } from \"./voltaggio\";\n\nexport type TGeneralStore = {\n getState: () => TGeneral;\n}\nexport type TGeneral = {\n general: TGeneralStoreState;\n scelta_configurazione: TSceltaConfigurazioneStoreState;\n vano_doccia: TVanoDocciaStoreState;\n struttura_vano_doccia: TStrutturaVanoDocciaStoreState;\n vetrate: TVetrateStoreState;\n generatore: TGeneratoreStoreState;\n generatore_product: TGeneratoreModelStoreState;\n optional: TOptionalStoreState;\n porta_vetrata: TPorteVetrateStandardStoreState & TPorteVetrateCustomStoreState;\n panche: TPancheStoreState;\n accessori: TAccessoriStoreState;\n voltaggio: TVoltaggioStoreState;\n riepilogo: TRiepilogoStoreState;\n}\n\nconst appReducer = combineReducers({general, scelta_configurazione, vano_doccia, struttura_vano_doccia,vetrate,generatore,generatore_product,optional,porta_vetrata, panche, accessori, voltaggio, riepilogo})\n\n \nconst rootReducer = (state:any, action:any) => {\n if (action.type === ActionTypes.ActionResetStore) {\n return appReducer(undefined, action)\n }\n return appReducer(state, action)\n}\n\n \nexport default rootReducer;\n","import { createStore } from \"redux\";\nimport rootReducer from \"./reducers\";\nconst store = createStore(\n rootReducer,\n //@ts-ignore\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\n);\n\nexport default store;\n","import axios from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router\";\nimport Loader, { ELoader } from \"../../components/Loader\";\nimport { actGeneral } from \"../../redux/actions\";\nimport { TGeneral } from \"../../redux/reducers\";\nimport store from \"../../redux/store\";\nimport { setAuthInfo } from \"../../utils/storage\";\nimport jwt_decode from \"jwt-decode\";\n\n\nfunction Callback({...props}){\n const history = useHistory();\n const [anErrorOccurred,setAnErrorOccurred] = useState(false);\n const [errorAuth,setErrorAuth] = useState(\"\");\n const dispatch = useDispatch()\n\n useEffect(()=>{\n dispatch(actGeneral({appLoading: true}))\n init()\n },[])\n\n const init = async () => {\n setErrorAuth(\"\") //reset msg\n try {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const id_token = urlParams.get('id_token')\n if(!id_token){\n setAnErrorOccurred(true)\n }else{\n\n const decoded:{email:string} = jwt_decode(id_token);\n const responseVerifyUserAuthorization:any = await axios.get(`${process.env.REACT_APP_AUTH_WEBSITE_URI}/wp-json/steam-effe-api/v1/has-steam-permission?email=${decoded?.email}`)\n\n if(responseVerifyUserAuthorization.data?.has_permission){\n setAuthInfo({\n access_token: id_token\n }, \n responseVerifyUserAuthorization.data?.user_id, \n responseVerifyUserAuthorization.data?.crm_language, \n decoded?.email)\n history.replace(\"/\")\n }else{\n setErrorAuth(props.t(\"v2.error.ruolo_non_ammesso\"))\n } \n }\n } catch (error) {\n console.log(`Error during callback: ${error}`)\n setErrorAuth(props.t(\"v2.error.ruolo_non_ammesso\"))\n }\n }\n return()\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general\n }), { actGeneral })(withTranslation()(Callback));","import { useRef, useState } from \"react\";\nimport {\n IconCloseMenu, IconWarning,\n} from \"../../components/Icon\";\nimport ic_close from \"./../../assets/images/closeicon.png\"\nimport { H3 } from \"../../components/Typography\";\nimport tailwindMyConfig from \"../../tailwind.my.config\";\nimport { FC } from \"react\";\nimport { Modal as ModalAntD } from \"react-bootstrap\";\nimport { Row, Col } from \"react-bootstrap\";\nimport Gallery from \"../Gallery\";\n\n\nexport enum IModalType {\n Default = \"Default\",\n Success = \"Success\",\n Error = \"Error\",\n Warning = \"Warning\"\n}\n\nexport enum ModalSize {\n sm=\"sm\",\n lg=\"lg\",\n xl=\"xl\"\n}\ninterface IModal extends React.ButtonHTMLAttributes {\n title: string;\n visible: boolean;\n onClose: () => void;\n cancelAction?: any;\n okAction?: any;\n modalType?: IModalType;\n size?: ModalSize;\n gallery?: string[]; //list of img\n footer?: React.ReactNode;\n htmlDecode?: boolean;\n closeInline?: boolean;\n contentClassName?:string;\n fullscreen?: boolean;\n}\n\nconst Modal: FC = ({ title, onClose, visible, contentClassName, fullscreen, cancelAction, okAction, htmlDecode, modalType, size, closeInline, gallery, footer, ...props }: IModal) => {\n const col = gallery?.length ? 6 : 12\n \n\n return (\n {\n onClose && onClose()\n }}\n contentClassName={contentClassName}\n backdropClassName=\"blur\"\n >\n \n \n
\n \n \n {\n onClose && onClose()\n }}\n className={`${!closeInline && \"absolute\"} focus:outline-none py-2 pr-2`}\n style={{ top: 3.5, left: 0, zIndex: 9 }}>\n \n \n
\n {\n htmlDecode ? \n
\n :\n

\n }\n

\n \n
\n
\n
{props.children}
\n {okAction || cancelAction ? (\n
\n {cancelAction && cancelAction}\n {okAction && okAction}\n
\n ) : null}\n \n {\n gallery?.length ?\n \n \n \n : null}\n
\n \n {footer}\n \n );\n};\n\nexport default Modal;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAYAAADFniADAAAABHNCSVQICAgIfAhkiAAAAaBJREFUWEfN2D1OwzAUAODnG8EKMzAgwcLCioS4ASfgApwCCSGBkAA1ncuNmM1r3DZxbD8/Pzuxu1Rt0+br+0tsBbp7BYBnUOcbfK730OtjAP2EjksFenUGoF7wjStQF79VVLo7wvN36HhA1LvqETVhenWCgo89aMsxqFqwHqS+8PR32wjtKQPKht1iKtezpjIAsiNlRQze8OXNbDAC5EcdIjYTLAIKo+aCMUA0qjSMCYqjSsEM6BN/7n7cZaFGsrsvdFQ/x4Q1dgBpdkfzUNKICUC89I2jN0z++L8WgtJRJmK7+iDSwTmGmMz89NkRC8MyQbJIDZPfhRUA5aGmqQT4M23P77K8kUBdmU10vvEQLAVd5HopqymnvuDH3AW1gBrXUBPp8xV11UKnTl4All5TnKmeCUtDpVyYM2B8VAqIGrDUeNl9xkNJQBmwOCoHJITRqBIgBxa/+wyjSoJsmLP4nJaZH8Vpe0bBeg9hLCBc1BL7CkmL0SVAjFQ2vMGxZISmheZJZSObZvaWEKJa2V7sTjGIj7iCvo5PdGnrZ3zvHwWVODWVKdfiAAAAAElFTkSuQmCC\"","import { Spin } from \"antd\";\nimport { FC } from \"react\";\nimport InnerLoader from \"../../InnerLoader\";\n\ninterface ITitle extends React.ButtonHTMLAttributes {\n title: string;\n isLoading?: boolean;\n}\n\nconst H3: FC = ({ title, isLoading, ...props }: ITitle) => {\n return (\n

\n {title} {isLoading ? : null}\n

\n );\n};\nexport default H3;\n","import { FC } from \"react\";\n\ninterface ITitle extends React.ButtonHTMLAttributes {\n title: string;\n}\n\nconst Text: FC = ({ title, ...props }: ITitle) => {\n return (\n

\n {title}\n

\n );\n};\nexport default Text;\n","import { Spin } from \"antd\";\nimport { FC, useRef, useState } from \"react\";\n//@ts-ignore\nimport ImageGallery, { Fullscreen } from \"react-image-gallery\";\nimport Lottie from 'react-lottie';\nimport ic_fullscreen from \"./../../assets/lottie/full-screen.json\"\n\ninterface IGallery {\n gallery: string[];\n}\n\nconst Gallery: FC = ({ gallery, ...props }: IGallery) => {\n const [currentGalleryIndex, setCurrentGalleryIndex] = useState(0);\n const galleryRef:any = useRef();\n\n const icFullScreenRef:any = useRef();\n const defaultOptions = {\n loop: false,\n autoplay: false, \n animationData: ic_fullscreen,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n };\n\n return (\n <>\n {\n return { original: img };\n })}\n />\n
\n
\n 0 ? \"active\" : \"disabled\"\n }`}\n onClick={() => {\n //@ts-ignore\n const currIndex = galleryRef?.current?.getCurrentIndex();\n //@ts-ignore\n currIndex > 0 && galleryRef?.current?.slideToIndex(currIndex - 1);\n setCurrentGalleryIndex(currIndex - 1);\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"47.361\"\n height=\"10.707\"\n viewBox=\"0 0 47.361 10.707\"\n >\n \n \n \n \n \n
\n
\n\n
{\n //@ts-ignore\n galleryRef?.current?.fullScreen();\n }} onMouseEnter={() => {\n //@ts-ignore\n icFullScreenRef?.current?.play()\n }} onMouseLeave={() => {\n //@ts-ignore\n icFullScreenRef?.current?.stop()\n }}>\n \n\n
\n
\n
\n {\n //@ts-ignore\n const currIndex = galleryRef?.current?.getCurrentIndex();\n //@ts-ignore\n currIndex < gallery.length - 1 && galleryRef?.current?.slideToIndex(currIndex + 1);\n setCurrentGalleryIndex(currIndex + 1);\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"47.361\"\n height=\"10.707\"\n viewBox=\"0 0 47.361 10.707\"\n >\n \n \n \n \n \n
\n
\n \n );\n};\nexport default Gallery;\n","import { FC } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { isMobile } from \"../../../utils/utils\";\n\ninterface IFormButton extends React.ButtonHTMLAttributes {\n title: string;\n isDisabled?: boolean;\n onClick: any;\n icon?: any;\n t?: any;\n}\n\nconst FormButton: FC = ({ title, isDisabled, onClick, icon, t, ...props }: IFormButton) => {\n return (\n {\n (!isDisabled && onClick) && onClick();\n }}\n >\n \n {title}\n \n {icon ? icon : null}\n \n );\n};\nexport default withTranslation()(FormButton);\n","import { FC } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { useWindowSize, WIDTH_DESKTOP } from \"../../controller/Configuratore\";\nimport {\n getLocalization,\n isMobile,\n isTablet,\n Localization,\n} from \"../../utils/utils\";\nimport FormButton from \"../Buttons/FormButton\";\nimport { IconFrecciaDownNext } from \"../Icon\";\n\ninterface IWizard extends React.ButtonHTMLAttributes {\n currentStepIndex: number;\n steps: Array;\n onGoForward: (currentStepIndex: number) => void;\n onGoBack: (currentStepIndex: number) => void;\n hideFooter?: boolean;\n hideHeader?: boolean;\n imgVano?: any;\n t?: any;\n disabledGoForward?: boolean;\n wizardHeader: any;\n}\n\nexport const MAX_WIDTH_BODY = 580;\n\nconst Wizard: FC = ({\n currentStepIndex,\n steps,\n onGoForward,\n onGoBack,\n hideHeader,\n hideFooter,\n imgVano,\n disabledGoForward,\n wizardHeader,\n ...props\n}: IWizard) => {\n const [width, height] = useWindowSize();\n const isLastStep = currentStepIndex === steps.length - 1;\n return (\n \n\n
\n {wizardHeader()}\n\n \n {steps[currentStepIndex]}\n\n {(!isLastStep && imgVano) && imgVano()}\n\n {!hideFooter ? (\n
\n
\n \n currentStepIndex !== 0 && onGoBack(currentStepIndex)\n }\n />\n
\n\n
\n onGoForward(currentStepIndex)}\n />\n
\n
\n ) : null} \n
\n\n \n \n );\n};\n\nexport default withTranslation()(Wizard);\n","import { FC } from \"react\";\nimport { motion } from \"framer-motion\";\ninterface IMsgError {\n message?:string;\n className?: string;\n}\n\nconst MsgError: FC = ({ message, className, ...props }: IMsgError) => {\n return (\n
\n

{message}

\n
\n );\n};\n\nexport default MsgError;\n","import { Form, InputNumber } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3, Text } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport {\n TGeneral, TGeneralStore\n} from \"../../../../redux/reducers\";\nimport {\n TVanoDocciaStoreState,\n } from \"../../../../redux/reducers/vano_doccia\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getLocalization, getSecondaryUnitOfMeasure, getUnitOfMeasure, Localization, parseDimension } from \"../../../../utils/utils\";\nimport { actVanoDocciaSetData, actGeneratoreSetModel, actGeneratoreSetData, actGeneral } from \"../../../../redux/actions\";\nimport { useEffect } from \"react\";\nimport { useState } from \"react\";\nimport Modal from \"../../../../components/Modal\";\nimport { TGeneralStoreState } from \"../../../../redux/reducers/general\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { StepConfiguratore } from \"../..\";\n\nfunction VanoDoccia({ ...props }) {\n const dispatch = useDispatch();\n const store: TGeneralStore = useStore();\n const [form] = Form.useForm();\n const vano_doccia: TVanoDocciaStoreState = useSelector((state: TGeneral) => state.vano_doccia);\n const general: TGeneralStoreState = useSelector((state: TGeneral) => state.general);\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n useEffect(() => {\n form.setFieldsValue(vano_doccia)\n dispatch(actGeneratoreSetModel({\n generatore_product: undefined,\n generatore_model: undefined\n }))\n }, [vano_doccia]);\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n return (\n \n \n {\n getLocalization() === Localization.AMERICA ? \n \n \n

{props.t(\"vanodoccia.form.larghezza\")}

\n
\n s.id===\"larghezza\")?.id && \"error-field\"}`}\n >\n
\n parseDimension(value)}\n value={vano_doccia.larghezza}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n larghezza: num\n }));\n }}\n />\n \n {getUnitOfMeasure()}\n \n
\n \n s.id===\"larghezza\")?.id && \"error-field\"}`}\n >\n
\n {\n dispatch(actVanoDocciaSetData({\n larghezza_inc: num\n }));\n }}\n />\n \n {getSecondaryUnitOfMeasure()}\n \n
\n \n
\n \n\n\n \n

{props.t(\"vanodoccia.form.profondita\")}

\n
\n s.id===\"profondita\")?.id && \"error-field\"}`}\n >\n
\n parseDimension(value)}\n value={vano_doccia.profondita}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n profondita: num\n }));\n }}\n />\n \n {getUnitOfMeasure()}\n \n
\n \n \n s.id===\"profondita\")?.id && \"error-field\"}`}\n >\n
\n {\n dispatch(actVanoDocciaSetData({\n profondita_inc: num\n }));\n }}\n />\n \n {getSecondaryUnitOfMeasure()}\n \n
\n \n
\n \n\n\n \n

{props.t(\"vanodoccia.form.altezza\")}

\n
\n s.id===\"altezza\")?.id && \"error-field\"}`}\n >\n
\n parseDimension(value)}\n value={vano_doccia.altezza}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n altezza: num\n }));\n }}\n />\n \n {getUnitOfMeasure()}\n \n
\n \n \n s.id===\"altezza\")?.id && \"error-field\"}`}\n >\n
\n {\n dispatch(actVanoDocciaSetData({\n altezza_inc: num\n }));\n }}\n />\n \n {getSecondaryUnitOfMeasure()}\n \n
\n \n \n
\n \n\n
\n \n :\n\n \n \n
\n s.id===\"larghezza\")?.id && \"error-field\"}`}\n >\n parseDimension(value)}\n value={vano_doccia.larghezza}\n placeholder={props.t(\"vanodoccia.form.larghezza\")}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n larghezza: num\n }));\n }}\n />\n \n \n {getUnitOfMeasure()}\n \n
\n \n\n \n
\n s.id===\"profondita\")?.id && \"error-field\"}`}\n >\n parseDimension(value)}\n value={vano_doccia.profondita}\n placeholder={props.t(\"vanodoccia.form.profondita\")}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n profondita: num\n }));\n }}\n />\n \n \n {getUnitOfMeasure()}\n \n
\n \n\n \n
\n s.id===\"altezza\")?.id && \"error-field\"}`}\n >\n parseDimension(value)}\n value={vano_doccia.altezza}\n onChange={(num:number) => {\n dispatch(actVanoDocciaSetData({\n altezza: num\n }));\n }}\n />\n \n \n {getUnitOfMeasure()}\n \n
\n \n
\n\n }\n\n {/* \n \n */}\n {\n store.getState()?.general?.stepError?.step===StepConfiguratore.VanoDoccia &&\n \n \n \n \n \n }\n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n >\n {modalData.content && modalData.content()}\n \n \n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general,\n vano_doccia: state.vano_doccia,\n generatore_product: state.generatore_product\n}), { actVanoDocciaSetData, actGeneratoreSetModel, actGeneral })(\n withTranslation()(VanoDoccia)\n);\n","export default __webpack_public_path__ + \"static/media/PerfectWellness Logo big-01.0efc5f39.png\";","import { useState } from \"react\";\nimport {\n IconCloseMenu,\n} from \"../../components/Icon\";\nimport tailwindMyConfig from \"../../tailwind.my.config\";\nimport logo from \"./../../assets/images/logo_text_green.png\";\nimport ic_close from \"./../../assets/images/closeicon.png\";\nimport logo_us from \"./../../assets/images/PerfectWellness Logo big-01.png\";\n\nimport { FC } from \"react\";\nimport { TMenuItem } from \"../../controller/Configuratore\";\nimport { getLocalization, Localization } from \"../../utils/utils\";\nimport { clearAuthInfo, getAuthInfo } from \"../../utils/storage\";\nimport { useHistory } from \"react-router\";\nimport { BASE_WP_URL } from \"../../network\";\nimport axios from \"axios\";\nimport { Spin } from \"antd\";\n\ninterface IMenu extends React.ButtonHTMLAttributes {\n onClose: () => void;\n items: any[];\n onClickMenuItem: (item: TMenuItem) => void;\n currentStep: number;\n menuIsOpen: boolean;\n}\n\nconst Menu: FC = ({ onClose, items, onClickMenuItem, currentStep,menuIsOpen, ...props }: IMenu) => {\n const [menuIsClosing, setMenuIsClosing] = useState(false);\n const [isLogout, setIsLogout] = useState(false);\n return (\n \n
\n
\n {\n setMenuIsClosing(true);\n onClose()\n }}\n >\n \n \n\n \n {getLocalization()===Localization.AMERICA && }\n
\n
\n {items.map((it:TMenuItem, indexIt:number)=>{\n\n const isSelected = it.positionInMenu===currentStep\n return(\n {\n if((it.positionInMenu||0)<=currentStep){\n onClickMenuItem(it)\n setMenuIsClosing(true);\n onClose()\n }\n }}>\n

\n {indexIt+1}\n {it.label!}\n

\n
\n )\n })}\n
\n
\n \n );\n}\n\nexport default Menu;\n","export default \"data:image/png;base64,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\"","import tailwindconfig from \"./../../tailwind.my.config\";\nexport default {\n control: (styles,a,b) => {\n delete styles['&:hover']\n delete styles['minHeight']\n return {\n ...styles,\n minHeight: 30,\n height: 30,\n backgroundColor: tailwindconfig.theme.extend.colors[\"fluo-effe\"],\n '.error-field &':{\n backgroundColor: tailwindconfig.theme.extend.colors[\"warning-effe\"],\n },\n borderRadius: 2,\n border: `0`,\n borderBottom: `0px`,\n padding: \"0 7px 0 10px\",\n boxShadow: `0px`,\n textAlign: 'left',\n }\n },\n\n menu: (provided, { selectProps }) => {\n return {\n ...provided,\n border: \"0px\",\n textAlign: 'left',\n marginTop:0,\n boxShadow:\"unset\"\n };\n },\n\n\n menuList: (provided, { selectProps }) => {\n return {\n ...provided,\n maxHeight: 345,\n paddingTop:0,\n paddingBottom:0,\n borderRadius: 2\n };\n },\n\n indicatorSeparator: () => {\n return {\n display: \"none\",\n };\n },\n\n indicatorsContainer: (style) => {\n return {\n textAlign: 'left',\n padding: '0 !important',\n '& > div': {\n padding: '0 !important',\n }\n };\n },\n\n container: (provided, { isFocused, isSelected }) => {\n return {\n border: \"0px !important\",\n padding: 0,\n textAlign: 'left',\n };\n },\n\n option: (provided, { isFocused, isSelected, ...props }) => {\n return {\n // ...provided,\n transition:\"all .3s\",\n margin: '0px',\n padding: props.onStyleLabel ? 0 : '8px 12px',\n backgroundColor: isSelected\n ? tailwindconfig.theme.extend.colors[\"fluo-effe\"]\n : isFocused\n ? tailwindconfig.theme.extend.colors[\"modal-effe\"]\n : tailwindconfig.theme.extend.colors[\"modal-effe\"],\n color: isSelected ? tailwindconfig.theme.extend.colors[\"modal-effe\"] : tailwindconfig.theme.extend.colors[\"divider\"],\n '&:hover':{\n cursor: \"pointer\",\n backgroundColor: tailwindconfig.theme.extend.colors[\"fluo-effe\"],\n color: tailwindconfig.theme.extend.colors[\"modal-effe\"]\n },\n borderBottom: `0px solid ${tailwindconfig.theme.extend.colors[\"fluo-effe\"]}`,\n };\n },\n\n menuPortal: (base) => {\n return{\n ...base,\n zIndex:999999\n }\n },\n\n singleValue: (provided, state) => {\n const transition = \"opacity 300ms\";\n return { ...provided, \n transition, \n textAlign: 'left' ,\n width: \"100%\",\n fontSize: 16,\n fontFamily:'avertastd-regularuploadedfile',\n paddingBottom: 0\n };\n },\n\n placeholder: (provided) => {\n return{\n ...provided,\n textAlign: 'left',\n width: \"100%\",\n fontSize: 16,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n fontFamily:'avertastd-regularuploadedfile',\n textOverflow: \"ellipsis\",\n paddingBottom: 5,\n paddingTop: 5\n }\n },\n\n valueContainer: (provided) => {\n return {\n ...provided,\n width: \"95%\",\n padding:\"2px 8px 2px 0\",\n position: \"relative\",\n '& > div:last-child': {\n backgroundColor:\"white !important\"\n // display: \"none\"\n }\n };\n },\n\n};\n","import tailwindconfig from \"./../../tailwind.my.config\";\nexport default {\n control: (styles,a,b) => {\n delete styles['&:hover']\n delete styles['minHeight']\n return {\n ...styles,\n minHeight: 30,\n height: 30,\n backgroundColor: tailwindconfig.theme.extend.colors[\"modal-effe\"],\n '.error-field &':{\n backgroundColor: tailwindconfig.theme.extend.colors[\"warning-effe\"],\n },\n borderRadius: 2,\n border: `0`,\n borderBottom: `0px`,\n padding: \"0 7px 0 10px\",\n boxShadow: `0px`,\n textAlign: 'left',\n }\n },\n\n menu: (provided, { selectProps }) => {\n return {\n ...provided,\n border: \"0px\",\n textAlign: 'left',\n marginTop:0,\n boxShadow:\"unset\"\n };\n },\n\n\n menuList: (provided, { selectProps }) => {\n return {\n ...provided,\n maxHeight: 345,\n paddingTop:0,\n paddingBottom:0,\n borderRadius: 2\n };\n },\n\n indicatorSeparator: () => {\n return {\n display: \"none\",\n };\n },\n\n indicatorsContainer: (style) => {\n return {\n textAlign: 'left',\n padding: '0 !important',\n '& > div': {\n padding: '0 !important',\n }\n };\n },\n\n container: (provided, { isFocused, isSelected }) => {\n return {\n border: \"0px !important\",\n padding: 0,\n textAlign: 'left',\n };\n },\n\n option: (provided, { isFocused, isSelected, ...props }) => {\n return {\n // ...provided,\n transition:\"all .3s\",\n margin: '0px',\n padding: props.onStyleLabel ? 0 : '8px 12px',\n backgroundColor: isSelected\n ? tailwindconfig.theme.extend.colors[\"modal-effe\"]\n // : isFocused\n // ? tailwindconfig.theme.extend.colors[\"modal-effe\"]\n : tailwindconfig.theme.extend.colors[\"fluo-effe\"],\n color: isSelected ? tailwindconfig.theme.extend.colors[\"fluo-effe\"] : tailwindconfig.theme.extend.colors[\"modal-effe\"],\n '&:hover':{\n cursor: \"pointer\",\n backgroundColor: tailwindconfig.theme.extend.colors[\"modal-effe\"],\n color: tailwindconfig.theme.extend.colors[\"fluo-effe\"]\n },\n borderBottom: `0px solid ${tailwindconfig.theme.extend.colors[\"fluo-effe\"]}`,\n };\n },\n\n menuPortal: (base) => {\n return{\n ...base,\n zIndex:999999\n }\n },\n\n singleValue: (provided, state) => {\n const transition = \"opacity 300ms\";\n return { ...provided, \n transition, \n textAlign: 'left' ,\n width: \"100%\",\n fontSize: 16,\n fontFamily:'avertastd-regularuploadedfile',\n paddingBottom: 0,\n color: tailwindconfig.theme.extend.colors[\"fluo-effe\"],\n };\n },\n\n placeholder: (provided) => {\n return{\n ...provided,\n textAlign: 'left',\n width: \"100%\",\n fontSize: 16,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n fontFamily:'avertastd-regularuploadedfile',\n textOverflow: \"ellipsis\",\n color:tailwindconfig.theme.extend.colors[\"divider\"],\n paddingBottom: 5,\n paddingTop: 5\n }\n },\n\n valueContainer: (provided) => {\n return {\n ...provided,\n width: \"95%\",\n padding:\"2px 8px 2px 0\",\n position: \"relative\",\n '& > div:last-child': {\n backgroundColor:\"white !important\"\n // display: \"none\"\n }\n };\n },\n\n};\n","import { AsyncPaginate } from \"react-select-async-paginate\";\nimport { FC, useState } from \"react\";\nimport customStyle from \"./customStyle\";\nimport customStyleSecondary from \"./customStyleSecondary\";\nimport { components, OptionProps, GroupTypeBase } from \"react-select\";\nimport { withTranslation } from \"react-i18next\";\n\nconst CustomOption = (props: any) => {\n return (\n \n {\n props.onStyleLabel ? props.onStyleLabel(props.data)\n :

{props.label}

\n }\n
\n );\n};\nconst DropdownIndicator = (props: any) => {\n return (\n \n {\n props?.isSecondary ? \n \n \n \n \n \n \n :\n \n \n \n \n }\n \n );\n};\n\ninterface IAsyncSelectPaginate {\n currValue?: any;\n loadOptions: any;\n onChange?: any;\n onStyleLabel?:\n | React.ComponentType>>\n | undefined;\n isSearchable?: boolean;\n defaultOptions?: boolean;\n placeholder?: string;\n isDisabled?: boolean;\n t?:any;\n className?: string;\n noOptionsMessage?: string;\n isSecondary?:boolean;\n cacheUniqs?: any;\n}\nconst AsyncSelect: FC = ({\n onStyleLabel,\n currValue,\n loadOptions,\n onChange,\n isSearchable,\n defaultOptions,\n placeholder,\n isDisabled,\n className,\n noOptionsMessage,\n isSecondary,\n ...props\n}: IAsyncSelectPaginate) => {\n const [isOpened, setIsOpened] = useState(false);\n return (\n <>\n option.id}\n getOptionLabel={(option: any) => option.name}\n onChange={(val: any) => {\n onChange && onChange(val);\n }}\n onMenuClose={()=>{\n setIsOpened(false);\n }}\n onMenuOpen={()=>{\n setIsOpened(true);\n }}\n //menuIsOpen\n //@ts-ignore\n styles={{ ...(isSecondary ? customStyleSecondary : customStyle) }}\n className={`effe-async-paginate ${className} ${isOpened ? \"effe-async-paginate-open\":\"effe-async-paginate-close\"}`}\n isSearchable={isSearchable||false}\n placeholder={placeholder}\n additional={{\n page: 0,\n }}\n noOptionsMessage={()=>noOptionsMessage || props.t('general.no_option')}\n isDisabled={isDisabled}\n menuPlacement={\"auto\"}\n menuPosition={\"fixed\"}\n components={{\n Option: (prs: any) => CustomOption({ ...prs, onStyleLabel: onStyleLabel }),\n DropdownIndicator: (prs: any) => DropdownIndicator({ ...prs, isOpened, isSecondary }),\n }}\n cacheUniqs={props?.cacheUniqs}\n />\n \n );\n};\nexport default withTranslation()(AsyncSelect);\n","import { FC } from \"react\";\nimport tailwindMyConfig from \"../../../tailwind.my.config\";\n\ninterface ITextCell extends React.ButtonHTMLAttributes {\n title: string;\n disabled?: boolean;\n htmlDecode?: boolean;\n isSecondary?: boolean;\n}\n\nconst TextCell: FC = ({ title, disabled, htmlDecode, isSecondary, ...props }: ITextCell) => {\n const styleText:any = {\n fontSize: 16,\n margin: 0,\n fontFamily:'avertastd-regularuploadedfile',\n padding: \"2px 0\",\n textAlign: \"left\",\n }\n return (\n
{\n if(disabled){\n e.preventDefault()\n e.stopPropagation()\n return\n }\n }}>\n {\n htmlDecode ? \n
\n :\n \n {title}\n

\n }\n \n
\n );\n};\nexport default TextCell;\n","export default __webpack_public_path__ + \"static/media/kit_1.8a4c038d.png\";","export default __webpack_public_path__ + \"static/media/kit_2.9fa6e62f.png\";","export default __webpack_public_path__ + \"static/media/kit_3.27447762.png\";","export default __webpack_public_path__ + \"static/media/kit_4.9aac41ee.png\";","export default __webpack_public_path__ + \"static/media/kit_5.8004737e.png\";","export default __webpack_public_path__ + \"static/media/kit_6.82e91ee0.png\";","import axios, { AxiosInstance } from \"axios\";\nexport const BASE_WP_URL = \"https://www.effe.it\"\nexport const API_URL = `${BASE_WP_URL}/wp-json/wp`;\n\nexport const BASE_DMA_URL = \"https://9wpy6jtirh.execute-api.eu-central-1.amazonaws.com\"\nexport const API_DMA_URL = `${BASE_DMA_URL}/prod/api`;\n\nconst isTokenExpired = (error: any) => {\n return error.response?.status == 401;\n};\n\nconst refreshToken = async (): Promise => {\n// const session = await Auth.currentSession();\n// const new_access_token = session.getAccessToken().getJwtToken();\n// setAccessToken(new_access_token);\n return \"\"//new_access_token;\n};\n\n\nconst NetworkClient = (dma_api: boolean = false): AxiosInstance => {\n const getBaseURL = () => !dma_api ? `${API_URL}/v2` : `${API_DMA_URL}/v1/`;\n const getBearerToken = (token: string | null) => `Bearer ${token}`;\n // @ts-ignore\n const _networkClient: any = axios.create({ baseURL: getBaseURL(), \"Content-Type\": \"application/json\"});\n\n const formatResponse = (resp:any) => {\n return resp\n }\n\n _networkClient.interceptors.request.use(\n (request: any) => {\n // request.headers.Authorization = getBearerToken(getAccessToken());\n return request;\n },\n (error: any) => {\n return Promise.reject(error);\n }\n );\n\n _networkClient.interceptors.response.use(\n (response: any) => {\n return formatResponse(response)\n },\n async (error: any) => {\n console.log(\"isTokenExpired\", isTokenExpired(error));\n if (isTokenExpired(error)) {\n // try {\n // const new_access_token = await refreshToken();\n // const newHeader = {\n // 'Content-Type': 'application/json',\n // 'Authorization': getBearerToken(\n // new_access_token\n // )\n // }\n // error.config.headers = newHeader;\n // error.config.baseURL = getBaseURL();\n // } catch (errRefresh) {\n // return logoutAndGoHome(errRefresh);\n // }\n } else return Promise.reject(error);\n }\n );\n return _networkClient;\n};\n\nconst logoutAndGoHome = (err: any) => {\n console.log(\"Refresh Token Scaduta -> Force Logout\", err);\n window.location.href = \"/\";\n return Promise.reject(err);\n};\n\nexport default NetworkClient;\n","import { getCategoryIdPorta, getLanguage, getCategoryIdOptional, getCategoryIdAccessori, getCategoryIdPanche } from \"../utils/utils\";\n\nexport const endpoint = {\n generatori_interni: (start: number, limit: number) => `products?lang=${getLanguage()}&_embed&categorie_prodotti=30&offset=${start}&per_page=${limit}`,\n generatori_esterni: (start: number, limit: number) => `products?lang=${getLanguage()}&_embed&categorie_prodotti=31&offset=${start}&per_page=${limit}`,\n kit_coibentazione: (slug:string) => `optional?lang=${getLanguage()}&slug=${slug}`,\n modelli_di_prodotto: (id_prodotto: string) => `products/${id_prodotto}?lang=${getLanguage()}`,\n modello_di_prodotto: (id_modello: string) => `models/${id_modello}?lang=${getLanguage()}`,\n optionals: (start: number, limit: number) => `optional?categoria_optional=${getCategoryIdOptional()}&lang=${getLanguage()}&_embed&offset=${start}&per_page=${limit}`,\n optional: (id_optional: string) => `optional/${id_optional}?lang=${getLanguage()}&_embed`,\n accessori: (start: number, limit: number) => `optional?categoria_optional=${getCategoryIdAccessori()}&lang=${getLanguage()}&_embed&offset=${start}&per_page=${limit}`,\n panche: (start: number, limit: number) => `optional?categoria_optional=${getCategoryIdPanche()}&lang=${getLanguage()}&_embed&offset=${start}&per_page=${limit}`,\n prodotti_porte_standard: (start: number, limit: number) => `products-porte-vetrate?categoria_prodotto_pv=${getCategoryIdPorta(true)}&lang=${getLanguage()}&_embed&offset=${start}&per_page=${limit}`,\n prodotti_porte_custom: (start: number, limit: number) => `products-porte-vetrate?categoria_prodotto_pv=${getCategoryIdPorta(false)}&lang=${getLanguage()}&_embed&offset=${start}&per_page=${limit}`,\n porta: (id_porta: string) => `products-porte-vetrate/${id_porta}?lang=${getLanguage()}`,\n model_porta: (id_product_porta: string) => `models-porte-vetrate/${id_product_porta}?lang=${getLanguage()}&_embed`,\n item: (id_item: string) => `item/${id_item}?lang=${getLanguage()}&_embed`,\n materiale: (id_materiale: string) => `materiale_prodotto/${id_materiale}?lang=${getLanguage()}&_embed`,\n quotes: (id?: string) => `quotes${id ? `/${id}` : ``}`\n};\n","import NetworkClient from \"..\";\nimport { TGeneratoreModelDetailType, TGeneratoreType } from \"../../redux/reducers/generatoreestint\";\nimport { EKitCoibentazioneModel, TOptional, TOptionalDetailType } from \"../../redux/reducers/optional\";\nimport { TPancaType } from \"../../redux/reducers/panche\";\nimport { TListinoItemContentType, TMaterialDetails, TModelloDetailPortaType, TModelloPortaType } from \"../../redux/reducers/porte_vetrate\";\nimport { TRiepilogoPayload, TRiepilogoRequest } from \"../../redux/reducers/riepilogo\";\nimport { endpoint } from \"../api\";\n\n//Generatori\n\nexport const getGeneratoriInterni = (start: number, limit: number): Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.generatori_interni(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getGeneratoriEsterni = (start: number, limit: number) => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.generatori_esterni(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getKitCoibentazioneWithSlug = (model: EKitCoibentazioneModel): Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.kit_coibentazione(model))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getModelliDiProdotto = (id_prodotto: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.modelli_di_prodotto(id_prodotto))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getModelloDiProdotto = (id_modello: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.modello_di_prodotto(id_modello))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n\n//Optionals\n\nexport const getOptionals = (start: number, limit: number) => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.optionals(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getOptional = (id_optional: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.optional(id_optional))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n\n//Accessori\nexport const getAccessori = (start: number, limit: number) => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.accessori(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n//Panche\nexport const getPanche = (start: number, limit: number) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.panche(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n\n\n//Porte\nexport const getPorte = (is_standard: boolean, start: number, limit: number) => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(is_standard ? endpoint.prodotti_porte_standard(start, limit) : endpoint.prodotti_porte_custom(start, limit))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n\nexport const getPorta = (id_porta: string) => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.porta(id_porta))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\nexport const getModelloPorta = (id_product_porta: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.model_porta(id_product_porta))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n//Items\n\nexport const getItem = (id_item: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.item(id_item))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n//Materiale\n\nexport const getMateriale = (id_materiale: string) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient()\n .get(endpoint.materiale(id_materiale))\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n// Riepilogo\n\n\nexport const addRiepilogo = (id: string, payload: TRiepilogoPayload) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient(true)\n .post(endpoint.quotes(), {\n id: id,\n data: payload\n })\n .then((res: any) => {\n resolve(res?.data);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};\n\n\nexport const getRiepilogo = (id: any) : Promise => {\n return new Promise((resolve, reject) => {\n NetworkClient(true)\n .get(endpoint.quotes(id))\n .then((res: any) => {\n resolve(res?.data?.data?.data as TRiepilogoPayload);\n })\n .catch((error: any) => {\n reject(error);\n });\n });\n};","import { FC } from \"react\";\nimport { Text } from \"..\";\n\ninterface ISubTitle extends React.ButtonHTMLAttributes {\n title: string;\n}\n\nconst Subtitle: FC = ({ title, ...props }: ISubTitle) => {\n return (\n \n );\n};\n\nexport default Subtitle;\n","import { Form } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect } from \"react-redux\";\nimport {\n ERivestimentoVanoDoccia,\n EStrutturaVanoDoccia,\n getLabelEStrutturaVanoDoccia,\n getLabelERivestimentoVanoDoccia,\n TStrutturaVanoDocciaStoreState,\n} from \"../../../../redux/reducers/struttura_vano_doccia\";\nimport { TGeneral } from \"../../../../redux/reducers\";\nimport { useDispatch, useStore, useSelector } from \"react-redux\";\nimport {\n getCrmLanguage,\n getLocalization,\n isKitCoibentazioneVisible,\n Localization,\n} from \"../../../../utils/utils\";\nimport {\n actGeneratoreSetModel,\n actStrutturaVanoDocciaSetData,\n actGeneratoreSetOptionals\n} from \"../../../../redux/actions\";\nimport { useEffect, useState } from \"react\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport tailwindMyConfig from \"../../../../tailwind.my.config\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport kit_coibentazione_1 from \"../../../../assets/images/kit_coibentazione/kit_1.png\";\nimport kit_coibentazione_2 from \"../../../../assets/images/kit_coibentazione/kit_2.png\";\nimport kit_coibentazione_materiali_1 from \"../../../../assets/images/kit_coibentazione/kit_3.png\";\nimport kit_coibentazione_materiali_2 from \"../../../../assets/images/kit_coibentazione/kit_4.png\";\nimport kit_coibentazione_materiali_3 from \"../../../../assets/images/kit_coibentazione/kit_5.png\";\nimport kit_coibentazione_materiali_4 from \"../../../../assets/images/kit_coibentazione/kit_6.png\";\nimport { getGeneratoriInterni, getOptional } from \"../../../../network/actions\";\nimport { LIMIT, OPTIONALS_PANNELLO_CONTROLLO, OPTIONALS_SMART_POWER, getLanguageForNSP } from \"../../../../utils/consts\";\nimport Subtitle from \"../../../../components/Typography/Subtitle\";\nimport { StepConfiguratore, StepErrorField } from \"../..\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { TOptionalDetailType } from \"../../../../redux/reducers/optional\";\n\nfunction StrutturaVanoDoccia({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const store = useStore();\n const struttura_vano_doccia: TStrutturaVanoDocciaStoreState = useSelector(\n (state: TGeneral) => state.struttura_vano_doccia\n );\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n const downloadGeneratoriInterni = async () => {\n try {\n const listGeneratoriInterni = await getGeneratoriInterni(0, LIMIT);\n dispatch(\n actGeneratoreSetModel({\n list_generatori_interni: listGeneratoriInterni,\n })\n );\n } catch (error) { }\n };\n\n const downloadNSPOptionalsRequired = async () => {\n try {\n let optionalsDiffusorsForNSP:{[key: string]: {\n GLASS: TOptionalDetailType | undefined,\n CAMOUFLAGE: TOptionalDetailType | undefined,\n TRADITIONAL_CROMO: TOptionalDetailType | undefined,\n TRADITIONAL_NERO: TOptionalDetailType | undefined,\n TRADITIONAL_GUN: TOptionalDetailType | undefined\n }} = {\n \"1PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"2PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"4PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n },\n \"8PZ\":{\n GLASS: undefined,\n CAMOUFLAGE: undefined,\n TRADITIONAL_CROMO: undefined,\n TRADITIONAL_NERO: undefined,\n TRADITIONAL_GUN: undefined\n }\n }\n let optionalsControlPanelForNSP:TOptionalDetailType[] = []\n\n //Diffusor\n console.log('OPTIONALS_SMART_POWER[\"1PZ\"].GLASS[getLanguageForNSP()]',getLanguageForNSP(),OPTIONALS_SMART_POWER[\"1PZ\"].GLASS[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"1PZ\"].GLASS = await getOptional(OPTIONALS_SMART_POWER[\"1PZ\"].GLASS[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"1PZ\"].CAMOUFLAGE = await getOptional(OPTIONALS_SMART_POWER[\"1PZ\"].CAMOUFLAGE[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"1PZ\"].TRADITIONAL_CROMO = await getOptional(OPTIONALS_SMART_POWER[\"1PZ\"].TRADITIONAL_CROMO[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"1PZ\"].TRADITIONAL_GUN = await getOptional(OPTIONALS_SMART_POWER[\"1PZ\"].TRADITIONAL_GUN[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"1PZ\"].TRADITIONAL_NERO = await getOptional(OPTIONALS_SMART_POWER[\"1PZ\"].TRADITIONAL_NERO[getLanguageForNSP()])\n\n optionalsDiffusorsForNSP[\"2PZ\"].GLASS = await getOptional(OPTIONALS_SMART_POWER[\"2PZ\"].GLASS[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"2PZ\"].CAMOUFLAGE = await getOptional(OPTIONALS_SMART_POWER[\"2PZ\"].CAMOUFLAGE[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"2PZ\"].TRADITIONAL_CROMO = await getOptional(OPTIONALS_SMART_POWER[\"2PZ\"].TRADITIONAL_CROMO[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"2PZ\"].TRADITIONAL_GUN = await getOptional(OPTIONALS_SMART_POWER[\"2PZ\"].TRADITIONAL_GUN[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"2PZ\"].TRADITIONAL_NERO = await getOptional(OPTIONALS_SMART_POWER[\"2PZ\"].TRADITIONAL_NERO[getLanguageForNSP()])\n\n optionalsDiffusorsForNSP[\"4PZ\"].GLASS = await getOptional(OPTIONALS_SMART_POWER[\"4PZ\"].GLASS[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"4PZ\"].CAMOUFLAGE = await getOptional(OPTIONALS_SMART_POWER[\"4PZ\"].CAMOUFLAGE[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"4PZ\"].TRADITIONAL_CROMO = await getOptional(OPTIONALS_SMART_POWER[\"4PZ\"].TRADITIONAL_CROMO[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"4PZ\"].TRADITIONAL_GUN = await getOptional(OPTIONALS_SMART_POWER[\"4PZ\"].TRADITIONAL_GUN[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"4PZ\"].TRADITIONAL_NERO = await getOptional(OPTIONALS_SMART_POWER[\"4PZ\"].TRADITIONAL_NERO[getLanguageForNSP()])\n\n optionalsDiffusorsForNSP[\"8PZ\"].GLASS = await getOptional(OPTIONALS_SMART_POWER[\"8PZ\"].GLASS[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"8PZ\"].CAMOUFLAGE = await getOptional(OPTIONALS_SMART_POWER[\"8PZ\"].CAMOUFLAGE[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"8PZ\"].TRADITIONAL_CROMO = await getOptional(OPTIONALS_SMART_POWER[\"8PZ\"].TRADITIONAL_CROMO[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"8PZ\"].TRADITIONAL_GUN = await getOptional(OPTIONALS_SMART_POWER[\"8PZ\"].TRADITIONAL_GUN[getLanguageForNSP()])\n optionalsDiffusorsForNSP[\"8PZ\"].TRADITIONAL_NERO = await getOptional(OPTIONALS_SMART_POWER[\"8PZ\"].TRADITIONAL_NERO[getLanguageForNSP()])\n //Panel\n optionalsControlPanelForNSP.push(await getOptional(OPTIONALS_PANNELLO_CONTROLLO.INTERNO[getLanguageForNSP()])) \n optionalsControlPanelForNSP.push(await getOptional(OPTIONALS_PANNELLO_CONTROLLO.ESTERNO[getLanguageForNSP()])) \n console.log(\"actGeneratoreSetOptionals\",{optionalsDiffusorsForNSP})\n\n dispatch(\n actGeneratoreSetOptionals({\n listNSPControlPanels: optionalsControlPanelForNSP,\n listNSPSteamDiffusors: optionalsDiffusorsForNSP\n })\n );\n \n } catch (error) { \n console.log(\"[ERROR - downloadNSPOptionalsRequired]\", error)\n }\n }\n\n /**\n * Download di informazioni allo startup dell'app\n */\n useEffect(() => {\n downloadGeneratoriInterni();\n downloadNSPOptionalsRequired();\n }, []);\n\n return (\n
\n {getLocalization() === Localization.EUROPA && (\n <>\n \n\n \n \n s.id === \"struttura\")?.id && \"error-field\"}`}>\n
\n {\n let _struttura: TStrutturaVanoDocciaStoreState = {\n struttura: val.id,\n };\n if (val.id === EStrutturaVanoDoccia.Poliestirene)\n _struttura = {\n ..._struttura,\n kit_coibentazione: false,\n };\n dispatch(actStrutturaVanoDocciaSetData(_struttura));\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: string[] =\n Object.keys(EStrutturaVanoDoccia);\n return {\n options: response.map((val: string) => {\n return {\n id: String(val).toLowerCase(),\n name: props.t(\n getLabelEStrutturaVanoDoccia(\n val as EStrutturaVanoDoccia\n )\n ),\n };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n
\n
\n \n
\n \n )}\n\n \n \n \n s.id === \"rivestimento\")?.id && \"error-field\"}`}>\n
\n {\n dispatch(\n actStrutturaVanoDocciaSetData({\n rivestimento: val.id,\n })\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: string[] = Object.keys(\n ERivestimentoVanoDoccia\n );\n return {\n options: response.map((val: string) => {\n return {\n id: String(val).toLowerCase(),\n name: props.t(\n getLabelERivestimentoVanoDoccia(\n val as ERivestimentoVanoDoccia\n )\n ),\n };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n
\n
\n \n
\n\n {struttura_vano_doccia?.struttura !== EStrutturaVanoDoccia.Poliestirene &&\n isKitCoibentazioneVisible() && (\n <>\n \n \n openModal(\n props.t(\n \"vanodoccia_struttura.kit_coibentazione.modal.title\"\n ),\n () => {\n return (\n
\n \n \n
\n \n \n
\n \n \n \n \n \n EACH KIT INCLUDES:
\n

\n panels size mm 600x1500 x 12.5 / 2' x 8' x\n 1/2'' Sandwich panels with extruded\n polystyrene core with mortar reinforced\n with fibreglass mesh on both sides, can be\n covered with tiles equipped with fischer\n wall plugs and includes:\n

\n
    \n
  • Vapor 85 by Wedi
  • \n
  • Screws and Washers
  • \n
  • Sealing Tape
  • \n
  • Wedi 620 Sealant
  • \n
  • Subliner Dry inside corner;
  • \n
  • Fexi collar
  • \n
  • Sealing Collar
  • \n
\n INSULATION KIT
\n \n (PANELS + SCREW/WASHER + GLUE + VAPOR\n BARRIER)*\n {\" \"}\n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n
\n 01 - UP TO 128 SQFT\n Cod: PW900128$ 2,225.00
\n 02 - UP TO 192\n Cod: PW900192$ 3,150.00
\n 03 - UP TO 288\n Cod: PW900228$ 4,225.00
\n

\n * Please indicate on PO if screws must be\n for wood or metal studs. If no indication\n we will provide screws for metal studs.\n

\n

\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n },\n ModalSize.xl\n )\n }\n > \n {\n getLocalization()===Localization.AMERICA ? : null\n }\n \n \n \n \n s.id === \"kit_coibentazione\")?.id && \"error-field\"}`}>\n
\n {\n dispatch(\n actStrutturaVanoDocciaSetData({\n kit_coibentazione: val.id,\n })\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: boolean[] = [true, false];\n return {\n options: response.map((val: boolean) => {\n return {\n id: val,\n name: props.t(val ? \"general.si\" : \"general.no\"),\n };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n
\n
\n {struttura_vano_doccia?.kit_coibentazione !== undefined && (\n \n {props.t(\n struttura_vano_doccia?.kit_coibentazione ? \"vanodoccia_struttura.kit_coibentazione.kit_coibentazione.success\" : \"vanodoccia_struttura.kit_coibentazione.kit_coibentazione.warning\"\n )}\n

\n )}\n\n \n\n
\n \n )}\n\n\n {struttura_vano_doccia?.struttura !== EStrutturaVanoDoccia.Poliestirene &&\n isKitCoibentazioneVisible() && struttura_vano_doccia?.kit_coibentazione === true && getLocalization()===Localization.AMERICA && (\n <>\n \n\n \n \n s.id === \"add_kit_coibentazione_to_quote\")?.id && \"error-field\"}`}>\n
\n {\n dispatch(\n actStrutturaVanoDocciaSetData({\n add_kit_coibentazione_to_quote: val.id,\n })\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: boolean[] = [true, false];\n return {\n options: response.map((val: boolean) => {\n return {\n id: val,\n name: props.t(val ? \"general.si\" : \"general.no\"),\n };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n
\n
\n\n \n\n
\n \n )}\n\n\n {\n store.getState()?.general?.stepError?.step === StepConfiguratore.StrutturaVanoDoccia &&\n \n \n \n \n \n }\n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n >\n {modalData.content && modalData.content()}\n \n \n );\n}\n\nexport default connect((state: TGeneral, ownProps) => ({\n general: state.general\n}), {\n actStrutturaVanoDocciaSetData,\n actGeneratoreSetModel,\n actGeneratoreSetOptionals\n})(withTranslation()(StrutturaVanoDoccia));\n","import { Form } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actResetPorteVetrateCustom, actResetPorteVetrateStandard, actVetrateSetData } from \"../../../../redux/actions\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport { TVetrateStoreState } from \"../../../../redux/reducers/vetrate\";\nimport { StepConfiguratore, StepErrorField } from \"../..\";\nimport MsgError from \"../../../../components/MsgError\";\n\nfunction Vetrate({ ...props }) {\n const store = useStore();\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const vetrate: TVetrateStoreState = useSelector(\n (state: TGeneral) => state.vetrate\n );\n\n return (\n
\n \n \n \n s.id===\"vetrata\")?.id && \"error-field\"}`}>\n {\n dispatch(\n actVetrateSetData({ quantita: val.id })\n );\n dispatch(\n actResetPorteVetrateCustom()\n );\n dispatch(\n actResetPorteVetrateStandard()\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: number[] = [1,2]\n return {\n options: response.map((val: number) => {\n return { id: val, name: val };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n \n\n {\n store.getState()?.general?.stepError?.step===StepConfiguratore.Vetrate &&\n \n \n \n \n \n }\n \n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general\n}), { actVetrateSetData, actResetPorteVetrateCustom, actResetPorteVetrateStandard })(\n withTranslation()(Vetrate)\n);\n","export default __webpack_public_path__ + \"static/media/diff_int.0481cf6c.png\";","export default __webpack_public_path__ + \"static/media/diff_ext.d271be9c.png\";","export default __webpack_public_path__ + \"static/media/gen-int-defr.9bae7c63.png\";","export default __webpack_public_path__ + \"static/media/gen-ext-defr.8c3c6a88.png\";","export default __webpack_public_path__ + \"static/media/gen-int-es.6bdbe8bc.png\";","export default __webpack_public_path__ + \"static/media/gen-ext-es.d5100e2b.png\";","import { FC, useState } from \"react\";\nimport { motion } from \"framer-motion\";\ninterface IIMage {\n img: string;\n imgStyle?: any;\n classNameImage?:string;\n classNameWrapper?:string;\n}\n\nconst Image: FC = ({ img, imgStyle, classNameImage, classNameWrapper, ...props }: IIMage) => {\n const [imageLoading, setImageLoading] = useState(true);\n const [pulsing, setPulsing] = useState(true);\n\n const imageLoaded = () => {\n setImageLoading(false);\n setTimeout(() => setPulsing(false), 600);\n };\n\n return (\n \n \n \n );\n};\n\nexport default Image;\n","import { Form } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3, Text } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneratoreSetData, actGeneratoreSetModel } from \"../../../../redux/actions\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport { getLabelEGeneratoreType, TGeneratoreStoreState, EGeneratoreType } from \"../../../../redux/reducers/generatore\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useRef, useState } from \"react\";\nimport img_differenza_int from \"./../../../../assets/images/diff_int.png\";\nimport img_differenza_est from \"./../../../../assets/images/diff_ext.png\";\nimport img_differenza_int_defr from \"./../../../../assets/images/gen-int-defr.png\";\nimport img_differenza_est_defr from \"./../../../../assets/images/gen-ext-defr.png\";\nimport img_differenza_int_es from \"./../../../../assets/images/gen-int-es.png\";\nimport img_differenza_est_es from \"./../../../../assets/images/gen-ext-es.png\";\n\nimport Subtitle from \"../../../../components/Typography/Subtitle\";\nimport Image from \"../../../../components/Image\";\nimport { StepConfiguratore, StepErrorField } from \"../..\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { getCrmLanguage, getLanguage } from \"../../../../utils/utils\";\nimport { CrmLanguage } from \"../../../../utils/storage\";\n\nfunction Generatore({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const store = useStore();\n const generatore: TGeneratoreStoreState = useSelector(\n (state: TGeneral) => state.generatore\n );\n\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n const [stepModal, setStepModal] = useState(0);\n const stepModalRef = useRef(stepModal);\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n return (\n
\n \n \n \n )\n },ModalSize.xl)}>\n \n \n \n \n s.id===\"tipologia\")?.id && \"error-field\"}`}>\n {\n dispatch(\n actGeneratoreSetData({ tipologia: val.id })\n );\n //Reset modello scelto\n if(generatore?.tipologia !== val.id)\n dispatch(\n actGeneratoreSetModel({ \n generatore_product: undefined,\n generatore_model: undefined\n })\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: string[] = Object.values(EGeneratoreType)\n return {\n options: response.map((val: string) => {\n return { id: val, name: props.t(getLabelEGeneratoreType(val as EGeneratoreType)) };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n \n\n {\n store.getState()?.general?.stepError?.step===StepConfiguratore.Generatore &&\n \n \n \n \n \n }\n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n fullscreen\n contentClassName={`modal-gray`}\n >\n {modalData.content && modalData.content()}\n \n \n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general\n}), { actGeneratoreSetData, actGeneratoreSetModel })(\n withTranslation()(Generatore)\n);\n","import { FC, useRef } from \"react\";\nimport Lottie from 'react-lottie';\nimport ic_edit from \"./../../assets/lottie/configure.json\"\n\nconst DEFAULT_COLOR = \"white\";\ninterface IIcon extends React.ButtonHTMLAttributes {\n fill?: string;\n isSelected?: boolean;\n}\n\nconst IconClose: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n \n \n \n \n\n );\n};\nconst IconCloseMenu: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconDomotica: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n \n \n );\n};\nconst IconEdit: FC = ({ fill, ...props }: IIcon) => {\n const ref:any = useRef();\n const defaultOptions = {\n loop: false,\n autoplay: false, \n animationData: ic_edit,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n };\n return (\n
{\n //@ts-ignore\n ref?.current?.play()\n }} onMouseLeave={() => {\n //@ts-ignore\n ref?.current?.stop()\n }}>\n \n
\n );\n};\nconst IconFacebook: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconFrecciaDx: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconFrecciaDown: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconFrecciaDownNext: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconFrecciaUp: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconFrecciaSx: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconInstagram: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconLinkedin: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconLuce: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n \n \n \n \n \n );\n};\nconst IconMenu: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconPinterest: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconPrint: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconRestart: FC = ({ fill, ...props }: IIcon) => {\n return (\n\n \n \n \n \n \n \n \n \n\n\n );\n};\nconst IconSend: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconSound: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconYoutube: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n );\n};\nconst IconWarning: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n \n \n \n );\n};\nconst IconInfo: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n );\n};\n\nconst IconLink: FC = ({ fill, ...props }: IIcon) => {\n return (\n \n \n );\n};\n\nconst IconSelected: FC = ({ fill, isSelected, ...props }: IIcon) => {\n return (\n \n \n \n \n \n );\n};\n\n{/* \n \n \n \n \n \n */}\n\nconst IconCopy: FC = ({ fill, ...props }: IIcon) => {\n return (\n\n \n \n \n \n \n \n \n \n\n\n\n );\n};\n\n\nconst IconDownload: FC = ({ fill, ...props }: IIcon) => {\n return (\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n );\n};\n\nconst IconAccordionClosed: FC = ({ }: IIcon) => {\n return (\n \n \n \n \n \n );\n};\nconst IconAccordionOpened: FC = ({ }: IIcon) => {\n return (\n \n \n \n \n );\n};\n\nexport {\n IconSelected,\n IconClose,\n IconCloseMenu,\n IconDomotica,\n IconEdit,\n IconFacebook,\n IconFrecciaDx,\n IconFrecciaDown,\n IconFrecciaUp,\n IconFrecciaSx,\n IconInstagram,\n IconLinkedin,\n IconLuce,\n IconMenu,\n IconPinterest,\n IconPrint,\n IconRestart,\n IconSend,\n IconSound,\n IconYoutube,\n IconFrecciaDownNext,\n IconWarning,\n IconInfo,\n IconLink,\n IconCopy,\n IconDownload,\n IconAccordionClosed,\n IconAccordionOpened\n};\n","import { FC, useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport ActionButton, { IActionButtonType } from \"../../Buttons/ActionButton\";\nimport { IconSelected } from \"../../Icon\";\nimport { Text } from \"../../Typography\";\nimport { motion } from \"framer-motion\"\nimport Image from \"../../Image\";\n\ninterface ISelectableGridItem extends React.HtmlHTMLAttributes {\n title: string;\n isSelected: boolean;\n isLoading?: boolean;\n titleAction: string;\n img: string;\n onClick: () => void;\n disabled?: boolean;\n t?: any;\n htmlDecode?: boolean;\n imgStyle?: any;\n}\n\nconst SelectableGridItem: FC = ({ title, isSelected, htmlDecode, titleAction, img, imgStyle, isLoading, onClick, disabled, ...props }: ISelectableGridItem) => {\n\n return (\n
\n
\n
\n
\n \n\n
\n \n
\n );\n};\nexport default withTranslation()(SelectableGridItem);\n","import { Form } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector, useStore } from \"react-redux\";\nimport { actGeneratoreSetModel, actGeneratoreSetOptionals, actGeneratoreSetVoltaggio, actGeneral } from \"../../../../redux/actions\";\nimport {\n EGeneratoreType,\n} from \"../../../../redux/reducers/generatore\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useState } from \"react\";\nimport SelectableGridItem from \"../../../../components/GridItem/SelectableGridItem\";\nimport { TGeneratoreModelType, TGeneratoreModelStoreState, TGeneratoreType, TGalleryItem, filterModels, TGeneratoreModelDetailType, TDescriptionBlockType, getVolume } from \"../../../../redux/reducers/generatoreestint\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport ActionButton, { IActionButtonType } from \"../../../../components/Buttons/ActionButton\";\nimport { getGeneratoriInterni, getGeneratoriEsterni, getModelliDiProdotto, getModelloDiProdotto, getOptional } from \"../../../../network/actions\";\nimport { LIMIT, PLACEHOLDER_IMAGE, SLUG_NUVOLA_SP_110, SLUG_NUVOLA_SP_140, SLUG_NUVOLA_SP_180, SLUG_NUVOLA_SP_250, SLUG_NUVOLA_SP_30, SLUG_NUVOLA_SP_360, SLUG_NUVOLA_SP_45, SLUG_NUVOLA_SP_55, SLUG_NUVOLA_SP_70, SLUG_NUVOLA_SP_90 } from \"../../../../utils/consts\";\nimport { useEffect } from \"react\";\nimport { TVanoDocciaStoreState } from \"../../../../redux/reducers/vano_doccia\";\nimport { capitalize, capitalizeAllWords, fromMCubiToCurrentUnitOfMeasure, getLocalization, getUnitOfMeasureMCubiLabel, Localization } from \"../../../../utils/utils\";\nimport { TStrutturaVanoDocciaStoreState } from \"../../../../redux/reducers/struttura_vano_doccia\";\nimport { getLabelEVoltaggioType, getVoltaggiExternal, getVoltaggiInternal } from \"../../../../redux/reducers/voltaggio\";\nimport Gallery from \"../../../../components/Gallery\";\nimport { StepConfiguratore } from \"../..\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { TOptionalDetailType } from \"../../../../redux/reducers/optional\";\nimport { CrmLanguage, getAuthInfo } from \"../../../../utils/storage\";\n\nfunction GeneratoreEstInt({ ...props }) {\n const dispatch = useDispatch();\n const store: TGeneralStore = useStore();\n const [isLoading, setIsLoading] = useState(false);\n const [form] = Form.useForm();\n const generatore_product: TGeneratoreModelStoreState= useSelector(\n (state: TGeneral) => state.generatore_product\n );\n const vano_doccia: TVanoDocciaStoreState= useSelector(\n (state: TGeneral) => state.vano_doccia\n );\n const struttura_vano_doccia: TStrutturaVanoDocciaStoreState= useSelector(\n (state: TGeneral) => state.struttura_vano_doccia\n );\n\n const [currentGeneratore, setCurrentGeneratore] = useState(undefined);\n\n //InfiniteScroll\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [items, setItems] = useState([]);\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n const [isLoadingModelli, setIsLoadingModelli] = useState(false);\n\n const openModal = (title: string, content: any) => {\n setModalData({ title, content, size:ModalSize.xl });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n setCurrentGeneratore(undefined)\n };\n\n useEffect(()=>{\n getGeneratoriFromAPI()\n },[])\n\n const getGeneratoriFromAPI = async () => {\n try {\n setIsLoading(true)\n let data:TGeneratoreType[];\n if(!isGeneratoreEsternoSelected() && store.getState()?.generatore_product?.list_generatori_interni?.length)\n data = store.getState()?.generatore_product?.list_generatori_interni as TGeneratoreType[]\n else\n data = (isGeneratoreEsternoSelected() ? await getGeneratoriEsterni(offset, LIMIT) : await getGeneratoriInterni(offset, LIMIT)) as TGeneratoreType[]\n data = data?.filter(g => !!!g?.acf?.hide_config)\n setItems(data)\n setOffset(offset+LIMIT)\n setHasMore(data?.length>0 && data?.length%LIMIT===0)\n setIsLoading(false)\n } catch (err) {\n //TODO: Alert\n setIsLoading(false)\n }\n }\n\n const isGeneratoreEsternoSelected = () : boolean => store.getState()?.generatore.tipologia == EGeneratoreType.Esterno;\n\n const getCaratteristicheField = (model:TGeneratoreModelDetailType|undefined, maxChar?:number) => {\n let field = model ? (model.acf?.description_block || []).slice(2).map((block:TDescriptionBlockType, indexBlock: number)=>{\n return(\n `${capitalize(block.titolo_blocco_descrizione)}:
${block.content_blocco_descrizione}`\n )\n }).join(\"
\") : \"\"\n return maxChar ? `${field.substr(0,maxChar)}...` : field\n }\n\n const roundMCubi = (mcubi:number) => getLocalization()===Localization.AMERICA ? Math.round(mcubi) : mcubi\n const _min_metri_cubi_no_kit_di_coibentazione = store.getState()?.struttura_vano_doccia?.kit_coibentazione ? (store?.getState()?.generatore_product?.generatore_model?.acf?.min_metri_cubi_potenza) : (store?.getState()?.generatore_product?.generatore_model?.acf?.min_metri_cubi_no_kit_di_coibentazione)\n const _max_metri_cubi_no_kit_di_coibentazione = store.getState()?.struttura_vano_doccia?.kit_coibentazione ? (store?.getState()?.generatore_product?.generatore_model?.acf?.metri_cubi_potenza_max) : (store?.getState()?.generatore_product?.generatore_model?.acf?.max_metri_cubi_no_kit_di_coibentazione)\n const _voltaggi = store?.getState()?.generatore?.tipologia===EGeneratoreType.Esterno ? getVoltaggiExternal() : getVoltaggiInternal()\n const _powerLabel = `${store?.getState()?.generatore_product?.generatore_model?.acf?.more_details?.power_model}kW max${getLocalization()===Localization.AMERICA ? ` - ${_voltaggi.map(v => `${props.t(getLabelEVoltaggioType(v))}`).join(\", \")}` : \"\"}`\n const _mCubicLabel = _min_metri_cubi_no_kit_di_coibentazione && _max_metri_cubi_no_kit_di_coibentazione ? `${roundMCubi(Number(fromMCubiToCurrentUnitOfMeasure(_min_metri_cubi_no_kit_di_coibentazione))||0)} - ${roundMCubi(Number(fromMCubiToCurrentUnitOfMeasure(_max_metri_cubi_no_kit_di_coibentazione))||0)} ${props.t(getUnitOfMeasureMCubiLabel())}` : \"\"\n const _gallery: string[] = (store?.getState()?.generatore_product?.generatore_model && Array.isArray(currentGeneratore?.acf.slider_gallery)) ? currentGeneratore!.acf.slider_gallery.map((curr_gallery_modello:TGalleryItem)=>curr_gallery_modello?.[\"image-slider-gallery\"]) : [];\n \n return (\n <>\n \n
\n \n {items.map((it:TGeneratoreType) => {\n const isSelected = generatore_product?.generatore_product?.id == it.id && !!generatore_product?.generatore_model?.id;\n const _volume = getVolume(store?.getState().vano_doccia)\n console.log(`Vol VanoDoccia ${_volume} => ${it?.title.rendered} conKit(${it?.acf?.max_volume_generatore_con_kit}), senzaKit(${it?.acf?.max_volume_generatore_no_kit})`)\n return (\n \n Number(it?.acf?.max_volume_generatore_no_kit)) || \n _volume > Number(it?.acf?.max_volume_generatore_con_kit)\n }\n titleAction={props.t(\"generatoreestint.modelli.title\")}\n isSelected={isSelected}\n htmlDecode\n img={it?.acf?.steam_image?.url || PLACEHOLDER_IMAGE}\n imgStyle={{maxHeight:170}} \n onClick={()=>{\n if(!isSelected){\n dispatch(actGeneral({appLoading: true}))\n\n dispatch(actGeneratoreSetModel({\n generatore_product: it,\n generatore_model: undefined\n }))\n //reset optionals due to they're linked to product\n dispatch(actGeneratoreSetOptionals({optionals:[]}))\n setCurrentGeneratore(it)\n //Download gallery\n getModelliDiProdotto(it.id).then(async (res:TGeneratoreType)=>{ \n const list_modelli: TGeneratoreModelType[] = res?.acf.accordion_group.models_relationship || []\n let _modelli : TGeneratoreModelDetailType[] = []\n\n for (let indexModel = 0; indexModel < list_modelli.length; indexModel++) {\n const modello = list_modelli[indexModel];\n try {\n const _dati_modello = await getModelloDiProdotto(modello.ID)\n _dati_modello.title!.rendered! = String(_dati_modello.title?.rendered).replaceAll(\"#038;\",\"\")\n _modelli.push(_dati_modello)\n } catch (err) { }\n }\n\n\n const modelsFiltered = filterModels(_modelli, getLocalization()===Localization.EUROPA || (getLocalization()===Localization.AMERICA && !!struttura_vano_doccia.kit_coibentazione) , vano_doccia)\n if(!store?.getState()?.generatore_product?.generatore_model && modelsFiltered?.filter(m => m.is_visible).length>0){\n dispatch(actGeneratoreSetModel({\n generatore_model: modelsFiltered.filter(m => m.is_visible)[0]\n }))\n dispatch(actGeneratoreSetVoltaggio({\n voltaggio: undefined\n }))\n }\n dispatch(actGeneral({appLoading: false}))\n\n openModal(it.title.rendered,()=>{\n const isSmartPower = store?.getState()?.generatore_product?.generatore_product?.slug === \"nuvola-smart\";\n let listSteamDiffusors:any[] = [];\n // console.log(`~~update~~`,store?.getState()?.generatore_product?.generatore_model?.slug)\n if(isSmartPower){\n switch (store?.getState()?.generatore_product?.generatore_model?.slug) {\n case SLUG_NUVOLA_SP_30:\n case SLUG_NUVOLA_SP_45:\n listSteamDiffusors = [\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].CAMOUFLAGE,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].GLASS,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].TRADITIONAL_CROMO,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].TRADITIONAL_GUN,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].TRADITIONAL_NERO\n ];\n break;\n case SLUG_NUVOLA_SP_55:\n case SLUG_NUVOLA_SP_70:\n case SLUG_NUVOLA_SP_90:\n listSteamDiffusors = [\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].CAMOUFLAGE,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"1PZ\"].GLASS,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"2PZ\"].TRADITIONAL_CROMO,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"2PZ\"].TRADITIONAL_GUN,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"2PZ\"].TRADITIONAL_NERO\n ]; \n break;\n\n case SLUG_NUVOLA_SP_110:\n case SLUG_NUVOLA_SP_140:\n case SLUG_NUVOLA_SP_180:\n listSteamDiffusors = [\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"2PZ\"].CAMOUFLAGE,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"2PZ\"].GLASS,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"4PZ\"].TRADITIONAL_CROMO,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"4PZ\"].TRADITIONAL_GUN,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"4PZ\"].TRADITIONAL_NERO\n ]; \n break;\n case SLUG_NUVOLA_SP_250:\n case SLUG_NUVOLA_SP_360:\n listSteamDiffusors = [\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"4PZ\"].CAMOUFLAGE,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"4PZ\"].GLASS,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"8PZ\"].TRADITIONAL_CROMO,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"8PZ\"].TRADITIONAL_GUN,\n store?.getState()?.optional.listNSPSteamDiffusors?.[\"8PZ\"].TRADITIONAL_NERO\n ]; \n break;\n default:\n break;\n }\n listSteamDiffusors = JSON.parse(JSON.stringify(listSteamDiffusors))\n }\n const showNSPSelects = isSmartPower\n\n return(
\n {\n modelsFiltered.filter(m => m.is_visible).length ? \n
\n \n \n {\n dispatch(actGeneratoreSetModel({\n generatore_model: coll\n }))\n dispatch(actGeneratoreSetOptionals({ optionals: [] }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n return {\n options: modelsFiltered\n .sort((m1: TGeneratoreModelDetailType, m2: TGeneratoreModelDetailType) => (getLocalization() === Localization.EUROPA || !store?.getState()?.struttura_vano_doccia?.kit_coibentazione ? m1.acf!.max_metri_cubi_no_kit_di_coibentazione! < m2.acf!.max_metri_cubi_no_kit_di_coibentazione! : m1.acf!.metri_cubi_potenza_max! < m2.acf!.metri_cubi_potenza_max!) ? 1 : 0)\n .filter(m => m.is_visible)\n .map((m: TGeneratoreModelDetailType) => {\n return { name: m.title.rendered, ...m };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n {\n showNSPSelects ?\n \n \n

{props.t(\"v9.pannello_controllo\")}

\n o?.optKey === \"panel_control\")?.[0]?.optional?.id,\n name: store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey === \"panel_control\")?.[0]?.optional?.title?.rendered?.toUpperCase()\n }}\n placeholder={props.t(\"general.scegli_opzione\")}\n onChange={(opt: TOptionalDetailType) => {\n dispatch(actGeneratoreSetModel({\n optionalsForModel:\n store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey !== \"panel_control\")?.concat([{ optional: opt, quantity: 1, disableDelete: true, optKey: \"panel_control\" }])\n }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n return {\n options: store?.getState()?.optional?.listNSPControlPanels?.map(o => {\n return ({ name: String(o?.title?.rendered).toUpperCase(), value: o?.id, ...o })\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n
\n : null \n }\n {\n showNSPSelects ?\n \n \n

{props.t(\"v9.diffusore_di_vapore\")}

\n o?.optKey === \"diffusor\")?.[0]?.optional?.id,\n name: store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey === \"diffusor\")?.[0]?.optional?.title?.rendered?.toUpperCase()\n }}\n placeholder={props.t(\"general.scegli_opzione\")}\n onChange={(opt: TOptionalDetailType) => {\n dispatch(actGeneratoreSetModel({\n optionalsForModel:\n store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey !== \"diffusor\")?.concat([{ optional: opt, quantity: 1, disableDelete: true, optKey: \"diffusor\" }])\n }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n cacheUniqs={[store?.getState()?.generatore_product?.generatore_model?.id, listSteamDiffusors]}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n // console.log(\"Reload options Diffusors....\", listSteamDiffusors)\n return {\n options: listSteamDiffusors?.map(o => {\n return ({ name: String(o?.title?.rendered).toUpperCase(), value: o?.id, ...o })\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n
\n : null \n }\n
\n :\n

\n {props.t(\"v2.no_models\",{prodotto:it.title.rendered,dimensioni:`${store.getState()?.vano_doccia?.larghezza} x ${store.getState()?.vano_doccia?.profondita} x ${store.getState()?.vano_doccia?.altezza}h`})}\n

\n }\n
)\n })\n })\n }else{\n dispatch(actGeneratoreSetModel({\n generatore_product: undefined,\n generatore_model: undefined,\n optionalsForModel: []\n }))\n }\n }}\n />\n \n );\n })}\n
\n\n {\n store.getState()?.general?.stepError?.step===StepConfiguratore.GeneratoreEstInt &&\n \n \n \n \n \n }\n
\n \n\n {\n dispatch(actGeneratoreSetModel({\n generatore_product: undefined,\n generatore_model: undefined,\n optionalsForModel: []\n }))\n closeModal()\n }}\n closeInline\n htmlDecode\n visible={modalIsOpen}\n size={modalData.size}\n gallery={_gallery}\n footer={ store?.getState()?.generatore_product?.generatore_model && \n \n \n {\n closeModal()\n }}/>\n \n \n }\n >\n {modalData.content && modalData.content()}\n {store?.getState()?.generatore_product?.generatore_model &&
\n\n
\n \n \n \n
\n\n \n \n

{props.t(\"generatoreestint.modelli.fields.potenza\")}

\n

{_powerLabel}

\n \n
\n {\n _mCubicLabel &&\n \n \n

{props.t(\"v2.dim_vano_suggerite\")}

\n

{_mCubicLabel}

\n {getLocalization()===Localization.AMERICA &&

{`${_min_metri_cubi_no_kit_di_coibentazione} - ${_max_metri_cubi_no_kit_di_coibentazione} ${props.t(\"generatoreestint.modelli.fields.m_cubi\")}`}

}\n \n
\n }\n \n \n

{props.t(\"generatoreestint.modelli.fields.dimensione\")}

\n

{`${store?.getState()?.generatore_product?.generatore_model?.acf?.more_details?.size_x} x ${store?.getState()?.generatore_product?.generatore_model?.acf?.more_details?.size_Z} x ${store?.getState()?.generatore_product?.generatore_model?.acf?.more_details?.size_Y} h`}

\n \n
\n {\n (store?.getState()?.generatore_product?.generatore_model?.acf?.description_block || []).slice(0,2).map((block:TDescriptionBlockType, indexBlock: number)=>{\n return(\n \n \n

{capitalize(block.titolo_blocco_descrizione)}

\n

{block.content_blocco_descrizione}

\n \n
\n )\n })\n }\n {\n (store?.getState()?.generatore_product?.generatore_model?.acf?.description_block || []).length > 2 &&\n \n \n

{props.t(\"porte_vetrate.popup.caratteristiche\")} \n

\n

\n

\n

\n \n
\n }\n
}\n \n \n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general,\n vano_doccia: state.vano_doccia,\n generatore: state.generatore,\n struttura_vano_doccia: state.struttura_vano_doccia,\n optional: state.optional\n}), { actGeneratoreSetModel, actGeneratoreSetVoltaggio, actGeneral, actGeneratoreSetOptionals })(\n withTranslation()(GeneratoreEstInt)\n);\n","import { FC } from \"react\";\nimport ActionButton, { IActionButtonType } from \"../../Buttons/ActionButton\";\nimport { Text } from \"../../Typography\";\nimport { Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport {\n Row,\n Select,\n } from \"antd\";\nimport { IconFrecciaDown, IconSelected } from \"../../Icon\";\nimport tailwindMyConfig from \"../../../tailwind.my.config\";\nimport { isMobile } from \"../../../utils/utils\";\nimport Image from \"../../Image\";\nimport { motion, AnimatePresence, LayoutGroup } from \"framer-motion\"\n\nconst { Option } = Select;\n\ntype TItemToSelect = {\n name: string;\n value: any;\n}\n\ninterface ISelectableDetailGridItem extends React.HtmlHTMLAttributes {\n title: string;\n subtitle?: string;\n description: string;\n descriptionHtml?: string;\n extraDescription?: any;\n isSelected: boolean;\n isLoading?: boolean;\n maxCharDescription?: number;\n onClick: any;\n image: string;\n classNameImage?: string;\n actionDescription?: any;\n actionOnClick?: any;\n //Select Quantity\n isVisibleSelectQuantity?: boolean;\n selectQuantity?: number|undefined;\n selectQuantityPlaceholder?: string;\n onChangeSelectQuantity?: (qty: number) => void;\n maxQuantity?: number;\n optionsQuantiy?: number[];\n labelQuantity?: string;\n //Btn Quantity\n buttonTitleSelect?: string;\n buttonTitleDeselect?: string;\n t?: any;\n heightCell?: number;\n //Select Extra\n itemsExtraToSelect?: TItemToSelect[];\n selectItemExtraPlaceholder?: string;\n onChangeSelectItemExtra?: (item: TItemToSelect) => void;\n disabled?: boolean;\n classNameTitleDefault?: string;\n}\n\nconst SelectableDetailGridItem: FC = ({ title, subtitle, description, descriptionHtml, isSelected, isLoading, image, maxCharDescription, onClick, classNameImage, actionDescription, actionOnClick,\n heightCell, buttonTitleSelect, buttonTitleDeselect, extraDescription, isVisibleSelectQuantity, selectQuantity, maxQuantity, optionsQuantiy, labelQuantity, onChangeSelectQuantity, selectQuantityPlaceholder, itemsExtraToSelect, disabled,\n selectItemExtraPlaceholder, onChangeSelectItemExtra, classNameTitleDefault, ...props }: ISelectableDetailGridItem) => {\n return (\n
\n \n \n \n
\n \n {isSelected && (\n \n \n \n )}\n \n
\n \n \n \n {\n disabled ? \n

{props?.t(\"v3.elemento_non_disponibile\")}

\n :\n
\n {(!!selectQuantity) &&

{`${props.t(\"panche.quantita\")}: ${selectQuantity}`}

}\n {\n onClick ? \n \n : null \n }\n
\n }\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n {subtitle && }\n {description && }\n {descriptionHtml &&
}\n {extraDescription ? extraDescription() : null}\n {\n actionDescription ? \n \n : null\n }\n
\n {\n itemsExtraToSelect?.length ?\n
\n {\n onChangeSelectItemExtra && onChangeSelectItemExtra(item)\n }}\n value={selectQuantity || undefined}\n suffixIcon={}\n >\n {itemsExtraToSelect.map((it: TItemToSelect, index:number) => {\n return (\n \n );\n })}\n \n
\n : null\n }\n {\n isVisibleSelectQuantity ?\n
\n {\n onChangeSelectQuantity && onChangeSelectQuantity(qty)\n }}\n value={selectQuantity || undefined}\n suffixIcon={}\n >\n {\n \n (optionsQuantiy || Array.from(Array(maxQuantity||5).keys())).map((it: any, index:number) => {\n const val = optionsQuantiy?.[index] || index+1\n return (\n \n );\n })\n \n }\n \n
\n : null\n }\n
\n \n
\n
\n );\n};\nexport default withTranslation()(SelectableDetailGridItem);\n","import { Form, Select } from \"antd\";\nimport { Col, Row } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneral, actGeneratoreSetOptionals } from \"../../../../redux/actions\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useState } from \"react\";\nimport SelectableDetailGridItem from \"../../../../components/GridItem/SelectableDetailGridItem\";\nimport { TOptional, TOptionalDetailType, TOptionalStoreState } from \"../../../../redux/reducers/optional\";\nimport { OPTIONALS_PANNELLO_CONTROLLO, PLACEHOLDER_IMAGE, SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES, getLanguageForNSP } from \"../../../../utils/consts\";\nimport { useEffect } from \"react\";\nimport { getOptional } from \"../../../../network/actions\";\nimport { TGeneratoreModelStoreState } from \"../../../../redux/reducers/generatoreestint\";\nimport { getLocalization, Localization } from \"../../../../utils/utils\";\nimport { EGeneratoreType } from \"../../../../redux/reducers/generatore\";\nimport { IconFrecciaDown, IconInfo } from \"../../../../components/Icon\";\nimport tailwindMyConfig from \"../../../../tailwind.my.config\";\nimport ActionButton from \"../../../../components/Buttons/ActionButton\";\nimport { IActionButtonType } from \"../../../../components/Buttons/ActionButton\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nconst { Option } = Select;\n\nfunction Optional({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const store: TGeneralStore = useStore();\n const finishesOptions = [{ id:\"CH75000038 | PVD Matte Black Steam diffusers finishes\", name:\"PVD Matte Black\" },\n { id:\"CH75000039 | PVD Satin Nickel Steam diffusers finishes\", name:\"PVD Satin Nickel\" },\n { id:\"CH75000040 | PVD Polished Nickel Steam diffusers finishes\", name:\"PVD Polished Nickel\" },\n { id:\"CH75000041 | PVD Brushed Brass Steam diffusers finishes\", name:\"PVD Brushed Brass\" }]\n const [tmpVariant, setTmpVariant] = useState();\n\n const optional: TOptionalStoreState = useSelector(\n (state: TGeneral) => state.optional\n );\n const generatore_product: TGeneratoreModelStoreState= useSelector(\n (state: TGeneral) => state.generatore_product\n );\n\n const [isLoading, setIsLoading] = useState(true);\n const [listOptionals, setListOptionals] = useState([]);\n\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n setTmpVariant(undefined)\n };\n\n const getOptionalsOfProducts = async () => {\n setIsLoading(true)\n let optionals:TOptionalDetailType[] = []\n const optionals_of_product = generatore_product.generatore_product?.acf.optional_products_group.related_optional || []\n for (let index = 0; index < optionals_of_product.length; index++) {\n const opt: TOptional = optionals_of_product[index];\n try {\n const detailOptional = await getOptional(opt.ID)\n optionals.push(detailOptional)\n } catch (error) {\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n\n //TODO: Check add LED\n //console.log(\"MOD PAN\", store?.getState()?.panche?.panca_custom?.modello.id)\n\n setListOptionals(optionals)\n }\n\n useEffect(()=>{\n getOptionalsOfProducts();\n },[])\n\n const showExternalPanelIncluded: boolean = getLocalization()===Localization.AMERICA && store.getState()?.generatore?.tipologia===EGeneratoreType.Esterno\n return (\n <>\n \n {showExternalPanelIncluded\n &&

\n {\"Our Steam generators always include a control panel that is supposed to be installed inside the steam room. In case you want to add an additional control panel outside the shower or for a commercial application select below the optional that fits your space\"}

}\n \n \n
\n {listOptionals?.map((opt:TOptionalDetailType) => {\n const indexOptionalSelected = optional?.optionals?.map(o => o.optional.id).indexOf(opt.id)\n const isSelected = indexOptionalSelected !== -1\n const disableRemove = store.getState()?.optional?.optionals?.find(o => opt.id===o.optional.id && o?.disableDelete)\n\n /** \n * Nella lista optional nascondere Pannello Touch con sonda remotata per Nuvola Smart se selezionato Pannello touch per Nuvola Smart\n */\n const hasSelectedPannelloTouchConSondaRemotataForNSP = OPTIONALS_PANNELLO_CONTROLLO.ESTERNO?.[getLanguageForNSP()] == store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey === \"panel_control\")?.[0]?.optional?.id;\n const hasSelectedPannelloTouchForNSP = OPTIONALS_PANNELLO_CONTROLLO.INTERNO?.[getLanguageForNSP()] == store?.getState()?.generatore_product?.optionalsForModel?.filter(o => o?.optKey === \"panel_control\")?.[0]?.optional?.id;\n console.log({hasSelectedPannelloTouchConSondaRemotataForNSP,hasSelectedPannelloTouchForNSP})\n \n if((hasSelectedPannelloTouchForNSP && OPTIONALS_PANNELLO_CONTROLLO.ESTERNO?.[getLanguageForNSP()] == opt.id) || \n (hasSelectedPannelloTouchConSondaRemotataForNSP && OPTIONALS_PANNELLO_CONTROLLO.ESTERNO?.[getLanguageForNSP()] == opt.id) || \n (hasSelectedPannelloTouchConSondaRemotataForNSP && OPTIONALS_PANNELLO_CONTROLLO.INTERNO_OPTIONAL?.[getLanguageForNSP()] == opt.id)){\n return null;\n }\n\n return (\n {\n // openModal(opt.title.rendered.replace(/(.*)-/g,\"\"),()=>{\n // return(\n //
\n // )\n // },ModalSize.lg)\n // }}\n // actionDescription={props.t(\"general.maggiori_dettagli\")}\n buttonTitleSelect={props.t(\"general.aggiungi\")}\n onClick={disableRemove ? null : ()=>{\n let _optionals = optional?.optionals || []\n\n if(opt?.slug===SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES){\n if(isSelected){\n _optionals.splice(indexOptionalSelected!,1)\n dispatch(actGeneratoreSetOptionals({\n optionals: _optionals\n }))\n }else{\n openModal(opt.title.rendered.replace(/(.*)-/g,\"\"),(modalProps:any)=>{\n return(\n
\n

{\"Select variation\"}

\n
\n \n {\n setTmpVariant(val)\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n \n return {\n options: finishesOptions,\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n
\n {\n _optionals.push({optional: opt,quantity: 1, variant: modalProps?.tmpVariant?.id})\n closeModal();\n dispatch(actGeneratoreSetOptionals({\n optionals: _optionals\n }))\n }}/>\n
\n )\n },ModalSize.lg)\n }\n \n }else{\n if(isSelected){\n _optionals.splice(indexOptionalSelected!,1)\n }else if(!isSelected){\n _optionals.push({optional: opt,quantity: 1})\n }\n dispatch(actGeneratoreSetOptionals({\n optionals: _optionals\n }))\n }\n \n \n }}\n />\n )\n })}\n
\n
\n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n closeInline\n >\n {modalData.content && modalData.content({tmpVariant})}\n \n \n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n generatore: state.generatore,\n panche: state.panche\n}), { actGeneratoreSetOptionals, actGeneral })(\n withTranslation()(Optional)\n);\n","import { FC } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { isMobile } from \"../../../utils/utils\";\nimport ActionButton, { IActionButtonType } from \"../../Buttons/ActionButton\";\nimport { Text } from \"../../Typography\";\n\ninterface IConfigurationGridItem extends React.HtmlHTMLAttributes {\n title: string;\n isSelected: boolean;\n t?: any;\n onClick: () => void;\n img: any;\n}\n\nconst ConfigurationGridItem: FC = ({ title, isSelected, onClick, img, ...props }: IConfigurationGridItem) => {\n const HEIGHT_CELL = !isMobile() ? 190 : 250\n return (\n
\n
\n \n
\n
\n \n
\n );\n};\nexport default withTranslation()(ConfigurationGridItem);\n","import { Form, InputNumber, Spin } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneral, actPorteVetrateCustom, actPorteVetrateStandard, actResetPorteVetrateCustom, actResetPorteVetrateStandard } from \"../../../../redux/actions\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useState } from \"react\";\nimport Accordion from \"react-bootstrap/Accordion\";\nimport SelectableDetailGridItem from \"../../../../components/GridItem/SelectableDetailGridItem\";\nimport { TVetrateStoreState } from \"../../../../redux/reducers/vetrate\";\nimport {\n EPortaStdCustomType,\n ESideCerniera,\n getLabelForESideCerniera,\n TListinoItemContentType,\n TMaterial,\n TMaterialDetails,\n TModelloDetailPortaType,\n TModelloPortaType,\n TPortaType as TPortaTypeDefault,\n TPorteVetrateCustomStoreState,\n TPorteVetrateStandardStoreState,\n} from \"../../../../redux/reducers/porte_vetrate\";\nimport ConfigurationGridItem from \"../../../../components/GridItem/ConfigurationGridItem\";\nimport { getCategoryIdModelloPortaVetrate, getUnitOfMeasure, isVetroPortaVetroPortaModel, UnitOfMeasure } from \"../../../../utils/utils\";\nimport ActionButton, { IActionButtonType } from \"../../../../components/Buttons/ActionButton\";\nimport { LIMIT, MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM, MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM, MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM, MIN_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM, MIN_DIM_LARGHEZZA_VETRATA_CUSTOM, PLACEHOLDER_IMAGE, SLUG_ADAPTA_CUSTOM, SLUG_PRODOTTO_SPAZIO, SLUG_PRODOTTO_SPAZIOFILO } from \"../../../../utils/consts\";\nimport { getItem, getMateriale, getModelloPorta, getPorte } from \"../../../../network/actions\";\nimport { useEffect } from \"react\";\nimport { TVanoDocciaStoreState } from \"../../../../redux/reducers/vano_doccia\";\nimport { StepConfiguratore, StepErrorField } from \"../..\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { ConfigurationType } from \"../../../../redux/reducers/scelta_configurazione\";\nimport { IconAccordionClosed, IconAccordionOpened } from \"../../../../components/Icon\";\n\ntype TPortaType = TPortaTypeDefault & {disabled?: boolean}\n\nfunction PorteVetrate({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const store: TGeneralStore = useStore();\n const vano_doccia: TVanoDocciaStoreState = useSelector(\n (state: TGeneral) => state.vano_doccia\n );\n const vetrate: TVetrateStoreState = useSelector(\n (state: TGeneral) => state.vetrate\n );\n const porta_vetrata: TPorteVetrateStandardStoreState & TPorteVetrateCustomStoreState = useSelector(\n (state: TGeneral) => state.porta_vetrata\n );\n\n const [currentAccordion, setCurrentAccordion] = useState(null);\n const [isLoadingStd, setIsLoadingStd] = useState(true);\n const [isLoadingCtm, setIsLoadingCtm] = useState(true);\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n //Standard\n const [offsetPorteStandard, setOffsetPorteStandard] = useState(0);\n const [hasMorePorteStandard, setHasMorePorteStandard] = useState(true);\n const [listPorteStandard, setListPorteStandard] = useState([]);\n //Custom\n const [offsetPorteCustom, setOffsetPorteCustom] = useState(0);\n const [hasMorePorteCustom, setHasMorePorteCustom] = useState(true);\n const [listPorteCustom, setListPorteCustom] = useState([]);\n\n const [currentMaterialPorta, setCurrentMaterialPorta] = useState();\n const [currentSideCernieraPorta, setCurrentSideCernieraPorta] = useState();\n\n const [items, setItems] = useState([]);\n const [isLoadingItems, setIsLoadingItems] = useState(false);\n\n const [materials, setMaterials] = useState([]);\n\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n //reset currents\n setItems([]);\n setCurrentMaterialPorta(undefined)\n setCurrentSideCernieraPorta(undefined)\n dispatch(actGeneral({ stepError: undefined }))\n };\n\n useEffect(() => {\n getPorteStandardFromAPI()\n getPorteCustomFromAPI()\n }, [])\n\n const getUniqueMaterialsFromItems = (allItems: TListinoItemContentType[]) => {\n let _ = new Set()\n let _items: TListinoItemContentType[] = []\n allItems.forEach(it => {\n const idMaterial: any = it.acf?.materials?.[0]?.ID;\n if (idMaterial && idMaterial !== undefined && !_.has(idMaterial)) {\n _.add(idMaterial);\n _items.push(it)\n }\n });\n return _items\n }\n const getUniqueVersionsFromItems = (allItems: TListinoItemContentType[]) => {\n let _ = new Set()\n let _items: TListinoItemContentType[] = []\n allItems.forEach(it => {\n const idVersion = it.acf?.side_cerniera;\n if (idVersion && idVersion != undefined && !_.has(idVersion)) {\n _.add(idVersion);\n _items.push(it)\n }\n });\n return _items\n }\n\n const getPorteStandardFromAPI = async () => {\n try {\n setIsLoadingStd(true)\n const responsePorteVetrateStandardList: TPortaType[] = await getPorte(true, offsetPorteStandard, LIMIT) as TPortaType[]\n\n let porteStandard: TPortaType[] = []\n /**\n * Verify if porta has at least one vetrata\n */\n for (const porta of responsePorteVetrateStandardList) {\n if(store.getState()?.vetrate?.quantita === 2){\n let hasAtLeastOneVetrata = false;\n for (let index = 0; index < porta?.acf?.models_relationship.length; index++) {\n const model = porta?.acf?.models_relationship[index];\n try {\n const _modelPortaOrVetrata = await getModelloPorta(model.ID)\n if (_modelPortaOrVetrata.categoria_modello_pv?.includes(getCategoryIdModelloPortaVetrate(false))) {\n hasAtLeastOneVetrata = true;\n }\n \n } catch (error) { }\n }\n porteStandard.push({...porta, disabled: !hasAtLeastOneVetrata})\n }else{\n porteStandard.push({...porta})\n }\n\n }\n\n setListPorteStandard(porteStandard.map(d => {\n return ({ ...d, acf: { ...d.acf, tipologia_di_prodotto: EPortaStdCustomType.STANDARD } })\n }))\n setOffsetPorteStandard(offsetPorteStandard + LIMIT)\n setHasMorePorteStandard(porteStandard?.length > 0 && porteStandard?.length % LIMIT === 0)\n } catch (err) {\n //TODO: Alert\n } finally {\n setIsLoadingStd(false)\n }\n }\n const getPorteCustomFromAPI = async () => {\n try {\n setIsLoadingCtm(true)\n const data: any = await getPorte(false, offsetPorteCustom, LIMIT)\n setListPorteCustom(data)\n setOffsetPorteCustom(offsetPorteCustom + LIMIT)\n setHasMorePorteCustom(data?.length > 0 && data?.length % LIMIT === 0)\n setIsLoadingCtm(false)\n } catch (err) {\n //TODO: Alert\n setIsLoadingCtm(false)\n }\n }\n\n const areDimensionsOfPortaVetrataGreaterThanVano = (): boolean => {\n if (store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) return false\n return areDimensionsOfPortaGreaterThanVano() || areDimensionsOfVetrataGreaterThanVano()\n }\n\n const areDimensionsOfPortaGreaterThanVano = (): boolean => {\n if (store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) return false\n\n if (store.getState().porta_vetrata?.modello_porta && isVetroPortaVetroPortaModel(store.getState().porta_vetrata.modello_porta!)) return false\n if (store.getState()?.vetrate?.quantita === 1 || !isRequiredVetrata()) {\n return store.getState()?.porta_vetrata?.altezza_porta! > store.getState()?.vano_doccia?.altezza! ||\n store.getState()?.porta_vetrata?.larghezza_porta! > Math.max(store.getState()?.vano_doccia?.larghezza!, store.getState()?.vano_doccia?.profondita!)\n } else {\n const maxDimVano = Math.max(store.getState()?.vano_doccia?.larghezza || 0, store.getState()?.vano_doccia?.profondita || 0)\n const minDimVano = Math.min(store.getState()?.vano_doccia?.larghezza || 0, store.getState()?.vano_doccia?.profondita || 0)\n const existOneRightCase = (store.getState()!.porta_vetrata!.larghezza_porta! <= maxDimVano) || (store.getState()!.porta_vetrata!.larghezza_porta! <= minDimVano)\n\n return store.getState()?.porta_vetrata?.altezza_porta! > store.getState()?.vano_doccia?.altezza! ||\n !existOneRightCase\n }\n }\n const areDimensionsOfVetrataGreaterThanVano = (): boolean => {\n if (store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) return false\n\n if (store.getState().porta_vetrata?.modello_porta && isVetroPortaVetroPortaModel(store.getState().porta_vetrata.modello_porta!)) return false\n if (store.getState()?.vetrate?.quantita === 1 || !isRequiredVetrata()) {\n return false\n } else {\n const maxDimVano = Math.max(store.getState()?.vano_doccia?.larghezza || 0, store.getState()?.vano_doccia?.profondita || 0)\n const minDimVano = Math.min(store.getState()?.vano_doccia?.larghezza || 0, store.getState()?.vano_doccia?.profondita || 0)\n const existOneRightCase = (store.getState()!.porta_vetrata!.larghezza_vetrata! <= minDimVano) || (store.getState()!.porta_vetrata!.larghezza_vetrata! <= maxDimVano)\n return store.getState()?.porta_vetrata?.altezza_vetrata! > store.getState()?.vano_doccia?.altezza! ||\n !existOneRightCase\n }\n }\n\n\n\n const isRequiredVetrata = () => store.getState()?.vetrate.quantita === 2 && !isVetroPortaVetroPortaModel(store.getState().porta_vetrata.modello_porta!)\n\n const isVetrataSectionVisible = () => store.getState()?.vetrate.quantita === 2 && !!store.getState()?.porta_vetrata?.modello_porta\n\n const onChangeModelloPorta = async (modello: TModelloDetailPortaType) => {\n setIsLoadingItems(true)\n dispatch(actPorteVetrateStandard({\n modello_porta: modello,\n }))\n\n getModelloPorta(modello.id).then(async (res: TModelloDetailPortaType) => {\n //Set items\n let items = []\n for (let indexItem = 0; indexItem < res.acf.item_relationship.length; indexItem++) {\n const item = res.acf.item_relationship[indexItem];\n try {\n const resItem: TListinoItemContentType = await getItem(item.ID)\n items.push(resItem)\n } catch (err) { }\n }\n setItems(items)\n\n //Materials\n let _materials: TMaterialDetails[] = []\n const unique_items_for_material = getUniqueMaterialsFromItems(items)\n const unique_items_for_version = getUniqueVersionsFromItems(items)\n\n for (let index = 0; index < unique_items_for_material.length; index++) {\n try {\n let m: TMaterialDetails = await getMateriale(unique_items_for_material[index]?.acf?.materials?.[0]?.ID)\n _materials.push(m)\n } catch (error) { }\n }\n setMaterials(_materials)\n\n //Se esiste un solo materiale lo pre-seleziono\n if (_materials.length === 1) {\n setCurrentMaterialPorta(unique_items_for_material?.[0]?.acf?.materials?.[0])\n }\n if (unique_items_for_version.length === 1) {\n setCurrentSideCernieraPorta(unique_items_for_version?.[0]?.acf?.side_cerniera)\n }\n\n\n setIsLoadingItems(false)\n }).catch((e: any) => {\n setIsLoadingItems(false)\n })\n }\n\n const areDimensionUnavailable = (): boolean => {\n return areDimensionPortaUnavailable() || areDimensionVetrataUnavailable()\n }\n\n const areDimensionPortaUnavailable = (): boolean => {\n if (store.getState().porta_vetrata?.modello_porta && isVetroPortaVetroPortaModel(store.getState().porta_vetrata.modello_porta!)) return false\n return (!!store.getState()?.porta_vetrata && (store.getState().porta_vetrata.altezza_porta! < MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM || store.getState().porta_vetrata.altezza_porta! > MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM || store.getState().porta_vetrata.larghezza_porta! < MIN_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM || store.getState().porta_vetrata.larghezza_porta! > MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM))\n }\n const areDimensionVetrataUnavailable = (): boolean => {\n return (!!store.getState()?.porta_vetrata && isRequiredVetrata() && (store.getState().porta_vetrata.altezza_vetrata! < MIN_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM || store.getState().porta_vetrata.altezza_vetrata! > MAX_DIM_ALTEZZA_PORTA_VETRATA_CUSTOM || store.getState().porta_vetrata.larghezza_vetrata! < MIN_DIM_LARGHEZZA_VETRATA_CUSTOM || store.getState().porta_vetrata.larghezza_vetrata! > MAX_DIM_LARGHEZZA_PORTA_VETRATA_CUSTOM))\n }\n\n const isDisabledProdottoPortaVetrata = (porta: TPortaType) => {\n if(!!porta?.disabled) return true\n // console.log(`isDisabledProdottoPortaVetrata ${porta?.slug} [L ${porta.acf?.min_larghezza_modello_porta} - A ${porta.acf?.min_altezza_modello_porta}]`)\n if (store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) return false\n\n return porta.acf?.min_altezza_modello_porta === undefined ||\n Number(porta.acf?.min_altezza_modello_porta) > store.getState().vano_doccia.altezza! ||\n porta.acf?.min_larghezza_modello_porta === undefined ||\n Number(porta.acf?.min_larghezza_modello_porta) > Math.max(store.getState()?.vano_doccia?.larghezza!, store.getState()?.vano_doccia?.profondita!) ||\n (store.getState()?.vetrate?.quantita === 2 && (\n // (!porta.acf?.min_altezza_modello_vetrata && !porta.acf?.min_larghezza_modello_vetrata) ||\n // porta.acf?.min_altezza_modello_vetrata===undefined || \n Number(porta.acf?.min_altezza_modello_vetrata) > store.getState().vano_doccia.altezza! ||\n // porta.acf?.min_larghezza_modello_vetrata===undefined || \n Number(porta.acf?.min_larghezza_modello_vetrata) > Math.max(store.getState()?.vano_doccia?.larghezza!, store.getState()?.vano_doccia?.profondita!)\n )\n )\n }\n\n return (\n
\n \n\n \n \n \n
\n {\n setCurrentAccordion(\n currentAccordion === null || currentAccordion !== 0\n ? 0\n : null\n );\n }}\n eventKey=\"0\"\n className=\"w-full\"\n >\n \n \n {props.t(\"porte_vetrate.standard\")}\n \n
\n {\n isLoadingStd ? :\n \n currentAccordion === 0 ? (\n \n ) : (\n \n )}\n
\n
\n \n \n
\n {listPorteStandard.map((porta: TPortaType, indexPorta: number) => {\n const isSelected = porta_vetrata?.porta_prodotto?.id == porta.id;\n return (\n m.post_title).join(', ')}\n disabled={isDisabledProdottoPortaVetrata(porta)}\n className={`pt-12 ${indexPorta === listPorteStandard.length - 1 && \"pb-12\"}`}\n image={porta._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || PLACEHOLDER_IMAGE}\n onClick={async () => {\n //Reset porte custom\n dispatch(actResetPorteVetrateCustom())\n\n if (!isSelected) {\n dispatch(actPorteVetrateStandard({\n porta_listino: undefined,\n porta_prodotto: porta,\n modello_porta: undefined,\n modello_vetrata: undefined\n }))\n\n dispatch(actGeneral({ appLoading: true }))\n let _portaModels: TModelloDetailPortaType[] = []\n let _vetrataModels: TModelloDetailPortaType[] = []\n for (let index = 0; index < porta?.acf?.models_relationship.length; index++) {\n const model = porta?.acf?.models_relationship[index];\n try {\n const _modelPortaOrVetrata = await getModelloPorta(model.ID)\n if (_modelPortaOrVetrata.categoria_modello_pv?.includes(getCategoryIdModelloPortaVetrate(true))) {\n _portaModels.push(_modelPortaOrVetrata)\n } else {\n _vetrataModels.push(_modelPortaOrVetrata)\n }\n\n } catch (error) { }\n }\n\n\n //Filter Porte\n _portaModels = _portaModels.map(coll => {\n return ({\n ...coll,\n is_visible: store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE ||\n (Number(coll.acf?.standard_configuration_fields?.x_axis_door) <= (store.getState()?.vano_doccia?.larghezza! > store.getState()?.vano_doccia?.profondita! ? store.getState()?.vano_doccia?.larghezza! : store.getState()?.vano_doccia?.profondita!) &&\n Number(coll.acf?.standard_configuration_fields?.y_axis_door) <= store.getState()?.vano_doccia?.altezza!)\n })\n })\n\n //Select 1st porta available\n if (!store?.getState()?.porta_vetrata?.modello_porta && _portaModels.filter(p => p.is_visible).length > 0) {\n onChangeModelloPorta(_portaModels.filter(p => p.is_visible)[0])\n }\n\n //Filter Vetrate\n const getVetrateFiltered = (_listVetrateToFilter: TModelloDetailPortaType[]): TModelloDetailPortaType[] => {\n return _listVetrateToFilter.map(coll => {\n return ({\n ...coll,\n is_visible: store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE ||\n (Number(coll.acf?.standard_configuration_fields?.x_axis_door) <= (store.getState()?.vano_doccia?.larghezza! > store.getState()?.vano_doccia?.profondita! ? store.getState()?.vano_doccia?.larghezza! : store.getState()?.vano_doccia?.profondita!) &&\n Number(coll.acf?.standard_configuration_fields?.y_axis_door) <= store.getState()?.vano_doccia?.altezza!)\n })\n })\n }\n _vetrataModels = getVetrateFiltered(_vetrataModels)\n\n //Fallback su altri modelli se vetrate non disponibili\n if (!_vetrataModels.length && store.getState()?.vetrate?.quantita === 2) {\n let other_models_relationship: TModelloPortaType[] = []\n listPorteStandard.forEach(currentPorta => {\n if (currentPorta.slug === SLUG_PRODOTTO_SPAZIO || currentPorta.slug === SLUG_PRODOTTO_SPAZIOFILO)\n other_models_relationship = other_models_relationship.concat(currentPorta.acf?.models_relationship)\n });\n // get details\n for (let index = 0; index < other_models_relationship.length; index++) {\n const model_fallback = other_models_relationship[index];\n try {\n const _modelPortaOrVetrata = await getModelloPorta(model_fallback.ID)\n if (_modelPortaOrVetrata.categoria_modello_pv?.includes(getCategoryIdModelloPortaVetrate(false))) {\n _vetrataModels.push(_modelPortaOrVetrata)\n }\n\n } catch (error) { }\n }\n // filter\n _vetrataModels = getVetrateFiltered(_vetrataModels)\n }\n\n //Select 1st vetrata available\n const qty_models_vetrata = _vetrataModels.filter(v => v.is_visible).length\n if (store.getState()?.vetrate?.quantita === 2 && qty_models_vetrata > 0) {\n dispatch(actPorteVetrateStandard({\n modello_vetrata: _vetrataModels.filter(v => v.is_visible)[0]\n }))\n }\n\n dispatch(actGeneral({ appLoading: false }))\n\n openModal(porta.title.rendered, () => {\n\n return (
\n {\n _portaModels.filter(m => m.is_visible).length ?\n
\n \n \n s.id === \"modello_porta_std\")?.id && \"error-field\"}`}>\n {\n onChangeModelloPorta(modello)\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n console.log(\"CHECK DIM (PORTA)\", _portaModels.map((r) => r.acf?.standard_configuration_fields), store.getState()?.vano_doccia)\n return {\n options: _portaModels.filter(m => m.is_visible).map((coll: TModelloDetailPortaType) => {\n return { name: coll.title.rendered, ...coll };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n \n \n\n {isVetrataSectionVisible() &&\n \n s.id === \"modello_vetrata_std\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateStandard({\n modello_vetrata: modello\n }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: TModelloDetailPortaType[] = _vetrataModels\n console.log(\"VETRATE\", response)\n console.log(\"CHECK DIM (VETRATA)\", response.map((r) => r.acf?.standard_configuration_fields), store.getState()?.vano_doccia)\n return {\n options: response.filter(m => m.is_visible).map((coll: TModelloDetailPortaType) => {\n return { name: coll.title.rendered, ...coll };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n \n \n }\n \n
\n :\n

\n {props.t(\"v2.no_models\", { prodotto: porta.title.rendered, dimensioni: `${store.getState()?.vano_doccia?.larghezza} x ${store.getState()?.vano_doccia?.profondita} x ${store.getState()?.vano_doccia?.altezza}h` })}\n

\n }\n
)\n }, isRequiredVetrata() ? ModalSize.xl : ModalSize.lg)\n } else {\n dispatch(actResetPorteVetrateStandard())\n }\n }}\n classNameImage={\"\"}\n />\n );\n })}\n
\n \n
\n\n
\n {\n setCurrentAccordion(\n currentAccordion === null || currentAccordion !== 1\n ? 1\n : null\n );\n }}\n eventKey=\"1\"\n className=\"w-full\"\n >\n \n \n {props.t(\"porte_vetrate.su_misura\")}\n \n
\n {currentAccordion === 1 ? (\n \n ) : (\n \n )}\n
\n
\n \n \n
\n {listPorteCustom?.filter(p => \n (store?.getState()?.vetrate?.quantita===1 && p?.slug===SLUG_ADAPTA_CUSTOM) || \n p?.slug!==SLUG_ADAPTA_CUSTOM )?.map((coll: TPortaType, indexPorta: number) => {\n const isSelected = porta_vetrata?.porta_prodotto?.id == coll.id;\n return (\n ]+)>)/ig, '')}\n maxCharDescription={80}\n className={`pt-12 ${indexPorta === listPorteCustom.length - 1 && \"pb-12\"}`}\n image={coll._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || PLACEHOLDER_IMAGE}\n buttonTitleSelect={props.t(\"general.configura\")}\n onClick={async () => {\n //Reset porte standard\n dispatch(actResetPorteVetrateStandard())\n\n if (!isSelected) {\n dispatch(actGeneral({ appLoading: true }))\n dispatch(actPorteVetrateCustom({\n porta_prodotto: coll,\n altezza_porta: coll?.slug===SLUG_ADAPTA_CUSTOM ? 200 : undefined\n }))\n \n\n //Scarico dettaglio modelli\n let _portaModels: TModelloDetailPortaType[] = []\n let _vetrataModels: TModelloDetailPortaType[] = []\n for (let index = 0; index < coll?.acf?.models_relationship?.length; index++) {\n const model = coll?.acf?.models_relationship[index];\n try {\n const modelType = await getModelloPorta(model.ID)\n if (modelType.categoria_modello_pv?.includes(getCategoryIdModelloPortaVetrate(true))) {\n _portaModels.push(modelType)\n } else if (isRequiredVetrata() && modelType.categoria_modello_pv?.includes(getCategoryIdModelloPortaVetrate(false))) {\n _vetrataModels.push(modelType)\n }\n } catch (error) { }\n }\n\n //Scarico dettaglio materiali\n let _materials: TMaterialDetails[] = []\n for (let index = 0; index < coll?.acf?.custom_configuration_fields?.material_door_custom?.length; index++) {\n const material = coll?.acf?.custom_configuration_fields?.material_door_custom[index];\n try {\n let m: TMaterialDetails = await getMateriale(material.ID)\n _materials.push(m)\n } catch (error) { }\n }\n\n\n dispatch(actGeneral({ appLoading: false }))\n\n // Opening custom doors modal\n openModal(\n coll.title?.rendered,\n () => {\n console.log(\"TODO: Handle Adapta\")\n return (\n
\n
\n \n {/** PORTA */}\n \n \n \n

\n \n \n \n {_portaModels.map((it: TModelloDetailPortaType, itIndex) => {\n const isModelSelected = store.getState()?.porta_vetrata?.modello_porta?.id === it.id;\n return (\n \n {\n dispatch(actPorteVetrateCustom({\n modello_porta: isModelSelected ? undefined : it,\n ...(isVetroPortaVetroPortaModel(it) ? { modello_vetrata: undefined } : {})\n }))\n\n }}\n />\n \n )\n })}\n \n\n
\n\n \n \n \n

\n {`${props.t(\"porte_vetrate.dim_porta\")} (cm)`}\n

\n \n \n
\n s.id === \"larghezza_porta\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n larghezza_porta: num\n }))\n }}\n />\n \n {/* \n {getUnitOfMeasure()}\n */}\n
\n \n {console.log(\"store.getState()?.porta_vetrata?.altezza_porta\",store.getState()?.porta_vetrata?.altezza_porta)}\n \n
\n s.id === \"altezza_porta\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n altezza_porta: num\n })\n )\n }}\n />\n \n {props?.t(\"v10.adapta_altezza_porta_2m\")}\n {\"Link\"}\n \n \n \n
\n \n
\n \n
\n\n
\n \n\n \n

\n {props.t(\"porte_vetrate.materiale_profilo\")}\n

\n
\n s.id === \"materiale_ctm\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n materiale: material\n }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n return {\n options: _materials.map((material: TMaterialDetails) => {\n return { name: material.title.rendered, ...material };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n \n
\n \n \n

\n {props.t(\"porte_vetrate.versione_cerniera\")}\n

\n
\n s.id === \"versione_ctm\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n versione: cerniera?.id\n }))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const versions = [ESideCerniera.DX, ESideCerniera.SX]\n return {\n options: versions.map((it: ESideCerniera) => {\n return { name: props.t(getLabelForESideCerniera(it)), id: it };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n \n
\n \n
\n
\n \n\n {/** VETRATA */}\n {isRequiredVetrata() &&\n \n \n \n

\n \n \n \n {_vetrataModels.map((it: TModelloDetailPortaType) => {\n const isModelSelected = store.getState()?.porta_vetrata?.modello_vetrata?.id === it.id;\n return (\n \n {\n dispatch(actPorteVetrateCustom({\n modello_vetrata: isModelSelected ? undefined : it\n }))\n }}\n />\n \n )\n })}\n \n\n
\n

\n {`${props.t(\"porte_vetrate.dim_vetrata\")} (cm)`}\n

\n \n \n \n
\n s.id === \"larghezza_vetrata\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n larghezza_vetrata: num\n }))\n }}\n />\n \n {/* \n {getUnitOfMeasure()}\n */}\n
\n \n \n
\n s.id === \"altezza_vetrata\")?.id && \"error-field\"}`}>\n {\n dispatch(actPorteVetrateCustom({\n altezza_vetrata: num\n }))\n }}\n />\n \n {/* \n {getUnitOfMeasure()}\n */}\n
\n \n
\n \n
\n \n }\n \n

\n\n\n {\n store.getState()?.general?.stepError?.step === StepConfiguratore.PorteVetrate &&\n \n \n \n \n \n }\n\n\n
\n {\n if (!store.getState()?.porta_vetrata?.modello_porta) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"v3.error.scegli_porta\"),\n fields: []\n }\n }))\n return;\n }\n if ((!store.getState()?.porta_vetrata?.modello_vetrata && isRequiredVetrata())) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"v3.error.scegli_vetrata\"),\n fields: []\n }\n }))\n return;\n }\n else if (!store.getState()?.porta_vetrata?.materiale) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"),\n fields: [{ id: \"materiale_ctm\", msg: \"\" }]\n }\n }))\n return;\n }\n else if (!store.getState()?.porta_vetrata?.versione) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"),\n fields: [{ id: \"versione_ctm\", msg: \"\" }]\n }\n }))\n return;\n }\n else if (!store.getState()?.porta_vetrata?.altezza_porta || !store.getState()?.porta_vetrata?.larghezza_porta) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"),\n fields: [{ id: \"larghezza_porta\", msg: \"\" }, { id: \"altezza_porta\", msg: \"\" }]\n }\n }))\n return;\n }\n else if ((isRequiredVetrata() && (!store.getState()?.porta_vetrata?.altezza_vetrata || !store.getState()?.porta_vetrata?.larghezza_vetrata))) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"),\n fields: [{ id: \"larghezza_vetrata\", msg: \"\" }, { id: \"altezza_vetrata\", msg: \"\" }]\n }\n }))\n return;\n }\n else if (areDimensionsOfPortaVetrataGreaterThanVano()) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: `${props.t(\"porte_vetrate.errors.dimensioni_maggiori_vano\")}: ${store.getState()?.vano_doccia?.larghezza} x ${store.getState()?.vano_doccia?.profondita} x ${store.getState()?.vano_doccia?.altezza} h`,\n fields: [{ id: \"larghezza_porta\", msg: \"\" }, { id: \"altezza_porta\", msg: \"\" }\n , { id: \"larghezza_vetrata\", msg: \"\" }, { id: \"altezza_vetrata\", msg: \"\" }]\n }\n }))\n return;\n }\n else if (areDimensionUnavailable()) {\n dispatch(actGeneral({\n stepError: {\n step: StepConfiguratore.PorteVetrate, msg: props.t(getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI ? \"porte_vetrate.errors.dimensioni_maggiori_limite\" : \"porte_vetrate.errors.dimensioni_maggiori_limite_ft\"),\n fields: [{ id: \"larghezza_porta\", msg: \"\" }, { id: \"altezza_porta\", msg: \"\" }\n , { id: \"larghezza_vetrata\", msg: \"\" }, { id: \"altezza_vetrata\", msg: \"\" }]\n }\n }))\n return;\n }\n closeModal()\n }}\n />\n
\n
\n );\n },\n ModalSize.xl\n );\n } else {\n dispatch(actResetPorteVetrateCustom())\n }\n\n }}\n classNameImage={\"\"}\n />\n );\n })}\n
\n \n \n \n \n \n\n {\n dispatch(actResetPorteVetrateCustom())\n dispatch(actResetPorteVetrateStandard())\n closeModal()\n }}\n visible={modalIsOpen}\n size={modalData.size}\n closeInline\n >\n {modalData.content && modalData.content()}\n {(store.getState()?.porta_vetrata?.modello_porta &&\n store.getState()?.porta_vetrata?.porta_prodotto?.acf?.tipologia_di_prodotto === EPortaStdCustomType.STANDARD) &&\n \n \n
\n

{props.t('porte_vetrate.popup.caratteristiche')}

\n
\n
\n
\n\n
\n

{props.t('porte_vetrate.materiale')}

\n {\n isLoadingItems ?\n <>\n :\n
\n s.id === \"materiale\")?.id && \"error-field\"}`}>\n {\n {\n setCurrentMaterialPorta(material.acf.materials?.[0])\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const materials = getUniqueMaterialsFromItems(items)\n return {\n options: materials.map((it: TListinoItemContentType) => {\n return { name: it.acf.materials?.[0]?.post_title, ...it };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n }\n \n
\n }\n
\n\n {\n getUniqueVersionsFromItems(items).length !== 0 &&\n
\n

{props.t('porte_vetrate.versione')}

\n {\n isLoadingItems ?\n <>\n :\n
\n s.id === \"version\")?.id && \"error-field\"}`}>\n {\n {\n setCurrentSideCernieraPorta(cerniera.acf.side_cerniera)\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const versions = getUniqueVersionsFromItems(items)\n return {\n options: versions.map((it: TListinoItemContentType) => {\n return { name: props.t(getLabelForESideCerniera(it.acf.side_cerniera)), ...it };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n isSecondary\n />\n }\n \n
\n }\n
\n }\n \n\n {\n isVetrataSectionVisible() &&\n \n
\n

{props.t('porte_vetrate.popup.dim_vetrata')}

\n

{\n !store.getState()?.porta_vetrata?.modello_vetrata?.acf?.standard_configuration_fields?.x_axis_door ||\n !store.getState()?.porta_vetrata?.modello_vetrata?.acf?.standard_configuration_fields?.y_axis_door ?\n props.t(\"v10.porte_senza_vetrate_disponibili\")\n :\n `${getUnitOfMeasure()} ${store.getState()?.porta_vetrata?.modello_vetrata?.acf?.standard_configuration_fields?.x_axis_door} x ${store.getState()?.porta_vetrata?.modello_vetrata?.acf?.standard_configuration_fields?.y_axis_door}h`\n \n }

\n
\n \n }\n\n {\n store.getState()?.general?.stepError?.step === StepConfiguratore.PorteVetrate &&\n \n \n \n \n \n }\n\n \n {\n if (!store.getState()?.porta_vetrata?.modello_porta) {\n dispatch(actGeneral({ stepError: { step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"modello_porta_std\", msg: \"\" }] } }))\n return;\n }\n if ((store.getState()?.vetrate?.quantita == 2 && !store.getState()?.porta_vetrata?.modello_vetrata)) {\n dispatch(actGeneral({ stepError: { step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"modello_vetrata_std\", msg: \"\" }] } }))\n return;\n }\n if (!currentMaterialPorta) {\n dispatch(actGeneral({ stepError: { step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"materiale\", msg: \"\" }] } }))\n return;\n }\n if ((!currentSideCernieraPorta && getUniqueVersionsFromItems(items).length !== 0)) {\n dispatch(actGeneral({ stepError: { step: StepConfiguratore.PorteVetrate, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"version\", msg: \"\" }] } }))\n return;\n }\n\n\n\n const _porta_listino = items.filter((it: TListinoItemContentType) =>\n (it.acf.side_cerniera === currentSideCernieraPorta || getUniqueVersionsFromItems(items).length === 0) &&\n it.acf.materials?.[0]?.post_name === currentMaterialPorta?.post_name)\n [0]\n /**\n * la voce di listino del telaio è quella senza materiali e, se presente la cerniera prendo quella voce, altrimenti la prima voce che trovo.\n */\n const telaio = items.filter(i => !i?.acf?.materials && i?.acf?.side_cerniera === currentSideCernieraPorta)?.[0] || items.filter(i => !i?.acf?.materials && !i?.acf?.side_cerniera)?.[0]\n console.log({ items, telaio })\n\n dispatch(actPorteVetrateStandard({\n porta_listino: [_porta_listino].concat(telaio ? [telaio] : [])\n }))\n closeModal()\n }} style={{ paddingTop: 10, paddingBottom: 10 }} />\n \n
}\n\n \n\n {\n (store.getState()?.general?.stepError?.step === StepConfiguratore.PorteVetrate &&\n store.getState()?.general?.stepError?.fields?.find(i => i.id === \"general\")) &&\n \n \n i.id === \"general\")?.msg} />\n \n \n }\n \n );\n}\n\nexport default connect((state: TGeneral, ownProps) => ({\n general: state.general,\n vano_doccia: state.vano_doccia,\n porta_vetrata: state.porta_vetrata,\n vetrate: state.vetrate\n}), { actPorteVetrateStandard, actGeneral })(\n withTranslation()(PorteVetrate)\n);\n","import { FC } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { PLACEHOLDER_IMAGE } from \"../../../utils/consts\";\nimport { isMobile } from \"../../../utils/utils\";\nimport ActionButton, { IActionButtonType } from \"../../Buttons/ActionButton\";\nimport { Text } from \"../../Typography\";\n\ninterface IPlusGridItem extends React.HtmlHTMLAttributes {\n title: string;\n descrizione?: string;\n descrizioneHtml?: string;\n dimensioni: string;\n img?: string;\n quantity: number;\n overlay?: boolean;\n onPlus?: () => void;\n onMinus?: () => void;\n actionTitle?: string;\n actionOnClick?: any;\n t?: any;\n}\n\nconst PlusGridItem: FC = ({ title, descrizione, descrizioneHtml, dimensioni, img, quantity, onPlus, onMinus, overlay, t,\n actionTitle, actionOnClick, ...props }: IPlusGridItem) => {\n const HEIGHT_CELL = !isMobile() ? 190 : 250\n return (\n
\n \n \n
\n \n
\n
\n {\n onPlus && onPlus()\n }}\n onMinus={()=>{\n (onMinus && quantity>0) && onMinus()\n }}\n disableHover\n className=\"px-3 mx-0 pb-1 w-full\"\n importance={IActionButtonType.Secondary} title={t(\"general.aggiungi\")}/>\n
\n
\n );\n};\nexport default withTranslation()(PlusGridItem);\n","import { Form, Spin } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect } from \"react-redux\";\nimport { TGeneral } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneral, actPanche } from \"../../../../redux/actions\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useEffect, useState } from \"react\";\nimport Accordion from \"react-bootstrap/Accordion\";\nimport { IconAccordionClosed, IconAccordionOpened, IconFrecciaDown, IconFrecciaUp } from \"../../../../components/Icon\";\nimport tailwindMyConfig from \"../../../../tailwind.my.config\";\nimport SelectableDetailGridItem from \"../../../../components/GridItem/SelectableDetailGridItem\";\nimport ActionButton, { IActionButtonType } from \"../../../../components/Buttons/ActionButton\";\nimport { TPancaCustomConfigurationQuantity, TPancaCustomConfigurationType, TPancaCustomType, TPancaQuantity, TPancaType, TPancheStoreState } from \"../../../../redux/reducers/panche\";\nimport PlusGridItem from \"../../../../components/GridItem/PlusGridItem\";\nimport { HEIGHT_SCROLL, LIMIT, PLACEHOLDER_IMAGE, SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO, SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE, SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_END_COVER, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_END_COVER, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_END_COVER, SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED, SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE, SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED } from \"../../../../utils/consts\";\nimport { getItem, getPanche } from \"../../../../network/actions\";\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport { TListinoItemContentType } from \"../../../../redux/reducers/porte_vetrate\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\n\n\nfunction Panche({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const panche: TPancheStoreState = useSelector(\n (state: TGeneral) => state.panche\n );\n const [currentAccordion, setCurrentAccordion] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n\n //InfiniteScroll\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [listPanche, setListPanche] = useState([]);\n\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n interface IPancaMap {\n [key: string]: TPancaQuantity;\n }\n const [pancaMap, setPancaMap] = useState({});\n const [pancaCustomMap, setPancaCustomMap] = useState>(new Map());\n\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n //reset temp map\n setPancaCustomMap(new Map())\n };\n\n useEffect(() => {\n getPancheFromAPI()\n }, [])\n\n const getPancheFromAPI = async () => {\n try {\n setIsLoading(true)\n const data: TPancaType[] = (await getPanche(offset, LIMIT))\n setListPanche(data)\n setOffset(offset + LIMIT)\n setHasMore(data?.length > 0 && data?.length % LIMIT === 0)\n setIsLoading(false)\n } catch (err) {\n //TODO: Alert\n setIsLoading(false)\n }\n }\n\n const getModelliPancheCustomSezioneRettangolare = (): TPancaCustomConfigurationType[] => {\n return [{ id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE,\n \tname: props.t(\"panche.modelli.sez_rettangolare\"),\n dimensioni: \"cm 50 x 100 x 42 h\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"263\",\n price_extra: \"271\",\n materials: [],\n sku: \"sez_rettangolare\",\n voltaggio: null,\n descrizione: \"\" } },\n { id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_END_COVER,\n name: props.t(\"panche.modelli.sez_rettangolare_end_cover\"),\n dimensioni: \"cm 50 x 25 x 42 h\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+end+cover.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_end_cover\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"175\",\n price_extra: \"191\",\n materials: [],\n sku: \"sez_rettangolare_end_cover\",\n voltaggio: null,\n descrizione: \"\" } },\n { id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO,\n name: props.t(\"panche.modelli.sez_rettangolare_angolo\"),\n dimensioni: \"cm 75+75 x 50 x 42 h\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+angolo.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_angolo\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"515\",\n price_extra: \"546\",\n materials: [],\n sku: \"sez_rettangolare_angolo\",\n voltaggio: null,\n descrizione: \"\" } }]\n }\n const getModelliPancheCustomSezioneRettangolareLuciLed = (): TPancaCustomConfigurationType[] => {\n return [{ id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE,\n \tname: props.t(\"panche.modelli.sez_rettangolare\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+LED.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"289\",\n price_extra: \"305\",\n materials: [],\n sku: \"sez_rettangolare_led\",\n voltaggio: null,\n descrizione: \"\" } },\n { id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_END_COVER,\n name: props.t(\"panche.modelli.sez_rettangolare_end_cover\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+LED+end+cover.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_end_cover\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"210\",\n price_extra: \"222\",\n materials: [],\n sku: \"sez_rettangolare_end_cover_led\",\n voltaggio: null,\n descrizione: \"\" } },\n { id: SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO,\n name: props.t(\"panche.modelli.sez_rettangolare_angolo\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+LED+angolo.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_angolo\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: { price: \"546\",\n price_extra: \"577\",\n materials: [],\n sku: \"sez_rettangolare_angolo_led\",\n voltaggio: null,\n descrizione: \"\" } }]\n }\n const getModelliPancheCustomSezioneArrotondataLuciLed = (): TPancaCustomConfigurationType[] => {\n return [{\n id: SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE,\n name: props.t(\"panche.modelli.sez_arrotondata\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Arrotondata+LED.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: {\n price: \"289\",\n price_extra: \"305\",\n materials: [],\n sku: \"sez_arrotondata_led\",\n voltaggio: null,\n descrizione: \"\"\n }\n },\n {\n id: SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_END_COVER,\n name: props.t(\"panche.modelli.sez_arrotondata_end_cover\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Arrotondata+LED+end+cover.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_end_cover\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: {\n price: \"210\",\n price_extra: \"222\",\n materials: [],\n sku: \"sez_arrotondata_end_cover_led\",\n voltaggio: null,\n descrizione: \"\"\n }\n },\n {\n id: SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO,\n name: props.t(\"panche.modelli.sez_arrotondata_angolo\"),\n dimensioni: \"\",\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Arrotondata+LED+angolo.svg\",\n descrizione: `
${props.t(\"panche.modelli.dimensioni_sez_rettangolare_angolo\")}
${props.t(\"panche.modelli.materiale_eps\")}
`,\n price_euro: {\n price: \"546\",\n price_extra: \"577\",\n materials: [],\n sku: \"sez_arrotondata_angolo_led\",\n voltaggio: null,\n descrizione: \"\"\n }\n }]\n }\n\n const listPancheCustom = [\n {\n id: SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE,\n slug: SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE,\n name: props.t(\"panche.panca_custom_semplice\"),\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare.svg\",\n descrizione: `
${getModelliPancheCustomSezioneRettangolare().map(p => `${p.name}
${p.dimensioni ? `(${p.dimensioni})` : \"\"}
`).join(\"\")}
`,\n },\n {\n id: SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED,\n slug: SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED,\n name: props.t(\"panche.panca_custom_led_rettangolare\"),\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Rettangolare+LED.svg\",\n descrizione: `
${getModelliPancheCustomSezioneRettangolareLuciLed().map(p => `${p.name}
${p.dimensioni ? `(${p.dimensioni})` : \"\"}
`).join(\"\")}
`,\n },\n {\n id: SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED,\n slug: SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED,\n name: props.t(\"panche.panca_custom_led_arrotondata\"),\n img: \"https://s3.eu-central-1.amazonaws.com/steam.effe.it/desktop/Panche/Featured_Custom/Arrotondata+LED.svg\",\n descrizione: `
${getModelliPancheCustomSezioneArrotondataLuciLed().map(p => `${p.name}
${p.dimensioni ? `(${p.dimensioni})` : \"\"}
`).join(\"\")}
`,\n }\n ]\n\n return (\n
\n \n\n \n \n \n
\n {\n setCurrentAccordion(\n currentAccordion === null || currentAccordion !== 0\n ? 0\n : null\n );\n }}\n eventKey=\"0\"\n className=\"w-full\"\n >\n \n \n {props.t(\"panche.standard\")}\n \n
\n {currentAccordion === 0 ? (\n \n ) : (\n \n )}\n
\n
\n \n \n
\n {listPanche.filter(p => p?.acf?.item_relationship?.length > 0).map((panca: TPancaType, indexPanca) => {\n const indexPancaSelected = panche?.panche?.map(p => p.panca.id).indexOf(panca.id)\n const isSelected = indexPancaSelected !== -1\n\n return (\n {\n // return isSelected ? (
\n //

{isSelected ? `${props.t(\"panche.quantita\")}: ${panche!.panche![indexPancaSelected!].quantity}` : null}

\n //
) : null\n // }}\n maxCharDescription={50}\n className={`pt-12 ${indexPanca === listPanche.length - 1 && \"pb-12\"}`}\n image={panca?._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || PLACEHOLDER_IMAGE}\n onClick={async () => {\n if (isSelected) {\n let _panche = panche?.panche || []\n _panche.splice(indexPancaSelected!, 1)\n dispatch(actPanche({\n panche: _panche,\n panca_custom: undefined\n }))\n }\n else {\n dispatch(actGeneral({ appLoading: true }))\n //Download items listino \n let _items: TListinoItemContentType[] = []\n for (let index = 0; index < panca?.acf?.item_relationship?.length; index++) {\n const item = panca?.acf?.item_relationship[index];\n try {\n let _itemData = await getItem(item.ID)\n _items.push(_itemData)\n } catch (error) { }\n }\n //Set info data and select first material is present\n let _pancaMap = pancaMap\n _pancaMap[panca.id] = {\n panca: panca,\n quantity: 1,\n item_listino: _items?.filter(i => Array.isArray(i?.acf?.materials))?.[0] || undefined\n }\n setPancaMap(JSON.parse(JSON.stringify(_pancaMap)))\n\n dispatch(actGeneral({ appLoading: false }))\n openModal(panca.title?.rendered, () => {\n return (
\n\n \n \n {\n let _pancaMap = pancaMap[panca.id]\n _pancaMap.item_listino = item\n setPancaMap(JSON.parse(JSON.stringify(_pancaMap)))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: TListinoItemContentType[] = _items.filter((i) => Array.isArray(i?.acf?.materials))\n return {\n options: response.map((coll: TListinoItemContentType) => {\n return { name: coll.acf?.materials?.[0]?.post_title, ...coll };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n {\n let _pancaMap = pancaMap[panca.id]\n _pancaMap.quantity = item.id\n setPancaMap(JSON.parse(JSON.stringify(_pancaMap)))\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n const response: number[] = [1, 2, 3, 4, 5]\n return {\n options: response.map((coll: number) => {\n return { name: coll, id: coll };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n\n\n \n \n {\n let _panche = panche?.panche || []\n _panche.push(pancaMap[panca.id])\n dispatch(actPanche({\n panche: _panche,\n panca_custom: undefined\n }))\n closeModal()\n }} style={{ paddingTop: 10, paddingBottom: 10 }} />\n \n \n
)\n }, ModalSize.xl)\n }\n\n }}\n classNameImage={\"\"}\n // actionDescription={props.t(\"general.maggiori_dettagli\")}\n // actionOnClick={()=>{\n // openModal(panca?.title.rendered,()=>{\n // return(\n //
\n // )\n // },ModalSize.lg)\n // }}\n />\n );\n })}\n
\n \n
\n\n
\n {\n setCurrentAccordion(\n currentAccordion === null || currentAccordion !== 1\n ? 1\n : null\n );\n }}\n eventKey=\"1\"\n className=\"w-full\"\n >\n \n \n {props.t(\"panche.su_misura\")}\n \n
\n {currentAccordion === 1 ? (\n \n ) : (\n \n )}\n
\n
\n \n \n
\n {listPancheCustom.map((panca_custom: TPancaCustomType, indexPanca) => {\n const isSelected = panche?.panca_custom?.modello?.id == panca_custom.id\n return (\n {\n if (isSelected) {\n dispatch(actPanche({\n panca_custom: undefined\n }))\n //reset temp map\n setPancaCustomMap(new Map())\n } else {\n openModal(panca_custom.name, () => {\n return (
\n \n {(panca_custom.id === SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE ? getModelliPancheCustomSezioneRettangolare() : panca_custom.id === SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED ? getModelliPancheCustomSezioneRettangolareLuciLed() : getModelliPancheCustomSezioneArrotondataLuciLed())\n .map((it: TPancaCustomConfigurationType, indexIt) => {\n\n return (\n \n {\n let _pancaCustomMap = pancaCustomMap\n let qty = (_pancaCustomMap.get(it.id)?.quantity || 0) + 1\n _pancaCustomMap.set(it.id, { panca_custom: it, quantity: qty })\n setPancaCustomMap(JSON.parse(JSON.stringify(_pancaCustomMap)))\n }}\n onMinus={() => {\n let _pancaCustomMap = pancaCustomMap\n let qty = (_pancaCustomMap.get(it.id)?.quantity || 0) - 1\n _pancaCustomMap.set(it.id, { panca_custom: it, quantity: qty })\n setPancaCustomMap(JSON.parse(JSON.stringify(_pancaCustomMap)))\n }} />\n \n )\n })}\n \n \n \n {\n dispatch(actPanche({\n panche: [], // Reset panche standard\n panca_custom: {\n modello: panca_custom,\n configurations: Array.from(pancaCustomMap.values())\n }\n }))\n closeModal()\n }} />\n \n \n
)\n }, ModalSize.lg)\n }\n\n }}\n classNameImage={\"\"}\n />\n );\n })}\n
\n \n \n \n \n \n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n closeInline\n >\n {modalData.content && modalData.content()}\n \n \n );\n}\n\nexport default connect(null, { actPanche, actGeneral })(\n withTranslation()(Panche)\n);\n","import { Form, Spin } from \"antd\";\nimport { Row } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3, Text } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneral, actGeneratoreSetAccessori } from \"../../../../redux/actions\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport { useState } from \"react\";\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport SelectableDetailGridItem from \"../../../../components/GridItem/SelectableDetailGridItem\";\nimport { TAccessorio, TAccessoriStoreState } from \"../../../../redux/reducers/accessori\";\nimport { HEIGHT_SCROLL, LIMIT, PLACEHOLDER_IMAGE, SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED, SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED } from \"../../../../utils/consts\";\nimport { useEffect } from \"react\";\nimport { getAccessori } from \"../../../../network/actions\";\nimport { TFeaturedMediaItemType } from \"../../../../redux/reducers/media\";\nimport { getIdLightHammam, getIdModuleLightHammam } from \"../../../../utils/utils\";\n\nfunction Accessori({ ...props }) {\n const store: TGeneralStore = useStore();\n\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const accessori: TAccessoriStoreState = useSelector(\n (state: TGeneral) => state.accessori\n );\n const [isLoading, setIsLoading] = useState(true);\n\n //InfiniteScroll\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [listAccessori, setListAccessori] = useState([]); \n\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n const [accessoriMap, setAccessoriMap] = useState({});\n\n const openModal = (title: string, content: any, size: any) => {\n setModalData({ title, content, size });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n useEffect(()=>{\n getAccessoriFromAPI()\n },[])\n\n const getAccessoriFromAPI = async () => {\n try {\n setIsLoading(true)\n const data: any = await getAccessori(offset, LIMIT)\n setListAccessori(data)\n setOffset(offset+LIMIT)\n setHasMore(data?.length>0 && data?.length%LIMIT===0)\n setIsLoading(false)\n } catch (err) {\n //TODO: Alert\n setIsLoading(false)\n }\n }\n\n return (\n <>\n \n <>\n {listAccessori.concat(\n (store.getState()?.panche?.panca_custom?.modello?.id === SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED || \n store.getState()?.panche?.panca_custom?.modello?.id === SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED) ? \n [\n {\n id: \"mood-light-hammam\",\n title:{\n rendered:\"Mood light hammam\"\n },\n content:{\n rendered: props.t(\"v5.descrizione_striscia_led_panca\")\n },\n _embedded:{\n \"wp:featuredmedia\":[{source_url:\"https://s3.eu-central-1.amazonaws.com/steam.effe.it/Mood+Light.svg\"} as TFeaturedMediaItemType]\n },\n acf:{\n max_quantity_optional: 7,\n item_relationship:[\n {\n ID:getIdLightHammam(),\n post_title:\"Mood light hammam\",\n multipli_for_quantity_sku: true,\n multiply_price: 100,\n label_quantity: \"cm\"\n },\n {\n ID:getIdModuleLightHammam(),\n post_title:\"Module mood light\",\n multipli_for_quantity_sku: false,\n multiply_price: 1\n }\n ] \n },\n description: props.t(\"v5.descrizione_striscia_led_panca\"),\n slug:\"mood-light-hammam\" \n }\n ] : []\n\n ).map((acc:TAccessorio) => {\n const indexAccessorioSelected = accessori?.accessori?.map(a => a.accessorio.id).indexOf(acc.id)\n const isSelected = indexAccessorioSelected !== -1\n let _options: number[] = [];\n for (let index = 0; index < 7; index++) {\n for (let indexJ = 0; indexJ < 10; indexJ++) {\n _options.push((index*100) + ((indexJ+1)*10));\n }\n }\n\n return(\n 1 ? \"cm\" : \"\"}\n onClick={()=>{\n let _accessori = accessori?.accessori || []\n if(isSelected){\n _accessori.splice(indexAccessorioSelected!,1)\n\n\n let _accessoriMap = accessoriMap\n delete _accessoriMap[acc.id]\n setAccessoriMap(JSON.parse(JSON.stringify(_accessoriMap)))\n\n }else if(!isSelected){\n if(!accessoriMap[acc.id] && acc.acf.max_quantity_optional>1){\n openModal(props.t('general.attenzione'), ()=>{\n return(\n \n )\n },ModalSize.lg)\n }\n else{\n _accessori.push({accessorio: acc,quantity: accessoriMap[acc.id]||1})\n }\n }\n dispatch(actGeneratoreSetAccessori({\n accessori: _accessori\n }))\n }}\n selectQuantityPlaceholder={props.t('accessori.quantita')}\n isVisibleSelectQuantity={!isSelected && acc.acf.max_quantity_optional>1} \n selectQuantity={accessoriMap[acc.id]||0}\n onChangeSelectQuantity={(qty:number)=>{\n let _accessoriMap = accessoriMap\n _accessoriMap[acc.id] = qty\n setAccessoriMap(JSON.parse(JSON.stringify(_accessoriMap)))\n\n\n let _accessori = accessori?.accessori || []\n if(isSelected) _accessori.splice(indexAccessorioSelected!,1)\n _accessori.push({accessorio: acc,quantity: qty})\n dispatch(actGeneratoreSetAccessori({\n accessori: _accessori\n }))\n }}\n />\n )\n })}\n \n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n closeInline\n >\n {modalData.content && modalData.content()}\n \n \n );\n}\n\nexport default connect(null, { actGeneratoreSetAccessori, actGeneral })(\n withTranslation()(Accessori)\n);\n","import { Form } from \"antd\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { actGeneratoreSetVoltaggio } from \"../../../../redux/actions\";\nimport AsyncSelect from \"../../../../components/AsyncSelect\";\nimport TextCell from \"../../../../components/AsyncSelect/TextCell\";\nimport { EVoltaggioType, getLabelEVoltaggioType, getVoltaggiExternal, getVoltaggiInternal, TVoltaggioStoreState } from \"../../../../redux/reducers/voltaggio\";\nimport { EGeneratoreType } from \"../../../../redux/reducers/generatore\";\nimport { SLUG_NUVOLA_SP_110, SLUG_NUVOLA_SP_140, SLUG_NUVOLA_SP_180, SLUG_NUVOLA_SP_250, SLUG_NUVOLA_SP_360, SLUG_NUVOLA_SP_90 } from \"../../../../utils/consts\";\nimport { StepErrorField } from \"../..\";\n\nfunction Voltaggio({ ...props }) {\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n const voltaggio: TVoltaggioStoreState = useSelector(\n (state: TGeneral) => state.voltaggio\n );\n const store: TGeneralStore = useStore();\n\n return (\n
\n \n \n s.id===\"voltaggio\")?.id && \"error-field\"}`}>\n \n {\n dispatch(\n actGeneratoreSetVoltaggio({ voltaggio: val.id })\n );\n }}\n onStyleLabel={(item: any) => {\n return ;\n }}\n loadOptions={async (\n searchQuery: any,\n loadedOptions: any,\n { page }: any\n ) => {\n var response: string[] = store?.getState()?.generatore.tipologia===EGeneratoreType.Esterno ? getVoltaggiExternal() : getVoltaggiInternal()\n if(\n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_90 && \n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_110 && \n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_140 && \n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_180 && \n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_250 && \n store.getState()?.generatore_product?.generatore_model?.slug!==SLUG_NUVOLA_SP_360){\n response = response.filter(g => g !== EVoltaggioType.v208_3ph)\n }\n return {\n options: response?.\n map((val: string) => {\n return { id: val, name: props.t(getLabelEVoltaggioType(val as EVoltaggioType)) };\n }),\n hasMore: false,\n additional: {},\n };\n }}\n />\n \n \n \n
\n );\n}\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general,\n generatore: state.generatore,\n generatore_product: state.generatore_product\n}), { actGeneratoreSetVoltaggio })(\n withTranslation()(Voltaggio)\n);\n","import { FC, useEffect } from \"react\";\nimport { Text } from \"../../Typography\";\nimport { Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { Select } from \"antd\";\nimport { IconEdit } from \"../../Icon\";\nimport tailwindMyConfig from \"../../../tailwind.my.config\";\nimport { isMobile } from \"../../../utils/utils\";\nconst { Option } = Select;\n\ninterface IRiepilogoGridItem extends React.HtmlHTMLAttributes {\n title: string;\n subtitle?: string;\n description?: string;\n descriptionHtml?: any;\n descriptionItems?: any[];\n maxCharDescription?: number;\n onClick?: any;\n actionDescription?: any;\n actionOnClick?: any;\n isQuote?: boolean;\n t?: any;\n disclaimer?: string;\n}\n\nconst RiepilogoGridItem: FC = ({ title, subtitle, description, descriptionItems, descriptionHtml, maxCharDescription, onClick, disclaimer, actionDescription, actionOnClick, isQuote, ...props }: IRiepilogoGridItem) => {\n const _heightCell = isMobile() ? \"auto\" : \"auto\";\n\n useEffect(()=>{\n },[\n descriptionItems\n ])\n return (\n
\n
\n \n \n
\n
\n
\n
\n {title}\n {\n onClick &&\n \n }\n
\n {(subtitle) &&

{String(subtitle).toUpperCase()}

}\n
\n {\n disclaimer ? {disclaimer} : null\n }\n
\n {description ? \n : \n descriptionItems ? descriptionItems.map((ditem:any)=>ditem) : \n null}\n {descriptionHtml &&
}\n
\n
\n {\n actionDescription ? \n \n : null\n }\n
\n
\n
\n \n
\n
\n );\n};\nexport default withTranslation()(RiepilogoGridItem);\n","import { FC } from \"react\";\nimport { Text } from \"../../Typography\";\nimport { Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { IconEdit } from \"../../Icon\";\nimport tailwindMyConfig from \"../../../tailwind.my.config\";\n\ninterface IRiepilogoSimpleGridItem{\n title: string;\n description: string;\n maxCharDescription?: number;\n onClick?: any;\n className?: string;\n style?:any;\n t?: any;\n}\n\nconst RiepilogoSimpleGridItem: FC = ({ title, description, maxCharDescription, className, onClick, style, ...props }: IRiepilogoSimpleGridItem) => {\n return (\n
\n \n

{title}

\n \n \n \n \n \n {\n onClick &&\n \n }\n \n\n \n
\n );\n};\nexport default withTranslation()(RiepilogoSimpleGridItem);\n","import { Spin } from \"antd\";\nimport { FC, useRef } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport tailwindMyConfig from \"../../tailwind.my.config\";\nimport { getLocalization, getValute, Localization } from \"../../utils/utils\";\nimport { IconClose } from \"../Icon\";\nimport { Text } from \"../Typography\";\nimport Lottie from 'react-lottie';\nimport ic_download from \"./../../assets/lottie/download.json\"\ninterface IRiepilogoItem {\n title: any|any[];\n subItems?: {title:string, price: string, valute:string, quantity?: number, label_quantity?: string} [];\n onDelete?: null|(() => void);\n priceUnit?: number|string;\n units?: number|string;\n isMultipleUnits?: boolean;\n isLoadingPrice?: boolean;\n separator?: boolean;\n bold?: boolean;\n valute?: string;\n t?: any;\n image?: string;\n className?: string;\n classNameMainItem?: string;\n classNameImage?: string;\n actionDescription?: any;\n actionOnClick?: any;\n}\n\nconst RiepilogoItem: FC = ({\n title,\n subItems,\n onDelete,\n priceUnit,\n units,\n isMultipleUnits,\n isLoadingPrice,\n valute,\n separator,\n image,\n className,\n classNameMainItem,\n classNameImage,\n actionDescription,\n actionOnClick,\n bold,\n t,\n ...props\n}: IRiepilogoItem) => {\n\n const icDownloadRef:any = useRef();\n const defaultDownloadOptions = {\n loop: false,\n autoplay: false, \n animationData: ic_download,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n };\n\n const WIDTH_ACTION = 30\n return (\n
\n {separator &&
}\n
\n
\n { \n onDelete ?\n onDelete && onDelete()}\n >\n
\n \n
\n \n :\n
\n }\n {title}\n
\n
\n {(isLoadingPrice ?
: \n (priceUnit ? \n
\n {`${priceUnit} ${valute || getValute()}`} \n {isMultipleUnits && {`${isMultipleUnits ? `${units ? `(${units} ${t(\"riepilogo.prezzo_per_unita\")})` : \"\"}` : \"\"}`}}\n
\n : \"\"))}\n
\n
\n {\n (subItems && subItems.length) ?\n
\n {\n subItems.map((sI,sIindex) => {\n return(\n
\n {sI.title}\n {`${sI.price} ${valute || getValute()}`}\n
\n )\n })\n }\n
\n :\n null\n }\n {\n actionDescription &&\n
\n
\n \n
\n }\n\n {\n image && \n \n }\n
\n );\n};\nexport default withTranslation()(RiepilogoItem);\n","import { Form, Input, FormInstance, Spin, InputNumber, message, notification } from \"antd\";\nimport { Row, Col, Spinner } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { connect, useStore } from \"react-redux\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n actGeneratoreSetRiepilogo, actResetStore, actGeneratoreSetOptionals,\n actResetPorteVetrateStandard, actResetPorteVetrateCustom, actGeneratoreSetAccessori, actPanche\n} from \"../../../../redux/actions\";\nimport { useEffect, useState } from \"react\";\nimport {\n EVoltaggioType,\n getLabelEVoltaggioType,\n} from \"../../../../redux/reducers/voltaggio\";\nimport { TCustomerInfo, TRiepilogoPayload, TRiepilogoPayloadData, TRiepilogoStoreState } from \"../../../../redux/reducers/riepilogo\";\nimport FormButton from \"../../../../components/Buttons/FormButton\";\nimport RiepilogoGridItem from \"../../../../components/GridItem/RiepilogoGridItem\";\nimport { IconCopy, IconDownload, IconFrecciaDown, IconFrecciaUp, IconLink, IconRestart, IconSend } from \"../../../../components/Icon\";\nimport tailwindMyConfig from \"../../../../tailwind.my.config\";\nimport RiepilogoSimpleGridItem from \"../../../../components/GridItem/RiepilogoSimpleGridItem\";\nimport { formatPriceForContext, fromMCubiToFeetCubi, getCmFromFtAndInch, getLanguage, getCrmLanguage, getLocalization, getUnitOfMeasure, getUnitOfMeasureMCubiLabel, getValute, isCustomPortaVetrata, isVetroPortaVetroPortaModel, Localization, parseDimension, toPrice, uuidv4, capitalize, toPricePancheCustom, getIdLightHammam } from \"./../../../../utils/utils\"\nimport { useRef } from \"react\";\nimport { PLACEHOLDER_IMAGE, SLUG_TUTTOVETRO_CONTOUR, SLUG_TUTTOVETRO_INSIDE, SLUG_NUVOLA_SP_250, SLUG_NUVOLA_SP_360, SLUG_NUVOLA_SP_110, SLUG_NUVOLA_SP_140, SLUG_NUVOLA_SP_180, SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES } from \"../../../../utils/consts\";\nimport { EKitCoibentazioneModel, TOptionalDetailType, TOptionalQuantity } from \"../../../../redux/reducers/optional\";\nimport { TAccessorioQuantity } from \"../../../../redux/reducers/accessori\";\nimport RiepilogoItem from \"../../../../components/RiepilogoItem\";\nimport { getLabelForESideCerniera, getPricesCustomPortaVetrata, TListinoItemContentType, TListinoItemType } from \"../../../../redux/reducers/porte_vetrate\";\nimport { addRiepilogo, getItem, getKitCoibentazioneWithSlug } from \"../../../../network/actions\";\nimport { CrmLanguage, getAuthInfo, getLangFromWPLocale, Language } from \"../../../../utils/storage\";\nimport { ImgType, StepConfiguratore } from \"../..\";\nimport { getVolume, TGalleryItem } from \"../../../../redux/reducers/generatoreestint\";\nimport { getLabelERivestimentoVanoDoccia, getLabelEStrutturaVanoDoccia } from \"../../../../redux/reducers/struttura_vano_doccia\";\nimport { TPancaCustomConfigurationQuantity, TPancaCustomConfigurationType, TPancaQuantity } from \"../../../../redux/reducers/panche\";\nimport Modal, { ModalSize } from \"../../../../components/Modal\";\nimport currency from \"currency.js\";\n//@ts-ignore\nimport HubspotForm from 'react-hubspot-form'\nimport { EGeneratoreType, getMKitCoibentazione } from \"../../../../redux/reducers/generatore\";\nimport smoothscroll from 'smoothscroll-polyfill';\nimport ActionButton, { IActionButtonType } from \"../../../../components/Buttons/ActionButton\";\nimport InnerLoader from \"../../../../components/InnerLoader\";\nimport { ConfigurationType } from \"../../../../redux/reducers/scelta_configurazione\";\nimport moment from \"moment\";\nimport Overview from \"../../../Overview\";\nimport ReactDOMServer from \"react-dom/server\";\n\ninterface IRiepilogo {\n mainInternalImg: string;\n layerInternalImgs: ImgType[];\n mainExternalImg: string;\n layerExternalImgs: ImgType[];\n header: any;\n imgWizard: any;\n onGoToStep: any;\n t?: any;\n onScrollBody: (top: number) => void;\n}\n\nfunction Riepilogo({ mainInternalImg, layerInternalImgs, mainExternalImg, layerExternalImgs, onScrollBody, ...props }: IRiepilogo) {\n const dispatch = useDispatch();\n const form: React.Ref> | undefined = useRef(null);\n const riepilogo: TRiepilogoStoreState = useSelector(\n (state: TGeneral) => state.riepilogo\n );\n const store: TGeneralStore = useStore();\n const [isLoadingPrices, setIsLoadingPrices] = useState(true);\n\n //URL QUOTE\n const [urlQuote, setUrlQuote] = useState();\n const refUrlQuote = useRef(urlQuote);\n const [uuidQuote, setUuidQuote] = useState();\n const [idQuote, setIdQuote] = useState();\n const [formIsSubmitted, setFormIsSubmitted] = useState(false);\n const [quoteIsGenerated, setQuoteIsGenerated] = useState(false);\n const [customerInfo, setCustomerInfo] = useState(null);\n\n window.HTMLElement.prototype.scrollIntoView = function () { };\n\n const ID_FORM_USA = \"5577cf01-cc64-416d-80dc-28e0659b0a3e\"\n const ID_FORM_ITA = \"41d4ac33-5d51-4baf-bdd6-58f441345b45\"\n const ID_FORM_ENG = \"2a4e813e-79cc-4806-9ae1-fcb151c4e148\"\n const ID_FORM_DE = \"2b66a453-080a-477b-8c12-1ec89fefb027\"\n const ID_FORM_ES = \"08367b21-cbf2-40dc-850a-2d50f3445a59\"\n const ID_FORM_FR = \"11c5bdd0-afe5-4218-ba01-8f8488fab23d\"\n\n useEffect(() => {\n if (refUrlQuote?.current) refUrlQuote.current = urlQuote\n }, [urlQuote])\n\n const formId = getLocalization() === Localization.AMERICA ? ID_FORM_USA :\n (getCrmLanguage() === CrmLanguage.IT || getCrmLanguage() === CrmLanguage.IT_EXPORT) ? ID_FORM_ITA :\n getCrmLanguage() === CrmLanguage.EN ? ID_FORM_ENG :\n getCrmLanguage() === CrmLanguage.DE ? ID_FORM_DE :\n getCrmLanguage() === CrmLanguage.ES ? ID_FORM_ES :\n getCrmLanguage() === CrmLanguage.FR ? ID_FORM_FR :\n ID_FORM_ENG;\n\n //Generatore\n const [listinoGeneratore, setListinoGeneratore] = useState>(new Map())\n const [totalGeneratore, setTotalGeneratore] = useState(0);\n //Optionals\n const [listinoOptionals, setListinoOptionals] = useState>>(new Map())\n const [totalOptionals, setTotalOptionals] = useState(0);\n //Porte & Vetrate\n const [listinoPorteVetrate, setListinoPorteVetrate] = useState([])\n const [listinoPorteVetrateCustom, setListinoPorteVetrateCustom] = useState<{ [key: string]: TListinoItemContentType[] }>({})\n const [totalPorteVetrate, setTotalPorteVetrate] = useState(0);\n const [isLoadingPorteVetrate, setIsLoadingPorteVetrate] = useState();\n //Panche\n const [totalPanche, setTotalPanche] = useState(0);\n //Accessori\n const [listinoAccessori, setListinoAccessori] = useState>>(new Map())\n const [totalAccessori, setTotalAccessori] = useState(0);\n\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n\n const MAX_PERC_DISCOUNT = 50\n\n const getTotal = () => {\n // console.log({totalGeneratore,totalOptionals,totalPorteVetrate,totalPanche,totalAccessori})\n return totalGeneratore + totalOptionals + totalPorteVetrate + totalPanche + totalAccessori\n }\n const getTotalDiscount = () => {\n const perc_discount = store.getState()?.riepilogo?.perc_sconto || 0\n const total_pre_discount = getTotal()\n const total = total_pre_discount - ((total_pre_discount * perc_discount) / 100)\n console.log(`Total: ${total} - discount ${perc_discount}% = ${total} => ${Math.round(total)}`)\n return Math.round(total)\n }\n\n const isConfigurazioneTypeOnlyPorteVetrate = (): boolean => {\n return store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE\n }\n\n const initGeneratore = async () => {\n let _total = 0;\n let _mapItemRelated: Map = new Map()\n\n if (isConfigurazioneTypeOnlyPorteVetrate()) {\n return 0\n }\n\n for (let indexIt = 0; indexIt < (store?.getState()?.generatore_product?.generatore_model?.acf?.item_related || []).length; indexIt++) {\n const item = store.getState()!.generatore_product!.generatore_model!.acf.item_related[indexIt];\n try {\n let _listinoItem: TListinoItemContentType = await getItem(item.ID)\n /**\n * Per EU prendo tutte le voci di listino\n * Per US prendo il generatore con il voltagigo corretto oppure le voci non collegate al voltaggio (es. controcassa)\n */\n console.log(\"Slug: \", _listinoItem?.acf?.descrizione?.toLowerCase())\n console.log(\"Same Volt: \", store.getState()?.voltaggio?.voltaggio?.toString().substr(0, 3) === _listinoItem?.acf?.voltaggio)\n console.log(\"Same P: \", _listinoItem?.acf?.descrizione?.toLowerCase()?.search(store.getState()?.voltaggio?.voltaggio === EVoltaggioType.v208_3ph ? \"3p\" : \"1p\"))\n\n if (getLocalization() !== Localization.AMERICA ||\n !_listinoItem?.acf?.voltaggio || // per voci di listino != al generatore\n (_listinoItem?.acf?.voltaggio && store.getState()?.generatore?.tipologia === EGeneratoreType.Interno && store.getState()?.voltaggio?.voltaggio?.toString() === _listinoItem?.acf?.voltaggio) || // per generatori interni\n ( // per generatori esterni\n _listinoItem?.acf?.voltaggio &&\n store.getState()?.generatore?.tipologia === EGeneratoreType.Esterno &&\n store.getState()?.voltaggio?.voltaggio?.toString().substr(0, 3) === _listinoItem?.acf?.voltaggio &&\n _listinoItem?.acf?.descrizione?.toLowerCase()?.search(store.getState()?.voltaggio?.voltaggio === EVoltaggioType.v208_3ph ? \"3p\" : \"1p\") != -1\n )\n ) {\n const model_slug = store.getState()?.generatore_product?.generatore_model?.slug;\n const is_steam_diffusor = _listinoItem.slug.includes(\"steam-diffuser-counterbox-nuvola-smart-power\");\n let _values: TListinoItemContentType[] = []\n if ((model_slug === SLUG_NUVOLA_SP_250 || model_slug === SLUG_NUVOLA_SP_360) && is_steam_diffusor) {\n _values = [_listinoItem, _listinoItem, _listinoItem, _listinoItem]\n } else if ((model_slug === SLUG_NUVOLA_SP_110 || model_slug === SLUG_NUVOLA_SP_140 || model_slug === SLUG_NUVOLA_SP_180) && is_steam_diffusor) {\n _values = [_listinoItem, _listinoItem]\n } else {\n _values = [_listinoItem]\n }\n _mapItemRelated.set(item.ID, _values)\n _total += toPrice(_listinoItem.acf)\n }\n } catch (error) { }\n }\n if ((getLocalization() === Localization.EUROPA && store.getState()?.struttura_vano_doccia?.kit_coibentazione) ||\n (getLocalization() === Localization.AMERICA && store.getState()?.struttura_vano_doccia?.kit_coibentazione && store.getState()?.struttura_vano_doccia?.add_kit_coibentazione_to_quote)) {\n const _larghezza = getLocalization() === Localization.EUROPA ? store.getState()?.vano_doccia?.larghezza! : getCmFromFtAndInch(store.getState()?.vano_doccia?.larghezza!, store.getState()?.vano_doccia?.larghezza_inc!)\n const _profondita = getLocalization() === Localization.EUROPA ? store.getState()?.vano_doccia?.profondita! : getCmFromFtAndInch(store.getState()?.vano_doccia?.profondita!, store.getState()?.vano_doccia?.profondita_inc!)\n const _altezza = getLocalization() === Localization.EUROPA ? store.getState()?.vano_doccia?.altezza! : getCmFromFtAndInch(store.getState()?.vano_doccia?.altezza!, store.getState()?.vano_doccia?.altezza_inc!)\n\n const _larghezza_porta = Number(store.getState()?.porta_vetrata.modello_porta?.acf?.standard_configuration_fields?.x_axis_door || store.getState()?.porta_vetrata?.larghezza_porta)\n const _altezza_porta = Number(store.getState()?.porta_vetrata.modello_porta?.acf?.standard_configuration_fields?.y_axis_door || store.getState()?.porta_vetrata?.altezza_porta)\n\n const _larghezza_vetrata = Number(store.getState()?.porta_vetrata.modello_vetrata?.acf?.standard_configuration_fields?.x_axis_door || store.getState()?.porta_vetrata?.larghezza_vetrata)\n const _altezza_vetrata = Number(store.getState()?.porta_vetrata.modello_vetrata?.acf?.standard_configuration_fields?.y_axis_door || store.getState()?.porta_vetrata?.altezza_vetrata)\n\n const metri_kit_coibentazione = getMKitCoibentazione(_larghezza, _profondita, _altezza,\n _larghezza_porta || 0,\n _altezza_porta || 0,\n _larghezza_vetrata || 0,\n _altezza_vetrata || 0,\n getLocalization() !== Localization.AMERICA);\n console.log(`Metri kit coibentazione: ${metri_kit_coibentazione}`, {\n _larghezza, _profondita, _altezza,\n _larghezza_porta,\n _altezza_porta,\n _larghezza_vetrata,\n _altezza_vetrata\n })\n let kits: TOptionalDetailType[] = []\n if (getLocalization() !== Localization.AMERICA) {\n if (metri_kit_coibentazione <= 21) { //Base case\n const _kit = await getKitCoibentazioneWithSlug(metri_kit_coibentazione <= 12 ? EKitCoibentazioneModel.KIT_0_12 : metri_kit_coibentazione > 12 && metri_kit_coibentazione <= 15 ? EKitCoibentazioneModel.KIT_12_15 : EKitCoibentazioneModel.KIT_15_21)\n kits.push(_kit[0])\n }\n else if (metri_kit_coibentazione <= 24) {\n //12+12\n const kit_coibentazione_12 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_0_12)\n kits.push(kit_coibentazione_12[0])\n kits.push(kit_coibentazione_12[0])\n } else if (metri_kit_coibentazione <= 27) {\n //12+15\n const kit_coibentazione_12 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_0_12)\n const kit_coibentazione_15 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_12_15)\n kits.push(kit_coibentazione_12[0])\n kits.push(kit_coibentazione_15[0])\n }\n else if (metri_kit_coibentazione <= 30) {\n //15+15\n const kit_coibentazione_15 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_12_15)\n kits.push(kit_coibentazione_15[0])\n kits.push(kit_coibentazione_15[0])\n } else if (metri_kit_coibentazione <= 36) {\n //15+21\n const kit_coibentazione_15 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_12_15)\n const kit_coibentazione_21 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_15_21)\n kits.push(kit_coibentazione_15[0])\n kits.push(kit_coibentazione_21[0])\n } else {\n //21+21 or more\n const kit_coibentazione_21 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_15_21)\n kits.push(kit_coibentazione_21[0])\n kits.push(kit_coibentazione_21[0])\n }\n } else {\n /**\n * Per US:\n * up to 128 SQFT => 11.89 m2 ~~ 12 m2\n * up to 192 SQFT => 17.84 m2 ~~ 18 m2\n * up to 288 SQFT => 26.76 m2 ~~ 27 m2\n * \n * 23,78 (12, 12) NO\n * 29,73 (12, 18)\n * 38,65 (12, 27)\n * 44,6 (18, 27)\n */\n\n if (metri_kit_coibentazione <= 26.76) { //Base case\n const _kit = await getKitCoibentazioneWithSlug(metri_kit_coibentazione <= 11.89 ? EKitCoibentazioneModel.KIT_0_12 : metri_kit_coibentazione > 11.89 && metri_kit_coibentazione <= 17.84 ? EKitCoibentazioneModel.KIT_12_15 : EKitCoibentazioneModel.KIT_15_21)\n kits.push(_kit[0])\n }\n else if (metri_kit_coibentazione <= 29.73) {\n //12+18\n const kit_coibentazione_12 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_0_12)\n const kit_coibentazione_18 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_12_15)\n kits.push(kit_coibentazione_12[0])\n kits.push(kit_coibentazione_18[0])\n } else if (metri_kit_coibentazione <= 38.65) {\n //12+27\n const kit_coibentazione_12 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_0_12)\n const kit_coibentazione_27 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_15_21)\n kits.push(kit_coibentazione_12[0])\n kits.push(kit_coibentazione_27[0])\n } else {\n //18+27 or more\n const kit_coibentazione_18 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_12_15)\n const kit_coibentazione_27 = await getKitCoibentazioneWithSlug(EKitCoibentazioneModel.KIT_15_21)\n kits.push(kit_coibentazione_18[0])\n kits.push(kit_coibentazione_27[0])\n }\n }\n\n console.log(\"KITS\", kits)\n\n //3 casi entro i 21 m\n if (kits.length) {\n for (let index = 0; index < kits.length; index++) {\n try {\n const item_id = kits[index]?.acf?.item_relationship?.[0]?.ID;\n let _listinoItem: TListinoItemContentType = await getItem(item_id)\n if (_mapItemRelated.has(item_id)) {\n _mapItemRelated.set(item_id, _mapItemRelated.get(item_id)!.concat([_listinoItem]))\n } else {\n _mapItemRelated.set(item_id, [_listinoItem])\n }\n\n _total += toPrice(_listinoItem.acf)\n } catch (error) { }\n }\n }\n }\n\n for (const optionalForProduct of (store?.getState()?.generatore_product?.optionalsForModel||[])) {\n for (const item_relationship of optionalForProduct.optional.acf.item_relationship) {\n const item_id = item_relationship.ID;\n let _listinoItem: TListinoItemContentType = await getItem(item_id)\n _listinoItem = {..._listinoItem, title: {\n ..._listinoItem.title,\n rendered: `${_listinoItem.title.rendered}`\n }}\n console.log(\"OptionalForProduct\",optionalForProduct.optional.name , item_id)\n if (_mapItemRelated.has(item_id)) {\n _mapItemRelated.set(item_id, _mapItemRelated.get(item_id)!.concat([_listinoItem]))\n } else {\n _mapItemRelated.set(item_id, [_listinoItem])\n }\n _total += toPrice(_listinoItem.acf)\n }\n }\n\n console.log(`setListinoGeneratore: ${JSON.stringify({_mapItemRelated})}`)\n setListinoGeneratore(_mapItemRelated)\n setTotalGeneratore(_total)\n }\n const initPorteVetrate = async () => {\n setIsLoadingPorteVetrate(true)\n\n //Selezionata porta standard\n if (store!.getState()!.porta_vetrata?.porta_listino) {\n let _total = 0;\n let _list: TListinoItemContentType[] = []\n\n //Viene selezionata esattamente la voce di listino della porta\n const _pListinoItems = store!.getState()!.porta_vetrata?.porta_listino || []\n for (let pListIndex = 0; pListIndex < _pListinoItems.length; pListIndex++) {\n const _pListinoItem = _pListinoItems[pListIndex];\n _total += toPrice(_pListinoItem?.acf)\n _list.push(_pListinoItem)\n }\n\n //Vetrata\n for (let indexIt = 0; indexIt < (store!.getState()?.porta_vetrata?.modello_vetrata?.acf?.item_relationship || []).length; indexIt++) {\n const item = store!.getState()?.porta_vetrata?.modello_vetrata!.acf!.item_relationship[indexIt];\n try {\n let _listinoItem = await getItem(item.ID)\n _list.push(_listinoItem)\n _total += toPrice(_listinoItem.acf)\n } catch (error) { }\n }\n\n setListinoPorteVetrate(_list)\n setTotalPorteVetrate(_total)\n }\n //Selezionata porta custom\n else if (store!.getState()!.porta_vetrata?.porta_prodotto) {\n let _total = 0;\n\n const pricingPortaVetrata = getPricesCustomPortaVetrata(store!.getState()!.porta_vetrata)\n console.log(\"pricingPortaVetrata\", pricingPortaVetrata)\n Object.values(pricingPortaVetrata).forEach(pricingPortaVetrataItem => {\n _total += pricingPortaVetrataItem.map(a => toPrice(a.acf)).reduce((a, b) => a + b, 0)\n });\n setListinoPorteVetrateCustom(pricingPortaVetrata)\n setTotalPorteVetrate(_total)\n }\n\n setIsLoadingPorteVetrate(false)\n }\n const initOptionals = async () => {\n let _total = 0;\n let _mapOptionals: Map> = new Map()\n if (Array.isArray(store?.getState()?.optional?.optionals)) {\n for (let index = 0; index < store.getState()!.optional!.optionals!.length; index++) {\n const optional = store.getState()!.optional!.optionals![index];\n let _listinoItems: Array = []\n for (let indexIt = 0; indexIt < (optional?.optional?.acf?.item_relationship || []).length; indexIt++) {\n const item = optional?.optional?.acf?.item_relationship[indexIt];\n try {\n let _listinoItem = await getItem(item.ID)\n _listinoItems.push(_listinoItem)\n _total += toPrice(_listinoItem.acf)\n } catch (error) { }\n }\n _mapOptionals.set(optional?.optional?.id, _listinoItems)\n }\n }\n setListinoOptionals(_mapOptionals)\n setTotalOptionals(_total)\n }\n const initPanchine = async () => {\n let _total = 0;\n if (store!.getState()!.panche?.panche && store!.getState()!.panche?.panche?.length) {\n store!.getState()!.panche!.panche!.forEach(p => {\n _total += ((p.quantity || 1) * toPrice(p.item_listino?.acf))\n });\n } else if (store!.getState()!.panche?.panca_custom) {\n store!.getState()!.panche?.panca_custom?.configurations.forEach(c => {\n _total += ((c.quantity || 1) * toPricePancheCustom(c.panca_custom!.price_euro))\n });\n }\n setTotalPanche(_total)\n }\n const initAccessories = async () => {\n let _total = 0;\n let _mapAccessori: Map> = new Map()\n if (Array.isArray(store?.getState()?.accessori?.accessori)) {\n for (let index = 0; index < store.getState()!.accessori!.accessori!.length; index++) {\n const accessorio = store.getState()!.accessori!.accessori![index];\n let _listinoItems: Array = []\n for (let indexIt = 0; indexIt < (accessorio?.accessorio?.acf?.item_relationship || []).length; indexIt++) {\n const item = accessorio?.accessorio?.acf?.item_relationship[indexIt];\n try {\n let _listinoItem = await getItem(item.ID)\n _listinoItems.push({ ..._listinoItem, multipli_for_quantity_sku: item?.multipli_for_quantity_sku, label_quantity: item?.label_quantity })\n let sub_total = (toPrice(_listinoItem.acf) * (item?.multipli_for_quantity_sku ? (item?.ID === getIdLightHammam() ? accessorio.quantity / 100 : accessorio.quantity) : 1))\n _total += sub_total\n } catch (error) { }\n }\n _mapAccessori.set(accessorio?.accessorio?.id, _listinoItems)\n }\n }\n setListinoAccessori(_mapAccessori)\n console.log(\"TOTAL_ACC\", _total)\n setTotalAccessori(_total)\n }\n\n const initRiepilogo = async () => {\n console.log(`RIEPILOGO CON PREZZI DI LISTINO ${getAuthInfo()?.crm_language}`)\n setIsLoadingPrices(true)\n await initGeneratore()\n await initOptionals()\n await initPorteVetrate() //no US\n await initPanchine() //no US\n await initAccessories()\n setIsLoadingPrices(false)\n }\n\n useEffect(() => {\n initRiepilogo()\n\n smoothscroll.polyfill();\n\n // LINK\n const uuid_quote = uuidv4();\n setUuidQuote(uuid_quote)\n }, [])\n\n\n\n useEffect(() => {\n initOptionals()\n }, [store?.getState()?.optional])\n useEffect(() => {\n initPorteVetrate()\n }, [store!.getState()?.porta_vetrata])\n useEffect(() => {\n initPanchine()\n }, [store!.getState()?.panche])\n useEffect(() => {\n initAccessories()\n }, [store!.getState()?.accessori])\n\n\n const openModal = (title: string, content: any, size: any, fullScreen: boolean) => {\n setModalData({ title, content, size, fullScreen });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n\n const getMainImageGeneratore = (): string => {\n return store?.getState()?.generatore_product?.generatore_product?.acf?.steam_image?.url || \"\"\n }\n const getTitleGeneratore = () => {\n return props.t(\"v3.generatore.riepilogo.title\")//store?.getState()?.generatore_product?.generatore_product?.title?.rendered?.replace(\"#038;\",\"\")||\"\"\n }\n const getTitleOptional = (opt: TOptionalQuantity): TListinoItemContentType[] => {\n return listinoOptionals.get(opt.optional?.id)?.map(t => {\n return {...t, title: { ...t.title, rendered: opt?.optional?.slug===SLUG_OPTIONAL_STEAM_DIFFUSER_FINISHES ? (opt?.variant||\"\") : t?.title?.rendered}}\n }) || []\n }\n const getMainImageOptional = (): string[] => {\n return store!.getState()!.optional?.optionals?.map(optional => optional?.optional?._embedded?.[\"wp:featuredmedia\"]?.[0].source_url) || []\n }\n const getTitleAccessorio = (acc: TAccessorioQuantity): TListinoItemContentType[] => {\n return listinoAccessori.get(acc.accessorio?.id)?.map(t => t) || []\n }\n const getMainImageAccessori = (): string[] => {\n return store!.getState()!.accessori?.accessori?.map(a => a.accessorio?._embedded?.[\"wp:featuredmedia\"]?.[0].source_url) || []\n }\n const getMainImagePanche = () => {\n return (store!.getState()!.panche?.panca_custom ?\n store!.getState()!.panche?.panca_custom?.configurations?.map(c => c?.panca_custom?.img) :\n store!.getState()!.panche?.panche?.map(p => p.panca?._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url))\n }\n const getTitlePortaCustom = (c: TPancaCustomConfigurationType | undefined) => {\n return `${c?.id} | ${c?.name} ${c?.dimensioni ? `(${c?.dimensioni})` : \"\"}`\n }\n const getPricePancaCustom = (c: TPancaCustomConfigurationQuantity) => {\n return toPricePancheCustom(c?.panca_custom!.price_euro)\n }\n const getPricePancaStd = (p: TPancaQuantity) => {\n return toPrice(p?.item_listino!.acf)\n }\n const getPricePortaVetrata = (pv: TListinoItemContentType) => {\n return toPrice(pv.acf)\n }\n const getMainImagePortaVetrata = (): string[] => {\n const _imgPorta = store!.getState()!.porta_vetrata?.porta_prodotto?._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || \"\"\n const _imgVetrata = store!.getState()!.porta_vetrata?.modello_vetrata?._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url\n return [_imgPorta].concat(_imgVetrata ? [_imgVetrata] : [])\n }\n const getDimensioneBoxDoccia = () => {\n return `${(`${store.getState()?.vano_doccia?.larghezza || 0}`)}${getUnitOfMeasure().toLowerCase()} x ${(`${store.getState()?.vano_doccia?.profondita || 0}`)}${getUnitOfMeasure().toLowerCase()} x ${(`${store.getState()?.vano_doccia?.altezza || 0}`)}${getUnitOfMeasure().toLowerCase()}`\n }\n const getVolumeBoxDocciaCm = () => {\n const m3 = getVolume(store.getState()!.vano_doccia);\n return getLocalization() === Localization.AMERICA ? Math.round(fromMCubiToFeetCubi(m3)) : m3\n }\n const getVolumeBoxDoccia = () => {\n return `${getVolumeBoxDocciaCm()} ${props.t(getUnitOfMeasureMCubiLabel())}`\n }\n const getStrutturaVano = () => {\n return props.t(getLabelEStrutturaVanoDoccia(store.getState()?.struttura_vano_doccia.struttura!))\n }\n const getRivestimentoVano = () => {\n return props.t(getLabelERivestimentoVanoDoccia(store.getState()?.struttura_vano_doccia.rivestimento!))\n }\n const getKitCoibentazione = () => {\n return (!!store.getState()?.struttura_vano_doccia.kit_coibentazione ? \"YES\" : \"NO\")\n }\n const getAddKitCoibentazioneToQuote = () => {\n return (!!store.getState()?.struttura_vano_doccia.add_kit_coibentazione_to_quote ? \"YES\" : \"NO\")\n }\n const getVoltaggio = () => {\n return props.t(getLabelEVoltaggioType(store.getState()?.voltaggio.voltaggio!))\n }\n\n const getDetailCustomPorta = () => {\n if (isCustomPortaVetrata(store!.getState()!.porta_vetrata?.porta_prodotto?.slug || \"\")) {\n let _blocks = [\n `${store!.getState()!.porta_vetrata?.materiale?.title?.rendered}`,\n `${props.t(\"porte_vetrate.dim_porta\")}: ${store!.getState()!.porta_vetrata?.larghezza_porta} x ${store!.getState()!.porta_vetrata?.altezza_porta} h`\n ]\n if (store!.getState()!.porta_vetrata?.versione) {\n _blocks.push(`${props.t(getLabelForESideCerniera(store!.getState()!.porta_vetrata?.versione))}`)\n }\n if (store.getState()?.vetrate?.quantita === 2 && !isVetroPortaVetroPortaModel(store.getState().porta_vetrata.modello_porta!)) {\n _blocks.push(`${props.t(\"porte_vetrate.dim_vetrata\")}: ${store!.getState()!.porta_vetrata?.larghezza_vetrata} x ${store!.getState()!.porta_vetrata?.altezza_vetrata} h`)\n }\n if (store!.getState()!.porta_vetrata?.porta_prodotto?.slug === SLUG_TUTTOVETRO_INSIDE) {\n _blocks.push(props.t(\"v2.price_compreso_controtelaio_incasso\"))\n }\n\n return _blocks;\n } else {\n return []\n }\n }\n\n async function writeDataToClipboard(text: string) {\n try {\n let result = await navigator.clipboard.writeText(text);\n notification[\"success\"]({\n message: props.t(\"v2.link_copiato\")\n })\n } catch (error) {\n console.log(`Error copy to clip`, error)\n }\n }\n\n\n\n // Hacky equivalent of $().change()\n // http://youmightnotneedjquery.com/#trigger_native\n const jqueryChange = (elem: any) => {\n const event = document.createEvent('HTMLEvents')\n event.initEvent('change', true, false)\n elem.dispatchEvent(event)\n }\n\n const setInputValue = (form: any, inputName: any, value: any) => {\n const input = form?.[inputName]\n if (input) {\n input.value = value\n jqueryChange(input)\n }\n }\n const getInputValue = (form: any, inputName: any) => {\n const input = form?.[inputName]\n return input?.value;\n }\n\n useEffect(() => {\n window.addEventListener('message', handlerSubmitForm);\n window.addEventListener('message', handlerBeforeSubmitForm);\n return () => {\n window.removeEventListener('message', handlerSubmitForm);\n window.removeEventListener('message', handlerBeforeSubmitForm);\n }\n }, [])\n\n function handlerBeforeSubmitForm(event: any) {\n if (event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmit') {\n console.log(\"[HUBSPOT] onFormSubmit\")\n //@ts-ignore\n const form = document.forms[`hsForm_${formId}`]\n if (form) {\n setCustomerInfo({\n firstname: getInputValue(form, \"firstname\"),\n lastname: getInputValue(form, \"lastname\"),\n company_name: getInputValue(form, \"0-2/name\"),\n city: getInputValue(form, \"city\"),\n country: getInputValue(form, \"country\"),\n riferimento_nome_del_progetto: getInputValue(form, \"riferimento_nome_del_progetto\"),\n commenti_per_l_acquirente: getInputValue(form, \"commenti_per_l_acquirente\")\n })\n }\n }\n }\n\n const goToPrevStep = (onOk: any) => {\n openModal(props.t(\"general.attenzione\"),\n () => {\n return (
\n

\n {props.t(\"v3.torna_step\")}\n

\n {\n onOk && onOk()\n closeModal()\n }} className=\"mt-4\" />\n
)\n }, ModalSize.lg, false)\n }\n\n useEffect(() => {\n if (formIsSubmitted) {\n submitQuote()\n }\n }, [formIsSubmitted])\n\n const getIdQuote = (company_name: string | undefined, first_name: string | undefined, last_name: string | undefined, riferimento_nome_del_progetto: string | undefined) => {\n return encodeURIComponent(`${moment().format(\"YYMMDD\")}-${company_name ? `${company_name}` : `${first_name}-${last_name}`}${riferimento_nome_del_progetto ? `-${riferimento_nome_del_progetto}` : \"\"}-${moment().format(\"HHmm\")}`)\n }\n const getUrlQuote = (id_quote: string) => {\n const _host = window.location.hostname === \"localhost\" ? `${window.location.hostname}:3000` : window.location.hostname\n return `${window.location.protocol}//${_host}/overview/${id_quote}`\n }\n\n const submitQuote = async () => {\n try {\n let link_quote = \"\"\n let id_quote = getIdQuote(customerInfo?.company_name, customerInfo?.firstname, customerInfo?.lastname, customerInfo?.riferimento_nome_del_progetto)\n if (!quoteIsGenerated) {\n const payload: TRiepilogoPayload = {\n uuid: uuidQuote!,\n link: id_quote,\n data: {\n generatore: {\n subtotal: `${formatPriceForContext(totalGeneratore)}`,\n images: [getMainImageGeneratore()] || [],\n name: getTitleGeneratore(),\n model_items:\n Array.from(listinoGeneratore.values()).sort((a, b) => toPrice(b?.[0]?.acf) - toPrice(a?.[0]?.acf)).map(its => {\n const it = its[0]\n return ({\n name: it?.title?.rendered?.replaceAll(\"#038;\", \"\"),\n price: `${formatPriceForContext(toPrice(it?.acf) * (its.length || 1))}`,\n units: its.length\n })\n })\n },\n optionals: {\n subtotal: `${formatPriceForContext(totalOptionals)}`,\n images: getMainImageOptional() || [],\n optionals: store.getState()?.optional?.optionals?.map(opt => {\n return ({\n name: opt.optional?.title?.rendered,\n price: ``,\n subitems: (getTitleOptional(opt) || []).map((z) => {\n return (\n {\n name: z?.title?.rendered,\n price: `${formatPriceForContext(toPrice(z.acf))}`\n }\n )\n })\n })\n })\n },\n porte_vetrate: {\n subtotal: `${formatPriceForContext(totalPorteVetrate)}`,\n images: getMainImagePortaVetrata() || [],\n isCustom: isCustomPortaVetrata(store!.getState()!.porta_vetrata?.porta_prodotto?.slug || \"\"),\n custom_extra_info: getDetailCustomPorta(),\n numParetiVetrata: store!.getState()!.vetrate.quantita,\n custom_items: Object.keys(listinoPorteVetrateCustom).map((keyPvCustom, indexPv) => {\n return ({\n title: listinoPorteVetrateCustom?.[keyPvCustom]?.[0]?.title?.rendered,\n subItems: getSubItemsPortaVetrataCustom(keyPvCustom)\n })\n }),\n model_items: isCustomPortaVetrata(store!.getState()!.porta_vetrata?.porta_prodotto?.slug || \"\") ? [] : listinoPorteVetrate.sort((a, b) => getPricePortaVetrata(b) - getPricePortaVetrata(a)).map(pv => {\n return ({\n name: pv.title?.rendered,\n price: `${formatPriceForContext(getPricePortaVetrata(pv))}`,\n })\n })\n },\n panche: {\n subtotal: `${formatPriceForContext(totalPanche)}`,\n images: getMainImagePanche() || [],\n panche: store!.getState()!.panche?.panca_custom ?\n store!.getState()!.panche?.panca_custom?.configurations.map(c => {\n return ({\n name: getTitlePortaCustom(c.panca_custom),\n units: c.quantity,\n price: `${formatPriceForContext(getPricePancaCustom(c) * (c.quantity || 1))}`\n })\n })\n :\n store!.getState()!.panche?.panche?.map(p => {\n return ({\n name: p?.item_listino?.title?.rendered,\n unit: p?.quantity,\n price: formatPriceForContext(getPricePancaStd(p) * (p?.quantity || 1))\n })\n })\n },\n accessori: {\n subtotal: `${formatPriceForContext(totalAccessori)}`,\n images: getMainImageAccessori() || [],\n accessori: store.getState()?.accessori?.accessori?.map(a => {\n return ({\n name: a.accessorio?.title?.rendered,\n price: ``, //${formatPriceForContext(getPriceForAccessorio(a))}\n quantity: a.quantity || 1,\n subitems: (getTitleAccessorio(a) || []).map((z) => {\n return (\n {\n name: z?.title?.rendered,\n price: `${formatPriceForContext(toPrice(z.acf) * (z.multipli_for_quantity_sku ? (a.quantity / 100) : 1))}`,\n multipli_for_quantity_sku: z.multipli_for_quantity_sku,\n label_quantity: z.multipli_for_quantity_sku && z.label_quantity ? z.label_quantity : \"\"\n }\n )\n })\n })\n })\n },\n info_tecniche: {\n dimensione_box: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getDimensioneBoxDoccia(),\n volume: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getVolumeBoxDoccia(),\n volt: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getVoltaggio(),\n kit_coibentazione: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getKitCoibentazione(),\n add_kit_coibentazione_to_quote: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getAddKitCoibentazioneToQuote(),\n rivestimento: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getRivestimentoVano(),\n struttura: isConfigurazioneTypeOnlyPorteVetrate() ? undefined : getStrutturaVano()\n }\n } as TRiepilogoPayloadData,\n type_configuration: store.getState()?.scelta_configurazione?.type,\n language: getLangFromWPLocale() || \"en\",\n localization: getLocalization(),\n price: getTotal(),\n price_discounted: getTotalDiscount(),\n percentual_discount: store.getState()?.riepilogo?.perc_sconto || 0,\n valute: getValute(),\n timestamp: new Date().getTime(),\n customer_info: customerInfo,\n version: \"4\", //rework May 2022 (configurazione solo porte e vetrate)\n mainInternalImg,\n layerInternalImgs,\n mainExternalImg,\n layerExternalImgs\n\n }\n await addRiepilogo(id_quote, payload)\n setIdQuote(id_quote)\n link_quote = getUrlQuote(id_quote)\n setUrlQuote(link_quote)\n\n setQuoteIsGenerated(true)\n writeDataToClipboard(link_quote!)\n } else {\n writeDataToClipboard(urlQuote!)\n }\n document.getElementById(\"riepilogo-view\")?.scrollTo({\n top: document.getElementById(\"form-costi\")?.offsetTop,\n behavior: 'smooth',\n })\n\n } catch (error) {\n notification[\"error\"]({\n message: props.t(\"\") //TODO:\n })\n }\n }\n\n function handlerSubmitForm(event: any) {\n if (event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted') {\n setFormIsSubmitted(true);\n }\n }\n\n let infoLabels: any[] = []\n let values: any[] = []\n let infoOnClicks: any[] = []\n\n if (!isConfigurazioneTypeOnlyPorteVetrate()) {\n infoLabels = [props.t(\"v2.dim_box_doccia\"), props.t(\"v2.volume\"), props.t(\"vanodoccia_struttura.rivestimento.title\")]\n values = [getDimensioneBoxDoccia(), getVolumeBoxDoccia(), getRivestimentoVano()]\n infoOnClicks = [() => props.onGoToStep(StepConfiguratore.VanoDoccia), () => props.onGoToStep(StepConfiguratore.VanoDoccia),\n () => props.onGoToStep(StepConfiguratore.StrutturaVanoDoccia)]\n if (getLocalization() === Localization.EUROPA) {\n infoLabels.push(props.t(\"vanodoccia_struttura.struttura.title\"))\n values.push(getStrutturaVano())\n infoOnClicks.push(() => props.onGoToStep(StepConfiguratore.StrutturaVanoDoccia))\n }\n if (getLocalization() === Localization.AMERICA) {\n infoLabels = infoLabels.concat([props.t(\"vanodoccia_struttura.kit_coibentazione.modal.title\"), props.t(\"voltaggio.titolo\")])\n values = values.concat([getKitCoibentazione(), getVoltaggio()])\n infoOnClicks = infoOnClicks.concat([() => props.onGoToStep(StepConfiguratore.StrutturaVanoDoccia), () => props.onGoToStep(StepConfiguratore.Voltaggio)])\n }\n }\n\n\n if (isCustomPortaVetrata(store!.getState()!.porta_vetrata?.porta_prodotto?.slug || \"\")) {\n\n infoLabels = infoLabels.concat([`${props.t(\"porte_vetrate.titolo\")}`])\n values = values.concat([getDetailCustomPorta().join(\" - \")])\n infoOnClicks = infoOnClicks.concat([() => props.onGoToStep(StepConfiguratore.PorteVetrate)])\n }\n\n const getSubItemsPortaVetrataCustom = (key: string): { title: string, price: string, valute: string }[] => {\n return listinoPorteVetrateCustom[key]?.map(it => {\n return ({\n valute: getValute(),\n price: formatPriceForContext(toPrice(it.acf)),\n title: `${it.acf?.sku} | ${it.title.rendered}`.split(\"-\")?.[0].toUpperCase()\n })\n })\n }\n\n return (\n {\n onScrollBody(e.target?.scrollTop)\n }}>\n \n
\n {props?.header()}\n \n\n\n \n \n {\n !isConfigurazioneTypeOnlyPorteVetrate() &&\n
\n
]\n :\n Array.from(listinoGeneratore.values()).sort((a: TListinoItemContentType[], b: TListinoItemContentType[]) => {\n return toPrice(b[0].acf) - toPrice(a[0].acf)\n }).map((its: TListinoItemContentType[], indexIt) => {\n const it = its[0]\n return (\n 1}\n bold={true}\n title={it?.title?.rendered?.replaceAll(\"#038;\", \"\")?.toUpperCase()}\n priceUnit={formatPriceForContext(toPrice(it.acf) * its.length)}\n units={its.length}\n isMultipleUnits={its.length > 1}\n isLoadingPrice={!listinoGeneratore.has(it?.id)}\n image={indexIt === 0 ? getMainImageGeneratore() : \"\"}\n actionDescription={indexIt === 0 && props.t(\"riepilogo.download_documentazione\")}\n actionOnClick={() => {\n if (indexIt !== 0) return;\n const _documents = store!.getState()!.generatore_product!.generatore_product?.acf.documents_related_collection_group\n if (_documents && Array.isArray(_documents)) {\n openModal(`${props.t(\"riepilogo.download_documentazione\")} - ${getTitleGeneratore()}` || props.t(\"riepilogo.download_documentazione\"),\n () => {\n return (
\n {_documents.map(d => {\n return ()\n })}\n
)\n }, ModalSize.lg, false)\n }\n\n\n }}\n />\n )\n }).concat(\n store!.getState()!.struttura_vano_doccia.add_kit_coibentazione_to_quote === false ?\n [\n

\n {\"We recommend to insulate your walls before the waterproofing. Several different brands have solutions for Steam Shower/Steam Room. Check the best solution with your tile contractor.The steam generator has been sized assuming that you’re installing a thermal insulation on your walls\"}\n

\n ]\n : []\n )\n }\n\n onClick={() => {\n goToPrevStep(() => props.onGoToStep(StepConfiguratore.GeneratoreEstInt))\n }}\n\n />\n
\n }\n {\n (store!.getState()!.optional?.optionals || []).length > 0 &&\n
\n {\n goToPrevStep(() => props.onGoToStep(StepConfiguratore.Optional))\n }}\n descriptionItems={store!.getState()!.optional!.optionals!.map((opt: TOptionalQuantity, indexIt) => {\n return (\n {\n return (\n {\n title: z?.title?.rendered,\n price: formatPriceForContext(toPrice(z.acf)),\n valute: getValute()\n }\n )\n })}\n isLoadingPrice={!listinoOptionals.has(opt.optional?.id)}\n onDelete={(formIsSubmitted || !!opt.disableDelete) ? null : () => {\n const indexOptionalSelected = store!.getState()?.optional?.optionals?.map(o => o.optional.id).indexOf(opt.optional.id)\n let _optionals = store!.getState()?.optional?.optionals || []\n if (indexOptionalSelected !== -1) {\n _optionals.splice(indexOptionalSelected!, 1)\n dispatch(actGeneratoreSetOptionals({\n optionals: _optionals\n }))\n }\n }} />\n )\n })} />\n
\n }\n\n {\n (store!.getState()!.porta_vetrata?.porta_listino || store!.getState()!.porta_vetrata?.porta_prodotto) &&\n
\n {\n goToPrevStep(() => props.onGoToStep(StepConfiguratore.PorteVetrate))\n }}\n descriptionItems={\n isLoadingPorteVetrate ?\n [
]\n :\n store!.getState()!.porta_vetrata?.porta_listino ? [\n listinoPorteVetrate.sort((pvA, pvB) => {\n return (getPricePortaVetrata(pvB) - getPricePortaVetrata(pvA))\n }).map((pv, indexPv) => {\n return (\n 0}\n title={pv?.title?.rendered}\n priceUnit={formatPriceForContext(getPricePortaVetrata(pv))}\n isLoadingPrice={listinoPorteVetrate.map(pvcurr => pvcurr?.id).indexOf(pv?.id) === -1}\n />\n )\n })\n ] : store!.getState()!.porta_vetrata?.porta_prodotto ? [\n Object.keys(listinoPorteVetrateCustom).map((keyPvCustom, indexPv) => {\n return (\n 1}\n title={listinoPorteVetrateCustom?.[keyPvCustom]?.[0]?.title?.rendered}\n subItems={getSubItemsPortaVetrataCustom(keyPvCustom)}\n />\n )\n })\n ] : []\n } />\n
\n }\n\n {//La custom ha i prezzi solo in euro\n ((store!.getState()!.panche?.panche || []).length > 0 || store!.getState()!.panche?.panca_custom) &&\n
\n {\n goToPrevStep(() => props.onGoToStep(StepConfiguratore.Panche))\n }}\n descriptionItems={\n store!.getState()!.panche?.panca_custom ?\n store!.getState()!.panche?.panca_custom?.configurations.map((c, indexPan) => {\n return (\n 0}\n className={`${indexPan === 0 && \"mt-3\"}`}\n classNameMainItem={\"py-3\"}\n priceUnit={formatPriceForContext(getPricePancaCustom(c) * (c?.quantity || 1))}\n isMultipleUnits\n onDelete={formIsSubmitted ? null : () => {\n const indexPancaSelected = store!.getState()?.panche?.panca_custom?.configurations?.map(currP => currP.panca_custom?.id).indexOf(c.panca_custom?.id)\n let _configurations = store!.getState()?.panche?.panca_custom?.configurations || []\n if (indexPancaSelected !== -1) {\n if (_configurations.length > 1) {\n _configurations.splice(indexPancaSelected!, 1)\n dispatch(actPanche({\n panca_custom: {\n ...store!.getState()!.panche!.panca_custom!,\n configurations: _configurations\n }\n }))\n } else {\n dispatch(actPanche({\n panca_custom: undefined\n }))\n }\n }\n\n }} />\n )\n })\n :\n store!.getState()!.panche?.panche?.map((p, indexPan) => {\n return (\n 0}\n className={`${indexPan === 0 && \"mt-3\"}`}\n classNameMainItem={\"py-3\"}\n units={p?.quantity}\n priceUnit={formatPriceForContext(getPricePancaStd(p) * (p?.quantity || 1))}\n onDelete={formIsSubmitted ? null : () => {\n let indexSelected = store!.getState()?.panche?.panche?.map(currP => currP.panca?.id).indexOf(p.panca?.id)\n let _panche = store!.getState()?.panche?.panche || []\n if (indexSelected !== -1) {\n _panche.splice(indexSelected!, 1)\n dispatch(actPanche({\n panche: _panche\n }))\n }\n }} />\n )\n })\n } />\n
\n }\n\n\n {\n (store!.getState()!.accessori?.accessori || []).length > 0 &&\n
\n {\n goToPrevStep(() => props.onGoToStep(StepConfiguratore.Accessori))\n }}\n descriptionItems={store!.getState()!.accessori!.accessori!.map((acc: TAccessorioQuantity, indexIt) => {\n return (\n 1 && !acc.accessorio?.acf?.item_relationship?.filter(i => i?.multipli_for_quantity_sku === true).length}\n className={`py-3 ${indexIt === 0 && \"mt-2\"}`}\n subItems={\n (getTitleAccessorio(acc) || []).map((z, indexOptList) => {\n console.log(\">>>\", z.slug)\n return (\n {\n title: `${z?.title?.rendered}${z.label_quantity ? ` (${acc.quantity} ${z.label_quantity})` : \"\"}`,\n price: formatPriceForContext(toPrice(z.acf) * (z.multipli_for_quantity_sku ? (acc.quantity / 100) : 1)),\n valute: getValute(),\n quantity: z.multipli_for_quantity_sku ? acc.quantity : 1,\n label_quantity: undefined//z.label_quantity\n }\n )\n })\n }\n // priceUnit={formatPriceForContext((getPriceForAccessorio(acc) || 1) )}\n isLoadingPrice={!listinoAccessori.has(acc.accessorio?.id)}\n onDelete={formIsSubmitted ? null : () => {\n const indexAccessorioSelected = store!.getState()?.accessori?.accessori?.map(a => a.accessorio.id).indexOf(acc.accessorio.id)\n let _accessori = store!.getState()?.accessori?.accessori || []\n if (indexAccessorioSelected !== -1) {\n _accessori.splice(indexAccessorioSelected!, 1)\n dispatch(actGeneratoreSetAccessori({\n accessori: _accessori\n }))\n }\n }} />\n )\n })} />\n
\n }\n\n\n \n
\n\n closeModal()}\n visible={modalIsOpen}\n size={modalData.size}\n closeInline\n contentClassName={modalData.fullScreen ? \"pdf-viewer\" : \"\"}\n fullscreen={modalData.fullScreen}\n >\n {modalData.content && modalData.content()}\n \n \n \n \n {props?.imgWizard()}\n
\n \n\n
\n {\n infoLabels.map((label, indexLabel) => {\n return (\n {\n goToPrevStep(() => infoOnClicks[indexLabel]())\n }}\n className={`py-4 ${indexLabel < infoLabels.length - 1 && \"border-b-half border-solid border-divider\"}`}\n />\n )\n })\n }\n
\n\n
\n
\n
\n

{props.t(\"v3.riepilogo_costi\")}

\n
\n
\n\n
\n {\n getLocalization() !== Localization.AMERICA &&\n \n \n

{props.t(\"riepilogo.tot_prezzo_listino\")}

\n \n \n

{`${formatPriceForContext(getTotal())} ${getValute()}`}

\n \n
\n }\n {\n (getLocalization() !== Localization.AMERICA && (!formIsSubmitted || (formIsSubmitted && store.getState()?.riepilogo?.perc_sconto))) &&\n \n \n

{props.t(\"riepilogo.perc_sconto\")}

\n \n \n {\n !formIsSubmitted ?\n \n parseDimension(value)}\n value={store.getState()?.riepilogo?.perc_sconto || undefined}\n onKeyUp={(v: any) => {\n if (Number(v?.target?.value) > MAX_PERC_DISCOUNT) {\n message.warning(props.t(\"v2.perc_sconto_alta\"));\n dispatch(actGeneratoreSetRiepilogo({\n perc_sconto: undefined\n }))\n }\n }}\n onChange={(num: number) => {\n dispatch(actGeneratoreSetRiepilogo({\n perc_sconto: num <= MAX_PERC_DISCOUNT ? num : undefined\n }))\n }}\n style={{ maxWidth: 60, height: \"100%\", textAlign: \"right\" }}\n />\n %\n \n :\n

{`${store.getState()?.riepilogo?.perc_sconto} %`}

\n\n }\n \n
\n }\n {\n //isLoadingPrices\n }\n \n \n

{getLocalization() !== Localization.AMERICA ? `${capitalize(props.t(\"riepilogo.prezzo_finale\"))}` : \"Total suggested retail price\"}

\n

{`(*${props.t(\"v2.prezzo_suggerito_compila_form\")})`}

\n \n \n

{`${formatPriceForContext(getTotalDiscount())} ${getValute()}`}

\n \n
\n\n
\n\n {\n !formIsSubmitted &&\n
\n

{props.t(\"v2.info_personal\")}

\n
\n
\n }\n\n
\n {\n console.log(\"[HUBSPOT] onReady\")\n try {\n const script = document.createElement('script');\n script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js';\n let jqueryScript = document.getElementsByTagName('script');\n let src = Array.from(jqueryScript).filter(item => item.src === script.src)\n if (src.length === 0) {\n document.body.appendChild(script)\n }\n } catch (error) {\n console.log(error)\n }\n\n\n //@ts-ignore\n const form = document.forms[`hsForm_${formId}`]\n if (form) {\n setInputValue(form, 'lingua', getLanguage())\n const _email = getAuthInfo()?.email\n if (_email) {\n setInputValue(form, 'email_contact_owner', _email)\n }\n }\n }}\n onSubmit={($form: any) => {\n //@ts-ignore\n const form = document.forms[`hsForm_${formId}`]\n const final_url_quote = getUrlQuote(getIdQuote(getInputValue(form, \"0-2/name\"), getInputValue(form, \"firstname\"),\n getInputValue(form, \"lastname\"), getInputValue(form, \"riferimento_nome_del_progetto\")))\n console.log(`HS onFormSubmit ${formId}`)\n if (form) {\n setInputValue(form, 'configurator___deal_name', `${store?.getState()?.generatore_product?.generatore_model?.title?.rendered || `${store?.getState()?.porta_vetrata?.modello_porta?.title?.rendered}${store?.getState()?.porta_vetrata?.modello_vetrata?.title?.rendered ? `, ${store?.getState()?.porta_vetrata?.modello_vetrata?.title?.rendered}` : \"\"}`} | ${getInputValue(form, \"0-2/name\") ? getInputValue(form, \"0-2/name\") : `${getInputValue(form, \"lastname\")} ${getInputValue(form, \"firstname\")}`} | ${getInputValue(form, \"riferimento_nome_del_progetto\")}`)\n setInputValue(form, 'amount___configuratore', `${getTotalDiscount()}`)\n const info_tecniche = `
    ${infoLabels?.map((info, index) => {\n return (`
  • ${info}: ${values?.[index]}
  • `)\n }).join(\"\")}
`\n setInputValue(form, 'info_tecniche', info_tecniche)\n setInputValue(form, 'configurazione_hammam', final_url_quote)\n }\n }}\n key={\"formhs\"}\n />\n
\n\n
\n \n \n \n
\n
\n
\n\n {\n getLocalization() === Localization.AMERICA &&\n
\n
\n

Perfect Wellness Group Inc.

\n

225 Broadway, 44th floor

\n

10007 New York, NY

\n

O : +1 (917) 671.0300

\n
\n }\n
\n \n );\n}\n\nexport default connect((state: TGeneral, ownProps) => ({\n scelta_configurazione: state.scelta_configurazione,\n optional: state.optional,\n porta_vetrata: state.porta_vetrata,\n accessori: state.accessori,\n panche: state.panche,\n riepilogo: state.riepilogo,\n general: state.general\n}), { actGeneratoreSetRiepilogo, actResetStore, actGeneratoreSetOptionals, actResetPorteVetrateStandard, actResetPorteVetrateCustom, actGeneratoreSetAccessori, actPanche })(\n withTranslation()(Riepilogo)\n);\n","export default __webpack_public_path__ + \"static/media/Logo-Effe.1165ab94.svg\";","export default __webpack_public_path__ + \"static/media/Logo-Effe-Bianco.9f7bcd68.svg\";","import { FC, useEffect, useRef, useState, RefObject } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { ImgType, ZINDEX_VANO_ESTERNO } from \"../../controller/Configuratore\";\nimport { EInternalExternalImage } from \"../../redux/reducers/general\";\n\ninterface IImgVano {\n className?: string\n isInternal: boolean;\n mainInternalImg: string;\n layerInternalImgs: ImgType[];\n mainExternalImg: string;\n layerExternalImgs: ImgType[];\n showToggle: boolean;\n onToggleChanged: (e: boolean) => void;\n onAllImagesLoaded?: (e: boolean) => void;\n styleImg?: any;\n t?: any;\n useAnonymusCORSImg?: boolean;\n}\n\nexport const useOnLoadImages = (ref: RefObject) => {\n const [status, setStatus] = useState(false);\n\n useEffect(() => {\n const updateStatus = (images: HTMLImageElement[]) => {\n setStatus(\n images.map((image) => image.complete).every((item) => item === true)\n );\n };\n\n if (!ref?.current) return;\n\n const imagesLoaded = Array.from(ref.current.querySelectorAll(\"img\"));\n\n if (imagesLoaded.length === 0) {\n setStatus(true);\n return;\n }\n\n imagesLoaded.forEach((image) => {\n image.addEventListener(\"load\", () => updateStatus(imagesLoaded), {\n once: true\n });\n image.addEventListener(\"error\", () => updateStatus(imagesLoaded), {\n once: true\n });\n });\n\n return;\n }, [ref]);\n\n return status;\n};\n\nconst ImgVano: FC = ({ className, isInternal, showToggle,\n mainInternalImg, layerInternalImgs,\n mainExternalImg, layerExternalImgs,\n useAnonymusCORSImg,\n styleImg, onToggleChanged, onAllImagesLoaded, ...props }: IImgVano) => {\n const clsImg = \"xs:pb-8 lg:pb-0\"\n const wrapperRef = useRef(null);\n const imagesLoaded = useOnLoadImages(wrapperRef);\n\n useEffect(() => {\n if (imagesLoaded) {\n console.log(`All images are loaded from Vano`)\n onAllImagesLoaded && onAllImagesLoaded(true)\n }\n }, [imagesLoaded])\n\n const timestamp = new Date().getTime();\n\n return (\n \n \n {(isInternal ? layerInternalImgs : layerExternalImgs).map((pathImg: ImgType, index: number) => {\n return (\n \n )\n })}\n\n
\n {/* {width >= WIDTH_DESKTOP && {props.t(\"v2.select_View\")}} */}\n
\n {\n showToggle &&\n (\n
\n {props.t(\"v2.interno\")}\n {\" / \"}\n {props.t(\"v2.esterno\")}\n \n
\n )\n }\n\n

\n {`${props.t(\"v4.vano_indicativo\")}`}\n

\n
\n
\n \n );\n}\n\nexport default withTranslation()(ImgVano);\n","import { Col, Row } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect, useDispatch, useSelector, useStore } from \"react-redux\";\nimport { StepConfiguratore } from \"../..\";\nimport SelectableDetailGridItem from \"../../../../components/GridItem/SelectableDetailGridItem\";\nimport SelectableGridItem from \"../../../../components/GridItem/SelectableGridItem\";\nimport MsgError from \"../../../../components/MsgError\";\nimport { H3 } from \"../../../../components/Typography\";\nimport { actSceltaConfigurazione } from \"../../../../redux/actions\";\nimport { TGeneral, TGeneralStore } from \"../../../../redux/reducers\";\nimport { ConfigurationType, TSceltaConfigurazioneStoreState } from \"../../../../redux/reducers/scelta_configurazione\";\nimport { PLACEHOLDER_IMAGE } from \"../../../../utils/consts\";\n\nfunction SceltaConfigurazione({...props}) {\n const dispatch = useDispatch();\n const store: TGeneralStore = useStore();\n const scelta_configurazione: TSceltaConfigurazioneStoreState= useSelector(\n (state: TGeneral) => state.scelta_configurazione\n );\n return (\n <>\n \n \n \n {\n dispatch(actSceltaConfigurazione({\n type: scelta_configurazione.type===ConfigurationType.STANDARD ? undefined : ConfigurationType.STANDARD\n }))\n }}\n />\n \n \n {\n dispatch(actSceltaConfigurazione({\n type: scelta_configurazione.type===ConfigurationType.PORTE_VETRATE ? undefined : ConfigurationType.PORTE_VETRATE\n }))\n }}\n />\n \n \n {\n store.getState()?.general?.stepError?.step===StepConfiguratore.SceltaConfigurazione &&\n \n \n \n \n \n }\n \n );\n}\n\n\nexport default connect((state:TGeneral, ownProps) => ({\n general: state.general,\n scelta_configurazione: state.scelta_configurazione\n }), { })(\n withTranslation()(SceltaConfigurazione)\n );\n \n","import { TGeneral, TGeneralStore } from \"../../redux/reducers\";\nimport { connect, useDispatch, useSelector } from \"react-redux\";\nimport Modal, { IModalType, ModalSize } from \"../../components/Modal\";\nimport { useEffect, useLayoutEffect, useState } from \"react\";\nimport Wizard from \"../../components/Wizard\";\nimport VanoDoccia from \"./Steps/VanoDoccia\";\nimport Menu from \"../../components/Menu\";\nimport { useStore } from \"react-redux\";\nimport { getCmFromFtAndInch, getLocalization, getUnitOfMeasure, hasValidRoleToLogin, isKitCoibentazioneVisible, Localization, UnitOfMeasure } from \"../../utils/utils\";\nimport { withTranslation } from \"react-i18next\";\nimport { Text } from \"../../components/Typography\";\nimport ActionButton, { IActionButtonType } from \"../../components/Buttons/ActionButton\";\nimport StrutturaVanoDoccia from \"./Steps/StrutturaVanoDoccia\";\nimport Vetrate from \"./Steps/Vetrate\";\nimport Generatore from \"./Steps/Generatore\";\nimport GeneratoreEstInt from \"./Steps/GeneratoreEstInt\";\nimport Optional from \"./Steps/Optional\";\nimport PorteVetrate from \"./Steps/PorteVetrate\";\nimport Panche from \"./Steps/Panche\";\nimport Accessori from \"./Steps/Accessori\";\nimport Voltaggio from \"./Steps/Voltaggio\";\nimport Riepilogo from \"./Steps/Riepilogo\";\nimport { API_URL, BASE_WP_URL } from \"../../network\";\nimport Loader, { ELoader } from \"../../components/Loader\";\nimport { isLogged, isTokenExpired, setAuthInfo } from \"../../utils/storage\";\nimport axios from \"axios\";\nimport { actGeneral, actGeneratoreSetData } from \"../../redux/actions\";\nimport { IMAGES_VANO, SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO, SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO, SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE, SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED, SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE, SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED } from \"../../utils/consts\";\nimport { getVolume } from \"../../redux/reducers/generatoreestint\";\nimport { EGeneratoreType } from \"../../redux/reducers/generatore\";\nimport { ERivestimentoVanoDoccia, EStrutturaVanoDoccia } from \"../../redux/reducers/struttura_vano_doccia\";\nimport { EInternalExternalImage, TGeneralStoreState } from \"../../redux/reducers/general\";\nimport ic_menu from \"./../../assets/images/menu.png\"\nimport ic_menu_white from \"./../../assets/images/menu_white.png\"\nimport logo from \"./../../assets/images/Logo-Effe.svg\"\nimport logo_white from \"./../../assets/images/Logo-Effe-Bianco.svg\"\nimport logo_us from \"./../../assets/images/PerfectWellness Logo big-01.png\"\nimport { Col } from \"react-bootstrap\";\nimport ImgVano from \"../../components/ImgVano\";\nimport SceltaConfigurazione from \"./Steps/SceltaConfigurazione\";\nimport { ConfigurationType, TSceltaConfigurazioneStoreState } from \"../../redux/reducers/scelta_configurazione\";\n\nexport function useWindowSize() {\n const [size, setSize] = useState([0, 0]);\n useLayoutEffect(() => {\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n window.addEventListener('resize', updateSize);\n updateSize();\n return () => window.removeEventListener('resize', updateSize);\n }, []);\n return size;\n}\n\nexport type StepErrorField = { id: string; msg: string; }\nexport type StepError = {\n fields: StepErrorField[];\n msg: string;\n step: StepConfiguratore;\n}\n\nexport const WIDTH_DESKTOP = 1024\n\nexport type ImgType = {\n src: string;\n zIndex?: number;\n}\n\nexport type TMenuItem = {\n component: any;\n label?: string;\n position: number;\n positionInMenu?: number;\n hideInMenu: boolean;\n}\n\nexport enum StepConfiguratore {\n SceltaConfigurazione = 0,\n VanoDoccia = 1,\n StrutturaVanoDoccia = 2,\n Vetrate = 3,\n Generatore = 4,\n GeneratoreEstInt = 5,\n Optional = 6,\n PorteVetrate = 7,\n Panche = 8,\n Accessori = 9,\n Voltaggio = 10,\n Riepilogo = 11\n}\n\nexport const ZINDEX_VANO_ESTERNO = 20\n\nfunction Configuratore({ ...props }) {\n const store: TGeneralStore = useStore();\n const dispatch = useDispatch();\n\n const [width, height] = useWindowSize();\n\n const MAX_ALTEZZA_ALERT_CM_VANO_DOCCIA = 230;\n const MAX_ALTEZZA_ALERT_FT_VANO_DOCCIA = 8;\n const MIN_ALTEZZA_ALERT_CM_VANO_DOCCIA = 100;\n const MIN_LARGHEZZA_ALERT_CM_VANO_DOCCIA = 70;\n const MIN_PROFONDITA_ALERT_CM_VANO_DOCCIA = 70;\n\n const ZINDEX_MENU = 99\n\n\n //Auth\n const [errorAuth, setErrorAuth] = useState(\"\");\n //Menu\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n //Modal\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [modalData, setModalData] = useState({});\n //Wizard\n const [currentStep, setCurrentStep] = useState(getLocalization() === Localization.AMERICA ? StepConfiguratore.VanoDoccia : StepConfiguratore.SceltaConfigurazione);\n\n const [isScrolledOnTop, setIsScrolledOnTop] = useState(true)\n\n const general: TGeneralStoreState = useSelector(\n (state: TGeneral) => state.general\n );\n\n const scelta_configurazione: TSceltaConfigurazioneStoreState = useSelector(\n (state: TGeneral) => state.scelta_configurazione\n );\n\n const MAX_WIDTH = 1440\n\n //Auth\n useEffect(() => {\n initConfiguratore()\n }, []);\n\n const initConfiguratore = async () => {\n const openLoginModal = (keepSession?:boolean) => {\n window.open(`${process.env.REACT_APP_AUTH_URL}/?response_type=code&client_id=${process.env.REACT_APP_AUTH_CLIENT_ID}${keepSession ? \"\" : `&forceAuth=true`}&response_type=codescope=${process.env.NEXT_PUBLIC_AUTH_SCOPES}&redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URI}&migration_uri=${process.env.REACT_APP_AUTH_MIGRATION_URI}`, \"_self\");\n }\n if (getLocalization() !== Localization.AMERICA) {\n setErrorAuth(\"\"); //reset error msg\n if (isLogged()) {\n console.log(`User is logged`)\n setTimeout(() => { dispatch(actGeneral({ appLoading: false })) }, 1000)\n } else if (isTokenExpired()) {\n console.log(`Refreshing token...`)\n openLoginModal(true)\n } else {\n openLoginModal()\n }\n } else {\n dispatch(actGeneral({ appLoading: false }))\n }\n }\n\n const ImgWizard = (lastStep?: boolean) => {\n return null\n return (\n {\n dispatch(\n actGeneral({\n internalExternalImage: isChecked ? EInternalExternalImage.EXTERNAL : EInternalExternalImage.INTERNAL\n })\n )\n }}\n />\n )\n }\n\n const getSteps = (): TMenuItem[] => {\n let steps: TMenuItem[] = [\n {\n position: StepConfiguratore.SceltaConfigurazione,\n component: ,\n label: props.t(\"menu.scelta_configurazione\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.VanoDoccia,\n component: ,\n label: props.t(\"menu.dimensioni\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.StrutturaVanoDoccia,\n component: ,\n label: props.t(\"menu.rivestimenti\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Vetrate,\n component: ,\n label: props.t(\"menu.num_vetrate\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Generatore,\n component: ,\n label: props.t(\"menu.generatore\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.GeneratoreEstInt,\n component: ,\n label: props.t(\"menu.int_est\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Optional,\n component: ,\n label: props.t(\"menu.optional\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.PorteVetrate,\n component: ,\n label: props.t(\"menu.porta_vetrate\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Panche,\n component: ,\n label: props.t(\"menu.panche\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Accessori,\n component: ,\n label: props.t(\"menu.accessori\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Voltaggio,\n component: ,\n label: props.t(\"menu.voltaggio\"),\n hideInMenu: false\n },\n {\n position: StepConfiguratore.Riepilogo,\n component: null,\n label: props.t(\"menu.riepilogo\"),\n hideInMenu: false\n }\n ];\n\n if (scelta_configurazione.type === ConfigurationType.PORTE_VETRATE) {\n steps = steps.filter((s: TMenuItem) =>\n s.position !== StepConfiguratore.VanoDoccia &&\n s.position !== StepConfiguratore.StrutturaVanoDoccia &&\n s.position !== StepConfiguratore.Generatore &&\n s.position !== StepConfiguratore.GeneratoreEstInt &&\n s.position !== StepConfiguratore.Optional &&\n s.position !== StepConfiguratore.Panche &&\n s.position !== StepConfiguratore.Accessori &&\n s.position !== StepConfiguratore.Voltaggio\n )\n }\n\n if (getLocalization() === Localization.EUROPA) {\n steps = steps.filter((s: TMenuItem) => s.position !== StepConfiguratore.Voltaggio)\n } else {\n steps = steps.filter((s: TMenuItem) =>\n s.position !== StepConfiguratore.SceltaConfigurazione &&\n s.position !== StepConfiguratore.Vetrate &&\n s.position !== StepConfiguratore.Panche &&\n s.position !== StepConfiguratore.PorteVetrate &&\n s.position !== StepConfiguratore.Accessori)\n }\n\n\n if (Array.isArray(store?.getState()?.generatore_product?.list_generatori_interni) && store?.getState()?.generatore_product?.list_generatori_interni?.length) {\n let _volumeVano = getVolume(store?.getState().vano_doccia)\n // console.log(`[Volume Vano] ${JSON.stringify(_volumeVano)} - KIT ${store.getState()?.struttura_vano_doccia.kit_coibentazione}`)\n const showInternalGenerator = store?.getState()?.generatore_product?.list_generatori_interni?.some(g => {\n const _show = _volumeVano <= (getLocalization() === Localization.EUROPA || store.getState()?.struttura_vano_doccia.kit_coibentazione ? Number(g.acf?.max_volume_generatore_con_kit) : Number(g.acf?.max_volume_generatore_no_kit))\n return _show\n })\n if (!showInternalGenerator) {\n if (store?.getState()?.generatore?.tipologia !== EGeneratoreType.Esterno) {\n console.log(`[!] Disable step choice int/ext`)\n dispatch(actGeneratoreSetData({\n tipologia: EGeneratoreType.Esterno,\n }))\n }\n\n steps = steps.filter((s: TMenuItem) => s.position !== StepConfiguratore.Generatore)\n }\n }\n\n\n return steps\n .sort((a: TMenuItem, b: TMenuItem) => {\n return a.position > b.position ? 1 : b.position > a.position ? -1 : 0\n }\n )\n }\n\n\n const openModal = (title: string, content: any, size: any, actionOk: any, actionCancel: any, modalType: IModalType) => {\n setModalData({ title, content, size, actionOk, actionCancel, modalType });\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalData({});\n setModalIsOpen(false);\n };\n\n const getImage = (image: any, step: StepConfiguratore): string => {\n const img = window.screen.width <= WIDTH_DESKTOP ? image[\"MOBILE\"] : image[\"DESKTOP\"]\n return typeof img === 'string' || img instanceof String ? img : img[currentStep !== step ? \"DEFAULT\" : \"ACTIVE\"]\n }\n\n const showToggleInternalExternal = (): boolean => {\n if (store?.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) return false\n return (getLocalization() !== Localization.AMERICA && currentStep >= StepConfiguratore.PorteVetrate) ||\n (getLocalization() === Localization.AMERICA && currentStep >= StepConfiguratore.Accessori)\n }\n\n const isImgInternalView = () => {\n const isInternalView = store.getState()?.general?.internalExternalImage === EInternalExternalImage.INTERNAL;\n return isInternalView && showToggleInternalExternal()\n }\n\n // useEffect(()=>{},[])\n\n const getImageOfCurrentStep = (isInternalView: boolean): string => {\n if (store?.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) {\n return getImage(IMAGES_VANO.STEP_1.VANO_INTERNO.ESTERNO, StepConfiguratore.StrutturaVanoDoccia)\n }\n if (currentStep === StepConfiguratore.VanoDoccia) {\n // Step 1\n return getImage(IMAGES_VANO.STEP_1.DIMENSIONI, StepConfiguratore.VanoDoccia)\n } else if (currentStep === StepConfiguratore.StrutturaVanoDoccia || (!store.getState()?.vetrate?.quantita && currentStep === StepConfiguratore.Vetrate)\n || (getLocalization() === Localization.AMERICA && currentStep >= StepConfiguratore.StrutturaVanoDoccia && currentStep < StepConfiguratore.Accessori)) {\n //Step 2 \n if (getLocalization() === Localization.AMERICA) {\n if (store.getState()?.struttura_vano_doccia?.kit_coibentazione) {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_2.KIT_COIBENTAZIONE.MARMO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_2.KIT_COIBENTAZIONE.MOSAICO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_2.KIT_COIBENTAZIONE.PIETRA, StepConfiguratore.StrutturaVanoDoccia)\n }\n }\n }\n // Rivestimento before struttura \n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_2.RIVESTIMENTO.MARMO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_2.RIVESTIMENTO.MOSAICO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_2.RIVESTIMENTO.PIETRA, StepConfiguratore.StrutturaVanoDoccia)\n }\n // Struttura\n if (store.getState()?.struttura_vano_doccia?.struttura === EStrutturaVanoDoccia.Cartongesso) {\n return getImage(IMAGES_VANO.STEP_2.STRUTTURA.CARTONGESSO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.struttura === EStrutturaVanoDoccia.Muratura) {\n return getImage(IMAGES_VANO.STEP_2.STRUTTURA.MURATURA, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.struttura === EStrutturaVanoDoccia.Poliestirene) {\n return getImage(IMAGES_VANO.STEP_2.STRUTTURA.POLIESTIRENE, StepConfiguratore.StrutturaVanoDoccia)\n }\n } else if (currentStep < StepConfiguratore.PorteVetrate) {\n //From Step 3\n if (getLocalization() === Localization.AMERICA) {\n if (!store.getState()?.struttura_vano_doccia?.kit_coibentazione) {\n if (store.getState()?.vetrate?.quantita === 1) {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.NO_KIT_COIBENTAZIONE.MARMO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.NO_KIT_COIBENTAZIONE.MOSAICO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.NO_KIT_COIBENTAZIONE.PIETRA, StepConfiguratore.Vetrate)\n }\n } else if (store.getState()?.vetrate?.quantita === 2) {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.NO_KIT_COIBENTAZIONE.MARMO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.NO_KIT_COIBENTAZIONE.MOSAICO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.NO_KIT_COIBENTAZIONE.PIETRA, StepConfiguratore.Vetrate)\n }\n }\n }\n }\n\n if (store.getState()?.vetrate?.quantita === 1) {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.KIT_COIBENTAZIONE.MARMO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.KIT_COIBENTAZIONE.MOSAICO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_1.KIT_COIBENTAZIONE.PIETRA, StepConfiguratore.Vetrate)\n }\n } else if (store.getState()?.vetrate?.quantita === 2) {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.KIT_COIBENTAZIONE.MARMO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.KIT_COIBENTAZIONE.MOSAICO, StepConfiguratore.Vetrate)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_3.VETRATA_2.KIT_COIBENTAZIONE.PIETRA, StepConfiguratore.Vetrate)\n }\n }\n } else {\n if (!isInternalView) {\n return getImage(IMAGES_VANO.STEP_1.VANO_INTERNO.ESTERNO, StepConfiguratore.StrutturaVanoDoccia)\n } else {\n if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Marmo) {\n return getImage(IMAGES_VANO.STEP_1.VANO_INTERNO.INTERNO_MARMO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Ceramica) {\n return getImage(IMAGES_VANO.STEP_1.VANO_INTERNO.INTERNO_MOSAICO, StepConfiguratore.StrutturaVanoDoccia)\n } else if (store.getState()?.struttura_vano_doccia?.rivestimento === ERivestimentoVanoDoccia.Pietra) {\n return getImage(IMAGES_VANO.STEP_1.VANO_INTERNO.INTERNO_STONE, StepConfiguratore.StrutturaVanoDoccia)\n }\n }\n }\n return getImage(IMAGES_VANO.STEP_1.DIMENSIONI, StepConfiguratore.VanoDoccia)\n }\n\n const getImageLayersOfCurrentStep = (isInternalView: boolean): ImgType[] => {\n\n let listImages: ImgType[] = []\n //Only if step generator is selected or is current step \n\n //STEP MODELLO GENERATORE\n const slug_model_generatore = store.getState()?.generatore_product?.generatore_product?.slug\n if (slug_model_generatore === undefined || currentStep === StepConfiguratore.Generatore) {\n //STEP INT/EXT\n if (currentStep >= StepConfiguratore.Generatore) {\n const showIntExtLayer = (!getSteps().filter(s => s.position === StepConfiguratore.Generatore).length && !!store.getState()?.vetrate?.quantita) || (getSteps().filter(s => s.position === StepConfiguratore.Generatore).length)\n if (store.getState()?.generatore?.tipologia === EGeneratoreType.Interno && showIntExtLayer) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE.GENERATORE_INTERNO, StepConfiguratore.Generatore) })\n } else if (!isInternalView && store.getState()?.generatore?.tipologia === EGeneratoreType.Esterno && showIntExtLayer) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE.GENERATORE_ESTERNO, StepConfiguratore.Generatore) })\n }\n }\n }\n\n if (currentStep >= StepConfiguratore.GeneratoreEstInt) {\n if (slug_model_generatore === \"touchsteam\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.TOUCH_STEAM, StepConfiguratore.GeneratoreEstInt) })\n } else if (slug_model_generatore === \"easysteam-smart\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.EASYSTEAM, StepConfiguratore.GeneratoreEstInt) })\n } else if (slug_model_generatore === \"aquasteam-smart\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.AQUASTEAM, StepConfiguratore.GeneratoreEstInt) })\n } else if (slug_model_generatore === \"nuvola\") {\n if (!showToggleInternalExternal() || !isInternalView)\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.NUVOLA_EXT, StepConfiguratore.GeneratoreEstInt), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.NUVOLA_INT, StepConfiguratore.GeneratoreEstInt) })\n } else if (slug_model_generatore === \"nuvola-smart\") {\n if (!showToggleInternalExternal() || !isInternalView)\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.NUVOLA_SP_EXT, StepConfiguratore.GeneratoreEstInt), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.NUVOLA_SP_INT, StepConfiguratore.GeneratoreEstInt) })\n } else if (slug_model_generatore === \"inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_GENERATORE_MODELLO.INSIDE, StepConfiguratore.GeneratoreEstInt) })\n }\n }\n\n\n //STEP OPTIONAL\n if (currentStep >= StepConfiguratore.Optional) {\n if (store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"me-99-00-0421-interfaccia-domotica\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.DOMOTICA, StepConfiguratore.Optional) })\n }\n if ((!showToggleInternalExternal() || isInternalView) && store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"ha-70-00-0009-plafoniera-di-illuminazione-bianca\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.PLAFONIERA_BIANCA, StepConfiguratore.Optional) })\n }\n if ((!showToggleInternalExternal() || isInternalView) && store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"ha-70-10-0005-plafoniera-di-illuminazione-concromoterapia-luce-bianca-e-altoparlanti-passivi\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.PLAFONIERA_CROMO_BIANCA, StepConfiguratore.Optional) })\n }\n if (store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"ha-70-10-0008-ess-effe-sound-system\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.SOUND_SYSTEM, StepConfiguratore.Optional) })\n }\n if ((!showToggleInternalExternal() || !isInternalView) &&\n (store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"me-60-00-0049-pannello-touch-con-sonda-remotata-per-nuvola-smart-power\" ||\n o?.optional?.slug === \"me-60-00-0050-pannello-touch-con-sonda-remotata-per-nuvola\").length)) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.PANNELLO_ESTERNO_SONDA, StepConfiguratore.Optional), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if ((!showToggleInternalExternal() || !isInternalView) &&\n (store.getState()?.optional?.optionals?.filter(o => o?.optional?.slug === \"me-60-00-0042-pannello-touch-esterno-per-nuvola-smart-power\" ||\n o?.optional?.slug === \"me-60-00-0033-pannello-touch-esterno\" ||\n o?.optional?.slug === \"me-60-00-0046-pannello-touch-esterno-per-nuvola\").length)) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_OPTIONAL.PANNELLO_ESTERNO, StepConfiguratore.Optional), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n }\n\n //STEP PORTE VETRATE\n if (currentStep >= StepConfiguratore.PorteVetrate) {\n if (!isInternalView) {\n const slug_porta = store.getState()?.porta_vetrata?.modello_porta?.slug\n const slug_vetrata = store.getState()?.porta_vetrata?.modello_vetrata?.slug\n if (slug_porta === \"fit-65\" || slug_porta === \"fit-80\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.FIT_65_80, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n // -- STANDARD\n if (slug_porta === \"tuttovetro-inside-70\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_70, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"tuttovetro-inside-120\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_120, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"tuttovetro-inside-170\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_170, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"fit-120\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.FIT_120, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_vetrata === \"vetrata-fit-50\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.FIT_V50, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"spazioslide-130\" || slug_porta === \"spazioslide-160\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIOSLIDE_130_160, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"spaziofilo-80\" || slug_porta === \"spaziofilo-100\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIOFILO_80_100, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"spaziofilo-120\" || slug_porta === \"spaziofilo-160\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIOFILO_120_160, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_vetrata === \"vetrata-spaziofilo-40\" || slug_vetrata === \"vetrata-spaziofilo-80\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIOFILO_V, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"spazio-80\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIO_80, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"spazio-120\" || slug_porta === \"spazio-160\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIO_120_160, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_vetrata === \"vetrata-spazio-40\" || slug_vetrata === \"vetrata-spazio-80\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.SPAZIO_V, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n // -- CUSTOM\n if (slug_porta === \"porta-tuttovetro-contour\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_CONTOUR_PORTA, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"vetro-porta-tuttovetro-contour\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_CONTOUR_VETRO_PORTA, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"vetro-porta-vetro-tuttovetro-contour\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_CONTOUR_VETRO_PORTA_VETRO, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"angolo-vetro-porta-tuttovetro-contour\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_CONTOUR_D, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_vetrata === \"vetrata-tuttovetro-contour\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_CONTOUR_V, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n\n if (slug_porta === \"porta-tuttovetro-inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_INSIDE_A, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"vetro-porta-tuttovetro-inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_INSIDE_B, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"vetro-porta-vetro-tuttovetro-inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_INSIDE_C, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_porta === \"porta-ad-angolo-tuttovetro-inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_INSIDE_D, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n if (slug_vetrata === \"vetrata-tuttovetro-inside\") {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PORTE.TUTTOVETRO_INSIDE_V, StepConfiguratore.PorteVetrate), zIndex: ZINDEX_VANO_ESTERNO + 1 })\n }\n }\n }\n\n\n // STEP PANCHE\n if (currentStep >= StepConfiguratore.Panche) {\n const panche = store.getState()?.panche?.panche || []\n const panca_custom = store.getState()?.panche?.panca_custom\n if (panche.filter(p => p.panca?.slug === \"panca-logica-69\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.LOGICA_69, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-logica-79\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.LOGICA_79, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-logica-114\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.LOGICA_114, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-topkapi-75\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.TOPKAPI_75, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-topkapi-115\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.TOPKAPI_115, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-ad-angolo-linea-alu\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ALU_ANGOLO, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-3-moduli-linea-alu\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ALU_3, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-2-moduli-linea-alu\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ALU_2, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"panca-1-modulo-linea-alu\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ALU_1, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"sedile-mini\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.SEDILE_MINI, StepConfiguratore.Panche) })\n }\n if (panche.filter(p => p.panca?.slug === \"fonte-mini\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.FONTE_MINI, StepConfiguratore.Panche) })\n }\n\n // -- Custom\n const pieces_custom_panca = panca_custom?.configurations?.length || 0\n if (panca_custom?.modello?.slug === SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE) {\n const base_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_RETTANGOLARE_BASE)?.quantity || 0\n const angle_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_RETTANGOLARE_ANGOLO)?.quantity || 0\n if (base_pieces === 1 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_1_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_2_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 1) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_2_x_1, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_3_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 2) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_3_x_2, StepConfiguratore.Panche) })\n }\n } else if (panca_custom?.modello?.slug === SLUG_PANCA_CUSTOM_SEZ_ARROTONDATA_LED) {\n const base_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_BASE)?.quantity || 0\n const angle_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_ARROTONDATA_LED_ANGOLO)?.quantity || 0\n if (base_pieces === 1 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ARROTONDATA_LED_1_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ARROTONDATA_LED_2_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 1) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ARROTONDATA_LED_2_x_1, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ARROTONDATA_LED_3_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 2) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.ARROTONDATA_LED_3_x_2, StepConfiguratore.Panche) })\n }\n } else if (panca_custom?.modello?.slug === SLUG_PANCA_CUSTOM_SEZ_RETTANGOLARE_LED) {\n const base_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_BASE)?.quantity || 0\n const angle_pieces = panca_custom?.configurations?.find(c => c?.panca_custom?.id === SLUG_PANCA_CONFIGURATION_RETTANGOLARE_LED_ANGOLO)?.quantity || 0\n if (base_pieces === 1 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_LED_1_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_LED_2_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 2 && angle_pieces === 1) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_LED_2_x_1, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 0) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_LED_3_x_0, StepConfiguratore.Panche) })\n } else if (base_pieces === 3 && angle_pieces === 2) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_PANCHE.RETTANGOLARE_LED_3_x_2, StepConfiguratore.Panche) })\n }\n }\n }\n\n // STEP ACCESSORI\n if (currentStep >= StepConfiguratore.Accessori) {\n const accessori = store.getState()?.accessori?.accessori || []\n if (accessori.filter(a => a.accessorio?.slug === \"ciotola-per-fonte\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_ACCESSORI.CIOTOLA, StepConfiguratore.Accessori) })\n }\n if (accessori.filter(a => a.accessorio?.slug === \"tubo-kneipp\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_ACCESSORI.TUBO_KNEIP, StepConfiguratore.Accessori) })\n }\n if (accessori.filter(a => a.accessorio?.slug === \"pp50000104-fit-shower\").length) {\n listImages.push({ src: getImage(IMAGES_VANO.STEP_ACCESSORI.FIT_SHOWER, StepConfiguratore.Accessori) })\n }\n }\n\n return listImages\n }\n\n const scrollToTopRiepilogo = () => {\n document.getElementById(\"container-configuratore\")?.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n }\n const scrollToTopWizard = () => {\n document.getElementById(\"body-wizard\")?.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n }\n\n\n\n\n const getCurrentStepIndex = () => {\n const steps = getSteps()\n return steps.map((it: TMenuItem) => it.position).indexOf(currentStep)\n }\n const getNextStep = () => {\n const steps = getSteps()\n const indexCurrentStepInSteps = getCurrentStepIndex()\n return indexCurrentStepInSteps < steps.length - 1 ? steps[indexCurrentStepInSteps + 1].position : undefined\n }\n const getPrevStep = () => {\n const steps = getSteps()\n const indexCurrentStepInSteps = getCurrentStepIndex()\n return indexCurrentStepInSteps > 0 ? steps[indexCurrentStepInSteps - 1].position : undefined\n }\n\n const goForward = (skip_check?: boolean) => {\n if (!skip_check) {\n const stepError = getError()\n if (!!stepError) {\n console.log(`errors: `, stepError)\n dispatch(actGeneral({ stepError }))\n return;\n }\n }\n\n dispatch(actGeneral({ stepError: undefined }))\n\n if (!skip_check && currentStep === StepConfiguratore.VanoDoccia) {\n if (\n ((store.getState().vano_doccia?.altezza || 0) > MAX_ALTEZZA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI) ||\n getUnitOfMeasure() === UnitOfMeasure.PIEDI && ((store.getState().vano_doccia?.altezza! > MAX_ALTEZZA_ALERT_FT_VANO_DOCCIA) ||\n (store.getState().vano_doccia?.altezza! === MAX_ALTEZZA_ALERT_FT_VANO_DOCCIA && store.getState().vano_doccia?.altezza_inc! > 0))\n ) {\n openModal(props.t('general.attenzione'), () => {\n return (\n \n )\n }, ModalSize.lg, () => {\n return ( {\n closeModal()\n goForward(true)\n }} />)\n }\n , null, IModalType.Warning)\n return\n }\n } else if (currentStep === StepConfiguratore.PorteVetrate) {\n dispatch(actGeneral({\n internalExternalImage: EInternalExternalImage.INTERNAL\n }))\n }\n else if (currentStep === StepConfiguratore.Panche) {\n dispatch(actGeneral({\n internalExternalImage: EInternalExternalImage.INTERNAL\n }))\n }\n\n const next_step = getNextStep()\n if (next_step === StepConfiguratore.Riepilogo) {\n // scrollToTopRiepilogo();\n } else {\n setIsScrolledOnTop(true)\n scrollToTopWizard();\n }\n\n\n\n next_step !== undefined && setCurrentStep(next_step);\n };\n\n\n\n const header = () => {\n const _isScrolledOnTop = isScrolledOnTop || !isLastStep\n return (\n
\n
\n {\n setMenuIsOpen(true);\n }}\n >\n \n \n
\n \n {getLocalization() === Localization.AMERICA && }\n
\n
\n
\n )\n }\n\n const wizardHeader = () => {\n return (\n
\n {getSteps().map((s, indexS) => {\n const isActive = indexS === getCurrentStepIndex();\n const isDone = indexS <= getCurrentStepIndex();\n return (\n \n \n {indexS <= getCurrentStepIndex() && (\n {indexS + 1}\n )}\n
\n );\n })}\n \n )\n }\n\n\n\n const getError = (): StepError | undefined => {\n if (currentStep === StepConfiguratore.SceltaConfigurazione) {\n if (!store.getState().scelta_configurazione?.type) {\n return { step: StepConfiguratore.SceltaConfigurazione, msg: props.t(\"error.seleziona_configurazione\"), fields: [] }\n }\n }\n else if (currentStep === StepConfiguratore.VanoDoccia) {\n if (!store.getState().vano_doccia?.altezza || !store.getState().vano_doccia?.profondita || !store.getState().vano_doccia?.larghezza) {\n return {\n step: StepConfiguratore.VanoDoccia, msg: props.t(\"vanodoccia.alert.manca_campo\"), fields:\n ([] as any).concat(!store.getState().vano_doccia?.larghezza ? [{ id: \"larghezza\", }] : [])\n .concat(!store.getState().vano_doccia?.profondita ? [{ id: \"profondita\", }] : [])\n .concat(!store.getState().vano_doccia?.altezza ? [{ id: \"altezza\", }] : [])\n }\n }\n else if (\n ((store.getState().vano_doccia?.larghezza || 0) < MIN_LARGHEZZA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI) ||\n ((store.getState().vano_doccia?.profondita || 0) < MIN_PROFONDITA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI) ||\n ((store.getState().vano_doccia?.altezza || 0) < MIN_ALTEZZA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI) ||\n (getCmFromFtAndInch(store.getState().vano_doccia?.larghezza, store.getState().vano_doccia?.larghezza_inc) < MIN_LARGHEZZA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.PIEDI) ||\n (getCmFromFtAndInch(store.getState().vano_doccia?.profondita, store.getState().vano_doccia?.profondita_inc) < MIN_PROFONDITA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.PIEDI) ||\n (getCmFromFtAndInch(store.getState().vano_doccia?.altezza, store.getState().vano_doccia?.altezza_inc) < MIN_ALTEZZA_ALERT_CM_VANO_DOCCIA && getUnitOfMeasure() === UnitOfMeasure.PIEDI)\n ) {\n return {\n step: StepConfiguratore.VanoDoccia, msg: props.t(getUnitOfMeasure() === UnitOfMeasure.CENTIMETRI ? 'vanodoccia.alert.dim_min_cm' : 'vanodoccia.alert.dim_min_ft'), fields:\n [{ id: \"larghezza\", msg: \"\" }, { id: \"profondita\", msg: \"\" }, { id: \"altezza\", msg: \"\" }]\n }\n }\n } else if (currentStep === StepConfiguratore.StrutturaVanoDoccia) {\n const missingFields = ([] as any).concat(\n !store.getState().struttura_vano_doccia?.rivestimento ? [{ id: \"rivestimento\", }] : [])\n .concat(getLocalization() === Localization.EUROPA && !store.getState().struttura_vano_doccia?.struttura ? [{ id: \"struttura\", }] : [])\n .concat(isKitCoibentazioneVisible() && store.getState().struttura_vano_doccia?.kit_coibentazione === undefined ? [{ id: \"kit_coibentazione\", }] : [])\n .concat(isKitCoibentazioneVisible() && store.getState().struttura_vano_doccia?.kit_coibentazione === true && getLocalization() === Localization.AMERICA &&\n store.getState().struttura_vano_doccia?.add_kit_coibentazione_to_quote === undefined ? [{ id: \"add_kit_coibentazione_to_quote\", }] : []);\n if (!!missingFields?.length) {\n return {\n step: StepConfiguratore.StrutturaVanoDoccia, msg: props.t(\"general.campi_mancanti\"), fields: missingFields\n }\n }\n } else if (currentStep === StepConfiguratore.Vetrate) {\n if ((store.getState().vetrate?.quantita || 0) < 1) {\n return { step: StepConfiguratore.Vetrate, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"vetrata\", msg: \"\" }] }\n }\n } else if (currentStep === StepConfiguratore.PorteVetrate && store.getState()?.scelta_configurazione?.type === ConfigurationType.PORTE_VETRATE) {\n if (!store.getState()?.porta_vetrata?.porta_prodotto && !store.getState()?.porta_vetrata?.modello_porta) {\n return { step: StepConfiguratore.PorteVetrate, msg: \"\", fields: [{ id: \"general\", msg: props.t(\"error.seleziona_porta\") }] }\n }\n } else if (currentStep === StepConfiguratore.Generatore) {\n if (!store.getState().generatore?.tipologia) {\n return { step: StepConfiguratore.Generatore, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"tipologia\", msg: \"\" }] }\n }\n } else if (currentStep === StepConfiguratore.GeneratoreEstInt) {\n if (!store.getState().generatore_product?.generatore_model) {\n return { step: StepConfiguratore.GeneratoreEstInt, msg: props.t(\"error.seleziona_generatore\"), fields: [] }\n }\n }\n else if (currentStep === StepConfiguratore.Voltaggio) {\n if (!store.getState().voltaggio?.voltaggio) {\n return { step: StepConfiguratore.Voltaggio, msg: props.t(\"general.campi_mancanti\"), fields: [{ id: \"voltaggio\", msg: \"\" }] }\n }\n }\n return undefined\n }\n\n const goBack = () => {\n const prev_step = getPrevStep()\n if (prev_step !== undefined) {\n setCurrentStep(prev_step);\n scrollToTopWizard();\n }\n };\n\n const styleImg = currentStep >= StepConfiguratore.PorteVetrate ? { zIndex: isImgInternalView() ? 0 : ZINDEX_VANO_ESTERNO } : {}\n\n\n const isLastStep = getCurrentStepIndex() === getSteps().length - 1\n return
\n\n \n\n {\n var code = event.keyCode || event.which;\n if (code === 13 && !document.getElementById(\"modal-configuratore\")) {\n goForward();\n }\n }}\n >\n\n
{/**container */}\n
\n {/* HEADER */}\n {header()}\n\n {/* BODY */}\n
\n {\n !isLastStep ?\n <>\n \n
\n s.component)}\n currentStepIndex={getCurrentStepIndex()}\n onGoBack={() => goBack()}\n onGoForward={() => goForward()}\n imgVano={() =>\n
\n {ImgWizard()}\n
}\n hideFooter={currentStep === StepConfiguratore.Riepilogo}\n wizardHeader={wizardHeader}\n />\n
\n \n\n {/* \n
{ImgWizard()}
\n */}\n \n :\n ImgWizard(true)} onGoToStep={(step: number) => {\n setCurrentStep(step)\n }}\n onScrollBody={(top: number) => {\n if ((top === 0 && !isScrolledOnTop) || (top !== 0 && isScrolledOnTop)) {\n setIsScrolledOnTop(top === 0)\n }\n }}\n mainInternalImg={getImageOfCurrentStep(true)}\n layerInternalImgs={getImageLayersOfCurrentStep(true)}\n mainExternalImg={getImageOfCurrentStep(false)}\n layerExternalImgs={getImageLayersOfCurrentStep(false)}\n />\n }\n
\n
\n\n\n {\n setMenuIsOpen(false);\n }}\n items={getSteps().filter((it: TMenuItem) => !it.hideInMenu).map((item, position) => {\n return ({ ...item, positionInMenu: position })\n })}\n onClickMenuItem={(item: TMenuItem) => {\n console.log(\"GO TO POSITION\", item.position)\n setIsScrolledOnTop(true)\n setCurrentStep(item.position)\n }}\n currentStep={getCurrentStepIndex()}\n className=\"xs:w-full lg:w-5/6 overflow-hidden\"\n />\n\n\n
\n\n closeModal()}\n visible={modalIsOpen}\n cancelAction={modalData.actionCancel &&
{modalData.actionCancel()}
}\n okAction={
{modalData.actionOk && modalData.actionOk()}
}\n modalType={modalData.modalType}\n >\n {modalData.content && modalData.content()}\n \n
\n\n \n\n}\n\nexport default connect((state: TGeneral, ownProps) => ({\n general: state.general,\n scelta_configurazione: state.scelta_configurazione,\n struttura_vano_doccia: state.struttura_vano_doccia,\n vetrate: state.vetrate,\n generatore: state.generatore,\n generatore_product: state.generatore_product,\n optional: state.optional,\n panche: state.panche,\n porta_vetrata: state.porta_vetrata,\n accessori: state.accessori\n}), { actGeneral })(withTranslation()(Configuratore));\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAuCAYAAABqK0pRAAAABHNCSVQICAgIfAhkiAAAAKBJREFUaEPtlkEKgDAMBNv/v8qfqeA9sDDBhhG8NRs6k0L2Wut6/uO/ffwNvgt4kb+Z1IhGIAKOFgQ2jtVIjA4q1AgENo7VSIwOKnyNuMZDcKNY30iEDSzSCAg3itZIhA0s0ggIN4rWSIQNLNIICDeKHmXENT6aAaho1GhBjHpjNdLLu+6mkZpR7wmN9PKuu2mkZtR7QiO9vOtuo4yMWONvEJIDM76NWLUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAuAQMAAABQ5dgSAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF////AAAAVcLTfgAAAAJ0Uk5TwQCkcis3AAAAFElEQVR4nGNggIL/YHCAbvQItRcAOzcalMQwFcgAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/Logo-Effe.5188116c.png\";","import { TRiepilogoPayload } from \"../../redux/reducers/riepilogo\";\nimport { Row, Col } from \"react-bootstrap\";\nimport { withTranslation } from \"react-i18next\";\nimport { useEffect, useState } from \"react\";\nimport { H3 } from \"../../components/Typography\";\nimport RiepilogoGridItem from \"../../components/GridItem/RiepilogoGridItem\";\nimport RiepilogoItem from \"../../components/RiepilogoItem\";\nimport RiepilogoSimpleGridItem from \"../../components/GridItem/RiepilogoSimpleGridItem\";\nimport { capitalize, capitalizeAllWords, formatPriceForContext, Localization } from \"../../utils/utils\";\nimport tailwindMyConfig from \"../../tailwind.my.config\";\nimport moment from \"moment\";\nimport { Language } from \"../../utils/storage\";\nimport i18n from \"../../i18n\";\nimport { getRiepilogo } from \"../../network/actions\";\nimport Loader, { ELoader } from \"../../components/Loader\";\nimport logo from \"./../../assets/images/Logo-Effe.png\"\nimport logo_us from \"./../../assets/images/PerfectWellness Logo big-01.png\"\nimport ImgVano from \"../../components/ImgVano\";\nimport { ConfigurationType } from \"../../redux/reducers/scelta_configurazione\";\nimport { IconDownload } from \"../../components/Icon\";\nimport jsPDF from \"jspdf\";\nimport html2canvas from \"html2canvas\";\n\nfunction Overview({ ...props }) {\n const [payload, setPayload] = useState();\n const [isLoading, setIsLoading] = useState();\n const [error, setError] = useState();\n const [isInternalView, setIsInternalView] = useState(true);\n const [areImgVanoLoaded, setAreImgVanoLoaded] = useState(false);\n\n useEffect(() => {\n\n let idRiepilogo;\n const path_parts = window.location.pathname.split(\"/\");\n idRiepilogo = !path_parts[path_parts.length - 1] ? path_parts[path_parts.length - 2] : path_parts[path_parts.length - 1]\n console.log({ idRiepilogo }, path_parts)\n\n setIsLoading(true)\n getRiepilogo(idRiepilogo).then((data: TRiepilogoPayload) => {\n setPayload(data)\n console.log(\"LANGUAGE\", data?.language)\n i18n.changeLanguage(data?.language);\n setIsLoading(false)\n }).catch((err) => {\n setIsLoading(false)\n setError(true)\n })\n }, [])\n\n const downloadPDF = async () => {\n\n\n try {\n setIsLoading(true)\n const input = document.getElementById(\"root\");\n const canvas = await html2canvas(input!, {\n windowWidth: 1800,\n windowHeight: 1200,\n logging: false,\n allowTaint: false,\n useCORS: true,\n ignoreElements: function (el) {\n if (el.classList.contains(\"hide-print\") || el.classList.contains(\"img-wizard-container\")) {\n return true\n }\n return false\n }, onclone: function (doc, el) {\n console.log(doc, el)\n let container = doc.querySelector('.container');\n container?.removeAttribute('class');\n container?.classList?.add(\"container-pdf\");\n doc.querySelector('.line-through')?.classList?.remove(\"line-through\");\n const imagesVano = doc.querySelectorAll('.img-vano-print');\n [].forEach.call(imagesVano, function (currEl: HTMLElement) {\n currEl.classList.replace(\"w-1/2\", \"w-96\");\n currEl.classList.replace(\"h-full\", \"h-96\");\n currEl.classList.add(\"mt-4\");\n });\n\n const fontsBold = doc.querySelectorAll('.font-bold');\n [].forEach.call(fontsBold, function (currEl: HTMLElement) {\n currEl.classList.replace(\"font-bold\", \"font-semibold\");\n // currEl.classList.replace(\"h-full\", \"h-96\");\n // currEl.classList.add(\"mt-4\");\n });\n\n const titles = doc.querySelectorAll('.text-titleOverview');\n [].forEach.call(titles, function (currEl: HTMLElement) {\n currEl.classList.replace(\"text-titleOverview\", \"text-text\");\n });\n const titlesSections = doc.querySelectorAll('.text-titleSectionGenerator');\n [].forEach.call(titlesSections, function (currEl: HTMLElement) {\n currEl.classList.replace(\"text-titleSectionGenerator\", \"text-titleCard\");\n });\n const colData = doc.querySelectorAll('.col-data');\n [].forEach.call(colData, function (currEl: HTMLElement) {\n currEl.classList.add(\"pr-8\");\n });\n const colorGreenLights = doc.querySelectorAll('.text-fluo-effe');\n [].forEach.call(colorGreenLights, function (currEl: HTMLElement) {\n currEl.classList.replace(\"text-fluo-effe\", \"text-verde-medioscuro-effe\");\n });\n const borderColorGreenLights = doc.querySelectorAll('.border-fluo-effe');\n [].forEach.call(borderColorGreenLights, function (currEl: HTMLElement) {\n currEl.classList.replace(\"border-fluo-effe\", \"border-verde-medioscuro-effe\");\n });\n const bgColorGreenLights = doc.querySelectorAll('.bg-fluo-effe');\n [].forEach.call(bgColorGreenLights, function (currEl: HTMLElement) {\n currEl.classList.replace(\"bg-fluo-effe\", \"bg-verde-medioscuro-effe\");\n });\n const textXs = doc.querySelectorAll('.text-xs');\n [].forEach.call(textXs, function (currEl: HTMLElement) {\n currEl.classList.replace(\"text-xs\", \"text-m\");\n currEl.classList.replace(\"text-wizard-effe\", \"text-black-effe\");\n });\n const bgSubtotals = doc.querySelectorAll('.text-subtitle-cell');\n [].forEach.call(bgSubtotals, function (currEl: HTMLElement) {\n currEl.classList.remove(\"text-titleCard\")\n currEl.classList.add(\"text-h5\");\n });\n const textGrayTexts = doc.querySelectorAll('.text-subtitle-effe');\n [].forEach.call(textGrayTexts, function (currEl: HTMLElement) {\n currEl.classList.remove(\"text-subtitle-effe\");\n });\n\n\n doc.getElementById('form-costi')?.classList?.replace(\"bg-modal-effe\", \"bg-modal-effe-light\")\n }\n })\n\n var imgWidth = 210;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n var doc = new jsPDF('p', 'mm', \"a4\");\n var position = 0;\n\n var imgData = canvas.toDataURL('image/jpeg', 1);\n\n doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight, `Page: 1`, \"SLOW\");\n heightLeft -= pageHeight;\n\n let indexPage = 1;\n while (heightLeft >= 0) {\n position = heightLeft - imgHeight;\n doc.addPage();\n doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight, `Page: ${indexPage + 1}`, \"SLOW\");\n indexPage += 1;\n heightLeft -= pageHeight;\n }\n setIsLoading(false)\n doc.save(`${payload?.link}.pdf`);\n } catch (error) {\n window.print()\n setIsLoading(false)\n }\n }\n\n useEffect(() => {\n if (areImgVanoLoaded) {\n if (props.downloadPdf) {\n try {\n downloadPDF();\n } catch (error) {\n console.log(error)\n }\n }\n }\n }, [areImgVanoLoaded])\n\n const isFeaturedOnRework = () => {\n return Number(payload?.version) >= 3\n }\n\n const isKitCoibentazioneAddedToQuote = () => payload?.data?.info_tecniche?.add_kit_coibentazione_to_quote === \"YES\";\n\n return
\n
\n\n {\n isLoading || error ?\n
\n \n {error &&

{\"Not found\"}

}\n
\n :\n <>\n \n \n
\n \n {payload?.localization === Localization.AMERICA && }\n
\n \n \n {\n payload?.customer_info &&\n\n
\n

{`${props.t(\"v2.info_personal\")}`}

\n

\n {`${payload?.customer_info?.company_name ?\n `${capitalizeAllWords(payload?.customer_info?.company_name)},` :\n `${capitalizeAllWords(payload?.customer_info?.firstname || \"\")} ${capitalizeAllWords(payload?.customer_info?.lastname || \"\")},`\n }`}\n

\n

\n {`${capitalizeAllWords(payload?.customer_info?.city)} ${payload?.customer_info?.country ? `- ${capitalizeAllWords(payload?.customer_info?.country)}` : \"\"}`}\n

\n
\n }\n \n {\n payload?.customer_info?.riferimento_nome_del_progetto &&\n\n \n
\n

{`${props.t(\"v2.preventivo_n\")}`}

\n

{`${payload?.customer_info?.riferimento_nome_del_progetto}`}

\n
\n \n }\n \n
\n

{`${props.t(\"v2.data_creazione\")}`}

\n

{`${moment(payload?.timestamp).format((payload?.language == Language.EN || payload?.localization === Localization.AMERICA) ? \"MM/DD/YYYY\" : \"DD/MM/YYYY\")}`}

\n
\n \n
\n\n \n \n\n
\n\n {\n payload?.type_configuration !== ConfigurationType.PORTE_VETRATE &&\n
\n {\n return (\n 1}\n units={it?.units || 1}\n image={itIndex === 0 && isFeaturedOnRework() ? payload?.data?.generatore?.images?.[0] : \"\"}\n priceUnit={it?.price}\n isMultipleUnits={(it?.units || 1) > 1}\n valute={payload?.valute}\n classNameImage=\"h-full object-contain img-vano-print\"\n />\n )\n }).concat(\n payload?.localization === Localization.AMERICA && !isKitCoibentazioneAddedToQuote() ?\n [\n

\n {\"We recommend to insulate your walls before the waterproofing. Several different brands have solutions for Steam Shower/Steam Room. Check the best solution with your tile contractor.The steam generator has been sized assuming that you’re installing a thermal insulation on your walls\"}\n

\n ]\n : []\n )\n }\n // images={payload?.data?.generatore?.images||[]}\n />\n
\n }\n\n {\n (payload?.data?.optionals?.optionals || []).length > 0 &&\n
\n {\n return (\n {\n return (\n {\n title: z?.name,\n price: z.price,\n valute: payload?.valute\n }\n )\n })}\n priceUnit={opt?.price}\n valute={payload?.valute}\n />\n )\n })} />\n
\n }\n\n {\n (payload?.data?.porte_vetrate?.model_items?.length || payload?.data?.porte_vetrate?.custom_items?.length) ?\n
\n {\n return (\n 0}\n className={`${indexPv === 0 && \"mt-3\"}`}\n bold={isFeaturedOnRework() && (indexPv === 0 || (payload?.data?.porte_vetrate?.numParetiVetrata === 2 && indexPv === 1))}\n classNameMainItem={\"py-3\"}\n priceUnit={pv.price}\n valute={payload?.valute}\n />\n )\n })\n ])\n :\n (payload?.data?.porte_vetrate?.custom_items?.length ?\n [\n payload?.data?.porte_vetrate?.custom_items.map((item, indexPv) => {\n return (\n \n )\n })\n ]\n :\n [])\n } />\n
\n : null\n }\n\n {//La custom ha i prezzi solo in euro\n (payload?.data?.panche?.panche || []).length > 0 &&\n
\n {\n return (\n 0}\n className={`${indexPan === 0 && \"mt-3\"}`}\n classNameMainItem={\"py-3\"}\n isMultipleUnits={(c?.units || 1) > 1}\n priceUnit={c?.price}\n valute={payload?.valute}\n />\n )\n })\n } />\n
\n }\n\n\n {\n (payload?.data?.accessori?.accessori || []).length > 0 &&\n
\n {\n return (\n {\n return (\n {\n title: `${z?.name}${z.label_quantity ? ` (${acc.quantity} ${z.label_quantity})` : \"\"}`,\n price: z.price,\n valute: payload?.valute,\n quantity: z.multipli_for_quantity_sku && (acc.quantity || 1) > 1 ? acc.quantity : 1,\n label_quantity: z.multipli_for_quantity_sku && z.label_quantity && (acc.quantity || 1) > 1 ? z.label_quantity : \"\"\n }\n )\n })}\n priceUnit={acc?.price}\n valute={payload?.valute}\n />\n )\n })} />\n
\n }\n
\n\n\n \n\n \n {/* {\n isFeaturedOnRework() ?\n\n {\n setIsInternalView(isChecked ? false : true)\n }}\n onAllImagesLoaded={() => {\n setAreImgVanoLoaded(true)\n }}\n useAnonymusCORSImg\n />\n : null\n } */}\n {\n payload?.type_configuration !== ConfigurationType.PORTE_VETRATE ?\n
\n \n\n
\n \n \n {\n payload?.localization === Localization.AMERICA ?\n <>\n \n \n \n \n :\n <>\n \n \n }\n\n {\n payload?.data?.porte_vetrate?.custom_extra_info?.length ?\n !!it).join(\" - \") || \"\"}\n className={`py-4`}\n />\n : null\n }\n\n
\n\n
\n : (payload?.data?.porte_vetrate?.custom_extra_info?.length) ?\n !!it).join(\" - \") || \"\"}\n className={`py-4`}\n />\n : null\n\n }\n
\n\n
\n
\n
\n

{props.t(\"v3.riepilogo_costi\")}

\n
\n
\n\n {\n (payload?.localization !== Localization.AMERICA && payload?.percentual_discount) ?\n \n \n

{props.t(\"riepilogo.tot_prezzo_listino\")}

\n \n \n

{`${formatPriceForContext(payload?.price)} ${payload?.valute}`}

\n \n
\n : null\n }\n {\n (payload?.localization !== Localization.AMERICA && payload?.percentual_discount) ?\n \n \n

{props.t(\"riepilogo.perc_sconto\")}

\n \n \n

{`${payload?.percentual_discount} %`}

\n \n
\n : null\n }\n \n \n

{payload?.localization !== Localization.AMERICA ? `${capitalize(props.t(\"riepilogo.prezzo_finale\"))}` : \"Total suggested retail price\"}

\n

{`${props.t(\"v2.iva_trasporto_esclusi\")}`}

\n {payload?.customer_info?.commenti_per_l_acquirente &&

{`${props.t(\"general.note\")}:\\n${payload?.customer_info?.commenti_per_l_acquirente}`}

}\n\n \n \n

{`${formatPriceForContext(payload?.price_discounted)} ${payload?.valute}`}

\n \n
\n\n \n\n\n
\n
\n\n\n
\n \n
\n \n }\n
\n
;\n}\n\nexport default withTranslation()(Overview);","import { BrowserRouter, Switch, Route } from \"react-router-dom\";\nimport Callback from \"./controller/Callback\";\nimport Configuratore from \"./controller/Configuratore\";\nimport Overview from \"./controller/Overview\";\n\nfunction Router() {\n return (\n \n
\n \n \n \n \n \n } />\n

Error, page not found : (

} />\n
\n
\n
\n );\n}\n\nexport default Router;\n","import Router from './Router';\n\nfunction ManagerApp() {\n return ();\n}\n\nexport default ManagerApp;\n","import React from 'react'\nimport ManagerApp from './Managerapp';\nimport \"./i18n\";\nimport 'antd/dist/antd.css';\nimport './assets/css/font.css'\nimport './assets/css/index.css'\nimport Bugsnag from '@bugsnag/js'\nimport BugsnagPluginReact from '@bugsnag/plugin-react'\nimport { getAuthInfo } from './utils/storage';\n\nfunction App() {\n const app_version = require('../package.json').version;\n Bugsnag.start({\n apiKey: 'f60521f9a616bbef338c0d5a3a945220',\n plugins: [new BugsnagPluginReact()],\n enabledBreadcrumbTypes: ['error', 'log', 'navigation', 'request', 'user', \"state\"],\n releaseStage: process.env.REACT_APP_ENV_NAME,\n enabledReleaseStages: [\"prod\"],\n appVersion: app_version,\n onError: function (event) {\n console.log(\"onError\",event)\n event.setUser(getAuthInfo()?.id_user||undefined, getAuthInfo()?.crm_language||undefined, app_version);\n },\n })\n const ErrorBoundary = Bugsnag.getPlugin('react')!.createErrorBoundary(React)\n\n return (\n \n \n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React, { Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport './index.css';\nimport { Provider } from \"react-redux\";\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport store from './redux/store';\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}