{"version":3,"sources":["utils/componentLoader.js","myprofile/myelements/types.js","home/types.js","elements/types.js","basket/types.js","projects/myprojects/types.js","myprofile/calculationfactors/types.js","utils/lsMethods.js","autoBuildEdit/types.js","projects/newproject/types.js","embedding/types.js","siteCompany/types.js","myprofile/myinfo/types.js","login/types.js","instruction/types.js","feedback/types.js","myprofile/goods/types.js","projects/myprojectsv3/types.js","calculator/types.js","login/reducer.js","store/language/reducer.js","refreshToken/refreshService.js","refreshToken/types.js","refreshToken/actions.js","myprofile/myinfo/reducer.js","myprofile/myspecialty/reducer.js","refreshToken/reducer.js","register/registerSimple/reducer.js","verify/reducer.js","myprofile/myelements/reducer.js","regions/reducer.js","projects/newproject/reducer.js","projects/myprojects/reducer.js","projects/executerdetails/types.js","projects/executerdetails/reducer.js","chat/types.js","chat/reducer.js","feedback/reducer.js","home/reducer.js","myprofile/editorSessions/reducer.js","myprofile/goods/reducer.js","goods/reducer.js","myprofile/calculationfactors/reducer.js","favorites/reducer.js","instruction/reducer.js","basket/reducer.js","autoBuildEdit/reducer.js","autoBuild/reducer.js","elements/reducer.js","solutions/reducer.js","myprofile/balance/reducer.js","embedding/reducer.js","siteCompany/reducer.js","manufacturer/reducer.js","calculator/reducer.js","projects/myprojectsv3/reducer.js","myprofile/sitePortfolio/reducer.js","myprofile/elementmatch/reducer.js","myprofile/myproductportfolio/reducer.js","components/toastr/reducer.js","questionnairePT/reducer.js","store/configureStore.js","store/middleware/refreshMiddleware.js","verify/types.js","goods/types.js","components/toastr/toastr.js","utils/amplitude.js","regions/types.js","myprofile/balance/types.js","utils/jwt.js","questionnairePT/types.js","myprofile/myspecialty/types.js","myprofile/myproductportfolio/types.js","myprofile/elementmatch/types.js","register/registerSimple/types.js","manufacturer/types.js","favorites/types.js","autoBuild/types.js","myprofile/sitePortfolio/types.js","constants/specialty.js","utils/setAuthorizationToken.js","store/language/types.js","solutions/types.js","myprofile/editorSessions/types.js","language/languageExtention.js","login/loginService.js","login/actions.js","components/loaders/FullPageLoader/FullPageLoaderNoText.js","utils/MathHelper.js","utils/HistoryStorage.js","basket/actions.js","i18n.js","components/toastr/ToastrView.js","App.js","index.js"],"names":["loadlazy","importFunc","React","lazy","componentLoader","lazyComponent","attemptsLeft","Promise","resolve","reject","then","catch","error","setTimeout","GET_MYELEMENTS_REQUEST","GET_MYELEMENTS_SUCCESS","GET_MYELEMENTS_FAILURE","GET_MYELEMENT_REQUEST","GET_MYELEMENT_SUCCESS","GET_MYELEMENT_FAILURE","GET_CATEGORIES_REQUEST","GET_CATEGORIES_SUCCESS","GET_CATEGORIES_FAILURE","GET_ELEMENTFORM_REQUEST","GET_ELEMENTFORM_SUCCESS","GET_ELEMENTFORM_FAILURE","GET_ELEMENTTEXTURES_REQUEST","GET_ELEMENTTEXTURES_SUCCESS","GET_ELEMENTTEXTURES_FAILURE","UPDATE_ELEMENT_REQUEST","UPDATE_ELEMENT_SUCCESS","UPDATE_ELEMENT_FAILURE","UPLOAD_THREEDMODEL_REQUEST","UPLOAD_THREEDMODEL_SUCCESS","UPLOAD_THREEDMODEL_FAILURE","UPLOAD_ELEMENTFORM_REQUEST","UPLOAD_ELEMENTFORM_SUCCESS","UPLOAD_ELEMENTFORM_FAILURE","UPLOAD_ELEMENTTEXTURE_REQUEST","UPLOAD_ELEMENTTEXTURE_SUCCESS","UPLOAD_ELEMENTTEXTURE_FAILURE","DELETE_ELEMENT_REQUEST","DELETE_ELEMENT_SUCCESS","DELETE_ELEMENT_FAILURE","UPLOAD_BULKELEMENTS_REQUEST","UPLOAD_BULKELEMENTS_SUCCESS","UPLOAD_BULKELEMENTS_FAILURE","CHANGE_AVAILABILITY_REQUEST","CHANGE_AVAILABILITY_SUCCESS","CHANGE_AVAILABILITY_FAILURE","REQUEST","GET_LOADED_IMAGE_SUCCESS","DELETE_IMAGE_SUCCESS","FAILURE","CHANGE_WRAPPER_SUCCESS","GET_CODE_GROUPS","SAVE_CODE_GROUP","SAVE_CODE","GET_CLOSEDPROJECTS_REQUEST","GET_CLOSEDPROJECTS_SUCCESS","GET_CLOSEDPROJECTS_FAILURE","CLEAR_CLOSEDPROJECTS","GET_PROJECTDETAILS_REQUEST","GET_PROJECTDETAILS_SUCCESS","GET_PROJECTDETAILS_FAILURE","SEND_ORDERTOSELLER_REQUEST","SEND_ORDERTOSELLER_SUCCESS","SEND_ORDERTOSELLER_FAILURE","SET_CURRENCY","SET_ISNOTSIMEASURE","GET_HOMEDATA_REQUEST","GET_HOMEDATA_SUCCESS","GET_HOMEDATA_FAILURE","GET_CLOSEDPRODUCTS_REQUEST","GET_CLOSEDPRODUCTS_SUCCESS","GET_CLOSEDPRODUCTS_FAILURE","GET_PRODUCTTDETAILS_REQUEST","GET_PRODUCTTDETAILS_SUCCESS","GET_PRODUCTTDETAILS_FAILURE","THREED_TIME_OUT","THREED_TIME_OUT_FLUSH","SUCCESS","GET_ELEMENTS_FOR_PRODUCT_REQUEST","GET_ELEMENTS_FOR_PRODUCT_SUCCESS","GET_LIST_ELEMENTS_AND_METALS_FOR_PRODUCT_SUCCESS","GET_PRODUCT_TYPES_SUCCESS","GET_TEXTURED_METALS_LIST_SUCCESS","REQUEST_METALS_LIST","FAILURE_METALS_LIST","GET_PRINTS_SUCCESS","SET_PAINT_TO_PRODUCT_REQUEST","SET_PAINT_TO_PRODUCT_SUCCESS","GET_EXECUTOR_DETAILS_SUCCESS","GET_CATALOG_DIY_IMAGE_SUCCESS","GET_CURRENCY_INFO_SUCCESS","GET_ELEMENTS_REQUEST","GET_ELEMENTS_SUCCESS","GET_ELEMENTS_FAILURE","GET_FILTER_REQUEST","GET_FILTER_SUCCESS","GET_FILTER_FAILURE","SET_ELEMENTS_ZERO","GET_LINK_SUCCESS","GET_FILTER_V2_REQUEST","GET_FILTER_V2_SUCCESS","GET_FILTER_V2_FAILURE","GET_ELEMENT_DETAILS_REQUEST","GET_ELEMENT_DETAILS_SUCCESS","GET_ELEMENT_DETAILS_FAILURE","GET_ELEMENT_EXAMPLES_REQUEST","GET_ELEMENT_EXAMPLES_SUCCESS","GET_ELEMENT_EXAMPLES_FAILURE","GET_HOME_INSTRUCTIONS_SUCCESS","GET_HOME_INSTRUCTIONS_FAILURE","GET_ELEMENT_MATCHES_REQUEST","GET_ELEMENT_MATCHES_SUCCESS","GET_ELEMENT_MATCHES_FAILURE","POST_ELEMENT_REVIEW_REQUEST","POST_ELEMENT_REVIEW_SUCCESS","POST_ELEMENT_REVIEW_FAILURE","GET_ELEMENT_REVIEWS_REQUEST","GET_ELEMENT_REVIEWS_SUCCESS","GET_ELEMENT_REVIEWS_FAILURE","REFRESH_BASKET","REFRESH_BASKET_WITHOUT_PAGE_UPDATE","GET_GOODS_BY_IDS_SUCCESS","MAKE_ORDER_SUCCESS","GET_ELEMENTS_BY_IDS_SUCCESS","MAKE_ELEMENTS_ORDER_SUCCESS","GET_MYPROJECTS_REQUEST","GET_MYPROJECTS_SUCCESS","GET_MYPROJECTSV2_SUCCESS","GET_MYPROJECTS_FAILURE","GET_PROJECTS_WITHOUT_MEASURER_REQUEST","GET_PROJECTS_WITHOUT_MEASURER_SUCCESS","GET_PROJECTS_WITHOUT_MEASURER_FAILURE","CALL_MEASURER_REQUEST","CALL_MEASURER_SUCCESS","CALL_MEASURER_FAILURE","DELETE_PROJECT_REQUEST","DELETE_PROJECT_SUCCESS","DELETE_PROJECT_FAILURE","CREATE_PRODUCT_REQUEST","CREATE_PRODUCT_SUCCESS","CREATE_PRODUCT_FAILURE","CALCULATE_PRICE_SUCCESS","DELETE_PRODUCT_SUCCESS","DELETE_PRODUCT_GROUP_SUCCESS","GET_SPECIFICATION_SUCCESS","UPDATE_PROJECT_NAME_SUCCESS","CLOSE_PROJECT_SUCCESS","GET_MY_PRICE_FACTOR","ADD_CALCULATEFACTORS_REQUEST","ADD_CALCULATEFACTORS_SUCCESS","ADD_CALCULATEFACTORS_FAILURE","GET_CALCULATEFACTORS_REQUEST","GET_CALCULATEFACTORS_SUCCESS","GET_CALCULATEFACTORS_FAILURE","ADD_PAINTINGSPRICE_REQUEST","ADD_PAINTINGSPRICE_SUCCESS","ADD_PAINTINGSPRICE_FAILURE","GET_PAINTINGPRICES_REQUEST","GET_PAINTINGPRICES_SUCCESS","GET_PAINTINGPRICES_FAILURE","UPDATE_PAINTINGPRICES_REQUEST","UPDATE_PAINTINGPRICES_SUCCESS","UPDATE_PAINTINGPRICES_FAILURE","DELETE_PAINTINGPRICES_REQUEST","DELETE_PAINTINGPRICES_SUCCESS","DELETE_PAINTINGPRICES_FAILURE","SET_DEFAULT_PAINTINGPRICE_SUCCESS","GET_INSTALL_PRICE_SUCCESS","UPDATE_INSTALL_PRICE_SUCCESS","GET_REGION_FACTORS_SUCCESS","SEND_REGION_FACTORS_SUCCESS","getAuthToken","getLocalStorageItem","saveAuthToken","token","localStorage","setItem","getRefreshToken","saveRefreshToken","getVerificationToken","saveVerificationToken","removeVerificationToken","removeStorageItem","removeRefreshToken","removeAuthToken","name","getItem","removeItem","REQUEST_TEMPLATE","GET_MYSKETCHES_SUCCESS","GET_PRODUCT_EDITOR_STATE_SUCCESS","SAVE_SKETCH_SUCCESS","GET_SKETCH_DATA_SUCCESS","DELETE_SKETCH_SUCCESS","COPY_SKETCH_SUCCESS","TOGGLE_TEXTURE_VARIANT","GET_SKETCH_METALS_SUCCESS","GET_TEMPLATE_SUCCESS","SAVE_END","GET_MYTEMPLATES_SUCCESS","SAVE_AUTOBUILD_TEMPLATE_SUCCESS","GET_AUTOBUILD_TEMPLATE_DETAILS_SUCCESS","DELETE_AUTOBUILD_TEMPLATE_SUCCESS","GENERATE_HIDDEN_PRODUCT","MOVE_PRODUCT_TO_NEW_PROJECT","GET_ELEMENTS_FOR_SKETCHES_SUCCESS","GET_REGIONS_REQUEST","GET_REGIONS_SUCCESS","GET_REGIONS_FAILURE","GET_CITIES_REQUEST","GET_CITIES_SUCCESS","GET_CITIES_FAILURE","UPLOAD_IMAGE_REQUEST","UPLOAD_IMAGE_SUCCESS","UPLOAD_IMAGE_FAILURE","DELETE_IMAGE","GET_PRODUCT_TYPES_REQUEST","GET_PRODUCT_TYPES_FAILURE","CREATE_PROJECT_REQUEST","CREATE_PROJECT_SUCCESS","CREATE_PROJECT_FAILURE","RESET","GET_PROJECT_DETAILS_REQUEST","GET_PROJECT_DETAILS_SUCCESS","GET_PROJECT_DETAILS_FAILURE","REQUEST_PRODUCTS","GET_PRODUCTS_FOR_PROFILE_SUCCESS","SAVE_EXECUTOR_PRODUCT_SELECTION","GENERATE_KEY","GET_EXISTING_KEY","GET_PRICE_INFO","GENERATE_KEY_FAILURE","GET_PRODUCT_TYPES","GET_PRODUCTS_FOR_EMBEDDING","GET_PRODUCTS_FOR_EMBEDDING_FAILURE","GET_PRODUCT_DETAILS","RESET_FAILURE","SET_PARENT_URL_SUCCESS","GET_PARENT_URL_SUCCESS","LOAD_DETAILS","SUCCESS_LOGO_LOAD","SUCCESS_BGI_LOAD","SUCCESS_PRODUCT_LOAD","GET_MY_COMPANY_SITE","GET_TRANSACTION_DATA","UPDATE_SITE","UPDATE_SITE_FAILURE","LOAD_SITE","LOAD_SITE_FAILURE","CREATE_SITE","CREATE_SITE_FAILURE","GET_MYINFO_REQUEST","GET_MYINFO_SUCCESS","GET_MYINFO_FAILURE","SAVE_MYINFO_REQUEST","SAVE_MYINFO_SUCCESS","SAVE_MYINFO_FAILURE","EDIT_MYINFO","SEND_EMAILCONFIRMATION_REQUEST","SEND_EMAILCONFIRMATION_SUCCESS","SEND_EMAILCONFIRMATION_FAILURE","USER_SITE_REQUEST","USER_SITE_FAILURE","GET_USER_SITE_SUCCESS","GENERATE_USER_SITE_SUCCESS","SAVE_USER_SITE_SUCCESS","SAVE_USER_SITE_FAILURE","LOGIN_POST_REQUEST","LOGIN_POST_SUCCESS","LOGIN_POST_FAILED","LOGIN_SET_CURRENT_USER","LOGOUT_POST_REQUEST","LOGIN_SOCIAL_REQUEST","LOGIN_SOCIAL_SUCCESS","LOGIN_SOCIAL_FAILED","GET_ALL_INSTRUCTIONS_REQUEST","GET_ALL_INSTRUCTIONS_SUCCESS","GET_ALL_INSTRUCTIONS_FAILURE","GET_ALL_BLOG_REQUEST","GET_ALL_BLOG_SUCCESS","GET_ALL_BLOG_FAILURE","GET_SINGLE_INSTRUCTION_REQUEST","GET_SINGLE_INSTRUCTION_SUCCESS","GET_SINGLE_INSTRUCTION_FAILURE","GET_LAST_BLOG_REQUEST","GET_LAST_BLOG_SUCCESS","GET_LAST_BLOG_FAILURE","GET_INSTUCTION_TYPE_REQUEST","GET_INSTUCTION_TYPE_SUCCESS","GET_INSTUCTION_TYPE_FAILURE","GET_MESSAGES_REQUEST","GET_MESSAGES_SUCCESS","GET_MESSAGES_FAILURE","GET_MYFEEDBACKS_REQUEST","GET_MYFEEDBACKS_SUCCESS","GET_MYFEEDBACKS_FAILURE","SEND_MESSAGE_REQUEST","SEND_MESSAGE_SUCCESS","SEND_MESSAGE_FAILURE","GET_LIVE_SUPPORT_MESSAGES_REQUEST","GET_LIVE_SUPPORT_MESSAGES_SUCCESS","GET_LIVE_SUPPORT_MESSAGES_FAILURE","SEND_LIVE_SUPPORT_MESSAGE_REQUEST","SEND_LIVE_SUPPORT_MESSAGE_SUCCESS","SEND_LIVE_SUPPORT_MESSAGE_FAILURE","ATTACH_ADMIN_LIVE_SUPPORT_MESSAGE","GET_IS_ADMIN_ONLINE","GET_REQUEST","GET_FAILURE","GET_CURRENCIES_SUCCESS","GET_PRODUCTS_SUCCESS","GET_PRODUCTINFO_SUCCESS","ADD_GOOD_SUCCESS","GET_MY_GOODS_SUCCESS","SET_GOODS_ACTIVE","COPY_SUCCESS","GET_DETAILS_REQUEST","GET_DETAILS_SUCCESS","GET_METALS_SUCCESS","GET_MY_PROJECTS_SUCCESS","GET_PRODUCT_DETAILS_REQUEST","GET_PRODUCT_DETAILS_SUCCESS","RELOAD_PRODUCT_ORDER_REQUEST","RELOAD_PRODUCT_ORDER_SUCCESS","SET_LAST_SAVED_ORDER_ID","SAVE_PRODUCT_IMAGE_SUCCESS","CHANGE_PRODUCT_NAME_SUCCESS","CHANGE_DETAILS_IMAGES_SUCCESS","GET_PAINTS_SUCCESS","SAVE_ORDER_SUCCESS","GET_ORDERS_SUCCESS","GET_ORDER_DETAILS_SUCCESS","MAKE_CONTRACT_SUCCESS","GET_EXECUTOR_INFO_SUCCESS","GET_ELEMENTS_FOR_ORDERS_SUCCESS","initialState","Immutable","post","loading","success","failed","errors","social","isAuthenticated","isConfirmed","user","id","roles","loginReducer","state","action","type","types","merge","isEmpty","actionTypes","RefreshService","RefreshToken","axios","authToken","refreshToken","REFRESH_STARTED","REFRESH_SUCCESS","REFRESH_FAILED","dispatch","response","loginActions","data","err","get","description","youtubeLink","edit","emailConfirm","userSite","userSiteData","errorNameExists","myInfoReducer","payload","value","specialty","text","specialtyTypes","regOfDest","regOfServiced","regions","mySpecialtyReducer","tempTypes","Object","assign","i","length","flag","refreshReducer","registerReducer","expiredCode","undefined","phone","confirm","confirmationCode","verifyAccountReducer","expired","items","bulkUploadErrors","codeGroups","element","categories","forms","textures","category","customElementFormId","customElementTextureId","myElementsReducer","threedmodel","filter","item","countries","searchCities","regionsReducer","cities","productTypes","createSuccess","createProjectId","images","projectData","createProjectReducer","o","projects","projects2","projectsWithoutMeasurer","projectsWithoutMeasurerRequested","callMeasurerSucess","priceFactors","myProjectsReducer","projectIndex","findIndex","p","projIndex","projectId","isClosed","GET_EXECUTER_DETAILS_REQUEST","GET_EXECUTER_DETAILS_SUCCESS","GET_EXECUTER_DETAILS_FAILURE","GET_PUBLICATIONS_REQUEST","GET_PUBLICATIONS_SUCCESS","GET_PUBLICATIONS_FAILURE","SEND_INVITATION_REQUEST","SEND_INVITATION_SUCCESS","SEND_INVITATION_FAILURE","executer","publications","executerReducer","publication","GET_USERS_REQUEST","GET_USERS_SUCCESS","GET_USERS_FAILURE","SET_AUTO_MESSAGE","messages","users","autoMessage","chatReducer","userTo","u","feedbacks","liveSupportMessages","liveSupportFailed","liveSupportIsAdminOnline","feedbackReducer","isAdminOnline","newOnly","uniqueId","userSessionId","sessionId","time","Date","isUserSender","isLocal","count","m","isTempAdmin","tempAdminMessages","currency","isNotSIMeasure","loadingData","catalogProductDetails","elementsForProduct","paintForProduct","home","individualProjects","goods","elements","instructions","productsTypes","elementsCategories","executorRegions","executorCountries","elementsAndMetals","texturedMetalList","threeDTimeError","paints","projectDetails","catalogProducts","isForMyProject","catalogDIYImage","catalogTopImage","goodsForProduct","currencuFactor","executor","products","metaTitle","metaDescription","homeReducer","factor","sessions","editorSessionsReducer","metalCategories","currencies","addGoodSuccess","productInfo","myGoods","metalsForGoods","goodDetails","goodsReducer","sellers","noMoreGoods","goodsDetails","isSuccess","isFailed","factors","paintingPrices","installPriceFactor","regionFactors","calculationFactorsReducer","currValues","index","x","favoritesData","favoriteProducts","favoriteReducer","AllInstructions","SingleInstruction","LastBlogs","InstructionType","instructionsReducer","basket","getBasket","goodsInfos","elementsInfos","makeOrderSuccess","makeOrderElementsSuccess","basketReducer","sketches","editorStateData","templates","metals","saveSketchSuccess","sketchData","autobuildTemplates","autobuildTemplateDetails","sketchSaveId","elementsForSketches","autoBuildEditReducer","sketchDetails","autoBuildTemplates","autoBuildReducer","loadingFilter","typeloaded","typeloadedV2","elementsCatalog","elementFilter","elementFilterV2","noMoreElements","link","linkImage","elementDetails","elementExamples","homeInstructions","elementMatches","elementReviews","elementsReducer","elementsLink","elementsLinkImage","solution","solutionsReducer","transactions","userInfo","file","balanceReducer","loadingProducts","productsMyProfile","executorSelections","isAutoAddToCatalog","isAutoAddToCatalogSellElements","embeddingKey","productsEmbedding","productsEmbeddingError","productsEmbeddingErrorKey","productDetails","priceInfo","parentSiteInfo","embeddingReducer","executorProducts","errorKey","myCompanySite","companySite","backgroundImages","transactionData","siteCompanyError","siteCompanyReducer","logo","manufacturers","priceManufacturers","isActiveExecutor","manufacturerReducer","executors","orders","orderDetails","executorInfo","calculatorReducer","lastSavedOrderId","isOwnProduct","productDetailsImages","myProjects3Reducer","product","order","sitePortfolioReducer","elementMatchReducer","uploadedImages","myproducts","editUserProductReducer","show","title","message","messageType","toastrReducer","Types","WARNING","ERROR","HIDE","isShowPopup","questions","currentProductTypeId","questionnairePTReducer","baseUrl","document","getElementsByTagName","getAttribute","history","createBrowserHistory","basename","window","initialReduxState","store","reducers","login","language","toastr","myInfo","mySpecialty","register","verifyAccount","myElements","createProject","myProjects","executerDetails","chat","feedback","editorSessions","calculationFactors","favorite","mygoods","myGoodsReducer","autoBuildEdit","autoBuild","solutions","balance","embedding","siteCompany","manufacturer","calculator","myProjects3","sitePortfolio","elementMatch","editUserProduct","questionnairePT","middleware","getState","next","jwt","decode","refreshThreshold","Math","round","now","exp","thunk","routerMiddleware","enhancers","rootReducer","combineReducers","router","connectRouter","createStore","compose","applyMiddleware","configureStore","VERIFY_ACCOUNT_REQUEST","VERIFY_ACCOUNT_SUCCESS","VERIFY_ACCOUNT_FAILURE","SEND_SMS_REQUEST","SEND_SMS_SUCCESS","SEND_SMS_FAILURE","SET_TIMER_REQUEST","GET_ALLSELLERS_REQUEST","GET_ALLSELLERS_SUCCESS","GET_ALLSELLERS_FAILURE","FIND_GOODS_REQUEST","FIND_GOODS_SUCCESS","FIND_GOODS_FAILURE","FIND_GOODS_RESET","GET_GOODS_DETAILS_REQUEST","GET_GOODS_DETAILS_SUCCESS","GET_GOODS_DETAILS_FAILURE","amplitudeTypes","OPEN_WEBSITE","REGISTER","REGISTER_START","PROJECT_CREATE","PROJECT_CREATE_START","PROJECT_CLOSE","PUBLICATION","CONTRACT","OPEN_DEMO_EDITOR","CLICK_ABOUT_US","CLICK_FOR_BUSINESS","CLICK_HOW_TO_ORDER","CLICK_MORE_PRODUCTS","CLICK_MORE_GOODS","CLICK_MORE_ELEMENTS","CLICK_PRIVACY","CLICK_TERMS_OF_USE","CLICK_TARIFFS","CLICK_PROJECT_CREATE_HOMEPAGE","CLICK_PROJECT_CREATE_DEMO","CLICK_PROJECT_CANCEL_DEMO","CLICK_OPEN_EDITOR","CLICK_GOOGLE_PLAY","CLICK_IOS_STORE","OPEN_CATALOG_PRODUCTS","OPEN_CATALOG_PRODUCTS_DIY","OPEN_CATALOG_GOODS","OPEN_DEMO_FROM_PRODUCT","OPEN_CATALOG_PRODUCTS_BY_ID","OPEN_SOLUTION_MAIN","CREATE_NEW_PRODUCT","CREATE_NEW_OPTION","CREATE_NEW_PRODUCT_OBJECT","CALCULATE_SERVICE_USAGE","DOWNLOAD_DESIGN","CONSTRUCTOR_OPEN","SHARE_CLICK","CATALOG_APPLY_CLICK","MY_PROFILE_OPEN","CALCULATE_PRICE_KOEF_USAGE","CALCULATE_PRICE_KOEF_SAVE","SAVE_NEW_PRODUCT","APPLY_TEMPLATE_ON_SKETCH_DETAILS","CONTACT_MANUFACTURER","BECOME_MANUFACTURER","OPEN_INSTRUCTION_PAGE","OPEN_SOLUTION_BY_ID","CREATE_COMPANY_SITE","CREATE_EMBEDDING_SITE","GET_PIDKOVA_PHONE","GET_MANUFACTURER_PHONE","OPEN_CALCULATOR","CATALOG_IMCUSTOMER_CLICK","CATALOG_IMEXECUTOR_CLICK","EXECUTOR_DETAILS_SHOWPHONE","EXECUTOR_DETAILS_MAKECALL","EXECUTOR_DETAILS_VIBER","EXECUTOR_DETAILS_ORDER","initAmplitude","amplitude","location","host","indexOf","getInstance","init","deviceId","MathHelper","uuidv4","setDeviceId","setAmplitudeUserId","userId","setUserId","sendAmplitudeData","eventType","eventProperties","logEvent","GET_COUNTRIES_SUCCESS","CLEAR_SEARCH_CITIES","SET_CURRENCY_SUCCESS","SET_BILL_SUCCESS","GET_TRANSACTION_SUCCESS","GET_PPEUSER_SUCCESS","SET_PPEUSER_SUCCESS","GET_ACT_SUCCESS","base64","split","replace","jsonPayload","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","JSON","parse","TOGGLE_POPUP","SET_PRODUCT_TYPE","GET_QUESTIONS_SUCCESS","SEND_ANSWERS_SUCCESS","GET_MYSPECIALTY_REQUEST","GET_MYSPECIALTY_SUCCESS","GET_MYSPECIALTY_FAILURE","SAVE_MYSPECIALTY_REQUEST","SAVE_MYSPECIALTY_SUCCESS","SAVE_MYSPECIALTY_FAILURE","EDIT_MYSPECIALTY","UPLOAD_USER_PRODUCT_IMAGE_SUCCESS","SAVE_USER_PRODUCT_SUCCESS","GET_MY_USER_PRODUCTS_SUCCESS","DELETE_USER_PRODUCT_SUCCESS","CHANGE_PRICE_PRODUCT_SUCCESS","GET_SELLERS_SUCCESS","SAVE_ELEMENT_MATCH_SUCCESS","REGISTER_SIMPLE_REQUEST","REGISTER_SIMPLE_SUCCESS","REGISTER_SIMPLE_FAILURE","SET_DEMO_REQUEST","SET_DEMO_SUCCESS","SET_DEMO_FAILURE","GET_MANUFACTORERS_SUCCESS","GET_PRICE_MANUFACTORERS_SUCCESS","SEND_CONTACT_REQUEST_SUCCESS","BECOME_MANUFACTURER_REQUEST_SUCCESS","GET_FAVORITES_PRODUCTS_REQUEST","GET_FAVORITES_PRODUCTS_SUCCESS","GET_FAVORITES_PRODUCTS_FAILURE","ADD_FAVORITES_REQUEST","ADD_FAVORITES_SUCCESS","ADD_FAVORITES_FAILURE","REMOVE_FAVORITES_REQUEST","REMOVE_FAVORITES_SUCCESS","REMOVE_FAVORITES_FAILURE","GET_FAVORITES_REQUEST","GET_FAVORITES_SUCCESS","GET_FAVORITES_FAILURE","LOAD_FAVORITES_LOCAL","GET_SKETCHES_SUCCESS","GET_SKETCH_DETAILS_SUCCESS","GET_TEMPLATES_SUCCESS","GET_PORFOLIO_IMAGES_SUCCESS","sellElements","productionElements","setupElements","designElements","customer","setAuthorizationToken","defaults","headers","common","SET_LANGUAGE_REQUEST","SET_LANGUAGE_SUCCESS","SET_LANGUAGE_FAILURE","GET_SOLUTION_REQUEST","GET_SOLUTION_SUCCESS","GET_SOLUTION_FAILURE","GET_MYEDITORSESSIONS_REQUEST","GET_MYEDITORSESSIONS_SUCCESS","GET_MYEDITORSESSIONS_FAILURE","LanguageStorage","localizePath","path","pathNew","pathParts","pathname","currentLang","localeFromPath","lang","getPathWithoutLang","startsWith","substring","LoginService","model","rolesIdentity","nameIdentity","loginStarted","loginSuccess","loginFailed","setCurrentUser","logoutStarted","loginPost","loginByJWT","tokenData","loginSocial","logout","logoutByJWT","tokens","ownname","isExecutor","Array","isArray","of","push","passwordRecoveryRequest","callback","passwordRecoveryFinish","FullPageLoaderNoText","className","role","Component","mm","rad","PI","degree","inch","this","mmToInch","val","inchToMm","crypto","getRandomValues","Uint8Array","HistoryStorage","historyArray","isRedirectToConstructor","isRedirectToMyJobs","addProductToBasket","productId","setBasket","addGoodsToBasket","goodsItem","new_item","parseInt","changeBasketFromState","basketLocal","addElementsToBasket","elementsItem","forEach","stringify","clearBasket","basket_storage","getGoodsByIds","makeOrder","getElementsByIds","makeElementsOrder","i18n","use","Backend","LanguageDetector","initReactI18next","fallbackLng","debug","interpolation","escapeValue","detection","ToastrView","props","colorFromType","prevProps","hide","style","backgroundColor","connect","amp","hostname","timeout","navigator","userAgent","baseURL","rax","attach","setAuthorizationTokenModule","default","AppTitleHelper","ErrorBoundary","MainLayout","MainLayoutFullWidth","GuestRoute","UserRoute","MyProfileLayout","MainLayoutHome","MyCompanyLayout","UserRouteExecutor","UserRoutePortfolio","UnConfirmAccountRoute","UserRouteSeller","CookiesBanner","HomeCatalogTurnkeyPage","MyProjectsV3","MyProductDetails","HomePage","HomeCatalogPageV4","CatalogProductDetails","ExecutorDetailsPage","CatalogProductPageDIY","GoodsListPage","ManufacturersPage","GoodsDetailsPage","ElementsListPage","ElementDetailsPage","SolutionFooter","RegisterPage","LoginPage","RecoverPasswordPage","MyInfoPage","MySpecialtyPage","EditSiteProtforlioPage","VerificateAccountPage","MyElementsPage","ElementMatchPage","MyElementPage","BulkUploadInfoPage","MyEditorSessions","MyGoods","AddGoods","AddPaints","AddProfsheet","AddMetal","AddGateAutomation","MyFeedbacksPage","FeedbackChatPage","MyProjectsPageV2","CalculateFactorsPage","EditUserProductsPage","AllInstructionsPage","InstructionPage","FavoriteProductsPage","BasketPage","MySketchesPage","MySketchesElementsPage","EditSketchPage","MyAutoBuildTemplatesPage","EditAutoBuildTemplatePage","AutoBuildCreateProduct","MainSolutionPage","SolutionPage","BalancePage","ExecutorSettingsPage","EmbedingCatalogPage","EmbeddingDetailsPage","SiteCompanyServicePage","CompanyPage","CompanyPage3dCatalog","CompanyPageContacts","CompanyPagePortfolio","CompanyPageProductsDetails","CalculatorPage","MyOrdersPage","NewProductPage","QuestionnairePage","CreateProductMobile","App","isModulesLoaded","moduleLoadInterval","setInterval","ModulesLoadedCount","console","log","clearInterval","setState","unlisten","listen","scrollTo","showCookieBanner","fallback","exact","layout","component","hideFooter","rootElement","getElementById","ReactDOM","render"],"mappings":"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","file":"static/js/main.70463152.chunk.js","sourcesContent":["import React from 'react';\r\n\r\nconst NubmerOfTries = 3;\r\n\r\nexport default function loadlazy(importFunc) {\r\n return React.lazy(() => componentLoader(importFunc, NubmerOfTries));\r\n}\r\n\r\nexport function componentLoader(lazyComponent, attemptsLeft) {\r\n return new Promise((resolve, reject) => {\r\n lazyComponent()\r\n .then(resolve)\r\n .catch((error) => {\r\n setTimeout(() => {\r\n if (attemptsLeft === 1) {\r\n reject(error);\r\n return;\r\n }\r\n componentLoader(lazyComponent, attemptsLeft - 1).then(resolve, reject);\r\n }, 500);\r\n });\r\n });\r\n}","export const GET_MYELEMENTS_REQUEST = 'myelements/GET_MYELEMENTS_REQUEST';\r\nexport const GET_MYELEMENTS_SUCCESS = 'myelements/GET_MYELEMENTS_SUCCESS';\r\nexport const GET_MYELEMENTS_FAILURE = 'myelements/GET_MYELEMENTS_FAILURE';\r\n\r\n\r\nexport const GET_MYELEMENT_REQUEST = 'myelements/GET_MYELEMENT_REQUEST';\r\nexport const GET_MYELEMENT_SUCCESS = 'myelements/GET_MYELEMENT_SUCCESS';\r\nexport const GET_MYELEMENT_FAILURE = 'myelements/GET_MYELEMENT_FAILURE';\r\n\r\n\r\nexport const GET_CATEGORIES_REQUEST = 'myelements/GET_CATEGORIES_REQUEST';\r\nexport const GET_CATEGORIES_SUCCESS = 'myelements/GET_CATEGORIES_SUCCESS';\r\nexport const GET_CATEGORIES_FAILURE = 'myelements/GET_CATEGORIES_FAILURE';\r\n\r\nexport const GET_ELEMENTFORM_REQUEST = 'myelements/GET_ELEMENTFORM_REQUEST';\r\nexport const GET_ELEMENTFORM_SUCCESS = 'myelements/GET_ELEMENTFORM_SUCCESS';\r\nexport const GET_ELEMENTFORM_FAILURE = 'myelements/GET_ELEMENTFORM_FAILURE';\r\n\r\nexport const GET_ELEMENTTEXTURES_REQUEST = 'myelements/GET_ELEMENTTEXTURES_REQUEST';\r\nexport const GET_ELEMENTTEXTURES_SUCCESS = 'myelements/GET_ELEMENTTEXTURES_SUCCESS';\r\nexport const GET_ELEMENTTEXTURES_FAILURE = 'myelements/GET_ELEMENTTEXTURES_FAILURE';\r\n\r\nexport const UPDATE_ELEMENT_REQUEST = 'myelements/UPDATE_ELEMENT_REQUEST';\r\nexport const UPDATE_ELEMENT_SUCCESS = 'myelements/UPDATE_ELEMENT_SUCCESS';\r\nexport const UPDATE_ELEMENT_FAILURE = 'myelements/UPDATE_ELEMENT_FAILURE';\r\n\r\nexport const UPLOAD_THREEDMODEL_REQUEST = 'myelements/UPLOAD_THREEDMODEL_REQUEST';\r\nexport const UPLOAD_THREEDMODEL_SUCCESS = 'myelements/UPLOAD_THREEDMODEL_SUCCESS';\r\nexport const UPLOAD_THREEDMODEL_FAILURE = 'myelements/UPLOAD_THREEDMODEL_FAILURE';\r\n\r\nexport const UPLOAD_ELEMENTFORM_REQUEST = 'myelements/UPLOAD_ELEMENTFORM_REQUEST';\r\nexport const UPLOAD_ELEMENTFORM_SUCCESS = 'myelements/UPLOAD_ELEMENTFORM_SUCCESS';\r\nexport const UPLOAD_ELEMENTFORM_FAILURE = 'myelements/UPLOAD_ELEMENTFORM_FAILURE';\r\n\r\nexport const UPLOAD_ELEMENTTEXTURE_REQUEST = 'myelements/UPLOAD_ELEMENTTEXTURE_REQUEST';\r\nexport const UPLOAD_ELEMENTTEXTURE_SUCCESS = 'myelements/UPLOAD_ELEMENTTEXTURE_SUCCESS';\r\nexport const UPLOAD_ELEMENTTEXTURE_FAILURE = 'myelements/UPLOAD_ELEMENTTEXTURE_FAILURE';\r\n\r\nexport const DELETE_ELEMENT_REQUEST = 'myelements/DELETE_ELEMENT_REQUEST';\r\nexport const DELETE_ELEMENT_SUCCESS = 'myelements/DELETE_ELEMENT_SUCCESS';\r\nexport const DELETE_ELEMENT_FAILURE = 'myelements/DELETE_ELEMENT_FAILURE';\r\n\r\nexport const UPLOAD_BULKELEMENTS_REQUEST = 'myelements/UPLOAD_BULKELEMENTS_REQUEST';\r\nexport const UPLOAD_BULKELEMENTS_SUCCESS = 'myelements/UPLOAD_BULKELEMENTS_SUCCESS';\r\nexport const UPLOAD_BULKELEMENTS_FAILURE = 'myelements/UPLOAD_BULKELEMENTS_FAILURE';\r\n\r\nexport const CHANGE_AVAILABILITY_REQUEST = 'myelements/CHANGE_AVAILABILITY_REQUEST';\r\nexport const CHANGE_AVAILABILITY_SUCCESS = 'myelements/CHANGE_AVAILABILITY_SUCCESS';\r\nexport const CHANGE_AVAILABILITY_FAILURE = 'myelements/CHANGE_AVAILABILITY_FAILURE';\r\n\r\nexport const REQUEST = 'myelements/REQUEST';\r\nexport const GET_LOADED_IMAGE_SUCCESS = 'myelements/GET_LOADED_IMAGE_SUCCESS';\r\nexport const DELETE_IMAGE_SUCCESS = 'myelements/DELETE_IMAGE_SUCCESS';\r\nexport const FAILURE = 'myelements/FAILURE';\r\nexport const CHANGE_WRAPPER_SUCCESS = 'myelements/CHANGE_WRAPPER_SUCCESS';\r\n\r\nexport const GET_CODE_GROUPS = 'myelements/GET_CODE_GROUPS';\r\nexport const SAVE_CODE_GROUP = 'myelements/SAVE_CODE_GROUP';\r\nexport const SAVE_CODE = 'myelements/SAVE_CODE';","export const GET_CLOSEDPROJECTS_REQUEST = 'homeproject/GET_CLOSEDPROJECTS_REQUEST';\r\nexport const GET_CLOSEDPROJECTS_SUCCESS = 'homeproject/GET_CLOSEDPROJECTS_SUCCESS';\r\nexport const GET_CLOSEDPROJECTS_FAILURE = 'homeproject/GET_CLOSEDPROJECTS_FAILURE';\r\nexport const CLEAR_CLOSEDPROJECTS = 'homeproject/CLEAR_CLOSEDPROJECTS';\r\n\r\nexport const GET_PROJECTDETAILS_REQUEST = 'homeproject/GET_PROJECTDETAILS_REQUEST';\r\nexport const GET_PROJECTDETAILS_SUCCESS = 'homeproject/GET_PROJECTDETAILS_SUCCESS';\r\nexport const GET_PROJECTDETAILS_FAILURE = 'homeproject/GET_PROJECTDETAILS_FAILURE';\r\n\r\nexport const SEND_ORDERTOSELLER_REQUEST = 'homeproject/SEND_ORDERTOSELLER_REQUEST';\r\nexport const SEND_ORDERTOSELLER_SUCCESS = 'homeproject/SEND_ORDERTOSELLER_SUCCESS';\r\nexport const SEND_ORDERTOSELLER_FAILURE = 'homeproject/SEND_ORDERTOSELLER_FAILURE';\r\n\r\nexport const SET_CURRENCY = 'home/SET_CURRENCY';\r\nexport const SET_ISNOTSIMEASURE = 'home/SET_ISNOTSIMEASURE';\r\n\r\nexport const GET_HOMEDATA_REQUEST = 'home/GET_HOMEDATA_REQUEST';\r\nexport const GET_HOMEDATA_SUCCESS = 'home/GET_HOMEDATA_SUCCESS';\r\nexport const GET_HOMEDATA_FAILURE = 'home/GET_HOMEDATA_FAILURE';\r\n\r\nexport const GET_CLOSEDPRODUCTS_REQUEST = 'home/GET_CLOSEDPRODUCTS_REQUEST';\r\nexport const GET_CLOSEDPRODUCTS_SUCCESS = 'home/GET_CLOSEDPRODUCTS_SUCCESS';\r\nexport const GET_CLOSEDPRODUCTS_FAILURE = 'home/GET_CLOSEDPRODUCTS_FAILURE';\r\n\r\nexport const GET_PRODUCTTDETAILS_REQUEST = 'homeproject/GET_PRODUCTTDETAILS_REQUEST';\r\nexport const GET_PRODUCTTDETAILS_SUCCESS = 'homeproject/GET_PRODUCTTDETAILS_SUCCESS';\r\nexport const GET_PRODUCTTDETAILS_FAILURE = 'homeproject/GET_PRODUCTTDETAILS_FAILURE';\r\n\r\nexport const THREED_TIME_OUT = \"home/3D_TIME_OUT\";\r\nexport const THREED_TIME_OUT_FLUSH = \"home/THREED_TIME_OUT_FLUSH\";\r\n\r\nexport const REQUEST = 'home/REQUEST';\r\nexport const FAILURE = 'home/FAILURE';\r\nexport const SUCCESS = 'home/SUCCESS';\r\n\r\nexport const GET_ELEMENTS_FOR_PRODUCT_REQUEST = 'home/GET_ELEMENTS_FOR_PRODUCT_REQUEST';\r\nexport const GET_ELEMENTS_FOR_PRODUCT_SUCCESS = 'home/GET_ELEMENTS_FOR_PRODUCT_SUCCESS';\r\n\r\nexport const GET_LIST_ELEMENTS_AND_METALS_FOR_PRODUCT_SUCCESS = 'home/GET_LIST_ELEMENTS_AND_METALS_FOR_PRODUCT_SUCCESS';\r\n\r\nexport const GET_PRODUCT_TYPES_SUCCESS = 'home/GET_PRODUCT_TYPES_SUCCESS';\r\n\r\nexport const GET_TEXTURED_METALS_LIST_SUCCESS = 'home/GET_TEXTURED_METALS_LIST_SUCCESS';\r\nexport const REQUEST_METALS_LIST = 'home/REQUEST_METALS_LIST';\r\nexport const FAILURE_METALS_LIST = 'home/FAILURE_METALS_LIST';\r\n\r\nexport const GET_PRINTS_SUCCESS = 'home/GET_PRINTS_SUCCESS';\r\nexport const SET_PAINT_TO_PRODUCT_REQUEST = 'home/SET_PAINT_TO_PRODUCT_REQUEST';\r\nexport const SET_PAINT_TO_PRODUCT_SUCCESS = 'home/SET_PAINT_TO_PRODUCT_SUCCESS';\r\n\r\nexport const GET_EXECUTOR_DETAILS_SUCCESS = 'home/GET_EXECUTOR_DETAILS_SUCCESS';\r\nexport const GET_CATALOG_DIY_IMAGE_SUCCESS = 'home/GET_CATALOG_DIY_IMAGE_SUCCESS';\r\nexport const GET_CURRENCY_INFO_SUCCESS = 'home/GET_CURRENCY_INFO_SUCCESS';\r\n\r\n","export const GET_ELEMENTS_REQUEST = 'elements/GET_ELEMENTS_REQUEST';\r\nexport const GET_ELEMENTS_SUCCESS = 'elements/GET_ELEMENTS_SUCCESS';\r\nexport const GET_ELEMENTS_FAILURE = 'elements/GET_ELEMENTS_FAILURE';\r\n\r\nexport const GET_FILTER_REQUEST = 'elements/GET_FILTER_REQUEST';\r\nexport const GET_FILTER_SUCCESS = 'elements/GET_FILTER_SUCCESS';\r\nexport const GET_FILTER_FAILURE = 'elements/GET_FILTER_FAILURE';\r\n\r\nexport const SET_ELEMENTS_ZERO = 'elements/SET_ELEMENTS_ZERO';\r\nexport const GET_LINK_SUCCESS = 'elements/GET_LINK_SUCCESS';\r\n\r\nexport const GET_FILTER_V2_REQUEST = 'elements/GET_FILTER_V2_REQUEST';\r\nexport const GET_FILTER_V2_SUCCESS = 'elements/GET_FILTER_V2_SUCCESS';\r\nexport const GET_FILTER_V2_FAILURE = 'elements/GET_FILTER_V2_FAILURE';\r\n\r\nexport const GET_ELEMENT_DETAILS_REQUEST = 'elements/GET_ELEMENT_DETAILS_REQUEST';\r\nexport const GET_ELEMENT_DETAILS_SUCCESS = 'elements/GET_ELEMENT_DETAILS_SUCCESS';\r\nexport const GET_ELEMENT_DETAILS_FAILURE = 'elements/GET_ELEMENT_DETAILS_FAILURE';\r\n\r\nexport const GET_ELEMENT_EXAMPLES_REQUEST = 'elements/GET_ELEMENT_EXAMPLES_REQUEST';\r\nexport const GET_ELEMENT_EXAMPLES_SUCCESS = 'elements/GET_ELEMENT_EXAMPLES_SUCCESS';\r\nexport const GET_ELEMENT_EXAMPLES_FAILURE = 'elements/GET_ELEMENT_EXAMPLES_FAILURE';\r\n\r\nexport const GET_HOME_INSTRUCTIONS_SUCCESS = 'elements/GET_HOME_INSTRUCTIONS_SUCCESS';\r\nexport const GET_HOME_INSTRUCTIONS_FAILURE = 'elements/GET_HOME_INSTRUCTIONS_FAILURE';\r\n\r\nexport const GET_ELEMENT_MATCHES_REQUEST = 'elements/GET_ELEMENT_MATCHES_REQUEST';\r\nexport const GET_ELEMENT_MATCHES_SUCCESS = 'elements/GET_ELEMENT_MATCHES_SUCCESS';\r\nexport const GET_ELEMENT_MATCHES_FAILURE = 'elements/GET_ELEMENT_MATCHES_FAILURE';\r\n\r\nexport const POST_ELEMENT_REVIEW_REQUEST = 'elements/POST_ELEMENT_REVIEW_REQUEST';\r\nexport const POST_ELEMENT_REVIEW_SUCCESS = 'elements/POST_ELEMENT_REVIEW_SUCCESS';\r\nexport const POST_ELEMENT_REVIEW_FAILURE = 'elements/POST_ELEMENT_REVIEW_FAILURE';\r\n\r\nexport const GET_ELEMENT_REVIEWS_REQUEST = 'elements/GET_ELEMENT_REVIEWS_REQUEST';\r\nexport const GET_ELEMENT_REVIEWS_SUCCESS = 'elements/GET_ELEMENT_REVIEWS_SUCCESS';\r\nexport const GET_ELEMENT_REVIEWS_FAILURE = 'elements/GET_ELEMENT_REVIEWS_FAILURE';","export const REFRESH_BASKET = 'basket/REFRESH_BASKET';\r\nexport const REFRESH_BASKET_WITHOUT_PAGE_UPDATE = 'basket/REFRESH_BASKET_WITHOUT_PAGE_UPDATE';\r\n\r\nexport const REQUEST = 'basket/REQUEST';\r\nexport const FAILURE = 'basket/FAILURE';\r\n\r\nexport const GET_GOODS_BY_IDS_SUCCESS = 'basket/GET_GOODS_BY_IDS_SUCCESS';\r\nexport const MAKE_ORDER_SUCCESS = 'basket/MAKE_ORDER_SUCCESS';\r\n\r\n\r\nexport const GET_ELEMENTS_BY_IDS_SUCCESS = 'basket/GET_ELEMENTS_BY_IDS_SUCCESS';\r\nexport const MAKE_ELEMENTS_ORDER_SUCCESS = 'basket/MAKE_ELEMENTS_ORDER_SUCCESS';","export const GET_MYPROJECTS_REQUEST = 'myproject/GET_MYPROJECTS_REQUEST';\r\nexport const GET_MYPROJECTS_SUCCESS = 'myproject/GET_MYPROJECTS_SUCCESS';\r\nexport const GET_MYPROJECTSV2_SUCCESS = 'myproject/GET_MYPROJECTSV2_SUCCESS';\r\nexport const GET_MYPROJECTS_FAILURE = 'myproject/GET_MYPROJECTS_FAILURE';\r\n\r\nexport const GET_PROJECTS_WITHOUT_MEASURER_REQUEST = 'myproject/GET_PROJECTS_WITHOUT_MEASURER_REQUEST';\r\nexport const GET_PROJECTS_WITHOUT_MEASURER_SUCCESS = 'myproject/GET_PROJECTS_WITHOUT_MEASURER_SUCCESS';\r\nexport const GET_PROJECTS_WITHOUT_MEASURER_FAILURE = 'myproject/GET_PROJECTS_WITHOUT_MEASURER_FAILURE';\r\n\r\nexport const CALL_MEASURER_REQUEST = 'myproject/CALL_MEASURER_REQUEST';\r\nexport const CALL_MEASURER_SUCCESS = 'myproject/CALL_MEASURER_SUCCESS';\r\nexport const CALL_MEASURER_FAILURE = 'myproject/CALL_MEASURER_FAILURE';\r\n\r\nexport const DELETE_PROJECT_REQUEST = 'myproject/DELETE_PROJECT_REQUEST';\r\nexport const DELETE_PROJECT_SUCCESS = 'myproject/DELETE_PROJECT_SUCCESS';\r\nexport const DELETE_PROJECT_FAILURE = 'myproject/DELETE_PROJECT_FAILURE';\r\n\r\nexport const CREATE_PRODUCT_REQUEST = 'myproject/CREATE_PRODUCT_REQUEST';\r\nexport const CREATE_PRODUCT_SUCCESS = 'myproject/CREATE_PRODUCT_SUCCESS';\r\nexport const CREATE_PRODUCT_FAILURE = 'myproject/CREATE_PRODUCT_FAILURE';\r\n\r\nexport const REQUEST = 'myproject/REQUEST';\r\nexport const FAILURE = 'myproject/FAILURE';\r\n\r\nexport const CALCULATE_PRICE_SUCCESS = 'myproject/CALCULATE_PRICE_SUCCESS';\r\nexport const DELETE_PRODUCT_SUCCESS = 'myproject/DELETE_PRODUCT_SUCCESS';\r\nexport const DELETE_PRODUCT_GROUP_SUCCESS = 'myproject/DELETE_PRODUCT_GROUP_SUCCESS';\r\nexport const GET_SPECIFICATION_SUCCESS = 'myproject/GET_SPECIFICATION_SUCCESS';\r\nexport const UPDATE_PROJECT_NAME_SUCCESS = 'myproject/UPDATE_PROJECT_NAME_SUCCESS';\r\n\r\nexport const CLOSE_PROJECT_SUCCESS = 'myproject/CLOSE_PROJECT_SUCCESS';\r\nexport const GET_MY_PRICE_FACTOR = 'myproject/GET_MY_PRICE_FACTOR';","export const REQUEST = \"calculationFactors/REQUEST\";\r\nexport const FAILURE = \"calculationFactors/FAILURE\";\r\n\r\nexport const ADD_CALCULATEFACTORS_REQUEST = \"calculationFactors/ADD_CALCULATEFACTORS_REQUEST\";\r\nexport const ADD_CALCULATEFACTORS_SUCCESS = \"calculationFactors/ADD_CALCULATEFACTORS_SUCCESS\";\r\nexport const ADD_CALCULATEFACTORS_FAILURE = \"calculationFactors/ADD_CALCULATEFACTORS_FAILURE\";\r\n\r\nexport const GET_CALCULATEFACTORS_REQUEST = \"calculationFactors/GET_CALCULATEFACTORS_REQUEST\";\r\nexport const GET_CALCULATEFACTORS_SUCCESS = \"calculationFactors/GET_CALCULATEFACTORS_SUCCESS\";\r\nexport const GET_CALCULATEFACTORS_FAILURE = \"calculationFactors/GET_CALCULATEFACTORS_FAILURE\";\r\n\r\nexport const ADD_PAINTINGSPRICE_REQUEST = \"calculationFactors/ADD_PAINTINGSPRICE_REQUEST\";\r\nexport const ADD_PAINTINGSPRICE_SUCCESS = \"calculationFactors/ADD_PAINTINGSPRICE_SUCCESS\";\r\nexport const ADD_PAINTINGSPRICE_FAILURE = \"calculationFactors/ADD_PAINTINGSPRICE_FAILURE\";\r\n\r\nexport const GET_PAINTINGPRICES_REQUEST = \"calculationFactors/GET_PAINTINGPRICES_REQUEST\";\r\nexport const GET_PAINTINGPRICES_SUCCESS = \"calculationFactors/GET_PAINTINGPRICES_SUCCESS\";\r\nexport const GET_PAINTINGPRICES_FAILURE = \"calculationFactors/GET_PAINTINGPRICES_FAILURE\";\r\n\r\nexport const UPDATE_PAINTINGPRICES_REQUEST = \"calculationFactors/UPDATE_PAINTINGPRICES_REQUEST\";\r\nexport const UPDATE_PAINTINGPRICES_SUCCESS = \"calculationFactors/UPDATE_PAINTINGPRICES_SUCCESS\";\r\nexport const UPDATE_PAINTINGPRICES_FAILURE = \"calculationFactors/UPDATE_PAINTINGPRICES_FAILURE\";\r\n\r\nexport const DELETE_PAINTINGPRICES_REQUEST = \"calculationFactors/DELETE_PAINTINGPRICES_REQUEST\";\r\nexport const DELETE_PAINTINGPRICES_SUCCESS = \"calculationFactors/DELETE_PAINTINGPRICES_SUCCESS\";\r\nexport const DELETE_PAINTINGPRICES_FAILURE = \"calculationFactors/DELETE_PAINTINGPRICES_FAILURE\";\r\n\r\nexport const SET_DEFAULT_PAINTINGPRICE_SUCCESS = \"calculationFactors/SET_DEFAULT_PAINTINGPRICE_SUCCESS\";\r\nexport const GET_INSTALL_PRICE_SUCCESS = \"calculationFactors/GET_INSTALL_PRICE_SUCCESS\";\r\nexport const UPDATE_INSTALL_PRICE_SUCCESS = \"calculationFactors/UPDATE_INSTALL_PRICE_SUCCESS\";\r\n\r\nexport const GET_REGION_FACTORS_SUCCESS = \"calculationFactors/GET_REGION_FACTORS_SUCCESS\";\r\nexport const SEND_REGION_FACTORS_SUCCESS = \"calculationFactors/SEND_REGION_FACTORS_SUCCESS\";\r\n","// Auth token\r\nexport const getAuthToken=()=>{\r\n return getLocalStorageItem('authToken');\r\n}\r\n\r\nexport const saveAuthToken=(token)=> {\r\n localStorage.setItem('authToken', token);\r\n}\r\n\r\n\r\n// Refresh token\r\nexport const getRefreshToken=()=> {\r\n return getLocalStorageItem('refreshToken');\r\n}\r\n\r\nexport const saveRefreshToken=(token)=> {\r\n localStorage.setItem('refreshToken', token);\r\n}\r\n\r\n\r\n// Verif token\r\nexport const getVerificationToken=()=> {\r\n return getLocalStorageItem('verToken');\r\n}\r\nexport const saveVerificationToken=(token)=> {\r\n localStorage.setItem('verToken', token);\r\n}\r\n\r\n\r\n//Remove token\r\nexport const removeVerificationToken=()=> {\r\n return removeStorageItem('verToken');\r\n}\r\n\r\nexport const removeRefreshToken=()=> {\r\n return removeStorageItem('refreshToken');\r\n}\r\n\r\nexport const removeAuthToken=()=> {\r\n return removeStorageItem('authToken');\r\n}\r\n\r\n\r\n// For all\r\nconst getLocalStorageItem=(name)=>{\r\n return localStorage.getItem(name);\r\n}\r\n\r\nconst removeStorageItem=(name)=>{\r\n return localStorage.removeItem(name);\r\n}\r\n\r\n","export const REQUEST = 'autoBuildEdit/REQUEST';\r\nexport const FAILURE = 'autoBuildEdit/FAILURE';\r\nexport const SUCCESS = 'autoBuildEdit/SUCCESS';\r\nexport const REQUEST_TEMPLATE = 'autoBuildEdit/REQUEST_TEMPLATE';\r\n\r\nexport const GET_MYSKETCHES_SUCCESS = 'autoBuildEdit/GET_MYSKETCHES_SUCCESS';\r\nexport const GET_PRODUCT_EDITOR_STATE_SUCCESS = 'autoBuildEdit/GET_PRODUCT_EDITOR_STATE_SUCCESS';\r\nexport const SAVE_SKETCH_SUCCESS = 'autoBuildEdit/SAVE_SKETCH_SUCCESS';\r\nexport const GET_SKETCH_DATA_SUCCESS = 'autoBuildEdit/GET_SKETCH_DATA_SUCCESS';\r\nexport const DELETE_SKETCH_SUCCESS = 'autoBuildEdit/DELETE_SKETCH_SUCCESS';\r\n\r\nexport const COPY_SKETCH_SUCCESS = 'autoBuildEdit/COPY_SKETCH_SUCCESS';\r\nexport const TOGGLE_TEXTURE_VARIANT = \"autoBuildEdit/TOGGLE_TEXTURE_VARIANT\";\r\n\r\nexport const GET_SKETCH_METALS_SUCCESS = 'autoBuild/GET_SKETCH_METALS_SUCCESS';\r\n\r\nexport const GET_TEMPLATE_SUCCESS = 'autoBuild/GET_TEMPLATE_SUCCESS';\r\n\r\nexport const SAVE_END = 'autoBuild/SAVE_END';\r\nexport const GET_MYTEMPLATES_SUCCESS = 'autoBuildEdit/GET_MYTEMPLATES_SUCCESS';\r\nexport const SAVE_AUTOBUILD_TEMPLATE_SUCCESS = 'autoBuildEdit/SAVE_AUTOBUILD_TEMPLATE_SUCCESS';\r\nexport const GET_AUTOBUILD_TEMPLATE_DETAILS_SUCCESS = 'autoBuildEdit/GET_AUTOBUILD_TEMPLATE_DETAILS_SUCCESS';\r\nexport const DELETE_AUTOBUILD_TEMPLATE_SUCCESS = 'autoBuildEdit/DELETE_AUTOBUILD_TEMPLATE_SUCCESS';\r\n\r\nexport const GENERATE_HIDDEN_PRODUCT = \"autoBuildEdit/GENERATE_HIDDEN_PRODUCT\";\r\nexport const MOVE_PRODUCT_TO_NEW_PROJECT = \"autoBuildEdit/MOVE_PRODUCT_TO_NEW_PROJECT\";\r\n\r\nexport const GET_ELEMENTS_FOR_SKETCHES_SUCCESS = \"autoBuildEdit/GET_ELEMENTS_FOR_SKETCHES_SUCCESS\";","export const GET_REGIONS_REQUEST = 'createproject/GET_REGIONS_REQUEST';\r\nexport const GET_REGIONS_SUCCESS = 'createproject/GET_REGIONS_SUCCESS';\r\nexport const GET_REGIONS_FAILURE = 'createproject/GET_REGIONS_FAILURE';\r\n\r\nexport const GET_CITIES_REQUEST = 'createproject/GET_CITIES_REQUEST';\r\nexport const GET_CITIES_SUCCESS = 'createproject/GET_CITIES_SUCCESS';\r\nexport const GET_CITIES_FAILURE = 'createproject/GET_CITIES_FAILURE';\r\n\r\nexport const UPLOAD_IMAGE_REQUEST = 'createproject/UPLOAD_IMAGE_REQUEST';\r\nexport const UPLOAD_IMAGE_SUCCESS = 'createproject/UPLOAD_IMAGE_SUCCESS';\r\nexport const UPLOAD_IMAGE_FAILURE = 'createproject/UPLOAD_IMAGE_FAILURE';\r\n\r\nexport const DELETE_IMAGE = 'createproject/DELETE_IMAGE';\r\n\r\nexport const GET_PRODUCT_TYPES_REQUEST = 'createproject/GET_PRODUCT_TYPES_REQUEST';\r\nexport const GET_PRODUCT_TYPES_SUCCESS = 'createproject/GET_PRODUCT_TYPES_SUCCESS';\r\nexport const GET_PRODUCT_TYPES_FAILURE = 'createproject/GET_PRODUCT_TYPES_FAILURE';\r\n\r\nexport const CREATE_PROJECT_REQUEST = 'createproject/CREATE_PROJECT_REQUEST';\r\nexport const CREATE_PROJECT_SUCCESS = 'createproject/CREATE_PROJECT_SUCCESS';\r\nexport const CREATE_PROJECT_FAILURE = 'createproject/CREATE_PROJECT_FAILURE';\r\n\r\nexport const RESET = 'createproject/RESET';\r\n\r\nexport const GET_PROJECT_DETAILS_REQUEST = 'createproject/GET_PROJECT_DETAILS_REQUEST';\r\nexport const GET_PROJECT_DETAILS_SUCCESS = 'createproject/GET_PROJECT_DETAILS_SUCCESS';\r\nexport const GET_PROJECT_DETAILS_FAILURE = 'createproject/GET_PROJECT_DETAILS_FAILURE';\r\n","export const REQUEST = 'embedding/REQUEST';\r\nexport const FAILURE = 'embedding/FAILURE';\r\n\r\nexport const REQUEST_PRODUCTS = 'embedding/REQUEST_PRODUCTS';\r\n\r\nexport const GET_PRODUCTS_FOR_PROFILE_SUCCESS = 'embedding/GET_PRODUCTS_FOR_PROFILE_SUCCESS';\r\nexport const SAVE_EXECUTOR_PRODUCT_SELECTION = 'embedding/SAVE_EXECUTOR_PRODUCT_SELECTION';\r\n\r\nexport const GENERATE_KEY = 'embedding/GENERATE_KEY';\r\nexport const GET_EXISTING_KEY = 'embedding/GET_EXISTING_KEY';\r\nexport const GET_PRICE_INFO = 'embedding/GET_PRICE_INFO';\r\nexport const GENERATE_KEY_FAILURE = 'embedding/GENERATE_KEY_FAILURE';\r\n\r\nexport const GET_PRODUCT_TYPES = 'embedding/GET_PRODUCT_TYPES';\r\nexport const GET_PRODUCTS_FOR_EMBEDDING = 'embedding/GET_PRODUCTS_FOR_EMBEDDING';\r\nexport const GET_PRODUCTS_FOR_EMBEDDING_FAILURE = 'embedding/GET_PRODUCTS_FOR_EMBEDDING_FAILURE';\r\nexport const GET_PRODUCT_DETAILS = 'embedding/GET_PRODUCT_DETAILS';\r\nexport const RESET_FAILURE = 'embedding/RESET_FAILURE';\r\n\r\nexport const GET_LOADED_IMAGE_SUCCESS = 'embedding/GET_LOADED_IMAGE_SUCCESS';\r\nexport const DELETE_IMAGE_SUCCESS = 'embedding/DELETE_IMAGE_SUCCESS';\r\nexport const CHANGE_WRAPPER_SUCCESS = 'embedding/CHANGE_WRAPPER_SUCCESS';\r\n\r\nexport const SET_PARENT_URL_SUCCESS = 'embedding/SET_PARENT_URL_SUCCESS';\r\nexport const GET_PARENT_URL_SUCCESS = 'embedding/GET_PARENT_URL_SUCCESS';\r\n\r\n","export const REQUEST = 'siteCompany/REQUEST';\r\nexport const FAILURE = 'siteCompany/FAILURE';\r\nexport const SUCCESS = 'siteCompany/SUCCESS';\r\n\r\nexport const LOAD_DETAILS = 'siteCompany/LOAD_DETAILS';\r\n\r\nexport const SUCCESS_LOGO_LOAD = 'siteCompany/SUCCESS_LOGO_LOAD';\r\n\r\nexport const SUCCESS_BGI_LOAD = 'siteCompany/SUCCESS_BGI_LOAD';\r\n\r\nexport const SUCCESS_PRODUCT_LOAD = 'siteCompany/SUCCESS_PRODUCT_LOAD';\r\n\r\nexport const GET_MY_COMPANY_SITE = 'siteCompany/GET_MY_COMPANY_SITE';\r\n\r\nexport const GET_TRANSACTION_DATA = 'siteCompany/GET_TRANSACTION_DATA';\r\n\r\nexport const UPDATE_SITE = 'siteCompany/UPDATE_SITE';\r\nexport const UPDATE_SITE_FAILURE = 'siteCompany/UPDATE_SITE_FAILURE';\r\n\r\nexport const LOAD_SITE = 'siteCompany/LOAD_SITE';\r\nexport const LOAD_SITE_FAILURE = 'siteCompany/LOAD_SITE_FAILURE';\r\n\r\nexport const CREATE_SITE = 'siteCompany/CREATE_SITE';\r\nexport const CREATE_SITE_FAILURE = 'siteCompany/CREATE_SITE_FAILURE';\r\n\r\nexport const REQUEST_PRODUCTS = 'siteCompany/REQUEST_PRODUCTS';","export const GET_MYINFO_REQUEST = 'myinfo/GET_MYINFO_REQUEST';\r\nexport const GET_MYINFO_SUCCESS = 'myinfo/GET_MYINFO_SUCCESS';\r\nexport const GET_MYINFO_FAILURE = 'myinfo/GET_MYINFO_FAILURE';\r\n\r\nexport const SAVE_MYINFO_REQUEST = 'myinfo/SAVE_MYINFO_REQUEST';\r\nexport const SAVE_MYINFO_SUCCESS = 'myinfo/SAVE_MYINFO_SUCCESS';\r\nexport const SAVE_MYINFO_FAILURE = 'myinfo/SAVE_MYINFO_FAILURE';\r\n\r\nexport const EDIT_MYINFO = \"myinfo/EDIT_MYINFO\";\r\n\r\nexport const SEND_EMAILCONFIRMATION_REQUEST = 'myinfo/SEND_EMAILCONFIRMATION_REQUEST';\r\nexport const SEND_EMAILCONFIRMATION_SUCCESS = 'myinfo/SEND_EMAILCONFIRMATION_SUCCESS';\r\nexport const SEND_EMAILCONFIRMATION_FAILURE = 'myinfo/SEND_EMAILCONFIRMATION_FAILURE';\r\n\r\nexport const USER_SITE_REQUEST = 'myinfo/USER_SITE_REQUEST';\r\nexport const USER_SITE_FAILURE = 'myinfo/USER_SITE_FAILURE';\r\nexport const GET_USER_SITE_SUCCESS = 'myinfo/GET_USER_SITE_SUCCESS';\r\nexport const GENERATE_USER_SITE_SUCCESS = 'myinfo/GENERATE_USER_SITE_SUCCESS';\r\nexport const SAVE_USER_SITE_SUCCESS = 'myinfo/SAVE_USER_SITE_SUCCESS';\r\nexport const SAVE_USER_SITE_FAILURE = 'myinfo/SAVE_USER_SITE_FAILURE';","export const LOGIN_POST_REQUEST = \"login/LOGIN_POST_REQUEST \";\r\nexport const LOGIN_POST_SUCCESS = \"login/LOGIN_POST_SUCCESS\";\r\nexport const LOGIN_POST_FAILED = \"login/LOGIN_POST_FAILED\";\r\n\r\nexport const LOGIN_SET_CURRENT_USER = \"login/LOGIN_SET_CURRENT_USER\";\r\n\r\nexport const LOGOUT_POST_REQUEST = \"login/LOGOUT_POST_REQUEST\";\r\n\r\nexport const LOGIN_SOCIAL_REQUEST = \"login/LOGIN_SOCIAL_REQUEST\";\r\nexport const LOGIN_SOCIAL_SUCCESS = \"login/LOGIN_SOCIAL_SUCCESS\";\r\nexport const LOGIN_SOCIAL_FAILED = \"login/LOGIN_SOCIAL_FAILED\";","export const GET_ALL_INSTRUCTIONS_REQUEST = 'instruction/GET_ALL_INSTRUCTIONS_REQUEST';\r\nexport const GET_ALL_INSTRUCTIONS_SUCCESS = 'instruction/GET_ALL_INSTRUCTIONS_SUCCESS';\r\nexport const GET_ALL_INSTRUCTIONS_FAILURE = 'instruction/GET_ALL_INSTRUCTIONS_FAILURE';\r\n\r\nexport const GET_ALL_BLOG_REQUEST = 'instruction/GET_ALL_BLOG_REQUEST';\r\nexport const GET_ALL_BLOG_SUCCESS = 'instruction/GET_ALL_BLOG_SUCCESS';\r\nexport const GET_ALL_BLOG_FAILURE = 'instruction/GET_ALL_BLOG_FAILURE';\r\n\r\nexport const GET_SINGLE_INSTRUCTION_REQUEST = 'instruction/GET_SINGLE_INSTRUCTION_REQUEST';\r\nexport const GET_SINGLE_INSTRUCTION_SUCCESS = 'instruction/GET_SINGLE_INSTRUCTION_SUCCESS';\r\nexport const GET_SINGLE_INSTRUCTION_FAILURE = 'instruction/GET_SINGLE_INSTRUCTION_FAILURE';\r\n\r\nexport const GET_LAST_BLOG_REQUEST = 'instruction/GET_LAST_BLOG_REQUEST';\r\nexport const GET_LAST_BLOG_SUCCESS = 'instruction/GET_LAST_BLOG_SUCCESS';\r\nexport const GET_LAST_BLOG_FAILURE = 'instruction/GET_LAST_BLOG_FAILURE';\r\n\r\nexport const GET_INSTUCTION_TYPE_REQUEST = 'instruction/GET_INSTUCTION_TYPE_REQUEST';\r\nexport const GET_INSTUCTION_TYPE_SUCCESS = 'instruction/GET_INSTUCTION_TYPE_SUCCESS';\r\nexport const GET_INSTUCTION_TYPE_FAILURE = 'instruction/GET_INSTUCTION_TYPE_FAILURE';\r\n","export const GET_MESSAGES_REQUEST = 'feedback/GET_MESSAGES_REQUEST';\r\nexport const GET_MESSAGES_SUCCESS = 'feedback/GET_MESSAGES_SUCCESS';\r\nexport const GET_MESSAGES_FAILURE = 'feedback/GET_MESSAGES_FAILURE';\r\n\r\nexport const GET_MYFEEDBACKS_REQUEST = 'feedback/GET_MYFEEDBACKS_REQUEST';\r\nexport const GET_MYFEEDBACKS_SUCCESS = 'feedback/GET_MYFEEDBACKS_SUCCESS';\r\nexport const GET_MYFEEDBACKS_FAILURE = 'feedback/GET_MYFEEDBACKS_FAILURE';\r\n\r\nexport const SEND_MESSAGE_REQUEST = 'feedback/SEND_MESSAGE_REQUEST';\r\nexport const SEND_MESSAGE_SUCCESS = 'feedback/SEND_MESSAGE_SUCCESS';\r\nexport const SEND_MESSAGE_FAILURE = 'feedback/SEND_MESSAGE_FAILURE';\r\n\r\n\r\nexport const GET_LIVE_SUPPORT_MESSAGES_REQUEST = 'feedback/GET_LIVE_SUPPORT_MESSAGES_REQUEST';\r\nexport const GET_LIVE_SUPPORT_MESSAGES_SUCCESS = 'feedback/GET_LIVE_SUPPORT_MESSAGES_SUCCESS';\r\nexport const GET_LIVE_SUPPORT_MESSAGES_FAILURE = 'feedback/GET_LIVE_SUPPORT_MESSAGES_FAILURE';\r\n\r\nexport const SEND_LIVE_SUPPORT_MESSAGE_REQUEST = 'feedback/SEND_LIVE_SUPPORT_MESSAGE_REQUEST';\r\nexport const SEND_LIVE_SUPPORT_MESSAGE_SUCCESS = 'feedback/SEND_LIVE_SUPPORT_MESSAGE_SUCCESS';\r\nexport const SEND_LIVE_SUPPORT_MESSAGE_FAILURE = 'feedback/SEND_LIVE_SUPPORT_MESSAGE_FAILURE';\r\n\r\nexport const ATTACH_ADMIN_LIVE_SUPPORT_MESSAGE = 'feedback/ATTACH_ADMIN_LIVE_SUPPORT_MESSAGE';\r\n\r\nexport const GET_IS_ADMIN_ONLINE = \"feedback/GET_IS_ADMIN_ONLINE\";\r\n","export const GET_REQUEST = 'addGoods/GET_REQUEST';\r\nexport const GET_FAILURE = 'addGoods/GET_FAILURE';\r\nexport const GET_CATEGORIES_SUCCESS = 'addGoods/GET_CATEGORIES_SUCCESS';\r\nexport const GET_CURRENCIES_SUCCESS = 'addGoods/GET_CURRENCIES_SUCCESS';\r\nexport const GET_PRODUCTS_SUCCESS = 'addGoods/GET_PRODUCTS_SUCCESS';\r\nexport const GET_PRODUCTINFO_SUCCESS = 'addGoods/GET_PRODUCTINFO_SUCCESS';\r\nexport const ADD_GOOD_SUCCESS = 'addGoods/ADD_GOOD_SUCCESS';\r\nexport const GET_MY_GOODS_SUCCESS = 'addGoods/GET_MY_GOODS_SUCCESS';\r\nexport const SET_GOODS_ACTIVE = 'addGoods/SET_GOODS_ACTIVE';\r\nexport const COPY_SUCCESS = 'addGoods/COPY_SUCCESS';\r\n\r\nexport const GET_DETAILS_REQUEST = 'addGoods/GET_DETAILS_REQUEST';\r\nexport const GET_DETAILS_SUCCESS = 'addGoods/GET_DETAILS_SUCCESS';\r\n\r\nexport const GET_METALS_SUCCESS = 'addGoods/GET_METALS_SUCCESS';\r\n","export const REQUEST = 'myproject3/REQUEST';\r\nexport const FAILURE = 'myproject3/FAILURE';\r\nexport const SUCCESS = 'myproject3/SUCCESS';\r\n\r\nexport const GET_MY_PROJECTS_SUCCESS = 'myproject3/GET_MY_PROJECTS_SUCCESS';\r\n\r\nexport const GET_PRODUCT_DETAILS_REQUEST = 'myproject3/GET_PRODUCT_DETAILS_REQUEST';\r\nexport const GET_PRODUCT_DETAILS_SUCCESS = 'myproject3/GET_PRODUCT_DETAILS_SUCCESS';\r\n\r\nexport const RELOAD_PRODUCT_ORDER_REQUEST = 'myproject3/RELOAD_PRODUCT_ORDER_REQUEST';\r\nexport const RELOAD_PRODUCT_ORDER_SUCCESS = 'myproject3/RELOAD_PRODUCT_ORDER_SUCCESS';\r\n\r\nexport const SET_LAST_SAVED_ORDER_ID = 'myproject3/SET_LAST_SAVED_ORDER_ID';\r\nexport const SAVE_PRODUCT_IMAGE_SUCCESS = 'myproject3/SAVE_PRODUCT_IMAGE_SUCCESS';\r\n\r\nexport const CHANGE_PRODUCT_NAME_SUCCESS = 'myproject3/CHANGE_PRODUCT_NAME_SUCCESS';\r\nexport const CHANGE_DETAILS_IMAGES_SUCCESS = 'myproject3/CHANGE_DETAILS_IMAGES_SUCCESS';","export const REQUEST = 'calculator/REQUEST';\r\nexport const FAILURE = 'calculator/FAILURE';\r\nexport const SUCCESS = 'calculator/SUCCESS';\r\n\r\nexport const GET_METALS_SUCCESS = 'calculator/GET_METALS_SUCCESS';\r\nexport const GET_PAINTS_SUCCESS = 'calculator/GET_PAINTS_SUCCESS';\r\nexport const SAVE_ORDER_SUCCESS = 'calculator/SAVE_ORDER_SUCCESS';\r\nexport const GET_ORDERS_SUCCESS = 'calculator/GET_ORDERS_SUCCESS';\r\nexport const GET_ORDER_DETAILS_SUCCESS = 'calculator/GET_ORDER_DETAILS_SUCCESS';\r\nexport const MAKE_CONTRACT_SUCCESS = 'calculator/MAKE_CONTRACT_SUCCESS';\r\nexport const GET_EXECUTOR_INFO_SUCCESS = 'calculator/GET_EXECUTOR_INFO_SUCCESS';\r\nexport const GET_ELEMENTS_FOR_ORDERS_SUCCESS = 'calculator/GET_ELEMENTS_FOR_ORDERS_SUCCESS';\r\n","import Immutable from 'seamless-immutable';\r\nimport isEmpty from 'lodash/isEmpty';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n post: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors: {}\r\n },\r\n social: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n },\r\n isAuthenticated: false,\r\n isConfirmed:false,\r\n user: {\r\n id: '',\r\n name: '',\r\n //image:'',\r\n roles: []\r\n }\r\n});\r\n\r\nexport const loginReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.LOGIN_POST_REQUEST: { \r\n return initialState.merge({\r\n post:{\r\n ...initialState.post,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.LOGIN_SET_CURRENT_USER: {\r\n return state.merge({\r\n isAuthenticated: !isEmpty(action.user),\r\n isConfirmed: (action.user.isConfirmed===\"True\"),\r\n user: isEmpty(action.user) ? initialState.user : action.user\r\n });\r\n }\r\n case types.LOGIN_POST_SUCCESS: {\r\n return state.merge({\r\n post:{\r\n ...initialState.post,\r\n loading:false,\r\n success:true\r\n }\r\n });\r\n }\r\n case types.LOGIN_POST_FAILED: {\r\n return state.merge({\r\n post:{\r\n ...initialState.post,\r\n loading:false,\r\n failed:true,\r\n errors:action.errors\r\n }\r\n });\r\n }\r\n case types.LOGIN_SOCIAL_REQUEST: {\r\n return state.merge({\r\n social: { \r\n failed: false,\r\n success: false,\r\n loading: true,\r\n }\r\n });\r\n }\r\n case types.LOGIN_SOCIAL_SUCCESS: {\r\n return state.merge({\r\n social: {\r\n ...initialState.social,\r\n loading: false,\r\n success: true,\r\n }\r\n });\r\n }\r\n case types.LOGIN_SOCIAL_FAILED: {\r\n return state.merge({\r\n social: {\r\n ...initialState.social,\r\n loading: false,\r\n failed: true\r\n }\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\nimport * as actionTypes from './types';\r\n\r\nconst initialState = Immutable({\r\n loading:false\r\n});\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_LANGUAGE_REQUEST:\r\n return state.merge({\r\n loading: true\r\n });\r\n case actionTypes.SET_LANGUAGE_SUCCESS:\r\n return state.merge({\r\n loading: false\r\n });\r\n case actionTypes.SET_LANGUAGE_FAILURE:\r\n return state.merge({\r\n loading: false\r\n });\r\n default:\r\n return state;\r\n }\r\n};\r\n","import axios from \"axios\";\r\nimport { getAuthToken, getRefreshToken } from \"../utils/lsMethods\";\r\n\r\nexport default class RefreshService {\r\n static RefreshToken = () => {\r\n return axios.post(`api/account/refreshToken`, { authToken: getAuthToken(), refreshToken: getRefreshToken() });\r\n }\r\n}","export const REFRESH_STARTED = 'REFRESH_STARTED';\r\nexport const REFRESH_SUCCESS = 'REFRESH_SUCCESS';\r\nexport const REFRESH_FAILED = 'REFRESH_FAILED';","import RefreshService from './refreshService';\r\nimport * as loginActions from '../login/actions';\r\n\r\nimport * as types from './types.js';\r\n\r\nexport const refreshStarted = () => ({ type: types.REFRESH_STARTED });\r\nexport const refreshSuccess = () => ({ type: types.REFRESH_SUCCESS });\r\nexport const refreshFailed = () => ({ type: types.REFRESH_FAILED });\r\n\r\nexport const refreshToken = (dispatch) => {\r\n dispatch(refreshStarted())\r\n return RefreshService.RefreshToken()\r\n .then((response) => {\r\n dispatch(refreshSuccess());\r\n loginActions.loginByJWT(response.data, dispatch);\r\n return Promise.resolve(response);\r\n }, err=> { throw err; })\r\n .catch((err) => {\r\n dispatch(refreshFailed());\r\n loginActions.logoutByJWT(dispatch);\r\n return Promise.reject(err);\r\n })\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n get: {\r\n data:{\r\n name: '',\r\n description: '',\r\n youtubeLink: ''\r\n },\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n },\r\n edit: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n },\r\n emailConfirm: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n },\r\n userSite: {\r\n loading: false,\r\n failed: false,\r\n userSiteData: null,\r\n errorNameExists: false\r\n }\r\n});\r\n\r\nexport const myInfoReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.GET_MYINFO_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.GET_MYINFO_SUCCESS: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading:false,\r\n success:true,\r\n data:action.payload\r\n }\r\n });\r\n }\r\n case types.GET_MYINFO_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:false,\r\n failed:true\r\n }\r\n });\r\n }\r\n\r\n\r\n case types.SAVE_MYINFO_REQUEST: { \r\n return initialState.merge({\r\n ...state,\r\n edit:{\r\n ...initialState.edit,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.SAVE_MYINFO_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n edit:{\r\n ...state.edit,\r\n loading:false,\r\n success:true,\r\n data:action.payload\r\n }\r\n });\r\n }\r\n case types.SAVE_MYINFO_FAILURE: {\r\n return state.merge({\r\n ...state,\r\n edit:{\r\n ...state.edit,\r\n loading:false,\r\n failed:true,\r\n errors:action.errors\r\n }\r\n });\r\n }\r\n\r\n case types.EDIT_MYINFO:{\r\n return state.merge({\r\n ...state,\r\n get:{\r\n ...state.get,\r\n data:{\r\n ...state.get.data,\r\n [action.payload.name]:action.payload.value\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n //#region SEND_EMAILCONFIRMATION\r\n case types.SEND_EMAILCONFIRMATION_REQUEST: {\r\n return state.merge({\r\n ...state,\r\n emailConfirm: {\r\n ...state.emailConfirm,\r\n loading: true\r\n }\r\n });\r\n }\r\n case types.SEND_EMAILCONFIRMATION_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n emailConfirm: {\r\n ...state.emailConfirm,\r\n loading: false,\r\n success: true\r\n }\r\n });\r\n }\r\n case types.SEND_EMAILCONFIRMATION_FAILURE: {\r\n return state.merge({\r\n ...state,\r\n emailConfirm: {\r\n ...state.emailConfirm,\r\n loading: false,\r\n failed: true\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.USER_SITE_REQUEST: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: true,\r\n errorNameExists: false\r\n }\r\n });\r\n }\r\n case types.USER_SITE_FAILURE: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: false,\r\n failed: true\r\n }\r\n });\r\n }\r\n case types.GET_USER_SITE_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: false,\r\n userSiteData: action.payload != '' ? action.payload : null\r\n }\r\n });\r\n }\r\n case types.GENERATE_USER_SITE_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: false,\r\n userSiteData: action.payload\r\n }\r\n });\r\n }\r\n case types.SAVE_USER_SITE_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: false,\r\n userSiteData: action.payload\r\n }\r\n });\r\n }\r\n case types.SAVE_USER_SITE_FAILURE: {\r\n return state.merge({\r\n ...state,\r\n userSite: {\r\n ...state.userSite,\r\n loading: false,\r\n errorNameExists: action.payload.errorNameExists\r\n }\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\nimport * as specialtyTypes from '../../constants/specialty';\r\n\r\nconst initialState = Immutable({\r\n get: {\r\n data:{\r\n specialty: [\r\n {\r\n text: \"registerExecuterStepOne.services.sellElem\",\r\n name: specialtyTypes.sellElements,\r\n value: false\r\n },\r\n {\r\n text: \"registerExecuterStepOne.services.prodElem\",\r\n name: specialtyTypes.productionElements,\r\n value: false\r\n },\r\n {\r\n text: \"registerExecuterStepOne.services.settingElem\",\r\n name: specialtyTypes.setupElements,\r\n value: false\r\n },\r\n {\r\n text: \"registerExecuterStepOne.services.design\",\r\n name: specialtyTypes.designElements,\r\n value: false\r\n }\r\n ],\r\n regOfDest: [],\r\n regOfServiced:[]\r\n },\r\n regions:[],\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors:{}\r\n },\r\n edit: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors:{}\r\n },\r\n});\r\n\r\n\r\nexport const mySpecialtyReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.GET_MYSPECIALTY_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.GET_MYSPECIALTY_SUCCESS: {\r\n var tempTypes = Object.assign([], action.payload.specialty);\r\n for (let i = 0; i < tempTypes.length; i++) {\r\n tempTypes[i].text = state.get.data.specialty[i].text;\r\n }\r\n\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading:false,\r\n success:true,\r\n data:{\r\n ...action.payload,\r\n specialty: tempTypes\r\n }\r\n }\r\n });\r\n }\r\n case types.GET_MYSPECIALTY_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:false,\r\n failed:true\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n case types.SAVE_MYSPECIALTY_REQUEST: { \r\n return initialState.merge({\r\n ...state,\r\n edit:{\r\n ...initialState.edit,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.SAVE_MYSPECIALTY_SUCCESS: {\r\n return state.merge({\r\n ...state,\r\n edit:{\r\n ...state.edit,\r\n loading:false,\r\n success:true,\r\n data:action.payload\r\n }\r\n });\r\n }\r\n case types.SAVE_MYSPECIALTY_FAILURE: {\r\n return state.merge({\r\n ...state,\r\n edit:{\r\n ...state.edit,\r\n loading:false,\r\n failed:true,\r\n errors:action.errors\r\n }\r\n });\r\n }\r\n\r\n case types.EDIT_MYSPECIALTY:{\r\n return state.merge({\r\n ...state,\r\n get:{\r\n ...state.get,\r\n data:{\r\n ...state.get.data,\r\n [action.payload.name]:action.payload.value\r\n }\r\n\r\n }\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\n\r\nconst initialState = Immutable({\r\n success: false,\r\n failed: false,\r\n loading: false,\r\n flag:false\r\n})\r\n\r\nexport const refreshReducer = (state = initialState, action) => {\r\n switch(action.type){\r\n case types.REFRESH_STARTED: {\r\n return initialState.merge({ loading: true });\r\n }\r\n case types.REFRESH_SUCCESS: {\r\n return state.merge({ success: true, loading: false });\r\n }\r\n case types.REFRESH_FAILED: {\r\n return state.merge({ failed: true, loading: false });\r\n }\r\n default: {\r\n return state\r\n }\r\n };\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors: {}\r\n});\r\n\r\nexport const registerReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REGISTER_SIMPLE_REQUEST: {\r\n return initialState.merge({\r\n loading: true\r\n });\r\n }\r\n case types.REGISTER_SIMPLE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n case types.REGISTER_SIMPLE_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n errors: action.payload\r\n });\r\n }\r\n\r\n\r\n case types.SET_DEMO_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.SET_DEMO_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n case types.SET_DEMO_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n get:{\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors:{},\r\n expiredCode: undefined,\r\n phone: ''\r\n },\r\n confirm: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n errors:{},\r\n confirmationCode:'', \r\n },\r\n});\r\n\r\nexport const verifyAccountReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.SEND_SMS_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.SEND_SMS_SUCCESS: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading:false,\r\n success:true,\r\n expiredCode: action.payload.expired,\r\n phone: action.payload.phone\r\n }\r\n });\r\n }\r\n case types.SEND_SMS_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:false,\r\n failed:true,\r\n errors:action.payload,\r\n expiredCode: action.payload.expired,\r\n phone: action.payload.phone\r\n }\r\n });\r\n }\r\n\r\n\r\n case types.VERIFY_ACCOUNT_REQUEST: { \r\n return state.merge({\r\n confirm:{\r\n ...initialState.confirm,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.VERIFY_ACCOUNT_SUCCESS: {\r\n return state.merge({\r\n confirm:{\r\n ...state.confirm,\r\n loading:false,\r\n success:true,\r\n },\r\n });\r\n }\r\n case types.VERIFY_ACCOUNT_FAILURE: {\r\n return state.merge({\r\n confirm:{\r\n ...state.confirm,\r\n loading:false,\r\n failed:true,\r\n errors:action.payload\r\n }\r\n });\r\n }\r\n\r\n case types.SET_TIMER_REQUEST:{\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n expiredCode:action.payload\r\n }\r\n });\r\n }\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n get: {\r\n ...initialState.get,\r\n loading: true\r\n }\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n get: {\r\n ...initialState.get,\r\n loading: false\r\n }\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n get: {\r\n ...initialState.get,\r\n loading: false,\r\n failed: true,\r\n }\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n get: {\r\n data:{\r\n items:[]\r\n },\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n bulkUploadErrors: null,\r\n codeGroups: []\r\n },\r\n element:{\r\n get:{\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n categories: [],\r\n forms: [],\r\n textures: [],\r\n },\r\n edit: {\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n data:{\r\n category:undefined,\r\n id:undefined,\r\n description:'',\r\n name: '',\r\n customElementFormId: null,\r\n customElementTextureId: null,\r\n },\r\n },\r\n }\r\n \r\n});\r\n\r\nexport const myElementsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region Get Elements\r\n case types.GET_MYELEMENTS_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...initialState.get,\r\n loading:true\r\n }\r\n });\r\n }\r\n case types.GET_MYELEMENTS_SUCCESS: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading:false,\r\n success:true,\r\n data:{\r\n items:action.payload\r\n }\r\n }\r\n });\r\n }\r\n case types.GET_MYELEMENTS_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading:false,\r\n failed:true\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n\r\n //#region Get one element\r\n case types.GET_MYELEMENT_REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: true,\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_MYELEMENT_SUCCESS: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n get:{\r\n ...state.element.get,\r\n success:true,\r\n },\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n data:action.payload\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_MYELEMENT_FAILURE: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n failed:true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n \r\n\r\n //#region Get Categories\r\n case types.GET_CATEGORIES_REQUEST: { \r\n return initialState.merge({\r\n element:{\r\n ...initialState.element,\r\n get:{\r\n ...state.element.get,\r\n loading: true,\r\n\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_CATEGORIES_SUCCESS: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n get:{\r\n ...state.element.get,\r\n loading: false,\r\n success:true,\r\n categories:action.payload.items\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_CATEGORIES_FAILURE: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n get:{\r\n ...state.element.get,\r\n loading: false,\r\n failed:true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Get Forms\r\n case types.GET_ELEMENTFORM_REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: true,\r\n forms: initialState.element.get.forms\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_ELEMENTFORM_SUCCESS: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: false,\r\n success: true,\r\n forms: action.payload.items\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_ELEMENTFORM_FAILURE: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: false,\r\n failed: true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Get textures\r\n case types.GET_ELEMENTTEXTURES_REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: true,\r\n textures: initialState.element.get.textures\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_ELEMENTTEXTURES_SUCCESS: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: false,\r\n success: true,\r\n textures: action.payload.items\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_ELEMENTTEXTURES_FAILURE: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n get: {\r\n ...state.element.get,\r\n loading: false,\r\n failed: true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n\r\n //#region Upload threedmodel\r\n case types.UPLOAD_THREEDMODEL_REQUEST: { \r\n return initialState.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: true,\r\n\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_THREEDMODEL_SUCCESS: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n data:{\r\n ...state.element.edit.data,\r\n threedmodel:action.payload\r\n }\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_THREEDMODEL_FAILURE: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n failed:true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Upload element form\r\n case types.UPLOAD_ELEMENTFORM_REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: true,\r\n data: {\r\n ...state.element.edit.data,\r\n customElementFormId: null\r\n }\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_ELEMENTFORM_SUCCESS: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n data: {\r\n ...state.element.edit.data,\r\n customElementFormId: action.payload\r\n }\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_ELEMENTFORM_FAILURE: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n failed: true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Upload element texture\r\n case types.UPLOAD_ELEMENTTEXTURE_REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: true,\r\n data: {\r\n ...state.element.edit.data,\r\n customElementTextureId: null\r\n }\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_ELEMENTTEXTURE_SUCCESS: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n data: {\r\n ...state.element.edit.data,\r\n customElementTextureId: action.payload\r\n }\r\n },\r\n }\r\n });\r\n }\r\n case types.UPLOAD_ELEMENTTEXTURE_FAILURE: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n failed: true,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n\r\n //#region Update element\r\n case types.UPDATE_ELEMENT_REQUEST: { \r\n return initialState.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: true,\r\n\r\n },\r\n }\r\n });\r\n }\r\n case types.UPDATE_ELEMENT_SUCCESS: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n success:true\r\n },\r\n }\r\n });\r\n }\r\n case types.UPDATE_ELEMENT_FAILURE: {\r\n return state.merge({\r\n element:{\r\n ...state.element,\r\n edit:{\r\n ...state.element.edit,\r\n loading: false,\r\n errors:action.payload,\r\n failed:true,\r\n },\r\n }\r\n });\r\n }\r\n case types.REQUEST: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: true,\r\n\r\n },\r\n }\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n failed: true,\r\n },\r\n }\r\n });\r\n }\r\n case types.GET_LOADED_IMAGE_SUCCESS: {\r\n let image = action.payload;\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n },\r\n }\r\n });\r\n }\r\n case types.DELETE_IMAGE_SUCCESS:\r\n case types.CHANGE_WRAPPER_SUCCESS: {\r\n return state.merge({\r\n element: {\r\n ...state.element,\r\n edit: {\r\n ...state.element.edit,\r\n loading: false,\r\n },\r\n }\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Delete element\r\n case types.DELETE_ELEMENT_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...state.get,\r\n loading: true,\r\n },\r\n });\r\n }\r\n case types.DELETE_ELEMENT_SUCCESS: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading: false,\r\n success:true,\r\n data:{\r\n items:[...state.get.data.items].filter(item=>item.id!=action.payload)\r\n }\r\n },\r\n });\r\n }\r\n case types.DELETE_ELEMENT_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n loading: false,\r\n failed:true,\r\n },\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region UPLOAD_BULKELEMENTS\r\n case types.UPLOAD_BULKELEMENTS_REQUEST: {\r\n return initialState.merge({\r\n get: {\r\n ...state.get,\r\n loading: true,\r\n bulkUploadErrors: null\r\n },\r\n });\r\n }\r\n case types.UPLOAD_BULKELEMENTS_SUCCESS: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n success: true, \r\n },\r\n });\r\n }\r\n case types.UPLOAD_BULKELEMENTS_FAILURE: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n failed: true,\r\n bulkUploadErrors: action.payload.errors\r\n },\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region CHANGE_AVAILABILITY\r\n case types.CHANGE_AVAILABILITY_REQUEST: {\r\n return initialState.merge({\r\n get: {\r\n ...state.get,\r\n loading: true\r\n },\r\n });\r\n }\r\n case types.CHANGE_AVAILABILITY_SUCCESS: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false\r\n },\r\n });\r\n }\r\n case types.CHANGE_AVAILABILITY_FAILURE: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false\r\n },\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.GET_CODE_GROUPS: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n success: true,\r\n codeGroups: action.payload\r\n }\r\n });\r\n }\r\n\r\n case types.SAVE_CODE_GROUP: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n success: true,\r\n codeGroups: [...state.get.codeGroups, action.payload]\r\n }\r\n });\r\n }\r\n\r\n case types.SAVE_CODE: { \r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n success: true,\r\n data: {\r\n ...state.get.data,\r\n items: action.payload.items\r\n }\r\n }\r\n });\r\n }\r\n \r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n get: {\r\n regions:[],\r\n loading: false,\r\n failed:false,\r\n success: false,\r\n countries: [],\r\n searchCities: []\r\n },\r\n});\r\n\r\n\r\nexport const regionsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.GET_REGIONS_REQUEST: { \r\n return initialState.merge({\r\n get:{\r\n ...initialState.get,\r\n }\r\n });\r\n }\r\n case types.GET_REGIONS_SUCCESS: {\r\n return state.merge({\r\n get:{\r\n ...state.get,\r\n success:true,\r\n regions:action.payload.regions\r\n }\r\n });\r\n }\r\n case types.GET_REGIONS_FAILURE: {\r\n return state.merge({\r\n get:{\r\n ...initialState.get,\r\n failed:true\r\n }\r\n });\r\n }\r\n\r\n\r\n case types.GET_REQUEST: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: true\r\n }\r\n });\r\n }\r\n case types.GET_FAILURE: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n failed: true\r\n }\r\n });\r\n }\r\n case types.GET_COUNTRIES_SUCCESS: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n countries: action.payload\r\n }\r\n });\r\n }\r\n case types.GET_CITIES_SUCCESS: {\r\n return state.merge({\r\n get: {\r\n ...state.get,\r\n loading: false,\r\n searchCities: action.payload\r\n }\r\n });\r\n }\r\n case types.CLEAR_SEARCH_CITIES: {\r\n return state.merge({\r\n get: {\r\n ...state.get, \r\n searchCities: []\r\n }\r\n });\r\n }\r\n \r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n countries: [],\r\n regions: [],\r\n cities: [],\r\n productTypes: [],\r\n createSuccess: false,\r\n createProjectId: null,\r\n data: {\r\n images: []\r\n },\r\n projectData: null\r\n});\r\n\r\nexport const createProjectReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region get regions\r\n case types.GET_REGIONS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_REGIONS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n regions: action.payload.regions,\r\n countries: action.payload.countries\r\n });\r\n }\r\n case types.GET_REGIONS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_CITIES\r\n case types.GET_CITIES_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_CITIES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n cities: action.payload.cities\r\n });\r\n }\r\n case types.GET_CITIES_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region upload image\r\n case types.UPLOAD_IMAGE_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.UPLOAD_IMAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n data: {\r\n ...state.data,\r\n images: [\r\n ...state.data.images,\r\n action.payload\r\n ]\r\n }\r\n });\r\n }\r\n case types.UPLOAD_IMAGE_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.DELETE_IMAGE: {\r\n var id = action.payload;\r\n const images = state.data.images.filter(o => o.id != id);\r\n return state.merge({\r\n data: {\r\n ...state.data,\r\n images: images,\r\n }\r\n });\r\n }\r\n\r\n //#region upload image\r\n case types.GET_PRODUCT_TYPES_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_PRODUCT_TYPES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n productTypes: action.payload\r\n });\r\n }\r\n case types.GET_PRODUCT_TYPES_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region CREATE_PROJEC\r\n case types.CREATE_PROJECT_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.CREATE_PROJECT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n createSuccess: true,\r\n createProjectId: action.payload\r\n });\r\n }\r\n case types.CREATE_PROJECT_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_PROJECT_DETAILS\r\n case types.GET_PROJECT_DETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_PROJECT_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projectData: action.payload\r\n });\r\n }\r\n case types.GET_PROJECT_DETAILS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.RESET: {\r\n return initialState;\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n projects: [],\r\n projects2: [],\r\n projectsWithoutMeasurer: [],\r\n projectsWithoutMeasurerRequested: false,\r\n callMeasurerSucess: false,\r\n priceFactors: null\r\n});\r\n\r\nexport const myProjectsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region get mty projects\r\n case types.GET_MYPROJECTS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n projects: [],\r\n projects2: []\r\n });\r\n }\r\n case types.GET_MYPROJECTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects: action.payload\r\n });\r\n }\r\n case types.GET_MYPROJECTSV2_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects2: action.payload\r\n });\r\n }\r\n case types.GET_MYPROJECTS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_PROJECTS_WITHOUT_MEASURER\r\n case types.GET_PROJECTS_WITHOUT_MEASURER_REQUEST: { \r\n return state;\r\n }\r\n case types.GET_PROJECTS_WITHOUT_MEASURER_SUCCESS: {\r\n return state.merge({\r\n projectsWithoutMeasurer: action.payload,\r\n projectsWithoutMeasurerRequested: true\r\n });\r\n }\r\n case types.GET_PROJECTS_WITHOUT_MEASURER_FAILURE: {\r\n return state;\r\n }\r\n //#endregion\r\n\r\n //#region CALL_MEASURER_REQUEST\r\n case types.CALL_MEASURER_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n callMeasurerSucess: false\r\n });\r\n }\r\n case types.CALL_MEASURER_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n callMeasurerSucess: true\r\n });\r\n }\r\n case types.CALL_MEASURER_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region DELETE_PROJECT_REQUEST\r\n case types.DELETE_PROJECT_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.DELETE_PROJECT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n case types.DELETE_PROJECT_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region CREATE_PRODUCT\r\n case types.CREATE_PRODUCT_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.CREATE_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n case types.CREATE_PRODUCT_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n\r\n //#region CALCULATE_PRICE\r\n case types.CALCULATE_PRICE_SUCCESS: {\r\n let projects2 = [...state.projects2];\r\n const projectIndex = projects2.findIndex(p => p.id == action.payload.id);\r\n projects2[projectIndex] = action.payload;\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects2: projects2\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.DELETE_PRODUCT_SUCCESS:\r\n case types.DELETE_PRODUCT_GROUP_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n\r\n case types.GET_SPECIFICATION_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n\r\n case types.UPDATE_PROJECT_NAME_SUCCESS: {\r\n let projects2 = [...state.projects2];\r\n let projIndex = projects2.findIndex(p => p.id == action.payload.projectId);\r\n projects2[projIndex] = {\r\n ...projects2[projIndex],\r\n name: action.payload.name\r\n };\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects2: projects2\r\n });\r\n }\r\n\r\n case types.CLOSE_PROJECT_SUCCESS: {\r\n let projects2 = [...state.projects2];\r\n let projIndex = projects2.findIndex(p => p.id == action.payload);\r\n projects2[projIndex] = {\r\n ...projects2[projIndex],\r\n isClosed: true\r\n };\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects2: projects2\r\n });\r\n }\r\n\r\n case types.GET_MY_PRICE_FACTOR: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n priceFactors: action.payload\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","export const GET_EXECUTER_DETAILS_REQUEST = 'project/GET_EXECUTER_DETAILS_REQUEST';\r\nexport const GET_EXECUTER_DETAILS_SUCCESS = 'project/GET_EXECUTER_DETAILS_SUCCESS';\r\nexport const GET_EXECUTER_DETAILS_FAILURE = 'project/GET_EXECUTER_DETAILS_FAILURE';\r\n\r\nexport const GET_PUBLICATIONS_REQUEST = 'project/GET_PUBLICATIONS_REQUEST';\r\nexport const GET_PUBLICATIONS_SUCCESS = 'project/GET_PUBLICATIONS_SUCCESS';\r\nexport const GET_PUBLICATIONS_FAILURE = 'project/GET_PUBLICATIONS_FAILURE';\r\n\r\nexport const SEND_INVITATION_REQUEST = 'project/SEND_INVITATION_REQUEST';\r\nexport const SEND_INVITATION_SUCCESS = 'project/SEND_INVITATION_SUCCESS';\r\nexport const SEND_INVITATION_FAILURE = 'project/SEND_INVITATION_FAILURE';","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n executer: null,\r\n publications: []\r\n});\r\n\r\nexport const executerReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_EXECUTER_DETAILS\r\n case types.GET_EXECUTER_DETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n executer: null\r\n });\r\n }\r\n case types.GET_EXECUTER_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n executer: action.payload\r\n });\r\n }\r\n case types.GET_EXECUTER_DETAILS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_PUBLICATIONS\r\n case types.GET_PUBLICATIONS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n publication: []\r\n });\r\n }\r\n case types.GET_PUBLICATIONS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n publications: action.payload\r\n });\r\n }\r\n case types.GET_PUBLICATIONS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region SEND_INVITATION\r\n case types.SEND_INVITATION_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.SEND_INVITATION_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true\r\n });\r\n }\r\n case types.SEND_INVITATION_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","export const GET_MESSAGES_REQUEST = 'chat/GET_MESSAGES_REQUEST';\r\nexport const GET_MESSAGES_SUCCESS = 'chat/GET_MESSAGES_SUCCESS';\r\nexport const GET_MESSAGES_FAILURE = 'chat/GET_MESSAGES_FAILURE';\r\n\r\nexport const GET_USERS_REQUEST = 'chat/GET_USERS_REQUEST';\r\nexport const GET_USERS_SUCCESS = 'chat/GET_USERS_SUCCESS';\r\nexport const GET_USERS_FAILURE = 'chat/GET_USERS_FAILURE';\r\n\r\nexport const SET_AUTO_MESSAGE = 'chat/SET_AUTO_MESSAGE';","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n messages: [],\r\n user: null,\r\n users: [],\r\n autoMessage: null\r\n});\r\n\r\nexport const chatReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_MESSAGES\r\n case types.GET_MESSAGES_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n messages: [],\r\n user: null\r\n });\r\n }\r\n case types.GET_MESSAGES_SUCCESS: {\r\n let user = action.payload.userTo;\r\n let users = state.users.filter(u => u.id != user.id);\r\n users = [user, ...users];\r\n\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n messages: action.payload.messages,\r\n user: user,\r\n users: users\r\n });\r\n }\r\n case types.GET_MESSAGES_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_USERS\r\n case types.GET_USERS_REQUEST: {\r\n return state.merge({\r\n messages: [],\r\n loading: true\r\n });\r\n }\r\n case types.GET_USERS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n users: action.payload\r\n });\r\n }\r\n case types.GET_USERS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.SET_AUTO_MESSAGE: {\r\n return state.merge({\r\n autoMessage: action.payload\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\nimport * as uniqueId from 'lodash/uniqueId';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n messages: [],\r\n feedbacks: [],\r\n liveSupportMessages: [],\r\n liveSupportFailed: false,\r\n liveSupportIsAdminOnline: false\r\n});\r\n\r\nexport const feedbackReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.GET_IS_ADMIN_ONLINE: {\r\n return state.merge({\r\n liveSupportIsAdminOnline: action.payload.isAdminOnline\r\n });\r\n }\r\n //#region GET_MESSAGES\r\n case types.GET_MESSAGES_REQUEST: {\r\n if (!action.newOnly) {\r\n return state.merge({\r\n messages: []\r\n });\r\n } else {\r\n return state;\r\n }\r\n }\r\n case types.GET_MESSAGES_SUCCESS: {\r\n let messages = [...state.messages, ...action.payload];\r\n let t = 0;\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n messages: messages\r\n });\r\n }\r\n case types.GET_MESSAGES_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_MYFEEDBACKS\r\n case types.GET_MYFEEDBACKS_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.GET_MYFEEDBACKS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n feedbacks: action.payload\r\n });\r\n }\r\n case types.GET_MYFEEDBACKS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region SEND_MESSAGE\r\n case types.SEND_MESSAGE_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.SEND_MESSAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n messages: [...state.messages, action.payload]\r\n });\r\n }\r\n case types.SEND_MESSAGE_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.SEND_LIVE_SUPPORT_MESSAGE_REQUEST: {\r\n let messages = [...state.liveSupportMessages,\r\n {\r\n id: \"local-\" + uniqueId(),\r\n userSessionId: action.payload.sessionId,\r\n text: action.payload.text,\r\n time: new Date(),\r\n isUserSender: true,\r\n isLocal: true\r\n }];\r\n return state.merge({\r\n liveSupportMessages: messages\r\n });\r\n } \r\n\r\n case types.ATTACH_ADMIN_LIVE_SUPPORT_MESSAGE: {\r\n let messages = [...state.liveSupportMessages, action.payload];\r\n return state.merge({\r\n liveSupportMessages: messages\r\n });\r\n }\r\n\r\n //#region GET_LIVE_SUPPORT_MESSAGES\r\n case types.GET_LIVE_SUPPORT_MESSAGES_REQUEST: {\r\n let messages = state.liveSupportMessages;\r\n if (!action.payload) {\r\n messages = [];\r\n }\r\n return state.merge({\r\n liveSupportFailed: false,\r\n liveSupportMessages: messages\r\n });\r\n }\r\n case types.GET_LIVE_SUPPORT_MESSAGES_SUCCESS: {\r\n if (action.payload.messages.count == 0) {\r\n return state.merge({\r\n liveSupportIsAdminOnline: action.payload.isAdminOnline\r\n });\r\n }\r\n let messages = state.liveSupportMessages.filter(m => !m.isLocal && !m.isTempAdmin);\r\n let tempAdminMessages = state.liveSupportMessages.filter(m => m.isTempAdmin);\r\n messages = [...messages, ...action.payload.messages, ...tempAdminMessages];\r\n return state.merge({\r\n liveSupportMessages: messages,\r\n liveSupportIsAdminOnline: action.payload.isAdminOnline\r\n });\r\n }\r\n case types.GET_LIVE_SUPPORT_MESSAGES_FAILURE: {\r\n return state.merge({\r\n liveSupportFailed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n currency: \"UAH\",\r\n isNotSIMeasure: false,\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n loadingData: {\r\n catalogProductDetails: false,\r\n elementsForProduct: false,\r\n paintForProduct: false,\r\n },\r\n home: {\r\n individualProjects: [],\r\n goods: [],\r\n elements: [],\r\n instructions: [],\r\n productsTypes: [],\r\n elementsCategories: [],\r\n executorRegions: [],\r\n executorCountries: [],\r\n },\r\n elementsAndMetals: null,\r\n texturedMetalList: [],\r\n threeDTimeError: false,\r\n projects: [],\r\n productTypes: [],\r\n paints: null,\r\n projectDetails: null,\r\n catalogProducts: [],\r\n isForMyProject: false,\r\n catalogDIYImage: null,\r\n catalogTopImage: null,\r\n catalogProductDetails: null,\r\n elementsForProduct: null,\r\n goodsForProduct: null,\r\n paintForProduct: null,\r\n currencuFactor: 1.0,\r\n executor: {\r\n user: null,\r\n products: [],\r\n metaTitle: null,\r\n metaDescription: null\r\n }\r\n});\r\n\r\nexport const homeReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.SET_CURRENCY:\r\n return state.merge({\r\n currency: action.payload\r\n });\r\n case types.SET_ISNOTSIMEASURE:\r\n return state.merge({\r\n isNotSIMeasure: action.payload\r\n });\r\n\r\n case types.SET_PAINT_TO_PRODUCT_REQUEST: {\r\n return state.merge({\r\n loadingData: {\r\n ...state.loadingData,\r\n paintForProduct: true\r\n }\r\n });\r\n }\r\n case types.SET_PAINT_TO_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loadingData: {\r\n ...state.loadingData,\r\n paintForProduct: false\r\n },\r\n success: true,\r\n paintForProduct:action.payload\r\n })\r\n }\r\n\r\n case types.GET_PRINTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n paints: action.payload\r\n });\r\n }\r\n\r\n case types.GET_LIST_ELEMENTS_AND_METALS_FOR_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n elementsAndMetals: action.payload\r\n });\r\n }\r\n\r\n case types.THREED_TIME_OUT: {\r\n return state.merge({\r\n threeDTimeError: true,\r\n });\r\n }\r\n case types.THREED_TIME_OUT_FLUSH: {\r\n return state.merge({\r\n threeDTimeError: false,\r\n });\r\n }\r\n //#region GET_CLOSEDPROJECTS\r\n case types.GET_CLOSEDPROJECTS_REQUEST: {\r\n return state.merge({\r\n failed: false,\r\n loading: true,\r\n });\r\n }\r\n case types.GET_CLOSEDPROJECTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projects: action.payload\r\n });\r\n }\r\n case types.GET_CLOSEDPROJECTS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n } \r\n //#endregion\r\n\r\n //#region GET_PROJECTDETAILS\r\n case types.GET_PROJECTDETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_PROJECTDETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n projectDetails: action.payload\r\n });\r\n }\r\n case types.GET_PROJECTDETAILS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_HOMEDATA\r\n case types.GET_HOMEDATA_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_HOMEDATA_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n home: {\r\n ...state.home,\r\n individualProjects: action.payload.individualProjects,\r\n goods: action.payload.goods,\r\n elements: action.payload.elements,\r\n instructions: action.payload.instructions,\r\n productsTypes: action.payload.productsTypes,\r\n elementsCategories: action.payload.elementsCategories,\r\n executorCountries: action.payload.executorCountries\r\n }\r\n });\r\n }\r\n case types.GET_HOMEDATA_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_CLOSEDPRODUCTS\r\n case types.GET_CLOSEDPRODUCTS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n isForMyProject: false\r\n });\r\n }\r\n case types.GET_CLOSEDPRODUCTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n catalogProducts: [...state.catalogProducts, ...action.payload.products],\r\n isForMyProject: action.payload.isForMyProject,\r\n catalogDIYImage: action.payload.catalogDIYImage,\r\n catalogTopImage: action.payload.catalogTopImage,\r\n });\r\n }\r\n case types.GET_CLOSEDPRODUCTS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n case types.CLEAR_CLOSEDPROJECTS: {\r\n return state.merge({\r\n catalogProducts: []\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_PRODUCTTDETAILS\r\n case types.GET_PRODUCTTDETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n catalogProductDetails: null,\r\n loadingData: {\r\n ...state.loadingData,\r\n catalogProductDetails: true\r\n }\r\n });\r\n }\r\n case types.GET_PRODUCTTDETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n catalogProductDetails: action.payload,\r\n loadingData: {\r\n ...state.loadingData,\r\n catalogProductDetails: false\r\n },\r\n paintForProduct: null\r\n });\r\n }\r\n case types.GET_PRODUCTTDETAILS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n loadingData: {\r\n ...state.loadingData,\r\n catalogProductDetails: false\r\n },\r\n });\r\n }\r\n //#endregion\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_ELEMENTS_FOR_PRODUCT_REQUEST: {\r\n return state.merge({\r\n loadingData: {\r\n ...state.loadingData,\r\n elementsForProduct: true\r\n },\r\n elementsForProduct: []\r\n });\r\n }\r\n case types.GET_ELEMENTS_FOR_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loadingData: {\r\n ...state.loadingData,\r\n elementsForProduct: false\r\n },\r\n success: true,\r\n elementsForProduct: action.payload.elements,\r\n goodsForProduct: action.payload.goods,\r\n currencuFactor: action.payload.currencuFactor\r\n });\r\n }\r\n\r\n case types.GET_CURRENCY_INFO_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n currencuFactor: action.payload.factor\r\n });\r\n }\r\n\r\n case types.GET_PRODUCT_TYPES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n productTypes: action.payload\r\n });\r\n }\r\n\r\n case types.REQUEST_METALS_LIST: {\r\n return state.merge({\r\n loading: true,\r\n })\r\n }\r\n case types.FAILURE_METALS_LIST: {\r\n return state.merge({\r\n loading: false,\r\n })\r\n }\r\n\r\n case types.GET_TEXTURED_METALS_LIST_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n texturedMetalList: action.payload\r\n })\r\n }\r\n\r\n case types.GET_EXECUTOR_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n executor: {\r\n user: action.payload.user,\r\n products: action.payload.products,\r\n metaTitle: action.payload.metaTitle,\r\n metaDescription: action.payload.metaDescription,\r\n }\r\n });\r\n }\r\n\r\n case types.GET_CATALOG_DIY_IMAGE_SUCCESS: {\r\n return state.merge({\r\n catalogDIYImage: action.payload.catalogDIYImage,\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n sessions: []\r\n});\r\n\r\nexport const editorSessionsReducer = (state = initialState, action) => {\r\n switch(action.type){\r\n case(types.GET_MYEDITORSESSIONS_REQUEST): {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case(types.GET_MYEDITORSESSIONS_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n sessions: action.payload\r\n });\r\n }\r\n case(types.GET_MYEDITORSESSIONS_FAILURE): {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};","import Immutable from 'seamless-immutable';\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n products: [],\r\n categories: [],\r\n metalCategories: [],\r\n currencies: [],\r\n addGoodSuccess: false,\r\n productInfo: null,\r\n myGoods: [],\r\n metalsForGoods:[],\r\n goodDetails: null\r\n});\r\n\r\nexport const goodsReducer = (state = initialState, action) => {\r\n switch(action.type){\r\n case(types.GET_REQUEST): {\r\n return state.merge({\r\n loading: true,\r\n addGoodSuccess: false\r\n });\r\n }\r\n case (types.GET_FAILURE): {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case(types.GET_CATEGORIES_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n categories: action.payload.categories,\r\n metalCategories: action.payload.metalCategories\r\n });\r\n }\r\n case(types.GET_CURRENCIES_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n currencies: action.payload\r\n });\r\n }\r\n case(types.GET_PRODUCTS_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n products: action.payload\r\n });\r\n }\r\n case(types.GET_PRODUCTINFO_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n productInfo: action.payload\r\n });\r\n }\r\n case (types.ADD_GOOD_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n addGoodSuccess: true\r\n });\r\n }\r\n case (types.GET_MY_GOODS_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n myGoods: action.payload\r\n });\r\n }\r\n case (types.GET_DETAILS_REQUEST): {\r\n return state.merge({\r\n loading: true,\r\n goodDetails: null\r\n });\r\n }\r\n case (types.GET_DETAILS_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n goodDetails: action.payload\r\n });\r\n }\r\n case (types.GET_METALS_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n metalsForGoods: action.payload\r\n });\r\n }\r\n case types.COPY_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n sellers: [],\r\n goods: [],\r\n noMoreGoods: false,\r\n goodsDetails: null\r\n});\r\n\r\nexport const goodsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_ALLSELLERS\r\n case types.GET_ALLSELLERS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_ALLSELLERS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sellers: action.payload\r\n });\r\n }\r\n case types.GET_ALLSELLERS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region FIND_GOODS\r\n case types.FIND_GOODS_RESET: {\r\n return state.merge({\r\n goods: []\r\n });\r\n }\r\n case types.FIND_GOODS_REQUEST: { \r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.FIND_GOODS_SUCCESS: {\r\n let goods = [...state.goods, ...action.payload]\r\n return state.merge({\r\n loading: false,\r\n goods: goods,\r\n noMoreGoods: action.payload.length == 0\r\n });\r\n }\r\n case types.FIND_GOODS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_GOODS_DETAILS\r\n case types.GET_GOODS_DETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_GOODS_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n goodsDetails: action.payload\r\n });\r\n }\r\n case types.GET_GOODS_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n isSuccess: false,\r\n isFailed: false,\r\n factors: null,\r\n paintingPrices: null,\r\n installPriceFactor: null,\r\n regions: [],\r\n regionFactors: []\r\n});\r\n\r\nexport const calculationFactorsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n \r\n case types.GET_CALCULATEFACTORS_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.GET_CALCULATEFACTORS_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false,\r\n factors: action.payload\r\n })\r\n }\r\n\r\n case types.GET_CALCULATEFACTORS_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.ADD_CALCULATEFACTORS_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.ADD_CALCULATEFACTORS_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false\r\n })\r\n\r\n \r\n }\r\n\r\n case types.ADD_CALCULATEFACTORS_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.ADD_PAINTINGSPRICE_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.ADD_PAINTINGSPRICE_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false,\r\n paintingPrices: [...state.paintingPrices,\r\n action.payload]\r\n })\r\n }\r\n\r\n case types.ADD_PAINTINGSPRICE_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.GET_PAINTINGPRICES_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.GET_PAINTINGPRICES_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false,\r\n paintingPrices: action.payload\r\n })\r\n }\r\n\r\n case types.GET_PAINTINGPRICES_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.UPDATE_PAINTINGPRICES_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.UPDATE_PAINTINGPRICES_SUCCESS: {\r\n let data = action.payload;\r\n let currValues = [...state.paintingPrices];\r\n let index = currValues.findIndex(x => x.id == data.id);\r\n currValues[index] = data\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false,\r\n paintingPrices: currValues\r\n })\r\n }\r\n\r\n case types.UPDATE_PAINTINGPRICES_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.DELETE_PAINTINGPRICES_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n })\r\n }\r\n\r\n case types.DELETE_PAINTINGPRICES_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false,\r\n paintingPrices: action.payload\r\n })\r\n }\r\n\r\n case types.DELETE_PAINTINGPRICES_FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.SET_DEFAULT_PAINTINGPRICE_SUCCESS: {\r\n return state.merge({\r\n isSuccess: true,\r\n loading: false\r\n })\r\n }\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n isFailed: true,\r\n loading: false\r\n });\r\n }\r\n case types.GET_INSTALL_PRICE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n installPriceFactor: action.payload\r\n });\r\n }\r\n case types.UPDATE_INSTALL_PRICE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_REGION_FACTORS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n regionFactors: action.payload.factors,\r\n regions: action.payload.regions\r\n });\r\n }\r\n case types.SEND_REGION_FACTORS_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n //#endregion\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n favoritesData: null,\r\n favoriteProducts: [],\r\n isForMyProject: false\r\n});\r\n\r\nexport const favoriteReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_FAVORITES_PRODUCTS\r\n case types.GET_FAVORITES_PRODUCTS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n isForMyProject: false\r\n });\r\n }\r\n case types.GET_FAVORITES_PRODUCTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n favoriteProducts: action.payload.products,\r\n isForMyProject: action.payload.isForMyProject\r\n });\r\n }\r\n case types.GET_FAVORITES_PRODUCTS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region GET_FAVORITES \r\n case types.GET_FAVORITES_SUCCESS: {\r\n return state.merge({ \r\n favoritesData: action.payload\r\n });\r\n } \r\n //#endregion\r\n\r\n case types.LOAD_FAVORITES_LOCAL: {\r\n return state.merge({\r\n favoritesData: action.payload\r\n });\r\n } \r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n AllInstructions: [],\r\n SingleInstruction: {},\r\n LastBlogs: [],\r\n InstructionType: []\r\n});\r\n\r\nexport const instructionsReducer = (state = initialState, action) => {\r\n\r\n switch (action.type) {\r\n //#region GET_ALL_INSTRUCTIONS\r\n case types.GET_ALL_INSTRUCTIONS_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.GET_ALL_INSTRUCTIONS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n AllInstructions: action.payload,\r\n });\r\n }\r\n case types.GET_ALL_INSTRUCTIONS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n //#region GET_ALL_BLOG\r\n case types.GET_ALL_BLOG_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.GET_ALL_BLOG_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n AllInstructions: action.payload,\r\n });\r\n }\r\n case types.GET_ALL_BLOG_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n //#region GET_SINGLE_INSTRUCTION\r\n case types.GET_SINGLE_INSTRUCTION_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.GET_SINGLE_INSTRUCTION_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n SingleInstruction: action.payload,\r\n });\r\n }\r\n case types.GET_SINGLE_INSTRUCTION_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n //#region GET_LAST_BLOG\r\n case types.GET_LAST_BLOG_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.GET_LAST_BLOG_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n LastBlogs: action.payload,\r\n });\r\n }\r\n case types.GET_LAST_BLOG_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n //#region GET_INSTUCTION_TYPE\r\n case types.GET_INSTUCTION_TYPE_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.GET_INSTUCTION_TYPE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n success: true,\r\n InstructionType: action.payload,\r\n });\r\n }\r\n case types.GET_INSTUCTION_TYPE_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n //#endregion\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\nimport { getBasket } from './actions.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n basket: getBasket(),\r\n goodsInfos: [],\r\n elementsInfos: [],\r\n makeOrderSuccess: false,\r\n makeOrderElementsSuccess: false\r\n});\r\n\r\nexport const basketReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n\r\n case types.REFRESH_BASKET_WITHOUT_PAGE_UPDATE: {\r\n return state.merge({\r\n basket: action.payload\r\n })\r\n }\r\n\r\n case types.REFRESH_BASKET: {\r\n return state.merge({\r\n basket: action.payload,\r\n makeOrderSuccess: false,\r\n makeOrderElementsSuccess: false,\r\n loading: false\r\n });\r\n }\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_GOODS_BY_IDS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n goodsInfos: action.payload\r\n });\r\n }\r\n\r\n case types.MAKE_ORDER_SUCCESS: {\r\n return state.merge({\r\n makeOrderSuccess: true\r\n });\r\n }\r\n\r\n //#region ELEMENTS\r\n case types.GET_ELEMENTS_BY_IDS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n elementsInfos: action.payload\r\n });\r\n }\r\n case types.MAKE_ELEMENTS_ORDER_SUCCESS: {\r\n return state.merge({\r\n makeOrderElementsSuccess: true,\r\n loading: false,\r\n });\r\n } \r\n //#endregion\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n sketches: [],\r\n editorStateData: [],\r\n templates: [],\r\n metals: [],\r\n saveSketchSuccess: false,\r\n sketchData: null,\r\n autobuildTemplates: [],\r\n autobuildTemplateDetails: null,\r\n sketchSaveId: -1,\r\n elementsForSketches: null,\r\n});\r\n\r\nexport const autoBuildEditReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n failed: false,\r\n sketchData: null,\r\n saveSketchSuccess: false\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_ELEMENTS_FOR_SKETCHES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n elementsForSketches: action.payload\r\n });\r\n }\r\n\r\n case types.GET_MYSKETCHES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sketches: action.payload\r\n });\r\n }\r\n\r\n case types.GET_PRODUCT_EDITOR_STATE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n editorStateData: action.payload\r\n });\r\n }\r\n\r\n case types.SAVE_SKETCH_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n saveSketchSuccess: true,\r\n sketchSaveId: action.payload \r\n });\r\n }\r\n\r\n case types.COPY_SKETCH_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_SKETCH_DATA_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sketchData: action.payload\r\n });\r\n }\r\n\r\n case types.DELETE_SKETCH_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.REQUEST_TEMPLATE: {\r\n return state.merge({\r\n loading: true,\r\n failed: false,\r\n });\r\n }\r\n case types.GET_TEMPLATE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n templates: action.payload\r\n });\r\n }\r\n\r\n case types.GET_SKETCH_METALS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n metals: action.payload\r\n });\r\n }\r\n\r\n case types.SAVE_END: {\r\n return state.merge({\r\n saveSketchSuccess: false\r\n });\r\n }\r\n\r\n case types.GET_MYTEMPLATES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n autobuildTemplates: action.payload\r\n });\r\n }\r\n\r\n case types.SAVE_AUTOBUILD_TEMPLATE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_AUTOBUILD_TEMPLATE_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n autobuildTemplateDetails: action.payload\r\n });\r\n }\r\n case types.DELETE_AUTOBUILD_TEMPLATE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.GENERATE_HIDDEN_PRODUCT: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.MOVE_PRODUCT_TO_NEW_PROJECT: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.TOGGLE_TEXTURE_VARIANT: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n sketches: [],\r\n sketchDetails: null,\r\n autoBuildTemplates: []\r\n});\r\n\r\nexport const autoBuildReducer = (state = initialState, action) => {\r\n switch (action.type) { \r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n failed: false,\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_SKETCHES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sketches: action.payload\r\n });\r\n }\r\n\r\n case types.GET_SKETCH_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sketchDetails: action.payload\r\n });\r\n }\r\n\r\n case types.GET_TEMPLATES_SUCCESS: {\r\n return state.merge({\r\n //loading: false,\r\n autoBuildTemplates: action.payload\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n loadingFilter: false,\r\n failed: false,\r\n typeloaded: false,\r\n typeloadedV2: false,\r\n elementsCatalog: [],\r\n elementFilter: [],\r\n elementFilterV2: [],\r\n noMoreElements: false,\r\n link: null,\r\n linkImage: null,\r\n elementDetails: null,\r\n elementExamples: [],\r\n homeInstructions: [],\r\n elementMatches: [],\r\n elementReviews: []\r\n});\r\n\r\nexport const elementsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_ELEMENTS\r\n case types.GET_ELEMENTS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_ELEMENTS_SUCCESS: {\r\n let elements = [...state.elementsCatalog, ...action.payload]\r\n return state.merge({\r\n loading: false,\r\n elementsCatalog: elements,\r\n noMoreElements: action.payload.length == 0\r\n });\r\n }\r\n case types.GET_ELEMENTS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n case types.SET_ELEMENTS_ZERO: {\r\n return state.merge({\r\n noMoreElements: false,\r\n elementsCatalog: []\r\n });\r\n }\r\n //#region GET_FILTER\r\n case types.GET_FILTER_REQUEST: {\r\n return state.merge({\r\n //loading: true,\r\n typeloaded: false\r\n });\r\n }\r\n case types.GET_FILTER_SUCCESS: {\r\n return state.merge({\r\n //loading: false,\r\n elementFilter: action.payload,\r\n typeloaded: true\r\n });\r\n }\r\n case types.GET_FILTER_FAILURE: {\r\n return state.merge({\r\n //loading: false,\r\n failed: true,\r\n typeloaded: false\r\n });\r\n }\r\n //#endregion\r\n //#region GET_FILTER_V2\r\n case types.GET_FILTER_V2_REQUEST: {\r\n return state.merge({\r\n loadingFilter: true,\r\n elementFilterV2: [],\r\n typeloadedV2: false\r\n });\r\n }\r\n case types.GET_FILTER_V2_SUCCESS: {\r\n return state.merge({\r\n loadingFilter: false,\r\n elementFilter: action.payload,\r\n typeloadedV2: true,\r\n typeloaded: true\r\n });\r\n }\r\n case types.GET_FILTER_V2_FAILURE: {\r\n return state.merge({\r\n loadingFilter: false,\r\n //failed: true,\r\n elementFilterV2: [],\r\n typeloadedV2: false\r\n });\r\n }\r\n //#endregion\r\n case types.GET_LINK_SUCCESS: {\r\n return state.merge({\r\n link: action.payload.elementsLink,\r\n linkImage: action.payload.elementsLinkImage\r\n });\r\n }\r\n\r\n case types.GET_ELEMENT_DETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n elementDetails: null\r\n });\r\n }\r\n case types.GET_ELEMENT_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n elementDetails: action.payload\r\n });\r\n }\r\n case types.GET_ELEMENT_DETAILS_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_ELEMENT_EXAMPLES_REQUEST: {\r\n return state.merge({\r\n elementExamples: []\r\n });\r\n }\r\n case types.GET_ELEMENT_EXAMPLES_SUCCESS: {\r\n return state.merge({ \r\n elementExamples: action.payload\r\n });\r\n }\r\n case types.GET_ELEMENT_EXAMPLES_FAILURE: {\r\n return state.merge({ \r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_HOME_INSTRUCTIONS_SUCCESS: {\r\n return state.merge({\r\n homeInstructions: action.payload\r\n });\r\n }\r\n case types.GET_HOME_INSTRUCTIONS_FAILURE: {\r\n return state.merge({\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_ELEMENT_MATCHES_REQUEST: {\r\n return state.merge({\r\n elementMatches: []\r\n });\r\n }\r\n case types.GET_ELEMENT_MATCHES_SUCCESS: {\r\n return state.merge({\r\n elementMatches: action.payload\r\n });\r\n }\r\n case types.GET_ELEMENT_MATCHES_FAILURE: {\r\n return state.merge({\r\n failed: true\r\n });\r\n }\r\n\r\n case types.POST_ELEMENT_REVIEW_REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.POST_ELEMENT_REVIEW_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.POST_ELEMENT_REVIEW_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n\r\n case types.GET_ELEMENT_REVIEWS_REQUEST: {\r\n return state.merge({\r\n elementReviews: []\r\n });\r\n }\r\n case types.GET_ELEMENT_REVIEWS_SUCCESS: {\r\n return state.merge({\r\n elementReviews: action.payload\r\n });\r\n }\r\n case types.GET_ELEMENT_REVIEWS_FAILURE: {\r\n return state.merge({\r\n failed: true\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n solution: null\r\n});\r\n\r\nexport const solutionsReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n //#region GET_SOLUTION\r\n case types.GET_SOLUTION_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.GET_SOLUTION_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n solution: action.payload\r\n });\r\n }\r\n case types.GET_SOLUTION_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n //#endregion\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n success: false,\r\n failed: false,\r\n transactions: [],\r\n userInfo: [],\r\n file: ''\r\n});\r\n\r\nexport const balanceReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case (types.GET_REQUEST): {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case (types.GET_FAILURE): {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case (types.SET_BILL_SUCCESS): {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case (types.SET_CURRENCY_SUCCESS): {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case (types.GET_TRANSACTION_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n transactions: action.payload\r\n });\r\n }\r\n case (types.GET_ACT_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n file: action.payload\r\n });\r\n }\r\n case (types.GET_PPEUSER_SUCCESS): {\r\n return state.merge({\r\n loading: false,\r\n userInfo: action.payload\r\n });\r\n }\r\n case (types.SET_PPEUSER_SUCCESS): {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n loadingProducts: false,\r\n success: false,\r\n failed: false,\r\n productsMyProfile: [],\r\n executorSelections: [],\r\n isAutoAddToCatalog: false,\r\n isAutoAddToCatalogSellElements: false,\r\n embeddingKey: null,\r\n productsEmbedding: [],\r\n productsEmbeddingError: '',\r\n productsEmbeddingErrorKey: null,\r\n productDetails: null,\r\n productTypes: [],\r\n priceInfo: null,\r\n parentSiteInfo: null\r\n});\r\n\r\nexport const embeddingReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n loadingProducts: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.REQUEST_PRODUCTS: {\r\n return state.merge({\r\n loadingProducts: true\r\n });\r\n }\r\n\r\n case types.GET_PRODUCTS_FOR_PROFILE_SUCCESS: {\r\n return state.merge({\r\n loadingProducts: false,\r\n productsMyProfile: action.payload.products,\r\n executorSelections: action.payload.executorProducts,\r\n isAutoAddToCatalog: action.payload.isAutoAddToCatalog,\r\n isAutoAddToCatalogSellElements: action.payload.isAutoAddToCatalogSellElements \r\n });\r\n }\r\n case types.SAVE_EXECUTOR_PRODUCT_SELECTION: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_LOADED_IMAGE_SUCCESS: {\r\n let image = action.payload;\r\n return state.merge({\r\n loading: false,\r\n });\r\n }\r\n\r\n case types.DELETE_IMAGE_SUCCESS:\r\n case types.CHANGE_WRAPPER_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n });\r\n }\r\n \r\n\r\n case types.GET_EXISTING_KEY: {\r\n return state.merge({\r\n loading: false,\r\n embeddingKey: action.payload\r\n });\r\n }\r\n case types.GET_PRICE_INFO: {\r\n return state.merge({\r\n loading: false,\r\n priceInfo: action.payload\r\n });\r\n }\r\n case types.GENERATE_KEY: {\r\n return state.merge({\r\n loading: false,\r\n embeddingKey: action.payload\r\n });\r\n }\r\n case types.GENERATE_KEY_FAILURE: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_PRODUCT_TYPES: {\r\n return state.merge({\r\n loading: false,\r\n productTypes: action.payload,\r\n });\r\n }\r\n case types.GET_PRODUCTS_FOR_EMBEDDING: {\r\n return state.merge({\r\n loading: false,\r\n productsEmbedding: action.payload,\r\n });\r\n }\r\n case types.GET_PRODUCTS_FOR_EMBEDDING_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n productsEmbeddingError: action.payload.error,\r\n productsEmbeddingErrorKey: action.payload.errorKey\r\n });\r\n }\r\n case types.RESET_FAILURE: {\r\n return state.merge({ \r\n failed: false,\r\n productsEmbeddingError: '',\r\n productsEmbeddingErrorKey: null\r\n });\r\n }\r\n case types.GET_PRODUCT_DETAILS: {\r\n return state.merge({\r\n loading: false,\r\n productDetails: action.payload,\r\n });\r\n }\r\n\r\n case types.SET_PARENT_URL_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n });\r\n }\r\n\r\n case types.GET_PARENT_URL_SUCCESS: {\r\n return state.merge({\r\n parentSiteInfo: action.payload,\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n loadingProducts: false,\r\n success: false,\r\n failed: false,\r\n myCompanySite: null,\r\n companySite: null,\r\n backgroundImages: null,\r\n products: [],\r\n productDetails: null,\r\n transactionData: [],\r\n siteCompanyError: '',\r\n});\r\n\r\nexport const siteCompanyReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n\r\n case types.GET_TRANSACTION_DATA: {\r\n return state.merge({\r\n loading: false,\r\n transactionData: action.payload\r\n });\r\n }\r\n\r\n case types.CREATE_SITE: {\r\n return state.merge({\r\n loading: false,\r\n myCompanySite: action.payload\r\n });\r\n }\r\n\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.LOAD_DETAILS: {\r\n return state.merge({\r\n loading: false,\r\n productDetails: action.payload\r\n })\r\n }\r\n\r\n case types.SUCCESS_BGI_LOAD: {\r\n return state.merge({\r\n loading: false,\r\n backgroundImages: action.payload\r\n });\r\n }\r\n\r\n case types.SUCCESS_PRODUCT_LOAD: {\r\n return state.merge({\r\n loadingProducts: false,\r\n products: action.payload\r\n });\r\n }\r\n\r\n case types.SUCCESS_LOGO_LOAD: {\r\n return state.merge({\r\n loading: false,\r\n companySite: {...state.companySite, logo:action.payload}\r\n });\r\n }\r\n\r\n case types.CREATE_SITE_FAILURE:\r\n case types.UPDATE_SITE_FAILURE:\r\n case types.FAILURE:{\r\n return state.merge({\r\n loadingProducts: false,\r\n loading: false,\r\n failed: true,\r\n });\r\n }\r\n\r\n case types.LOAD_SITE_FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true,\r\n siteCompanyError: action.payload.error\r\n });\r\n }\r\n\r\n case types.LOAD_SITE:\r\n case types.UPDATE_SITE:{\r\n return state.merge({\r\n loading: false,\r\n companySite: action.payload\r\n });\r\n }\r\n\r\n\r\n case types.GET_MY_COMPANY_SITE: {\r\n return state.merge({\r\n loading: false,\r\n myCompanySite: action.payload\r\n });\r\n }\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n\r\n case types.REQUEST_PRODUCTS: {\r\n return state.merge({\r\n loadingProducts: true\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n manufacturers: [],\r\n priceManufacturers: [],\r\n isActiveExecutor: false\r\n});\r\n\r\nexport const manufacturerReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case types.GET_MANUFACTORERS_SUCCESS: { \r\n return state.merge({\r\n loading: false,\r\n manufacturers: action.payload\r\n });\r\n }\r\n case types.GET_PRICE_MANUFACTORERS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n priceManufacturers: action.payload.executors,\r\n isActiveExecutor: action.payload.isActiveExecutor\r\n });\r\n }\r\n \r\n case types.SEND_CONTACT_REQUEST_SUCCESS:\r\n case types.BECOME_MANUFACTURER_REQUEST_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n metals: [],\r\n paints: [],\r\n orders: [],\r\n orderDetails: null,\r\n executorInfo: null\r\n});\r\n\r\nexport const calculatorReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.GET_METALS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n metals: action.payload\r\n });\r\n }\r\n case types.GET_PAINTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n paints: action.payload\r\n });\r\n }\r\n case types.SAVE_ORDER_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.GET_ORDERS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n orders: action.payload\r\n });\r\n }\r\n case types.GET_ORDER_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n orderDetails: action.payload\r\n });\r\n }\r\n case types.MAKE_CONTRACT_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.GET_EXECUTOR_INFO_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n executorInfo: action.payload.executorInfo\r\n });\r\n }\r\n case types.GET_ELEMENTS_FOR_ORDERS_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n products: [],\r\n productDetails: null,\r\n lastSavedOrderId: null,\r\n isOwnProduct: false,\r\n productDetailsImages: []\r\n});\r\n\r\nexport const myProjects3Reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.GET_MY_PROJECTS_SUCCESS: {\r\n return state.merge({\r\n loading: false, \r\n products: action.payload\r\n });\r\n }\r\n case types.GET_PRODUCT_DETAILS_REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n productDetails: null\r\n });\r\n }\r\n case types.GET_PRODUCT_DETAILS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n productDetails: action.payload.product,\r\n isOwnProduct: action.payload.isOwnProduct\r\n });\r\n }\r\n\r\n case types.RELOAD_PRODUCT_ORDER_REQUEST: {\r\n return state.merge({\r\n //loading: true \r\n });\r\n }\r\n case types.RELOAD_PRODUCT_ORDER_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n productDetails: {\r\n ...state.productDetails,\r\n order: action.payload\r\n } \r\n });\r\n }\r\n\r\n case types.SET_LAST_SAVED_ORDER_ID: {\r\n return state.merge({\r\n lastSavedOrderId: action.payload\r\n });\r\n }\r\n case types.SAVE_PRODUCT_IMAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n case types.CHANGE_DETAILS_IMAGES_SUCCESS: {\r\n return state.merge({\r\n productDetailsImages: action.payload\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n images: []\r\n});\r\n\r\nexport const sitePortfolioReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_PORFOLIO_IMAGES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n images: action.payload\r\n });\r\n }\r\n\r\n case types.UPLOAD_IMAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.DELETE_IMAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n sellers: [],\r\n categories: [],\r\n elements: []\r\n});\r\n\r\nexport const elementMatchReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true,\r\n });\r\n }\r\n case types.SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n case types.GET_SELLERS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n sellers: action.payload\r\n });\r\n }\r\n case types.GET_CATEGORIES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n categories: action.payload\r\n });\r\n }\r\n case types.GET_ELEMENTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n elements: action.payload\r\n });\r\n }\r\n case types.SAVE_ELEMENT_MATCH_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n loading: false,\r\n failed: false,\r\n uploadedImages: [],\r\n myproducts: []\r\n});\r\n\r\nexport const editUserProductReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.UPLOAD_USER_PRODUCT_IMAGE_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n uploadedImages: [...state.uploadedImages, action.payload]\r\n });\r\n }\r\n\r\n case types.SAVE_USER_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n uploadedImages: []\r\n });\r\n }\r\n\r\n case types.GET_MY_USER_PRODUCTS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n myproducts: action.payload\r\n });\r\n }\r\n\r\n case types.DELETE_USER_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n myproducts: state.myproducts.filter(p => p.id != action.payload)\r\n });\r\n }\r\n\r\n case types.CHANGE_PRICE_PRODUCT_SUCCESS: {\r\n return state.merge({\r\n loading: false \r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport { Types } from './toastr';\r\n\r\nconst initialState = Immutable({\r\n show: false,\r\n title: '',\r\n message: '',\r\n messageType: 1\r\n});\r\n\r\nexport const toastrReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case Types.SUCCESS:\r\n case Types.WARNING:\r\n case Types.ERROR:\r\n {\r\n return state.merge({\r\n show: true,\r\n title: action.title,\r\n message: action.message,\r\n messageType: action.type\r\n });\r\n }\r\n case Types.HIDE:\r\n {\r\n return state.merge({\r\n show: false,\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import Immutable from 'seamless-immutable';\r\n\r\nimport * as types from './types.js';\r\n\r\nconst initialState = Immutable({\r\n isShowPopup: false,\r\n loading: false,\r\n failed: false,\r\n questions: null,\r\n currentProductTypeId: -1,\r\n productTypes: []\r\n});\r\n\r\nexport const questionnairePTReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.TOGGLE_POPUP: {\r\n return state.merge({\r\n isShowPopup: !state.isShowPopup\r\n });\r\n }\r\n case types.SET_PRODUCT_TYPE: {\r\n return state.merge({\r\n currentProductTypeId: action.payload\r\n });\r\n }\r\n case types.REQUEST: {\r\n return state.merge({\r\n loading: true\r\n });\r\n }\r\n case types.FAILURE: {\r\n return state.merge({\r\n loading: false,\r\n failed: true\r\n });\r\n }\r\n\r\n case types.GET_QUESTIONS_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n questions: action.payload\r\n });\r\n }\r\n\r\n case types.SEND_ANSWERS_SUCCESS: {\r\n return state.merge({\r\n loading: false\r\n });\r\n }\r\n case types.GET_PRODUCT_TYPES_SUCCESS: {\r\n return state.merge({\r\n loading: false,\r\n productTypes: action.payload\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\n\r\n\r\nimport { loginReducer } from '../login/reducer';\r\nimport language from \"./language/reducer\";\r\n//import { reducer as toastrReducer } from 'react-redux-toastr'\r\n\r\nimport refreshTokenMiddleware from './middleware/refreshMiddleware';\r\nimport { myInfoReducer } from '../myprofile/myinfo/reducer';\r\nimport { mySpecialtyReducer } from '../myprofile/myspecialty/reducer';\r\nimport { refreshReducer } from '../refreshToken/reducer';\r\n//import { myPortfolioReducer } from '../myprofile/myportfolio/reducer';\r\nimport { registerReducer } from '../register/registerSimple/reducer';\r\n//import { registerCustomerReducer } from '../register/registerCustomer/reducer';\r\n//import { registerExecutorReducer } from '../register/registerExecutor/reducer';\r\nimport { verifyAccountReducer } from '../verify/reducer';\r\nimport { myElementsReducer } from '../myprofile/myelements/reducer';\r\nimport { regionsReducer } from '../regions/reducer';\r\nimport { createProjectReducer } from '../projects/newproject/reducer';\r\nimport { myProjectsReducer } from '../projects/myprojects/reducer';\r\n//import { projectDetailsReducer } from '../projects/projectdetails/reducer';\r\nimport { executerReducer } from '../projects/executerdetails/reducer';\r\n//import { projectsExecuterReducer } from '../projectsExecuter/reducer';\r\nimport { chatReducer } from '../chat/reducer';\r\nimport { feedbackReducer } from '../feedback/reducer';\r\nimport { homeReducer } from '../home/reducer';\r\nimport { editorSessionsReducer } from './../myprofile/editorSessions/reducer';\r\nimport { goodsReducer as myGoodsReducer } from '../myprofile/goods/reducer'\r\nimport { goodsReducer } from '../goods/reducer'\r\nimport { calculationFactorsReducer } from '../myprofile/calculationfactors/reducer';\r\nimport { favoriteReducer } from '../favorites/reducer';\r\nimport { instructionsReducer } from '../instruction/reducer';\r\nimport { basketReducer } from '../basket/reducer';\r\nimport { autoBuildEditReducer } from '../autoBuildEdit/reducer';\r\nimport { autoBuildReducer } from '../autoBuild/reducer';\r\nimport { elementsReducer } from '../elements/reducer';\r\nimport { solutionsReducer } from '../solutions/reducer';\r\nimport { balanceReducer } from '../myprofile/balance/reducer';\r\nimport { embeddingReducer } from '../embedding/reducer';\r\nimport { siteCompanyReducer } from '../siteCompany/reducer';\r\nimport { manufacturerReducer } from '../manufacturer/reducer';\r\nimport { calculatorReducer } from '../calculator/reducer';\r\nimport { myProjects3Reducer } from '../projects/myprojectsv3/reducer';\r\nimport { sitePortfolioReducer } from '../myprofile/sitePortfolio/reducer';\r\nimport { elementMatchReducer } from '../myprofile/elementmatch/reducer';\r\nimport { editUserProductReducer } from '../myprofile/myproductportfolio/reducer';\r\nimport { toastrReducer } from '../components/toastr/reducer';\r\nimport { questionnairePTReducer } from '../questionnairePT/reducer';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nexport const history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst initialState = window.initialReduxState;\r\n\r\n\r\nfunction configureStore(history, initialState) {\r\n const reducers = { \r\n // signup,\r\n home: homeReducer,\r\n login: loginReducer,\r\n language,\r\n // myprofile,\r\n toastr: toastrReducer,\r\n myInfo: myInfoReducer,\r\n mySpecialty: mySpecialtyReducer,\r\n refreshToken: refreshReducer,\r\n //myportfolio: myPortfolioReducer,\r\n //registerCustomer: registerCustomerReducer,\r\n //registerExecutor: registerExecutorReducer,\r\n register: registerReducer,\r\n verifyAccount: verifyAccountReducer,\r\n myElements: myElementsReducer,\r\n regions: regionsReducer,\r\n createProject: createProjectReducer,\r\n myProjects: myProjectsReducer,\r\n //projectDetails: projectDetailsReducer,\r\n executerDetails: executerReducer,\r\n //projectsExecuter: projectsExecuterReducer,\r\n chat: chatReducer,\r\n feedback: feedbackReducer,\r\n editorSessions: editorSessionsReducer,\r\n calculationFactors: calculationFactorsReducer,\r\n favorite: favoriteReducer,\r\n mygoods: myGoodsReducer,\r\n goods: goodsReducer,\r\n basket: basketReducer,\r\n instructions: instructionsReducer,\r\n autoBuildEdit: autoBuildEditReducer,\r\n autoBuild: autoBuildReducer,\r\n solutions: solutionsReducer,\r\n elements: elementsReducer,\r\n balance: balanceReducer,\r\n embedding: embeddingReducer,\r\n siteCompany: siteCompanyReducer,\r\n manufacturer: manufacturerReducer,\r\n calculator: calculatorReducer,\r\n myProjects3: myProjects3Reducer,\r\n sitePortfolio: sitePortfolioReducer,\r\n elementMatch: elementMatchReducer,\r\n editUserProduct: editUserProductReducer,\r\n questionnairePT: questionnairePTReducer\r\n };\r\n\r\n const middleware = [\r\n refreshTokenMiddleware(),\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n // In development, use the browser's Redux dev tools extension if installed\r\n const enhancers = [];\r\n const isDevelopment = process.env.NODE_ENV === 'development';\r\n if (isDevelopment && typeof window !== 'undefined' && window.devToolsExtension) {\r\n enhancers.push(window.devToolsExtension());\r\n }\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history),\r\n });\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(\r\n applyMiddleware(\r\n ...middleware),\r\n ...enhancers)\r\n );\r\n}\r\nconst store = configureStore(history, initialState);\r\nexport default store;","import jwt from '../../utils/jwt';\r\nimport { refreshToken } from '../../refreshToken/actions';\r\nimport { getAuthToken } from '../../utils/lsMethods';\r\n\r\nexport default function refreshTokenMiddleware(){\r\n return ({ dispatch, getState }) => next => action => {\r\n if (typeof action === 'function' && !getState().refreshToken.loading) {\r\n const token = jwt.decode(getAuthToken());\r\n const refreshThreshold = (Math.round(Date.now() / 1000));\r\n if (token && refreshThreshold > token.exp) {\r\n refreshToken(dispatch).then(() => {\r\n return next(action)\r\n }, err=> { throw err; })\r\n .catch((err) => {\r\n return next(action)\r\n });\r\n }\r\n else{\r\n return next(action);\r\n }\r\n }\r\n else{\r\n return next(action);\r\n }\r\n \r\n }\r\n}","export const VERIFY_ACCOUNT_REQUEST='verifyaccount/VERIFY_ACCOUNT_REQUEST';\r\nexport const VERIFY_ACCOUNT_SUCCESS='verifyaccount/VERIFY_ACCOUNT_SUCCESS';\r\nexport const VERIFY_ACCOUNT_FAILURE='verifyaccount/VERIFY_ACCOUNT_FAILURE';\r\n\r\nexport const SEND_SMS_REQUEST='verifyaccount/SEND_SMS_REQUEST';\r\nexport const SEND_SMS_SUCCESS='verifyaccount/SEND_SMS_SUCCESS';\r\nexport const SEND_SMS_FAILURE='verifyaccount/SEND_SMS_FAILURE';\r\n\r\nexport const SET_TIMER_REQUEST = 'verifyaccount/SET_TIMER_REQUEST';\r\n\r\nexport const REQUEST = 'verifyaccount/REQUEST';\r\nexport const SUCCESS = 'verifyaccount/SUCCESS';\r\nexport const FAILURE = 'verifyaccount/FAILURE';","export const GET_ALLSELLERS_REQUEST = 'goods/GET_ALLSELLERS_REQUEST';\r\nexport const GET_ALLSELLERS_SUCCESS = 'goods/GET_ALLSELLERS_SUCCESS';\r\nexport const GET_ALLSELLERS_FAILURE = 'goods/GET_ALLSELLERS_FAILURE';\r\n\r\nexport const FIND_GOODS_REQUEST = 'goods/FIND_GOODS_REQUEST';\r\nexport const FIND_GOODS_SUCCESS = 'goods/FIND_GOODS_SUCCESS';\r\nexport const FIND_GOODS_FAILURE = 'goods/FIND_GOODS_FAILURE';\r\nexport const FIND_GOODS_RESET = 'goods/FIND_GOODS_RESET';\r\n\r\nexport const GET_GOODS_DETAILS_REQUEST = 'goods/GET_GOODS_DETAILS_REQUEST';\r\nexport const GET_GOODS_DETAILS_SUCCESS = 'goods/GET_GOODS_DETAILS_SUCCESS';\r\nexport const GET_GOODS_DETAILS_FAILURE = 'goods/GET_GOODS_DETAILS_FAILURE';","import store from '../../store/configureStore';\r\n\r\nexport class Types {\r\n static SUCCESS = 'toastr/SUCCESS';\r\n static WARNING = 'toastr/WARNING';\r\n static ERROR = 'toastr/ERROR';\r\n static HIDE = 'toastr/HIDE';\r\n}\r\n\r\nexport class toastr {\r\n static success(title, message) {\r\n store.dispatch({\r\n type: Types.SUCCESS,\r\n title: title,\r\n message: message\r\n });\r\n }\r\n static warning(title, message) {\r\n store.dispatch({\r\n type: Types.WARNING,\r\n title: title,\r\n message: message\r\n });\r\n }\r\n static error(title, message) {\r\n store.dispatch({\r\n type: Types.ERROR,\r\n title: title,\r\n message: message\r\n });\r\n }\r\n static hide() {\r\n store.dispatch({\r\n type: Types.HIDE,\r\n });\r\n }\r\n}\r\n","//import amplitude from 'amplitude-js/amplitude';\r\nimport MathHelper from './MathHelper';\r\n\r\nexport const amplitudeTypes = {\r\n OPEN_WEBSITE: 'open-website',\r\n REGISTER: 'register',\r\n REGISTER_START: 'register_start',\r\n PROJECT_CREATE: 'project_create',\r\n PROJECT_CREATE_START: 'project_create_start',\r\n PROJECT_CLOSE: 'project_close',\r\n PUBLICATION: 'publication',\r\n CONTRACT: 'contract',\r\n OPEN_DEMO_EDITOR: 'open_demo_editor',\r\n\r\n CLICK_ABOUT_US: 'click_about_us',\r\n CLICK_FOR_BUSINESS: 'click_for_business',\r\n CLICK_HOW_TO_ORDER: 'click_how_to_order',\r\n CLICK_MORE_PRODUCTS: 'click_more_products',\r\n CLICK_MORE_GOODS: 'click_more_goods',\r\n CLICK_MORE_ELEMENTS: 'click_more_elements',\r\n CLICK_PRIVACY: 'click_privacy',\r\n CLICK_TERMS_OF_USE: 'click_terms_of_use',\r\n CLICK_TARIFFS: 'click_tariffs',\r\n CLICK_PROJECT_CREATE_HOMEPAGE: 'click_project_create_homepage',\r\n CLICK_PROJECT_CREATE_DEMO: 'click_project_create_demo',\r\n CLICK_PROJECT_CANCEL_DEMO: 'click_project_cancel_demo',\r\n CLICK_OPEN_EDITOR: 'click_open_editor',\r\n CLICK_GOOGLE_PLAY: 'click_google_play',\r\n CLICK_IOS_STORE: 'click_ios_store',\r\n OPEN_CATALOG_PRODUCTS: 'open_catalog_producs',\r\n OPEN_CATALOG_PRODUCTS_DIY: 'open_catalog_producs_diy',\r\n OPEN_CATALOG_GOODS: 'open_catalog_goods',\r\n OPEN_DEMO_FROM_PRODUCT: 'open_demo_from_product',\r\n OPEN_CATALOG_PRODUCTS_BY_ID: 'open_catalog_products_by_id',\r\n OPEN_SOLUTION_MAIN: 'open_solution_main',\r\n\r\n CREATE_NEW_PRODUCT: 'create_new_product',\r\n CREATE_NEW_OPTION: 'create_new_option',\r\n CREATE_NEW_PRODUCT_OBJECT: 'create_new_product_object',\r\n CALCULATE_SERVICE_USAGE: 'calculate_service_usage',\r\n DOWNLOAD_DESIGN: 'download_design',\r\n CONSTRUCTOR_OPEN: 'constructor_open',\r\n SHARE_CLICK: 'share_click',\r\n CATALOG_APPLY_CLICK: 'catalog_apply_click',\r\n MY_PROFILE_OPEN: 'my_profile_open',\r\n CALCULATE_PRICE_KOEF_USAGE: 'calculate_price_koef_usage',\r\n CALCULATE_PRICE_KOEF_SAVE: 'calculate_price_koef_save',\r\n SAVE_NEW_PRODUCT: 'save_new_product',\r\n APPLY_TEMPLATE_ON_SKETCH_DETAILS: 'APPLY_TEMPLATE_ON_SKETCH_DETAILS',\r\n CONTACT_MANUFACTURER: 'CONTACT_MANUFACTURER',\r\n BECOME_MANUFACTURER: 'BECOME_MANUFACTURER',\r\n\r\n OPEN_INSTRUCTION_PAGE: 'open_instruction_page',\r\n OPEN_SOLUTION_BY_ID: 'open_solution_main_by_id',\r\n\r\n CREATE_COMPANY_SITE: 'create_company_site',\r\n CREATE_EMBEDDING_SITE: 'create_embedding_site',\r\n\r\n GET_PIDKOVA_PHONE: 'get_pidkova_phone',\r\n GET_MANUFACTURER_PHONE: 'get_manufacturer_phone',\r\n OPEN_CALCULATOR: 'open_calculator',\r\n\r\n CATALOG_IMCUSTOMER_CLICK: 'CATALOG_IMCUSTOMER_CLICK',\r\n CATALOG_IMEXECUTOR_CLICK: 'CATALOG_IMEXECUTOR_CLICK',\r\n\r\n EXECUTOR_DETAILS_SHOWPHONE: 'EXECUTOR_DETAILS_SHOWPHONE',\r\n EXECUTOR_DETAILS_MAKECALL: 'EXECUTOR_DETAILS_MAKECALL',\r\n EXECUTOR_DETAILS_VIBER: 'EXECUTOR_DETAILS_VIBER',\r\n EXECUTOR_DETAILS_ORDER: 'EXECUTOR_DETAILS_ORDER',\r\n};\r\n\r\nexport const initAmplitude = () => {\r\n if (!window.amplitude) {\r\n setTimeout(() => initAmplitude(), 1000);\r\n return;\r\n }\r\n if (window.location.host.indexOf('simplicad') >= 0) {\r\n window.amplitude.getInstance().init('593c38efe18d5b8d399fc977cc3437cf');\r\n let deviceId = localStorage.getItem(\"amplitudeDeviceId\");\r\n if (!deviceId) {\r\n deviceId = MathHelper.uuidv4();\r\n localStorage.setItem(\"amplitudeDeviceId\", deviceId);\r\n }\r\n window.amplitude.getInstance().setDeviceId(deviceId);\r\n }\r\n};\r\n\r\nexport const setAmplitudeUserId = userId => {\r\n if (!window.amplitude) {\r\n setTimeout(() => setAmplitudeUserId(userId), 1000);\r\n return;\r\n }\r\n if (window.location.host.indexOf('simplicad') >= 0) {\r\n window.amplitude.getInstance().setUserId(userId);\r\n }\r\n};\r\n\r\n\r\nexport const sendAmplitudeData = (eventType, eventProperties) => {\r\n if (!window.amplitude) {\r\n setTimeout(() => sendAmplitudeData(eventType, eventProperties), 1000);\r\n return;\r\n }\r\n if (window.location.host.indexOf('simplicad') >= 0) {\r\n window.amplitude.getInstance().logEvent(eventType, eventProperties);\r\n }\r\n};","export const GET_REGIONS_REQUEST = 'regions/GET_REGIONS_REQUEST'\r\nexport const GET_REGIONS_SUCCESS = 'regions/GET_REGIONS_SUCCESS'\r\nexport const GET_REGIONS_FAILURE = 'regions/GET_REGIONS_FAILURE'\r\n\r\nexport const GET_REQUEST = 'regions/GET_COUNTRIES_REQUEST';\r\nexport const GET_FAILURE = 'regions/GET_COUNTRIES_FAILURE';\r\n\r\nexport const GET_COUNTRIES_SUCCESS = 'regions/GET_COUNTRIES_SUCCESS';\r\nexport const GET_CITIES_SUCCESS = 'regions/GET_CITIES_SUCCESS';\r\nexport const CLEAR_SEARCH_CITIES = 'regions/CLEAR_SEARCH_CITIES';\r\n","export const GET_REQUEST = 'balance/GET_REQUEST';\r\nexport const GET_FAILURE = 'balance/GET_FAILURE';\r\n\r\nexport const SET_CURRENCY_SUCCESS = 'balance/SET_CURRENCY_SUCCESS';\r\nexport const SET_BILL_SUCCESS = 'balance/SET_BILL_SUCCESS';\r\nexport const GET_TRANSACTION_SUCCESS = 'balance/GET_TRANSACTION_SUCCESS';\r\n\r\nexport const GET_PPEUSER_SUCCESS = 'balance/GET_PPEUSER_SUCCESS';\r\nexport const SET_PPEUSER_SUCCESS = 'balance/SET_PPEUSER_SUCCESS';\r\n\r\nexport const GET_ACT_SUCCESS = 'balance/GET_ACT_SUCCESS';\r\n","export default class jwt {\r\n static decode(token) {\r\n try {\r\n let base64Url = token.split('.')[1];\r\n let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n let jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n } catch { }\r\n return null;\r\n }\r\n}","export const TOGGLE_POPUP = 'questionnairePT/TOGGLE_POPUP';\r\nexport const SET_PRODUCT_TYPE = 'questionnairePT/SET_PRODUCT_TYPE';\r\n\r\nexport const REQUEST = 'questionnairePT/REQUEST';\r\nexport const FAILURE = 'questionnairePT/FAILURE';\r\n\r\nexport const GET_QUESTIONS_SUCCESS = 'questionnairePT/GET_QUESTIONS_SUCCESS';\r\nexport const SEND_ANSWERS_SUCCESS = 'questionnairePT/SEND_ANSWERS_SUCCESS';\r\nexport const GET_PRODUCT_TYPES_SUCCESS = 'questionnairePT/GET_PRODUCT_TYPES_SUCCESS';\r\n","export const GET_MYSPECIALTY_REQUEST = 'myspecialty/GET_MYSPECIALTY_REQUEST';\r\nexport const GET_MYSPECIALTY_SUCCESS = 'myspecialty/GET_MYSPECIALTY_SUCCESS';\r\nexport const GET_MYSPECIALTY_FAILURE = 'myspecialty/GET_MYSPECIALTY_FAILURE';\r\n\r\n\r\nexport const SAVE_MYSPECIALTY_REQUEST = 'myspecialty/SAVE_MYSPECIALTY_REQUEST';\r\nexport const SAVE_MYSPECIALTY_SUCCESS = 'myspecialty/SAVE_MYSPECIALTY_SUCCESS';\r\nexport const SAVE_MYSPECIALTY_FAILURE = 'myspecialty/SAVE_MYSPECIALTY_FAILURE';\r\n\r\nexport const EDIT_MYSPECIALTY=\"myspecialty/EDIT_MYSPECIALTY\";","export const REQUEST = 'userProduct/REQUEST';\r\nexport const FAILURE = 'userProduct/FAILURE';\r\n\r\nexport const UPLOAD_USER_PRODUCT_IMAGE_SUCCESS = 'userProduct/UPLOAD_USER_PRODUCT_IMAGE_SUCCESS';\r\nexport const SAVE_USER_PRODUCT_SUCCESS = 'userProduct/SAVE_USER_PRODUCT_SUCCESS';\r\nexport const GET_MY_USER_PRODUCTS_SUCCESS = 'userProduct/GET_MY_USER_PRODUCTS_SUCCESS';\r\nexport const DELETE_USER_PRODUCT_SUCCESS = 'userProduct/DELETE_USER_PRODUCT_SUCCESS';\r\nexport const CHANGE_PRICE_PRODUCT_SUCCESS = 'userProduct/CHANGE_PRICE_PRODUCT_SUCCESS';\r\n","export const REQUEST = 'elementmatch/REQUEST';\r\nexport const SUCCESS = 'elementmatch/SUCCESS';\r\nexport const FAILURE = 'elementmatch/FAILURE';\r\n\r\nexport const GET_SELLERS_SUCCESS = 'elementmatch/GET_SELLERS_SUCCESS';\r\nexport const GET_CATEGORIES_SUCCESS = 'elementmatch/GET_CATEGORIES_SUCCESS';\r\nexport const GET_ELEMENTS_SUCCESS = 'elementmatch/GET_ELEMENTS_SUCCESS';\r\nexport const SAVE_ELEMENT_MATCH_SUCCESS = 'elementmatch/SAVE_ELEMENT_MATCH_SUCCESS';","export const REGISTER_SIMPLE_REQUEST = 'register/REGISTER_SIMPLE_REQUEST';\r\nexport const REGISTER_SIMPLE_SUCCESS = 'register/REGISTER_SIMPLE_SUCCESS';\r\nexport const REGISTER_SIMPLE_FAILURE = 'register/REGISTER_SIMPLE_FAILURE';\r\n\r\nexport const SET_DEMO_REQUEST = 'registerexecutor/SET_DEMO_REQUEST';\r\nexport const SET_DEMO_SUCCESS = 'registerexecutor/SET_DEMO_SUCCESS';\r\nexport const SET_DEMO_FAILURE = 'registerexecutor/SET_DEMO_FAILURE';","export const REQUEST = 'manufacturer/REQUEST';\r\nexport const FAILURE = 'manufacturer/FAILURE';\r\n\r\nexport const GET_MANUFACTORERS_SUCCESS = 'manufacturer/GET_MANUFACTORERS_SUCCESS';\r\nexport const GET_PRICE_MANUFACTORERS_SUCCESS = 'manufacturer/GET_PRICE_MANUFACTORERS_SUCCESS';\r\nexport const SEND_CONTACT_REQUEST_SUCCESS = 'manufacturer/SEND_CONTACT_REQUEST_SUCCESS';\r\nexport const BECOME_MANUFACTURER_REQUEST_SUCCESS = 'manufacturer/BECOME_MANUFACTURER_REQUEST_SUCCESS';\r\n","export const GET_FAVORITES_PRODUCTS_REQUEST = 'home/GET_FAVORITES_PRODUCTS_REQUEST';\r\nexport const GET_FAVORITES_PRODUCTS_SUCCESS = 'home/GET_FAVORITES_PRODUCTS_SUCCESS';\r\nexport const GET_FAVORITES_PRODUCTS_FAILURE = 'home/GET_FAVORITES_PRODUCTS_FAILURE';\r\n\r\nexport const ADD_FAVORITES_REQUEST = 'home/ADD_FAVORITES_REQUEST';\r\nexport const ADD_FAVORITES_SUCCESS = 'home/ADD_FAVORITES_SUCCESS';\r\nexport const ADD_FAVORITES_FAILURE = 'home/ADD_FAVORITES_FAILURE';\r\n\r\nexport const REMOVE_FAVORITES_REQUEST = 'home/REMOVE_FAVORITES_REQUEST';\r\nexport const REMOVE_FAVORITES_SUCCESS = 'home/REMOVE_FAVORITES_SUCCESS';\r\nexport const REMOVE_FAVORITES_FAILURE = 'home/REMOVE_FAVORITES_FAILURE';\r\n\r\nexport const GET_FAVORITES_REQUEST = 'home/GET_FAVORITES_REQUEST';\r\nexport const GET_FAVORITES_SUCCESS = 'home/GET_FAVORITES_SUCCESS';\r\nexport const GET_FAVORITES_FAILURE = 'home/GET_FAVORITES_FAILURE';\r\n\r\nexport const LOAD_FAVORITES_LOCAL = 'home/LOAD_FAVORITES_LOCAL';","export const REQUEST = 'autoBuild/REQUEST';\r\nexport const FAILURE = 'autoBuild/FAILURE';\r\n\r\nexport const GET_SKETCHES_SUCCESS = 'autoBuild/GET_SKETCHES_SUCCESS';\r\nexport const GET_SKETCH_DETAILS_SUCCESS = 'autoBuild/GET_SKETCH_DETAILS_SUCCESS';\r\n\r\nexport const GET_TEMPLATES_SUCCESS = 'autoBuild/GET_TEMPLATES_SUCCESS';\r\n","export const REQUEST = 'sitePortfolio/REQUEST';\r\nexport const FAILURE = 'sitePortfolio/FAILURE';\r\n\r\nexport const GET_PORFOLIO_IMAGES_SUCCESS = 'sitePortfolio/GET_PORFOLIO_IMAGES_SUCCESS';\r\nexport const UPLOAD_IMAGE_SUCCESS = 'sitePortfolio/UPLOAD_IMAGE_SUCCESS';\r\nexport const DELETE_IMAGE_SUCCESS = 'sitePortfolio/DELETE_IMAGE_SUCCESS';","export const sellElements=\"Seller\";\r\nexport const productionElements=\"Manufacturer\";\r\nexport const setupElements=\"Installer\";\r\nexport const designElements = \"Designer\";\r\nexport const customer = \"Customer\";","import axios from \"axios\";\r\n\r\nexport default function setAuthorizationToken(token) {\r\n if (token) {\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${token}`;\r\n } else {\r\n delete axios.defaults.headers.common[\"Authorization\"];\r\n }\r\n}\r\n","export const SET_LANGUAGE_REQUEST = 'SET_LANGUAGE_REQUEST';\r\nexport const SET_LANGUAGE_SUCCESS = 'SET_LANGUAGE_SUCCESS';\r\nexport const SET_LANGUAGE_FAILURE = 'SET_LANGUAGE_FAILURE';\r\n\r\n\r\n\r\n","export const GET_SOLUTION_REQUEST = 'elements/GET_SOLUTION_REQUEST';\r\nexport const GET_SOLUTION_SUCCESS = 'elements/GET_SOLUTION_SUCCESS';\r\nexport const GET_SOLUTION_FAILURE = 'elements/GET_SOLUTION_FAILURE';","export const GET_MYEDITORSESSIONS_REQUEST = 'editorSessions/GET_MYEDITORSESSIONS_REQUEST';\r\nexport const GET_MYEDITORSESSIONS_SUCCESS = 'editorSessions/GET_MYEDITORSESSIONS_SUCCESS';\r\nexport const GET_MYEDITORSESSIONS_FAILURE = 'editorSessions/GET_MYEDITORSESSIONS_FAILURE';","export class LanguageStorage {\r\n static currentLang = null;\r\n}\r\n\r\nexport function localizePath(path) {\r\n let pathNew = path;\r\n const pathParts = window.location.pathname.split('/');\r\n if (!LanguageStorage.currentLang && pathParts.length >= 2) {\r\n if (pathParts[1] == 'en' || pathParts[1] == 'ru') {\r\n LanguageStorage.currentLang = pathParts[1];\r\n }\r\n }\r\n if (LanguageStorage.currentLang) {\r\n pathNew = \"/\" + LanguageStorage.currentLang + pathNew;\r\n }\r\n return pathNew;\r\n}\r\n\r\nexport function localeFromPath(path) {\r\n const pathParts = path.split('/');\r\n let lang = 'ua';\r\n if (pathParts.length >= 2) {\r\n if (pathParts[1] == 'en' || pathParts[1] == 'ru') {\r\n lang = pathParts[1];\r\n }\r\n }\r\n return lang;\r\n}\r\n\r\nexport function getPathWithoutLang(path) {\r\n if (path.startsWith(\"/ru/\") || path.startsWith(\"/en/\")) {\r\n return path.substring(3);\r\n }\r\n return path;\r\n}","import axios from \"axios\";\r\n\r\nexport default class LoginService {\r\n static login(model) {\r\n return axios.post(`api/account/login`,model)\r\n };\r\n\r\n static logout(model) {\r\n return axios.post(`api/account/logout`, model)\r\n };\r\n}","import { push } from 'connected-react-router';\r\nimport LoginService from './loginService';\r\nimport jwt from '../utils/jwt';\r\nimport * as types from './types';\r\nimport axios from \"axios\";\r\nimport setAuthorizationToken from '../utils/setAuthorizationToken';\r\nimport { sendAmplitudeData, setAmplitudeUserId, amplitudeTypes } from '../utils/amplitude';\r\n\r\n\r\nimport { removeAuthToken, removeRefreshToken, saveAuthToken, saveRefreshToken, saveVerificationToken, removeVerificationToken, getRefreshToken } from '../utils/lsMethods';\r\nimport { localizePath } from '../language/languageExtention';\r\n\r\nexport const rolesIdentity = \"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\";\r\nexport const nameIdentity = \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\";\r\n\r\nexport const loginActions = {\r\n loginStarted: () => {\r\n return { \r\n type: types.LOGIN_POST_REQUEST \r\n }\r\n },\r\n loginSuccess: () => {\r\n return {\r\n type: types.LOGIN_POST_SUCCESS\r\n }\r\n },\r\n loginFailed: (response) => {\r\n return {\r\n type: types.LOGIN_POST_FAILED,\r\n errors: response.data\r\n }\r\n },\r\n setCurrentUser: (user) => {\r\n return {\r\n type: types.LOGIN_SET_CURRENT_USER,\r\n user\r\n }\r\n },\r\n logoutStarted: () => {\r\n return {\r\n type: types.LOGOUT_POST_REQUEST\r\n }\r\n },\r\n}\r\n\r\n\r\nexport const loginPost = (model) => {\r\n return (dispatch) => {\r\n dispatch(loginActions.loginStarted());\r\n LoginService.login(model)\r\n .then((response) => {\r\n dispatch(loginActions.loginSuccess());\r\n loginByJWT(response.data, dispatch);\r\n\r\n const tokenData = jwt.decode(response.data.authToken);\r\n setAmplitudeUserId(tokenData[nameIdentity]);\r\n sendAmplitudeData(amplitudeTypes.OPEN_WEBSITE, { 'registered': true }); \r\n }, err => { throw err; })\r\n .catch(err => {\r\n dispatch(loginActions.loginFailed(err.response));\r\n });\r\n }\r\n}\r\n\r\nexport const loginSocial = (model) => (dispatch) => {\r\n dispatch({ type: types.LOGIN_SOCIAL_REQUEST });\r\n axios.post('api/account/loginSocial', model)\r\n .then((response) => { \r\n loginByJWT(response.data, dispatch);\r\n\r\n const tokenData = jwt.decode(response.data.authToken);\r\n setAmplitudeUserId(tokenData[nameIdentity]);\r\n sendAmplitudeData(amplitudeTypes.OPEN_WEBSITE, { 'registered': true }); \r\n\r\n dispatch({ type: types.LOGIN_SOCIAL_SUCCESS });\r\n }, err => { throw err; })\r\n .catch(err => {\r\n dispatch({ type: types.LOGIN_SOCIAL_FAILED });\r\n });\r\n}\r\n\r\n\r\nexport function logout() {\r\n return dispatch => {\r\n logoutByJWT(dispatch);\r\n sendAmplitudeData(amplitudeTypes.OPEN_WEBSITE, { 'registered': false });\r\n };\r\n}\r\n\r\n// Login with localstorage\r\n\r\nexport const loginByJWT = (tokens, dispatch) => {\r\n const { authToken, refreshToken } = tokens;\r\n const decode=jwt.decode(authToken);\r\n const isConfirmed=decode.phone;\r\n const roles = decode[rolesIdentity];\r\n var user = {\r\n roles,\r\n isConfirmed,\r\n name: decode.ownname,\r\n isExecutor: decode.isExecutor == \"True\"\r\n };\r\n if (!Array.isArray(user.roles)) {\r\n user.roles = Array.of(user.roles);\r\n }\r\n // Set auth and refresh token in localstorage\r\n if(!!refreshToken)\r\n {\r\n saveAuthToken(authToken);\r\n saveRefreshToken(refreshToken)\r\n }\r\n else{\r\n saveVerificationToken(authToken);\r\n }\r\n\r\n\r\n\r\n setAuthorizationToken(authToken);\r\n dispatch(loginActions.setCurrentUser(user));\r\n}\r\n\r\nexport const logoutByJWT = (dispatch) => {\r\n dispatch(loginActions.logoutStarted());\r\n LoginService.logout({ refreshToken: getRefreshToken() })\r\n .then((response) => {\r\n // Remove tokens\r\n removeAuthToken();\r\n removeRefreshToken();\r\n removeVerificationToken();\r\n\r\n\r\n //Set null to header axios\r\n setAuthorizationToken(false);\r\n dispatch(loginActions.setCurrentUser({}));\r\n dispatch(push(localizePath(\"/\")));\r\n }, err => { throw err; })\r\n .catch(err => { \r\n // Remove tokens\r\n removeAuthToken();\r\n removeRefreshToken();\r\n removeVerificationToken();\r\n\r\n //Set null to header axios\r\n setAuthorizationToken(false);\r\n dispatch(loginActions.setCurrentUser({}));\r\n dispatch(push(localizePath(\"/\")));\r\n });\r\n}\r\n\r\nexport const passwordRecoveryRequest = (data, callback) => {\r\n axios.post(`api/account/passwordrecoveryrequest`, data)\r\n .then((response) => {\r\n if (callback) callback(true);\r\n }, err => { throw err; })\r\n .catch(err => {\r\n if (callback) callback(false);\r\n });\r\n}\r\n\r\nexport const passwordRecoveryFinish = (data, callback) => {\r\n axios.post(`api/account/passwordrecoveryfinish`, data)\r\n .then((response) => {\r\n if (callback) callback(true);\r\n }, err => { throw err; })\r\n .catch(err => {\r\n if (callback) callback(false);\r\n });\r\n}\r\n","import React from 'react';\r\nimport './style.scss';\r\n\r\nexport default class FullPageLoaderNoText extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n )\r\n }\r\n}","export default class MathHelper {\r\n static metersToMm(m) {\r\n return Math.round(m * 1000);\r\n }\r\n\r\n static mmToMeters(mm) {\r\n return mm / 1000.0;\r\n }\r\n\r\n static radToDegree(rad) {\r\n return Math.round(rad * (180 / Math.PI));\r\n }\r\n\r\n static degreeToRad(degree) {\r\n return degree * (Math.PI / 180.0);\r\n }\r\n\r\n static mmToInch(mm) {\r\n return mm / 25.4;\r\n }\r\n\r\n static inchToMm(inch) {\r\n return Math.round(inch * 25.4);\r\n }\r\n\r\n static mmToUserVal(mm, isNotSIMeasure) {\r\n if (isNotSIMeasure) {\r\n return this.mmToInch(mm);\r\n }\r\n return mm;\r\n }\r\n\r\n static mmFromUserVal(val, isNotSIMeasure) {\r\n if (isNotSIMeasure) {\r\n return this.inchToMm(val);\r\n }\r\n return val;\r\n }\r\n\r\n static uuidv4() {\r\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n );\r\n }\r\n}","export default class HistoryStorage {\r\n static isRedirectToConstructor = false;\r\n static isRedirectToMyJobs = false;\r\n static historyArray = [];\r\n\r\n static push(location) {\r\n if (this.historyArray.length == 0 || this.historyArray[this.historyArray.length - 1] != location) {\r\n this.historyArray.push(location);\r\n }\r\n }\r\n\r\n static findLast(path) {\r\n for (let i = this.historyArray.length - 1; i >= 0; i--) {\r\n if (this.historyArray[i].indexOf(path) != -1) {\r\n return this.historyArray[i];\r\n }\r\n }\r\n return null;\r\n }\r\n}","import axios from \"axios\";\r\nimport * as types from './types';\r\n\r\nexport const addProductToBasket = (productId) => (dispatch) => {\r\n let basket = getBasket();\r\n if (!basket.products) {\r\n basket.products = [];\r\n }\r\n basket.products.push(productId);\r\n setBasket(basket);\r\n dispatch({ type: types.REFRESH_BASKET, payload: basket });\r\n}\r\n\r\nexport const addGoodsToBasket = (goodsItem) => (dispatch) => {\r\n let basket = getBasket();\r\n const index = basket.goods.findIndex((i) => i.id == goodsItem.id);\r\n if (index == -1) {\r\n basket.goods.push(goodsItem);\r\n }\r\n else {\r\n let new_item = { id: goodsItem.id, count: parseInt(basket.goods[index].count) + parseInt(goodsItem.count) }\r\n basket.goods[index] = new_item;\r\n }\r\n setBasket(basket); \r\n dispatch({ type: types.REFRESH_BASKET, payload: basket });\r\n}\r\n\r\nexport const changeBasketFromState = (basket) => (dispatch) => {\r\n let basketLocal = getBasket();\r\n basketLocal = { ...basketLocal, ...basket };\r\n setBasket(basketLocal);\r\n dispatch({ type: types.REFRESH_BASKET_WITHOUT_PAGE_UPDATE, payload: basket });\r\n}\r\n\r\nexport const addElementsToBasket = (elementsItem) => (dispatch) => {\r\n let basket = getBasket();\r\n if (!Array.isArray(elementsItem)) {\r\n const index = basket.elements.findIndex((i) => i.id == elementsItem.id);\r\n if (index == -1) {\r\n basket.elements.push(elementsItem);\r\n }\r\n else {\r\n let new_item = { id: elementsItem.id, count: parseInt(basket.elements[index].count) + parseInt(elementsItem.count) }\r\n basket.elements[index] = new_item;\r\n }\r\n }\r\n else {\r\n elementsItem.forEach((item) => {\r\n const index = basket.elements.findIndex((i) => i.id == item.id);\r\n if (index == -1) {\r\n basket.elements.push(item);\r\n }\r\n else {\r\n let new_item = { id: item.id, count: parseInt(basket.elements[index].count) + parseInt(item.count) }\r\n basket.elements[index] = new_item;\r\n }\r\n })\r\n }\r\n setBasket(basket);\r\n dispatch({ type: types.REFRESH_BASKET, payload: basket });\r\n}\r\n\r\nexport const getBasket = () => {\r\n let basket = window.localStorage.getItem(\"basket\");\r\n if (basket != null) {\r\n return JSON.parse(basket);\r\n }\r\n return {\r\n goods: [],\r\n elements: []\r\n };\r\n}\r\n\r\nconst setBasket = (basket) => {\r\n window.localStorage.setItem(\"basket\", JSON.stringify(basket));\r\n}\r\n\r\nexport const clearBasket = () => (dispatch) => {\r\n let basket;\r\n let basket_storage = window.localStorage.getItem(\"basket\");\r\n if (basket_storage != null) {\r\n basket = JSON.parse(basket_storage);\r\n }\r\n else {\r\n basket = {\r\n goods: [],\r\n elements: []\r\n };\r\n }\r\n\r\n basket.goods = [];\r\n basket.elements = [];\r\n basket.products = [];\r\n\r\n setBasket(basket);\r\n dispatch({ type: types.REFRESH_BASKET, payload: basket });\r\n}\r\n\r\nexport const getGoodsByIds = (data) => (dispatch) => {\r\n dispatch({ type: types.REQUEST });\r\n return axios.post(`api/goods/getGoodsByIds`, data)\r\n .then((response) => {\r\n dispatch({\r\n type: types.GET_GOODS_BY_IDS_SUCCESS,\r\n payload: response.data\r\n });\r\n }, err => { throw err; })\r\n .catch((err) => {\r\n dispatch({ type: types.FAILURE });\r\n })\r\n}\r\n\r\nexport const makeOrder = (data) => (dispatch) => {\r\n dispatch({ type: types.REQUEST });\r\n return axios.post(`api/goods/makeOrder`, data)\r\n .then((response) => {\r\n dispatch({\r\n type: types.MAKE_ORDER_SUCCESS\r\n });\r\n }, err => { throw err; })\r\n .catch((err) => {\r\n dispatch({ type: types.FAILURE });\r\n })\r\n}\r\n\r\nexport const getElementsByIds = (data, callback) => (dispatch) => {\r\n dispatch({ type: types.REQUEST });\r\n return axios.post(`api/elements/getElementsByIds`, data)\r\n .then((response) => {\r\n dispatch({\r\n type: types.GET_ELEMENTS_BY_IDS_SUCCESS,\r\n payload: response.data\r\n });\r\n if (callback) callback(true, response.data);\r\n }, err => { throw err; })\r\n .catch((err) => {\r\n dispatch({ type: types.FAILURE });\r\n if (callback) callback(false);\r\n })\r\n}\r\n\r\nexport const makeElementsOrder = (data, callback) => (dispatch) => {\r\n dispatch({ type: types.REQUEST });\r\n return axios.post(`api/elements/makeOrder`, data)\r\n .then((response) => {\r\n dispatch({\r\n type: types.MAKE_ELEMENTS_ORDER_SUCCESS\r\n });\r\n if (callback) callback(true);\r\n }, err => { throw err; })\r\n .catch((err) => {\r\n dispatch({ type: types.FAILURE });\r\n if (callback) callback(false);\r\n })\r\n}","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\n//import Cache from 'i18next-localstorage-cache';\r\n\r\nimport Backend from 'i18next-xhr-backend';\r\n// not like to use this?\r\n// have a look at the Quick start guide \r\n// for passing in lng and translations on init\r\n\r\n\r\ni18n\r\n // load translation using xhr -> see /public/locales\r\n // learn more: https://github.com/i18next/i18next-xhr-backend\r\n .use(Backend)\r\n .use(LanguageDetector)\r\n //.use(Cache)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init({\r\n fallbackLng: 'uk',\r\n debug: false,\r\n interpolation: {\r\n escapeValue: false, // not needed for react as it escapes by default\r\n },\r\n detection: {\r\n order: ['cookie'], \r\n //caches: ['cookie'],\r\n }\r\n });\r\n\r\n\r\nexport default i18n;","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { toastr, Types } from \"./toastr\";\r\nimport './ToastrView.scss';\r\n\r\n\r\nclass ToastrView extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props !== prevProps) {\r\n if (this.props.show) {\r\n setTimeout(() => {\r\n toastr.hide();\r\n }, 5000);\r\n }\r\n }\r\n }\r\n\r\n colorFromType = (messageType) => {\r\n switch (messageType) {\r\n case Types.SUCCESS:\r\n return \"#60bb71\";\r\n case Types.WARNING:\r\n return \"#f7a336\";\r\n case Types.ERROR:\r\n return \"#db6a64\";\r\n }\r\n return \"#60bb71\";\r\n }\r\n\r\n render() {\r\n const { show, title, message, messageType } = this.props;\r\n return (\r\n \r\n {title &&
{title}
}\r\n {message &&
{message}
}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n ...state.toastr\r\n})\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ToastrView);","import React, { Suspense } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { Router } from 'react-router-dom';\r\n\r\nimport store, { history } from './store/configureStore'; //?\r\nimport jwt from './utils/jwt';\r\nimport { getAuthToken, getRefreshToken, getVerificationToken } from './utils/lsMethods';\r\nimport './i18n';\r\n\r\nimport FullPageLoaderNoText from './components/loaders/FullPageLoader/FullPageLoaderNoText';\r\nimport loadlazy from './utils/componentLoader';\r\nimport HistoryStorage from './utils/HistoryStorage';\r\nimport ToastrView from './components/toastr/ToastrView';\r\n\r\n\r\n//#region init block\r\n\r\n//Styles\r\nimport('bootstrap/dist/css/bootstrap.css').then(m => { });\r\nimport(\"./styles/main.scss\").then(m => { });\r\nimport('./App.css').then(m => { });\r\n\r\n//import('./i18n').then(m => { App.ModulesLoadedCount++; });\r\n\r\n\r\nimport(\"./utils/amplitude\").then((amp) => {\r\n amp.initAmplitude();\r\n const authToken = getAuthToken();\r\n if (authToken != null) {\r\n const tokenData = jwt.decode(authToken);\r\n amp.setAmplitudeUserId(tokenData['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name']);\r\n amp.sendAmplitudeData(amp.amplitudeTypes.OPEN_WEBSITE, { 'registered': true });\r\n } else {\r\n amp.sendAmplitudeData(amp.amplitudeTypes.OPEN_WEBSITE, { 'registered': false });\r\n }\r\n});\r\n\r\nimport(\"axios\").then((axios) => {\r\n if (window.location.hostname != \"localhost\") {\r\n axios.defaults.timeout = 120000; \r\n }\r\n if (navigator.userAgent == \"ReactSnap\") {\r\n axios.defaults.baseURL = 'https://localhost:44374/';\r\n }\r\n});\r\n\r\nimport(\"retry-axios\").then((rax) => {\r\n const interceptorId = rax.attach();\r\n});\r\n\r\nimport('./login/actions').then((loginActions) => {\r\n import('./utils/setAuthorizationToken').then((setAuthorizationTokenModule) => {\r\n if (getAuthToken()) {\r\n let data = { authToken: getAuthToken(), refreshToken: getRefreshToken() }\r\n loginActions.loginByJWT(data, store.dispatch)\r\n }\r\n else if (getVerificationToken()) {\r\n let token = getVerificationToken();\r\n setAuthorizationTokenModule.default(token);\r\n }\r\n })\r\n})\r\n\r\n//#endregion\r\n\r\n\r\n//#region lazy Pages and components\r\n//const ReduxToastr = loadlazy(() => import('react-redux-toastr'));\r\nconst AppTitleHelper = loadlazy(() => import('./AppTitleHelper'));\r\nconst LiveSupport = loadlazy(() => import('./feedback/liveSupport/LiveSupport'));\r\nconst QuestionnaireButton = loadlazy(() => import('./questionnairePT/scenes/QuestionnaireButton'));\r\nconst ErrorBoundary = loadlazy(() => import('./errorBoundary'));\r\n\r\nconst MainLayout = loadlazy(() => import('./components/layouts/MainLayout'));\r\nconst MainLayoutFullWidth = loadlazy(() => import('./components/layouts/MainLayoutFullWidth'));\r\nconst GuestRoute = loadlazy(() => import('./components/routes/GuestRoute'));\r\nconst UserRoute = loadlazy(() => import('./components/routes/UserRoute'));\r\nconst MyProfileLayout = loadlazy(() => import('./components/layouts/MyProfileLayout'));\r\nconst MainLayoutHome = loadlazy(() => import('./components/layouts/MainLayoutHome'));\r\nconst MyCompanyLayout = loadlazy(() => import('./siteCompany/components/menu/CompanyLayout'));\r\n\r\nconst UserRouteExecutor = loadlazy(() => import('./components/routes/UserRouteExecutor'));\r\nconst UserRoutePortfolio = loadlazy(() => import('./components/routes/UserRoutePortfolio'));\r\nconst UnConfirmAccountRoute = loadlazy(() => import('./components/routes/UnConfirmAccountRoute'));\r\nconst UserRouteSeller = loadlazy(() => import('./components/routes/UserRouteSeller'));\r\n\r\nconst CookiesBanner = loadlazy(() => import('./cookies/CookiesBanner'));\r\n\r\n\r\nconst HomeCatalogTurnkeyPage = loadlazy(() => import('./home/catalogTurnkeyv2/CatalogPage'));\r\nconst MyProjectsV3 = loadlazy(() => import('./projects/myprojectsv3/MyProjectsV3'));\r\nconst MyProductDetails = loadlazy(() => import('./projects/myprojectsv3/MyProductDetails'));\r\n\r\n\r\nconst HomePage = loadlazy(() => import('./home/homePage/HomePage'));\r\nconst HomeCatalogPageV4 = loadlazy(() => import('./home/catalogv4/CatalogPageV4'));\r\n\r\nconst CatalogProductDetails = loadlazy(() => import('./home/catalogProductDetailsV2/ProductDetails'));\r\nconst ExecutorDetailsPage = loadlazy(() => import('./home/catalogProductDetailsV2/ExecutorDetailsPage'));\r\n\r\nconst CatalogProductPageDIY = loadlazy(() => import('./home/catalogProductDetailsDIY/ProductDetails'));\r\nconst GoodsListPage = loadlazy(() => import('./goods/goodslist/GoodsListPage'));\r\nconst ManufacturersPage = loadlazy(() => import('./manufacturer/ManufacturersPage'));\r\nconst GoodsDetailsPage = loadlazy(() => import('./goods/goodsdetails/GoodsDetailsPage'));\r\nconst ElementsListPage = loadlazy(() => import('./elements/elementslist/ElementsListPage'));\r\nconst ElementDetailsPage = loadlazy(() => import('./elements/elementDetails/ElementDetailsPage'));\r\n\r\nconst SolutionFooter = loadlazy(() => import('./solutions/static/SolutionFooter'));\r\n\r\nconst RegisterPage = loadlazy(() => import('./register/registerSimple/RegisterPage'));\r\nconst LoginPage = loadlazy(() => import('./login/scenes'));\r\nconst RecoverPasswordPage = loadlazy(() => import('./login/scenes/RecoverPasswordPage'));\r\nconst MyInfoPage = loadlazy(() => import('./myprofile/myinfo/scenes'));\r\nconst MySpecialtyPage = loadlazy(() => import('./myprofile/myspecialty/scenes/index'));\r\nconst EditSiteProtforlioPage = loadlazy(() => import('./myprofile/sitePortfolio/EditSiteProtforlioPage'));\r\nconst VerificateAccountPage = loadlazy(() => import('./verify/scenes/index'));\r\nconst MyElementsPage = loadlazy(() => import('./myprofile/myelements/scenes/index'));\r\nconst ElementMatchPage = loadlazy(() => import('./myprofile/elementmatch/scenes/ElementMatchPage'));\r\nconst MyElementPage = loadlazy(() => import('./myprofile/myelements/scenes/MyElementPage/index'));\r\nconst BulkUploadInfoPage = loadlazy(() => import('./myprofile/bulkuploadinfo/BulkUploadInfoPage'));\r\nconst MyEditorSessions = loadlazy(() => import('./myprofile/editorSessions/MyEditorSessions'));\r\nconst MyGoods = loadlazy(() => import('./myprofile/goods/myGoods/MyGoods'));\r\nconst AddGoods = loadlazy(() => import('./myprofile/goods/addGoods/AddGoods'));\r\nconst AddPaints = loadlazy(() => import('./myprofile/goods/addGoods/AddPaint'));\r\nconst AddProfsheet = loadlazy(() => import('./myprofile/goods/addGoods/AddProfsheet'));\r\nconst AddMetal = loadlazy(() => import('./myprofile/goods/addGoods/AddMetal'));\r\nconst AddGateAutomation = loadlazy(() => import('./myprofile/goods/addGoods/AddGateAutomation'));\r\nconst MyFeedbacksPage = loadlazy(() => import('./feedback/MyFeedbacksPage'));\r\nconst FeedbackChatPage = loadlazy(() => import('./feedback/FeedbackChatPage'));\r\n\r\nconst MyProjectsPageV2 = loadlazy(() => import('./projects/myprojects/MyProjectsPageV2'));\r\nconst CalculateFactorsPage = loadlazy(() => import('./myprofile/calculationfactors/scenes/CalculationFactorsPage'));\r\nconst EditUserProductsPage = loadlazy(() => import('./myprofile/myproductportfolio/EditUserProductsPage'));\r\n\r\nconst AllInstructionsPage = loadlazy(() => import('./instruction/global/AllInstructionsPage'));\r\nconst InstructionPage = loadlazy(() => import('./instruction/details/InstructionPage'));\r\n\r\nconst FavoriteProductsPage = loadlazy(() => import('./favorites/favoriteProducts/FavoriteProductsPage'));\r\nconst BasketPage = loadlazy(() => import('./basket/basketPage/BasketPage'));\r\n\r\n\r\nconst MySketchesPage = loadlazy(() => import('./autoBuildEdit/sketches/MySketches'));\r\nconst MySketchesElementsPage = loadlazy(() => import('./autoBuildEdit/sketches/MySketchesElements'));\r\nconst EditSketchPage = loadlazy(() => import('./autoBuildEdit/editSketch/EditSketchPage'));\r\nconst MyAutoBuildTemplatesPage = loadlazy(() => import('./autoBuildEdit/templates/MyTemplates'));\r\nconst EditAutoBuildTemplatePage = loadlazy(() => import('./autoBuildEdit/editTemplate/EditTemplatePage'));\r\n\r\nconst AutoBuildCreateProduct = loadlazy(() => import('./autoBuild/createProduct/CreateProductPage'));\r\n\r\nconst EmptyPage = loadlazy(() => import('./EmptyPage'));\r\n\r\nconst MainSolutionPage = loadlazy(() => import('./solutions/Solution'));\r\nconst SolutionPage = loadlazy(() => import('./solutions/SolutionById'));\r\n\r\nconst BalancePage = loadlazy(() => import('./myprofile/balance/Balance'));\r\n\r\nconst ExecutorSettingsPage = loadlazy(() => import('./embedding/executorSettings/ExecutorSettingsPage'));\r\nconst EmbedingCatalogPage = loadlazy(() => import('./embedding/userPage/EmbedingCatalogPage'));\r\nconst EmbeddingDetailsPage = loadlazy(() => import('./embedding/userPage/EmbeddingDetailsPage'));\r\n\r\nconst SiteCompanyServicePage = loadlazy(() => import('./siteCompany/siteCompanyService/SiteCompanyServicePage'));\r\n\r\nconst CompanyPage = loadlazy(() => import('./siteCompany/company/CompanyPage'));\r\nconst CompanyPage3dCatalog = loadlazy(() => import('./siteCompany/company/3dCatalog'));\r\nconst CompanyPageContacts = loadlazy(() => import('./siteCompany/company/Contacts'));\r\nconst CompanyPagePortfolio = loadlazy(() => import('./siteCompany/company/Portfolio'));\r\nconst CompanyPageProductsDetails = loadlazy(() => import('./siteCompany/components/catalog/CompanyProductDetailsPage'));\r\n\r\nconst CalculatorPage = loadlazy(() => import('./calculator/components/CalculatorPage'));\r\nconst MyOrdersPage = loadlazy(() => import('./calculator/myorders/MyOrdersPage'));\r\nconst NewProductPage = loadlazy(() => import('./projects/myprojectsv3/NewProductPage'));\r\n\r\nconst QuestionnairePage = loadlazy(() => import('./questionnairePT/scenes/QuestionnairePage'));\r\n\r\nconst CreateProductMobile = loadlazy(() => import('./autoBuild/createProductMobile/CreateProductMobile'));\r\n//#endregion\r\n\r\nexport class App extends React.Component {\r\n static ModulesLoadedCount = 1;\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isModulesLoaded: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.moduleLoadInterval = setInterval(() => {\r\n if (App.ModulesLoadedCount == 1) {\r\n console.log('--- loaded modules');\r\n clearInterval(this.moduleLoadInterval);\r\n this.setState({\r\n isModulesLoaded: true\r\n });\r\n } else {\r\n console.log('--- loading modules');\r\n }\r\n }, 50);\r\n\r\n this.unlisten = history.listen((location, action) => {\r\n window.scrollTo(0, 0);\r\n if (action == \"PUSH\") {\r\n HistoryStorage.push(location.pathname);\r\n }\r\n });\r\n }\r\n componentWillUnmount() {\r\n if (this.unlisten)\r\n this.unlisten();\r\n }\r\n\r\n render() {\r\n let showLiveSup =\r\n window.location.pathname.indexOf(\"/embedding/\") == -1 &&\r\n window.location.pathname.indexOf(\"/company/\") == -1 &&\r\n window.location.pathname.indexOf(\"/companyedit/\") == -1 &&\r\n window.location.pathname.indexOf(\"/questionnaire\") == -1 &&\r\n window.location.pathname.indexOf(\"/createProductMobile\") == -1;\r\n const showCookieBanner = window.location.pathname.indexOf(\"/embedding/\") == -1 &&\r\n window.location.pathname.indexOf(\"/createProductMobile\") == -1;\r\n\r\n if (!this.state.isModulesLoaded) {\r\n return ; \r\n }\r\n\r\n return (\r\n }>\r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/**/}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n\r\n {/**/}\r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {showCookieBanner &&\r\n \r\n }\r\n\r\n {/*\r\n {showLiveSup &&\r\n \r\n }\r\n {showLiveSup &&\r\n \r\n }\r\n */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport App from './App';\r\n\r\nconst rootElement = document.getElementById('root');\r\nReactDOM.render(\r\n \r\n ,\r\n rootElement);\r\n\r\n/*\r\n * \r\n \r\n \r\n \r\n \r\n \r\n empty\r\n \r\n \r\n \r\n */\r\n"],"sourceRoot":""}