{"version":3,"sources":["../ActionTypes.ts","components/forms/newCarForm/chassisNumberModal.module.scss","components/dashboards/buyerSale/buyerContract.module.scss","../apiRoutes.ts","components/app/navbar.module.scss","components/forms/publicForms.module.scss","components/dashboards/firstLogin/userData.module.scss","components/exportInvoiceForSeller/exportInvoiceForSeller.module.scss","components/stepper/stepper.module.scss","components/tables/damagesBuyerTable.module.scss","components/sellerContract/exportSellerContract.module.scss","components/forms/importCars/importCars.module.scss","components/packageSelection/packageSelection.module.scss","components/tables/carsAdminTable.module.scss","components/forms/newCarForm/sellCarWithoutWarrantyModal.module.scss","components/forms/newCarForm/warrantyDurationModal.module.scss","components/forms/damageForm/NewDamageModal.module.scss","components/dropdowns/DropdownAutocomplete.module.scss","components/UI/dropdowns/DropdownAutocomplete.module.scss","components/utilities/actionNotification.module.scss","resources/img/total-sold.png","components/forms/warrantyForm/changeWarrantyDateModal.module.scss","components/forms/newCarForm/newSellerModal.module.scss","components/tables/warrantyTable.module.scss","components/tables/soldWarrantiesTable.module.scss","components/tables/damagesAdminTable.module.scss","components/tables/damagesSellerByAdminTable.module.scss","components/tables/damagesCarTable.module.scss","components/tables/adminSellersOverview.module.scss","components/tables/otherActiveSellersTable.module.scss","components/tables/adminSellersUnactiveOverview.module.scss","components/legal/legal.module.scss","resources/img/warranty.jpg","components/forms/warrantyStatusForm.module.scss","components/dashboards/sellerDashboard.module.scss","components/forms/missingCarDetailsForm/missingCarDetailsForm.module.scss","components/dashboards/firstLogin/tos/TOS.module.scss","components/forms/sellerNoteForm/sellerNote.module.scss","components/forms/buyerForm/buyerRegistrationForm.module.scss","components/forms/warrantyForm/changeBuyerModal.module.scss","components/app/footer.module.scss","components/forms/damageForm/fileUpload.module.scss","components/tables/damagesSellerTable.module.scss","components/tables/invoicesTable.module.scss","components/cards/thisMonthTotalWarrantiesSold.module.scss","components/warrantyReview/warrantyReview.module.scss","components/forms/sellerRegistrationForm/sellerForm.module.scss","components/forms/newCarForm/newCar.module.scss","components/forms/photoUploadForm/photoUploadForm.module.scss","../DamageStatus.ts","components/lists/photoList.module.scss","components/forms/warrantyForm/warrantyMailModal.module.scss","components/upgradeWarrantyPackage/upgradeWarrantyPackageLayout.module.scss","components/forms/buyerForm/buyerForm.module.scss","components/links/footerLink.module.scss","components/app/background.module.scss","components/utilities/appLoading.module.scss","components/authentication/publicForms.module.scss","components/tables/adminArchiveWarrantyTable.module.scss","components/forms/buyerForm/sendMailBuyerModal.module.scss","components/routing/routes.module.scss","components/dashboards/firstLogin/firstLoginDashboard.module.scss","components/tables/adminBuyersOverview.module.scss","components/tables/marketingSellersTable.module.scss","components/tables/statisticsMarketingWarrantiesTable.module.scss","components/tables/statisticsWarrantiesTable.module.scss","components/forms/damageForm/damageForm.module.scss","components/forms/buyerForm/buyerEmailModal.module.scss","components/tables/adminTable.module.scss","utils/StateInitializer.ts","redux/sagas/initState.ts","redux/sagas/goToPage.ts","domain/enums/Roles.ts","di/ThirdPartyTypes.ts","constants/RoleConstants.ts","utils/AuthFunctions.ts","domain/enums/NotificationStyle.ts","domain/services/UserService.ts","domain/services/BuyerService.ts","redux/sagas/user.ts","domain/services/WarrantyService.ts","redux/sagas/warranty.ts","domain/services/PackageService.ts","redux/sagas/package.ts","domain/services/AdminTableService.ts","redux/sagas/adminTable.ts","domain/services/CarService.ts","utils/URLHelper.ts","redux/sagas/car.ts","domain/services/SellerService.ts","redux/sagas/seller.ts","domain/services/DamageService.ts","redux/sagas/damage.ts","redux/sagas/buyer.ts","redux/sagas/missingCarDetails.ts","domain/services/StatisticsService.ts","redux/sagas/statistics.ts","domain/services/InvoiceService.ts","redux/sagas/invoicing.ts","domain/services/CurrencyService.ts","redux/sagas/currency.ts","redux/sagas/index.ts","redux/reducers/sellerReducer.ts","redux/reducers/initState.ts","redux/reducers/loginReducer.ts","redux/reducers/userReducer.ts","redux/reducers/packageReducer.ts","redux/reducers/carReducer.ts","redux/reducers/warrantyStatusesReducer.ts","redux/reducers/warrantyReducer.ts","redux/reducers/registerReducer.ts","redux/reducers/adminTableReducer.ts","redux/reducers/damageReducer.ts","redux/reducers/damagesTableReducer.ts","redux/reducers/carsTableReducer.ts","redux/reducers/loadingReducer.ts","redux/reducers/actionNotificationReducer.ts","redux/reducers/forgotPasswordReducer.ts","redux/reducers/carPhotosReducer.ts","redux/reducers/buyerReducer.ts","redux/reducers/statisticsReducer.ts","redux/reducers/currencyReducer.ts","redux/reducers/index.ts","redux/reducers/invoicingReducer.ts","utils/AuthInterceptor.ts","di/configureContainer.ts","constants/FormConstants.ts","utils/validation.ts","components/dropdowns/DropdowndAutocomplete.utils.tsx","utils/Converter.ts","domain/enums/WarrantyStatus.ts","utils/warrantyStatusChecker.ts","utils/DateHelper.ts","components/forms/newCarForm/automaticGearBoxCheckButton.tsx","components/forms/newCarForm/factoryWarrantyCheckButton.tsx","components/forms/newCarForm/RiskyCheckButton.tsx","i18n.js","utils/translateText.ts","utils/CarReviewHelper.ts","components/forms/newCarForm/ChassisNumberModal.tsx","components/forms/newCarForm/WarrantyDurationRadioButtons.tsx","components/forms/newCarForm/NewCarForm.tsx","components/packageSelection/PackageCard.tsx","components/packageSelection/MainPackageCard.tsx","utils/StepperHelper.ts","components/packageSelection/PackageSelection.tsx","components/forms/WarrantyStatusForm.tsx","components/lists/PhotoList.tsx","components/forms/warrantyForm/DeleteWarrantyModal.tsx","components/forms/warrantyForm/ChangeWarrantyDateModal.tsx","components/forms/warrantyForm/WarrantyMailModal.tsx","components/forms/warrantyForm/SaveWarrantyModal.tsx","components/forms/warrantyForm/ChangeSellerModal.tsx","components/forms/warrantyForm/ChangeBuyerModal.tsx","components/forms/warrantyForm/ChangeWarrantyDurationModal.tsx","components/warrantyReview/WarrantyReview.tsx","components/stepper/Stepper.tsx","components/stepper/CarStepper.tsx","domain/enums/CarStatus.ts","components/forms/newCarForm/SellCarWithoutWarrantyModal.tsx","components/forms/photoUploadForm/PhotoUploadForm.tsx","containers/warranty/WarrantyFormPage.tsx","components/forms/newCarForm/NewSellerModal.tsx","components/forms/newCarForm/NewCar.tsx","components/forms/newCarForm/WarrantyDurationModal.tsx","containers/car/CarFormPage.tsx","domain/enums/BuyerType.ts","components/cards/buyerInfoCards.tsx","components/upgradeWarrantyPackage/UpgradeWarrantyPackageLayout.tsx","containers/warranty/UpgradeWarrantyPackage.tsx","components/tables/WarrantyTable.tsx","components/forms/buyerForm/BuyerRadioButtons.tsx","components/forms/buyerForm/BuyerForm.tsx","components/forms/missingCarDetailsForm/MissingCarDetailsForm.tsx","components/forms/buyerForm/BuyerEmailModal.tsx","components/dashboards/SellerDashboard.tsx","components/cards/thisMonthTotalWarrantiesSold.tsx","containers/warranty/WarrantyOverview.tsx","components/app/NavBar.animations.tsx","components/app/NavBar.tsx","components/links/FooterLink.tsx","components/app/Footer.tsx","components/app/ContentLayout.tsx","components/app/Background.tsx","components/utilities/AppLoading.tsx","containers/utilities/Loading.tsx","components/utilities/ActionNotification.tsx","containers/utilities/ActionNotificationContainer.tsx","components/routing/PrivateRoute.tsx","components/authentication/PublicFormLayout.tsx","components/forms/loginForm.tsx","containers/authentication/LoginFormPage.tsx","components/UI/dropdowns/DropdownAutocomplete.utils.tsx","components/forms/invoiceForm/InvoiceModalForm.tsx","components/exportInvoiceForSeller/PDVCheckBox.tsx","components/exportInvoiceForSeller/ExportInvoiceForSellerComponent.tsx","containers/invoicing/WarrantyInvoicing.tsx","components/tables/SoldWarrantiesTable.tsx","components/cards/MarketingThisMonthSoldTotalWarranties.tsx","components/cards/LastYearThisMonthTotalSoldWarranties.tsx","containers/admin/AdminTableOverview.tsx","components/tables/AdminWarrantyTable.tsx","components/cards/totalWarranties.tsx","containers/admin/AllWarrantiesOverview.tsx","components/tables/AdminArchiveWarrantyTable.tsx","components/cards/totalArchiveWarranties.tsx","containers/admin/ArchiveWarrantiesOverview.tsx","components/forms/sellerRegistrationForm/SellerButtons.tsx","components/forms/sellerRegistrationForm/SellerActivateModal.tsx","components/forms/sellerRegistrationForm/SellerDeactivateModal.tsx","components/forms/sellerRegistrationForm/SellerDeniedContractModal.tsx","components/forms/sellerRegistrationForm/SellerSubmitContractModal.tsx","components/forms/sellerRegistrationForm/SellerCancelContractModal.tsx","components/sellerContract/ExportSellerContract.tsx","components/forms/sellerRegistrationForm/SellerRegistrationForm.tsx","containers/admin/SellerRegistration.tsx","components/forms/buyerForm/DeleteBuyerModal.tsx","components/forms/buyerForm/SendMailBuyerModal.tsx","components/forms/buyerForm/BuyerRegistrationForm.tsx","containers/admin/BuyerRegistration.tsx","components/tables/AdminBuyerWarrantyTable.tsx","containers/admin/WarrantiesForBuyer.tsx","components/tables/AdminSellerWarrantyTable.tsx","containers/admin/WarrantiesForSeller.tsx","components/forms/damageForm/fileUpload.tsx","components/forms/damageForm/damageServiceRadioButtons.tsx","components/forms/damageForm/damageWarrantyRadioButtons.tsx","components/buttons/BackButton.tsx","components/forms/damageForm/NewDamageModal.tsx","components/forms/damageForm/DeleteDamageModal.tsx","components/forms/damageForm/damageForm.tsx","containers/damage/DamagePage.tsx","containers/damage/NewDamagePage.tsx","components/tables/DamagesAdminTable.tsx","containers/damage/DamageAdminOverview.tsx","components/tables/CarsAdminTable.tsx","containers/car/CarAdminOverview.tsx","components/tables/CarsSellerTable.tsx","containers/car/CarSellerOverview.tsx","components/tables/CarsAdminOnlyCarsTable.tsx","containers/car/CarAdminOnlyCarsOverview.tsx","components/tables/CarsAdminSoldOnlyCarsTable.tsx","containers/car/CarAdminSoldOnlyCarsOverview.tsx","components/routing/PublicRoute.tsx","components/forms/forgotPassword/emailForm.tsx","containers/authentication/EmailFormPage.tsx","components/forms/forgotPassword/confirmPassword.tsx","containers/authentication/ConfirmPasswordPage.tsx","components/dashboards/firstLogin/Userdata.tsx","components/dashboards/firstLogin/tos/TOS.tsx","components/dashboards/firstLogin/AcceptHelpButtons.tsx","components/dashboards/firstLogin/FirstLoginDashboard.tsx","components/tables/AdminBuyersOverview.tsx","containers/admin/BuyersOverview.tsx","components/tables/DamagesSellerTable.tsx","containers/damage/DamageSellerOverview.tsx","components/tables/DamagesBuyerTable.tsx","containers/damage/DamageBuyerOverview.tsx","components/tables/DamagesSellerByAdminTable.tsx","containers/damage/DamageSellerByAdminOverview.tsx","components/tables/DamagesWarrantyTable.tsx","containers/damage/DamageWarrantyOverview.tsx","components/tables/DamagesCarTable.tsx","containers/damage/DamageCarOverview.tsx","components/tables/AdminSellersOverview.tsx","containers/admin/SellersOverview.tsx","components/tables/MarketingSellersTable.tsx","containers/marketing/MarketingSellersOverview.tsx","components/tables/OtherActiveSellersTable.tsx","containers/admin/OtherActiveSellersOverview.tsx","containers/marketing/MarketingSoldOverview.tsx","containers/admin/BuyerOverview.tsx","components/forms/sellerNoteForm/SellerNote.tsx","containers/admin/SellerOverview.tsx","components/tables/StatisticsMarketingWarrantiesTable.tsx","containers/statistics/StatisticsMarketingWarrantiesOverview.tsx","components/tables/StatisticsWarrantiesTable.tsx","containers/statistics/StatisticsWarrantiesOverview.tsx","components/tables/AdminSellersUnactiveOverview.tsx","containers/admin/SellersUnactiveOverview.tsx","components/legal/TOS.tsx","components/legal/PrivacyPolicy.tsx","components/legal/SellerContract.tsx","components/legal/Consent.tsx","components/dashboards/buyerSale/BuyerContract.tsx","containers/buyer/BuyerSale.tsx","components/tables/InvoicesTable.tsx","containers/invoicing/InvoicesOverview.tsx","components/analytics/AnalyticsOverview.tsx","components/forms/importCars/ImportCarsForm.tsx","containers/admin/ImportCars.tsx","App.tsx","store.ts","serviceWorker.ts","utils/ArrayExtensions/ArrayFirstExtension.ts","index.tsx"],"names":["ActionTypes","module","exports","Button","Modal","RootModal","Question","MainText","Box","Layout","RootGrid","FormLabel","ButtonGrid","Container","Header","urlToken","DEV_URL","baseAPI","userApiURL","statistics","loginApiURL","registerApiURL","forgotPasswordURL","confirmPasswordURL","carApiURL","buyerApiURL","warrantyApiURL","warrantyEditApiURL","warrantySaveOnlyApiURL","warrantyEditOnlyApiURL","warrantyDeleteApiURL","adminTableDataURL","adminArchiveTableDataURL","currentUserURL","carAdminApiURL","carSellerApiURL","damageApiURL","damageAdminApiURL","damageSellerApiURL","damageBuyerApiURL","damageWarrantyApiURL","damageSellerByAdminApiURL","damageCarApiURL","saveSeller","activateSeller","deleteSeller","legalEntities","sellerApiURL","saveNoteForSellerApi","submitSellerContract","cancelSellerContract","deniedSellerContract","sellerContractPdf","saveBuyerURL","deleteBuyerURL","confirmDataURL","activateWarrantyApiURL","approvedWarrantiesApiURL","allSoldWarranties","allSoldWarrantiesCount","exportApiURL","instructionsToActivate","warrantyPdf","invoicePdf","allInvoices","Img","Content","Root","Drawer","Toolbar","Home","MenuBar","DrawerClose","Logo","name","ForgotPass","SubmitButton","PaperRoot","EmailDelivered","Title","ButtonContainer","GridContainer","GridItem","ContactContainer","ContactGrid","ContactP","NoMargin","iframeContainer","generateButton","iframePlaceholder","lastInvoice","Stepper","StepperPagination","MobileStepperPagination","InfoButton","Approved","Declined","Reported","Edit","View","container","formContainer","ListItem","Select","selectSeller","textarea","addOneMore","btnWrapper","Selected","Column","Text","Control","Menu","Input","Placeholder","Value","Success","Error","Info","Message","Icon","__webpack_require__","p","Form","Date","Buyer","Available","Sold","Active","InProcess","Inactive","Submitted","JustifyRight","search","invoice","warrantyDetailsTable","Accepted","TextField","FormControlLabel","Paragraph","FormControl","buyerFormReadonly","editorWrapper","editor","GridButton","OuterGrid","Grid","BuyerInputs","footer","links","footerLinks","InputUpload","dropdown","card","details","content","cover","controls","lastMonthSold","SaveButton","ChangeModalButton","MailButton","GridRoot","OdbioUgovorButton","PrikaziUgovorButton","MarginTop","TextValidator","TextValidatorFirst","Dropdown","fileContainerWrapped","chooseFileButtonWrapped","uploadPictureContainer","uploadPicture","deleteImage","Center","Gallery","PhotoButtonHolder","DamageStatus","Photo","GalleryContainer","link","Background","login","PublicBackground","CenterButton","StateInitializer","injectable","queryProps","_ref","client_id","provider_id","config_id","clientId","providerId","test","parseInt","undefined","configId","qs","parse","window","location","slice","Object","objectSpread","language","this","getLocale","navigator","languages","initStateFromQueryString","_","stateInitializer","application","regenerator_default","a","wrap","_context","prev","next","getContext","sent","get","apply","init","put","type","INIT_STATE_ERROR","abrupt","INIT_STATE_SUCCESS","payload","replace","pathname","history","state","replaceState","document","title","stop","_marked","goToPage","action","push","url","goToPage_marked","Roles","ThirdPartyTypes","Axios","Symbol","for","roleProp","HAKRedirectURL","isAdmin","getUserRole","Admin","isSuperAdmin","SuperAdmin","isBuyer","isSeller","Seller","isMarketing","Marketing","getToken","user","localStorage","getItem","JSON","token","isAuthenticated","jwt_decode","NotificationStyle","UserService","inject","data","apiClient","post","response","saveToken","setItem","stringify","email","BuyerService","page","pageSize","filters","warrantyId","buyerId","buyer","userLogin","userRegister","forgotPasswordRequest","confirmPassword","currentUser","confirmData","userService","buyerService","userResponse","buyerResponse","activateUrl","getApprovedWarranties","length","isHakRole","href","LOGIN_SUCCESS","GO_TO_PAGE","activated","ReactGA","event","category","label","split","t0","LOGIN_ERROR","user_marked","_context2","register","REGISTER_SUCCESS","_marked2","_response","_context3","LOADING_START","EMAIL_SUBMIT_SUCCESS","NOTIFICATION_SHOW","message","style","EMAIL_SUBMIT_ERROR","LOADING_END","finish","_marked3","_response2","_context4","PASSWORD_CONFIRM_SUCCESS","delay","NOTIFICATION_CLOSE","PASSWORD_CONFIRM_ERROR","_marked4","_response3","_context5","getCurrentUser","GET_CURRENT_USER_SUCCESS","GET_CURRENT_USER_ERROR","_marked5","_response4","_buyerResponse","_warrantyId","_activateUrl","_context6","CONFIRM_DATA_SUCCESS","CONFIRM_DATA_ERROR","_marked6","WarrantyService","apiUrl","carId","id","carData","newWarranty","validFrom","validUntil","saveWarrantyData","saveWarrantyOnly","deleteWarrantyData","changeSeller","changeBuyer","getWarrantyData","getWarrantyStatuses","updateWarrantyStatus","getWarrantyForContract","getWarranty","changeValidDate","sendWarrantyEmail","changeWarrantyDuration","saveWarrantyApi","saveWarranty","SAVE_WARRANTY_SUCCESS","GET_WARRANTY","SAVE_PHOTOS","POST_CAR_DATA","SAVE_PACKAGE","SAVE_EXTRA_PACKAGE","SAVE_WARRANTY_ERROR","warranty_marked","SAVE_WARRANTY_ONLY_SUCCESS","SAVE_WARRANTY_ONLY_ERROR","warranty_marked2","deleteWarrantyApi","deleteWarranty","DELETE_WARRANTY_SUCCESS","DELETE_WARRANTY_ERROR","warranty_marked3","warrantyApi","CHANGE_SELLER_SUCCESS","CHANGE_SELLER_ERROR","warranty_marked4","CHANGE_BUYER_SUCCESS","CHANGE_BUYER_ERROR","warranty_marked5","getWarrantyApi","_response5","getWarranties","GET_WARRANTIES_SUCCESS","GET_WARRANTIES_ERROR","warranty_marked6","_response6","_context7","getStatuses","GET_WARRANTY_STATUSES_SUCCESS","GET_WARRANTY_STATUSES_ERROR","_marked7","_response7","_context8","updateWarranty","UPDATE_WARRANTY_STATUS_SUCCESS","UPDATE_WARRANTY_STATUS_ERROR","_marked8","_response8","_context9","GET_WARRANTY_FOR_CONTRACT_SUCCESS","GET_WARRANTY_FOR_CONTRACT_ERROR","_marked9","_response9","packageData","extraPackageData","i","_context10","GET_WARRANTY_SUCCESS","allSelectedPackagesIds","package","extraPackages","CLEAR_SELECTED_EXTRA_PACKAGES","GET_EXTRA_PACKAGES","all","GET_PACKAGES","GET_CAR_MODELS","brandId","GET_WARRANTY_ERROR","_marked10","_response10","_context11","CHANGE_VALID_DATE_SUCCESS","CHANGE_VALID_DATE_ERROR","_marked11","_response11","_context12","SEND_WARRANTY_EMAIL_SUCCESS","SEND_WARRANTY_EMAIL_ERROR","_marked12","_response12","_context13","CHANGE_WARRANTY_DURATION_SUCCESS","CHANGE_WARRANTY_DURATION_ERROR","_marked13","PackageService","car","packageId","WarrantyId","ExtraPackages","PackageId","getPackages","getExtraPackages","upgradeWarrantyPackage","packagesApi","getPackagesByEngineDisplacement","GET_PACKAGES_SUCCESS","GET_PACKAGES_ERROR","package_marked","getExtraPackagesByEngineDisplacement","GET_EXTRA_PACKAGES_SUCCESS","GET_EXTRA_PACKAGES_ERROR","package_marked2","UPGRADE_WARRANTY_PACKGAGE_SUCCESS","reload","toString","UPGRADE_WARRANTY_PACKGAGE_ERROR","package_marked3","AdminTableService","getAdminTableData","getAdminTableForBuyerData","getAdminArchiveTableData","getAdminTableForSellerData","getWarrantyAdminTableTotalCount","getWarrantyAdminArchiveTableTotalCount","getWarrantyAdminBuyerTableTotalCount","getWarrantyAdminSellerTableTotalCount","GET_ADMIN_TABLE_DATA_SUCCESS","GET_ADMIN_TABLE_DATA_ERROR","adminTable_marked","GET_WARRANTIES_FOR_BUYER_SUCCESS","GET_WARRANTIES_FOR_BUYER_ERROR","adminTable_marked2","adminTableApi","GET_ADMIN_ARCHIVE_TABLE_DATA_SUCCESS","GET_ADMIN_ARCHIVE_TABLE_DATA_ERROR","adminTable_marked3","GET_WARRANTIES_FOR_SELLER_SUCCESS","GET_WARRANTIES_FOR_SELLER_ERROR","adminTable_marked4","GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_SUCCESS","GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_ERROR","adminTable_marked5","GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_SUCCESS","GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_ERROR","adminTable_marked6","GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_SUCCESS","GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_ERROR","adminTable_marked7","GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_SUCCESS","GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_ERROR","adminTable_marked8","CarService","concat","oib","missingCarDetails","value","sellerId","filterQuery","chassisNumber","URLHelper","classCallCheck","createClass","key","urlParts","filter","keys","values","map","index","encodeURIComponent","Boolean","join","pop","getQueryStringParams","query","reduce","params","param","_param$split","_param$split2","slicedToArray","decodeURIComponent","getCarData","sellCar","getBuyerByCarId","getBuyerByOib","getBuyerByEmail","reviewCar","currentCarReview","getModelsByBrand","changeShowOnPortal","hideAllCarsOnPortal","getCarDetailsByCarId","updateCarDetails","getCarBrands","getCarModelsByBrand","getEngineTypes","filterCarCards","loadMoreCarCards","importCars","getCarsAdmin","getCarsAdminTotalCount","getCarsAdminOnlyCarsTotalCount","getCarsAdminSoldOnlyTotalCount","getCarsSeller","getCarsDropdownAdmin","getCarsDropdownSeller","getCarsAdminOnlyCars","getCarsAdminSoldOnlyCars","getCarProblemExtraPackage","deactivateCar","activateCar","changeSellerEmail","getChassisCar","postCarOnly","postCarOnlyAndContinue","sellCarWithoutWarranty","getCar","carApi","carBrands","engineTypes","GET_CAR_DATA_SUCCESS","GET_CAR_DATA_ERROR","car_marked","SELL_CAR_SUCCESS","buyerEditing","open","SELL_CAR_ERROR","car_marked2","GET_BUYER_BY_CAR_ID_SUCCESS","GET_BUYER_BY_CAR_ID_ERROR","car_marked3","GET_BUYER_BY_OIB_SUCCESS","GET_BUYER_BY_OIB_ERROR","car_marked4","GET_BUYER_BY_EMAIL_SUCCESS","GET_BUYER_BY_EMAIL_ERROR","car_marked5","REVIEW_CAR_SUCCESS","REVIEW_CAR_ERROR","car_marked6","GET_CURRENT_CAR_REVIEW_SUCCESS","GET_CURRENT_CAR_REVIEW_ERROR","car_marked7","carModels","GET_CAR_MODELS_SUCCESS","GET_CAR_MODELS_ERROR","car_marked8","GET_CARS_FOR_SELLER_ERROR","car_marked9","FILTER_CARS","car_marked10","GET_CAR_DETAILS_SUCCESS","GET_CAR_DETAILS_ERROR","car_marked11","UPDATE_CAR_DETAILS_SUCCESS","UPDATE_CAR_DETAILS_ERROR","car_marked12","GET_CAR_BRANDS_SUCCESS","GET_CAR_BRANDS_ERROR","car_marked13","_context14","GET_CAR_MODELS_BY_BRAND_SUCCESS","_marked14","_context15","GET_ENGINE_TYPES_SUCCESS","GET_ENGINE_TYPES_ERROR","_marked15","_response13","_context16","filterCars","FILTER_CARS_SUCCESS","FILTER_CARS_ERROR","_marked16","_response14","_context17","Number","getQueryStringFilterCars","pushState","includes","LOAD_MORE_FILTER_CARS_SUCCESS","_marked17","_response15","_context18","importCar","IMPORT_CARS_SUCCESS","htmls","IMPORT_CARS_ERROR","_marked18","_response16","_context19","GET_CARS_ADMIN_SUCCESS","GET_CARS_ADMIN_ERROR","_marked19","_response17","_context20","GET_CARS_ADMIN_TOTAL_COUNT_SUCCESS","GET_CARS_ADMIN_TOTAL_COUNT_ERROR","_marked20","_response18","_context21","GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_SUCCESS","GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_ERROR","_marked21","_response19","_context22","GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_SUCCESS","GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_ERROR","_marked22","_response20","_context23","GET_CARS_SELLER_SUCCESS","GET_CARS_SELLER_ERROR","_marked23","_response21","_context24","GET_CARS_DROPDOWN_ADMIN_SUCCESS","GET_CARS_DROPDOWN_ADMIN_ERROR","_marked24","_response22","_context25","GET_CARS_DROPDOWN_SELLER_SUCCESS","GET_CARS_DROPDOWN_SELLER_ERROR","_marked25","_response23","_context26","GET_CARS_ADMIN_ONLY_CARS_SUCCESS","GET_CARS_ADMIN_ONLY_CARS_ERROR","_marked26","_response24","_context27","GET_CARS_ADMIN_SOLD_ONLY_CARS_SUCCESS","GET_CARS_ADMIN_SOLD_ONLY_CARS_ERROR","_marked27","_response25","_context28","GET_CAR_PROBLEM_EXTRA_PACKAGE_SUCCESS","GET_CAR_PROBLEM_EXTRA_PACKAGE_ERROR","_marked28","_response26","_context29","DEACTIVATE_CAR_SUCCESS","DEACTIVATE_CAR_ERROR","_marked29","_response27","_context30","ACTIVATE_CAR_SUCCESS","ACTIVATE_CAR_ERROR","_marked30","_response28","_context31","CHANGE_SELLER_EMAIL_SUCCESS","CHANGE_SELLER_EMAIL_ERROR","_marked31","_response29","_context32","GET_CHASSIS_CAR_SUCCESS","GET_CHASSIS_CAR_ERROR","_marked32","_response30","_context33","POST_CAR_ONLY_SUCCESS","POST_CAR_ONLY_ERROR","_marked33","_response31","_context34","POST_CAR_ONLY_AND_CONTINUE_SUCCESS","POST_CAR_ONLY_AND_CONTINUE_ERROR","_marked34","_response32","_context35","SELL_CAR_WITHOUT_WARRANTY_SUCCESS","SELL_CAR_WITHOUT_WARRANTY_ERROR","_marked35","getCarApi","_response33","_context36","GET_CAR_SUCCESS","GET_CAR_ERROR","_marked36","SellerService","seller","note","getLegalEntities","getAllSellers","getAllSellersTable","getAllSellersUnactiveTable","getOtherActiveSellersTable","getSellersAdminTotalCount","getSellersUnactiveAdminTotalCount","getOtherActiveSellersTotalCount","getSellerById","getSellerDropdownData","saveNoteForSeller","getMarketingSellersTable","getMarketingSellersTableTotalCount","sellerApi","SAVE_SELLER_SUCCESS","SAVE_SELLER_ERROR","seller_marked","DELETE_SELLER_SUCCESS","DELETE_SELLER_ERROR","seller_marked2","ACTIVATE_SELLER_SUCCESS","ACTIVATE_SELLER_ERROR","seller_marked3","GET_LEGAL_ENTITIES_SUCCESS","seller_marked4","sellerService","getAll","GET_SELLERS_SUCCESS","GET_SELLERS_ERROR","seller_marked5","getAllTable","GET_SELLERS_TABLE_SUCCESS","GET_SELLERS_TABLE_ERROR","seller_marked6","getAllUnactiveTable","GET_SELLERS_UNACTIVE_TABLE_SUCCESS","GET_SELLERS_UNACTIVE_TABLE_ERROR","seller_marked7","GET_OTHER_ACTIVE_SELLERS_TABLE_SUCCESS","GET_OTHER_ACTIVE_SELLERS_TABLE_ERROR","seller_marked8","GET_SELLERS_ADMIN_TOTAL_COUNT_SUCCESS","GET_SELLERS_ADMIN_TOTAL_COUNT_ERROR","seller_marked9","GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_SUCCESS","GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_ERROR","seller_marked10","GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_SUCCESS","GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_ERROR","seller_marked11","GET_SELLER_SUCCESS","GET_SELLER_ERROR","seller_marked12","getDropdownData","GET_SELLER_DROPDOWN_DATA_SUCCESS","GET_SELLER_DROPDOWN_DATA_ERROR","seller_marked13","SAVE_NOTE_FOR_SELLER_SUCCESS","SAVE_NOTE_FOR_SELLER_ERROR","seller_marked14","SUBMIT_SELLER_CONTRACT_SUCCESS","SUBMIT_SELLER_CONTRACT_ERROR","seller_marked15","CANCEL_SELLER_CONTRACT_SUCCESS","CANCEL_SELLER_CONTRACT_ERROR","seller_marked16","DENIED_SELLER_CONTRACT_SUCCESS","DENIED_SELLER_CONTRACT_ERROR","seller_marked17","marketingApi","GET_MARKETING_SELLERS_TABLE_SUCCESS","GET_MARKETING_SELLERS_TABLE_ERROR","seller_marked18","GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_SUCCESS","GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_ERROR","seller_marked19","DamageService","damageId","getDamage","getActiveDamage","getDamageStatuses","saveDamage","getDamagesAdmin","getDamagesAdminTotalCount","getDamagesSeller","getDamagesBuyer","getDamagesWarranty","getDamagesSellerByAdmin","getChassisDamage","getDamagesCar","getSellerName","getBuyerName","getCarName","deleteDamage","damageApi","GET_DAMAGE_SUCCESS","GET_DAMAGE_ERROR","damage_marked","GET_ACTIVE_DAMAGE_SUCCESS","GET_ACTIVE_DAMAGE_ERROR","damage_marked2","GET_DAMAGE_STATUSES_SUCCESS","GET_DAMAGE_STATUSES_ERROR","damage_marked3","SAVE_DAMAGE_SUCCESS","SAVE_DAMAGE_ERROR","damage_marked4","GET_DAMAGES_ADMIN_SUCCESS","GET_DAMAGES_ADMIN_ERROR","damage_marked5","GET_DAMAGES_ADMIN_TOTAL_COUNT_SUCCESS","GET_DAMAGES_ADMIN_TOTAL_COUNT_ERROR","damage_marked6","GET_DAMAGES_SELLER_SUCCESS","GET_DAMAGES_SELLER_ERROR","damage_marked7","GET_DAMAGES_BUYER_SUCCESS","GET_DAMAGES_BUYER_ERROR","damage_marked8","GET_DAMAGES_WARRANTY_SUCCESS","GET_DAMAGES_WARRANTY_ERROR","damage_marked9","GET_DAMAGES_SELLERBYADMIN_SUCCESS","GET_DAMAGES_SELLERBYADMIN_ERROR","damage_marked10","GET_CHASSIS_DAMAGE_SUCCESS","GET_CHASSIS_DAMAGE_ERROR","damage_marked11","GET_DAMAGES_CAR_SUCCESS","GET_DAMAGES_CAR_ERROR","damage_marked12","GET_SELLER_NAME_SUCCESS","GET_SELLER_NAME_ERROR","damage_marked13","GET_BUYER_NAME_SUCCESS","GET_BUYER_NAME_ERROR","damage_marked14","GET_CAR_NAME_SUCCESS","GET_CAR_NAME_ERROR","damage_marked15","DELETE_DAMAGE_SUCCESS","DELETE_DAMAGE_ERROR","damage_marked16","getAllBuyers","getLegalBuyers","checkWarrantiesForActivation","activateWarranty","saveBuyer","deleteBuyer","activateBuyer","getBuyerById","sendActivationEmail","getBuyersAdminTotalCount","GET_BUYERS_SUCCESS","GET_BUYERS_ERROR","buyer_marked","GET_LEGAL_BUYERS_SUCCESS","GET_LEGAL_BUYERS_ERROR","buyer_marked2","CHECK_WARRANTIES_FOR_ACTIVATION_ERROR","buyer_marked3","ACTIVATE_WARRANTY_SUCCESS","ACTIVATE_WARRANTY_ERROR","buyer_marked4","buyerApi","SAVE_BUYER_SUCCESS","SAVE_BUYER_ERROR","buyer_marked5","DELETE_BUYER_SUCCESS","DELETE_BUYER_ERROR","buyer_marked6","ACTIVATE_BUYER_SUCCESS","ACTIVATE_BUYER_ERROR","buyer_marked7","GET_BUYER_SUCCESS","GET_BUYER_ERROR","buyer_marked8","SEND_ACTIVATION_EMAIL_BUYER_SUCCESS","SEND_ACTIVATION_EMAIL_BUYER_ERROR","buyer_marked9","GET_BUYERS_ADMIN_TOTAL_COUNT_SUCCESS","GET_BUYERS_ADMIN_TOTAL_COUNT_ERROR","buyer_marked10","editMissingCarDetails","editMissingCarDetailsApi","GET_WARRANTIES","SET_IS_MISSING_CAR_DETAILS","isCarDetailsMissing","missingCarDetails_marked","StatisticsService","startDate","endDate","sellerName","skip","take","getThisMonthSoldStatistics","getSoldStatistics","getMarketingThisMonthSoldStatistic","getStatisticsMarketingWarrantiesTable","getStatisticsWarrantiesTable","getLastYearThisMonthStatistic","statisticsApi","getAllSoldWarrantiesCount","GET_THIS_MONTH_SOLD_STATISTIC_SUCCESS","GET_THIS_MONTH_SOLD_STATISTIC_ERROR","statistics_marked","_data","getSoldWarranties","GET_SOLD_STATISTIC_SUCCESS","GET_SOLD_STATISTIC_ERROR","statistics_marked2","_data2","GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_SUCCESS","GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_ERROR","statistics_marked3","GET_STATISTICS_MARKETING_WARRANTIES_TABLE_SUCCESS","GET_STATISTICS_MARKETING_WARRANTIES_TABLE_ERROR","statistics_marked4","GET_STATISTICS_WARRANTIES_TABLE_SUCCESS","GET_STATISTICS_WARRANTIES_TABLE_ERROR","statistics_marked5","_data3","GET_LAST_YEAR_THIS_MONTH_STATISTIC_SUCCESS","GET_LAST_YEAR_THIS_MONTH_STATISTIC_ERROR","statistics_marked6","InvoiceService","year","invoiceNumber","apiNumber","currentInvoice","sendWarrantyPdf","getInvoices","getYears","getInvoice","invoicingApi","SEND_INVOICE_SUCCESS","GET_LAST_INVOICE","SEND_INVOICE_ERROR","invoicing_marked","GET_INVOICES_SUCCESS","GET_INVOICES_ERROR","invoicing_marked2","GET_YEARS_SUCCESS","GET_YEARS_ERROR","invoicing_marked3","GET_LAST_INVOICE_SUCCESS","GET_LAST_INVOICE_ERROR","invoicing_marked4","GET_INVOICE_SUCCESS","GET_INVOICE_ERROR","invoicing_marked5","CurrencyService","currencyApiURL","getCurrencies","currencyApi","GET_CURRENCIES_SUCCESS","GET_CURRENCIES_ERROR","currency_marked","rootSaga","takeEvery","INIT_STATE","takeLatest","LOGIN_SUBMIT","SAVE_WARRANTY","DELETE_WARRANTY","GET_CAR_DATA","GET_WARRANTIES_FOR_BUYER","GET_WARRANTIES_FOR_SELLER","SELL_CAR","GET_BUYER_BY_CAR_ID","GET_BUYER_BY_OIB","GET_BUYER_BY_EMAIL","GET_BUYER","GET_WARRANTY_STATUSES","UPDATE_WARRANTY_STATUS","GET_CAR","REGISTER_SUBMIT","GET_ADMIN_TABLE_DATA","GET_ADMIN_ARCHIVE_TABLE_DATA","GET_LEGAL_ENTITIES","SAVE_SELLER","ACTIVATE_SELLER","DELETE_SELLER","SAVE_BUYER","DELETE_BUYER","ACTIVATE_BUYER","GET_DAMAGE","GET_CHASSIS_DAMAGE","GET_ACTIVE_DAMAGE","GET_DAMAGE_STATUSES","SAVE_DAMAGE","GET_DAMAGES_ADMIN","GET_CARS_ADMIN","GET_CARS_ADMIN_ONLY_CARS","GET_CARS_ADMIN_SOLD_ONLY_CARS","GET_CAR_PROBLEM_EXTRA_PACKAGE","GET_DAMAGES_SELLER","GET_DAMAGES_BUYER","GET_DAMAGES_CAR","GET_DAMAGES_WARRANTY","GET_DAMAGES_SELLERBYADMIN","EMAIL_SUBMIT","PASSWORD_CONFIRM_SUBMIT","GET_CURRENT_USER","CONFIRM_DATA","GET_BUYERS","REVIEW_CAR","GET_CURRENT_CAR_REVIEW","GET_SELLERS","GET_SELLER","ACTIVATE_WARRANTY","GET_WARRANTY_FOR_CONTRACT","CHECK_WARRANTIES_FOR_ACTIVATION","EDIT_MISSING_CAR_DETAILS","GET_THIS_MONTH_SOLD_STATISTIC","GET_SOLD_STATISTIC","UPGRADE_WARRANTY_PACKGAGE","CHANGE_SHOW_ON_PORTAL","HIDE_ALL_CARS_ON_PORTAL","GET_CAR_DETAILS","UPDATE_CAR_DETAILS","GET_CAR_BRANDS","GET_ENGINE_TYPES","GET_CAR_MODELS_BY_BRAND","LOAD_MORE_CARS","GET_SELLER_DROPDOWN_DATA","SEND_INVOICE","GET_INVOICES","GET_YEARS","GET_INVOICE","SAVE_NOTE_FOR_SELLER","IMPORT_CARS","GET_CURRENCIES","CHANGE_VALID_DATE","GET_SELLER_NAME","GET_BUYER_NAME","GET_CAR_NAME","SEND_ACTIVATION_EMAIL_BUYER","SEND_WARRANTY_EMAIL","DELETE_DAMAGE","DEACTIVATE_CAR","ACTIVATE_CAR","POST_CAR_ONLY","POST_CAR_ONLY_AND_CONTINUE","CHANGE_SELLER_EMAIL","GET_CHASSIS_CAR","GET_CARS_SELLER","GET_CARS_DROPDOWN_ADMIN","GET_CARS_DROPDOWN_SELLER","SELL_CAR_WITHOUT_WARRANTY","SAVE_WARRANTY_ONLY","GET_CARS_ADMIN_TOTAL_COUNT","GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT","GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT","GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT","GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT","GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT","GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT","GET_DAMAGES_ADMIN_TOTAL_COUNT","GET_BUYERS_ADMIN_TOTAL_COUNT","GET_SELLERS_ADMIN_TOTAL_COUNT","GET_SELLERS_TABLE","CHANGE_SELLER","CHANGE_BUYER","SUBMIT_SELLER_CONTRACT","CANCEL_SELLER_CONTRACT","DENIED_SELLER_CONTRACT","GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT","GET_SELLERS_UNACTIVE_TABLE","GET_MARKETING_SELLERS_TABLE","GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT","GET_MARKETING_THIS_MONTH_SOLD_STATISTIC","GET_OTHER_ACTIVE_SELLERS_TABLE","GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT","GET_STATISTICS_MARKETING_WARRANTIES_TABLE","GET_STATISTICS_WARRANTIES_TABLE","GET_LEGAL_BUYERS","CHANGE_WARRANTY_DURATION","GET_LAST_YEAR_THIS_MONTH_STATISTIC","sagas_marked","initalSeller","firstName","lastName","parentLegalEntity","legalEntityName","legalEntityBool","address","zipCode","city","country","phoneNumber","parentId","active","oznaka","initalSellerData","loading","initialLegalEntities","entities","Array","sellerReducer","arguments","error","errorMessage","errors","CLEAR_SELLER","close","initialSellersData","initialSellersDropdownData","initialSellersTableData","initialSellersUnactiveTableData","initialOtherActiveSellersTableData","initialMarketingSellersTableData","initialState","initStateReducer","initialLoginValues","password","loginReducer","initialBuyerProp","legalEntity","initalUser","initialPackagesData","packages","initialCarData","initialCarReview","brandIsValid","modelIsValid","engineTypeIsValid","enginePowerIsValid","distanceIsValid","chassisNumberIsValid","manufactureYearIsValid","registrationYearIsValid","priceIsValid","engineDisplacementIsValid","maxTonnageIsValid","initialMissingData","initialCarProblemExtraPackageData","initialDropdownCarData","carDropdowndDataReducer","GET_CAR_MODELS_BY_BRAND_ERROR","status","initialWarrantiesData","initialRegisterValues","registerReducer","REGISTER_ERROR","initialAdminTableData","initialAdminArchiveTableData","initialDamageProps","damage","description","manufactureYear","cost","reported","model","brand","carDistance","serviceHandler","statuses","initialDamagesData","admin","sellerByAdmin","initialCarsData","initialLoadingValues","show","loadingReducer","initialNotificationValues","actionNotificationReducer","initialValues","forgotPasswordReducer","emailDelivered","pictures","urls","carPhotosReducer","initialBuyersData","initialLegalBuyersData","initialBuyer","fullName","billingAddress","carShowroomName","carSoldSuccess","createdAt","createdBy","initialBuyerData","buyerReducer","initValues","thisMonth","totalSoldWarranties","initSoldValues","warrantiesBySeller","initMarketingValues","initLastYearThisMonthValues","initialStatisticsMarketingWarrantiesData","initialStatisticsWarrantiesData","initialCurrencyData","combineReducers","actionNotification","postCar","packagesData","selectedPackage","selectedExtraPackages","toConsumableArray","item","REMOVE_EXTRA_PACKAGE","warranties","carWarranty","currentCar","carBuyer","warrantyStatuses","updatedWarrantyStatus","GET_LEGAL_ENTITIES_ERROR","carDamage","chassisCar","damages","warranty","cars","forgotPassword","carPhotos","buyers","sellers","carReview","thisMonthStatistics","soldWarrantiesStatistics","sellerCars","hasMore","carDetails","carDropdownData","sellerDropdownData","invoiceList","invoices","currencies","carProblemExtraPackages","buyerName","carName","carsDropdown","carsAdminTableTotalCount","carsAdminOnlyCarsTableTotalCount","carsAdminSoldOnlyTableTotalCount","warrantyAdminTableTotalCount","warrantyAdminBuyerTableTotalCount","warrantyAdminSellerTableTotalCount","warrantyAdminArchiveTableTotalCount","damagesAdminTableTotalCount","buyersAdminTableTotalCount","sellersAdminTableTotalCount","sellersTable","sellersUnactiveAdminTableTotalCount","sellersUnactiveTable","years","marketingSellersTable","marketingSellersTableTotalCount","marketingThisMonthStatistics","otherActiveSellersTable","otherActiveSellersTableTotalCount","statisticsMarketingWarrantiesTable","statisticsWarrantiesTable","legalBuyers","lastYearThisMonthStatistics","addAuthHeader","axios","interceptors","request","use","config","accessToken","method","headers","authorization","exp","now","logout","err","decorate","FormConstants","Validator","chassis","checkDigit","num","code","substr","toUpperCase","numCheck","isNaN","number","registrationDate","toISOString","regYear","alert","registrationYear","getFullYear","email1","email2","inputComponent","inputRef","props","objectWithoutProperties","react_default","createElement","assign","className","styles","ref","components","children","innerProps","innerRef","TextFieldProps","selectProps","fullWidth","InputProps","inputProps","Paper","square","Option","MenuItem","selected","isFocused","component","fontWeight","isSelected","_props$innerProps","Typography","color","SingleValue","ValueContainer","getNumberFromThousandsString","thousands","WarrantyStatus","WarrantyStatusChecker","InProccess","DateHelper","date1","date2","dt1","dt2","Math","floor","UTC","getMonth","getDate","dateDiffInDays","date","d","setFullYear","AutomaticGearBoxCheckButton","_React$useState","React","useState","automatic","_React$useState2","isAutomatic","setIsAutomatic","useEffect","FormGroup","row","labelPlacement","control","Checkbox","disabled","checked","onChange","target","setAutomaticGearBox","aria-label","FactoryWarrantyCheckButton","hasFactoryWarranty","setHasFactoryWarranty","setFactoryWarrantyBool","RiskyCheckButton","risky","isRisky","setIsRisky","setRisky","resources","hrHR","i18n","initReactI18next","lng","keySeparator","interpolation","escapeValue","translateText","text","t","CarReviewHelper","review","review1","review2","ChassisNumberModal","_React$Component","_getPrototypeOf2","_this","_len","args","_key","possibleConstructorReturn","getPrototypeOf","call","handleSubmitYes","closeModal","handleSubmitNo","inherits","Fragment","direction","alignItems","justify","xs","spacing","variant","align","reportedDamages","approvedDamages","declinedDamages","solvedDamages","md","float","onClick","bind","Link","to","Component","OneYear","WarrantyDurationRadioButtons","isDurationOneYear","isOneYear","setIsOneYear","marginTop","marginBottom","RadioGroup","defaultValue","isDurationChanged","Radio","NewCarForm","showChassisModal","items","hasError","modelId","engineType","engineTypeLabel","enginePower","engineDisplacement","maxTonnage","distance","price","automaticGearBox","factoryWarrantyBool","factoryWarrantyDate","submitValid","updateCarReview","isOneYearWarranty","napomena","carSaleId","ValidatorForm","addValidationRule","validateChassis","prevState","setCarReview","chassisDamage","noOfReportedDamages","noOfApprovedDamages","noOfDeclinedDamages","noOfSolvedDamages","setState","el","_el$target","defineProperty","propName","_el$target2","newDate","_unused","formValid","dateDiffInYears","handleNext","marked","_objectSpread8","isoDate","_unused2","temp","reverse","_unused3","update","_this2","prepareDate","currentYear","colSize","isReview","editCarMode","visible","xsProp","AdminViewOrUpdate","engineTypesTranslated","et","m","react_material_ui_form_validator_lib","CarFormConstans","CAR_PURCHASE_FORM","onSubmit","handleSubmit","paddingBottom","paddingRight","react_select_browser_esm","menuPortal","base","zIndex","rest","menuPortalTarget","body","isDisabled","inputId","InputLabelProps","htmlFor","shrink","placeholder","options","b","handleSelectChange","FormHelperText","focused","changeMarked","Report_default","cursor","handleChange","validators","errorMessages","react_number_format_es","customInput","thousandSeparator","handleChassisChange","material_ui_pickers_esm","utils","DateFnsUtils","locale","hrLocale","format","margin","minDate","subtractYears","minDateMessage","invalidDateMessage","maxDate","KeyboardButtonProps","handleDateChange","onBlur","onFocus","rows","rowsMax","automaticGearBoxCheckButton_AutomaticGearBoxCheckButton","RiskyCheckButton_RiskyCheckButton","factoryWarrantyCheckButton_FactoryWarrantyCheckButton","WarrantyDurationRadioButtons_WarrantyDurationRadioButtons","stylesModal","onClose","ChassisNumberModal_ChassisNumberModal","isDifferent","currentWarranty","_unused4","PackageCard","Card","CardContent","CardHeader","packageName","currencyId","dangerouslySetInnerHTML","__html","packageDescription","round","priceWithVAT","CardActionArea","PackageSelected","MainPackageCard","extraDescription","StepperHelper","getStep","step","parts","isUpgradeMode","PackageSelection","setPackages","_React$useState3","_React$useState4","setExtraPackages","_React$useState5","_React$useState6","selectPackage","savePackage","ExtraPackagesSelected","find","obj","extraPackageId","removeExtraPackage","saveExtraPackage","sm","lg","packageSelection_MainPackageCard","LinearProgress","flexGrow","borderTop","width","display","packageSelection_PackageCard","WarrantyStatusForm","useTranslation","_useState","comment","_useState2","currentData","setCurrentData","_useState3","_useState4","element","_element$target","forEach","statusItem","dataChanged","fontSize","InputLabel","warrantyHasMistakes","setEnabledSaveButton","setTooltipMessage","Archive","multiline","saveWarrantyStatus","PhotoList","photos","original","thumbnail","photoFiles","file","tempUrl","URL","webkitURL","createObjectURL","image_gallery_default","showBullets","showIndex","showPlayButton","DeleteWarrantyModal","submitYesModal","ChangeWarrantyDateModal","formRef","createRef","handleSubmitModal","submitValidModal","handleValidFromChange","handleValidUntilChange","WarrantyMailModal","submitMailModal","SaveWarrantyModal","ChangeSellerModal","ChangeBuyerModal","handleSubmitEmail","ChangeWarrantyDurationModal","CarStatus","WarrantyReview","shouldRender","images","IsActive","_useState5","_useState6","WarrantyStatusEnum","showDeleteModal","setDeleteShowModal","showChangeValidModal","setShowChangeValidModal","showWarrantyMailModal","setShowWarrantyMailModal","_React$useState7","_React$useState8","showSaveModal","setShowSaveModal","_React$useState9","_React$useState10","showChangeSellerModal","setShowChangeSellerModal","_React$useState11","_React$useState12","showChangeBuyerModal","setShowChangeBuyerModal","_React$useState13","_React$useState14","showChangeWarrantyDurationModal","setShowChangeWarrantyDurationModal","handleSelectSeller","setSelectedSeller","sellerFullName","_useState7","_useState8","selectedSeller","paddingLeft","isClearable","padding","Divider","packageSelection_PackageSelection","lists_PhotoList","forms_WarrantyStatusForm","warrantyDataChanged","save","SaveWarrantyModal_SaveWarrantyModal","ChangeSellerModal_ChangeSellerModal","ChangeBuyerModal_ChangeBuyerModal","DeleteWarrantyModal_DeleteWarrantyModal","delete","ChangeWarrantyDateModal_ChangeWarrantyDateModal","WarrantyMailModal_WarrantyMailModal","sendWarrantyMail","ChangeWarrantyDurationModal_ChangeWarrantyDurationModal","warrantyFromDate","SellCarWithoutWarrantyModal","Webcam","require","PhotoUploadForm","mappedPictures","showCameraWindow","webcam","getScreenshot","showSellCarWithoutWarrantyModal","handleSaveAndContinue","handleWarrantyDurationModal","handleSellWithoutWarranty","addedPictures","newPics","picture","myReader","FileReader","onloadend","e","exists","result","savePhotosToRedux","readAsDataURL","preventDefault","_this3","imageSrc","imageFile","dataURLtoFile","onCapture","dataurl","filename","arr","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","u","_this4","newUrls","splice","_this5","newPictures","_this6","cwStyle","position","backgroundColor","top","left","height","mainStyle","existingPicsStyle","checkExistingPics","galleryStyle","checkAddedPics","innerWidth","innerHeight","overflowY","photosNumber","alignContent","paddingTop","size","handleCWchange","compiled_default","withIcon","buttonText","withPreview","onDrop","imgExtension","maxFileSize","fileSizeError","fileTypeError","photoStyles","deleteUrl","src","deletePicture","audio","videoConstraints","facingMode","exact","setCameraRef","screenshotFormat","screenshotQuality","imageSmoothing","capture","containsWarranty","SellCarWithoutWarrantyModal_SellCarWithoutWarrantyModal","handleSellCarWithoutWarrantyModal","maxSteps","connect","dispatch","redirectToPage","pictureCaptured","notification","showPicErrorSnack","currentPhotosLen","setCurrentPhotosLen","setCurrentWarranty","statusForCheck","newCarFormRef","useRef","newPhotoUploadRef","formIsValid","current","checkSubmit","validateForm","getStateData","saveToStore","saveWarrantyValidation","postPhotoUpload","increasedStepUrl","scrollTo","handleBack","decreasedStepUrl","saveCar","photoData","savePhotos","getCarReview","getWarrantyIdFromUrl","stepUrl","MobileStepper","steps","activeStep","nextButton","form","KeyboardArrowRight_default","backButton","KeyboardArrowLeft_default","NewCarForm_NewCarForm","PhotoUploadForm_PhotoUploadForm","photosLen","saveSelectedPackage","saveExtraSelectedPackages","warrantyReview","warrantyReview_WarrantyReview","getStepContent","getWarrantyStatusesData","clearExtraPackagesSelection","goToImportCars","isInitialUpgrade","Fab","Add_default","NewSellerModal","NewCar","showNewSellerModal","setSellerId","setSeller","NewSellerModal_NewSellerModal","handleNewSellerModal","WarrantyDurationModal","handleSubmit12","submitModal12","handleSubmit24","submitModal24","setCurrentCar","showWarrantyDurationModal","setShowWarrantyDurationModal","currentSellerId","setCurrentSellerId","currentSeller","setCurrentSeller","_React$useState15","_React$useState16","saveCarData","setSaveCarData","updateVariables","saveCarOnly","_x","_handleSaveAndContinue","asyncToGenerator","mark","_callee","oneYear","saveCarOnlyAndContinue","setTimeout","getCarIdFromUrl","NewCar_NewCar","handleChangeBuyer","WarrantyDurationModal_WarrantyDurationModal","setCarId","setStep","getCarIdFromExpandedUrl","prototype","getWarrantyIdFromExpandedUrl","stepper_CarStepper","BuyerType","BuyerInfoCards","marginLeft","List","ListItemIcon","Email_default","ListItemText","Phone_default","UpgradeWarrantyPackageLayout","setOpen","handleClose","packageChanged","extraPackageChanged","IconButton","findAvailablePackages","Dialog","aria-labelledby","aria-describedby","DialogTitle","DialogContent","DialogContentText","textAlign","currentPackage","currentExtraPackages","DialogActions","handleUpgrade","allPackages","getAvailablePackages","pageview","setCurrentPackage","setExtraCurrentPackages","UpgradeWarrantyPackageLayout_UpgradeWarrantyPackageLayout","ep","tmp","WarrantyTable","findByWarrantyId","columns","field","cellStyle","maxWidth","render","rowData","propsRow","fontStyle","warrantyStatus","carStatus","warranty_UpgradeWarrantyPackage","goToEditWarranty","isWarrantyForReview","minWidth","isAvailable","warrantyApproved","showSellCarForm","button","PictureAsPdf_default","goToWarrantyPage","buyerInfoCards_BuyerInfoCards","dist_default","isLoading","warrantiesLoading","filtering","localization","emptyDataSourceMessage","pagination","previousTooltip","nextTooltip","firstTooltip","lastTooltip","newRows","newRow","mapPropsToTable","BuyerRadioButtons","isLegalEntity","setIsLegalEntity","LegalEntity","buyerEntityChanged","Person","BuyerForm","disableControls","oibIsValid","resetForm","initialLoad","confirmEmail","validateOIB","validatePhoneNumber","isEmailMatch","_this$setState","submit","getBuyerFromState","randomMail","uuid","carIsSold","buyerEmail","_this$state","formControls","BuyerRadioButtons_BuyerRadioButtons","Tooltip","RateReview_default","generateRandomEmail","isEditable","nextProps","buyerByOibSuccess","MissingCarDetailsForm","setChassis","MISSING_CAR_DETAILS_FORM","BuyerEmailModal","submitEmailModal","SellerDashboard","showBuyerModal","setShowBuyerModal","sellingWarrantyId","changeSellingWarrantyId","isWarrantyEditable","setIsWarrantyEditable","setCarIsSold","_useState9","_useState10","setCarBuyer","_useState11","_useState12","showCheckBuyerEmailModal","setShowCheckBuyerEmailModal","_useState13","_useState14","setBuyerEmail","updateDashboard","w","tables_WarrantyTable","isCarAvailable","getBuyerData","setCarDetailsMissing","arrivedFromNjuskalo","missingCarDetailsForm_MissingCarDetailsForm","BuyerForm_BuyerForm","stylesEmailModal","BuyerEmailModal_BuyerEmailModal","ThisMonthTotalWarrantiesSold","diff","thisMonthtotalSoldWarranties","lastMonth","percent","toFixed","classes","currentMonth","CardMedia","image","img","thisMonthtotalSoldWarrantiesLoading","editWarranty","getBuyerByOIB","firstDay","lastDay","toLocaleDateString","thisMonthTotalWarrantiesSold_ThisMonthTotalWarrantiesSold","SellerDashboard_SellerDashboard","overviewData","useStyles","makeStyles","theme","createStyles","appBar","drawer","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","drawerWidth","enteringScreen","drawerOpen","drawerClose","overflowX","breakpoints","up","useNestedStyles","nested","Navbar","_clsx2","_clsx3","authenticated","setIsAuthenticated","setIsAdmin","setIsSeller","setIsBuyer","marketing","setIsMarketing","superAdmin","setIsSuperAdmin","nestedClasses","useTheme","openJamstva","setOpenJamstva","openKupac","setOpenKupac","openProdavac","setOpenProdavac","openVozilo","setOpenVozilo","openStatistika","setOpenStatistika","closeNavBar","addEventListener","handleMove","ev","touches","clientX","CssBaseline","clsx","Menu_default","MoreVert_default","paper","react_router_dom","Home_default","RouterLink","Dashboard_default","DirectionsCar_default","FileCopy_default","ExpandLess_default","ExpandMore_default","Collapse","in","timeout","unmountOnExit","disablePadding","FileCopyOutlined_default","Archive_default","Shop_default","PersonAddOutlined_default","Payment_default","PersonAdd_default","NoteAdd_default","DirectionsCarOutlined_default","Receipt_default","Description_default","ugovorPdfUrl","textDecoration","Assignment_default","ExitToAppOutlined_default","transform","SupervisedUserCircleOutlined_default","withRouter","NavBar_Navbar","FooterLink","defaultProps","Footer","links_FooterLink","ContentLayout","Background_Background","AppLoading","disableBackdropClick","CircularProgress","AppLoading_AppLoading","ActionNotification","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","SnackbarContent","CheckCircle_default","Error_default","Info_default","getIcon","Close_default","ActionNotification_ActionNotification","PrivateRoute","app_Background","utilities_Loading","utilities_ActionNotificationContainer","NavBar","app_ContentLayout","react_router","app_Footer","PublicFormLayout","hideTitle","LoginForm","emailError","passError","showPassword","validateEmail","validatePassword","helperText","endAdornment","InputAdornment","handleClickShowPassword","Visibility_default","VisibilityOff_default","onHandleSubmit","authentication_PublicFormLayout","loginForm","InvoiceModalForm","PDVCheckBox","PDV","isPDV","setIsPDV","pdv","setPDV","ExportInvoiceForSellerComponent","generate","setGenerate","nextInvoice","setInvoiceNumber","issueDate","setIssueDate","currency","setCurrency","showModal","setShowModal","updateData","getLastInvoice","sendPdf","sendWarrantyInvoice","moment","console","log","data-shrink","abbreviation","noOptionsMessage","c","seletedCurrency","handleCurrencyChange","PDVCheckBox_PDVCheckBox","InvoiceModalForm_InvoiceModalForm","today","padStart","exportInvoiceForSeller_ExportInvoiceForSellerComponent","SoldWarrantiesTable","selctedSeller","handleStart","handleStartDateChange","handleEnd","handleEndDateChange","handleSelectSellerChange","handleSearch","numberRowPerPage","hideInvoiceColumn","setHideInvoiceColumn","soldWarranties","defaultSort","WarrantyInvoicing","hidden","sorting","headerStyle","boxShadow","detailPanel","Table","TableHead","TableRow","TableCell","TableBody","basicPackage","extraPackagesPrice","Chip","ButtonClassName","elevation","dist","disableToolbar","marginRight","MarketingThisMonthSoldTotalWarranties","thisMonthTotalSoldWarranties","LastYearThisMonthTotalSoldWarranties","marketingThisMonthTotalSoldWarranties","marketingThisMonthTotalSoldWarrantiesLoading","lastYearThisMonthTotalSoldWarranties","lastYearThisMonthTotalSoldWarrantiesLoading","getMarketingThisMonthSoldStatistics","getLastYearThisMonthTotalSoldWarranties","setFirstDay","setLastDay","MarketingThisMonthSoldTotalWarranties_MarketingThisMonthSoldTotalWarranties","LastYearThisMonthTotalSoldWarranties_LastYearThisMonthTotalSoldWarranties","tables_SoldWarrantiesTable","AdminWarrantyTable","setPage","setPageSize","filterArray","setFilters","columnFocus","setColumnFocus","tableRef","_useState15","_useState16","_useState17","_useState18","_useState19","_useState20","_useState21","_useState22","_useState23","_useState24","_useState25","_useState26","dynamicTitle","onQueryChange","viewOrUpdate","damage_action","warranty_action","adminData","setFilterValue","x","newFilters","substring","createFilters","justifyContent","isSold","chip","actionButton","shouldDisable","goToDamagePage","damageButton","carButton","damageWarrantyButton","paging","initialPage","paginationType","pageSizeOptions","Promise","resolve","reject","totalCount","_x2","FilterRow","rowProps","col","autoFocus","onChangePage","newPage","onChangeRowsPerPage","newPageSize","TotalWarranties","totalWarranties","allWarranties","getTotalCount","viewWarranty","totalWarranties_TotalWarranties","tables_AdminWarrantyTable","dataRow","AdminArchiveWarrantyTable","TotalArchiveWarranties","totalArchiveWarranties","archiveWarranties","totalArchiveWarranties_TotalArchiveWarranties","tables_AdminArchiveWarrantyTable","SellerButtons","SellerActivateModal","SellerDeactivateModal","SellerDeniedContractModal","SellerSubmitContractModal","SellerCancelContractModal","ExportSellerContract","showSubmitModal","setShowSubmitModal","showCancelModal","setShowCancelModal","submitContract","cancelContract","ugovorAktivan","SellerSubmitContractModal_SellerSubmitContractModal","SellerCancelContractModal_SellerCancelContractModal","SellerRegistrationForm","odgovornaOsoba","osobaZaKontakt","kontaktOdgovornaOsoba","selectedLegalEntity","validateZipCode","activate","handleDeniedContract","showPdfForm","showActivateModal","showDeniedContractModal","handleDelete","handleActivate","handleDenied","esm_extends","SellerButtons_SellerButtons","odbioUgovor","aktivanUgovor","handleDeniedModal","handlePdfModal","handleDeleteModal","handleActivateModal","validateSelect","SellerDeactivateModal_SellerDeactivateModal","handleDeleteYesModal","SellerActivateModal_SellerActivateModal","handleActivateYesModal","SellerDeniedContractModal_SellerDeniedContractModal","handleDeniedContractYesModal","sellerContract_ExportSellerContract","isEditForm","_ref2","getSeller","clearSeller","getSellerId","SellerRegistrationForm_SellerRegistrationForm","DeleteBuyerModal","SendMailBuyerModal","BuyerRegistrationForm","selectedLegalBuyer","showSendMailModal","sendActivationMail","red","handleActivationButton","DeleteBuyerModal_DeleteBuyerModal","handleYesModal","SendMailBuyerModal_SendMailBuyerModal","handleSendYesModal","getBuyerId","getBuyer","BuyerRegistrationForm_BuyerRegistrationForm","AdminBuyerWarrantyTable","setDynamicTitle","getWarrantiesForBuyer","tables_AdminBuyerWarrantyTable","AdminSellerWarrantyTable","getWarrantiesForSeller","tables_AdminSellerWarrantyTable","FileUpload","files","azureFiles","base64","newFile","filesChange","persist","from","reader","getElementById","manageUploadedFile","azureFile","f","accept","multiple","handleFileChange","stopPropagation","CloudUpload_default","primary","ListItemSecondaryAction","deleteFile","edge","Delete_default","CloudDownload_default","HAK","ServiceRadioButtons","independent","isIndependent","setIsIndependent","isIndependentChanged","YES","WarrantyRadioButtons","damageCovered","isDamageCovered","setIsDamageCovered","warrantyCoversDamage","BackButton","go","NewDamageModal","DeleteDamageModal","DamageForm","s","damageHasFiles","isServiceIndependent","radniNalog","zakljucak","fileNotUploadedMessage","DAMAGE_SUBMIT_FORM","warrantyCode","damageServiceRadioButtons_ServiceRadioButtons","damageWarrantyRadioButtons_WarrantyRadioButtons","isCovered","dist_es","damageForm_fileUpload","BackButton_BackButton","NewDamageModal_NewDamageModal","DeleteDamageModal_DeleteDamageModal","_props$match$params","damageForm_DamageForm","DamagesAdminTable","findById","damageStatusStyle","isApproved","isSolved","Solved","damageAction","getDamages","tables_DamagesAdminTable","CarsAdminTable","getCars","onRowClick","toggleDetailPanel","currentTarget","baseURI","endsWith","deactivate","goToCarDetails","goToCarWarrantyDetails","tables_CarsAdminTable","CarsSellerTable","tables_CarsSellerTable","CarsAdminOnlyCarsTable","getCarsOnlyCars","tables_CarsAdminOnlyCarsTable","CarsAdminSoldOnlyCarsTable","getCarsSoldOnlyCars","tables_CarsAdminSoldOnlyCarsTable","PublicRoute","EmailForm","setEmail","gutterBottom","EMAIL_FORM","emailForm","ConfirmPasswordForm","confirmPass","_event$target","isPassword","st","CONFIRM_PASSWORD_FORM","forgotPassword_confirmPassword","urlParams","URLSearchParams","UserData","readOnly","Tos","tosAccepted","setTosAccepted","setDataAccepted","AcceptHelpButtons","goToLogin","dataAccepted","Userdata","tos_TOS","firstLogin_AcceptHelpButtons","BuyersTable","getBuyers","goToBuyerDetails","AdminBuyersOverview","DamagesSellerTable","goToWarrantyReview","tables_DamagesSellerTable","DamagesBuyerTable","tables_DamagesBuyerTable","DamagesSellerByAdminTable","tables_DamagesSellerByAdminTable","DamagesWarrantyTable","tables_DamagesWarrantyTable","DamagesCarTable","tables_DamagesCarTable","AdminSellersTable","getSellers","rowStyle","datumAktivacijeUgovora","getSellersTable","goToSellerDetails","AdminSellersOverview","MarketingSellersTable","getMarketingSellers","marketingSellers","tables_MarketingSellersTable","OtherActiveSellersTable","getOtherActiveSellers","datumStatusaUgovora","tables_OtherActiveSellersTable","SellerNote","DBEditorState","EditorState","createEmpty","setNote","raw","convertFromRaw","createWithContent","dist_react_draft_wysiwyg","editorState","toolbarClassName","wrapperClassName","editorClassName","onEditorStateChange","convertToRaw","getCurrentContent","sellerNoteForm_SellerNote","StatisticsMarketingWarrantiesTable","getTable","tables_StatisticsMarketingWarrantiesTable","StatisticsWarrantiesTable","tables_StatisticsWarrantiesTable","AdminSellersUnactiveTable","getSellersUnactive","getSellersUnactiveTable","AdminSellersUnactiveOverview","TOS","PrivacyPolicy","SellerContract","Consent","BuyerContract","buttonDisabled","disableButton","p1","checkWarranties","setWarranty","activationData","setActivationData","buyerSale_BuyerContract","InvoicesTable","setYear","invoicePdfUrl","invoiceLink","dueDate","tables_InvoicesTable","AnalyticsOverview","ImportCarsForm","carNumber","setCarNumber","html","htmlList","setHtmlList","findIndex","o","handleTextArea","htmlObject","importCars_ImportCarsForm","defaultScope","BindingScopeEnum","Singleton","toFactory","toSelf","configureContainer","createBrowserHistory","store","context","composeEnhancers","composeWithDevTools","saga","createSagaMiddleware","router","routerMiddleware","createStore","combinedReducers","applyMiddleware","run","configureStore","initialize","App","StylesProvider","injectFirst","es","routing_PrivateRoute","path","WarrantyOverview","WarrantyFormPage","CarFormPage","AdminTableOverview","MarketingSoldOverview","AllWarrantiesOverview","ArchiveWarrantiesOverview","BuyersOverview","WarrantiesForBuyer","WarrantiesForSeller","SellersOverview","StatisticsMarketingWarrantiesOverview","StatisticsWarrantiesOverview","OtherActiveSellersOverview","MarketingSellersOverview","SellersUnactiveOverview","SellerOverview","BuyerOverview","SellerRegistration","BuyerRegistration","DamageSellerOverview","DamageAdminOverview","CarAdminOverview","CarSellerOverview","CarAdminOnlyCarsOverview","CarAdminSoldOnlyCarsOverview","DamageBuyerOverview","DamageSellerByAdminOverview","DamageCarOverview","DamageWarrantyOverview","InvoicesOverview","NewDamagePage","DamagePage","BuyerSale","ImportCars","routing_PublicRoute","LoginFormPage","ConfirmPasswordPage","EmailFormPage","FirstLoginDashboard","hostname","first","ReactDOM","src_App","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.df26db70.chunk.js","sourcesContent":["define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n exports.__esModule = true;\r\n var ActionTypes;\r\n (function (ActionTypes) {\r\n ActionTypes[\"UNKNOWN\"] = \"UNKNOWN\";\r\n ActionTypes[\"INIT_STATE\"] = \"INIT STATE\";\r\n ActionTypes[\"INIT_STATE_SUCCESS\"] = \"INIT STATE SUCCESS\";\r\n ActionTypes[\"INIT_STATE_ERROR\"] = \"INIT STATE ERROR\";\r\n ActionTypes[\"GO_TO_PAGE\"] = \"GO TO PAGE\";\r\n ActionTypes[\"LOADING_START\"] = \"LOADING START\";\r\n ActionTypes[\"LOADING_END\"] = \"LOADING END\";\r\n ActionTypes[\"NOTIFICATION_SHOW\"] = \"NOTIFICATION SHOW\";\r\n ActionTypes[\"NOTIFICATION_CLOSE\"] = \"NOTIFICATION CLOSE\";\r\n ActionTypes[\"LOGIN_SUBMIT\"] = \"LOGIN SUBMITTED\";\r\n ActionTypes[\"LOGIN_SUCCESS\"] = \"LOGIN SUCCESS\";\r\n ActionTypes[\"LOGIN_ERROR\"] = \"LOGIN ERROR\";\r\n ActionTypes[\"REGISTER_SUBMIT\"] = \"REGISTER SUBMITTED\";\r\n ActionTypes[\"REGISTER_SUCCESS\"] = \"REGISTER SUCCESS\";\r\n ActionTypes[\"REGISTER_ERROR\"] = \"REGISTER ERROR\";\r\n ActionTypes[\"EMAIL_SUBMIT\"] = \"EMAIL SUBMITTED\";\r\n ActionTypes[\"EMAIL_SUBMIT_SUCCESS\"] = \"EMAIL SUBMIT SUCCESS\";\r\n ActionTypes[\"EMAIL_SUBMIT_ERROR\"] = \"EMAIL SUBMIT ERROR\";\r\n ActionTypes[\"PASSWORD_CONFIRM_SUBMIT\"] = \"PASSWORD SUBMITTED\";\r\n ActionTypes[\"PASSWORD_CONFIRM_SUCCESS\"] = \"PASSWORD SUBMIT SUCCESS\";\r\n ActionTypes[\"PASSWORD_CONFIRM_ERROR\"] = \"PASSWORD SUBMIT ERROR\";\r\n ActionTypes[\"POST_CAR_DATA\"] = \"POST CAR DATA\";\r\n ActionTypes[\"POST_CAR_DATA_SUCCESS\"] = \"POST CAR DATA SUCCESS\";\r\n ActionTypes[\"POST_CAR_DATA_ERROR\"] = \"POST CAR DATA ERROR\";\r\n ActionTypes[\"POST_CAR_ONLY\"] = \"POST CAR ONLY\";\r\n ActionTypes[\"POST_CAR_ONLY_SUCCESS\"] = \"POST CAR ONLY SUCCESS\";\r\n ActionTypes[\"POST_CAR_ONLY_ERROR\"] = \"POST CAR ONLY ERROR\";\r\n ActionTypes[\"POST_CAR_ONLY_AND_CONTINUE\"] = \"POST CAR ONLY AND CONTINUE\";\r\n ActionTypes[\"POST_CAR_ONLY_AND_CONTINUE_SUCCESS\"] = \"POST CAR ONLY AND CONTINUE SUCCESS\";\r\n ActionTypes[\"POST_CAR_ONLY_AND_CONTINUE_ERROR\"] = \"POST CAR ONLY AND CONTINUE ERROR\";\r\n ActionTypes[\"GET_CAR_DATA\"] = \"GET CAR DATA\";\r\n ActionTypes[\"GET_CAR_DATA_SUCCESS\"] = \"GET CAR DATA SUCCESS\";\r\n ActionTypes[\"GET_CAR_DATA_ERROR\"] = \"GET CAR DATA ERROR\";\r\n ActionTypes[\"SELL_CAR_WITHOUT_WARRANTY\"] = \"SELL CAR WITHOUT WARRANTY\";\r\n ActionTypes[\"SELL_CAR_WITHOUT_WARRANTY_SUCCESS\"] = \"SELL CAR WITHOUT WARRANTY SUCCESS\";\r\n ActionTypes[\"SELL_CAR_WITHOUT_WARRANTY_ERROR\"] = \"SELL CAR WITHOUT WARRANTY ERROR\";\r\n ActionTypes[\"GET_CAR_MODELS\"] = \"GET CAR MODELS\";\r\n ActionTypes[\"GET_CAR_MODELS_SUCCESS\"] = \"GET CAR MODELS SUCCESS\";\r\n ActionTypes[\"GET_CAR_MODELS_ERROR\"] = \"GET CAR MODELS ERROR\";\r\n ActionTypes[\"GET_CAR\"] = \"GET CAR\";\r\n ActionTypes[\"GET_CAR_SUCCESS\"] = \"GET CAR SUCCESS\";\r\n ActionTypes[\"GET_CAR_ERROR\"] = \"GET CAR ERROR\";\r\n ActionTypes[\"SAVE_PACKAGE\"] = \"SAVE PACKAGE ID\";\r\n ActionTypes[\"SAVE_EXTRA_PACKAGE\"] = \"SAVE EXTRA PACKAGE ID\";\r\n ActionTypes[\"REMOVE_EXTRA_PACKAGE\"] = \"REMOVE EXTRA PACKAGE ID\";\r\n ActionTypes[\"CLEAR_SELECTED_EXTRA_PACKAGES\"] = \"CLEAR_SELECTED_EXTRA_PACKAGES\";\r\n ActionTypes[\"GET_PACKAGES\"] = \"GET PACKAGES\";\r\n ActionTypes[\"GET_PACKAGES_SUCCESS\"] = \"GET PACKAGES SUCCESS\";\r\n ActionTypes[\"GET_PACKAGES_ERROR\"] = \"GET PACKAGES ERROR\";\r\n ActionTypes[\"GET_EXTRA_PACKAGES\"] = \"GET EXTRA PACKAGES\";\r\n ActionTypes[\"GET_EXTRA_PACKAGES_SUCCESS\"] = \"GET EXTRA PACKAGES SUCCESS\";\r\n ActionTypes[\"GET_EXTRA_PACKAGES_ERROR\"] = \"GET EXTRA PACKAGES ERROR\";\r\n ActionTypes[\"GET_CAR_PROBLEM_EXTRA_PACKAGE\"] = \"GET CAR PROBLEM EXTRA PACKAGE\";\r\n ActionTypes[\"GET_CAR_PROBLEM_EXTRA_PACKAGE_SUCCESS\"] = \"GET CAR PROBLEM EXTRA PACKAGE SUCCESS\";\r\n ActionTypes[\"GET_CAR_PROBLEM_EXTRA_PACKAGE_ERROR\"] = \"GET CAR PROBLEM EXTRA PACKAGE ERROR\";\r\n ActionTypes[\"SAVE_WARRANTY\"] = \"SAVE WARRANTY\";\r\n ActionTypes[\"SAVE_WARRANTY_SUCCESS\"] = \"SAVE WARRANTY SUCCESS\";\r\n ActionTypes[\"SAVE_WARRANTY_ERROR\"] = \"SAVE WARRANTY ERROR\";\r\n ActionTypes[\"SAVE_WARRANTY_ONLY\"] = \"SAVE WARRANTY ONLY\";\r\n ActionTypes[\"SAVE_WARRANTY_ONLY_SUCCESS\"] = \"SAVE WARRANTY ONLY SUCCESS\";\r\n ActionTypes[\"SAVE_WARRANTY_ONLY_ERROR\"] = \"SAVE WARRANTY ONLY ERROR\";\r\n ActionTypes[\"DELETE_WARRANTY\"] = \"DELETE WARRANTY\";\r\n ActionTypes[\"DELETE_WARRANTY_SUCCESS\"] = \"DELETE WARRANTY SUCCESS\";\r\n ActionTypes[\"DELETE_WARRANTY_ERROR\"] = \"DELETE WARRANTY ERROR\";\r\n ActionTypes[\"GET_WARRANTIES\"] = \"GET WARRANTIES\";\r\n ActionTypes[\"GET_WARRANTIES_SUCCESS\"] = \"GET WARRANTIES SUCCESS\";\r\n ActionTypes[\"GET_WARRANTIES_ERROR\"] = \"GET WARRANTIES ERROR\";\r\n ActionTypes[\"SELL_CAR\"] = \"SELL CAR\";\r\n ActionTypes[\"SELL_CAR_SUCCESS\"] = \"SELL CAR SUCCESS\";\r\n ActionTypes[\"SELL_CAR_ERROR\"] = \"SELL CAR ERROR\";\r\n ActionTypes[\"DEACTIVATE_CAR\"] = \"DEACTIVATE CAR\";\r\n ActionTypes[\"DEACTIVATE_CAR_SUCCESS\"] = \"DEACTIVATE CAR SUCCESS\";\r\n ActionTypes[\"DEACTIVATE_CAR_ERROR\"] = \"DEACTIVATE CAR ERROR\";\r\n ActionTypes[\"ACTIVATE_CAR\"] = \"ACTIVATE CAR\";\r\n ActionTypes[\"ACTIVATE_CAR_SUCCESS\"] = \"ACTIVATE CAR SUCCESS\";\r\n ActionTypes[\"ACTIVATE_CAR_ERROR\"] = \"ACTIVATE CAR ERROR\";\r\n ActionTypes[\"GET_BUYER_BY_CAR_ID\"] = \"GET BUYER BY CAR ID\";\r\n ActionTypes[\"GET_BUYER_BY_CAR_ID_SUCCESS\"] = \"GET BUYER BY CAR ID SUCCESS\";\r\n ActionTypes[\"GET_BUYER_BY_CAR_ID_ERROR\"] = \"GET BUYER BY CAR ID ERROR\";\r\n ActionTypes[\"GET_BUYER_BY_OIB\"] = \"GET BUYER BY OIB\";\r\n ActionTypes[\"GET_BUYER_BY_OIB_SUCCESS\"] = \"GET BUYER BY OIB SUCCESS\";\r\n ActionTypes[\"GET_BUYER_BY_OIB_ERROR\"] = \"GET BUYER BY OIB ERROR\";\r\n ActionTypes[\"GET_BUYER_BY_EMAIL\"] = \"GET BUYER BY EMAIL\";\r\n ActionTypes[\"GET_BUYER_BY_EMAIL_SUCCESS\"] = \"GET BUYER BY EMAIL SUCCESS\";\r\n ActionTypes[\"GET_BUYER_BY_EMAIL_ERROR\"] = \"GET BUYER BY EMAIL ERROR\";\r\n ActionTypes[\"GET_WARRANTY_STATUSES\"] = \"GET WARRANTY STATUSES\";\r\n ActionTypes[\"GET_WARRANTY_STATUSES_SUCCESS\"] = \"GET WARRANTY STATUSES SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_STATUSES_ERROR\"] = \"GET WARRANTY STATUSES ERROR\";\r\n ActionTypes[\"UPDATE_WARRANTY_STATUS\"] = \"UPDATE WARRANTY STATUS\";\r\n ActionTypes[\"UPDATE_WARRANTY_STATUS_SUCCESS\"] = \"UPDATE WARRANTY STATUS SUCCESS\";\r\n ActionTypes[\"UPDATE_WARRANTY_STATUS_ERROR\"] = \"UPDATE WARRANTY STATUS ERROR\";\r\n ActionTypes[\"GET_WARRANTY\"] = \"GET WARRANTY\";\r\n ActionTypes[\"GET_WARRANTY_SUCCESS\"] = \"GET WARRANTY SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_ERROR\"] = \"GET WARRANTY ERROR\";\r\n ActionTypes[\"GET_LEGAL_ENTITIES\"] = \"GET LEGAL ENTITIES\";\r\n ActionTypes[\"GET_LEGAL_ENTITIES_SUCCESS\"] = \"GET LEGAL ENTITIES SUCCESS\";\r\n ActionTypes[\"GET_LEGAL_ENTITIES_ERROR\"] = \"GET LEGAL ENTITIES ERROR\";\r\n ActionTypes[\"SAVE_SELLER\"] = \"SAVE SELLER\";\r\n ActionTypes[\"SAVE_SELLER_SUCCESS\"] = \"SAVE SELLER SUCCESS\";\r\n ActionTypes[\"SAVE_SELLER_ERROR\"] = \"SAVE SELLER ERROR\";\r\n ActionTypes[\"CHANGE_SELLER\"] = \"CHANGE SELLER\";\r\n ActionTypes[\"CHANGE_SELLER_SUCCESS\"] = \"CHANGE SELLER SUCCESS\";\r\n ActionTypes[\"CHANGE_SELLER_ERROR\"] = \"CHANGE SELLER ERROR\";\r\n ActionTypes[\"CHANGE_BUYER\"] = \"CHANGE BUYER\";\r\n ActionTypes[\"CHANGE_BUYER_SUCCESS\"] = \"CHANGE BUYER SUCCESS\";\r\n ActionTypes[\"CHANGE_BUYER_ERROR\"] = \"CHANGE BUYER ERROR\";\r\n ActionTypes[\"ACTIVATE_SELLER\"] = \"ACTIVATE SELLER\";\r\n ActionTypes[\"ACTIVATE_SELLER_SUCCESS\"] = \"ACTIVATE SELLER SUCCESS\";\r\n ActionTypes[\"ACTIVATE_SELLER_ERROR\"] = \"ACTIVATE SELLER ERROR\";\r\n ActionTypes[\"DELETE_SELLER\"] = \"DELETE SELLER\";\r\n ActionTypes[\"DELETE_SELLER_SUCCESS\"] = \"DELETE SELLER SUCCESS\";\r\n ActionTypes[\"DELETE_SELLER_ERROR\"] = \"DELETE SELLER ERROR\";\r\n ActionTypes[\"GET_ADMIN_TABLE_DATA\"] = \"GET ADMIN TABLE DATA\";\r\n ActionTypes[\"GET_ADMIN_TABLE_DATA_SUCCESS\"] = \"GET ADMIN TABLE DATA SUCCESS\";\r\n ActionTypes[\"GET_ADMIN_TABLE_DATA_ERROR\"] = \"GET ADMIN TABLE DATA ERROR\";\r\n ActionTypes[\"GET_ADMIN_ARCHIVE_TABLE_DATA\"] = \"GET ADMIN ARCHIVE TABLE DATA\";\r\n ActionTypes[\"GET_ADMIN_ARCHIVE_TABLE_DATA_SUCCESS\"] = \"GET ADMIN ARCHIVE TABLE DATA SUCCESS\";\r\n ActionTypes[\"GET_ADMIN_ARCHIVE_TABLE_DATA_ERROR\"] = \"GET ADMIN ARCHIVE TABLE DATA ERROR\";\r\n ActionTypes[\"SAVE_NJUSKALO_SELLER\"] = \"SAVE NJUSKALO SELLER\";\r\n ActionTypes[\"SAVE_NJUSKALO_SELLER_SUCCESS\"] = \"SAVE NJUSKALO SELLER SUCCESS\";\r\n ActionTypes[\"SAVE_NJUSKALO_SELLER_ERROR\"] = \"SAVE NJUSKALO SELLER ERROR\";\r\n ActionTypes[\"GET_NJUSKALO_SELLER\"] = \"GET_NJUSKALO_SELLER\";\r\n ActionTypes[\"GET_NJUSKALO_SELLER_SUCCESS\"] = \"GET_NJUSKALO_SELLER_SUCCESS\";\r\n ActionTypes[\"GET_NJUSKALO_SELLER_ERROR\"] = \"GET_NJUSKALO_SELLER_ERROR\";\r\n ActionTypes[\"CLEAR_NJUSKALO_SELLER\"] = \"CLEAR NJUSKALO SELLER\";\r\n ActionTypes[\"GET_CURRENT_USER\"] = \"GET CURRENT USER\";\r\n ActionTypes[\"GET_CURRENT_USER_ERROR\"] = \"GET CURRENT USER ERROR\";\r\n ActionTypes[\"GET_CURRENT_USER_SUCCESS\"] = \"GET CURRENT USER SUCCESS\";\r\n ActionTypes[\"CONFIRM_DATA\"] = \"CONFIRM DATA\";\r\n ActionTypes[\"CONFIRM_DATA_SUCCESS\"] = \"CONFIRM DATA SUCCESS\";\r\n ActionTypes[\"CONFIRM_DATA_ERROR\"] = \"CONFIRM DATA ERROR\";\r\n ActionTypes[\"GET_DAMAGE\"] = \"GET DAMAGE\";\r\n ActionTypes[\"GET_DAMAGE_SUCCESS\"] = \"GET DAMAGE SUCCESS\";\r\n ActionTypes[\"GET_DAMAGE_ERROR\"] = \"GET DAMAGE ERROR\";\r\n ActionTypes[\"GET_ACTIVE_DAMAGE\"] = \"GET ACTIVE DAMAGE\";\r\n ActionTypes[\"GET_ACTIVE_DAMAGE_SUCCESS\"] = \"GET ACTIVE DAMAGE SUCCESS\";\r\n ActionTypes[\"GET_ACTIVE_DAMAGE_ERROR\"] = \"GET ACTIVE DAMAGE ERROR\";\r\n ActionTypes[\"GET_DAMAGE_STATUSES\"] = \"GET DAMAGE STATUSES\";\r\n ActionTypes[\"GET_DAMAGE_STATUSES_SUCCESS\"] = \"GET DAMAGE STATUSES SUCCESS\";\r\n ActionTypes[\"GET_DAMAGE_STATUSES_ERROR\"] = \"GET DAMAGE STATUSES ERROR\";\r\n ActionTypes[\"SAVE_DAMAGE\"] = \"SAVE DAMAGE\";\r\n ActionTypes[\"SAVE_DAMAGE_SUCCESS\"] = \"SAVE DAMAGE SUCCESS\";\r\n ActionTypes[\"SAVE_DAMAGE_ERROR\"] = \"SAVE DAMAGE ERROR\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN\"] = \"GET DAMAGES ADMIN\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN_SUCCESS\"] = \"GET DAMAGES ADMIN SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN_ERROR\"] = \"GET DAMAGES ADMIN ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN\"] = \"GET CARS ADMIN\";\r\n ActionTypes[\"GET_CARS_ADMIN_SUCCESS\"] = \"GET CARS ADMIN SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_ERROR\"] = \"GET CARS ADMIN ERROR\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_ADMIN\"] = \"GET CARS DROPDOWN ADMIN\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_ADMIN_SUCCESS\"] = \"GET CARS DROPDOWN ADMIN SUCCESS\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_ADMIN_ERROR\"] = \"GET CARS DROPDOWN ADMIN ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS\"] = \"GET CARS ADMIN ONLY CARS\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS_SUCCESS\"] = \"GET CARS ADMIN ONLY CARS SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS_ERROR\"] = \"GET CARS ADMIN ONLY CARS ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_CARS\"] = \"GET CARS ADMIN SOLD ONLY CARS\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_CARS_SUCCESS\"] = \"GET CARS ADMIN SOLD ONLY CARS SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_CARS_ERROR\"] = \"GET CARS ADMIN SOLD ONLY CARS ERROR\";\r\n ActionTypes[\"GET_CARS_SELLER\"] = \"GET CARS SELLER\";\r\n ActionTypes[\"GET_CARS_SELLER_SUCCESS\"] = \"GET CARS SELLER SUCCESS\";\r\n ActionTypes[\"GET_CARS_SELLER_ERROR\"] = \"GET CARS SELLER ERROR\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_SELLER\"] = \"GET CARS DROPDOWN SELLER\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_SELLER_SUCCESS\"] = \"GET CARS DROPDOWN SELLER SUCCESS\";\r\n ActionTypes[\"GET_CARS_DROPDOWN_SELLER_ERROR\"] = \"GET CARS DROPDOWN SELLER ERROR\";\r\n ActionTypes[\"CHANGE_SELLER_EMAIL\"] = \"CHANGE SELLER EMAIL\";\r\n ActionTypes[\"CHANGE_SELLER_EMAIL_SUCCESS\"] = \"CHANGE SELLER EMAIL SUCCESS\";\r\n ActionTypes[\"CHANGE_SELLER_EMAIL_ERROR\"] = \"CHANGE SELLER EMAIL ERROR\";\r\n ActionTypes[\"GET_DAMAGES_SELLER\"] = \"GET DAMAGES SELLER\";\r\n ActionTypes[\"GET_DAMAGES_SELLER_SUCCESS\"] = \"GET DAMAGES SELLER SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_SELLER_ERROR\"] = \"GET DAMAGES SELLER ERROR\";\r\n ActionTypes[\"GET_DAMAGES_BUYER\"] = \"GET DAMAGES BUYER\";\r\n ActionTypes[\"GET_DAMAGES_BUYER_SUCCESS\"] = \"GET DAMAGES BUYER SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_BUYER_ERROR\"] = \"GET DAMAGES BUYER ERROR\";\r\n ActionTypes[\"GET_DAMAGES_CAR\"] = \"GET DAMAGES CAR\";\r\n ActionTypes[\"GET_DAMAGES_CAR_SUCCESS\"] = \"GET DAMAGES CAR SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_CAR_ERROR\"] = \"GET DAMAGES CAR ERROR\";\r\n ActionTypes[\"GET_DAMAGES_WARRANTY\"] = \"GET DAMAGES WARRANTY\";\r\n ActionTypes[\"GET_DAMAGES_WARRANTY_SUCCESS\"] = \"GET DAMAGES WARRANTY SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_WARRANTY_ERROR\"] = \"GET DAMAGES WARRANTY ERROR\";\r\n ActionTypes[\"GET_DAMAGES_SELLERBYADMIN\"] = \"GET DAMAGES SELLERBYADMIN\";\r\n ActionTypes[\"GET_DAMAGES_SELLERBYADMIN_SUCCESS\"] = \"GET DAMAGES SELLERBYADMIN SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_SELLERBYADMIN_ERROR\"] = \"GET DAMAGES SELLERBYADMIN ERROR\";\r\n ActionTypes[\"GET_CHASSIS_DAMAGE\"] = \"GET CHASSIS DAMAGE\";\r\n ActionTypes[\"GET_CHASSIS_DAMAGE_SUCCESS\"] = \"GET CHASSIS DAMAGE SUCCESS\";\r\n ActionTypes[\"GET_CHASSIS_DAMAGE_ERROR\"] = \"GET CHASSIS DAMAGE ERROR\";\r\n ActionTypes[\"GET_CHASSIS_CAR\"] = \"GET CHASSIS CAR\";\r\n ActionTypes[\"GET_CHASSIS_CAR_SUCCESS\"] = \"GET CHASSIS CAR SUCCESS\";\r\n ActionTypes[\"GET_CHASSIS_CAR_ERROR\"] = \"GET CHASSIS CAR ERROR\";\r\n ActionTypes[\"DELETE_DAMAGE\"] = \"DELETE DAMAGE\";\r\n ActionTypes[\"DELETE_DAMAGE_SUCCESS\"] = \"DELETE DAMAGE SUCCESS\";\r\n ActionTypes[\"DELETE_DAMAGE_ERROR\"] = \"DELETE DAMAGE ERROR\";\r\n ActionTypes[\"SAVE_PHOTOS\"] = \"SAVE PHOTOS\";\r\n ActionTypes[\"REVIEW_CAR\"] = \"REVIEW CAR\";\r\n ActionTypes[\"REVIEW_CAR_SUCCESS\"] = \"REVIEW CAR SUCCESS\";\r\n ActionTypes[\"REVIEW_CAR_ERROR\"] = \"REVIEW CAR ERROR\";\r\n ActionTypes[\"GET_BUYERS\"] = \"GET BUYERS\";\r\n ActionTypes[\"GET_BUYERS_SUCCESS\"] = \"GET BUYERS SUCCESS\";\r\n ActionTypes[\"GET_BUYERS_ERROR\"] = \"GET BUYERS ERROR\";\r\n ActionTypes[\"GET_BUYER\"] = \"GET BUYER\";\r\n ActionTypes[\"GET_BUYER_SUCCESS\"] = \"GET BUYER SUCCESS\";\r\n ActionTypes[\"GET_BUYER_ERROR\"] = \"GET BUYER ERROR\";\r\n ActionTypes[\"SAVE_BUYER\"] = \"SAVE BUYER\";\r\n ActionTypes[\"SAVE_BUYER_SUCCESS\"] = \"SAVE BUYER SUCCESS\";\r\n ActionTypes[\"SAVE_BUYER_ERROR\"] = \"SAVE BUYER ERROR\";\r\n ActionTypes[\"DELETE_BUYER\"] = \"DELETE BUYER\";\r\n ActionTypes[\"DELETE_BUYER_SUCCESS\"] = \"DELETE BUYER SUCCESS\";\r\n ActionTypes[\"DELETE_BUYER_ERROR\"] = \"DELETE BUYER ERROR\";\r\n ActionTypes[\"ACTIVATE_BUYER\"] = \"ACTIVATE BUYER\";\r\n ActionTypes[\"ACTIVATE_BUYER_SUCCESS\"] = \"ACTIVATE BUYER SUCCESS\";\r\n ActionTypes[\"ACTIVATE_BUYER_ERROR\"] = \"ACTIVATE BUYER ERROR\";\r\n ActionTypes[\"GET_SELLERS\"] = \"GET SELLERS\";\r\n ActionTypes[\"GET_SELLERS_SUCCESS\"] = \"GET SELLERS SUCCESS\";\r\n ActionTypes[\"GET_SELLERS_ERROR\"] = \"GET SELLERS ERROR\";\r\n ActionTypes[\"GET_SELLER\"] = \"GET SELLER\";\r\n ActionTypes[\"GET_SELLER_SUCCESS\"] = \"GET SELLER SUCCESS\";\r\n ActionTypes[\"GET_SELLER_ERROR\"] = \"GET SELLER ERROR\";\r\n ActionTypes[\"CLEAR_SELLER\"] = \"CLEAR SELLER\";\r\n ActionTypes[\"GET_CURRENT_CAR_REVIEW\"] = \"GET CURRENT CAR REVIEW\";\r\n ActionTypes[\"GET_CURRENT_CAR_REVIEW_SUCCESS\"] = \"GET CURRENT CAR REVIEW SUCCESS\";\r\n ActionTypes[\"GET_CURRENT_CAR_REVIEW_ERROR\"] = \"GET CURRENT CAR REVIEW ERROR\";\r\n ActionTypes[\"ACTIVATE_WARRANTY\"] = \"ACTIVATE WARRANTY\";\r\n ActionTypes[\"ACTIVATE_WARRANTY_SUCCESS\"] = \"ACTIVATE WARRANTY SUCCESS\";\r\n ActionTypes[\"ACTIVATE_WARRANTY_ERROR\"] = \"ACTIVATE WARRANTY ERROR\";\r\n ActionTypes[\"CHECK_WARRANTIES_FOR_ACTIVATION\"] = \"CHECK WARRANTIES FOR ACTIVATION\";\r\n ActionTypes[\"CHECK_WARRANTIES_FOR_ACTIVATION_SUCCESS\"] = \"CHECK WARRANTIES FOR ACTIVATION SUCCESS\";\r\n ActionTypes[\"CHECK_WARRANTIES_FOR_ACTIVATION_ERROR\"] = \"CHECK WARRANTIES FOR ACTIVATION ERROR\";\r\n ActionTypes[\"GET_WARRANTY_FOR_CONTRACT\"] = \"GET WARRANTY FOR CONTRACT\";\r\n ActionTypes[\"GET_WARRANTY_FOR_CONTRACT_SUCCESS\"] = \"GET WARRANTY FOR CONTRACT SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_FOR_CONTRACT_ERROR\"] = \"GET WARRANTY FOR CONTRACT ERROR\";\r\n ActionTypes[\"EDIT_MISSING_CAR_DETAILS\"] = \"EDIT MISSING CAR DETAILS\";\r\n ActionTypes[\"SET_IS_MISSING_CAR_DETAILS\"] = \"SET IS MISSING CAR DETAILS\";\r\n ActionTypes[\"GET_THIS_MONTH_SOLD_STATISTIC\"] = \"GET THIS MONTH SOLD STATISTIC\";\r\n ActionTypes[\"GET_THIS_MONTH_SOLD_STATISTIC_SUCCESS\"] = \"GET THIS MONTH SOLD STATISTIC SUCCESS\";\r\n ActionTypes[\"GET_THIS_MONTH_SOLD_STATISTIC_ERROR\"] = \"GET THIS MONTH SOLD STATISTIC ERROR\";\r\n ActionTypes[\"GET_SOLD_STATISTIC\"] = \"GET SOLD STATISTIC\";\r\n ActionTypes[\"GET_SOLD_STATISTIC_SUCCESS\"] = \"GET SOLD STATISTIC SUCCESS\";\r\n ActionTypes[\"GET_SOLD_STATISTIC_ERROR\"] = \"GET SOLD STATISTIC ERROR\";\r\n ActionTypes[\"GET_MARKETING_THIS_MONTH_SOLD_STATISTIC\"] = \"GET MARKETING THIS MONTH SOLD STATISTIC\";\r\n ActionTypes[\"GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_SUCCESS\"] = \"GET MARKETING THIS MONTH SOLD STATISTIC SUCCESS\";\r\n ActionTypes[\"GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_ERROR\"] = \"GET MARKETING THIS MONTH SOLD STATISTIC ERROR\";\r\n ActionTypes[\"UPGRADE_WARRANTY_PACKGAGE\"] = \"UPGRADE WARRANTY PACKGAGE\";\r\n ActionTypes[\"UPGRADE_WARRANTY_PACKGAGE_SUCCESS\"] = \"UPGRADE WARRANTY PACKGAGE SUCCESS\";\r\n ActionTypes[\"UPGRADE_WARRANTY_PACKGAGE_ERROR\"] = \"UPGRADE WARRANTY PACKGAGE ERROR\";\r\n ActionTypes[\"GET_CARS_FOR_SELLER\"] = \"GET CARS FOR SELLER\";\r\n ActionTypes[\"GET_CARS_FOR_SELLER_SUCCESS\"] = \"GET CARS FOR SELLER SUCCESS\";\r\n ActionTypes[\"GET_CARS_FOR_SELLER_ERROR\"] = \"GET CARS FOR SELLER ERROR\";\r\n ActionTypes[\"CHANGE_SHOW_ON_PORTAL\"] = \"CHANGE SHOW ON PORTAL\";\r\n ActionTypes[\"HIDE_ALL_CARS_ON_PORTAL\"] = \"HIDE_ALL_CARS_ON_PORTAL\";\r\n ActionTypes[\"GET_CAR_DETAILS\"] = \"GET CAR DETAILS\";\r\n ActionTypes[\"GET_CAR_DETAILS_SUCCESS\"] = \"GET CAR DETAILS SUCCESS\";\r\n ActionTypes[\"GET_CAR_DETAILS_ERROR\"] = \"GET CAR DETAILS ERROR\";\r\n ActionTypes[\"UPDATE_CAR_DETAILS\"] = \"UPDATE CAR DETAILS\";\r\n ActionTypes[\"UPDATE_CAR_DETAILS_SUCCESS\"] = \"UPDATE CAR SUCCESS\";\r\n ActionTypes[\"UPDATE_CAR_DETAILS_ERROR\"] = \"UPDATE CAR ERROR\";\r\n ActionTypes[\"LOAD_MORE_CARS\"] = \"LOAD MORE CARS\";\r\n ActionTypes[\"LOAD_MORE_FILTER_CARS_SUCCESS\"] = \"LOAD MORE FILTER CARS SUCCESS\";\r\n ActionTypes[\"GET_CAR_BRANDS\"] = \"GET CAR BRANDS\";\r\n ActionTypes[\"GET_CAR_BRANDS_SUCCESS\"] = \"GET CAR BRANDS SUCCESS\";\r\n ActionTypes[\"GET_CAR_BRANDS_ERROR\"] = \"GET CAR BRANDS ERROR\";\r\n ActionTypes[\"GET_CAR_MODELS_BY_BRAND\"] = \"GET CAR MODELS BY BRAND\";\r\n ActionTypes[\"GET_CAR_MODELS_BY_BRAND_SUCCESS\"] = \"GET CAR MODELS BY BRAND SUCCESS\";\r\n ActionTypes[\"GET_CAR_MODELS_BY_BRAND_ERROR\"] = \"GET CAR MODELS BY BRAND ERROR\";\r\n ActionTypes[\"GET_ENGINE_TYPES\"] = \"GET ENGINE TYPES\";\r\n ActionTypes[\"GET_ENGINE_TYPES_SUCCESS\"] = \"GET ENGINE TYPES SUCCESS\";\r\n ActionTypes[\"GET_ENGINE_TYPES_ERROR\"] = \"GET ENGINE TYPES ERROR\";\r\n ActionTypes[\"GET_SELLER_DROPDOWN_DATA\"] = \"GET SELLER DROPDOWN_DATA\";\r\n ActionTypes[\"GET_SELLER_DROPDOWN_DATA_SUCCESS\"] = \"GET SELLER DROPDOWN DATA SUCCESS\";\r\n ActionTypes[\"GET_SELLER_DROPDOWN_DATA_ERROR\"] = \"GET SELLER DROPDOWN DATA ERROR\";\r\n ActionTypes[\"FILTER_CARS\"] = \"FILTER CARS\";\r\n ActionTypes[\"FILTER_CARS_SUCCESS\"] = \"FILTER CARS SUCCESS\";\r\n ActionTypes[\"FILTER_CARS_ERROR\"] = \"FILTER CARS ERROR\";\r\n ActionTypes[\"SEND_INVOICE\"] = \"SEND INVOICE\";\r\n ActionTypes[\"SEND_INVOICE_SUCCESS\"] = \"SEND INVOICE SUCCESS\";\r\n ActionTypes[\"SEND_INVOICE_ERROR\"] = \"SEND INVOICE ERROR\";\r\n ActionTypes[\"GET_INVOICES\"] = \"GET_INVOICES\";\r\n ActionTypes[\"GET_INVOICES_SUCCESS\"] = \"GET_INVOICES SUCCESS\";\r\n ActionTypes[\"GET_INVOICES_ERROR\"] = \"GET_INVOICES ERROR\";\r\n ActionTypes[\"GET_YEARS\"] = \"GET YEARS\";\r\n ActionTypes[\"GET_YEARS_SUCCESS\"] = \"GET YEARS SUCCESS\";\r\n ActionTypes[\"GET_YEARS_ERROR\"] = \"GET YEARS ERROR\";\r\n ActionTypes[\"GET_INVOICE\"] = \"GET INVOICE\";\r\n ActionTypes[\"GET_INVOICE_SUCCESS\"] = \"GET INVOICE SUCCESS\";\r\n ActionTypes[\"GET_INVOICE_ERROR\"] = \"GET INVOICE ERROR\";\r\n ActionTypes[\"GET_LAST_INVOICE\"] = \"GET LAST INVOICE\";\r\n ActionTypes[\"GET_LAST_INVOICE_SUCCESS\"] = \"GET LAST INVOICE SUCCESS\";\r\n ActionTypes[\"GET_LAST_INVOICE_ERROR\"] = \"GET LAST INVOICE ERROR\";\r\n ActionTypes[\"GET_SELLER_NAME\"] = \"GET SELLER NAME\";\r\n ActionTypes[\"GET_SELLER_NAME_SUCCESS\"] = \"GET SELLER NAME SUCCESS\";\r\n ActionTypes[\"GET_SELLER_NAME_ERROR\"] = \"GET SELLER NAME ERROR\";\r\n ActionTypes[\"GET_BUYER_NAME\"] = \"GET BUYER NAME\";\r\n ActionTypes[\"GET_BUYER_NAME_SUCCESS\"] = \"GET BUYER NAME SUCCESS\";\r\n ActionTypes[\"GET_BUYER_NAME_ERROR\"] = \"GET BUYER NAME ERROR\";\r\n ActionTypes[\"GET_CAR_NAME\"] = \"GET CAR NAME\";\r\n ActionTypes[\"GET_CAR_NAME_SUCCESS\"] = \"GET CAR NAME SUCCESS\";\r\n ActionTypes[\"GET_CAR_NAME_ERROR\"] = \"GET CAR NAME ERROR\";\r\n ActionTypes[\"SAVE_NOTE_FOR_SELLER\"] = \"SAVE NOTE FOR SELLER\";\r\n ActionTypes[\"SAVE_NOTE_FOR_SELLER_SUCCESS\"] = \"SAVE NOTE FOR SELLER SUCCESS\";\r\n ActionTypes[\"SAVE_NOTE_FOR_SELLER_ERROR\"] = \"SAVE NOTE FOR SELLER ERROR\";\r\n ActionTypes[\"IMPORT_CARS\"] = \"IMPORT CARS\";\r\n ActionTypes[\"IMPORT_CARS_SUCCESS\"] = \"IMPORT CARS SUCCESS\";\r\n ActionTypes[\"IMPORT_CARS_ERROR\"] = \"IMPORT CARS ERROR\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_BUYER\"] = \"GET_WARRANTIES_FOR_BUYER\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_BUYER_SUCCESS\"] = \"GET_WARRANTIES_FOR_BUYER_SUCCESS\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_BUYER_ERROR\"] = \"GET_WARRANTIES_FOR_BUYER ERROR\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_SELLER\"] = \"GET_WARRANTIES_FOR_SELLER\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_SELLER_SUCCESS\"] = \"GET_WARRANTIES_FOR_SELLER_SUCCESS\";\r\n ActionTypes[\"GET_WARRANTIES_FOR_SELLER_ERROR\"] = \"GET_WARRANTIES_FOR_SELLER ERROR\";\r\n ActionTypes[\"GET_CURRENCIES\"] = \"GET_CURRENCIES\";\r\n ActionTypes[\"GET_CURRENCIES_SUCCESS\"] = \"GET_CURRENCIES_SUCCESS\";\r\n ActionTypes[\"GET_CURRENCIES_ERROR\"] = \"GET_CURRENCIES_ERROR\";\r\n ActionTypes[\"CHANGE_VALID_DATE\"] = \"CHANGE VALID DATE\";\r\n ActionTypes[\"CHANGE_VALID_DATE_SUCCESS\"] = \"CHANGE VALID DATE SUCCESS\";\r\n ActionTypes[\"CHANGE_VALID_DATE_ERROR\"] = \"CHANGE VALID DATE ERROR\";\r\n ActionTypes[\"SEND_ACTIVATION_EMAIL_BUYER\"] = \"SEND ACTIVATION EMAIL BUYER\";\r\n ActionTypes[\"SEND_ACTIVATION_EMAIL_BUYER_SUCCESS\"] = \"SEND ACTIVATION EMAIL BUYER SUCCESS\";\r\n ActionTypes[\"SEND_ACTIVATION_EMAIL_BUYER_ERROR\"] = \"SEND ACTIVATION EMAIL BUYER ERROR\";\r\n ActionTypes[\"SEND_WARRANTY_EMAIL\"] = \"SEND WARRANTY EMAIL\";\r\n ActionTypes[\"SEND_WARRANTY_EMAIL_SUCCESS\"] = \"SEND WARRANTY EMAIL SUCCESS\";\r\n ActionTypes[\"SEND_WARRANTY_EMAIL_ERROR\"] = \"SEND WARRANTY EMAIL ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN_TOTAL_COUNT\"] = \"GET CARS ADMIN TOTAL COUNT\";\r\n ActionTypes[\"GET_CARS_ADMIN_TOTAL_COUNT_SUCCESS\"] = \"GET CARS ADMIN TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_TOTAL_COUNT_ERROR\"] = \"GET CARS ADMIN TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT\"] = \"GET CARS ADMIN ONLY CARS TOTAL COUNT\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_SUCCESS\"] = \"GET CARS ADMIN ONLY CARS TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_ERROR\"] = \"GET CARS ADMIN ONLY CARS TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT\"] = \"GET CARS ADMIN SOLD ONLY TOTAL COUNT\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_SUCCESS\"] = \"GET CARS ADMIN SOLD ONLY TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_ERROR\"] = \"GET CARS ADMIN SOLD ONLY TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT\"] = \"GET WARRANTY ADMIN TABLE TOTAL COUNT\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_SUCCESS\"] = \"GET WARRANTY ADMIN TABLE TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_ERROR\"] = \"GET WARRANTY ADMIN TABLE TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT\"] = \"GET WARRANTY ADMIN BUYER TABLE TOTAL COUNT\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_SUCCESS\"] = \"GET WARRANTY ADMIN BUYER TABLE TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_ERROR\"] = \"GET WARRANTY ADMIN BUYER TABLE TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT\"] = \"GET WARRANTY ADMIN SELLER TABLE TOTAL COUNT\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_SUCCESS\"] = \"GET WARRANTY ADMIN SELLER TABLE TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_ERROR\"] = \"GET WARRANTY ADMIN SELLER TABLE TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT\"] = \"GET WARRANTY ADMIN ARCHIVE TABLE TOTAL COUNT\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_SUCCESS\"] = \"GET WARRANTY ADMIN ARCHIVE TABLE TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_ERROR\"] = \"GET WARRANTY ADMIN ARCHIVE TABLE TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN_TOTAL_COUNT\"] = \"GET DAMAGES ADMIN TOTAL COUNT\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN_TOTAL_COUNT_SUCCESS\"] = \"GET DAMAGES ADMIN TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_DAMAGES_ADMIN_TOTAL_COUNT_ERROR\"] = \"GET DAMAGES ADMIN TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_BUYERS_ADMIN_TOTAL_COUNT\"] = \"GET BUYERS ADMIN TOTAL COUNT\";\r\n ActionTypes[\"GET_BUYERS_ADMIN_TOTAL_COUNT_SUCCESS\"] = \"GET BUYERS ADMIN TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_BUYERS_ADMIN_TOTAL_COUNT_ERROR\"] = \"GET BUYERS ADMIN TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_SELLERS_ADMIN_TOTAL_COUNT\"] = \"GET SELLERS ADMIN TOTAL COUNT\";\r\n ActionTypes[\"GET_SELLERS_ADMIN_TOTAL_COUNT_SUCCESS\"] = \"GET SELLERS ADMIN TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_SELLERS_ADMIN_TOTAL_COUNT_ERROR\"] = \"GET SELLERS ADMIN TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT\"] = \"GET SELLERS UNACTIVE ADMIN TOTAL COUNT\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_SUCCESS\"] = \"GET SELLERS UNACTIVE ADMIN TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_ERROR\"] = \"GET SELLERS UNACTIVE ADMIN TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT\"] = \"GET OTHER ACTIVE SELLERS TOTAL COUNT\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_SUCCESS\"] = \"GET OTHER ACTIVE SELLERS TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_ERROR\"] = \"GET OTHER ACTIVE SELLERS TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT\"] = \"GET MARKETING SELLERS TABLE TOTAL COUNT\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_SUCCESS\"] = \"GET MARKETING SELLERS TABLE TOTAL COUNT SUCCESS\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_ERROR\"] = \"GET MARKETING SELLERS TABLE TOTAL COUNT ERROR\";\r\n ActionTypes[\"GET_SELLERS_TABLE\"] = \"GET SELLERS TABLE\";\r\n ActionTypes[\"GET_SELLERS_TABLE_SUCCESS\"] = \"GET SELLERS TABLE SUCCESS\";\r\n ActionTypes[\"GET_SELLERS_TABLE_ERROR\"] = \"GET SELLERS TABLE ERROR\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE\"] = \"GET MARKETING SELLERS TABLE\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE_SUCCESS\"] = \"GET MARKETING SELLERS TABLE SUCCESS\";\r\n ActionTypes[\"GET_MARKETING_SELLERS_TABLE_ERROR\"] = \"GET MARKETING SELLERS TABLE ERROR\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_TABLE\"] = \"GET SELLERS UNACTIVE TABLE\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_TABLE_SUCCESS\"] = \"GET SELLERS UNACTIVE TABLE SUCCESS\";\r\n ActionTypes[\"GET_SELLERS_UNACTIVE_TABLE_ERROR\"] = \"GET SELLERS UNACTIVE TABLE ERROR\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TABLE\"] = \"GET OTHER ACTIVE SELLERS TABLE\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TABLE_SUCCESS\"] = \"GET OTHER ACTIVE SELLERS TABLE SUCCESS\";\r\n ActionTypes[\"GET_OTHER_ACTIVE_SELLERS_TABLE_ERROR\"] = \"GET OTHER ACTIVE SELLERS TABLE ERROR\";\r\n ActionTypes[\"GET_STATISTICS_MARKETING_WARRANTIES_TABLE\"] = 'GET STATISTICS MARKETING WARRANTIES TABLE';\r\n ActionTypes[\"GET_STATISTICS_MARKETING_WARRANTIES_TABLE_SUCCESS\"] = 'GET STATISTICS MARKETING WARRANTIES SUCCESS';\r\n ActionTypes[\"GET_STATISTICS_MARKETING_WARRANTIES_TABLE_ERROR\"] = 'GET STATISTICS MARKETING WARRANTIES ERROR';\r\n ActionTypes[\"GET_STATISTICS_WARRANTIES_TABLE\"] = 'GET STATISTICS WARRANTIES TABLE';\r\n ActionTypes[\"GET_STATISTICS_WARRANTIES_TABLE_SUCCESS\"] = 'GET STATISTICS WARRANTIES SUCCESS';\r\n ActionTypes[\"GET_STATISTICS_WARRANTIES_TABLE_ERROR\"] = 'GET STATISTICS WARRANTIES ERROR';\r\n ActionTypes[\"SUBMIT_SELLER_CONTRACT\"] = \"SUBMIT SELLER CONTRACT\";\r\n ActionTypes[\"SUBMIT_SELLER_CONTRACT_SUCCESS\"] = \"SUBMIT SELLER CONTRACT SUCCESS\";\r\n ActionTypes[\"SUBMIT_SELLER_CONTRACT_ERROR\"] = \"SUBMIT SELLER CONTRACT ERROR\";\r\n ActionTypes[\"CANCEL_SELLER_CONTRACT\"] = \"CANCEL SELLER CONTRACT\";\r\n ActionTypes[\"CANCEL_SELLER_CONTRACT_SUCCESS\"] = \"CANCEL SELLER CONTRACT SUCCESS\";\r\n ActionTypes[\"CANCEL_SELLER_CONTRACT_ERROR\"] = \"CANCEL SELLER CONTRACT ERROR\";\r\n ActionTypes[\"DENIED_SELLER_CONTRACT\"] = \"DENIED SELLER CONTRACT\";\r\n ActionTypes[\"DENIED_SELLER_CONTRACT_SUCCESS\"] = \"DENIED SELLER CONTRACT SUCCESS\";\r\n ActionTypes[\"DENIED_SELLER_CONTRACT_ERROR\"] = \"DENIED SELLER CONTRACT ERROR\";\r\n ActionTypes[\"GET_LEGAL_BUYERS\"] = \"GET LEGAL BUYERS\";\r\n ActionTypes[\"GET_LEGAL_BUYERS_SUCCESS\"] = \"GET LEGAL BUYERS SUCCESS\";\r\n ActionTypes[\"GET_LEGAL_BUYERS_ERROR\"] = \"GET LEGAL BUYERS ERROR\";\r\n ActionTypes[\"CHANGE_WARRANTY_DURATION\"] = \"CHANGE WARRANTY DURATION\";\r\n ActionTypes[\"CHANGE_WARRANTY_DURATION_SUCCESS\"] = \"CHANGE WARRANTY DURATION SUCCESS\";\r\n ActionTypes[\"CHANGE_WARRANTY_DURATION_ERROR\"] = \"CHANGE WARRANTY DURATION ERROR\";\r\n ActionTypes[\"GET_LAST_YEAR_THIS_MONTH_STATISTIC\"] = \"GET LAST YEAR THIS MONTH STATISTIC\";\r\n ActionTypes[\"GET_LAST_YEAR_THIS_MONTH_STATISTIC_SUCCESS\"] = \"GET LAST YEAR THIS MONTH STATISTIC SUCCESS\";\r\n ActionTypes[\"GET_LAST_YEAR_THIS_MONTH_STATISTIC_ERROR\"] = \"GET LAST YEAR THIS MONTH STATISTIC ERROR\";\r\n })(ActionTypes || (ActionTypes = {}));\r\n ;\r\n exports[\"default\"] = ActionTypes;\r\n});\r\n//# sourceMappingURL=ActionTypes.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"chassisNumberModal_Button__BMry4\",\"Modal\":\"chassisNumberModal_Modal__bd_8w\",\"RootModal\":\"chassisNumberModal_RootModal__3nOmL\",\"Question\":\"chassisNumberModal_Question__zkLU7\",\"MainText\":\"chassisNumberModal_MainText___DiC1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Box\":\"buyerContract_Box__2Eofh\",\"Layout\":\"buyerContract_Layout__1SbYN\",\"RootGrid\":\"buyerContract_RootGrid__RG7Uc\",\"FormLabel\":\"buyerContract_FormLabel__1C8uB\",\"ButtonGrid\":\"buyerContract_ButtonGrid__IOlim\",\"Button\":\"buyerContract_Button__3IU2r\",\"Container\":\"buyerContract_Container__Q44yK\",\"Header\":\"buyerContract_Header__3q8TQ\"};","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n exports.__esModule = true;\r\n exports.currencyApiURL = exports.currentInvoice = exports.lastInvoice = exports.allInvoices = exports.invoicePdf = exports.warrantyPdf = exports.instructionsToActivate = exports.exportApiURL = exports.allSoldWarrantiesCount = exports.allSoldWarranties = exports.approvedWarrantiesApiURL = exports.activateWarrantyApiURL = exports.confirmDataURL = exports.deleteBuyerURL = exports.saveBuyerURL = exports.saveNoteForSellerApi = exports.sellerApiURL = exports.legalEntities = exports.deleteSeller = exports.activateSeller = exports.saveSeller = exports.damageCarApiURL = exports.damageSellerByAdminApiURL = exports.damageWarrantyApiURL = exports.damageBuyerApiURL = exports.damageSellerApiURL = exports.damageAdminApiURL = exports.damageApiURL = exports.carSellerApiURL = exports.carAdminApiURL = exports.currentUserURL = exports.adminArchiveTableDataURL = exports.adminTableDataURL = exports.warrantyDeleteApiURL = exports.warrantyEditOnlyApiURL = exports.warrantySaveOnlyApiURL = exports.warrantyEditApiURL = exports.warrantyApiURL = exports.buyerApiURL = exports.carApiURL = exports.confirmPasswordURL = exports.forgotPasswordURL = exports.registerApiURL = exports.loginApiURL = exports.statistics = exports.userApiURL = exports.baseAPI = exports.DEV_URL = exports.urlToken = void 0;\r\n exports.urlToken = 'https://app.g1klub.hr/';\r\n //export const urlToken = 'https://localhost:44353/';\r\n //deployment\r\n //export const localhostUrl = 'https://localhost:44353/';\r\n //export const localhostUrl = 'http://www.app-g1klub.zeraxo.com/';\r\n //export const DEV_URL = urlToken.indexOf('devUrlToken') >= 0 ? localhostUrl : urlToken;\r\n exports.DEV_URL = 'https://app.g1klub.hr/';\r\n //export const DEV_URL = 'https://localhost:44353/';\r\n exports.baseAPI = !process.env.NODE_ENV || process.env.NODE_ENV === 'development' ? \"\" + exports.DEV_URL : \"\" + exports.DEV_URL;\r\n // backend api routes\r\n exports.userApiURL = exports.DEV_URL + 'api/identity';\r\n exports.statistics = exports.DEV_URL + 'api/statistic';\r\n // auth routes\r\n exports.loginApiURL = exports.userApiURL + '/login';\r\n exports.registerApiURL = exports.userApiURL + '/register';\r\n exports.forgotPasswordURL = exports.userApiURL + \"/forgotPassword\";\r\n exports.confirmPasswordURL = exports.userApiURL + \"/confirmPassword\";\r\n exports.carApiURL = exports.DEV_URL + 'api/car';\r\n exports.buyerApiURL = exports.DEV_URL + 'api/buyer';\r\n exports.warrantyApiURL = exports.DEV_URL + 'api/warranty';\r\n exports.warrantyEditApiURL = exports.warrantyApiURL + '/edit';\r\n exports.warrantySaveOnlyApiURL = exports.warrantyApiURL + '/saveOnly';\r\n exports.warrantyEditOnlyApiURL = exports.warrantyApiURL + '/editOnly';\r\n exports.warrantyDeleteApiURL = exports.warrantyApiURL + '/delete';\r\n exports.adminTableDataURL = exports.DEV_URL + \"api/adminWarranty\";\r\n exports.adminArchiveTableDataURL = exports.DEV_URL + \"api/adminWarranty/archive\";\r\n exports.currentUserURL = exports.userApiURL + \"/data\";\r\n exports.carAdminApiURL = exports.DEV_URL + \"api/car/admin\";\r\n exports.carSellerApiURL = exports.DEV_URL + \"api/car/seller\";\r\n // damages\r\n exports.damageApiURL = exports.DEV_URL + \"api/damage\";\r\n exports.damageAdminApiURL = exports.DEV_URL + \"api/damage/admin\";\r\n exports.damageSellerApiURL = exports.DEV_URL + \"api/damage/seller\";\r\n exports.damageBuyerApiURL = exports.DEV_URL + \"api/damage/buyer\";\r\n exports.damageWarrantyApiURL = exports.DEV_URL + \"api/damage/warranty\";\r\n exports.damageSellerByAdminApiURL = exports.DEV_URL + \"api/damage/sellerByAdmin\";\r\n exports.damageCarApiURL = exports.DEV_URL + \"api/damage/car\";\r\n // seller\r\n exports.saveSeller = exports.DEV_URL + \"api/seller/CreateUpdateSellerAsync\";\r\n exports.activateSeller = exports.DEV_URL + \"api/seller/ActivateSellerAsync\";\r\n exports.deleteSeller = exports.DEV_URL + \"api/seller/DeleteSellerAsync\";\r\n exports.legalEntities = exports.DEV_URL + \"api/seller\";\r\n exports.sellerApiURL = exports.DEV_URL + \"api/seller\";\r\n exports.saveNoteForSellerApi = exports.DEV_URL + \"api/seller/UpdateSellerNote\";\r\n exports.submitSellerContract = exports.DEV_URL + \"api/seller/SubmitSellerContract\";\r\n exports.cancelSellerContract = exports.DEV_URL + \"api/seller/CancelSellerContract\";\r\n exports.deniedSellerContract = exports.DEV_URL + \"api/seller/DeniedSellerContract\";\r\n exports.sellerContractPdf = exports.DEV_URL + \"api/seller/sellerContractPdf\";\r\n //buyer\r\n exports.saveBuyerURL = exports.DEV_URL + \"api/buyer/CreateUpdateBuyer\";\r\n exports.deleteBuyerURL = exports.DEV_URL + \"api/buyer/Deletebuyer\";\r\n // confirmations\r\n exports.confirmDataURL = exports.userApiURL + \"/confirmdata\";\r\n exports.activateWarrantyApiURL = exports.warrantyApiURL + \"/activate-warranty\";\r\n exports.approvedWarrantiesApiURL = exports.buyerApiURL + \"/approved-warranties\";\r\n // statistics \r\n exports.allSoldWarranties = exports.statistics + \"/soldWarranties\";\r\n exports.allSoldWarrantiesCount = exports.statistics + \"/allSoldWarrantiesCount\";\r\n // pdf exports\r\n exports.exportApiURL = 'api/export';\r\n exports.instructionsToActivate = exports.exportApiURL + \"/uputstva-za-aktivaciju\";\r\n exports.warrantyPdf = exports.exportApiURL + \"/pravo-na-jamstvo\";\r\n //invoicing\r\n // preview warranty invoice before sending\r\n exports.invoicePdf = \"api/invoice/warranty-invoice\";\r\n exports.allInvoices = 'api/invoice/all';\r\n exports.lastInvoice = 'api/invoice/last';\r\n exports.currentInvoice = 'api/invoice/current';\r\n //currency\r\n exports.currencyApiURL = exports.DEV_URL + 'api/currency';\r\n});\r\n//# sourceMappingURL=apiRoutes.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Img\":\"navbar_Img__IKOgE\",\"Content\":\"navbar_Content__1AXXv\",\"Root\":\"navbar_Root__3MePK\",\"Drawer\":\"navbar_Drawer__3Ztbk\",\"Toolbar\":\"navbar_Toolbar__2dYE1\",\"Home\":\"navbar_Home__LDf_8\",\"MenuBar\":\"navbar_MenuBar__20chs\",\"DrawerClose\":\"navbar_DrawerClose__rcswY\",\"Logo\":\"navbar_Logo__1H2iX\",\"name\":\"navbar_name__1dMim\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ForgotPass\":\"publicForms_ForgotPass__XB5ag\",\"SubmitButton\":\"publicForms_SubmitButton__3XyUH\",\"PaperRoot\":\"publicForms_PaperRoot__DGlP2\",\"EmailDelivered\":\"publicForms_EmailDelivered__eP2Dr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"userData_Root__2aaPu\",\"Title\":\"userData_Title__O96vi\",\"ButtonContainer\":\"userData_ButtonContainer__3E0Mf\",\"GridContainer\":\"userData_GridContainer__1YF6i\",\"GridItem\":\"userData_GridItem__22-gS\",\"ButtonGrid\":\"userData_ButtonGrid__37fsC\",\"Button\":\"userData_Button__3xcqt\",\"ContactContainer\":\"userData_ContactContainer__PgPri\",\"ContactGrid\":\"userData_ContactGrid__3FUFl\",\"ContactP\":\"userData_ContactP__11hps\",\"NoMargin\":\"userData_NoMargin__1n_fd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"exportInvoiceForSeller_Root__3F7vq\",\"iframeContainer\":\"exportInvoiceForSeller_iframeContainer__1DAJr\",\"generateButton\":\"exportInvoiceForSeller_generateButton__35ZX8\",\"iframePlaceholder\":\"exportInvoiceForSeller_iframePlaceholder__2vmjy\",\"lastInvoice\":\"exportInvoiceForSeller_lastInvoice__18HN4\",\"Modal\":\"exportInvoiceForSeller_Modal__3SRtp\",\"RootModal\":\"exportInvoiceForSeller_RootModal__VPWCc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"stepper_Modal__31kG6\",\"Stepper\":\"stepper_Stepper__11Fqf\",\"StepperPagination\":\"stepper_StepperPagination__2pstc\",\"Content\":\"stepper_Content__2stvo\",\"MobileStepperPagination\":\"stepper_MobileStepperPagination__3Qb9R\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damagesBuyerTable_Root__2LRWi\",\"InfoButton\":\"damagesBuyerTable_InfoButton__2EP2d\",\"Approved\":\"damagesBuyerTable_Approved__3J4kW\",\"Declined\":\"damagesBuyerTable_Declined__1Pnf7\",\"Reported\":\"damagesBuyerTable_Reported__28vbf\",\"Edit\":\"damagesBuyerTable_Edit__4RW56\",\"View\":\"damagesBuyerTable_View__1XaAq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"exportSellerContract_Root__1dCKa\",\"iframeContainer\":\"exportSellerContract_iframeContainer__1vKiD\",\"generateButton\":\"exportSellerContract_generateButton__34pyX\",\"iframePlaceholder\":\"exportSellerContract_iframePlaceholder__1jOab\",\"lastInvoice\":\"exportSellerContract_lastInvoice__2Bq3d\",\"Modal\":\"exportSellerContract_Modal__M44hr\",\"RootModal\":\"exportSellerContract_RootModal__2W660\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"importCars_container__1Nck-\",\"formContainer\":\"importCars_formContainer__1Ogb4\",\"ListItem\":\"importCars_ListItem__2X4PV\",\"Select\":\"importCars_Select__9J7a7\",\"selectSeller\":\"importCars_selectSeller__1FzEh\",\"textarea\":\"importCars_textarea__6wEjI\",\"addOneMore\":\"importCars_addOneMore__1EpQC\",\"btnWrapper\":\"importCars_btnWrapper__V_1gO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"packageSelection_Root__TBFDX\",\"Title\":\"packageSelection_Title__3dpPO\",\"Selected\":\"packageSelection_Selected__lS43X\",\"Column\":\"packageSelection_Column__2BE7O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"carsAdminTable_Root__1iCEB\",\"InfoButton\":\"carsAdminTable_InfoButton__2gIXx\",\"Approved\":\"carsAdminTable_Approved__28r4d\",\"Declined\":\"carsAdminTable_Declined__3nTxk\",\"Reported\":\"carsAdminTable_Reported__1iQVt\",\"Edit\":\"carsAdminTable_Edit__2A7kV\",\"View\":\"carsAdminTable_View__1r7x5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"sellCarWithoutWarrantyModal_Button__1T1Kk\",\"Modal\":\"sellCarWithoutWarrantyModal_Modal__3xTn8\",\"RootModal\":\"sellCarWithoutWarrantyModal_RootModal__22aku\",\"Question\":\"sellCarWithoutWarrantyModal_Question__25b7R\",\"MainText\":\"sellCarWithoutWarrantyModal_MainText__h7GkE\",\"Text\":\"sellCarWithoutWarrantyModal_Text__2-FCT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"warrantyDurationModal_Button__21AkU\",\"Modal\":\"warrantyDurationModal_Modal__2i0yN\",\"RootModal\":\"warrantyDurationModal_RootModal__3YeMr\",\"Question\":\"warrantyDurationModal_Question__2M_tG\",\"MainText\":\"warrantyDurationModal_MainText__2UHYH\",\"Text\":\"warrantyDurationModal_Text__2g-UP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"NewDamageModal_Button__3NmpS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Control\":\"DropdownAutocomplete_Control__31Iou\",\"Menu\":\"DropdownAutocomplete_Menu__2KNJm\",\"Input\":\"DropdownAutocomplete_Input__1uxgx\",\"Placeholder\":\"DropdownAutocomplete_Placeholder__2IZNW\",\"Value\":\"DropdownAutocomplete_Value__3GkQo\",\"Container\":\"DropdownAutocomplete_Container__3itp3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Control\":\"DropdownAutocomplete_Control__3dB8D\",\"Menu\":\"DropdownAutocomplete_Menu__3RDsS\",\"Input\":\"DropdownAutocomplete_Input__1GuZh\",\"Placeholder\":\"DropdownAutocomplete_Placeholder__nFNBd\",\"Value\":\"DropdownAutocomplete_Value__34Jsc\",\"Container\":\"DropdownAutocomplete_Container__3Ze6x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Success\":\"actionNotification_Success__25zbm\",\"Error\":\"actionNotification_Error__1bdHn\",\"Info\":\"actionNotification_Info__39dtG\",\"Message\":\"actionNotification_Message__36gDS\",\"Icon\":\"actionNotification_Icon__1NXps\",\"Root\":\"actionNotification_Root__1hEe2\"};","module.exports = __webpack_public_path__ + \"static/media/total-sold.4036bce6.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"changeWarrantyDateModal_Modal__EWWbx\",\"RootModal\":\"changeWarrantyDateModal_RootModal__14Fr_\",\"Form\":\"changeWarrantyDateModal_Form__1kQ2n\",\"Button\":\"changeWarrantyDateModal_Button__3j446\",\"Date\":\"changeWarrantyDateModal_Date__1UcL7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"newSellerModal_Button__1jiYw\",\"Modal\":\"newSellerModal_Modal__3DQHM\",\"RootModal\":\"newSellerModal_RootModal__1XDA8\",\"Question\":\"newSellerModal_Question__2Cn7C\",\"MainText\":\"newSellerModal_MainText__di_fK\",\"Text\":\"newSellerModal_Text__9HC9D\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"warrantyTable_Root__24ERz\",\"Buyer\":\"warrantyTable_Buyer__1tpy4\",\"Available\":\"warrantyTable_Available__aV23G\",\"Sold\":\"warrantyTable_Sold__qqo0g\",\"Active\":\"warrantyTable_Active__3vQsl\",\"Approved\":\"warrantyTable_Approved__1Cs7H\",\"Declined\":\"warrantyTable_Declined__IxZIl\",\"InProcess\":\"warrantyTable_InProcess__KGUxy\",\"Inactive\":\"warrantyTable_Inactive__2sn78\",\"Submitted\":\"warrantyTable_Submitted__3Lp6h\",\"JustifyRight\":\"warrantyTable_JustifyRight__3kAoy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectSeller\":\"soldWarrantiesTable_selectSeller__kHd09\",\"search\":\"soldWarrantiesTable_search__1JKbV\",\"invoice\":\"soldWarrantiesTable_invoice__MuX-e\",\"warrantyDetailsTable\":\"soldWarrantiesTable_warrantyDetailsTable__D3Cxe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damagesAdminTable_Root__3kD7h\",\"InfoButton\":\"damagesAdminTable_InfoButton__3_5T9\",\"Approved\":\"damagesAdminTable_Approved__2lX7z\",\"Declined\":\"damagesAdminTable_Declined__DD6kL\",\"Reported\":\"damagesAdminTable_Reported__12qph\",\"Edit\":\"damagesAdminTable_Edit__e7aKe\",\"View\":\"damagesAdminTable_View__35zbt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damagesSellerByAdminTable_Root__UJZ50\",\"InfoButton\":\"damagesSellerByAdminTable_InfoButton__3Vf2Y\",\"Approved\":\"damagesSellerByAdminTable_Approved__15XmE\",\"Declined\":\"damagesSellerByAdminTable_Declined__3sJB2\",\"Reported\":\"damagesSellerByAdminTable_Reported__20xtY\",\"Edit\":\"damagesSellerByAdminTable_Edit__1JzI6\",\"View\":\"damagesSellerByAdminTable_View__3QUI3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damagesCarTable_Root__23gf3\",\"InfoButton\":\"damagesCarTable_InfoButton__2xfQP\",\"Approved\":\"damagesCarTable_Approved__wQIeN\",\"Declined\":\"damagesCarTable_Declined__3S8UM\",\"Reported\":\"damagesCarTable_Reported__1FVpX\",\"Edit\":\"damagesCarTable_Edit__VnT8F\",\"View\":\"damagesCarTable_View__QDXSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"adminSellersOverview_Root__1zI5z\",\"Accepted\":\"adminSellersOverview_Accepted__SKbgu\",\"Declined\":\"adminSellersOverview_Declined__2aKXR\",\"Icon\":\"adminSellersOverview_Icon__2Rs1B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"otherActiveSellersTable_Root__3fHm7\",\"Accepted\":\"otherActiveSellersTable_Accepted__3hqNG\",\"Declined\":\"otherActiveSellersTable_Declined__3CStI\",\"Icon\":\"otherActiveSellersTable_Icon__13XRp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"adminSellersUnactiveOverview_Root__1NwiJ\",\"Accepted\":\"adminSellersUnactiveOverview_Accepted__1H1f2\",\"Declined\":\"adminSellersUnactiveOverview_Declined__2dSL1\",\"Icon\":\"adminSellersUnactiveOverview_Icon__2rll9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"legal_Root__2hhIa\",\"TextField\":\"legal_TextField__3tvMQ\",\"Title\":\"legal_Title__3ZKSC\",\"Text\":\"legal_Text__2wmXi\",\"ButtonGrid\":\"legal_ButtonGrid__1kkj0\",\"Header\":\"legal_Header__1D60m\",\"FormControlLabel\":\"legal_FormControlLabel__1D3b3\",\"Layout\":\"legal_Layout__3fDoN\",\"Paragraph\":\"legal_Paragraph__17gcu\"};","module.exports = \"data:image/jpeg;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FormControl\":\"warrantyStatusForm_FormControl__1obpr\",\"container\":\"warrantyStatusForm_container__2mVVe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"sellerDashboard_Modal__18OPY\",\"Root\":\"sellerDashboard_Root__RxKFi\",\"buyerFormReadonly\":\"sellerDashboard_buyerFormReadonly__1l4ge\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Form\":\"missingCarDetailsForm_Form__QzWQ1\",\"ButtonGrid\":\"missingCarDetailsForm_ButtonGrid__2CyPa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"TOS_Root__1x2FQ\",\"TextField\":\"TOS_TextField__1iPGn\",\"Title\":\"TOS_Title__2m-xB\",\"Text\":\"TOS_Text__5rNmB\",\"ButtonGrid\":\"TOS_ButtonGrid__1rxTF\",\"FormControlLabel\":\"TOS_FormControlLabel__2r7GJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editorWrapper\":\"sellerNote_editorWrapper__39rYV\",\"editor\":\"sellerNote_editor__4upli\",\"GridButton\":\"sellerNote_GridButton__SXU5x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"buyerRegistrationForm_Root__BAp4F\",\"Form\":\"buyerRegistrationForm_Form__1rkX0\",\"OuterGrid\":\"buyerRegistrationForm_OuterGrid__3wN2A\",\"Grid\":\"buyerRegistrationForm_Grid__17cHX\",\"Button\":\"buyerRegistrationForm_Button__1S5bH\",\"BuyerInputs\":\"buyerRegistrationForm_BuyerInputs__208Rv\",\"Modal\":\"buyerRegistrationForm_Modal__3K3Bc\",\"RootModal\":\"buyerRegistrationForm_RootModal__1HExf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"changeBuyerModal_Modal__3_tH3\",\"RootModal\":\"changeBuyerModal_RootModal__314hz\",\"Form\":\"changeBuyerModal_Form__3ODfz\",\"Button\":\"changeBuyerModal_Button__2yxDV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"footer_footer__VgYT3\",\"links\":\"footer_links__2oxZ_\",\"footerLinks\":\"footer_footerLinks__2tNos\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"InputUpload\":\"fileUpload_InputUpload__bS9S6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damagesSellerTable_Root__1qwwe\",\"Approved\":\"damagesSellerTable_Approved__M7NEI\",\"Declined\":\"damagesSellerTable_Declined__12Cw5\",\"Reported\":\"damagesSellerTable_Reported__3lkgh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"invoicesTable_Root__ShjCR\",\"dropdown\":\"invoicesTable_dropdown__40-OI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"thisMonthTotalWarrantiesSold_card__17-AL\",\"details\":\"thisMonthTotalWarrantiesSold_details__3o2Mi\",\"content\":\"thisMonthTotalWarrantiesSold_content__HeXmz\",\"cover\":\"thisMonthTotalWarrantiesSold_cover__yz2js\",\"controls\":\"thisMonthTotalWarrantiesSold_controls__33x9b\",\"lastMonthSold\":\"thisMonthTotalWarrantiesSold_lastMonthSold__239GR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ListItem\":\"warrantyReview_ListItem__2BAbF\",\"Button\":\"warrantyReview_Button__WQtmR\",\"Title\":\"warrantyReview_Title__3exVE\",\"GridItem\":\"warrantyReview_GridItem__35VKV\",\"SaveButton\":\"warrantyReview_SaveButton__3Xlgx\",\"selectSeller\":\"warrantyReview_selectSeller__syZYo\",\"Modal\":\"warrantyReview_Modal__2oY21\",\"RootModal\":\"warrantyReview_RootModal__2__pM\",\"ChangeModalButton\":\"warrantyReview_ChangeModalButton__1SGOw\",\"MailButton\":\"warrantyReview_MailButton__30NIL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"sellerForm_Root__15cz-\",\"GridRoot\":\"sellerForm_GridRoot__DxCls\",\"GridItem\":\"sellerForm_GridItem__1wLEK\",\"GridButton\":\"sellerForm_GridButton__33nI2\",\"OdbioUgovorButton\":\"sellerForm_OdbioUgovorButton__1wYo7\",\"PrikaziUgovorButton\":\"sellerForm_PrikaziUgovorButton__UoZj1\",\"Select\":\"sellerForm_Select__19P8w\",\"Modal\":\"sellerForm_Modal__S0bgv\",\"RootModal\":\"sellerForm_RootModal__1SSkW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"MarginTop\":\"newCar_MarginTop__2fbc_\",\"TextValidator\":\"newCar_TextValidator__U7WPl\",\"TextValidatorFirst\":\"newCar_TextValidatorFirst__6w7RV\",\"Dropdown\":\"newCar_Dropdown__1wteb\",\"selectSeller\":\"newCar_selectSeller__zQY1c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileContainerWrapped\":\"photoUploadForm_fileContainerWrapped__35ndh\",\"chooseFileButtonWrapped\":\"photoUploadForm_chooseFileButtonWrapped__1ztFg\",\"uploadPictureContainer\":\"photoUploadForm_uploadPictureContainer__1VDRR\",\"uploadPicture\":\"photoUploadForm_uploadPicture__3bZyg\",\"deleteImage\":\"photoUploadForm_deleteImage__32F_W\",\"Root\":\"photoUploadForm_Root__1Kr84\",\"Center\":\"photoUploadForm_Center__3QvG3\",\"Gallery\":\"photoUploadForm_Gallery__1XWPE\",\"PhotoButtonHolder\":\"photoUploadForm_PhotoButtonHolder__2T07Y\",\"SaveButton\":\"photoUploadForm_SaveButton__NQ3BJ\"};","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n exports.__esModule = true;\r\n exports.DamageStatus = void 0;\r\n var DamageStatus;\r\n (function (DamageStatus) {\r\n DamageStatus[\"Approved\"] = \"Approved\";\r\n DamageStatus[\"Declined\"] = \"declined\";\r\n DamageStatus[\"Reported\"] = \"Reported\";\r\n DamageStatus[\"Solved\"] = \"Solved\";\r\n })(DamageStatus = exports.DamageStatus || (exports.DamageStatus = {}));\r\n});\r\n//# sourceMappingURL=DamageStatus.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Photo\":\"photoList_Photo__3gyCo\",\"GalleryContainer\":\"photoList_GalleryContainer__1ZvLv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"warrantyMailModal_Modal__1hS0x\",\"RootModal\":\"warrantyMailModal_RootModal__3Bv4B\",\"Form\":\"warrantyMailModal_Form__NPVFD\",\"Button\":\"warrantyMailModal_Button__2_-jB\",\"Text\":\"warrantyMailModal_Text__34-pK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"upgradeWarrantyPackageLayout_Root__HNiMX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"buyerForm_Root__Xt5oa\",\"Form\":\"buyerForm_Form__1TEvc\",\"OuterGrid\":\"buyerForm_OuterGrid__2ua2d\",\"Grid\":\"buyerForm_Grid__13b01\",\"Button\":\"buyerForm_Button__2yiTV\",\"BuyerInputs\":\"buyerForm_BuyerInputs__keqc3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"footerLink_link__3zVfo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Background\":\"background_Background__nauWS\",\"login\":\"background_login__yhvgD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"appLoading_Root__32fPy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"publicForms_Root__36zEs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"adminArchiveWarrantyTable_Root__OK7S9\",\"Available\":\"adminArchiveWarrantyTable_Available__1H0Tp\",\"Sold\":\"adminArchiveWarrantyTable_Sold__OENV-\",\"Active\":\"adminArchiveWarrantyTable_Active__zehn9\",\"Approved\":\"adminArchiveWarrantyTable_Approved__25gnA\",\"Declined\":\"adminArchiveWarrantyTable_Declined__3SBp2\",\"InProcess\":\"adminArchiveWarrantyTable_InProcess__1bVj5\",\"Inactive\":\"adminArchiveWarrantyTable_Inactive__zwDLG\",\"Submitted\":\"adminArchiveWarrantyTable_Submitted__3U3Hl\",\"Modal\":\"adminArchiveWarrantyTable_Modal__UfzqY\",\"buyerFormReadonly\":\"adminArchiveWarrantyTable_buyerFormReadonly__2zzJ_\",\"RootModal\":\"adminArchiveWarrantyTable_RootModal__2mxuR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"sendMailBuyerModal_Modal__19Ypk\",\"RootModal\":\"sendMailBuyerModal_RootModal__2CnsB\",\"Form\":\"sendMailBuyerModal_Form__3nk_M\",\"Button\":\"sendMailBuyerModal_Button__34zQN\",\"Text\":\"sendMailBuyerModal_Text__r79ER\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"PublicBackground\":\"routes_PublicBackground__3BYUE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Layout\":\"firstLoginDashboard_Layout__1tH6v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"adminBuyersOverview_Root__YsmM7\",\"Accepted\":\"adminBuyersOverview_Accepted__2PF1U\",\"Declined\":\"adminBuyersOverview_Declined__SOMnD\",\"Icon\":\"adminBuyersOverview_Icon__j_eQ6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"marketingSellersTable_Root__1ckek\",\"Accepted\":\"marketingSellersTable_Accepted__15kZ0\",\"Declined\":\"marketingSellersTable_Declined__2iARi\",\"Icon\":\"marketingSellersTable_Icon__1auwd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"statisticsMarketingWarrantiesTable_Root__2O_BD\",\"InfoButton\":\"statisticsMarketingWarrantiesTable_InfoButton__1HA2u\",\"Approved\":\"statisticsMarketingWarrantiesTable_Approved__1Q0ST\",\"Declined\":\"statisticsMarketingWarrantiesTable_Declined__1QlFh\",\"Reported\":\"statisticsMarketingWarrantiesTable_Reported__2CfHC\",\"Edit\":\"statisticsMarketingWarrantiesTable_Edit__sHg81\",\"View\":\"statisticsMarketingWarrantiesTable_View__6FAhw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"statisticsWarrantiesTable_Root__3CeGm\",\"InfoButton\":\"statisticsWarrantiesTable_InfoButton__2vWNz\",\"Approved\":\"statisticsWarrantiesTable_Approved__2RaYx\",\"Declined\":\"statisticsWarrantiesTable_Declined__2cfGD\",\"Reported\":\"statisticsWarrantiesTable_Reported__3hu5P\",\"Edit\":\"statisticsWarrantiesTable_Edit__fgV6K\",\"View\":\"statisticsWarrantiesTable_View__10bXU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"damageForm_Root__35kVj\",\"Button\":\"damageForm_Button__1y5ZH\",\"Error\":\"damageForm_Error__2OTng\",\"FormControl\":\"damageForm_FormControl__3oDyW\",\"MarginTop\":\"damageForm_MarginTop__1SEZr\",\"CenterButton\":\"damageForm_CenterButton__13UGu\",\"Text\":\"damageForm_Text__3GTIw\",\"Modal\":\"damageForm_Modal__21TYQ\",\"RootModal\":\"damageForm_RootModal__XbiOj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"buyerEmailModal_Modal__39hqJ\",\"RootModal\":\"buyerEmailModal_RootModal__hkByk\",\"Form\":\"buyerEmailModal_Form__1kEYC\",\"Button\":\"buyerEmailModal_Button__2wZVP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"adminTable_Root__2xZ1_\",\"Available\":\"adminTable_Available__2q2eL\",\"Sold\":\"adminTable_Sold__1pLeK\",\"Active\":\"adminTable_Active__2BYA3\",\"Approved\":\"adminTable_Approved__2O_BQ\",\"Declined\":\"adminTable_Declined__3G01m\",\"InProcess\":\"adminTable_InProcess__29qrA\",\"Inactive\":\"adminTable_Inactive__1DFrN\",\"Submitted\":\"adminTable_Submitted__4w76-\",\"Modal\":\"adminTable_Modal__3J7lf\",\"buyerFormReadonly\":\"adminTable_buyerFormReadonly__2Mt5w\",\"RootModal\":\"adminTable_RootModal__2IZOv\"};","\r\nimport qs from 'qs';\r\nimport { injectable } from 'inversify';\r\nimport IStateInitializer from './IStateInitializer';\r\nimport { IApplicationProps } from '../types/IApplicationProps';\r\n\r\n@injectable()\r\nexport default class StateInitializer implements IStateInitializer {\r\n public init(): IApplicationProps {\r\n var queryParameters = qs.parse(window.location.search.slice(1)); // remove '?' from query string before parsing\r\n\r\n const queryProps = (\r\n ({client_id, provider_id, config_id}) => {\r\n // probably not the best way to check?\r\n if (/^\\d+$/.test(provider_id)) {\r\n provider_id = parseInt(provider_id);\r\n } else {\r\n provider_id = undefined;\r\n }\r\n\r\n return {\r\n clientId: client_id,\r\n providerId: provider_id,\r\n configId: config_id\r\n };\r\n }\r\n )(queryParameters);\r\n\r\n return {\r\n ...queryProps,\r\n language: this.getLocale(),\r\n };\r\n }\r\n\r\n private getLocale(): string {\r\n return navigator.languages ? navigator.languages[0] : navigator.language;\r\n }\r\n};","import { SagaIterator } from '@redux-saga/core';\r\nimport { apply, put, getContext } from '@redux-saga/core/effects';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport InitStateSuccessAction from '../actions/InitStateSuccessAction';\r\nimport { Container } from 'inversify';\r\nimport StateInitializer from '../../utils/StateInitializer';\r\nimport IStateInitializer from '../../utils/IStateInitializer';\r\nimport { IApplicationProps } from '../../types/IApplicationProps';\r\nimport { SimpleApplicationAction } from '../actions/ApplicationAction';\r\nimport { replace, RouterAction } from 'react-router-redux';\r\n\r\nexport function* initStateFromQueryString(_: SimpleApplicationAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const stateInitializer = container.get(StateInitializer);\r\n\r\n const application: IApplicationProps = (yield apply(stateInitializer, stateInitializer.init, []));\r\n\r\n if (!application.clientId) {\r\n yield put({\r\n type: ActionTypes.INIT_STATE_ERROR,\r\n });\r\n\r\n return;\r\n }\r\n\r\n yield put({\r\n type: ActionTypes.INIT_STATE_SUCCESS,\r\n payload: application,\r\n });\r\n\r\n yield put(replace({pathname: window.location.pathname, search: ''}, window.history.state));\r\n window.history.replaceState(window.history.state, document.title, window.location.pathname);\r\n}","import { SagaIterator } from '@redux-saga/core';\r\nimport { put } from '@redux-saga/core/effects';\r\nimport { push, RouterAction } from 'react-router-redux';\r\nimport GoToPageAction from '../actions/GoToPageAction';\r\n\r\nexport default function* goToPage(action: GoToPageAction): SagaIterator {\r\n yield put(push(action.payload.url));\r\n}","export enum Roles {\r\n Admin = 'Admin', Seller = 'Seller', Buyer = 'Buyer', Marketing = 'Marketing', SuperAdmin = 'SuperAdmin'\r\n}\r\n","const ThirdPartyTypes = {\r\n Axios: Symbol.for('AxiosInstance')\r\n};\r\n\r\nexport default ThirdPartyTypes;","export const roleProp = 'http://schemas.microsoft.com/ws/2008/06/identity/claims/role';\r\nexport const HAKRedirectURL = 'https://g1klub.hr/';","import jwt_decode from 'jwt-decode';\r\nimport { Roles } from '../domain/enums/Roles';\r\nimport { roleProp } from './../constants/RoleConstants';\r\n\r\nexport function isAdmin() {\r\n return getUserRole() === Roles.Admin;\r\n}\r\n\r\nexport function isSuperAdmin() {\r\n return getUserRole() === Roles.SuperAdmin;\r\n}\r\n\r\nexport function isBuyer() {\r\n return getUserRole() === Roles.Buyer;\r\n}\r\n\r\nexport function isSeller() {\r\n return getUserRole() === Roles.Seller;\r\n}\r\n\r\nexport function isMarketing() {\r\n return getUserRole() === Roles.Marketing;\r\n}\r\n\r\nexport function getToken(): string | null {\r\n let user: any = localStorage.getItem('user');\r\n if (user) {\r\n user = JSON.parse(user);\r\n if (user.token) return user.token;\r\n }\r\n return null;\r\n}\r\n\r\nexport function isAuthenticated(): boolean {\r\n return getToken() !== null;\r\n}\r\n\r\nexport function isTokenExpired(token: string): boolean {\r\n const expiration = (jwt_decode(token) as any).exp;\r\n return expiration < Date.now() / 1000;\r\n}\r\n\r\nexport function getUserRole() {\r\n const token = getToken();\r\n if (!token) return null;\r\n var payload: any = jwt_decode(token);\r\n var role = payload[roleProp]\r\n return role;\r\n}","export enum NotificationStyle {\r\n Info = \"Info\", Error = \"Error\", Success = \"Success\"\r\n}","import IUserService from \"./IUserService\";\r\nimport { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from \"../../di/ThirdPartyTypes\";\r\nimport { AxiosInstance } from 'axios';\r\nimport IUser from \"../../types/IUser\";\r\nimport { loginApiURL, registerApiURL, forgotPasswordURL, confirmPasswordURL, currentUserURL, confirmDataURL } from './../../constants/apiRoutes';\r\nimport { IAuthenticationProps } from \"../../types/IAuthenticationProps\";\r\nimport { IForgotPassword } from \"../../types/IForgotPassword\";\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport { getUserRole } from \"../../utils/AuthFunctions\";\r\n\r\n@injectable()\r\nexport default class UserService implements IUserService {\r\n\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async login(data: IAuthenticationProps): Promise {\r\n const response = await this.apiClient.post(loginApiURL, data);\r\n this.saveToken(response.data);\r\n return response.data;\r\n }\r\n\r\n public async register(data: IAuthenticationProps): Promise {\r\n const response = await this.apiClient.post(registerApiURL, data);\r\n return response.data;\r\n }\r\n\r\n public async confirmData(data: IAuthenticationProps): Promise {\r\n const response = await this.apiClient.post(confirmDataURL, data);\r\n return response.data;\r\n }\r\n\r\n public saveToken(data: IUser): void {\r\n localStorage.setItem('user', JSON.stringify(data));\r\n }\r\n\r\n public async getCurrentUser(): Promise {\r\n const response = await this.apiClient.get(currentUserURL);\r\n return response.data;\r\n }\r\n\r\n public logout() {\r\n localStorage.setItem('user', '');\r\n }\r\n\r\n public async forgotPasswordRequest(email: string): Promise {\r\n const response = await this.apiClient.post(forgotPasswordURL, { email: email });\r\n return response.data;\r\n }\r\n\r\n public async confirmPassword(data: IForgotPassword): Promise {\r\n const response = await this.apiClient.post(confirmPasswordURL, data);\r\n return response.data;\r\n }\r\n\r\n public isHakRole(): boolean {\r\n return getUserRole() === 'HAK';\r\n }\r\n}","import IBuyerService from \"./IBuyerService\";\r\nimport { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from \"../../di/ThirdPartyTypes\";\r\nimport { AxiosInstance } from 'axios';\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport { buyerApiURL, activateWarrantyApiURL, approvedWarrantiesApiURL, saveBuyerURL, deleteBuyerURL } from \"../../constants/apiRoutes\";\r\nimport IActivateWarranty from \"../../types/IActivateWarranty\";\r\nimport IWarranty from \"../../types/IWarranty\";\r\n\r\n@injectable()\r\nexport default class BuyerService implements IBuyerService {\r\n\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getAll(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + \"/all\" + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getBuyersAdminTotalCount(): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + '/buyersAdminTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async activateWarranty(data: IActivateWarranty) : Promise {\r\n const response = await this.apiClient.post(activateWarrantyApiURL+\"/\"+data.email+\"/\"+data.warrantyId);\r\n return response.data;\r\n }\r\n\r\n public async getApprovedWarranties(email: string) : Promise {\r\n const response = await this.apiClient.get(approvedWarrantiesApiURL +\"/\"+email);\r\n return response.data;\r\n }\r\n\r\n public async getBuyerById(buyerId: string): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + '/buyerId/' + buyerId);\r\n return response.data;\r\n }\r\n\r\n public async saveBuyer(buyer: IBuyerProps): Promise {\r\n const response = await this.apiClient.post(saveBuyerURL, buyer)\r\n return response.data;\r\n }\r\n\r\n public async deleteBuyer(buyer: IBuyerProps): Promise {\r\n const response = await this.apiClient.post(deleteBuyerURL, buyer)\r\n return response.data;\r\n }\r\n\r\n public async activateBuyer(buyer: IBuyerProps): Promise {\r\n const response = await this.apiClient.post(buyerApiURL + '/activateBuyer', buyer)\r\n return response.data;\r\n }\r\n\r\n public async sendActivationEmail(email: string): Promise {\r\n const response = await this.apiClient.post(buyerApiURL + \"/sendActivationEmail/\" + email)\r\n return response.data;\r\n }\r\n\r\n public async getLegalBuyers(): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + \"/legalBuyers\");\r\n return response.data;\r\n }\r\n}","import { CurrentUserAction, ConfirmData } from './../actions/UserAction';\r\nimport { LoginSubmitAction } from '../actions/LoginAction';\r\nimport { SagaIterator } from '@redux-saga/core';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport IUserService from '../../domain/services/IUserService';\r\nimport UserService from '../../domain/services/UserService';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport { RegisterSubmitAction } from './../actions/RegisterAction';\r\nimport { EmailSubmitAction, ConfirmPasswordAction } from '../actions/ForgotPasswordAction';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\nimport IBuyerService from '../../domain/services/IBuyerService';\r\nimport BuyerService from '../../domain/services/BuyerService';\r\nimport { isBuyer } from '../../utils/AuthFunctions';\r\nimport { HAKRedirectURL } from '../../constants/RoleConstants';\r\nimport ReactGA from 'react-ga';\r\n\r\nexport function* userLogin(action: LoginSubmitAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n const userResponse = yield apply(userService, userService.login, [action.payload]);\r\n const buyerResponse = yield apply(buyerService, buyerService.getApprovedWarranties, [action.payload.email]);\r\n const warrantyId = buyerResponse.length > 0 ? buyerResponse[0].warrantyId : undefined;\r\n const activateUrl = 'activate-warranty/' + action.payload.email + '/' + warrantyId;\r\n const isHakRole = yield apply(userService, userService.isHakRole, []);\r\n if (isHakRole) window.location.href = HAKRedirectURL;\r\n else {\r\n yield put({ type: ActionTypes.LOGIN_SUCCESS, payload: userResponse });\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: userResponse.activated ? warrantyId ? activateUrl : '' : '/first_login' } })\r\n ReactGA.event({\r\n category: 'App',\r\n action: 'Login',\r\n label: action.payload.email.split('@')[1]\r\n });\r\n }\r\n } catch (err) {\r\n yield put({ type: ActionTypes.LOGIN_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* userRegister(action: RegisterSubmitAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n try {\r\n const response = yield apply(userService, userService.register, [action.payload]);\r\n yield put({ type: ActionTypes.REGISTER_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.LOGIN_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* forgotPasswordRequest(action: EmailSubmitAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(userService, userService.forgotPasswordRequest, [action.payload]);\r\n yield put({ type: ActionTypes.EMAIL_SUBMIT_SUCCESS, payload: response });\r\n ReactGA.event({\r\n category: 'App',\r\n action: 'Forgot password',\r\n label: action.payload\r\n });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Slanje email-a nije uspjelo',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({ type: ActionTypes.EMAIL_SUBMIT_ERROR, payload: err })\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* confirmPassword(action: ConfirmPasswordAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(userService, userService.confirmPassword, [action.payload]);\r\n yield put({ type: ActionTypes.PASSWORD_CONFIRM_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Lozinka je uspješno ažurirana.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(3000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Lozinka je uspješno ažurirana.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/login' } });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Ažuriranje lozinke nije uspjelo',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({ type: ActionTypes.PASSWORD_CONFIRM_ERROR, payload: err })\r\n }\r\n}\r\nexport function* currentUser(action: CurrentUserAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(userService, userService.getCurrentUser, []);\r\n yield put({ type: ActionTypes.GET_CURRENT_USER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CURRENT_USER_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* confirmData(action: ConfirmData): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const userService = container.get(UserService);\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(userService, userService.confirmData, [action.payload]);\r\n const buyerResponse = yield apply(buyerService, buyerService.getApprovedWarranties, [action.payload.email]);\r\n const warrantyId = buyerResponse.length > 0 ? buyerResponse[0].warrantyId : undefined;\r\n const activateUrl = 'activate-warranty/' + action.payload.email + '/' + warrantyId;\r\n yield put({ type: ActionTypes.CONFIRM_DATA_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Podaci su uspješno potvrđeni.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Podaci su uspješno potvrđeni.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: warrantyId ? activateUrl : '/' } });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CONFIRM_DATA_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Podaci nisu potvrđeni.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n","\r\nimport { injectable, inject } from 'inversify';\r\nimport { AxiosInstance } from 'axios';\r\nimport IWaranntyService from './IWarrantyService';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { warrantyApiURL, warrantyEditApiURL, warrantyDeleteApiURL, warrantyEditOnlyApiURL, warrantySaveOnlyApiURL } from '../../constants/apiRoutes';\r\nimport UserService from './UserService';\r\nimport IWarrantyOverview from '../../types/IWarrantyOverview';\r\nimport { IWarrantyBuyer } from '../../types/IWarrantyBuyer';\r\nimport ICarReview from \"../../types/ICarReview\";\r\nimport IWarrantyStatus from '../../types/IStatus';\r\nimport IActivateWarranty from '../../types/IActivateWarranty';\r\n\r\n@injectable()\r\nexport default class WarrantyService implements IWaranntyService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n @inject(UserService)\r\n private userService!: UserService;\r\n\r\n public async saveWarranty(data: IWarranty): Promise {\r\n const apiUrl = data.carId ? warrantyEditApiURL : warrantyApiURL;\r\n const response = await this.apiClient.post(apiUrl, data)\r\n\r\n return response.data;\r\n }\r\n\r\n public async saveWarrantyOnly(data: IWarranty): Promise {\r\n const apiUrl = (data.id && data.carData && !data.carData.newWarranty) ? warrantyEditOnlyApiURL : warrantySaveOnlyApiURL;\r\n const response = await this.apiClient.post(apiUrl, data)\r\n\r\n return response.data;\r\n }\r\n\r\n public async deleteWarranty(data: IWarranty): Promise {\r\n const apiUrl = data.id ? warrantyDeleteApiURL : warrantyApiURL;\r\n const response = await this.apiClient.post(apiUrl, data)\r\n\r\n return response.data;\r\n }\r\n\r\n public async changeSeller(data: IWarranty): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + '/changeSeller', data)\r\n\r\n return response.data;\r\n }\r\n\r\n public async changeBuyer(data: IWarrantyBuyer): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + '/changeBuyer', data)\r\n\r\n return response.data;\r\n }\r\n\r\n public async getWarranties(): Promise {\r\n const response = await this.apiClient.get(warrantyApiURL)\r\n return response.data;\r\n }\r\n\r\n \r\n public async getStatuses(): Promise {\r\n const response = await this.apiClient.get(warrantyApiURL + '/statuses');\r\n return response.data;\r\n }\r\n\r\n public async updateWarranty(data: IWarranty): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + '/edit/status', data);\r\n return response.data;\r\n }\r\n\r\n public async getWarranty(id: number): Promise {\r\n const response = await this.apiClient.get(warrantyApiURL + '/' + id);\r\n return response.data;\r\n }\r\n\r\n public async getWarrantyForContract(data: IActivateWarranty): Promise {\r\n const response = await this.apiClient.get(warrantyApiURL + \"/contract/\" + data.email + \"/\" + data.warrantyId);\r\n return response.data;\r\n }\r\n\r\n public async changeValidDate(warrantyId: string, validFrom: string, validUntil: string): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + \"/changeValidDate/\" + warrantyId + \"/\" + validFrom + \"/\" + validUntil);\r\n return response.data;\r\n }\r\n\r\n public async sendWarrantyEmail(warrantyId: string): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + \"/sendWarrantyEmail/\" + warrantyId);\r\n return response.data;\r\n }\r\n\r\n public async changeWarrantyDuration(data: IWarranty): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + '/changeWarrantyDuration', data)\r\n\r\n return response.data;\r\n }\r\n\r\n}","import {\r\n SaveWarrantyAction, SaveWarrantyOnlyAction, DeleteWarrantyAction, GetWarrantiesAction, UpdateWarrantyStatusAction,\r\n GetContractWarrantyAction, ChangeValidDateAction, SendWarrantyEmailAction, ChangeSellerAction, ChangeBuyerAction,\r\n ChangeWarrantyDurationAction\r\n} from \"../actions/WarrantyAction\";\r\nimport { SagaIterator } from '@redux-saga/core';\r\nimport { all } from \"@redux-saga/core/effects\";\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport IWarrantyService from '../../domain/services/IWarrantyService';\r\nimport WarrantyService from '../../domain/services/WarrantyService';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport { GetWarrantyStatusesDataAction, GetWarrantyAction } from './../actions/WarrantyAction';\r\nimport IWarranty from \"../../types/IWarranty\";\r\nimport { NotificationStyle } from \"../../domain/enums/NotificationStyle\";\r\nimport ReactGA from 'react-ga';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\n\r\nexport function* saveWarrantyData(action: SaveWarrantyAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const saveWarrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(saveWarrantyApi, saveWarrantyApi.saveWarranty, [action.payload])\r\n yield put({ type: ActionTypes.SAVE_WARRANTY_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo je uspješno spremljeno. ' + response,\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({ type: ActionTypes.GET_WARRANTY })\r\n yield delay(2000);\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n // Clear redux\r\n yield put({ type: ActionTypes.SAVE_PHOTOS })\r\n yield put({ type: ActionTypes.POST_CAR_DATA })\r\n yield put({ type: ActionTypes.SAVE_PACKAGE })\r\n yield put({ type: ActionTypes.SAVE_EXTRA_PACKAGE })\r\n\r\n ReactGA.event({\r\n category: 'Trgovac',\r\n action: 'Spremanje novog jamstva',\r\n });\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_WARRANTY_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom spremanja jamstva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* saveWarrantyOnly(action: SaveWarrantyOnlyAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const saveWarrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(saveWarrantyApi, saveWarrantyApi.saveWarrantyOnly, [action.payload])\r\n yield put({ type: ActionTypes.SAVE_WARRANTY_ONLY_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo je uspješno spremljeno. ' + response,\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({ type: ActionTypes.GET_WARRANTY })\r\n yield delay(2000);\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n // Clear redux\r\n yield put({ type: ActionTypes.SAVE_PHOTOS })\r\n\r\n ReactGA.event({\r\n category: 'Trgovac',\r\n action: 'Spremanje novog jamstva',\r\n });\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_WARRANTY_ONLY_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom spremanja jamstva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* deleteWarrantyData(action: DeleteWarrantyAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const deleteWarrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(deleteWarrantyApi, deleteWarrantyApi.deleteWarranty, [action.payload]);\r\n yield put({ type: ActionTypes.DELETE_WARRANTY_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo je uspješno obrisano.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({ type: ActionTypes.GET_WARRANTY })\r\n // Clear redux\r\n yield put({ type: ActionTypes.SAVE_PHOTOS })\r\n yield put({ type: ActionTypes.SAVE_PACKAGE })\r\n yield put({ type: ActionTypes.SAVE_EXTRA_PACKAGE })\r\n yield delay(2000);\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DELETE_WARRANTY_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom brisanja jamstva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* changeSeller(action: ChangeSellerAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.changeSeller, [action.payload]);\r\n yield put({ type: ActionTypes.CHANGE_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Trgovac je uspješno promijenjen.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n // Clear redux\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CHANGE_SELLER_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom promjene trgovca.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* changeBuyer(action: ChangeBuyerAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.changeBuyer, [action.payload]);\r\n yield put({ type: ActionTypes.CHANGE_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac je uspješno promijenjen.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n // Clear redux\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CHANGE_BUYER_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom promjene kupca.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getWarrantyData(action: GetWarrantiesAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getWarrantyApi = container.get(WarrantyService);\r\n try {\r\n const response: IWarranty = yield apply(getWarrantyApi, getWarrantyApi.getWarranties, [])\r\n yield put({ type: ActionTypes.GET_WARRANTIES_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTIES_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getWarrantyStatuses(action: GetWarrantyStatusesDataAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getWarrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(getWarrantyApi, getWarrantyApi.getStatuses, []);\r\n yield put({ type: ActionTypes.GET_WARRANTY_STATUSES_SUCCESS, payload: response })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({ type: ActionTypes.GET_WARRANTY_STATUSES_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* updateWarrantyStatus(action: UpdateWarrantyStatusAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getWarrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(getWarrantyApi, getWarrantyApi.updateWarranty, [action.payload]);\r\n yield put({ type: ActionTypes.UPDATE_WARRANTY_STATUS_SUCCESS, payload: response })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo je uspješno ažurirano.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: {\r\n url: '/jamstva'\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GET_WARRANTY, payload: action.payload.id\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({ type: ActionTypes.UPDATE_WARRANTY_STATUS_ERROR, payload: err })\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo nije uspješno ažurirano.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Jamstvo nije uspješno ažurirano.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* getWarrantyForContract(action: GetContractWarrantyAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getWarrantyApi = container.get(WarrantyService);\r\n try {\r\n const response: IWarranty = yield apply(getWarrantyApi, getWarrantyApi.getWarrantyForContract, [action.payload]);\r\n yield put({ type: ActionTypes.GET_WARRANTY_FOR_CONTRACT_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_FOR_CONTRACT_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getWarranty(action: GetWarrantyAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getWarrantyApi = container.get(WarrantyService);\r\n try {\r\n // if there is no payload then user is creating new warranty.\r\n if (!action.payload) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_SUCCESS, payload: null })\r\n yield put({ type: ActionTypes.POST_CAR_DATA, payload: null })\r\n yield put({ type: ActionTypes.SAVE_PACKAGE })\r\n }\r\n else {\r\n const response: IWarranty = yield apply(getWarrantyApi, getWarrantyApi.getWarranty, [action.payload]);\r\n yield put({ type: ActionTypes.GET_WARRANTY_SUCCESS, payload: response })\r\n let carData = response.carData!;\r\n carData.carId = response.carId;\r\n let packageData = { id: response!.allSelectedPackagesIds!.package!.id };\r\n let extraPackageData = response.allSelectedPackagesIds!.extraPackages;\r\n yield put({ type: ActionTypes.CLEAR_SELECTED_EXTRA_PACKAGES })\r\n\r\n yield put({ type: ActionTypes.GET_EXTRA_PACKAGES, payload: response.carData! });\r\n\r\n if (extraPackageData && extraPackageData.length > 0) {\r\n for (let i = 0; i < extraPackageData.length; i++) {\r\n yield put({ type: ActionTypes.SAVE_EXTRA_PACKAGE, payload: extraPackageData[i] })\r\n }\r\n }\r\n yield all([\r\n // If warranty is successfully fetched update redux with all data\r\n put({ type: ActionTypes.GET_PACKAGES, payload: response.carData! }),\r\n //yield put({ type: ActionTypes.SAVE_PACKAGE, payload: { id: response.packageId } })\r\n put({ type: ActionTypes.POST_CAR_DATA, payload: carData }),\r\n put({ type: ActionTypes.SAVE_PACKAGE, payload: packageData }),\r\n put({ type: ActionTypes.GET_CAR_MODELS, payload: carData.brandId })\r\n ])\r\n\r\n }\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_ERROR, payload: err })\r\n } finally {\r\n // if changing from empty form to filled form, redux photos should be empty\r\n yield put({ type: ActionTypes.SAVE_PHOTOS, payload: {} })\r\n }\r\n}\r\n\r\nexport function* changeValidDate(action: ChangeValidDateAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.changeValidDate, [action.payload.warrantyId, action.payload.validFrom, action.payload.validUntil]);\r\n yield put({ type: ActionTypes.CHANGE_VALID_DATE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Datumi su uspješno promijenjeni.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: {\r\n url: '/jamstva'\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Datumi su uspješno promijenjeni.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CHANGE_VALID_DATE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Datumi nisu uspješno promijenjeni.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Datumi nisu uspješno promijenjeni.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* sendWarrantyEmail(action: SendWarrantyEmailAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.sendWarrantyEmail, [action.payload.warrantyId]);\r\n yield put({ type: ActionTypes.SEND_WARRANTY_EMAIL_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Email uspješno poslan.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Email uspješno poslan.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SEND_WARRANTY_EMAIL_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Email nije poslan.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Email nije poslan.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n\r\n \r\n}\r\n\r\nexport function* changeWarrantyDuration(action: ChangeWarrantyDurationAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(WarrantyService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.changeWarrantyDuration, [action.payload]);\r\n yield put({ type: ActionTypes.CHANGE_WARRANTY_DURATION_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Uspješno promijenjeno trajanje jamstva.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n // Clear redux\r\n if ((!isAdmin() && !isSuperAdmin())) {\r\n // if seller go to overview page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/overview' } })\r\n } else {\r\n // if admin is submitting go to jamstva page\r\n yield put({ type: ActionTypes.GO_TO_PAGE, payload: { url: '/jamstva' } })\r\n }\r\n\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CHANGE_WARRANTY_DURATION_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Došlo je do pogreške prilikom promjene trajanja jamstva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","\r\nimport { injectable, inject } from 'inversify';\r\nimport IPackageService from './IPackageService';\r\nimport ThirdPartyTypes from '../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport { warrantyApiURL } from '../../constants/apiRoutes';\r\nimport ICarProps from '../../types/ICarProps';\r\n\r\n@injectable()\r\nexport default class PackageService implements IPackageService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getPackagesByEngineDisplacement(car: ICarProps): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + \"/packages/\", car);\r\n return response.data;\r\n }\r\n \r\n public async getExtraPackagesByEngineDisplacement(car: ICarProps): Promise {\r\n const response = await this.apiClient.post(warrantyApiURL + \"/extra-packages/\", car);\r\n return response.data;\r\n }\r\n\r\n public async upgradeWarrantyPackage(packageId: number, extraPackages: number[], warrantyId: number): Promise<{packageId: number, extraPackages: number[], warrantyId: number}> {\r\n const response = await this.apiClient.post<{packageId: number, extraPackages: number[], warrantyId: number}>(warrantyApiURL + \"/UpdatePackagesForWarranty/\", {WarrantyId: warrantyId, ExtraPackages: extraPackages, PackageId: packageId});\r\n return response.data;\r\n } \r\n}","import { SagaIterator } from '@redux-saga/core';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put } from '@redux-saga/core/effects';\r\nimport IPackageService from '../../domain/services/IPackageService';\r\nimport PackageService from '../../domain/services/PackageService';\r\nimport { GetPackagesAction, UpgradeWarrantyPackageAction } from '../actions/PackagesAction';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport ReactGA from 'react-ga';\r\n\r\nexport function* getPackages(action: GetPackagesAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const packagesApi = container.get(PackageService);\r\n try {\r\n const response = yield apply(packagesApi, packagesApi.getPackagesByEngineDisplacement, [action.payload]);\r\n yield put({ type: ActionTypes.GET_PACKAGES_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_PACKAGES_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getExtraPackages(action: GetPackagesAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const packagesApi = container.get(PackageService);\r\n try {\r\n const response = yield apply(packagesApi, packagesApi.getExtraPackagesByEngineDisplacement, [action.payload]);\r\n yield put({ type: ActionTypes.GET_EXTRA_PACKAGES_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_EXTRA_PACKAGES_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* upgradeWarrantyPackage(action: UpgradeWarrantyPackageAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const packagesApi = container.get(PackageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(packagesApi, packagesApi.upgradeWarrantyPackage, [action.payload.packageId, action.payload.extraPackages, action.payload.warrantyId]);\r\n yield put({ type: ActionTypes.UPGRADE_WARRANTY_PACKGAGE_SUCCESS, payload: response })\r\n location.reload();\r\n yield put({ type: ActionTypes.LOADING_END });\r\n ReactGA.event({\r\n category: 'Trgovac',\r\n action: 'Trgovac je dodao jos ekstra polica',\r\n label: action.payload.extraPackages.length.toString()\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.UPGRADE_WARRANTY_PACKGAGE_ERROR, payload: err })\r\n yield put({ type: ActionTypes.LOADING_END });\r\n\r\n }\r\n\r\n}","import { injectable, inject } from 'inversify';\r\nimport { AxiosInstance } from 'axios';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { adminTableDataURL, adminArchiveTableDataURL } from '../../constants/apiRoutes';\r\nimport IAdminAttrs from '../../types/IAdminAttrs';\r\nimport IAdminTableServices from './IAdminTableService';\r\n\r\n@injectable()\r\nexport default class AdminTableService implements IAdminTableServices {\r\n\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n \r\n public async getAdminTableData(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters)\r\n return response.data;\r\n }\r\n\r\n public async getWarrantyAdminTableTotalCount(): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/warrantyAdminTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getAdminTableForBuyerData(email: string): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/GetAllForBuyer/' + email)\r\n return response.data;\r\n }\r\n\r\n public async getWarrantyAdminBuyerTableTotalCount(email: string): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/warrantyAdminBuyerTableTotalCount/' + email);\r\n return response.data;\r\n }\r\n\r\n public async getAdminArchiveTableData(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(adminArchiveTableDataURL + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters)\r\n return response.data;\r\n }\r\n\r\n public async getWarrantyAdminArchiveTableTotalCount(): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/warrantyAdminArchiveTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getAdminTableForSellerData(id: string): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/GetAllForSeller/' + id)\r\n return response.data;\r\n }\r\n\r\n public async getWarrantyAdminSellerTableTotalCount(id: string): Promise {\r\n const response = await this.apiClient.get(adminTableDataURL + '/warrantyAdminSellerTableTotalCount/' + id);\r\n return response.data;\r\n }\r\n \r\n}","import { warrantyApiURL } from './../../constants/apiRoutes';\r\nimport {\r\n GetAdminTableData, GetWarrantyForBuyerAction, GetAdminArchiveTableData, GetWarrantyForSellerAction,\r\n GetWarrantyAdminTableTotalCountAction, GetWarrantyAdminBuyerTableTotalCountAction, GetWarrantyAdminSellerTableTotalCountAction,\r\n GetWarrantyAdminArchiveTableTotalCountAction\r\n} from './../actions/WarrantyAction';\r\nimport { SagaIterator } from '@redux-saga/core';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put } from '@redux-saga/core/effects';\r\nimport AdminTableService from '../../domain/services/AdminTableService';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport IAdminTableServices from '../../domain/services/IAdminTableService';\r\n\r\n\r\nexport function* getAdminTableData(action: GetAdminTableData): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getAdminTableData = container.get(AdminTableService);\r\n try {\r\n const response = yield apply(getAdminTableData, getAdminTableData.getAdminTableData, [action.payload.page, action.payload.pageSize, action.payload.filters])\r\n yield put({ type: ActionTypes.GET_ADMIN_TABLE_DATA_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_ADMIN_TABLE_DATA_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getAdminTableForBuyerData(action: GetWarrantyForBuyerAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getAdminTableData = container.get(AdminTableService);\r\n try {\r\n const response = yield apply(getAdminTableData, getAdminTableData.getAdminTableForBuyerData, [action.payload.email])\r\n yield put({ type: ActionTypes.GET_WARRANTIES_FOR_BUYER_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTIES_FOR_BUYER_ERROR, payload: err })\r\n }\r\n}\r\n\r\n\r\nexport function* getAdminArchiveTableData(action: GetAdminArchiveTableData): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const adminTableApi = container.get(AdminTableService);\r\n try {\r\n const response = yield apply(adminTableApi, adminTableApi.getAdminArchiveTableData, [action.payload.page, action.payload.pageSize, action.payload.filters])\r\n yield put({ type: ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getAdminTableForSellerData(action: GetWarrantyForSellerAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getAdminTableData = container.get(AdminTableService);\r\n try {\r\n const response = yield apply(getAdminTableData, getAdminTableData.getAdminTableForSellerData, [action.payload.id])\r\n yield put({ type: ActionTypes.GET_WARRANTIES_FOR_SELLER_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTIES_FOR_SELLER_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getWarrantyAdminTableTotalCount(action: GetWarrantyAdminTableTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(AdminTableService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.getWarrantyAdminTableTotalCount, []);\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getWarrantyAdminArchiveTableTotalCount(action: GetWarrantyAdminArchiveTableTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(AdminTableService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.getWarrantyAdminArchiveTableTotalCount, []);\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getWarrantyAdminBuyerTableTotalCount(action: GetWarrantyAdminBuyerTableTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(AdminTableService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.getWarrantyAdminBuyerTableTotalCount, [action.payload]);\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getWarrantyAdminSellerTableTotalCount(action: GetWarrantyAdminSellerTableTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const warrantyApi = container.get(AdminTableService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(warrantyApi, warrantyApi.getWarrantyAdminSellerTableTotalCount, [action.payload]);\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}","import { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport { carApiURL, buyerApiURL, warrantyApiURL, carAdminApiURL, carSellerApiURL } from './../../constants/apiRoutes';\r\nimport ICarService from './ICarService';\r\nimport ICarBrand from \"../../types/ICarBrand\";\r\nimport ICarModel from \"../../types/ICarModel\";\r\nimport { IEngineType } from \"../../types/IEngineType\";\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport ICarReview from '../../types/ICarReview';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport { ICarCard } from '../../types/ICarCard';\r\nimport { ICarUpdatePortalData } from '../../types/ICarUpdatePortalData';\r\nimport { IImportCar } from '../../types/IImportCar';\r\nimport ICarAdminTable from '../../types/ICarAdminTable';\r\nimport ICarProps from \"../../types/ICarProps\";\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\nimport ICar from \"../../types/ICar\";\r\nimport ICarSellerTable from '../../types/ICarSellerTable';\r\n\r\n@injectable()\r\nexport default class CarService implements ICarService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getCarBrands(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/brands');\r\n return response.data;\r\n }\r\n public async getCarModels(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/models');\r\n return response.data;\r\n }\r\n public async getEngineTypes(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/engineTypes');\r\n return response.data;\r\n }\r\n public async sellCar(buyer: IBuyerProps): Promise {\r\n const response = await this.apiClient.post(carApiURL + '/sell', buyer);\r\n return response.data;\r\n }\r\n\r\n public async reviewCar(car: ICarReview): Promise{\r\n const response = await this.apiClient.post(carApiURL + '/review', car);\r\n return response.data;\r\n }\r\n\r\n public async currentCarReview(carId: number): Promise{\r\n const response = await this.apiClient.get(carApiURL + `/review/${carId}`);\r\n return response.data;\r\n }\r\n public async getBuyerByCarId(carId: number, warrantyId: number): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + `/car/${carId}/${warrantyId}`);\r\n return response.data;\r\n }\r\n public async getBuyerByOib(oib: string): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + `/oib/${oib}`);\r\n return response.data;\r\n }\r\n public async getBuyerByEmail(email: string): Promise {\r\n const response = await this.apiClient.get(buyerApiURL + '/email/'+ email);\r\n return response.data;\r\n }\r\n\r\n public async getCarModelsByBrand(brandId: number): Promise {\r\n const response = await this.apiClient.get(carApiURL + `/models/${brandId}`);\r\n return response.data;\r\n }\r\n\r\n public async editMissingCarDetails(missingCarDetails: IMissingCarDetailsProps): Promise{\r\n const response = await this.apiClient.post(carApiURL + '/editMissingCarDetails', missingCarDetails);\r\n return response.data;\r\n }\r\n\r\n public async changeShowOnPortal(value: boolean, carId: number): Promise{\r\n const response = await this.apiClient.post(carApiURL + '/show-on-portal/' + carId + '/' + value);\r\n return response.data;\r\n }\r\n\r\n public async hideAllCarsOnPortal(sellerId: string): Promise{\r\n const response = await this.apiClient.post(carApiURL + '/hide-cars-on-portal/' + sellerId);\r\n return response.data;\r\n }\r\n\r\n public async getCarDetailsByCarId(carId: number): Promise {\r\n return (await this.apiClient.get(carApiURL + \"/details/\" + carId)).data;\r\n }\r\n\r\n public async updateCarDetails(data: ICarUpdatePortalData): Promise{\r\n const response = await this.apiClient.post(carApiURL + '/editMissingCarDetailsForPortal', data);\r\n return response.data;\r\n }\r\n \r\n public async filterCars(filterQuery: string): Promise<{ hasMore: boolean, cars: ICarCard[] }> {\r\n return (await this.apiClient.get<{ hasMore: boolean, cars: ICarCard[] }>(carApiURL + \"/filter\" + filterQuery)).data;\r\n }\r\n\r\n public async importCar(data: IImportCar): Promise{\r\n const response = await this.apiClient.post(warrantyApiURL + '/UpdateWarrantiesFromHtml', data);\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdmin(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(carAdminApiURL + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdminTotalCount(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/carsAdminTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdminOnlyCarsTotalCount(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/carsAdminOnlyCarsTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdminSoldOnlyTotalCount(): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/carsAdminSoldOnlyTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getCarsSeller(): Promise {\r\n const response = await this.apiClient.get(carSellerApiURL);\r\n return response.data;\r\n }\r\n\r\n public async getCarsDropdownAdmin(): Promise {\r\n const response = await this.apiClient.get(carAdminApiURL + \"/cars\");\r\n return response.data;\r\n }\r\n\r\n public async getCarsDropdownSeller(): Promise {\r\n const response = await this.apiClient.get(carSellerApiURL + \"/cars\");\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdminOnlyCars(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(carAdminApiURL + \"/onlyCars\" + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getCarsAdminSoldOnlyCars(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(carAdminApiURL + \"/soldOnlyCars\" + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getCarProblemExtraPackage(car: ICarProps): Promise {\r\n const response = await this.apiClient.post(carApiURL + \"/carProblemExtraPackage\", car);\r\n return response.data;\r\n }\r\n\r\n public async postCarOnly(car: ICar): Promise {\r\n const apiUrl = car.carId ? carApiURL + \"/edit\" : carApiURL + \"/save\";\r\n const response = await this.apiClient.post(apiUrl, car);\r\n return response.data;\r\n }\r\n\r\n public async postCarOnlyAndContinue(car: ICar): Promise {\r\n const apiUrl = car.carId ? carApiURL + \"/edit\" : carApiURL + \"/save\";\r\n const response = await this.apiClient.post(apiUrl, car);\r\n return response.data;\r\n }\r\n\r\n public async sellCarWithoutWarranty(car: ICar): Promise {\r\n const apiUrl = carApiURL + \"/sellCarWithoutWarranty\";\r\n const response = await this.apiClient.post(apiUrl, car);\r\n return response.data;\r\n }\r\n\r\n public async getCar(id: number): Promise {\r\n const response = await this.apiClient.get(carApiURL + '/' + id);\r\n return response.data;\r\n }\r\n\r\n public async deactivateCar(carId: number): Promise {\r\n const response = await this.apiClient.post(carApiURL + \"/deactivate/\" + carId);\r\n return response.data;\r\n }\r\n\r\n public async activateCar(carId: number): Promise {\r\n const response = await this.apiClient.post(carApiURL + \"/activate/\" + carId);\r\n return response.data;\r\n }\r\n\r\n public async changeSellerEmail(chassisNumber: string): Promise {\r\n const response = await this.apiClient.get(carApiURL + \"/changeSellerEmail/\" + chassisNumber);\r\n return response.data;\r\n }\r\n public async getChassisCar(chassisNumber: string): Promise {\r\n const response = await this.apiClient.get(carApiURL + \"/chassisCar/\" + chassisNumber);\r\n return response.data;\r\n }\r\n\r\n\r\n //public async getExtraPackagesByEngineDisplacement(car: ICarProps): Promise {\r\n // const response = await this.apiClient.post(warrantyApiURL + \"/extra-packages/\", car);\r\n // return response.data;\r\n //}\r\n}","import IFilterRequest from '../types/IFilterRequest';\r\n\r\nexport class URLHelper {\r\n static getSellerId(): string | null {\r\n const urlParts = window.location.href.split('/');\r\n return urlParts[urlParts.length - 1];\r\n }\r\n\r\n static getBuyerId(): string | null {\r\n const urlParts = window.location.href.split('/');\r\n return urlParts[urlParts.length - 1];\r\n }\r\n\r\n static getQueryStringFilterCars(filter: IFilterRequest): string {\r\n const keys = Object.keys(filter);\r\n return '?' + Object.values(filter)\r\n .map((value: string, index: number) => {\r\n var data = (value !== undefined && value.toString()) ? encodeURIComponent(keys[index]) + '=' + encodeURIComponent(value) : null;\r\n return data;\r\n }\r\n )\r\n .filter(Boolean)\r\n .join('&')\r\n }\r\n\r\n static getQueryStringParams = (query: any) => {\r\n return query\r\n ? (/^[?#]/.test(query) ? query.slice(1) : query)\r\n .split('&')\r\n .reduce((params: any, param: any) => {\r\n let [key, value] = param.split('=');\r\n params[key] = value ? decodeURIComponent(value.replace(/\\+/g, ' ')) : '';\r\n return params;\r\n }, {}\r\n )\r\n : {}\r\n };\r\n\r\n static getLastURLPathPart(): string | undefined {\r\n return window.location.href.split('/').pop()!.split('?')[0];\r\n }\r\n}","import {\r\n GetCarDataAction, GetCarAction, DeactivateCarAction, ActivateCarAction, GetCarProblemExtraPackageAction, PostCarOnlyAction, ChangeSellerEmailAction, GetChassisCarAction,\r\n GetCarsAdminAction, GetCarsSellerAction, GetCarsAdminOnlyCarsAction, SellCarAction, GetBuyerByCarIdAction, GetBuyerByOibAction, GetBuyerByEmailAction, GetModelsByBrandAction,\r\n ReviewCar, CurrentCarReview, GetCarDetailsByCarIdAction, UpdateCarDetailsAction, GetBrandsAction, GetCarModelsByBrandAction, FilterCarsAction, ImportCarAction,\r\n GetCarsDropdownAdminAction, GetCarsDropdownSellerAction, GetCarsAdminSoldOnlyCarsAction, SellCarWithoutWarrantyAction, PostCarOnlyAndContinueAction, GetCarsAdminTotalCountAction,\r\n GetCarsAdminOnlyCarsTotalCountAction, GetCarsAdminSoldOnlyTotalCountAction\r\n} from './../actions/CarAction';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport ICarService from './../../domain/services/ICarService';\r\nimport CarService from './../../domain/services/CarService';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\nimport { warrantyPdf, instructionsToActivate } from '../../constants/apiRoutes';\r\nimport { URLHelper } from '../../utils/URLHelper';\r\nimport ReactGA from 'react-ga';\r\nimport { SagaIterator } from '@redux-saga/core';\r\nimport ICarProps from '../../types/ICarProps';\r\n\r\nexport function* getCarData(action: GetCarDataAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const carBrands = yield apply(carApi, carApi.getCarBrands, []);\r\n const engineTypes = yield apply(carApi, carApi.getEngineTypes, []);\r\n yield put({\r\n type: ActionTypes.GET_CAR_DATA_SUCCESS, payload: {\r\n carBrands, engineTypes\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_DATA_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* sellCar(action: SellCarAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START })\r\n const response = yield apply(carApi, carApi.sellCar, [action.payload]);\r\n yield put({ type: ActionTypes.SELL_CAR_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END })\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: action.payload.buyerEditing ? 'Podaci kupca su uspješno ažurirani' : 'Jamstvo za automobil je uspješno prodano' + response,\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n window.open(warrantyPdf + '?warrantyId=' + action.payload.warrantyId, '_blank');\r\n\r\n yield delay(4000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: action.payload.buyerEditing ? 'Podaci kupca su uspješno ažurirani' : 'Auto je uspješno prodan',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n ReactGA.event({\r\n category: 'Trgovac',\r\n action: 'Auto prodano',\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SELL_CAR_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END })\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Pogreška prilikom prodaje jamstva za automobil',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* getBuyerByCarId(action: GetBuyerByCarIdAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.getBuyerByCarId, [action.payload.carId, action.payload.warrantyId]);\r\n yield put({ type: ActionTypes.GET_BUYER_BY_CAR_ID_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYER_BY_CAR_ID_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getBuyerByOib(action: GetBuyerByOibAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.getBuyerByOib, [action.payload]);\r\n yield put({ type: ActionTypes.GET_BUYER_BY_OIB_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYER_BY_OIB_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getBuyerByEmail(action: GetBuyerByEmailAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.getBuyerByEmail, [action.payload]);\r\n yield put({ type: ActionTypes.GET_BUYER_BY_EMAIL_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYER_BY_EMAIL_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* reviewCar(action: ReviewCar) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.reviewCar, [action.payload]);\r\n yield put({ type: ActionTypes.REVIEW_CAR_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.REVIEW_CAR_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* currentCarReview(action: CurrentCarReview) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.currentCarReview, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CURRENT_CAR_REVIEW_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CURRENT_CAR_REVIEW_ERROR, payload: err });\r\n }\r\n}\r\n\r\n\r\nexport function* getModelsByBrand(action: GetModelsByBrandAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const carModels = yield apply(carApi, carApi.getCarModelsByBrand, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CAR_MODELS_SUCCESS, payload: carModels });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_MODELS_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* changeShowOnPortal(action: any) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.changeShowOnPortal, [action.payload.value, action.payload.carId]);\r\n \r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Status auta na portalu osvježen. Promjene će biti vidljive kroz sat do dva.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n ReactGA.event({\r\n category: 'Portal',\r\n action: 'Status auta na portalu osvježen',\r\n label: action.payload.carId\r\n });\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_FOR_SELLER_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* hideAllCarsOnPortal(action: any) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n\r\n const response = yield apply(carApi, carApi.hideAllCarsOnPortal, [action.payload.sellerId]);\r\n yield put({ type: ActionTypes.LOADING_END });\r\n\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Vozila za odabranog trgovca više nisu na portalu.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n\r\n yield put({ type: ActionTypes.FILTER_CARS, payload: '?' + window.location.href.split(\"?\")[1]});\r\n\r\n ReactGA.event({\r\n category: 'Portal',\r\n action: 'Vozila za odabranog trgovca više nisu na portalu.',\r\n label: action.payload.carId\r\n });\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_FOR_SELLER_ERROR, payload: err });\r\n }\r\n}\r\n\r\n\r\nexport function* getCarDetailsByCarId(action: GetCarDetailsByCarIdAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarDetailsByCarId, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CAR_DETAILS_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_DETAILS_ERROR, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* updateCarDetails(action: UpdateCarDetailsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.updateCarDetails, [action.payload]);\r\n yield put({ type: ActionTypes.UPDATE_CAR_DETAILS_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auto osvježen. Promjene na portalu će biti vidljive kroz sat do dva.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/portal' }\r\n })\r\n ReactGA.event({\r\n category: 'Portal',\r\n action: 'Podaci o autu osvježeni',\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.UPDATE_CAR_DETAILS_ERROR, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarBrands(action: GetBrandsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.getCarBrands, []);\r\n yield put({ type: ActionTypes.GET_CAR_BRANDS_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_BRANDS_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getCarModelsByBrand(action: GetCarModelsByBrandAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarModelsByBrand, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CAR_MODELS_BY_BRAND_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_MODELS_BY_BRAND_SUCCESS, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getEngineTypes(action: GetBrandsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n const response = yield apply(carApi, carApi.getEngineTypes, []);\r\n yield put({ type: ActionTypes.GET_ENGINE_TYPES_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_ENGINE_TYPES_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* filterCarCards(action: FilterCarsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.filterCars, [action.payload]);\r\n yield put({ type: ActionTypes.FILTER_CARS_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.FILTER_CARS_ERROR, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* loadMoreCarCards(action: FilterCarsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n let search = URLHelper.getQueryStringParams(window.location.search);\r\n if (search['skip'])\r\n search['skip'] = Number(search['skip']) + 20;\r\n else\r\n search['skip'] = 20;\r\n var query = URLHelper.getQueryStringFilterCars(search);\r\n history.pushState({}, '', query);\r\n // if seller screen\r\n if (window.location.pathname.includes(\"seller-details\")) {\r\n var query = query + \"&sellerId=\" + window.location.pathname.split(\"/\")[2];\r\n }\r\n const response = yield apply(carApi, carApi.filterCars, [query]);\r\n yield put({ type: ActionTypes.LOAD_MORE_FILTER_CARS_SUCCESS, payload: response });\r\n ReactGA.event({\r\n category: 'Portal',\r\n action: 'Dohvati još auta - load more',\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.FILTER_CARS_ERROR, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* importCars(action: ImportCarAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.importCar, [action.payload]);\r\n yield put({ type: ActionTypes.IMPORT_CARS_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auti i jamstva učitana!',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/uvoz' }\r\n })\r\n ReactGA.event({\r\n category: 'Uvoz',\r\n action: action.payload.htmls.length + ' auta učitana za ' + action.payload.sellerId,\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.IMPORT_CARS_ERROR, payload: err });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdmin(action: GetCarsAdminAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdmin, [action.payload.page, action.payload.pageSize, action.payload.filters]);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdminTotalCount(action: GetCarsAdminTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdminTotalCount, []);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdminOnlyCarsTotalCount(action: GetCarsAdminOnlyCarsTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdminOnlyCarsTotalCount, []);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdminSoldOnlyTotalCount(action: GetCarsAdminSoldOnlyTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdminSoldOnlyTotalCount, []);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsSeller(action: GetCarsSellerAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsSeller, []);\r\n yield put({ type: ActionTypes.GET_CARS_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsDropdownAdmin(action: GetCarsDropdownAdminAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsDropdownAdmin, []);\r\n yield put({ type: ActionTypes.GET_CARS_DROPDOWN_ADMIN_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_DROPDOWN_ADMIN_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsDropdownSeller(action: GetCarsDropdownSellerAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsDropdownSeller, []);\r\n yield put({ type: ActionTypes.GET_CARS_DROPDOWN_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_DROPDOWN_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdminOnlyCars(action: GetCarsAdminOnlyCarsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdminOnlyCars, [action.payload.page, action.payload.pageSize, action.payload.filters]);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarsAdminSoldOnlyCars(action: GetCarsAdminSoldOnlyCarsAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarsAdminSoldOnlyCars, [action.payload.page, action.payload.pageSize, action.payload.filters]);\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCarProblemExtraPackage(action: GetCarProblemExtraPackageAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getCarProblemExtraPackage, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* deactivateCar(action: DeactivateCarAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n \r\n const response = yield apply(carApi, carApi.deactivateCar, [action.payload.carId]);\r\n yield put({ type: ActionTypes.DEACTIVATE_CAR_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auto je uspješno deaktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/cars' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DEACTIVATE_CAR_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjela deaktivacija auta.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/cars' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* activateCar(action: ActivateCarAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.activateCar, [action.payload.carId]);\r\n yield put({ type: ActionTypes.ACTIVATE_CAR_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auto je uspješno aktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/cars' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.ACTIVATE_CAR_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjela aktivacija auta.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/cars' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* changeSellerEmail(action: ChangeSellerEmailAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.changeSellerEmail, [action.payload.chassisNumber]);\r\n yield put({ type: ActionTypes.CHANGE_SELLER_EMAIL_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Zahtjev je uspješno poslan.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CHANGE_SELLER_EMAIL_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjelo slanje zahtjeva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getChassisCar(action: GetChassisCarAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.getChassisCar, [action.payload.chassisNumber]);\r\n yield put({ type: ActionTypes.GET_CHASSIS_CAR_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CHASSIS_CAR_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* postCarOnly(action: PostCarOnlyAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.postCarOnly, [action.payload]);\r\n yield put({ type: ActionTypes.POST_CAR_ONLY_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auto je uspješno spremljen.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/' }\r\n });\r\n //clear cache\r\n yield put({ type: ActionTypes.SAVE_PHOTOS })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.POST_CAR_ONLY_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjelo spremanje auta.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/car/step=1' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } \r\n}\r\n\r\nexport function* postCarOnlyAndContinue(action: PostCarOnlyAndContinueAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.postCarOnlyAndContinue, [action.payload]);\r\n yield put({ type: ActionTypes.POST_CAR_ONLY_AND_CONTINUE_SUCCESS, payload: response });\r\n //yield put({\r\n // type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n // message: 'Auto je uspješno spremljen.',\r\n // style: NotificationStyle.Success\r\n // }\r\n //});\r\n } catch (err) {\r\n yield put({ type: ActionTypes.POST_CAR_ONLY_AND_CONTINUE_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjelo spremanje auta.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/car/step=1' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* sellCarWithoutWarranty(action: SellCarWithoutWarrantyAction) {\r\n const container: Container = yield getContext('container');\r\n const carApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(carApi, carApi.sellCarWithoutWarranty, [action.payload]);\r\n yield put({ type: ActionTypes.SELL_CAR_WITHOUT_WARRANTY_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Auto je uspješno prodan bez jamstva.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n //clear cache\r\n yield put({ type: ActionTypes.SAVE_PHOTOS })\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SELL_CAR_WITHOUT_WARRANTY_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjela prodaja auta bez jamstva.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: '/' }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getCar(action: GetCarAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const getCarApi = container.get(CarService);\r\n try {\r\n // if there is no payload then user is creating new warranty.\r\n if (!action.payload) {\r\n yield put({ type: ActionTypes.GET_CAR_SUCCESS, payload: null })\r\n }\r\n else if (action.payload === -1) {\r\n yield put({ type: ActionTypes.GET_CAR_SUCCESS, payload: null })\r\n }\r\n else {\r\n const response: ICarProps = yield apply(getCarApi, getCarApi.getCar, [action.payload]);\r\n yield put({ type: ActionTypes.GET_CAR_SUCCESS, payload: response })\r\n\r\n }\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_ERROR, payload: err })\r\n } finally {\r\n // if changing from empty form to filled form, redux photos should be empty\r\n yield put({ type: ActionTypes.SAVE_PHOTOS, payload: {} })\r\n }\r\n}","import { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport ISellerService from './ISellerService';\r\nimport ILegalEntity from '../../types/ILegalEntitiy';\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport { legalEntities, saveSeller, deleteSeller, activateSeller, sellerApiURL, saveNoteForSellerApi, submitSellerContract, cancelSellerContract, deniedSellerContract } from '../../constants/apiRoutes';\r\nimport { ISeller } from '../../types/ISeller';\r\nimport { EditorState } from \"draft-js\";\r\nimport ISellerContractData from '../../types/ISellerContractData';\r\n\r\n@injectable()\r\nexport default class SellerService implements ISellerService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getLegalEntities(): Promise {\r\n const response = await this.apiClient.get(legalEntities);\r\n return response.data;\r\n }\r\n\r\n public async saveSeller(seller: ISellerProps): Promise {\r\n const response = await this.apiClient.post(saveSeller, seller)\r\n return response.data;\r\n }\r\n\r\n public async deleteSeller(seller: ISellerProps): Promise {\r\n const response = await this.apiClient.post(deleteSeller, seller)\r\n return response.data;\r\n }\r\n\r\n public async activateSeller(seller: ISellerProps): Promise {\r\n const response = await this.apiClient.post(activateSeller, seller)\r\n return response.data;\r\n }\r\n\r\n public async getAll(): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/all');\r\n return response.data;\r\n }\r\n\r\n public async getAllTable(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/allTable' + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getAllUnactiveTable(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/allUnactiveTable' + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getOtherActiveSellersTable(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/otherActiveTable' + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getSellersAdminTotalCount(): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/sellersAdminTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getSellersUnactiveAdminTotalCount(): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/sellersUnactiveAdminTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getOtherActiveSellersTotalCount(): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/otherActiveSellersTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getSellerById(sellerId: string): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/' + sellerId);\r\n return response.data;\r\n }\r\n\r\n public async getDropdownData(): Promise {\r\n return (await this.apiClient.get(sellerApiURL)).data\r\n }\r\n\r\n public async saveNoteForSeller(note: string, sellerId: string): Promise {\r\n const response = await this.apiClient.post(saveNoteForSellerApi, {note, id: sellerId})\r\n return response.data;\r\n }\r\n\r\n public async submitSellerContract(data: ISellerContractData): Promise {\r\n const response = await this.apiClient.post(submitSellerContract, data)\r\n return response.data;\r\n }\r\n\r\n public async cancelSellerContract(data: ISellerContractData): Promise {\r\n const response = await this.apiClient.post(cancelSellerContract, data)\r\n return response.data;\r\n }\r\n\r\n public async deniedSellerContract(data: ISellerContractData): Promise {\r\n const response = await this.apiClient.post(deniedSellerContract, data)\r\n return response.data;\r\n }\r\n\r\n\r\n //marketing\r\n public async getMarketingSellersTable(page: number, pageSize: number, filters: string): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/marketingSellersTable' + '?page=' + page + '&pageSize=' + pageSize + '&filters=' + filters);\r\n return response.data;\r\n }\r\n\r\n public async getMarketingSellersTableTotalCount(): Promise {\r\n const response = await this.apiClient.get(sellerApiURL + '/marketingSellersTableTotalCount');\r\n return response.data;\r\n }\r\n \r\n}","import {\r\n SaveAllSeller,\r\n DeleteAllSeller,\r\n ActivateAllSeller,\r\n GetLegalEntities,\r\n GetAllSellersAction,\r\n GetSellerByIdAction,\r\n GetSellersAdminTotalCountAction,\r\n GetAllSellersTableAction,\r\n SubmitSellerContract, CancelSellerContract, DeniedSellerContract, GetAllSellersUnactiveTableAction, GetSellersUnactiveAdminTotalCountAction,\r\n GetMarketingSellersTableAction, GetMarketingSellersTableTotalCountAction, GetOtherActiveSellersTableAction, GetOtherActiveSellersTotalCountAction\r\n} from \"./../actions/SellerAction\";\r\nimport { Container } from \"inversify\";\r\nimport { getContext, apply, put, delay } from \"@redux-saga/core/effects\";\r\nimport ActionTypes from \"./../actions/ActionTypes\";\r\nimport ISellerService from \"../../domain/services/ISellerService\";\r\nimport SellerService from \"../../domain/services/SellerService\";\r\nimport { NotificationStyle } from \"../../domain/enums/NotificationStyle\";\r\nimport { SagaIterator } from \"redux-saga\";\r\nimport ReactGA from \"react-ga\";\r\n\r\nexport function* saveSeller(action: SaveAllSeller) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.saveSeller, [\r\n action.payload.seller,\r\n ]);\r\n yield put({ type: ActionTypes.SAVE_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač je uspješno registriran\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač je uspješno registriran\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n ReactGA.event({\r\n category: \"Admin\",\r\n action: \"Spremanje novog trgovca\",\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: {\r\n url: \"/\",\r\n },\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač nije registriran.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač nije registriran.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* deleteSeller(action: DeleteAllSeller) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.deleteSeller, [\r\n action.payload.seller,\r\n ]);\r\n yield put({ type: ActionTypes.DELETE_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač je uspješno obrisan\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač je uspješno obrisan\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DELETE_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač nije obrisan.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač nije obrisan.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* activateSeller(action: ActivateAllSeller) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.activateSeller, [\r\n action.payload.seller,\r\n ]);\r\n yield put({ type: ActionTypes.ACTIVATE_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač je uspješno aktiviran\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač je uspješno aktiviran\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.ACTIVATE_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Prodavač nije aktiviran.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Prodavač nije aktiviran.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* getLegalEntities(action: GetLegalEntities) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n const legalEntities = yield apply(\r\n sellerApi,\r\n sellerApi.getLegalEntities,\r\n []\r\n );\r\n yield put({\r\n type: ActionTypes.GET_LEGAL_ENTITIES_SUCCESS,\r\n payload: { legalEntities },\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_LEGAL_ENTITIES_SUCCESS, payload: err });\r\n }\r\n}\r\n\r\nexport function* getAllSellers(action: GetAllSellersAction): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerService = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerService, sellerService.getAll, []);\r\n yield put({ type: ActionTypes.GET_SELLERS_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLERS_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } finally {\r\n }\r\n}\r\n\r\nexport function* getAllSellersTable(\r\n action: GetAllSellersTableAction\r\n): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerService = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerService, sellerService.getAllTable, [\r\n action.payload.page,\r\n action.payload.pageSize,\r\n action.payload.filters,\r\n ]);\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_TABLE_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLERS_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } finally {\r\n }\r\n}\r\n\r\nexport function* getAllSellersUnactiveTable(\r\n action: GetAllSellersUnactiveTableAction\r\n): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerService = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerService, sellerService.getAllUnactiveTable, [\r\n action.payload.page,\r\n action.payload.pageSize,\r\n action.payload.filters,\r\n ]);\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_UNACTIVE_TABLE_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLERS_UNACTIVE_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } finally {\r\n }\r\n}\r\n\r\nexport function* getOtherActiveSellersTable(\r\n action: GetOtherActiveSellersTableAction\r\n): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerService = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerService, sellerService.getOtherActiveSellersTable, [\r\n action.payload.page,\r\n action.payload.pageSize,\r\n action.payload.filters,\r\n ]);\r\n yield put({\r\n type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } finally {\r\n }\r\n}\r\n\r\n\r\nexport function* getSellersAdminTotalCount(\r\n action: GetSellersAdminTotalCountAction\r\n) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(\r\n sellerApi,\r\n sellerApi.getSellersAdminTotalCount,\r\n []\r\n );\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT_ERROR,\r\n payload: err,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getSellersUnactiveAdminTotalCount(\r\n action: GetSellersUnactiveAdminTotalCountAction\r\n) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(\r\n sellerApi,\r\n sellerApi.getSellersUnactiveAdminTotalCount,\r\n []\r\n );\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_ERROR,\r\n payload: err,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getOtherActiveSellersTotalCount(\r\n action: GetOtherActiveSellersTotalCountAction\r\n) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(\r\n sellerApi,\r\n sellerApi.getOtherActiveSellersTotalCount,\r\n []\r\n );\r\n yield put({\r\n type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_ERROR,\r\n payload: err,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getSellerById(action: GetSellerByIdAction): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerService = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerService, sellerService.getSellerById, [\r\n action.payload,\r\n ]);\r\n yield put({ type: ActionTypes.GET_SELLER_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLER_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: `Prodavač s ID-jem; ${action.payload} ne postoji.`,\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getSellerDropdownData() {\r\n const container: Container = yield getContext(\"container\");\r\n const userService = container.get(SellerService);\r\n\r\n try {\r\n const response = yield apply(userService, userService.getDropdownData, []);\r\n yield put({\r\n type: ActionTypes.GET_SELLER_DROPDOWN_DATA_SUCCESS,\r\n payload: response,\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLER_DROPDOWN_DATA_ERROR });\r\n }\r\n}\r\n\r\nexport function* saveNoteForSeller(action: any) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.saveNoteForSeller, [\r\n action.payload.note,\r\n action.payload.sellerId,\r\n ]);\r\n yield put({\r\n type: ActionTypes.SAVE_NOTE_FOR_SELLER_SUCCESS,\r\n payload: response,\r\n });\r\n\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Zabilješka spremljena.\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Zabilješka spremljena.\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n ReactGA.event({\r\n category: \"Admin\",\r\n action: \"Spremanje bilješke za trgovca\",\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_NOTE_FOR_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Bilješka nije spremljena.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Bilješka nije spremljena.\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* submitSellerContract(action: SubmitSellerContract) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.submitSellerContract, [\r\n action.payload.data\r\n ]);\r\n yield put({ type: ActionTypes.SUBMIT_SELLER_CONTRACT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno prihvaćen\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno prihvaćen\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/prodano' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SUBMIT_SELLER_CONTRACT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno prihvaćen\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno prihvaćen\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* cancelSellerContract(action: CancelSellerContract) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.cancelSellerContract, [\r\n action.payload.data\r\n ]);\r\n yield put({ type: ActionTypes.CANCEL_SELLER_CONTRACT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno otkazan\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno otkazan\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/prodano' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.CANCEL_SELLER_CONTRACT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno otkazan\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno otkazan\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport function* deniedSellerContract(action: DeniedSellerContract) {\r\n const container: Container = yield getContext(\"container\");\r\n const sellerApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(sellerApi, sellerApi.deniedSellerContract, [\r\n action.payload.data\r\n ]);\r\n yield put({ type: ActionTypes.DENIED_SELLER_CONTRACT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno odbijen\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca uspješno odbijen\",\r\n style: NotificationStyle.Success,\r\n },\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/prodano' }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DENIED_SELLER_CONTRACT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno odbijen\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE,\r\n payload: {\r\n message: \"Ugovor trgovca nije uspješno odbijen\",\r\n style: NotificationStyle.Error,\r\n },\r\n });\r\n }\r\n}\r\n\r\n//marketing\r\n\r\nexport function* getMarketingSellersTable(\r\n action: GetMarketingSellersTableAction\r\n): SagaIterator {\r\n const container: Container = yield getContext(\"container\");\r\n const marketingApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(marketingApi, marketingApi.getMarketingSellersTable, [\r\n action.payload.page,\r\n action.payload.pageSize,\r\n action.payload.filters,\r\n ]);\r\n yield put({\r\n type: ActionTypes.GET_MARKETING_SELLERS_TABLE_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_MARKETING_SELLERS_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } finally {\r\n }\r\n}\r\n\r\nexport function* getMarketingSellersTableTotalCount(\r\n action: GetMarketingSellersTableTotalCountAction\r\n) {\r\n const container: Container = yield getContext(\"container\");\r\n const marketingApi = container.get(SellerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(\r\n marketingApi,\r\n marketingApi.getMarketingSellersTableTotalCount,\r\n []\r\n );\r\n yield put({\r\n type: ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_SUCCESS,\r\n payload: response,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({\r\n type: ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_ERROR,\r\n payload: err,\r\n });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n","\r\nimport { injectable, inject } from 'inversify';\r\nimport IDamageService from './IDamageService';\r\nimport ThirdPartyTypes from '../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport { damageApiURL, damageAdminApiURL } from '../../constants/apiRoutes';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport IStatus from '../../types/IStatus';\r\nimport IDamageAdminTable from '../../types/Damage/IDamageAdminTable';\r\nimport { damageSellerApiURL } from './../../constants/apiRoutes';\r\nimport { IDamageSellerTable } from '../../types/Damage/IDamageSellerTable';\r\nimport { damageBuyerApiURL } from './../../constants/apiRoutes';\r\nimport IDamageBuyerTable from '../../types/Damage/IDamageBuyerTable';\r\nimport IDamageWarrantyTable from '../../types/Damage/IDamageWarrantyTable';\r\nimport { damageWarrantyApiURL } from './../../constants/apiRoutes';\r\nimport IDamageSellerByAdminTable from '../../types/Damage/IDamageWarrantyTable';\r\nimport { damageSellerByAdminApiURL } from './../../constants/apiRoutes';\r\nimport IDamageCarTable from '../../types/Damage/IDamageCarTable';\r\nimport { damageCarApiURL } from './../../constants/apiRoutes';\r\n\r\n@injectable()\r\nexport default class DamageService implements IDamageService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getActiveDamage(carId: number, warrantyId: number): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/getActiveDamage/\" + carId + \"/\" + warrantyId);\r\n return response.data;\r\n }\r\n\r\n public async getDamageStatuses(): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/statuses\");\r\n return response.data;\r\n }\r\n\r\n public async saveDamage(data: IDamageProps): Promise {\r\n const response = await this.apiClient.post(damageApiURL, data);\r\n return response.data;\r\n }\r\n\r\n public async getDamagesAdmin(): Promise {\r\n const response = await this.apiClient.get(damageAdminApiURL);\r\n return response.data;\r\n }\r\n\r\n public async getDamagesAdminTotalCount(): Promise {\r\n const response = await this.apiClient.get(damageApiURL + '/damagesAdminTableTotalCount');\r\n return response.data;\r\n }\r\n\r\n public async getDamage(carId: number, damageId: number): Promise {\r\n const response = await this.apiClient.get(damageApiURL + '/getDamage' + `/${carId}/${damageId}`);\r\n return response.data;\r\n }\r\n\r\n public async getDamagesSeller(): Promise {\r\n const response = await this.apiClient.get(damageSellerApiURL);\r\n return response.data;\r\n }\r\n public async getDamagesBuyer(email: string): Promise {\r\n const response = await this.apiClient.get(damageBuyerApiURL + \"/\" + email);\r\n return response.data;\r\n }\r\n public async getDamagesWarranty(warrantyId: number): Promise {\r\n const response = await this.apiClient.get(damageWarrantyApiURL + \"/\" + warrantyId);\r\n return response.data;\r\n }\r\n public async getDamagesSellerByAdmin(id: string): Promise {\r\n const response = await this.apiClient.get(damageSellerByAdminApiURL + \"/\" + id);\r\n return response.data;\r\n }\r\n public async getChassisDamage(chassisNumber: string): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/chassis/\" + chassisNumber);\r\n return response.data;\r\n }\r\n public async getDamagesCar(carId: number): Promise {\r\n const response = await this.apiClient.get(damageCarApiURL + \"/\" + carId);\r\n return response.data;\r\n }\r\n public async getSellerName(id: string): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/sellerName/\" + id);\r\n return response.data;\r\n }\r\n public async getBuyerName(email: string): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/buyerName/\" + email);\r\n return response.data;\r\n }\r\n public async getCarName(id: number): Promise {\r\n const response = await this.apiClient.get(damageApiURL + \"/carName/\" + id);\r\n return response.data;\r\n }\r\n public async deleteDamage(damageId: number): Promise {\r\n const response = await this.apiClient.post(damageApiURL + \"/delete/\" + damageId)\r\n return response.data;\r\n }\r\n}","\r\nimport {\r\n GetDamageAction, GetSellerNameAction, DeleteDamageAction, GetBuyerNameAction, GetCarNameAction, GetChassisDamageAction, GetDamageStatusesAction,\r\n SaveDamageAction, GetDamagesAdminAction, GetDamagesCarAction, GetActiveDamageAction, GetDamagesBuyerAction, GetDamagesWarrantyAction, GetDamagesSellerByAdminAction,\r\n GetDamagesAdminTotalCountAction\r\n} from './../actions/DamageAction';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put } from '@redux-saga/core/effects';\r\nimport IDamageService from './../../domain/services/IDamageService';\r\nimport DamageService from './../../domain/services/DamageService';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\n\r\nexport function* getDamage(action: GetDamageAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamage, [action.payload.carId, action.payload.damageId]);\r\n yield put({ type: ActionTypes.GET_DAMAGE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getActiveDamage(action: GetActiveDamageAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getActiveDamage, [action.payload.carId, action.payload.warrantyId]);\r\n yield put({ type: ActionTypes.GET_ACTIVE_DAMAGE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_ACTIVE_DAMAGE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamageStatuses(action: GetDamageStatusesAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n const response = yield apply(damageApi, damageApi.getDamageStatuses, []);\r\n yield put({ type: ActionTypes.GET_DAMAGE_STATUSES_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGE_STATUSES_ERROR, payload: err });\r\n }\r\n}\r\n\r\n\r\nexport function* saveDamage(action: SaveDamageAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.saveDamage, [action.payload]);\r\n yield put({ type: ActionTypes.SAVE_DAMAGE_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Šteta je uspješno spremljena.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: (isAdmin() || isSuperAdmin()) ? '/admin_damages' : '/seller_damages' }\r\n })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_DAMAGE_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjela prijava štete.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesAdmin(action: GetDamagesAdminAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesAdmin, []);\r\n yield put({ type: ActionTypes.GET_DAMAGES_ADMIN_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_ADMIN_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesAdminTotalCount(action: GetDamagesAdminTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesAdminTotalCount, []);\r\n yield put({ type: ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesSeller(action: GetDamagesAdminAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesSeller, []);\r\n yield put({ type: ActionTypes.GET_DAMAGES_SELLER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_SELLER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesBuyer(action: GetDamagesBuyerAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesBuyer, [action.payload.email]);\r\n yield put({ type: ActionTypes.GET_DAMAGES_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_BUYER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesWarranty(action: GetDamagesWarrantyAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesWarranty, [action.payload.warrantyId]);\r\n yield put({ type: ActionTypes.GET_DAMAGES_WARRANTY_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_WARRANTY_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesSellerByAdmin(action: GetDamagesSellerByAdminAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesSellerByAdmin, [action.payload.id]);\r\n yield put({ type: ActionTypes.GET_DAMAGES_SELLERBYADMIN_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_SELLERBYADMIN_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getChassisDamage(action: GetChassisDamageAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getChassisDamage, [action.payload.chassisNumber]);\r\n yield put({ type: ActionTypes.GET_CHASSIS_DAMAGE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CHASSIS_DAMAGE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getDamagesCar(action: GetDamagesCarAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.getDamagesCar, [action.payload.carId]);\r\n yield put({ type: ActionTypes.GET_DAMAGES_CAR_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_DAMAGES_CAR_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getSellerName(action: GetSellerNameAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n const response = yield apply(damageApi, damageApi.getSellerName, [action.payload.id]);\r\n yield put({ type: ActionTypes.GET_SELLER_NAME_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SELLER_NAME_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getBuyerName(action: GetBuyerNameAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n const response = yield apply(damageApi, damageApi.getBuyerName, [action.payload.email]);\r\n yield put({ type: ActionTypes.GET_BUYER_NAME_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYER_NAME_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getCarName(action: GetCarNameAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n const response = yield apply(damageApi, damageApi.getCarName, [action.payload.id]);\r\n yield put({ type: ActionTypes.GET_CAR_NAME_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CAR_NAME_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* deleteDamage(action: DeleteDamageAction) {\r\n const container: Container = yield getContext('container');\r\n const damageApi = container.get(DamageService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(damageApi, damageApi.deleteDamage, [action.payload.damageId]);\r\n yield put({ type: ActionTypes.DELETE_DAMAGE_SUCCESS, payload: response });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Šteta je uspješno obrisana.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: { url: (isAdmin() || isSuperAdmin()) ? '/admin_damages' : '/seller_damages' }\r\n })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DELETE_DAMAGE_ERROR, payload: err });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Neuspjelo brisanje štete.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\n\r\n","import { NotificationStyle } from './../../domain/enums/NotificationStyle';\r\nimport { Container } from 'inversify';\r\nimport {\r\n GetAllBuyers, ActivateWarranty, CheckWarrantiesForActivation, SaveBuyer, DeleteBuyer, GetBuyerByIdAction,\r\n SendActivationEmailBuyerAction, ActivateBuyer, GetBuyersAdminTotalCountAction, GetLegalBuyersAction\r\n} from '../actions/BuyerAction';\r\nimport { getContext, put, apply, delay } from '@redux-saga/core/effects';\r\nimport IBuyerService from './../../domain/services/IBuyerService';\r\nimport BuyerService from './../../domain/services/BuyerService';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { SagaIterator } from '@redux-saga/core';\r\nimport ReactGA from 'react-ga';\r\n\r\nexport function* getAllBuyers(action: GetAllBuyers): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerService, buyerService.getAll, [action.payload.page, action.payload.pageSize, action.payload.filters]);\r\n yield put({ type: ActionTypes.GET_BUYERS_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYERS_ERROR, payload: err })\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getLegalBuyers(action: GetLegalBuyersAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerService, buyerService.getLegalBuyers, []);\r\n yield put({ type: ActionTypes.GET_LEGAL_BUYERS_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_LEGAL_BUYERS_ERROR, payload: err })\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* checkWarrantiesForActivation (action: CheckWarrantiesForActivation):SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n const buyerResponse = yield apply(buyerService, buyerService.getApprovedWarranties, [action.payload]);\r\n const warrantyId = buyerResponse.length>0? buyerResponse[0].warrantyId : undefined;\r\n const activateUrl = '/activate-warranty/'+action.payload+'/'+warrantyId;\r\n yield put({type: ActionTypes.GO_TO_PAGE, payload: {url: warrantyId? activateUrl: '/' }})\r\n }\r\n catch(err) {\r\n yield put({type: ActionTypes.CHECK_WARRANTIES_FOR_ACTIVATION_ERROR, payload: err})\r\n }\r\n}\r\n\r\nexport function* activateWarranty(action: ActivateWarranty): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n yield put({type: ActionTypes.LOADING_START});\r\n const response = yield apply(buyerService, buyerService.activateWarranty, [action.payload]);\r\n yield put({type: ActionTypes.ACTIVATE_WARRANTY_SUCCESS, payload: response});\r\n yield put({type: ActionTypes.LOADING_END});\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Jamstvo je uspješno aktivirano.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(3000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE\r\n })\r\n const buyerResponse = yield apply(buyerService, buyerService.getApprovedWarranties, [action.payload.email]);\r\n const warrantyId = buyerResponse.length>0? buyerResponse[0].warrantyId : undefined;\r\n const activateUrl = '/activate-warranty/'+action.payload.email+'/'+warrantyId;\r\n yield put({type: ActionTypes.GO_TO_PAGE, payload: {url: warrantyId? activateUrl: '/' }})\r\n }\r\n catch(err) {\r\n yield put({type: ActionTypes.ACTIVATE_WARRANTY_ERROR});\r\n yield put({type: ActionTypes.LOADING_END});\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Aktivacija jamstva nije uspjela.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE\r\n })\r\n }\r\n}\r\n\r\nexport function* saveBuyer(action: SaveBuyer) {\r\n const container: Container = yield getContext('container');\r\n const buyerApi = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerApi, buyerApi.saveBuyer, [action.payload.buyer]);\r\n yield put({ type: ActionTypes.SAVE_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac je uspješno registriran',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac je uspješno registriran',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n ReactGA.event({\r\n category: 'Admin',\r\n action: 'Spremanje novog kupca',\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: {\r\n url: '/'\r\n }\r\n })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SAVE_BUYER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac nije registriran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac nije registriran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* deleteBuyer(action: DeleteBuyer) {\r\n const container: Container = yield getContext('container');\r\n const buyerApi = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerApi, buyerApi.deleteBuyer, [action.payload.buyer]);\r\n yield put({ type: ActionTypes.DELETE_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac je uspješno deaktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac je uspješno deaktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: {\r\n url: '/buyers'\r\n }\r\n })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.DELETE_BUYER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac nije deaktiviran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac nije deaktiviran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* activateBuyer(action: ActivateBuyer) {\r\n const container: Container = yield getContext('container');\r\n const buyerApi = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerApi, buyerApi.activateBuyer, [action.payload.buyer]);\r\n yield put({ type: ActionTypes.ACTIVATE_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac je uspješno aktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac je uspješno aktiviran.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield put({\r\n type: ActionTypes.GO_TO_PAGE, payload: {\r\n url: '/buyers'\r\n }\r\n })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.ACTIVATE_BUYER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Kupac nije aktiviran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Kupac nije aktiviran.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* getBuyerById(action: GetBuyerByIdAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const buyerService = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerService, buyerService.getBuyerById, [action.payload]);\r\n yield put({ type: ActionTypes.GET_BUYER_SUCCESS, payload: response });\r\n\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYER_ERROR, payload: err })\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: `Kupac s ID-jem; ${action.payload} ne postoji.`,\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } finally {\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* sendActivationEmail(action: SendActivationEmailBuyerAction) {\r\n const container: Container = yield getContext('container');\r\n const buyerApi = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerApi, buyerApi.sendActivationEmail, [action.payload.email]);\r\n yield put({ type: ActionTypes.SEND_ACTIVATION_EMAIL_BUYER_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Email uspješno poslan.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Email uspješno poslan.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SEND_ACTIVATION_EMAIL_BUYER_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Email nije poslan.' + err,\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Email nije poslan.' + err,\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* getBuyersAdminTotalCount(action: GetBuyersAdminTotalCountAction) {\r\n const container: Container = yield getContext('container');\r\n const buyerApi = container.get(BuyerService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(buyerApi, buyerApi.getBuyersAdminTotalCount, []);\r\n yield put({ type: ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\n","import { SagaIterator } from '@redux-saga/core';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport CarService from '../../domain/services/CarService';\r\nimport { EditMissingCarDetailsAction } from '../actions/EditMissingCarDetailsAction';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport ICarService from '../../domain/services/ICarService';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\nimport ReactGA from 'react-ga';\r\n\r\nexport function* editMissingCarDetails(action: EditMissingCarDetailsAction): SagaIterator {\r\n const container: Container = yield getContext('container');\r\n const editMissingCarDetailsApi = container.get(CarService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(editMissingCarDetailsApi, editMissingCarDetailsApi.editMissingCarDetails, [action.payload]);\r\n yield put({ type: ActionTypes.GET_PACKAGES_SUCCESS, payload: response })\r\n yield put({ type: ActionTypes.GET_WARRANTIES })\r\n yield put({ type: ActionTypes.SET_IS_MISSING_CAR_DETAILS, payload: { isCarDetailsMissing: false }})\r\n ReactGA.event({\r\n category: 'Popunjavanje podataka o autu koji nedostaju',\r\n action: 'Spremljena šasija',\r\n });\r\n \r\n yield put({ type: ActionTypes.LOADING_END })\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Dodatni podaci spremljeni, možete nastaviti unositi podatke o kupcu.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Dodatni podaci spremljeni, možete nastaviti unositi podatke o kupcu.',\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_PACKAGES_ERROR, payload: err })\r\n }\r\n}","import { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport IStatisticsService from './IStatisticsService';\r\nimport { IStatisticsMarketingWarranties } from '../../types/IStatisticsMarketingWarranties';\r\nimport { IStatisticsWarranties } from '../../types/IStatisticsWarranties';\r\nimport { statistics, allSoldWarrantiesCount, allSoldWarranties } from '../../constants/apiRoutes';\r\n\r\n\r\n@injectable()\r\nexport default class StatisticsService implements IStatisticsService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getAllSoldWarrantiesCount(startDate: string, endDate: string, sellerName: string): Promise {\r\n const response = await this.apiClient.get(allSoldWarrantiesCount + '?startDate=' + startDate + '&endDate=' + endDate + '&sellerName=' + sellerName);\r\n return response.data;\r\n }\r\n\r\n public async getSoldWarranties(startDate: string, endDate: string, sellerName: string, skip: number, take: number): Promise {\r\n const seller = sellerName.length > 0 ? sellerName : 'all';\r\n const response = await this.apiClient.get(allSoldWarranties + '?startDate=' + startDate + '&endDate=' + endDate + '&sellerName=' + seller + '&skip=' + skip + \"&take=\" + take);\r\n return response.data;\r\n }\r\n\r\n public async getMarketingThisMonthSoldStatistic(startDate: string, endDate: string): Promise {\r\n const response = await this.apiClient.get(statistics + '/marketingThisMonthSoldStatistic' + '?startDate=' + startDate + '&endDate=' + endDate);\r\n return response.data;\r\n }\r\n\r\n public async getStatisticsMarketingWarrantiesTable(): Promise {\r\n const response = await this.apiClient.get(statistics + '/marketingWarranties');\r\n return response.data;\r\n }\r\n\r\n public async getStatisticsWarrantiesTable(): Promise {\r\n const response = await this.apiClient.get(statistics + '/warranties');\r\n return response.data;\r\n }\r\n\r\n public async getLastYearThisMonthStatistic(startDate: string, endDate: string): Promise {\r\n const response = await this.apiClient.get(statistics + '/lastYearThisMonthStatistic' + '?startDate=' + startDate + '&endDate=' + endDate);\r\n return response.data;\r\n }\r\n\r\n}","\r\nimport {\r\n GetAllSoldStatistic, GetSoldStatistic, GetMarketingThisMonthSoldStatistic, GetStatisticsMarketingWarrantiesTableAction,\r\n GetStatisticsWarrantiesTableAction, GetLastYearThisMonthStatistic\r\n} from './../actions/StatisticsAction';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport IStatisticsService from './../../domain/services/IStatisticsService';\r\nimport StatisticsService from './../../domain/services/StatisticsService';\r\nimport ActionTypes from './../actions/ActionTypes';\r\n\r\nexport function* getThisMonthSoldStatistics(action: GetAllSoldStatistic) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n const data = yield apply(statisticsApi, statisticsApi.getAllSoldWarrantiesCount, [action.payload.startDate, action.payload.endDate, action.payload.sellerName]);\r\n yield put({\r\n type: ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC_SUCCESS, payload: data\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getSoldStatistics(action: GetSoldStatistic) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n const data = yield apply(statisticsApi, statisticsApi.getSoldWarranties, [action.payload.startDate, action.payload.endDate, action.payload.sellerName, action.payload.skip, action.payload.take]);\r\n yield put({\r\n type: ActionTypes.GET_SOLD_STATISTIC_SUCCESS, payload: data\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_SOLD_STATISTIC_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getMarketingThisMonthSoldStatistic(action: GetMarketingThisMonthSoldStatistic) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n const data = yield apply(statisticsApi, statisticsApi.getMarketingThisMonthSoldStatistic, [action.payload.startDate, action.payload.endDate]);\r\n yield put({\r\n type: ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_SUCCESS, payload: data\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_ERROR, payload: err });\r\n }\r\n}\r\n\r\nexport function* getStatisticsMarketingWarrantiesTable(action: GetStatisticsMarketingWarrantiesTableAction) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(statisticsApi, statisticsApi.getStatisticsMarketingWarrantiesTable, []);\r\n yield put({ type: ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getStatisticsWarrantiesTable(action: GetStatisticsWarrantiesTableAction) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(statisticsApi, statisticsApi.getStatisticsWarrantiesTable, []);\r\n yield put({ type: ActionTypes.GET_STATISTICS_WARRANTIES_TABLE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_STATISTICS_WARRANTIES_TABLE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\nexport function* getLastYearThisMonthStatistic(action: GetLastYearThisMonthStatistic) {\r\n const container: Container = yield getContext('container');\r\n const statisticsApi = container.get(StatisticsService);\r\n try {\r\n const data = yield apply(statisticsApi, statisticsApi.getLastYearThisMonthStatistic, [action.payload.startDate, action.payload.endDate]);\r\n yield put({\r\n type: ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC_SUCCESS, payload: data\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC_ERROR, payload: err });\r\n }\r\n}\r\n","import { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from \"../../di/ThirdPartyTypes\";\r\nimport { AxiosInstance } from 'axios';\r\nimport { invoicePdf, allInvoices, lastInvoice, currentInvoice } from './../../constants/apiRoutes';\r\nimport { IInvoiceData } from \"../../types/IInvoiceData\";\r\nimport IInvoiceService from \"./IInvoiceService\";\r\n\r\n@injectable()\r\nexport default class InvoiceService implements IInvoiceService {\r\n\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async sendWarrantyPdf(data: IInvoiceData): Promise {\r\n const response = await this.apiClient.post(invoicePdf, data);\r\n return response.data;\r\n }\r\n\r\n public async getInvoices(year: string): Promise {\r\n const response = await this.apiClient.get(allInvoices + \"/\" + year);\r\n return response.data;\r\n }\r\n\r\n public async getYears(): Promise {\r\n const response = await this.apiClient.get(allInvoices + \"/years\");\r\n return response.data;\r\n }\r\n\r\n public async lastInvoice(): Promise {\r\n const response = await this.apiClient.get(lastInvoice);\r\n return response.data;\r\n }\r\n\r\n\r\n public async getInvoice(invoiceNumber: string): Promise {\r\n const apiNumber = invoiceNumber.replace(\"/\", \"-\").replace(\"/\", \"-\");\r\n const response = await this.apiClient.get(currentInvoice + \"/\" + apiNumber);\r\n return response.data;\r\n }\r\n\r\n}","\r\nimport { SendInvoiceAction, GetInvoicesAction, LastInvoiceAction, GetInvoiceAction, GetYearsAction } from './../actions/InvoiceAction';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put, delay } from '@redux-saga/core/effects';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport IInvoiceService from '../../domain/services/IInvoiceService';\r\nimport InvoiceService from '../../domain/services/InvoiceService';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\n\r\nexport function* sendWarrantyPdf(action: SendInvoiceAction) {\r\n const container: Container = yield getContext('container');\r\n const invoicingApi = container.get(InvoiceService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(invoicingApi, invoicingApi.sendWarrantyPdf, [action.payload]);\r\n yield put({ type: ActionTypes.SEND_INVOICE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.GET_LAST_INVOICE });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Račun br. ' + action.payload.invoiceNumber + ' poslan trgovcu ' + action.payload.sellerName,\r\n style: NotificationStyle.Success\r\n }\r\n });\r\n yield delay(4000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Račun poslan.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.SEND_INVOICE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_SHOW, payload: {\r\n message: 'Nije poslano, probajte kasnije.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n yield delay(2000);\r\n yield put({\r\n type: ActionTypes.NOTIFICATION_CLOSE, payload: {\r\n message: 'Nije poslano, probajte kasnije.',\r\n style: NotificationStyle.Error\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function* getInvoices(action: GetInvoicesAction) {\r\n const container: Container = yield getContext('container');\r\n const invoicingApi = container.get(InvoiceService);\r\n try {\r\n const response = yield apply(invoicingApi, invoicingApi.getInvoices, [action.payload.year]);\r\n yield put({ type: ActionTypes.GET_INVOICES_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_INVOICES_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* getYears(action: GetYearsAction) {\r\n const container: Container = yield getContext('container');\r\n const invoicingApi = container.get(InvoiceService);\r\n try {\r\n const response = yield apply(invoicingApi, invoicingApi.getYears, []);\r\n yield put({ type: ActionTypes.GET_YEARS_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_YEARS_ERROR, payload: err })\r\n }\r\n}\r\n\r\nexport function* lastInvoice(action: LastInvoiceAction) {\r\n const container: Container = yield getContext('container');\r\n const invoicingApi = container.get(InvoiceService);\r\n try {\r\n const response = yield apply(invoicingApi, invoicingApi.lastInvoice, []);\r\n yield put({ type: ActionTypes.GET_LAST_INVOICE_SUCCESS, payload: response })\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_LAST_INVOICE_ERROR, payload: err })\r\n }\r\n}\r\n\r\n\r\n\r\nexport function* getInvoice(action: GetInvoiceAction) {\r\n const container: Container = yield getContext('container');\r\n const invoicingApi = container.get(InvoiceService);\r\n try {\r\n yield put({ type: ActionTypes.LOADING_START });\r\n const response = yield apply(invoicingApi, invoicingApi.getInvoice, [action.payload.invoiceNumber]);\r\n yield put({ type: ActionTypes.GET_INVOICE_SUCCESS, payload: response });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_INVOICE_ERROR, payload: err });\r\n yield put({ type: ActionTypes.LOADING_END });\r\n }\r\n}\r\n\r\n","import { injectable, inject } from 'inversify';\r\nimport ThirdPartyTypes from './../../di/ThirdPartyTypes';\r\nimport { AxiosInstance } from 'axios';\r\nimport { currencyApiURL } from './../../constants/apiRoutes';\r\nimport { ICurrency } from '../../types/ICurrency';\r\nimport ICurrencyService from './ICurrencyService';\r\n\r\n@injectable()\r\nexport default class CurrencyService implements ICurrencyService {\r\n @inject(ThirdPartyTypes.Axios)\r\n private apiClient!: AxiosInstance;\r\n\r\n public async getCurrencies(): Promise {\r\n const response = await this.apiClient.get(currencyApiURL + '/currencies');\r\n return response.data;\r\n }\r\n\r\n}","import { GetCurrenciesAction } from './../actions/CurrencyAction';\r\nimport { Container } from 'inversify';\r\nimport { getContext, apply, put } from '@redux-saga/core/effects';\r\nimport ICurrencyService from './../../domain/services/ICurrencyService';\r\nimport CurrencyService from './../../domain/services/CurrencyService';\r\nimport ActionTypes from './../actions/ActionTypes';\r\n\r\nexport function* getCurrencies(action: GetCurrenciesAction) {\r\n const container: Container = yield getContext('container');\r\n const currencyApi = container.get(CurrencyService);\r\n try {\r\n const response = yield apply(currencyApi, currencyApi.getCurrencies, []);\r\n yield put({ type: ActionTypes.GET_CURRENCIES_SUCCESS, payload: response });\r\n } catch (err) {\r\n yield put({ type: ActionTypes.GET_CURRENCIES_ERROR, payload: err });\r\n }\r\n}","import { SagaIterator } from \"@redux-saga/core\";\r\nimport { all, takeEvery, takeLatest, throttle, takeLeading } from \"@redux-saga/core/effects\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport { initStateFromQueryString } from \"./initState\";\r\nimport goToPage from \"./goToPage\";\r\nimport { userLogin, userRegister, forgotPasswordRequest, confirmPassword, currentUser, confirmData } from \"./user\";\r\nimport {\r\n saveWarrantyData, deleteWarrantyData, getWarrantyData, getWarrantyStatuses, updateWarrantyStatus, getWarranty,\r\n getWarrantyForContract, changeValidDate, sendWarrantyEmail, saveWarrantyOnly, changeSeller, changeBuyer, changeWarrantyDuration\r\n} from './warranty';\r\nimport { getPackages, getExtraPackages, upgradeWarrantyPackage } from \"./package\";\r\nimport {\r\n getAdminTableData, getAdminTableForBuyerData, getAdminArchiveTableData, getAdminTableForSellerData,\r\n getWarrantyAdminTableTotalCount, getWarrantyAdminBuyerTableTotalCount, getWarrantyAdminSellerTableTotalCount,\r\n getWarrantyAdminArchiveTableTotalCount\r\n} from \"./adminTable\";\r\nimport {\r\n getCarData, getCar, getCarProblemExtraPackage, postCarOnly, deactivateCar, activateCar, getCarsAdmin, getCarsSeller,\r\n getCarsAdminOnlyCars, sellCar, getBuyerByCarId, getBuyerByOib, getBuyerByEmail, getModelsByBrand, reviewCar,\r\n currentCarReview, changeShowOnPortal, hideAllCarsOnPortal, getCarDetailsByCarId, updateCarDetails, getCarBrands,\r\n getEngineTypes, getCarModelsByBrand, loadMoreCarCards, filterCarCards, importCars, changeSellerEmail, getChassisCar,\r\n getCarsDropdownAdmin, getCarsDropdownSeller, getCarsAdminSoldOnlyCars, sellCarWithoutWarranty, postCarOnlyAndContinue,\r\n getCarsAdminTotalCount, getCarsAdminOnlyCarsTotalCount, getCarsAdminSoldOnlyTotalCount\r\n} from './car';\r\nimport {\r\n getLegalEntities, saveSeller, deleteSeller, activateSeller, getAllSellers, getSellerById, getSellerDropdownData, saveNoteForSeller,\r\n getSellersAdminTotalCount, getAllSellersTable, submitSellerContract, cancelSellerContract, deniedSellerContract, getAllSellersUnactiveTable, getSellersUnactiveAdminTotalCount,\r\n getMarketingSellersTable, getMarketingSellersTableTotalCount, getOtherActiveSellersTable, getOtherActiveSellersTotalCount\r\n} from \"./seller\";\r\nimport {\r\n getDamage, getSellerName, getBuyerName, getCarName, getChassisDamage, getDamageStatuses, saveDamage, deleteDamage,\r\n getActiveDamage, getDamagesAdmin, getDamagesSeller, getDamagesBuyer, getDamagesCar, getDamagesWarranty, getDamagesSellerByAdmin,\r\n getDamagesAdminTotalCount\r\n} from './damage';\r\nimport {\r\n getAllBuyers, activateWarranty, checkWarrantiesForActivation, saveBuyer, deleteBuyer, getBuyerById, sendActivationEmail, activateBuyer,\r\n getBuyersAdminTotalCount, getLegalBuyers\r\n} from './buyer';\r\nimport { editMissingCarDetails } from './missingCarDetails';\r\nimport {\r\n getThisMonthSoldStatistics, getSoldStatistics, getMarketingThisMonthSoldStatistic, getStatisticsMarketingWarrantiesTable,\r\n getStatisticsWarrantiesTable, getLastYearThisMonthStatistic\r\n} from './statistics';\r\nimport { sendWarrantyPdf, getInvoices, lastInvoice, getInvoice, getYears } from './invoicing';\r\nimport { getCurrencies } from './currency';\r\nexport default function* rootSaga(): SagaIterator {\r\n yield all([\r\n takeEvery(ActionTypes.INIT_STATE, initStateFromQueryString),\r\n takeLatest(ActionTypes.GO_TO_PAGE, goToPage),\r\n takeLatest(ActionTypes.LOGIN_SUBMIT, userLogin),\r\n takeLatest(ActionTypes.SAVE_WARRANTY, saveWarrantyData),\r\n takeLatest(ActionTypes.DELETE_WARRANTY, deleteWarrantyData),\r\n takeLatest(ActionTypes.GET_PACKAGES, getPackages),\r\n takeLatest(ActionTypes.GET_EXTRA_PACKAGES, getExtraPackages),\r\n takeLatest(ActionTypes.GET_CAR_DATA, getCarData),\r\n takeLatest(ActionTypes.GET_WARRANTIES, getWarrantyData),\r\n takeLatest(ActionTypes.GET_WARRANTIES_FOR_BUYER, getAdminTableForBuyerData),\r\n takeLatest(ActionTypes.GET_WARRANTIES_FOR_SELLER, getAdminTableForSellerData),\r\n takeLatest(ActionTypes.SELL_CAR, sellCar),\r\n takeLatest(ActionTypes.GET_BUYER_BY_CAR_ID, getBuyerByCarId),\r\n takeLatest(ActionTypes.GET_BUYER_BY_OIB, getBuyerByOib),\r\n takeLatest(ActionTypes.GET_BUYER_BY_EMAIL, getBuyerByEmail),\r\n takeLatest(ActionTypes.GET_BUYER, getBuyerById),\r\n takeLatest(ActionTypes.GET_WARRANTY_STATUSES, getWarrantyStatuses),\r\n takeLatest(ActionTypes.UPDATE_WARRANTY_STATUS, updateWarrantyStatus),\r\n takeLatest(ActionTypes.GET_WARRANTY, getWarranty),\r\n takeLatest(ActionTypes.GET_CAR, getCar),\r\n takeLatest(ActionTypes.REGISTER_SUBMIT, userRegister),\r\n takeLatest(ActionTypes.GET_ADMIN_TABLE_DATA, getAdminTableData),\r\n takeLatest(ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA, getAdminArchiveTableData),\r\n takeLatest(ActionTypes.GET_CAR_MODELS, getModelsByBrand),\r\n takeLatest(ActionTypes.GET_LEGAL_ENTITIES, getLegalEntities),\r\n takeLatest(ActionTypes.SAVE_SELLER, saveSeller),\r\n takeLatest(ActionTypes.ACTIVATE_SELLER, activateSeller),\r\n takeLatest(ActionTypes.DELETE_SELLER, deleteSeller),\r\n takeLatest(ActionTypes.SAVE_BUYER, saveBuyer),\r\n takeLatest(ActionTypes.DELETE_BUYER, deleteBuyer),\r\n takeLatest(ActionTypes.ACTIVATE_BUYER, activateBuyer),\r\n takeLatest(ActionTypes.GET_DAMAGE, getDamage),\r\n takeLatest(ActionTypes.GET_CHASSIS_DAMAGE, getChassisDamage),\r\n takeLatest(ActionTypes.GET_ACTIVE_DAMAGE, getActiveDamage),\r\n takeLatest(ActionTypes.GET_DAMAGE_STATUSES, getDamageStatuses),\r\n takeLatest(ActionTypes.SAVE_DAMAGE, saveDamage),\r\n takeLatest(ActionTypes.GET_DAMAGES_ADMIN, getDamagesAdmin),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN, getCarsAdmin),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN_ONLY_CARS, getCarsAdminOnlyCars),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS, getCarsAdminSoldOnlyCars),\r\n takeLatest(ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE, getCarProblemExtraPackage),\r\n takeLatest(ActionTypes.GET_DAMAGES_SELLER, getDamagesSeller),\r\n takeLatest(ActionTypes.GET_DAMAGES_BUYER, getDamagesBuyer),\r\n takeLatest(ActionTypes.GET_DAMAGES_CAR, getDamagesCar),\r\n takeLatest(ActionTypes.GET_DAMAGES_WARRANTY, getDamagesWarranty),\r\n takeLatest(ActionTypes.GET_DAMAGES_SELLERBYADMIN, getDamagesSellerByAdmin),\r\n takeLatest(ActionTypes.EMAIL_SUBMIT, forgotPasswordRequest),\r\n takeLatest(ActionTypes.PASSWORD_CONFIRM_SUBMIT, confirmPassword),\r\n takeLatest(ActionTypes.GET_CURRENT_USER, currentUser),\r\n takeLatest(ActionTypes.CONFIRM_DATA, confirmData),\r\n takeLatest(ActionTypes.GET_BUYERS, getAllBuyers),\r\n takeLatest(ActionTypes.REVIEW_CAR, reviewCar),\r\n takeLatest(ActionTypes.GET_CURRENT_CAR_REVIEW, currentCarReview),\r\n takeLatest(ActionTypes.GET_SELLERS, getAllSellers),\r\n takeLatest(ActionTypes.GET_SELLER, getSellerById),\r\n takeLatest(ActionTypes.ACTIVATE_WARRANTY, activateWarranty),\r\n takeLatest(ActionTypes.GET_WARRANTY_FOR_CONTRACT, getWarrantyForContract),\r\n takeLatest(ActionTypes.CHECK_WARRANTIES_FOR_ACTIVATION, checkWarrantiesForActivation),\r\n takeLatest(ActionTypes.EDIT_MISSING_CAR_DETAILS, editMissingCarDetails),\r\n takeLatest(ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC, getThisMonthSoldStatistics),\r\n takeLatest(ActionTypes.GET_SOLD_STATISTIC, getSoldStatistics),\r\n takeLatest(ActionTypes.UPGRADE_WARRANTY_PACKGAGE, upgradeWarrantyPackage),\r\n takeLatest(ActionTypes.CHANGE_SHOW_ON_PORTAL, changeShowOnPortal),\r\n takeLatest(ActionTypes.HIDE_ALL_CARS_ON_PORTAL, hideAllCarsOnPortal),\r\n takeLatest(ActionTypes.GET_CAR_DETAILS, getCarDetailsByCarId),\r\n takeLatest(ActionTypes.UPDATE_CAR_DETAILS, updateCarDetails),\r\n takeLatest(ActionTypes.GET_CAR_BRANDS, getCarBrands),\r\n takeLatest(ActionTypes.GET_ENGINE_TYPES, getEngineTypes),\r\n takeLatest(ActionTypes.GET_CAR_MODELS_BY_BRAND, getCarModelsByBrand),\r\n takeLatest(ActionTypes.LOAD_MORE_CARS, loadMoreCarCards), \r\n takeLatest(ActionTypes.GET_SELLER_DROPDOWN_DATA, getSellerDropdownData),\r\n takeLatest(ActionTypes.FILTER_CARS, filterCarCards),\r\n takeLatest(ActionTypes.SEND_INVOICE, sendWarrantyPdf),\r\n takeLatest(ActionTypes.GET_INVOICES, getInvoices),\r\n takeLatest(ActionTypes.GET_YEARS, getYears),\r\n takeLatest(ActionTypes.GET_INVOICE, getInvoice),\r\n takeLatest(ActionTypes.GET_LAST_INVOICE, lastInvoice),\r\n takeLatest(ActionTypes.SAVE_NOTE_FOR_SELLER, saveNoteForSeller),\r\n takeLatest(ActionTypes.IMPORT_CARS, importCars),\r\n takeLatest(ActionTypes.GET_CURRENCIES, getCurrencies),\r\n takeLatest(ActionTypes.CHANGE_VALID_DATE, changeValidDate),\r\n takeLatest(ActionTypes.GET_SELLER_NAME, getSellerName),\r\n takeLatest(ActionTypes.GET_BUYER_NAME, getBuyerName),\r\n takeLatest(ActionTypes.GET_CAR_NAME, getCarName),\r\n takeLatest(ActionTypes.SEND_ACTIVATION_EMAIL_BUYER, sendActivationEmail),\r\n takeLatest(ActionTypes.SEND_WARRANTY_EMAIL, sendWarrantyEmail),\r\n takeLatest(ActionTypes.DELETE_DAMAGE, deleteDamage),\r\n takeLatest(ActionTypes.DEACTIVATE_CAR, deactivateCar),\r\n takeLatest(ActionTypes.ACTIVATE_CAR, activateCar),\r\n takeLatest(ActionTypes.POST_CAR_ONLY, postCarOnly),\r\n takeLatest(ActionTypes.POST_CAR_ONLY_AND_CONTINUE, postCarOnlyAndContinue),\r\n takeLatest(ActionTypes.CHANGE_SELLER_EMAIL, changeSellerEmail),\r\n takeLatest(ActionTypes.GET_CHASSIS_CAR, getChassisCar),\r\n takeLatest(ActionTypes.GET_CARS_SELLER, getCarsSeller),\r\n takeLatest(ActionTypes.GET_CARS_DROPDOWN_ADMIN, getCarsDropdownAdmin),\r\n takeLatest(ActionTypes.GET_CARS_DROPDOWN_SELLER, getCarsDropdownSeller),\r\n takeLatest(ActionTypes.SELL_CAR_WITHOUT_WARRANTY, sellCarWithoutWarranty),\r\n takeLatest(ActionTypes.SAVE_WARRANTY_ONLY, saveWarrantyOnly),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT, getCarsAdminTotalCount),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT, getCarsAdminOnlyCarsTotalCount),\r\n takeLatest(ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT, getCarsAdminSoldOnlyTotalCount),\r\n takeLatest(ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT, getWarrantyAdminTableTotalCount),\r\n takeLatest(ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT, getWarrantyAdminBuyerTableTotalCount),\r\n takeLatest(ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT, getWarrantyAdminSellerTableTotalCount),\r\n takeLatest(ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT, getWarrantyAdminArchiveTableTotalCount),\r\n takeLatest(ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT, getDamagesAdminTotalCount),\r\n takeLatest(ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT, getBuyersAdminTotalCount),\r\n takeLatest(ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT, getSellersAdminTotalCount),\r\n takeLatest(ActionTypes.GET_SELLERS_TABLE, getAllSellersTable),\r\n takeLatest(ActionTypes.CHANGE_SELLER, changeSeller),\r\n takeLatest(ActionTypes.CHANGE_BUYER, changeBuyer),\r\n takeLatest(ActionTypes.SUBMIT_SELLER_CONTRACT, submitSellerContract),\r\n takeLatest(ActionTypes.CANCEL_SELLER_CONTRACT, cancelSellerContract),\r\n takeLatest(ActionTypes.DENIED_SELLER_CONTRACT, deniedSellerContract), \r\n takeLatest(ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT, getSellersUnactiveAdminTotalCount),\r\n takeLatest(ActionTypes.GET_SELLERS_UNACTIVE_TABLE, getAllSellersUnactiveTable),\r\n takeLatest(ActionTypes.GET_MARKETING_SELLERS_TABLE, getMarketingSellersTable),\r\n takeLatest(ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT, getMarketingSellersTableTotalCount),\r\n takeLatest(ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC, getMarketingThisMonthSoldStatistic),\r\n takeLatest(ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE, getOtherActiveSellersTable),\r\n takeLatest(ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT, getOtherActiveSellersTotalCount),\r\n takeLatest(ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE, getStatisticsMarketingWarrantiesTable),\r\n takeLatest(ActionTypes.GET_STATISTICS_WARRANTIES_TABLE, getStatisticsWarrantiesTable),\r\n takeLatest(ActionTypes.GET_LEGAL_BUYERS, getLegalBuyers),\r\n takeLatest(ActionTypes.CHANGE_WARRANTY_DURATION, changeWarrantyDuration),\r\n takeLatest(ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC, getLastYearThisMonthStatistic),\r\n ]);\r\n}","import ILegalEntity from './../../types/ILegalEntitiy';\r\nimport { Reducer } from \"redux\";\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport ISellerProps from './../../types/ISellerProps';\r\nimport { ISeller } from '../../types/ISeller';\r\n\r\n\r\nconst parentLegalEntity: ILegalEntity = {\r\n id: \"\",\r\n name: \"\"\r\n}\r\n\r\nexport const initalSeller: ISellerProps = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n parentLegalEntity: parentLegalEntity,\r\n legalEntityName: \"\",\r\n legalEntityBool: false,\r\n oib: \"\",\r\n address: \"\",\r\n email: \"\",\r\n zipCode: \"\",\r\n city: \"\",\r\n country: \"\",\r\n phoneNumber: \"\",\r\n parentId: \"\",\r\n active: \"\",\r\n oznaka: false\r\n}\r\n\r\nconst initalSellerData: { loading: boolean, seller: ISellerProps | null } = { loading: false, seller: initalSeller }\r\n\r\nconst initialLegalEntities: { loading: boolean, entities: ILegalEntity[] } = { loading: false, entities: new Array() }\r\n\r\nexport const sellerReducer: Reducer<{ loading: boolean, seller: ISellerProps | null }> = (state = initalSellerData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.SAVE_SELLER: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.SAVE_SELLER_SUCCESS: return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Prodavač uspješno registriran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.SAVE_SELLER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n case ActionTypes.GET_SELLER: return {\r\n loading: true, seller: initalSeller\r\n }\r\n case ActionTypes.GET_SELLER_SUCCESS: return {\r\n loading: false, seller: action.payload\r\n }\r\n case ActionTypes.GET_SELLER_ERROR: return {\r\n loading: false, seller: initalSeller\r\n }\r\n case ActionTypes.CLEAR_SELLER: return {\r\n loading: false, seller: initalSeller\r\n }\r\n case ActionTypes.DELETE_SELLER: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.DELETE_SELLER_SUCCESS: return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Prodavač uspješno obrisan!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.DELETE_SELLER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n case ActionTypes.ACTIVATE_SELLER: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.ACTIVATE_SELLER_SUCCESS: return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Prodavač uspješno aktiviran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.ACTIVATE_SELLER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n case ActionTypes.SUBMIT_SELLER_CONTRACT: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.SUBMIT_SELLER_CONTRACT_SUCCESS: window.close(); return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Ugovor trgovca uspješno aktiviran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.SUBMIT_SELLER_CONTRACT_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n case ActionTypes.CANCEL_SELLER_CONTRACT: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.CANCEL_SELLER_CONTRACT_SUCCESS: window.close(); return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Ugovor trgovca uspješno otkazan!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.CANCEL_SELLER_CONTRACT_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n case ActionTypes.DENIED_SELLER_CONTRACT: return { ...state, loading: true, seller: null, message: undefined, error: false }\r\n case ActionTypes.DENIED_SELLER_CONTRACT_SUCCESS: return {\r\n ...state, loading: false, seller: initalSeller, message: {\r\n content: \"Ugovor trgovca uspješno odbijen!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.DENIED_SELLER_CONTRACT_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, seller: null, error: true\r\n }\r\n default: return state;\r\n }\r\n}\r\n\r\nexport const legalEntitiesReducer: Reducer<{ loading: boolean, entities: ILegalEntity[] }> = (state = initialLegalEntities, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_LEGAL_ENTITIES: return { ...state, loading: true, entities: [] }\r\n case ActionTypes.GET_LEGAL_ENTITIES_SUCCESS: return { ...state, loading: false, entities: action.payload.legalEntities }\r\n case ActionTypes.GET_LEGAL_ENTITIES_ERROR: return { ...state, loading: false, errors: action.payload, entities: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default sellerReducer;\r\n\r\nconst initialSellersData: { loading: boolean, data: ISellerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getSellersReducer: Reducer<{ loading: boolean, data: ISellerProps[] }> = (state = initialSellersData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLERS: return { loading: true, data: [] }\r\n case ActionTypes.GET_SELLERS_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_SELLERS_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialSellersDropdownData: { errors?: any, data: ISeller[] } = {\r\n data: []\r\n}\r\n\r\nexport const sellerDropdowndDataReducer: Reducer<{ errors?: any, data: ISeller[] }> = (state = initialSellersDropdownData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLER_DROPDOWN_DATA_SUCCESS: return { data: action.payload };\r\n case ActionTypes.GET_SELLER_DROPDOWN_DATA_SUCCESS: return { errors: action.payload, data: [] };\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype SellersAdminTotalCountData = { data: number };\r\n\r\nexport const sellersAdminTotalCountReducer: Reducer = (state: SellersAdminTotalCountData = { data: 0 }, action: any): SellersAdminTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype SellersUnactiveAdminTotalCountData = { data: number };\r\n\r\nexport const sellersUnactiveAdminTotalCountReducer: Reducer = (state: SellersUnactiveAdminTotalCountData = { data: 0 }, action: any): SellersUnactiveAdminTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype OtherActiveSellersTotalCountData = { data: number };\r\n\r\nexport const otherActiveSellersTotalCountReducer: Reducer = (state: OtherActiveSellersTotalCountData = { data: 0 }, action: any): OtherActiveSellersTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialSellersTableData: { loading: boolean, data: ISellerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getSellersTableReducer: Reducer<{ loading: boolean, data: ISellerProps[] }> = (state = initialSellersTableData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLERS_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_SELLERS_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_SELLERS_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialSellersUnactiveTableData: { loading: boolean, data: ISellerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getSellersUnactiveTableReducer: Reducer<{ loading: boolean, data: ISellerProps[] }> = (state = initialSellersUnactiveTableData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLERS_UNACTIVE_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_SELLERS_UNACTIVE_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_SELLERS_UNACTIVE_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\n const initialOtherActiveSellersTableData: { loading: boolean, data: ISellerProps[] } = { loading: false, data: new Array() }\r\n\r\n export const getOtherActiveSellersTableReducer: Reducer<{ loading: boolean, data: ISellerProps[] }> = (state = initialOtherActiveSellersTableData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n }\r\n\r\n\r\n//marketing\r\n\r\nconst initialMarketingSellersTableData: { loading: boolean, data: ISellerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getMarketingSellersTableReducer: Reducer<{ loading: boolean, data: ISellerProps[] }> = (state = initialMarketingSellersTableData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype MarketingSellersTotalCountData = { data: number };\r\n\r\nexport const marketingSellersTotalCountReducer: Reducer = (state: MarketingSellersTotalCountData = { data: 0 }, action: any): MarketingSellersTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from 'redux';\r\nimport InitStateSuccessAction from '../actions/InitStateSuccessAction';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport { IApplicationProps } from '../../types/IApplicationProps';\r\n\r\nconst initialState: IApplicationProps = {\r\n clientId: '',\r\n language: 'en-GB',\r\n};\r\n\r\nconst initStateReducer: Reducer = (state = initialState, action: InitStateSuccessAction) => {\r\n if (action.type === ActionTypes.INIT_STATE_SUCCESS) {\r\n return {...action.payload};\r\n }\r\n\r\n return state;\r\n};\r\n\r\nexport default initStateReducer\r\n\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport { IAuthenticationProps } from \"../../types/IAuthenticationProps\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport { ILoginProps } from './../../types/ILoginPprops';\r\n\r\nconst initialLoginValues = {\r\n data: {\r\n email: '',\r\n password: ''\r\n },\r\n loading: false\r\n}\r\n\r\nconst loginReducer: Reducer = (state: ILoginProps = initialLoginValues, action): ILoginProps => {\r\n switch (action.type) {\r\n case ActionTypes.LOGIN_SUBMIT: return { data: action.payload, loading: true };\r\n case ActionTypes.LOGIN_SUCCESS: return { data: { email: action.payload.email }, loading: false };\r\n case ActionTypes.LOGIN_ERROR: return { data: { error: \"Unijeli ste pogrešan email ili zaporku\", email: state.data.email, password: state.data.password }, loading: false };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default loginReducer;\r\n\r\n\r\n","import { IAuthenticationProps } from './../../types/IAuthenticationProps';\r\nimport { Reducer } from \"redux\";\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport IUser from './../../types/IUser';\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\n\r\ntype NullableUserAuthProps = IUser | null;\r\n\r\nexport const userAuthReducer: Reducer = (state: NullableUserAuthProps = null, action): NullableUserAuthProps => {\r\n if (action.type === ActionTypes.LOGIN_SUCCESS) {\r\n return { ...action.payload }\r\n }\r\n\r\n return state;\r\n}\r\nexport const initialBuyerProp: IBuyerProps = {\r\n firstName: '', lastName: '', oib: '',\r\n address: '', email: '', zipCode: '',\r\n city: '', country: '', phoneNumber: '',\r\n legalEntityName: '', carId: undefined,\r\n legalEntity: false\r\n};\r\n\r\nexport const currentUserReducer: Reducer = (state = initialBuyerProp, action): IBuyerProps => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CURRENT_USER: return { ...action.payload }\r\n case ActionTypes.GET_CURRENT_USER_SUCCESS: return {...action.payload}\r\n case ActionTypes.GET_CURRENT_USER_ERROR: return {...action.payload} \r\n default: return state;\r\n }\r\n};\r\n\r\nexport const initalUser: IAuthenticationProps = {\r\n email: \"\"\r\n}\r\n\r\nexport const confirmData: Reducer = (state = initalUser, action): IAuthenticationProps => {\r\n switch (action.type) {\r\n case ActionTypes.CONFIRM_DATA: return {...action.payload} \r\n case ActionTypes.CONFIRM_DATA_SUCCESS: return { ...action.payload} \r\n case ActionTypes.CONFIRM_DATA_ERROR: return {...action.payload}\r\n default: return state;\r\n }\r\n} \r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport { SaveSelectedPackageAction } from \"../actions/PackagesAction\";\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport IPackage from \"../../types/IPackage\";\r\nimport { getExtraPackages } from \"../sagas/package\";\r\nimport { startOfISOWeek } from \"date-fns\";\r\n\r\ntype NullablePackageSelected = ISelectedPackage | null;\r\ntype NullableExtraPackageSelected = {\r\n data: ISelectedPackage[]\r\n}\r\n\r\nconst initialPackagesData: { loading: boolean, data: IPackageSelection } =\r\n{\r\n loading: false,\r\n data: {\r\n packages: new Array(),\r\n extraPackages: new Array()\r\n }\r\n}\r\n\r\nexport const packageSelectReducer: Reducer = (state: NullablePackageSelected = null, action: SaveSelectedPackageAction): NullablePackageSelected => {\r\n if (action.type === ActionTypes.SAVE_PACKAGE) return { ...action.payload }\r\n return state;\r\n}\r\n\r\nexport const extraPackageSelectReducer: Reducer = (state: NullableExtraPackageSelected = { data: [] }, action: SaveSelectedPackageAction): NullableExtraPackageSelected => {\r\n switch (action.type) {\r\n case ActionTypes.SAVE_EXTRA_PACKAGE: return {\r\n ...state,\r\n data: [...state.data.filter(item => item.id !== action.payload.id), action.payload]\r\n }\r\n case ActionTypes.REMOVE_EXTRA_PACKAGE: return {\r\n ...state,\r\n data: state.data.filter(item => item.id !== action.payload.id),\r\n }\r\n //case ActionTypes.CLEAR_SELECTED_EXTRA_PACKAGES: return {\r\n // ...state,\r\n // data: []\r\n //} \r\n default: return state;\r\n }\r\n}\r\n\r\nexport const getPackageReducer: Reducer<{ loading: boolean, data: IPackageSelection | {} }> = (state = initialPackagesData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_PACKAGES: return {\r\n loading: true,\r\n data: {\r\n packages: [],\r\n extraPackages: []\r\n\r\n }\r\n }\r\n case ActionTypes.GET_PACKAGES_SUCCESS: return {\r\n loading: false,\r\n data: {\r\n ...state.data,\r\n packages: action.payload,\r\n }\r\n }\r\n case ActionTypes.GET_EXTRA_PACKAGES: return {\r\n loading: true,\r\n data: {\r\n extraPackages: [],\r\n packages: []\r\n }\r\n }\r\n case ActionTypes.GET_EXTRA_PACKAGES_SUCCESS: return {\r\n loading: false,\r\n data: {\r\n ...state.data,\r\n extraPackages: action.payload,\r\n }\r\n }\r\n case ActionTypes.GET_PACKAGES_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n case ActionTypes.GET_EXTRA_PACKAGES_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from 'redux';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport { PostCarAction, MissingCarDetailsAction, PostCarOnlyAction, PostCarOnlyAndContinueAction } from '../actions/CarAction';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport ICarData from '../../types/ICarData';\r\nimport ICar from '../../types/ICar';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport ICarReview from \"../../types/ICarReview\";\r\nimport { ICarCard } from '../../types/ICarCard';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\n\r\ntype NullableNewCarProps = ICarProps | null;\r\nconst initialCarData: { loading: boolean, data: ICarData } = {\r\n loading: false, data: {\r\n carBrands: [], carModels: [], engineTypes: []\r\n }\r\n}\r\n\r\nexport const postCarReducer: Reducer = (state: NullableNewCarProps = null, action: PostCarAction): NullableNewCarProps => {\r\n if (action.type === ActionTypes.POST_CAR_DATA) return { ...action.payload }\r\n return state;\r\n}\r\n\r\ntype NullableNewCarOnlyProps = ICar | null;\r\n\r\nexport const postCarOnlyReducer: Reducer = (state: NullableNewCarOnlyProps = null, action: PostCarOnlyAction): NullableNewCarOnlyProps => {\r\n if (action.type === ActionTypes.POST_CAR_ONLY) return { ...action.payload }\r\n return state;\r\n}\r\n\r\nexport const postCarOnlyAndContinueReducer: Reducer = (state: NullableNewCarOnlyProps = null, action: PostCarOnlyAndContinueAction): NullableNewCarOnlyProps => {\r\n if (action.type === ActionTypes.POST_CAR_ONLY_AND_CONTINUE) return { ...action.payload }\r\n return state;\r\n}\r\n\r\nexport const carDataReducer: Reducer<{ loading: boolean, data: ICarData | null }> = (state = initialCarData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CAR_DATA: return { loading: true, data: null }\r\n case ActionTypes.GET_CAR_DATA_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_CAR_DATA_ERROR: return { loading: false, data: null, errors: action.payload }\r\n case ActionTypes.GET_CAR_MODELS: return { loading: true, data: state.data }\r\n case ActionTypes.GET_CAR_MODELS_SUCCESS: return { loading: false, data: { ...state.data, carModels: action.payload } }\r\n default: return state;\r\n }\r\n}\r\n\r\nexport const initialBuyerProp: IBuyerProps = {\r\n firstName: '', lastName: '', oib: '',\r\n address: '', email: '', zipCode: '',\r\n city: '', country: '', phoneNumber: '',\r\n legalEntityName: '', carId: undefined,\r\n legalEntity: false, warrantyId: undefined,\r\n parentId: ''\r\n};\r\n\r\nexport const carBuyerReducer: Reducer = (state = initialBuyerProp, action): IBuyerProps => {\r\n switch (action.type) {\r\n case ActionTypes.SELL_CAR: return { ...action.payload }\r\n case ActionTypes.SELL_CAR_SUCCESS: return { ...action.payload, carSoldSuccess: true }\r\n case ActionTypes.SELL_CAR_ERROR: return { ...action.payload, carSoldSuccess: false }\r\n case ActionTypes.GET_BUYER_BY_CAR_ID: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_CAR_ID_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_CAR_ID_ERROR: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_OIB: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_OIB_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_OIB_ERROR: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_EMAIL: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_EMAIL_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_BUYER_BY_EMAIL_ERROR: return { ...action.payload }\r\n default: return state\r\n }\r\n}\r\n\r\nexport const initialCarReview: ICarReview = {\r\n brandIsValid: true,\r\n modelIsValid: true,\r\n engineTypeIsValid: true,\r\n enginePowerIsValid: true,\r\n distanceIsValid: true,\r\n chassisNumberIsValid: true,\r\n manufactureYearIsValid: true,\r\n registrationYearIsValid: true,\r\n priceIsValid: true,\r\n engineDisplacementIsValid: true,\r\n maxTonnageIsValid: true\r\n}\r\n\r\nexport const carReviewReducer: Reducer = (state = initialCarReview, action): ICarReview => {\r\n switch (action.type) {\r\n case ActionTypes.REVIEW_CAR: return { ...action.payload, carReview: initialCarReview }\r\n case ActionTypes.REVIEW_CAR_SUCCESS: return { ...action.payload }\r\n case ActionTypes.REVIEW_CAR_ERROR: return { ...action.payload }\r\n case ActionTypes.GET_CURRENT_CAR_REVIEW: return { ...initialCarReview }\r\n case ActionTypes.GET_CURRENT_CAR_REVIEW_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_CURRENT_CAR_REVIEW_ERROR: return { ...action.payload }\r\n default: return state\r\n }\r\n}\r\n\r\nconst initialMissingData: { isCarDetailsMissing: boolean } = {\r\n isCarDetailsMissing: false\r\n}\r\n\r\n\r\nexport const isCarDetailsMissing: Reducer = (state = initialMissingData, action): {isCarDetailsMissing: boolean} => {\r\n switch (action.type) {\r\n case ActionTypes.SET_IS_MISSING_CAR_DETAILS: return { ...action.payload }\r\n default: return state\r\n }\r\n}\r\n\r\n\r\ntype NullableCarCards = { data: {hasMore: boolean, cars: ICarCard[] }, errors?: string } | null;\r\n\r\nexport const sellerCarData: Reducer = (state: NullableCarCards = { data: { hasMore: false, cars: [] } }, action: any): NullableCarCards => {\r\n switch (action.type) {\r\n case ActionTypes.FILTER_CARS: return { data: { hasMore: false, cars: [] } }\r\n case ActionTypes.FILTER_CARS_SUCCESS: return { data: action.payload }\r\n case ActionTypes.LOAD_MORE_FILTER_CARS_SUCCESS: return { ...state, data: {\r\n cars: [...state!.data.cars, ...action.payload.cars],\r\n hasMore: action.payload.hasMore\r\n } }\r\n case ActionTypes.FILTER_CARS_ERROR: return { data: { hasMore: false, cars: [] }, errors: action.payload }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialCarProblemExtraPackageData: ICarProblemExtraPackageData = {\r\n loading: false,\r\n data: []\r\n}\r\n\r\ninterface ICarProblemExtraPackageData {\r\n loading: boolean,\r\n data: ICarProblemExtraPackage[]\r\n}\r\n\r\nexport const getCarProblemExtraPackageReducer: Reducer = (state = initialCarProblemExtraPackageData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE: return { loading: true, data: [] }\r\n case ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE_SUCCESS: return { loading: false, data: action.payload || [] }\r\n case ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\ntype NullableCarDetailsData = {\r\n data: ICarCard | undefined,\r\n loading: boolean,\r\n error?: string\r\n} | null;\r\n\r\nexport const carDetailsReducer: Reducer = (state: NullableCarDetailsData = { data: undefined, loading: false }, action): NullableCarDetailsData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CAR_DETAILS: return { data: undefined, loading: true }\r\n case ActionTypes.GET_CAR_DETAILS_SUCCESS: return { data: action.payload, loading: false }\r\n case ActionTypes.GET_CAR_DETAILS_ERROR: return { data: action.payload, loading: false }\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nconst initialDropdownCarData: { data: ICarData } = {\r\n data: {\r\n carBrands: [], carModels: [], engineTypes: []\r\n }\r\n}\r\n\r\nexport const carDropdowndDataReducer: Reducer<{ data: ICarData }> = (state = initialDropdownCarData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_ENGINE_TYPES_SUCCESS: return { data: { ...state.data, engineTypes: action.payload } }\r\n case ActionTypes.GET_ENGINE_TYPES_ERROR: return { data: { ...state.data, engineTypes: [] }, errors: action.payload }\r\n case ActionTypes.GET_CAR_BRANDS_SUCCESS: return { data: { ...state.data, carBrands: action.payload } }\r\n case ActionTypes.GET_CAR_BRANDS_ERROR: return { data: { ...state.data, carBrands: [] }, errors: action.payload }\r\n case ActionTypes.GET_CAR_MODELS_BY_BRAND_SUCCESS: return { data: { ...state.data, carModels: action.payload } }\r\n case ActionTypes.GET_CAR_MODELS_BY_BRAND_ERROR: return { data: { ...state.data, carModels: [] }, errors: action.payload }\r\n default: return state;\r\n }\r\n}\r\n\r\ntype NullableCar = number | null;\r\nexport const carReducer: Reducer = (state: NullableCar = null, action): NullableCar => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CAR: return { ...action.payload }\r\n case ActionTypes.GET_CAR_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_CAR_ERROR: return { ...action.payload }\r\n default: return state;\r\n }\r\n}\r\n\r\ntype NullableChassisCar = ICarProps | null;\r\nexport const carChassisReducer: Reducer = (state: NullableChassisCar = null, action): NullableChassisCar => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CHASSIS_CAR: return { ...action.payload }\r\n case ActionTypes.GET_CHASSIS_CAR_SUCCESS: return { ...action.payload }\r\n case ActionTypes.GET_CHASSIS_CAR_ERROR: return { ...action.payload }\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\n\r\nconst initialCarsDropdownData: { loading: boolean, data: ICarProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getCarsDropdownReducer: Reducer<{ loading: boolean, data: ICarProps[] }> = (state = initialCarsDropdownData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CARS_DROPDOWN_ADMIN: return { loading: true, data: [] }\r\n case ActionTypes.GET_CARS_DROPDOWN_ADMIN_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_CARS_DROPDOWN_ADMIN_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n case ActionTypes.GET_CARS_DROPDOWN_SELLER: return { loading: true, data: [] }\r\n case ActionTypes.GET_CARS_DROPDOWN_SELLER_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_CARS_DROPDOWN_SELLER_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}","\r\nimport { Reducer, Action } from 'redux';\r\nimport IWarrnatyStatusFormProps from './../../types/IWarrantyStatusFormProps';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { UpdateWarrantyStatusAction } from '../actions/WarrantyAction';\r\nimport IWarranty from '../../types/IWarranty';\r\n\r\ntype NullableWarrantyStatusesProps = IWarrnatyStatusFormProps | null;\r\n\r\nexport const warrantyStatusesReducer: Reducer = (state: NullableWarrantyStatusesProps = null, action): NullableWarrantyStatusesProps => {\r\n switch (action.type) {\r\n case ActionTypes.GET_WARRANTY_STATUSES_SUCCESS: return { ...action.payload }\r\n default: return state\r\n }\r\n}\r\n\r\nconst status = {\r\n message: {\r\n content: \"\",\r\n errorMessage: false\r\n }\r\n}\r\n\r\ntype NullableWarrantyUpdateProps = IWarranty | null;\r\n\r\nexport const updateWarrantyStatusReducer: Reducer = (state: NullableWarrantyUpdateProps = status, action: UpdateWarrantyStatusAction): NullableWarrantyUpdateProps => {\r\n if (action.type === ActionTypes.UPDATE_WARRANTY_STATUS) return { ...action.payload, message: undefined }\r\n if (action.type === ActionTypes.UPDATE_WARRANTY_STATUS_SUCCESS || action.type === ActionTypes.SAVE_WARRANTY_SUCCESS) return { ...action.payload, message: { content: \"Podaci su uspješno spremljeni!\", errorMessage: false } }\r\n return state;\r\n}\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport IWarrantyOverview from './../../types/IWarrantyOverview';\r\nimport IActivateWarranty from \"../../types/IActivateWarranty\";\r\n\r\nconst initialWarrantiesData: { loading: boolean, data: IWarrantyOverview[]} = { loading: false, data: new Array()}\r\n\r\n\r\nexport const warrantiesDataReducer: Reducer<{loading: boolean, data: IWarrantyOverview[]}> = (state = initialWarrantiesData, action) => {\r\n switch(action.type) {\r\n case ActionTypes.GET_WARRANTIES: return {loading: true, data: []}\r\n case ActionTypes.GET_WARRANTIES_SUCCESS: return {loading: false, data: action.payload}\r\n case ActionTypes.GET_WARRANTIES_ERROR: return {loading: false, errors: action.payload, data: []}\r\n default: return state;\r\n }\r\n} \r\n\r\ntype NullableWarranty = number | null | IActivateWarranty;\r\nexport const warrantyReducer: Reducer = (state: NullableWarranty = null, action): NullableWarranty => {\r\n switch(action.type) {\r\n case ActionTypes.GET_WARRANTY: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_SUCCESS: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_ERROR: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT_SUCCESS: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT_ERROR: return {...action.payload}\r\n default: return state;\r\n }\r\n}\r\n\r\ntype WarrantyData = IActivateWarranty | null; \r\nexport const warrantyContractReducer: Reducer = (state: WarrantyData = null, action): WarrantyData => {\r\n switch(action.type) {\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT_SUCCESS: return {...action.payload}\r\n case ActionTypes.GET_WARRANTY_FOR_CONTRACT_ERROR: return {...action.payload}\r\n default: return state;\r\n }\r\n}\r\n\r\ntype WarrantyAdminTableTotalCountData = { data: number };\r\n\r\nexport const warrantyAdminTableTotalCountReducer: Reducer = (state: WarrantyAdminTableTotalCountData = { data: 0 }, action: any): WarrantyAdminTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype WarrantyAdminBuyerTableTotalCountData = { data: number };\r\n\r\nexport const warrantyAdminBuyerTableTotalCountReducer: Reducer = (state: WarrantyAdminBuyerTableTotalCountData = { data: 0 }, action: any): WarrantyAdminBuyerTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype WarrantyAdminSellerTableTotalCountData = { data: number };\r\n\r\nexport const warrantyAdminSellerTableTotalCountReducer: Reducer = (state: WarrantyAdminSellerTableTotalCountData = { data: 0 }, action: any): WarrantyAdminSellerTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype WarrantyAdminArchiveTableTotalCountData = { data: number };\r\n\r\nexport const warrantyAdminArchiveTableTotalCountReducer: Reducer = (state: WarrantyAdminArchiveTableTotalCountData = { data: 0 }, action: any): WarrantyAdminArchiveTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from \"redux\";\r\nimport { IAuthenticationProps } from \"../../types/IAuthenticationProps\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\n\r\nconst initialRegisterValues: IAuthenticationProps = {\r\n email: '',\r\n password: ''\r\n}\r\n\r\nconst registerReducer: Reducer = (state: IAuthenticationProps = initialRegisterValues, action): IAuthenticationProps => {\r\n switch (action.type) {\r\n case ActionTypes.REGISTER_SUBMIT: return { ...action.payload };\r\n case ActionTypes.REGISTER_SUCCESS: return { email: action.payload.email };\r\n case ActionTypes.REGISTER_ERROR: return { error: `Korisnik sa OIB-om ${state.oib} već postoji.`, email: state.email, password: state.password };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default registerReducer;\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport IAdminAttrs from \"./../../types/IAdminAttrs\"\r\n\r\nconst initialAdminTableData: { loading: boolean, data: IAdminAttrs[] } = { loading: false, data: new Array() }\r\n\r\nexport const adminTableReducer: Reducer<{ loading: boolean, data: IAdminAttrs[] }> = (state = initialAdminTableData, action) => {\r\n\r\n switch (action.type) {\r\n case ActionTypes.GET_ADMIN_TABLE_DATA: return { ...state, loading: true, data: [] }\r\n case ActionTypes.GET_ADMIN_TABLE_DATA_SUCCESS: return { ...state, loading: false, data: action.payload }\r\n case ActionTypes.GET_ADMIN_TABLE_DATA_ERROR: return { ...state, loading: false, errors: action.payload, data: [] }\r\n case ActionTypes.GET_WARRANTIES_FOR_BUYER: return {...state, loading: true, data: []}\r\n case ActionTypes.GET_WARRANTIES_FOR_BUYER_SUCCESS: return { ...state, loading: false, data: action.payload }\r\n case ActionTypes.GET_WARRANTIES_FOR_BUYER_ERROR: return { ...state, loading: false, errors: action.payload, data: [] }\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA: return { ...state, loading: true, data: [] }\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_SUCCESS: return { ...state, loading: false, data: action.payload }\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_ERROR: return { ...state, loading: false, errors: action.payload, data: [] }\r\n case ActionTypes.GET_WARRANTIES_FOR_SELLER: return { ...state, loading: true, data: [] }\r\n case ActionTypes.GET_WARRANTIES_FOR_SELLER_SUCCESS: return { ...state, loading: false, data: action.payload }\r\n case ActionTypes.GET_WARRANTIES_FOR_SELLER_ERROR: return { ...state, loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialAdminArchiveTableData: { loading: boolean, data: IAdminAttrs[] } = { loading: false, data: new Array() }\r\n\r\nexport const adminArchiveTableReducer: Reducer<{ loading: boolean, data: IAdminAttrs[] }> = (state = initialAdminArchiveTableData, action) => {\r\n\r\n switch (action.type) {\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA: return { ...state, loading: true, data: [] }\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_SUCCESS: return { ...state, loading: false, data: action.payload }\r\n case ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA_ERROR: return { ...state, loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\n\r\n","\r\nimport { Reducer } from 'redux';\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { IDamageData } from '../../types/Damage/IDamageData';\r\n\r\nexport const initialDamageProps: IDamageData = {\r\n damage: {\r\n description: '', seller: undefined, buyer: undefined, status: undefined,\r\n manufactureYear: '', cost: null, reported: '', model: '',\r\n brand: '', package: '', carDistance: null, serviceHandler: ''\r\n },\r\n statuses: []\r\n};\r\n\r\nexport const damageReducer: Reducer = (state = initialDamageProps, action): IDamageData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_DAMAGE: return { ...action.payload }\r\n case ActionTypes.GET_ACTIVE_DAMAGE: return { ...action.payload }\r\n case ActionTypes.GET_DAMAGE_SUCCESS: return { ...state, damage: { ...action.payload } }\r\n case ActionTypes.GET_ACTIVE_DAMAGE_SUCCESS: return { ...state, damage: { ...action.payload } }\r\n case ActionTypes.GET_DAMAGE_ERROR: return { ...state, damage: initialDamageProps.damage, errorMessage: action.payload }\r\n case ActionTypes.GET_ACTIVE_DAMAGE_ERROR: return { ...state, damage: initialDamageProps.damage, errorMessage: action.payload }\r\n case ActionTypes.GET_DAMAGE_STATUSES_SUCCESS: return { ...state, statuses: action.payload }\r\n case ActionTypes.GET_DAMAGE_STATUSES_ERROR: return { ...state, statuses: initialDamageProps.statuses, errorMessage: action.payload }\r\n case ActionTypes.GET_CHASSIS_DAMAGE: return { ...action.payload }\r\n case ActionTypes.GET_CHASSIS_DAMAGE_SUCCESS: return { ...state, damage: { ...action.payload } }\r\n case ActionTypes.GET_CHASSIS_DAMAGE_ERROR: return { ...state, damage: initialDamageProps.damage, errorMessage: action.payload }\r\n default: return state\r\n }\r\n}\r\n\r\n\r\ntype SellerNameData = { data: string };\r\n\r\nexport const sellerNameReducer: Reducer = (state: SellerNameData = { data: '' }, action: any): SellerNameData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SELLER_NAME: return { data: '' }\r\n case ActionTypes.GET_SELLER_NAME_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_SELLER_NAME_ERROR: return { data: '' }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype BuyerNameData = { data: string };\r\n\r\nexport const buyerNameReducer: Reducer = (state: BuyerNameData = { data: '' }, action: any): BuyerNameData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_BUYER_NAME: return { data: '' }\r\n case ActionTypes.GET_BUYER_NAME_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_BUYER_NAME_ERROR: return { data: '' }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\ntype CarNameData = { data: string };\r\n\r\nexport const carNameReducer: Reducer = (state: CarNameData = { data: '' }, action: any): CarNameData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CAR_NAME: return { data: '' }\r\n case ActionTypes.GET_CAR_NAME_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_CAR_NAME_ERROR: return { data: '' }\r\n\r\n default: return state;\r\n }\r\n}\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport IDamageAdminTable from '../../types/Damage/IDamageAdminTable';\r\nimport IDamageBuyerTable from '../../types/Damage/IDamageBuyerTable';\r\nimport { IDamageSellerTable } from './../../types/Damage/IDamageSellerTable';\r\nimport IDamageSellerByAdminTable from '../../types/Damage/IDamageSellerByAdminTable';\r\nimport IDamageCarTable from '../../types/Damage/IDamageCarTable';\r\n\r\nconst initialDamagesData: ITableData = {\r\n loading: false, data: {\r\n admin: new Array(),\r\n seller: new Array(),\r\n buyer: new Array(),\r\n sellerByAdmin: new Array(),\r\n car: new Array()\r\n }\r\n}\r\n\r\ninterface ITableData {\r\n loading: boolean, data: {\r\n admin?: IDamageAdminTable[],\r\n seller?: IDamageSellerTable[],\r\n buyer?: IDamageBuyerTable[],\r\n sellerByAdmin?: IDamageSellerByAdminTable[],\r\n car?: IDamageCarTable[]\r\n }\r\n}\r\n\r\nexport const getDamagesReducer: Reducer = (state = initialDamagesData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_DAMAGES_ADMIN: return { loading: true, data: { admin: [], seller: [] } }\r\n case ActionTypes.GET_DAMAGES_ADMIN_SUCCESS: return { loading: false, data: { admin: action.payload } }\r\n case ActionTypes.GET_DAMAGES_ADMIN_ERROR: return { loading: false, errors: action.payload, data: { admin: [] } }\r\n\r\n case ActionTypes.GET_DAMAGES_SELLER: return { loading: true, data: { admin: [], seller: [] } }\r\n case ActionTypes.GET_DAMAGES_SELLER_SUCCESS: return { loading: false, data: { seller: action.payload } }\r\n case ActionTypes.GET_DAMAGES_SELLER_ERROR: return { loading: false, errors: action.payload, data: { seller: [] } }\r\n\r\n case ActionTypes.GET_DAMAGES_BUYER: return { loading: true, data: { admin: [], seller: [], buyer: [] } }\r\n case ActionTypes.GET_DAMAGES_BUYER_SUCCESS: return { loading: false, data: { buyer: action.payload } }\r\n case ActionTypes.GET_DAMAGES_BUYER_ERROR: return { loading: false, errors: action.payload, data: { buyer: [] } }\r\n\r\n case ActionTypes.GET_DAMAGES_WARRANTY: return { loading: true, data: { admin: [], seller: [], buyer: [], warranty: [] } }\r\n case ActionTypes.GET_DAMAGES_WARRANTY_SUCCESS: return { loading: false, data: { warranty: action.payload } }\r\n case ActionTypes.GET_DAMAGES_WARRANTY_ERROR: return { loading: false, errors: action.payload, data: { warranty: [] } }\r\n\r\n case ActionTypes.GET_DAMAGES_SELLERBYADMIN: return { loading: true, data: { admin: [], seller: [], buyer: [], warranty: [], sellerByAdmin: [] } }\r\n case ActionTypes.GET_DAMAGES_SELLERBYADMIN_SUCCESS: return { loading: false, data: { sellerByAdmin: action.payload } }\r\n case ActionTypes.GET_DAMAGES_SELLERBYADMIN_ERROR: return { loading: false, errors: action.payload, data: { sellerByAdmin: [] } }\r\n\r\n case ActionTypes.GET_DAMAGES_CAR: return { loading: true, data: { admin: [], seller: [], buyer: [], warranty: [], sellerByAdmin: [], car: [] } }\r\n case ActionTypes.GET_DAMAGES_CAR_SUCCESS: return { loading: false, data: { car: action.payload } }\r\n case ActionTypes.GET_DAMAGES_CAR_ERROR: return { loading: false, errors: action.payload, data: { car: [] } }\r\n\r\n default: return state;\r\n\r\n }\r\n}\r\n\r\ntype DamagesAdminTableTotalCountData = { data: number };\r\n\r\nexport const damagesAdminTableTotalCountReducer: Reducer = (state: DamagesAdminTableTotalCountData = { data: 0 }, action: any): DamagesAdminTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from \"redux\";\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport ICarAdminTable from '../../types/ICarAdminTable';\r\nimport ICarSellerTable from '../../types/ICarSellerTable';\r\nimport ICarProps from '../../types/ICarProps';\r\n\r\nconst initialCarsData: ITableData = {\r\n loading: false, data: {\r\n admin: new Array(),\r\n seller: new Array()\r\n }\r\n}\r\n\r\ninterface ITableData {\r\n loading: boolean, data: {\r\n admin?: ICarAdminTable[],\r\n seller? : ICarSellerTable[]\r\n }\r\n}\r\n\r\nexport const getCarsReducer: Reducer = (state = initialCarsData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CARS_ADMIN: return { loading: true, data: { admin: [] } }\r\n case ActionTypes.GET_CARS_ADMIN_SUCCESS: return { loading: false, data: { admin: action.payload } }\r\n case ActionTypes.GET_CARS_ADMIN_ERROR: return { loading: false, errors: action.payload, data: { admin: [] } }\r\n case ActionTypes.GET_CARS_SELLER: return { loading: true, data: { seller: [] } }\r\n case ActionTypes.GET_CARS_SELLER_SUCCESS: return { loading: false, data: { seller: action.payload } }\r\n case ActionTypes.GET_CARS_SELLER_ERROR: return { loading: false, errors: action.payload, data: { seller: [] } }\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS: return { loading: true, data: { admin: [] } }\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS_SUCCESS: return { loading: false, data: { admin: action.payload } }\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS_ERROR: return { loading: false, errors: action.payload, data: { admin: [] } }\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS: return { loading: true, data: { admin: [] } }\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS_SUCCESS: return { loading: false, data: { admin: action.payload } }\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS_ERROR: return { loading: false, errors: action.payload, data: { admin: [] } }\r\n\r\n default: return state;\r\n\r\n }\r\n}\r\n\r\ntype AdminTableTotalCountData = { data: number };\r\n\r\nexport const carsAdminTableTotalCountReducer: Reducer = (state: AdminTableTotalCountData = { data: 0 }, action: any): AdminTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype AdminOnlyCarsTableTotalCountData = { data: number };\r\n\r\nexport const carsAdminOnlyCarsTableTotalCountReducer: Reducer = (state: AdminOnlyCarsTableTotalCountData = { data: 0 }, action: any): AdminOnlyCarsTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype AdminSoldOnlyTableTotalCountData = { data: number };\r\n\r\nexport const carsAdminSoldOnlyTableTotalCountReducer: Reducer = (state: AdminSoldOnlyTableTotalCountData = { data: 0 }, action: any): AdminSoldOnlyTableTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from \"redux\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport ILoading from './../../types/utilities/ILoading';\r\n\r\nconst initialLoadingValues: ILoading = {\r\n show: false\r\n}\r\n\r\nconst loadingReducer: Reducer = (state: ILoading = initialLoadingValues, action): ILoading => {\r\n switch (action.type) {\r\n case ActionTypes.LOADING_START: return { show: true }\r\n case ActionTypes.LOADING_END: return { show: false }\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default loadingReducer;\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport IActionNotification from \"../../types/utilities/IActionNotification\";\r\n\r\nconst initialNotificationValues: IActionNotification = {\r\n message: undefined,\r\n style: undefined,\r\n show: false\r\n}\r\n\r\nconst actionNotificationReducer: Reducer = (state: IActionNotification = initialNotificationValues, action): IActionNotification => {\r\n switch (action.type) {\r\n case ActionTypes.NOTIFICATION_SHOW: return { ...action.payload, show: true }\r\n case ActionTypes.NOTIFICATION_CLOSE: return initialNotificationValues\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default actionNotificationReducer;\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from './../actions/ActionTypes';\r\nimport { IForgotPassword } from '../../types/IForgotPassword';\r\n\r\nconst initialValues: IForgotPassword = {\r\n email: '',\r\n loading: false\r\n}\r\n\r\nconst forgotPasswordReducer: Reducer = (state: IForgotPassword = initialValues, action): IForgotPassword => {\r\n switch (action.type) {\r\n case ActionTypes.EMAIL_SUBMIT: return { email: action.payload, loading: true };\r\n case ActionTypes.EMAIL_SUBMIT_SUCCESS: return { email: action.payload, loading: false, emailDelivered: true };\r\n case ActionTypes.EMAIL_SUBMIT_ERROR: return { email: state.email, loading: false };\r\n case ActionTypes.PASSWORD_CONFIRM_SUBMIT: return { email: action.payload, loading: true };\r\n case ActionTypes.PASSWORD_CONFIRM_SUCCESS: return { email: action.payload, loading: false };\r\n case ActionTypes.PASSWORD_CONFIRM_ERROR: return { email: state.email, loading: false };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default forgotPasswordReducer;\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport IPhotoUploadProps from './../../types/IPhotoUploadProps';\r\n\r\nconst initialValues: IPhotoUploadProps = {\r\n pictures: [],\r\n urls: []\r\n}\r\n\r\nconst carPhotosReducer: Reducer = (state: IPhotoUploadProps = initialValues, action): IPhotoUploadProps => {\r\n switch (action.type) {\r\n case ActionTypes.SAVE_PHOTOS: return { ...action.payload };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default carPhotosReducer;\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport IActivateWarranty from \"../../types/IActivateWarranty\";\r\n\r\nconst initialBuyersData: { loading: boolean, data: IBuyerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getBuyersReducer: Reducer<{ loading: boolean, data: IBuyerProps[] }> = (state = initialBuyersData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_BUYERS: return { loading: true, data: [] }\r\n case ActionTypes.GET_BUYERS_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_BUYERS_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialLegalBuyersData: { loading: boolean, data: IBuyerProps[] } = { loading: false, data: new Array() }\r\n\r\nexport const getLegalBuyersReducer: Reducer<{ loading: boolean, data: IBuyerProps[] }> = (state = initialLegalBuyersData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_LEGAL_BUYERS: return { loading: true, data: [] }\r\n case ActionTypes.GET_LEGAL_BUYERS_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_LEGAL_BUYERS_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialActivationData: IActivateWarranty = {\r\n email: \"\",\r\n warrantyId: \"\"\r\n}\r\n\r\nexport const activateWarranty: Reducer = (state = initialActivationData, action): IActivateWarranty => {\r\n switch (action.type) {\r\n case ActionTypes.ACTIVATE_WARRANTY: return {...action.payload} \r\n case ActionTypes.ACTIVATE_WARRANTY_SUCCESS: return { ...action.payload} \r\n case ActionTypes.ACTIVATE_WARRANTY_ERROR: return {...action.payload}\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nexport const initialBuyer: IBuyerProps = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n fullName: \"\",\r\n legalEntityName: \"\",\r\n legalEntity: false,\r\n billingAddress: \"\",\r\n carShowroomName: \"\",\r\n oib: \"\",\r\n address: \"\",\r\n email: \"\",\r\n zipCode: \"\",\r\n city: \"\",\r\n country: \"\",\r\n phoneNumber: \"\",\r\n carId: 0,\r\n activated: false,\r\n carSoldSuccess: false,\r\n buyerEditing: false,\r\n createdAt: \"\",\r\n createdBy: \"\",\r\n note: \"\",\r\n id: \"\"\r\n}\r\n\r\nconst initialBuyerData: { loading: boolean, buyer: IBuyerProps | null } = { loading: false, buyer: initialBuyer }\r\n\r\nexport const buyerReducer: Reducer<{ loading: boolean, buyer: IBuyerProps | null }> = (state = initialBuyerData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.SAVE_BUYER: return { ...state, loading: true, buyer: null, message: undefined, error: false }\r\n case ActionTypes.SAVE_BUYER_SUCCESS: return {\r\n ...state, loading: false, buyer: initialBuyer, message: {\r\n content: \"Kupac uspješno registriran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.SAVE_BUYER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, buyer: null, error: true\r\n }\r\n case ActionTypes.GET_BUYER: return {\r\n loading: true, buyer: initialBuyer\r\n }\r\n case ActionTypes.GET_BUYER_SUCCESS: return {\r\n loading: false, buyer: action.payload\r\n }\r\n case ActionTypes.GET_BUYER_ERROR: return {\r\n loading: false, buyer: initialBuyer\r\n }\r\n case ActionTypes.DELETE_BUYER: return { ...state, loading: true, buyer: null, message: undefined, error: false }\r\n case ActionTypes.DELETE_BUYER_SUCCESS: return {\r\n ...state, loading: false, buyer: initialBuyer, message: {\r\n content: \"Kupac uspješno deaktiviran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.DELETE_BUYER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, buyer: null, error: true\r\n }\r\n case ActionTypes.ACTIVATE_BUYER: return { ...state, loading: true, buyer: null, message: undefined, error: false }\r\n case ActionTypes.ACTIVATE_BUYER_SUCCESS: return {\r\n ...state, loading: false, buyer: initialBuyer, message: {\r\n content: \"Kupac uspješno aktiviran!\",\r\n errorMessage: false\r\n }\r\n }\r\n case ActionTypes.ACTIVATE_BUYER_ERROR: return {\r\n ...state, loading: false, message: {\r\n content: action.payload.response.data,\r\n errorMessage: true\r\n }, errors: action.payload, buyer: null, error: true\r\n }\r\n \r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nexport default buyerReducer;\r\n\r\ntype BuyersAdminTotalCountData = { data: number };\r\n\r\nexport const buyersAdminTotalCountReducer: Reducer = (state: BuyersAdminTotalCountData = { data: 0 }, action: any): BuyersAdminTotalCountData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT: return { data: 0 }\r\n case ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT_SUCCESS: return { data: action.payload }\r\n case ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT_ERROR: return { data: 0 }\r\n\r\n default: return state;\r\n }\r\n}","import { Reducer } from \"redux\";\r\nimport ActionTypes from \"../actions/ActionTypes\";\r\nimport { IStatisticsMarketingWarranties } from '../../types/IStatisticsMarketingWarranties';\r\nimport { IStatisticsWarranties } from '../../types/IStatisticsWarranties';\r\n\r\nconst initValues = {\r\n thisMonth: {\r\n totalSoldWarranties: 'X'\r\n },\r\n loading: false\r\n}\r\n\r\nexport const thisMonthStatisticsReducer: Reducer = (state: any = initValues, action): any => {\r\n switch (action.type) {\r\n case ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC: return { thisMonth: { totalSoldWarranties: 'X' }, loading: true };\r\n case ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC_SUCCESS: return { thisMonth: action.payload, loading: false };\r\n case ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC_ERROR: return { ...initValues };\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initSoldValues = {\r\n data: {\r\n totalSoldWarranties: 0,\r\n warrantiesBySeller: []\r\n },\r\n loading: false\r\n}\r\nexport const soldStatisticsReducer: Reducer = (state: any = initSoldValues, action): any => {\r\n switch (action.type) {\r\n case ActionTypes.GET_SOLD_STATISTIC: return {\r\n ...state, loading: true, data: {\r\n totalSoldWarranties: 0, warrantiesBySeller: []\r\n }\r\n };\r\n case ActionTypes.GET_SOLD_STATISTIC_SUCCESS: return { data: action.payload, loading: false };\r\n case ActionTypes.GET_SOLD_STATISTIC_ERROR: return { ...initSoldValues };\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initMarketingValues = {\r\n thisMonth: {\r\n totalSoldWarranties: 'X'\r\n },\r\n loading: false\r\n}\r\n\r\n\r\nexport const marketingThisMonthStatisticsReducer: Reducer = (state: any = initMarketingValues, action): any => {\r\n switch (action.type) {\r\n case ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC: return { thisMonth: { totalSoldWarranties: 'X' }, loading: true };\r\n case ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_SUCCESS: return { thisMonth: action.payload, loading: false };\r\n case ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC_ERROR: return { ...initValues };\r\n default: return state;\r\n }\r\n\r\n\r\n}\r\n\r\nconst initLastYearThisMonthValues = {\r\n thisMonth: {\r\n totalSoldWarranties: 'X'\r\n },\r\n loading: false\r\n}\r\n\r\nexport const lastYearThisMonthStatisticsReducer: Reducer = (state: any = initLastYearThisMonthValues, action): any => {\r\n switch (action.type) {\r\n case ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC: return { thisMonth: { totalSoldWarranties: 'X' }, loading: true };\r\n case ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC_SUCCESS: return { thisMonth: action.payload, loading: false };\r\n case ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC_ERROR: return { ...initValues };\r\n default: return state;\r\n }\r\n}\r\n\r\nconst initialStatisticsMarketingWarrantiesData: IStatisticsMarketingWarrantiesData = {\r\n loading: false, data: new Array()\r\n \r\n}\r\n\r\ninterface IStatisticsMarketingWarrantiesData {\r\n loading: boolean, data: IStatisticsMarketingWarranties[]\r\n}\r\n\r\nexport const getStatisticsMarketingWarrantiesReducer: Reducer = (state = initialStatisticsMarketingWarrantiesData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n\r\n }\r\n}\r\n\r\nconst initialStatisticsWarrantiesData: IStatisticsWarrantiesData = {\r\n loading: false, data: new Array()\r\n\r\n}\r\n\r\ninterface IStatisticsWarrantiesData {\r\n loading: boolean, data: IStatisticsWarranties[]\r\n}\r\n\r\nexport const getStatisticsWarrantiesReducer: Reducer = (state = initialStatisticsWarrantiesData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_STATISTICS_WARRANTIES_TABLE: return { loading: true, data: [] }\r\n case ActionTypes.GET_STATISTICS_WARRANTIES_TABLE_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_STATISTICS_WARRANTIES_TABLE_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Reducer } from \"redux\";\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport { ICurrency } from '../../types/ICurrency';\r\n\r\nconst initialCurrencyData: ICurrencyData = {\r\n loading: false,\r\n data: []\r\n}\r\n\r\ninterface ICurrencyData {\r\n loading: boolean,\r\n data: ICurrency[]\r\n}\r\n\r\nexport const getCurrenciesReducer: Reducer = (state = initialCurrencyData, action) => {\r\n switch (action.type) {\r\n case ActionTypes.GET_CURRENCIES: return { loading: true, data: [] }\r\n case ActionTypes.GET_CURRENCIES_SUCCESS: return { loading: false, data: action.payload }\r\n case ActionTypes.GET_CURRENCIES_ERROR: return { loading: false, errors: action.payload, data: [] }\r\n\r\n default: return state;\r\n }\r\n}","import {\r\n sellerReducer, legalEntitiesReducer, getSellersReducer, sellerDropdowndDataReducer, sellersAdminTotalCountReducer, getSellersTableReducer,\r\n sellersUnactiveAdminTotalCountReducer, getSellersUnactiveTableReducer, marketingSellersTotalCountReducer, getMarketingSellersTableReducer,\r\n getOtherActiveSellersTableReducer, otherActiveSellersTotalCountReducer\r\n} from './sellerReducer';\r\nimport { combineReducers } from 'redux';\r\nimport initStateReducer from './initState';\r\nimport loginReducer from './loginReducer';\r\nimport { userAuthReducer, currentUserReducer, confirmData } from './userReducer';\r\nimport { packageSelectReducer, extraPackageSelectReducer, getPackageReducer } from './packageReducer';\r\nimport {\r\n postCarReducer, carDataReducer, carBuyerReducer, carReviewReducer, isCarDetailsMissing, sellerCarData,\r\n carDetailsReducer, carDropdowndDataReducer, getCarProblemExtraPackageReducer, carReducer, carChassisReducer,\r\n getCarsDropdownReducer, postCarOnlyReducer, postCarOnlyAndContinueReducer\r\n} from './carReducer';\r\nimport { warrantyStatusesReducer, updateWarrantyStatusReducer } from './warrantyStatusesReducer';\r\nimport {\r\n warrantiesDataReducer, warrantyReducer, warrantyContractReducer, warrantyAdminTableTotalCountReducer,\r\n warrantyAdminBuyerTableTotalCountReducer, warrantyAdminSellerTableTotalCountReducer, warrantyAdminArchiveTableTotalCountReducer\r\n} from './warrantyReducer';\r\nimport registerReducer from './registerReducer';\r\nimport { adminTableReducer, adminArchiveTableReducer } from \"./adminTableReducer\";\r\nimport { damageReducer, sellerNameReducer, buyerNameReducer, carNameReducer } from \"./damageReducer\";\r\nimport { getDamagesReducer, damagesAdminTableTotalCountReducer } from './damagesTableReducer';\r\nimport { getCarsReducer, carsAdminTableTotalCountReducer, carsAdminOnlyCarsTableTotalCountReducer, carsAdminSoldOnlyTableTotalCountReducer } from './carsTableReducer';\r\nimport loadingReducer from './loadingReducer';\r\nimport actionNotificationReducer from './actionNotificationReducer';\r\nimport forgotPasswordReducer from './forgotPasswordReducer';\r\nimport carPhotosReducer from './carPhotosReducer';\r\nimport { getBuyersReducer, buyerReducer, buyersAdminTotalCountReducer, getLegalBuyersReducer } from './buyerReducer';\r\nimport {\r\n thisMonthStatisticsReducer, soldStatisticsReducer, marketingThisMonthStatisticsReducer, getStatisticsMarketingWarrantiesReducer,\r\n getStatisticsWarrantiesReducer, lastYearThisMonthStatisticsReducer\r\n} from './statisticsReducer';\r\nimport { allInvoicesReducer, lastInvoiceReducer, invoiceReducer, yearsReducer } from './invoicingReducer';\r\nimport { getCurrenciesReducer } from './currencyReducer';\r\n\r\nexport default combineReducers({\r\n application: initStateReducer,\r\n loading: loadingReducer,\r\n actionNotification: actionNotificationReducer,\r\n login: loginReducer,\r\n register: registerReducer,\r\n user: userAuthReducer,\r\n postCar: postCarReducer,\r\n postCarOnly: postCarOnlyReducer,\r\n postCarOnlyAndContinue: postCarOnlyAndContinueReducer,\r\n packagesData: getPackageReducer,\r\n selectedPackage: packageSelectReducer,\r\n selectedExtraPackages: extraPackageSelectReducer,\r\n carData: carDataReducer,\r\n warranties: warrantiesDataReducer,\r\n carWarranty: warrantyReducer,\r\n currentCar: carReducer,\r\n carBuyer: carBuyerReducer,\r\n warrantyStatuses: warrantyStatusesReducer,\r\n updatedWarrantyStatus: updateWarrantyStatusReducer,\r\n getAdminTableData: adminTableReducer,\r\n getAdminArchiveTableData: adminArchiveTableReducer,\r\n seller: sellerReducer,\r\n buyer: buyerReducer,\r\n legalEntities: legalEntitiesReducer,\r\n carDamage: damageReducer,\r\n chassisCar: carChassisReducer,\r\n damages: getDamagesReducer,\r\n cars: getCarsReducer,\r\n forgotPassword: forgotPasswordReducer,\r\n carPhotos: carPhotosReducer,\r\n currentUser: currentUserReducer,\r\n confirmData: confirmData,\r\n buyers: getBuyersReducer,\r\n sellers: getSellersReducer,\r\n carReview: carReviewReducer,\r\n isCarDetailsMissing,\r\n thisMonthStatistics: thisMonthStatisticsReducer,\r\n soldWarrantiesStatistics: soldStatisticsReducer,\r\n sellerCars: sellerCarData,\r\n carDetails: carDetailsReducer,\r\n carDropdownData: carDropdowndDataReducer,\r\n sellerDropdownData: sellerDropdowndDataReducer,\r\n invoiceList: allInvoicesReducer,\r\n lastInvoice: lastInvoiceReducer,\r\n currencies: getCurrenciesReducer,\r\n invoice: invoiceReducer,\r\n carProblemExtraPackages: getCarProblemExtraPackageReducer,\r\n sellerName: sellerNameReducer,\r\n buyerName: buyerNameReducer,\r\n carName: carNameReducer,\r\n carsDropdown: carDropdowndDataReducer,\r\n carsAdminTableTotalCount: carsAdminTableTotalCountReducer,\r\n carsAdminOnlyCarsTableTotalCount: carsAdminOnlyCarsTableTotalCountReducer,\r\n carsAdminSoldOnlyTableTotalCount: carsAdminSoldOnlyTableTotalCountReducer,\r\n warrantyAdminTableTotalCount: warrantyAdminTableTotalCountReducer,\r\n warrantyAdminBuyerTableTotalCount: warrantyAdminBuyerTableTotalCountReducer,\r\n warrantyAdminSellerTableTotalCount: warrantyAdminSellerTableTotalCountReducer,\r\n warrantyAdminArchiveTableTotalCount: warrantyAdminArchiveTableTotalCountReducer,\r\n damagesAdminTableTotalCount: damagesAdminTableTotalCountReducer,\r\n buyersAdminTableTotalCount: buyersAdminTotalCountReducer,\r\n sellersAdminTableTotalCount: sellersAdminTotalCountReducer,\r\n sellersTable: getSellersTableReducer,\r\n sellersUnactiveAdminTableTotalCount: sellersUnactiveAdminTotalCountReducer,\r\n sellersUnactiveTable: getSellersUnactiveTableReducer,\r\n years: yearsReducer,\r\n marketingSellersTable: getMarketingSellersTableReducer,\r\n marketingSellersTableTotalCount: marketingSellersTotalCountReducer,\r\n marketingThisMonthStatistics: marketingThisMonthStatisticsReducer,\r\n otherActiveSellersTable: getOtherActiveSellersTableReducer,\r\n otherActiveSellersTableTotalCount: otherActiveSellersTotalCountReducer,\r\n statisticsMarketingWarrantiesTable: getStatisticsMarketingWarrantiesReducer,\r\n statisticsWarrantiesTable: getStatisticsWarrantiesReducer,\r\n legalBuyers: getLegalBuyersReducer,\r\n lastYearThisMonthStatistics: lastYearThisMonthStatisticsReducer\r\n}) \r\n","import { Reducer } from 'redux';\r\nimport { IInvoiceTable } from '../../types/IInvoiceTable';\r\nimport ActionTypes from '../actions/ActionTypes';\r\nimport { IInvoiceData } from '../../types/IInvoiceData';\r\nimport { IYearDropdown } from '../../types/IYearDropdown';\r\n\r\ntype InvoicesData = { data: {invoices: IInvoiceTable[] }, loading: boolean } | null;\r\n\r\nexport const allInvoicesReducer: Reducer = (state: InvoicesData = { data: { invoices: [] }, loading: false }, action: any): InvoicesData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_INVOICES: return { data: { invoices: [] }, loading: true }\r\n case ActionTypes.GET_INVOICES_SUCCESS: return { data: { invoices: action.payload }, loading: false }\r\n case ActionTypes.GET_INVOICES_ERROR: return { data: { invoices: [] }, loading: false }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype LastInvoiceData = { data: string };\r\n\r\nexport const lastInvoiceReducer: Reducer = (state: LastInvoiceData = { data: '' }, action: any): LastInvoiceData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_LAST_INVOICE: return { data: '' }\r\n case ActionTypes.GET_LAST_INVOICE_SUCCESS: return { data: action.payload } \r\n case ActionTypes.GET_LAST_INVOICE_ERROR: return { data: '' }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype InvoiceData = { data: { invoice: IInvoiceData | null }, loading: boolean } | null;\r\n\r\n\r\nexport const invoiceReducer: Reducer = (state: InvoiceData = { data: { invoice: null }, loading: false }, action: any): InvoiceData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_INVOICE: return { data: { invoice: null }, loading: true }\r\n case ActionTypes.GET_INVOICE_SUCCESS: return { data: { invoice: action.payload }, loading: false }\r\n case ActionTypes.GET_INVOICE_ERROR: return { data: { invoice: null }, loading: false }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\ntype YearsData = { data: IYearDropdown[], loading: boolean } | null;\r\n\r\nexport const yearsReducer: Reducer = (state: YearsData = { data: [], loading: false }, action: any): YearsData => {\r\n switch (action.type) {\r\n case ActionTypes.GET_YEARS: return { data: [] , loading: true }\r\n case ActionTypes.GET_YEARS_SUCCESS: return { data: action.payload , loading: false }\r\n case ActionTypes.GET_YEARS_ERROR: return { data: [], loading: false }\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\n","import { AxiosInstance, AxiosRequestConfig } from 'axios';\r\nimport { getToken, isTokenExpired } from './AuthFunctions';\r\nimport UserService from './../domain/services/UserService';\r\nconst userService = new UserService();\r\nexport default function addAuthHeader(axios: AxiosInstance) {\r\n axios.interceptors.request.use((config: AxiosRequestConfig) => {\r\n const accessToken = getToken();\r\n\r\n if (accessToken) {\r\n if (config.method !== 'OPTIONS') {\r\n config.headers.authorization = `Bearer ${accessToken}`;\r\n }\r\n // logout user if token is expired\r\n if (isTokenExpired(accessToken)) userService.logout();\r\n }\r\n return config;\r\n }, err => { return err; })\r\n}\r\n","import { Container, BindingScopeEnum, decorate, injectable } from 'inversify';\r\nimport StateInitializer from '../utils/StateInitializer';\r\nimport IStateInitializer from '../utils/IStateInitializer';\r\nimport Axios, { AxiosInstance } from 'axios';\r\nimport ThirdPartyTypes from './ThirdPartyTypes';\r\nimport IUserService from './../domain/services/IUserService';\r\nimport UserService from './../domain/services/UserService';\r\nimport IWaranntyService from './../domain/services/IWarrantyService';\r\nimport WarrantyService from './../domain/services/WarrantyService';\r\nimport IPackageService from '../domain/services/IPackageService';\r\nimport PackageService from '../domain/services/PackageService';\r\nimport ICarService from './../domain/services/ICarService';\r\nimport CarService from './../domain/services/CarService';\r\nimport addAuthHeader from './../utils/AuthInterceptor';\r\nimport AdminTableService from '../domain/services/AdminTableService';\r\nimport IAdminTableServices from '../domain/services/IAdminTableService';\r\nimport ISellerService from '../domain/services/ISellerService';\r\nimport SellerService from '../domain/services/SellerService';\r\nimport IDamageService from './../domain/services/IDamageService';\r\nimport DamageService from './../domain/services/DamageService';\r\nimport IBuyerService from './../domain/services/IBuyerService';\r\nimport BuyerService from './../domain/services/BuyerService';\r\nimport IStatisticsService from '../domain/services/IStatisticsService';\r\nimport StatisticsService from '../domain/services/StatisticsService';\r\nimport IInvoceService from '../domain/services/IInvoiceService';\r\nimport InvoiceService from '../domain/services/InvoiceService';\r\nimport ICurrencyService from '../domain/services/ICurrencyService';\r\nimport CurrencyService from '../domain/services/CurrencyService';\r\ndecorate(injectable(), Axios);\r\n\r\nexport default function configureContainer(): Container {\r\n const container = new Container({ defaultScope: BindingScopeEnum.Singleton });\r\n\r\n container.bind(ThirdPartyTypes.Axios).toFactory(() => {\r\n const axios = Axios.create();\r\n addAuthHeader(axios);\r\n return axios;\r\n });\r\n\r\n container.bind(StateInitializer).toSelf();\r\n container.bind(UserService).toSelf();\r\n container.bind(WarrantyService).toSelf();\r\n container.bind(PackageService).toSelf();\r\n container.bind(CarService).toSelf();\r\n container.bind(AdminTableService).toSelf();\r\n container.bind(SellerService).toSelf();\r\n container.bind(DamageService).toSelf();\r\n container.bind(BuyerService).toSelf();\r\n container.bind(StatisticsService).toSelf();\r\n container.bind(InvoiceService).toSelf();\r\n container.bind(CurrencyService).toSelf();\r\n\r\n return container;\r\n};","enum FormConstants {\r\n CAR_PURCHASE_FORM = \"CAR PURCHASE FORM\",\r\n DAMAGE_SUBMIT_FORM = \"DAMAGE SUBMIT FORM\",\r\n EMAIL_FORM = \"EMAIL FORM\",\r\n CONFIRM_PASSWORD_FORM = \"CONFIRM PASSWORD FORM\",\r\n MISSING_CAR_DETAILS_FORM = \"MISSING CAR DETAILS FORM\",\r\n EDIT_CAR_PORTA_DATA_FORM = \"EDIT_CAR_PORTA_DATA_FORM\",\r\n}\r\n\r\nexport default FormConstants;\r\n","import ICarReview from \"../types/ICarReview\";\r\nimport IStatus from \"../types/IStatus\";\r\nimport WarrantyStatus from \"../domain/enums/WarrantyStatus\";\r\n\r\nexport default class Validator {\r\n static validateEmail(email: string): boolean {\r\n let re = /^[a-zA-Z0-9\\t\\n ./<>?;:\"'`!@#$%^&*()[\\]{}_+=|\\\\-]+@[a-zA-Z0-9\\t\\n ./<>?;:\"'`!@#$%^&*()[\\]{}_+=|\\\\-]+\\.[a-zA-Z0-9\\t\\n ./<>?;:\"'`!@#$%^&*()[\\]{}_+=|\\\\-]+$/;\r\n return re.test(email);\r\n }\r\n static validatePassword(password: string): boolean {\r\n let re = /^(.){8,}$/;\r\n return re.test(password);\r\n }\r\n static validateChassis(chassis: string): boolean {\r\n let re = /^(.){17}$/;\r\n return re.test(chassis);\r\n }\r\n static validateOIB(oib: string): boolean {\r\n if (!oib) return true;\r\n let checkDigit, num;\r\n\r\n let code = oib.toString();\r\n\r\n if (code.length === 13 && code.substr(0, 2).toUpperCase() === 'HR') {\r\n code = code.substr(2, 11);\r\n } else if (code.length !== 11) {\r\n return false;\r\n }\r\n\r\n let numCheck = parseInt(code, 10);\r\n if (isNaN(numCheck)) {\r\n return false;\r\n }\r\n\r\n num = 10;\r\n for (let i = 0; i < 10; i++) {\r\n num = num + parseInt(code.substr(i, 1), 10);\r\n num = num % 10;\r\n if (num === 0) {\r\n num = 10;\r\n }\r\n num *= 2;\r\n num = num % 11;\r\n }\r\n\r\n checkDigit = 11 - num;\r\n if (checkDigit === 10) {\r\n checkDigit = 0;\r\n }\r\n\r\n return parseInt(code.substr(10, 1), 10) === checkDigit;\r\n }\r\n\r\n static validateZipCode(zipCode: string): boolean {\r\n if (zipCode) {\r\n let re = /^(\\d){2,}$/;\r\n return re.test(zipCode);\r\n }\r\n return true;\r\n }\r\n static validatePhoneNumber(number: string): boolean {\r\n if (number) {\r\n let re = /^(\\d){5,}$/;\r\n return re.test(number);\r\n }\r\n return true;\r\n }\r\n\r\n static validateRegistrationDate(registrationDate: string): boolean {\r\n const currentDate = new Date().toISOString().split(\"T\")[0];\r\n return registrationDate < currentDate;\r\n }\r\n\r\n static validateRegistrationYear(\r\n regYear: string,\r\n manufactureYear?: number\r\n ): boolean {\r\n alert(manufactureYear)\r\n var registrationYear = regYear ? regYear.split(\"-\")[0] : null;\r\n if (manufactureYear) return registrationYear! >= manufactureYear.toString();\r\n return true;\r\n }\r\n\r\n static validateManufactureYear(\r\n manufactureYear: string,\r\n registrationDate?: Date\r\n ): boolean {\r\n alert(manufactureYear)\r\n var registrationYear = registrationDate\r\n ? new Date(registrationDate!).getFullYear()\r\n : null;\r\n if (registrationYear && manufactureYear > registrationYear.toString()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n static carIsValid(carReview: ICarReview): boolean {\r\n if (!carReview.brandIsValid) return false;\r\n else if (!carReview.modelIsValid) return false;\r\n else if (!carReview.engineTypeIsValid) return false;\r\n else if (!carReview.enginePowerIsValid) return false;\r\n else if (!carReview.distanceIsValid) return false;\r\n else if (!carReview.chassisNumberIsValid) return false;\r\n else if (!carReview.manufactureYearIsValid) return false;\r\n else if (!carReview.registrationYearIsValid) return false;\r\n else if (!carReview.priceIsValid) return false;\r\n return true;\r\n }\r\n\r\n static isEmailMatch(email1: string, email2: string): boolean {\r\n return email1 === email2;\r\n }\r\n\r\n}\r\n","import React, { HTMLAttributes } from 'react';\r\nimport { ValueContainerProps } from 'react-select/src/components/containers';\r\nimport { ControlProps } from 'react-select/src/components/Control';\r\nimport { MenuProps } from 'react-select/src/components/Menu';\r\nimport { OptionProps } from 'react-select/src/components/Option';\r\nimport { PlaceholderProps } from 'react-select/src/components/Placeholder';\r\nimport { SingleValueProps } from 'react-select/src/components/SingleValue';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TextField, { BaseTextFieldProps } from '@material-ui/core/TextField';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { Omit } from '@material-ui/types';\r\nimport styles from './DropdownAutocomplete.module.scss';\r\nimport { style } from '@material-ui/system';\r\n\r\n\r\nexport interface OptionType {\r\n label: string;\r\n value: string;\r\n}\r\ntype InputComponentProps = Pick & HTMLAttributes;\r\n\r\nfunction inputComponent({ inputRef, ...props }: InputComponentProps) {\r\n return
;\r\n}\r\n\r\nfunction Control(props: ControlProps) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction Option(props: OptionProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\ntype MuiPlaceholderProps = Omit, 'innerProps'> &\r\n Partial, 'innerProps'>>;\r\nfunction Placeholder(props: MuiPlaceholderProps) {\r\n const { selectProps, innerProps = {}, children } = props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nfunction SingleValue(props: SingleValueProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction ValueContainer(props: ValueContainerProps) {\r\n return
{props.children}
;\r\n}\r\n\r\n\r\nfunction Menu(props: MenuProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\nexport const components = {\r\n Control,\r\n Menu,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n","\r\nexport function getNumberFromThousandsString(thousands: string | number): number {\r\n return Number.parseInt(thousands.toString().split(' ').join(''))\r\n}","enum WarrantyStatus {\r\n Approved = \"Approved\",\r\n Declined = \"Declined\",\r\n InProcess = \"InProcess\",\r\n Active = \"Active\",\r\n Inactive = \"Inactive\",\r\n Submitted = \"Submitted\",\r\n Archive = \"Archive\"\r\n}\r\n\r\nexport default WarrantyStatus;\r\n","import WarrantyStatus from '../domain/enums/WarrantyStatus';\r\nimport style from './../components/tables/adminTable.module.scss';\r\n\r\nexport default class WarrantyStatusChecker {\r\n\r\n static AdminViewOrUpdate(status: string): boolean {\r\n switch(status) {\r\n case WarrantyStatus.Approved: \r\n case WarrantyStatus.Declined: \r\n case WarrantyStatus.Active:\r\n case WarrantyStatus.InProcess: \r\n case WarrantyStatus.Inactive: \r\n return true;\r\n case WarrantyStatus.Submitted: \r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n static SellerViewOrSell (status: string): boolean {\r\n switch (status) {\r\n //admin - view of warranty\r\n case WarrantyStatus.Approved:\r\n return true;\r\n }\r\n return false;\r\n }\r\n static ButtonClassName(status: string) {\r\n switch (status) {\r\n case WarrantyStatus.Approved: return style.Approved;\r\n case WarrantyStatus.Declined: return style.Declined;\r\n case WarrantyStatus.Active: return style.Active;\r\n case WarrantyStatus.InProcess: return style.InProccess;\r\n case WarrantyStatus.Inactive: return style.Inactive;\r\n case WarrantyStatus.Submitted: return style.Submitted;\r\n }\r\n }\r\n\r\n static IsActive(status: string) {\r\n return status === WarrantyStatus.Active;\r\n }\r\n}","export default class DateHelper {\r\n static dateDiffInDays(date1: string | Date, date2: string | Date): number {\r\n const dt1 = new Date(date1);\r\n const dt2 = new Date(date2);\r\n return Math.floor((Date.UTC(dt2.getFullYear(), dt2.getMonth(), dt2.getDate()) - Date.UTC(dt1.getFullYear(), dt1.getMonth(), dt1.getDate())) / (1000 * 60 * 60 * 24));\r\n }\r\n static dateDiffInYears(date1: string | Date, date2: string | Date): number {\r\n return Math.floor((this.dateDiffInDays(date1, date2)) / 365);\r\n }\r\n static subtractYears(date: string | Date, years: number): Date {\r\n const d = new Date(date);\r\n d.setFullYear(d.getFullYear() - years);\r\n return d;\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { FormControlLabel, FormGroup, Checkbox } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n setAutomaticGearBox: (automatic: boolean) => void,\r\n automatic: boolean | undefined,\r\n disabled: boolean\r\n}\r\n\r\nexport const AutomaticGearBoxCheckButton: React.FC = (props: IProps) => {\r\n const [isAutomatic, setIsAutomatic] = React.useState(props.automatic);\r\n\r\n useEffect(() => setIsAutomatic(props.automatic), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const automatic = (event.target as HTMLInputElement).checked;\r\n setIsAutomatic(automatic);\r\n props.setAutomaticGearBox(automatic);\r\n }\r\n\r\n return (\r\n \r\n }\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { FormControlLabel, FormGroup, Checkbox } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n setFactoryWarrantyBool: (automatic: boolean) => void,\r\n hasFactoryWarranty: boolean | undefined,\r\n disabled: boolean\r\n}\r\n\r\nexport const FactoryWarrantyCheckButton: React.FC = (props: IProps) => {\r\n const [hasFactoryWarranty, setHasFactoryWarranty] = React.useState(props.hasFactoryWarranty);\r\n\r\n useEffect(() => setHasFactoryWarranty(props.hasFactoryWarranty), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const hasFactoryWarranty = (event.target as HTMLInputElement).checked;\r\n setHasFactoryWarranty(hasFactoryWarranty);\r\n props.setFactoryWarrantyBool(hasFactoryWarranty);\r\n }\r\n\r\n return (\r\n \r\n }\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { FormControlLabel, FormGroup, Checkbox } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n setRisky: (risky: boolean) => void,\r\n risky: boolean | undefined,\r\n disabled: boolean\r\n}\r\n\r\nexport const RiskyCheckButton: React.FC = (props: IProps) => {\r\n const [isRisky, setIsRisky] = React.useState(props.risky);\r\n\r\n useEffect(() => setIsRisky(props.risky), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const risky = (event.target as HTMLInputElement).checked;\r\n setIsRisky(risky);\r\n props.setRisky(risky);\r\n }\r\n\r\n return (\r\n \r\n }\r\n />\r\n \r\n );\r\n}\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport enEn from \"./resources/i18n/enEn.json\";\r\n\r\n// the translations\r\n// (tip move them in a JSON file and import them)\r\nconst resources = {\r\n hrHR: enEn\r\n};\r\n\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n resources,\r\n lng: \"hrHR\",\r\n\r\n keySeparator: false, // we do not use keys in form messages.welcome\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss\r\n }\r\n });\r\n\r\n export default i18n;","import i18n from '../i18n';\r\n\r\nexport default function translateText(text: string) {\r\n return (i18n.t(text));\r\n}","import ICarReview from './../types/ICarReview';\r\n\r\nexport default class CarReviewHelper {\r\n /**\r\n * Returns true if review has any mistake.\r\n * @param review \r\n */\r\n static warrantyHasMistakes(review: ICarReview): boolean {\r\n return !(review.chassisNumberIsValid &&\r\n review.brandIsValid &&\r\n review.modelIsValid &&\r\n review.enginePowerIsValid &&\r\n review.engineTypeIsValid &&\r\n review.distanceIsValid &&\r\n review.manufactureYearIsValid &&\r\n review.registrationYearIsValid &&\r\n review.priceIsValid &&\r\n review.engineDisplacementIsValid &&\r\n review.maxTonnageIsValid);\r\n }\r\n\r\n static isDifferent (review1: ICarReview, review2: ICarReview): boolean {\r\n const result = !(review1.brandIsValid === review2.brandIsValid \r\n && review1.chassisNumberIsValid === review2.chassisNumberIsValid\r\n && review1.distanceIsValid === review2.distanceIsValid\r\n && review1.engineDisplacementIsValid === review2.engineDisplacementIsValid\r\n && review1.enginePowerIsValid === review2.enginePowerIsValid\r\n && review1.engineTypeIsValid === review2.engineTypeIsValid\r\n && review1.manufactureYearIsValid === review2.manufactureYearIsValid\r\n && review1.maxTonnageIsValid === review2.maxTonnageIsValid\r\n && review1.modelIsValid === review2.modelIsValid\r\n && review1.priceIsValid === review2.priceIsValid\r\n && review1.registrationYearIsValid === review2.registrationYearIsValid) \r\n return result; \r\n }\r\n\r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport styles from './chassisNumberModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n chassisNumber?: string,\r\n reportedDamages?: number,\r\n approvedDamages?: number,\r\n declinedDamages?: number,\r\n solvedDamages?: number\r\n}\r\n\r\nexport class ChassisNumberModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Auto s brojem šasije {this.props.chassisNumber} ima:\r\n \r\n \r\n {this.props.reportedDamages} prijavljenih šteta\r\n \r\n \r\n {this.props.approvedDamages} odobrenih šteta\r\n \r\n \r\n {this.props.declinedDamages} odbijenih šteta\r\n \r\n \r\n {this.props.solvedDamages} riješenih šteta\r\n \r\n \r\n Jeste li sigurni da želite kreirati novo jamstvo?\r\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}","import React, { useEffect } from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel } from '@material-ui/core';\r\nimport styles from './WarrantyDurationRadioButtons.module.scss';\r\n\r\nconst OneYear = 'OneYear';\r\nconst TwoYears = 'TwoYears';\r\n\r\ninterface IProps {\r\n isDurationChanged: (isOneYear: boolean) => void,\r\n isDurationOneYear: boolean,\r\n disabled: boolean\r\n}\r\n\r\nexport const WarrantyDurationRadioButtons: React.FC = (props: IProps) => {\r\n const [isOneYear, setIsOneYear] = React.useState(props.isDurationOneYear);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n if ((event.target as HTMLInputElement).defaultValue !== OneYear) {\r\n setIsOneYear(false);\r\n props.isDurationChanged(false);\r\n }\r\n else {\r\n setIsOneYear(true);\r\n props.isDurationChanged(true);\r\n }\r\n \r\n }\r\n\r\n return (\r\n \r\n Trajanje jamstva:\r\n \r\n }\r\n label=\"12 mjeseci\"\r\n labelPlacement=\"end\"\r\n />\r\n }\r\n label=\"24 mjeseca\"\r\n labelPlacement=\"end\"\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Paper, Modal, Grid, FormControl, Box, FormHelperText, Button } from '@material-ui/core';\r\nimport styles from './newCar.module.scss';\r\nimport stylesModal from './chassisNumberModal.module.scss';\r\nimport ICarProps from '../../../types/ICarProps';\r\nimport IReviewMode from '../../../types/IReviewModeProps';\r\nimport ICarData from '../../../types/ICarData';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport CarFormConstans from \"../../../constants/FormConstants\";\r\nimport Validator from \"../../../utils/validation\";\r\nimport SelectDropdown from 'react-select';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport { components } from '../../dropdowns/DropdowndAutocomplete.utils';\r\nimport ICarModel from '../../../types/ICarModel';\r\nimport ICarBrand from '../../../types/ICarBrand';\r\nimport { IEngineType } from '../../../types/IEngineType';\r\nimport hrLocale from 'date-fns/esm/locale/hr/index';\r\nimport NumberFormat from 'react-number-format';\r\nimport { getNumberFromThousandsString } from './../../../utils/Converter';\r\nimport ReportIcon from '@material-ui/icons/Report';\r\nimport WarrantyStatusChecker from '../../../utils/warrantyStatusChecker';\r\nimport IWarrantyStatus from '../../../types/IStatus';\r\nimport ICarReview from '../../../types/ICarReview';\r\nimport { getUserRole } from '../../../utils/AuthFunctions';\r\nimport { Roles } from '../../../domain/enums/Roles';\r\nimport DateHelper from './../../../utils/DateHelper';\r\nimport { AutomaticGearBoxCheckButton } from './automaticGearBoxCheckButton';\r\nimport { FactoryWarrantyCheckButton } from './factoryWarrantyCheckButton';\r\nimport { RiskyCheckButton} from './RiskyCheckButton';\r\nimport translateText from './../../../utils/translateText';\r\nimport IWarranty from '../../../types/IWarranty';\r\nimport WarrantyStatus from '../../../domain/enums/WarrantyStatus';\r\nimport CarReviewHelper from '../../../utils/CarReviewHelper';\r\nimport moment from 'moment';\r\nimport { ChassisNumberModal } from './ChassisNumberModal';\r\nimport { IDamageProps } from '../../../types/Damage/IDamageProps';\r\nimport { WarrantyDurationRadioButtons } from './WarrantyDurationRadioButtons';\r\nimport { isAdmin, isSuperAdmin } from './../../../utils/AuthFunctions';\r\n\r\ninterface IProps extends ICarProps, ICarData, IReviewMode {\r\n ref?: React.RefObject,\r\n handleNext?: () => void,\r\n status?: IWarrantyStatus,\r\n getModelsByBrand?: (brandId: number) => void,\r\n carReview: ICarReview,\r\n setCarReview: (data: ICarReview) => void,\r\n currentWarranty?: IWarranty,\r\n getChassisDamage?: (chassisNumber: string) => void,\r\n chassisDamage?: IDamageProps\r\n}\r\n\r\ninterface IState extends IProps {\r\n showChassisModal?: boolean,\r\n isOneYearWarranty?: boolean\r\n}\r\n\r\n\r\nexport default class NewCarForm extends React.Component {\r\n state = {\r\n showChassisModal: false,\r\n brand: {\r\n items: this.props.carBrands,\r\n value: {\r\n label: this.props.brand,\r\n value: this.props.brandId\r\n },\r\n hasError: false,\r\n },\r\n model: {\r\n items: this.props.carModels,\r\n value: {\r\n label: this.props.model,\r\n value: this.props.modelId\r\n },\r\n hasError: false,\r\n },\r\n engineType: {\r\n items: this.props.engineTypes,\r\n value: {\r\n label: this.props.engineTypeLabel,\r\n value: this.props.engineType\r\n },\r\n hasError: false,\r\n },\r\n enginePower: {\r\n value: this.props.enginePower,\r\n },\r\n engineDisplacement: {\r\n value: this.props.engineDisplacement\r\n }, maxTonnage: {\r\n value: this.props.maxTonnage\r\n },\r\n distance: {\r\n value: this.props.distance,\r\n },\r\n chassisNumber: {\r\n value: this.props.chassisNumber,\r\n },\r\n manufactureYear: {\r\n value: this.props.manufactureYear,\r\n },\r\n registrationYear: {\r\n value: this.props.registrationYear ? this.props.registrationYear : new Date()\r\n },\r\n price: {\r\n value: this.props.price,\r\n },\r\n automaticGearBox: {\r\n value: this.props.automaticGearBox\r\n },\r\n factoryWarrantyBool: {\r\n value: this.props.factoryWarrantyDate ? true : false\r\n },\r\n factoryWarrantyDate: {\r\n value: this.props.factoryWarrantyDate ? this.props.factoryWarrantyDate : new Date()\r\n },\r\n submitValid: false,\r\n status: this.props.status,\r\n carReview: {\r\n updateCarReview: false,\r\n carId: this.props.carReview.carId,\r\n brandIsValid: this.props.carReview.brandIsValid,\r\n modelIsValid: this.props.carReview.modelIsValid,\r\n engineTypeIsValid: this.props.carReview.engineTypeIsValid,\r\n enginePowerIsValid: this.props.carReview.enginePowerIsValid,\r\n distanceIsValid: this.props.carReview.distanceIsValid,\r\n chassisNumberIsValid: this.props.carReview.chassisNumberIsValid,\r\n manufactureYearIsValid: this.props.carReview.manufactureYearIsValid,\r\n registrationYearIsValid: this.props.carReview.registrationYearIsValid,\r\n priceIsValid: this.props.carReview.priceIsValid,\r\n engineDisplacementIsValid: this.props.carReview.engineDisplacementIsValid,\r\n maxTonnageIsValid: this.props.carReview.maxTonnageIsValid\r\n },\r\n isOneYearWarranty: {\r\n value: this.props.isOneYearWarranty !== undefined ? this.props.isOneYearWarranty : true\r\n },\r\n napomena: {\r\n value: this.props.napomena,\r\n },\r\n risky: {\r\n value: this.props.risky\r\n },\r\n carSaleId: {\r\n value: this.props.carSaleId\r\n },\r\n newWarranty: {\r\n value: this.props.newWarranty\r\n },\r\n }\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule(\"isDistanceOverMax\", distance => getNumberFromThousandsString(distance) < 230000);\r\n ValidatorForm.addValidationRule(\"validateChassis\", chassis => Validator.validateChassis(chassis));\r\n }\r\n\r\n componentDidUpdate(prevState: IProps){\r\n \r\n this.props.setCarReview(this.state.carReview);\r\n\r\n if (this.props.chassisDamage && this.props.chassisDamage.carId !== 0) {\r\n if (prevState.chassisDamage === undefined) {\r\n this.showChassisModal();\r\n }\r\n else if(prevState.chassisDamage && prevState.chassisDamage.carId !== this.props.chassisDamage.carId){\r\n this.showChassisModal();\r\n }\r\n }\r\n\r\n }\r\n\r\n showChassisModal() {\r\n if (this.state.showChassisModal == false) {\r\n if (this.props.chassisDamage && ((this.props.chassisDamage.noOfReportedDamages !== 0 && this.props.chassisDamage.noOfReportedDamages !== undefined) ||\r\n (this.props.chassisDamage.noOfApprovedDamages != 0 && this.props.chassisDamage.noOfApprovedDamages != undefined) ||\r\n (this.props.chassisDamage.noOfDeclinedDamages != 0 && this.props.chassisDamage.noOfDeclinedDamages != undefined) ||\r\n (this.props.chassisDamage.noOfSolvedDamages != 0 && this.props.chassisDamage.noOfSolvedDamages != undefined))) {\r\n this.setState({ showChassisModal: true });\r\n }\r\n }\r\n \r\n }\r\n \r\n static getDerivedStateFromProps(props: IProps, state: any) {\r\n if (CarReviewHelper.isDifferent(props.carReview, state.carReview)) {\r\n if (!state.carReview.updateCarReview) return { carReview: { ...props.carReview, updateCarReview: false } }\r\n }\r\n\r\n if (!state.price.value && props.currentWarranty && props.currentWarranty!.carData! && props.currentWarranty.carData!.price !== state.price.value)\r\n return ({\r\n brand: {\r\n items: props.carBrands,\r\n value: {\r\n label: props.brand,\r\n value: props.brandId\r\n },\r\n hasError: false,\r\n },\r\n model: {\r\n items: props.carModels,\r\n value: {\r\n label: props.model,\r\n value: props.modelId\r\n },\r\n hasError: false,\r\n },\r\n engineType: {\r\n items: props.engineTypes,\r\n value: {\r\n label: props.engineTypeLabel,\r\n value: props.engineType\r\n },\r\n hasError: false,\r\n },\r\n enginePower: {\r\n value: props.enginePower,\r\n },\r\n engineDisplacement: {\r\n value: props.engineDisplacement\r\n },\r\n maxTonnage: {\r\n value: props.maxTonnage\r\n },\r\n distance: {\r\n value: props.distance,\r\n },\r\n chassisNumber: {\r\n value: props.chassisNumber,\r\n },\r\n manufactureYear: {\r\n value: props.manufactureYear,\r\n },\r\n registrationYear: {\r\n value: props.registrationYear,\r\n },\r\n price: {\r\n value: props.price,\r\n },\r\n automaticGearBox: {\r\n value: props.automaticGearBox\r\n },\r\n factoryWarrantyBool: {\r\n value: props.factoryWarrantyBool\r\n },\r\n factoryWarrantyDate: {\r\n value: props.factoryWarrantyDate\r\n },\r\n isOneYearWarranty: {\r\n value: props.isOneYearWarranty\r\n },\r\n napomena: {\r\n value: props.napomena\r\n },\r\n risky: {\r\n value: props.risky\r\n },\r\n carSaleId: {\r\n value: props.carSaleId\r\n },\r\n newWarranty: {\r\n value: props.newWarranty\r\n },\r\n })\r\n\r\n //models arrived from db\r\n if (props.carModels) {\r\n const items = props.carModels.filter((item: ICarModel) => item.brandId && item.brandId === state.brand.value.value);\r\n let value = state.model.value;\r\n try {\r\n if (props.carModels.length) {\r\n if (!state.model.items.length) value = { label: undefined, value: undefined }\r\n else {\r\n if (props.carModels[0].name !== state.model.items[0].name) value = { label: props.model, value: props.modelId }\r\n }\r\n } else value = { label: props.model, value: props.modelId }\r\n } catch { }\r\n if (props.carReview.carId !== state.carReview.carId)\r\n return {\r\n model: { items, value, hasError: false, marked: state.model.marked }\r\n };\r\n return {\r\n model: { items, value, hasError: false, marked: state.model.marked }\r\n };\r\n }\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { name, value } = el.target;\r\n this.setState((prevState: any) => ({\r\n ...prevState, [name]: { value }\r\n }))\r\n }\r\n\r\n private handleSelectChange(el: any, propName: string) {\r\n const { label, value } = el;\r\n const hasError = false;\r\n if (propName === 'brand') this.props.getModelsByBrand!(value);\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [propName]: { ...prevState[propName], value: { label: label, value: value }, hasError }\r\n }));\r\n }\r\n\r\n private handleChassisChange(el: any) {\r\n const { name, value } = el.target;\r\n\r\n if(value && value.length === 17) this.props.getChassisDamage!(value);\r\n\r\n this.setState((prevState: any) => ({\r\n ...prevState, [name]: { value }\r\n }))\r\n\r\n }\r\n\r\n private handleDateChange(date: Date | null, propName: string | null | undefined) {\r\n let newDate;\r\n try {\r\n newDate = date!.toISOString();\r\n } catch { }\r\n if (date) {\r\n if (date < new Date())\r\n this.setState({\r\n registrationYear: { value: newDate ? newDate : date }\r\n })\r\n\r\n else\r\n this.setState({\r\n factoryWarrantyDate: { value: newDate ? newDate : date }\r\n })\r\n }\r\n\r\n }\r\n\r\n public validateForm(): boolean {\r\n const state = this.state;\r\n let formValid = true;\r\n if (state.brand.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"brand\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (state.model.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"model\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (state.engineType.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"engineType\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (DateHelper.dateDiffInYears(this.state.registrationYear.value, new Date()) > 12) formValid = false;\r\n return formValid;\r\n }\r\n\r\n checkSubmit(): boolean {\r\n return this.state.submitValid;\r\n }\r\n\r\n handleSubmit(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleNext) props.handleNext();\r\n }\r\n\r\n public changeMarked(name: string, marked: boolean) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n carReview: { ...prevState.carReview, [name]: marked, updateCarReview: true }\r\n }));\r\n }\r\n\r\n\r\n public getStateData(): ICarProps {\r\n const state = this.state;\r\n\r\n let data: ICarProps = {\r\n brandId: state.brand.value.value,\r\n brand: state.brand.value.label,\r\n modelId: state.model.value.value,\r\n model: state.model.value.label,\r\n engineType: state.engineType.value.value,\r\n engineTypeLabel: state.engineType.value.label,\r\n enginePower: state.enginePower.value,\r\n distance: state.distance.value && getNumberFromThousandsString(state.distance.value),\r\n chassisNumber: state.chassisNumber.value,\r\n manufactureYear: state.manufactureYear.value,\r\n registrationYear: state.registrationYear ? state.registrationYear.value : new Date(),\r\n price: state.price.value && getNumberFromThousandsString(state.price.value),\r\n carId: this.props.carId,\r\n engineDisplacement: state.engineDisplacement.value,\r\n maxTonnage: state.maxTonnage.value,\r\n automaticGearBox: state.automaticGearBox.value,\r\n factoryWarrantyBool: state.factoryWarrantyBool.value,\r\n factoryWarrantyDate: state.factoryWarrantyBool.value ? state.factoryWarrantyDate.value : undefined,\r\n isOneYearWarranty: state.isOneYearWarranty.value,\r\n napomena: state.napomena.value,\r\n risky: state.risky.value,\r\n carSaleId: state.carSaleId.value ? state.carSaleId.value : undefined,\r\n newWarranty: state.newWarranty.value\r\n };\r\n return data;\r\n }\r\n\r\n private prepareDate(date: any): string {\r\n let isoDate;\r\n try {\r\n if (date !== undefined && date !== null) {\r\n try {\r\n isoDate = (date).toISOString();\r\n } catch {\r\n let temp = date.split('/');\r\n temp = temp.reverse();\r\n isoDate = temp.join('-');\r\n }\r\n }\r\n else isoDate = (new Date()).toISOString();\r\n }\r\n catch\r\n {\r\n isoDate = date\r\n }\r\n return isoDate;\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n\r\n let registrationYear = this.prepareDate(state.registrationYear.value);\r\n let factoryWarrantyDate = this.prepareDate(state.factoryWarrantyDate.value);\r\n \r\n const currentYear = (new Date()).getFullYear();\r\n const colSize = this.props.isReview ? 6 : 4;\r\n const editCarMode = this.props.carId;\r\n const visible = (this.props.carId ? true : false) && this.props.status && this.props.status!.name !== WarrantyStatus.Active && this.props.status!.name !== WarrantyStatus.Approved;\r\n const xsProp = visible ? 10 : 12;\r\n var update;\r\n\r\n if (state.status !== null && state.status !== undefined) {\r\n update = WarrantyStatusChecker.AdminViewOrUpdate(state.status!.name)\r\n }\r\n else {\r\n update = false;\r\n }\r\n const disabled = getUserRole() === Roles.Seller || update;\r\n\r\n const engineTypesTranslated = {\r\n items: state.engineType.items.map((et: IEngineType) => ({\r\n label: translateText(et.name),\r\n value: et.id,\r\n })),\r\n value: {\r\n label: translateText(state.engineType.value.label),\r\n value: state.engineType.value.value\r\n }\r\n };\r\n\r\n return (\r\n this.handleSubmit(this.props)}\r\n >\r\n \r\n {!this.props.isReview && (\r\n \r\n
\r\n

{editCarMode ? 'Pregled' : 'Unos'} Vozila

\r\n
\r\n {editCarMode ? 'Molimo ažurirajte podatke o vozilu' :\r\n 'Molimo ispunite podatke o vozilu'}\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview}\r\n inputId=\"brand\"\r\n value={state.brand.value.label ? state.brand.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: 'brand',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder=\"Marka\"\r\n options={state.brand.items.map((b: ICarBrand) => ({\r\n label: b.name,\r\n value: b.id,\r\n }))}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'brand')}\r\n />\r\n {state.brand.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview || !state.brand.value.value}\r\n value={state.model.value.label ? state.model.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n label: 'Model',\r\n htmlFor: 'model',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder={state.brand.value.value ? 'Model' : 'Molimo prvo odaberite marku'}\r\n options={state.model.items && state.model.items.map((m: ICarModel) => ({\r\n label: m.name,\r\n value: m.id,\r\n }))}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'model')}\r\n />\r\n {state.model.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview}\r\n inputId=\"engineType\"\r\n value={state.engineType.value.label ? engineTypesTranslated.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: 'engineType',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder=\"Vrsta motora\"\r\n options={engineTypesTranslated.items}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'engineType')}\r\n />\r\n {state.engineType.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\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 {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\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 {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ automaticGearBox: { value: automatic } })} />\r\n \r\n \r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\n \r\n \r\n this.setState({ risky: { value: risky } })} />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n this.setState({ factoryWarrantyBool: { value: hasFactoryWarranty } })} />\r\n \r\n \r\n \r\n {state.factoryWarrantyBool.value && \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n }\r\n \r\n \r\n {\r\n this.setState({\r\n isOneYearWarranty: isOneYear\r\n })\r\n }}\r\n isDurationOneYear={this.state.isOneYearWarranty.value}\r\n disabled={this.props.isReview || this.props.carId !== undefined} />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.showChassisModal &&\r\n \r\n this.setState({ showChassisModal: false })}>\r\n \r\n
\r\n this.setState({ showChassisModal: false })} chassisNumber={this.state.chassisNumber.value} \r\n reportedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfReportedDamages} approvedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfApprovedDamages} \r\n declinedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfDeclinedDamages} solvedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfSolvedDamages}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
)\r\n }\r\n}\r\n","import React from \"react\";\r\nimport IPackage from \"../../types/IPackage\";\r\nimport { Card, CardContent, CardActionArea } from \"@material-ui/core\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CardHeader from \"@material-ui/core/CardHeader\";\r\nimport style from \"./packageSelection.module.scss\";\r\n\r\ninterface IProps extends IPackage {\r\n PackageSelected: (id: number) => void;\r\n\r\n selected: boolean;\r\n disabled: boolean;\r\n}\r\n\r\nconst PackageCard: React.FC = (props) => {\r\n function handleClick() {\r\n props.PackageSelected(props.packageId ? props.packageId : props.id);\r\n }\r\n\r\n const card = (\r\n \r\n \r\n \r\n \r\n {props.price} {props.currencyId === 0 ? \"kn\" : \"€\"}\r\n \r\n \r\n

\r\n \r\n \r\n ( sa PDV-om {Math.round(props.priceWithVAT * 100) / 100} {props.currencyId === 0 ? \"kn\" : \"€\"}{\" \"}\r\n )\r\n \r\n \r\n \r\n );\r\n\r\n if (props.disabled) return card;\r\n else return {card};\r\n};\r\n\r\nexport default PackageCard;\r\n","import React from 'react';\r\nimport IPackage from '../../types/IPackage';\r\nimport { Card, CardContent, CardActionArea, Grid } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport style from './packageSelection.module.scss';\r\n\r\ninterface IProps extends IPackage {\r\n PackageSelected: (id: number) => void,\r\n\r\n selected: boolean,\r\n disabled: boolean\r\n}\r\n\r\nconst MainPackageCard: React.FC = props => {\r\n\r\n function handleClick() {\r\n props.PackageSelected(props.packageId ? props.packageId : props.id)\r\n }\r\n\r\n const card = \r\n \r\n \r\n \r\n {props.price} {props.currencyId === 0 ? \"kn\" : \"€\"}\r\n \r\n {props.extraDescription ?\r\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 ( sa PDV-om {Math.round(props.priceWithVAT * 100) / 100} {props.currencyId === 0 ? \"kn\" : \"€\"} )\r\n \r\n \r\n \r\n\r\n if (props.disabled) return card;\r\n else return \r\n {card}\r\n \r\n}\r\n\r\nexport default MainPackageCard;","import WarrantyStatus from \"../domain/enums/WarrantyStatus\";\r\n\r\nexport class StepperHelper {\r\n static getStep(): number {\r\n const url = window.location.href;\r\n const step = url.split('step=')[1];\r\n return +step;\r\n }\r\n static increasedStepUrl(): string {\r\n return `step=${this.getStep() + 1}`;\r\n }\r\n static decreasedStepUrl(): string {\r\n return `step=${this.getStep() - 1}`;\r\n }\r\n static stepUrl(step: number): string {\r\n return `step=${step}`\r\n }\r\n static getWarrantyIdFromUrl(): number | undefined {\r\n const url = window.location.href;\r\n const parts = url.split('warranty/')[1].split('/');\r\n if (parts.length > 1) return +parts[0];\r\n return undefined;\r\n }\r\n static getCarIdFromUrl(): number | undefined {\r\n const url = window.location.href;\r\n const parts = url.split('car/')[1].split('/');\r\n if (parts.length > 1) return +parts[0];\r\n return undefined;\r\n }\r\n static getCarIdFromExpandedUrl(): number | undefined {\r\n const url = window.location.href;\r\n const parts = url.split('car/')[1].split('/');\r\n if (parts.length > 1) return +parts[0];\r\n return undefined;\r\n }\r\n static getWarrantyIdFromExpandedUrl(): number | undefined {\r\n const url = window.location.href;\r\n const parts = url.split('warranty/')[1].split('/');\r\n if (parts.length > 1) return +parts[0];\r\n return undefined;\r\n }\r\n static isWarrantyForReview(status: string) {\r\n return (status === WarrantyStatus.Submitted\r\n || status === WarrantyStatus.Approved\r\n || status === WarrantyStatus.Active)\r\n && !this.isUpgradeMode()\r\n }\r\n static isUpgradeMode(): boolean {\r\n return location.href.includes('upgrade');\r\n }\r\n static containsWarranty(): boolean {\r\n const url = window.location.href;\r\n\r\n return url.includes(\"warranty\");\r\n }\r\n\r\n static getUpgradeUrl(step: number) {\r\n const stepUrl = location.href.split('upgrade/')[1].split('step=')[0];\r\n return stepUrl + \"step=\" + step;\r\n }\r\n\r\n static isInitialUpgrade() {\r\n return this.isUpgradeMode() && StepperHelper.getStep() === 3;\r\n }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport PackageCard from './PackageCard';\r\nimport MainPackageCard from './MainPackageCard';\r\nimport { Grid, LinearProgress, Box } from '@material-ui/core';\r\nimport style from './packageSelection.module.scss';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport IPackage from '../../types/IPackage';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\n\r\ninterface IProps {\r\n savePackage?: (data: ISelectedPackage) => void,\r\n saveExtraPackage?: (data: ISelectedPackage) => void,\r\n removeExtraPackage?: (data: ISelectedPackage) => void,\r\n selectedPackage: ISelectedPackage,\r\n selectedExtraPackages: { data: ISelectedPackage[] },\r\n packagesData: IPackageSelection,\r\n postCar: ICarProps,\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] }\r\n}\r\n\r\nconst PackageSelection: React.FC = props => {\r\n const [packages, setPackages] = React.useState(props.packagesData.packages);\r\n const [extraPackages, setExtraPackages] = React.useState(props.packagesData.extraPackages);\r\n\r\n const [selectedPackage, selectPackage] = React.useState(\r\n props.packagesData && props.packagesData.packages && props.selectedPackage && props.selectedPackage.id ?\r\n props.selectedPackage.id : (props.packagesData && props.packagesData.packages.length > 0 ? props.packagesData.packages[0].packageId : null));\r\n\r\n useEffect(() => { if (props.savePackage && props.selectedPackage && props.packagesData.packages.length > 0) props.savePackage!({ id: props.packagesData.packages[0].packageId }) }, [])\r\n useEffect(() => {\r\n if (props.packagesData.packages.length !== packages.length) {\r\n setPackages(props.packagesData.packages);\r\n }\r\n if (props.packagesData.extraPackages.length !== extraPackages.length) {\r\n setExtraPackages(props.packagesData.extraPackages);\r\n }\r\n }, [props.packagesData])\r\n\r\n useEffect(() => {\r\n if (props.saveExtraPackage) {\r\n if (props.carProblemExtraPackages && props.carProblemExtraPackages.data.length !== 0) {\r\n for (let i = 0; i < props.carProblemExtraPackages.data.length; i++) {\r\n let id = props.carProblemExtraPackages.data[i].extraPackageId;\r\n props.saveExtraPackage!({ id })\r\n }\r\n } \r\n }\r\n }, [props.carProblemExtraPackages])\r\n\r\n useEffect(() => { if (props.savePackage && props.selectedPackage && props.packagesData.packages.length > 0) props.savePackage!({ id: props.packagesData.packages[0].packageId }) }, [])\r\n\r\n\r\n function PackageSelected(id: number) {\r\n if (props.selectedPackage.id !== id) {\r\n selectPackage(id);\r\n props.savePackage!({ id })\r\n }\r\n\r\n }\r\n\r\n function ExtraPackagesSelected(id: number) {\r\n if (!props.selectedExtraPackages.data.find(obj => obj.id == id) && !props.carProblemExtraPackages.data.find(obj => obj.extraPackageId == id)) {\r\n props.saveExtraPackage!({ id })\r\n } else if (!props.carProblemExtraPackages.data.find(obj => obj.extraPackageId == id)) {\r\n props.removeExtraPackage!({ id })\r\n }\r\n }\r\n\r\n return \r\n \r\n {packages ? packages.map((item: IPackage, index: number) =>\r\n \r\n \r\n \r\n ) : }\r\n


\r\n

Dodaci na produženo auto jamstvo

\r\n {extraPackages && extraPackages.length > 0 ?\r\n

Sami kreirajte svoje pravo na produženo auto jamstvo tako da odaberete jedan ili više dodataka

\r\n :\r\n

Ovaj automobil nema opciju dodavanja dodataka.

\r\n }\r\n {extraPackages && extraPackages.length > 0 ? extraPackages.map((item: IPackage, index: number) =>\r\n \r\n 0 && !!props.selectedExtraPackages.data.find(obj => obj.id == item.id) || !!(props.carProblemExtraPackages && props.carProblemExtraPackages.data.find(obj => obj.extraPackageId == item.id)))}\r\n {...item}\r\n disabled={StepperHelper.getStep() === 4 || !!(props.carProblemExtraPackages && props.carProblemExtraPackages.data.find(obj => obj.extraPackageId == item.id))} />\r\n \r\n ) : }\r\n\r\n \r\n \r\n}\r\n\r\nexport default PackageSelection;","import React, { useState } from 'react';\r\nimport IWarrantyStatus from '../../types/IStatus';\r\nimport { FormControl, InputLabel, Select, MenuItem, TextField, Grid, Button } from '@material-ui/core';\r\nimport IWarrnatyStatusFormProps from './../../types/IWarrantyStatusFormProps';\r\nimport styles from './warrantyStatusForm.module.scss';\r\nimport WarrantyStatus from '../../domain/enums/WarrantyStatus';\r\nimport { useTranslation } from 'react-i18next';\r\nimport IStatus from '../../types/IStatus';\r\n\r\n\r\ninterface IProps extends IWarrnatyStatusFormProps {\r\n dataChanged?: (data: IWarrnatyStatusFormProps) => void,\r\n warrantyHasMistakes: boolean,\r\n setEnabledSaveButton: (value: boolean) => void,\r\n setTooltipMessage: (message: string | any) => void,\r\n saveWarrantyStatus: () => void,\r\n}\r\nconst WarrantyStatusForm: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n const [currentData, setCurrentData] = useState({\r\n status: props.status,\r\n comment: props.comment\r\n });\r\n\r\n const [statuses, setStatuses] = useState();\r\n\r\n const handleChange = (element: any) => {\r\n const { value, name } = element.target;\r\n let comment = currentData.comment;\r\n let status = currentData.status;\r\n if (name === 'comment') comment = value;\r\n else {\r\n status = value;\r\n props.statuses!.forEach((statusItem: IWarrantyStatus) => {\r\n if (statusItem.id === value) status = statusItem;\r\n });\r\n }\r\n props.dataChanged!({ status, comment });\r\n setCurrentData({ ...currentData, status, comment });\r\n }\r\n\r\n const getStatuses = (): IWarrantyStatus[] | undefined => {\r\n if (currentData.status &&\r\n (\r\n ((currentData.status.name === WarrantyStatus.InProcess || currentData.status.name === WarrantyStatus.Declined) && props.warrantyHasMistakes)\r\n || (currentData.status.name === WarrantyStatus.Approved && !props.warrantyHasMistakes)\r\n || currentData.status.name === WarrantyStatus.Inactive || (currentData.status.name === WarrantyStatus.Active && !props.warrantyHasMistakes) || currentData.status.name === WarrantyStatus.Submitted\r\n )\r\n ) {\r\n props.setEnabledSaveButton(true);\r\n }\r\n else {\r\n props.setEnabledSaveButton(false);\r\n if (currentData.status && currentData.status.name === WarrantyStatus.Approved && props.warrantyHasMistakes) props.setTooltipMessage(\"Ne možete odobriti jamstvo ako ima pogrešaka, molimo odznačite pogreške.\")\r\n else if (currentData.status && currentData.status.name === WarrantyStatus.Active && props.warrantyHasMistakes) props.setTooltipMessage(\"Ne možete aktivirati jamstvo ako ima pogrešaka, molimo odznačite pogreške.\")\r\n else props.setTooltipMessage(\"Molimo označite pogrešku.\")\r\n }\r\n var statuses: IWarrantyStatus[] = [];\r\n props.statuses! && props.statuses!.map(status => {\r\n if (status.name === WarrantyStatus.Active || status.name === WarrantyStatus.Inactive || status.name === WarrantyStatus.Archive) {\r\n statuses.push({ id: status.id, name: t(status.name) + \" - NE DIRAJ\" });\r\n }\r\n else statuses.push(status);\r\n })\r\n return statuses;\r\n }\r\n\r\n return (\r\n \r\n \r\n

Uredite status jamstva

\r\n
\r\n\r\n \r\n \r\n Status jamstva\r\n \r\n {props.statuses && getStatuses()!.map(\r\n (status: IWarrantyStatus) => (\r\n \r\n {t(status.name)}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default WarrantyStatusForm;","import React from 'react';\r\nimport { IPhotoFile } from '../../types/IPhotoFile';\r\nimport ImageGallery from 'react-image-gallery';\r\nimport styles from './photoList.module.scss'\r\nimport { Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n photos?: string[], // photos are saved in db\r\n photoFiles?: IPhotoFile[] // photos are saved in redux store\r\n}\r\n\r\nconst PhotoList: React.FC = (props: IProps) => {\r\n let photos: { original: string, thumbnail: string }[] = []\r\n if (props.photos) props.photos.forEach((url: string) => photos.push({ original: url, thumbnail: url, }))\r\n if (props.photoFiles) {\r\n props.photoFiles.forEach((file: IPhotoFile) => {\r\n const tempUrl = (window.URL ? URL : webkitURL).createObjectURL(file.file);\r\n photos.push({ original: tempUrl, thumbnail: tempUrl });\r\n })\r\n }\r\n\r\n return photos.length ?\r\n
\r\n \r\n
\r\n : null\r\n}\r\n\r\nexport default PhotoList;","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class DeleteWarrantyModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite obrisati jamstvo?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport styles from './changeWarrantyDateModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitValidModal: (warrantyId: string, validFrom: string, validUntil: string) => void,\r\n validFrom?: string,\r\n validUntil?: string,\r\n warrantyId?: string\r\n}\r\n\r\ninterface IState {\r\n validFrom: string,\r\n validUntil: string,\r\n warrantyId: string\r\n}\r\n\r\nexport class ChangeWarrantyDateModal extends React.Component {\r\n\r\n state: IState = {\r\n validFrom: this.props.validFrom ? this.props.validFrom : \"\",\r\n validUntil: this.props.validUntil ? this.props.validUntil : \"\",\r\n warrantyId: this.props.warrantyId ? this.props.warrantyId : \"\"\r\n };\r\n\r\n\r\n private formRef = React.createRef();\r\n\r\n handleSubmitModal = () => {\r\n this.props.submitValidModal(this.state.warrantyId, this.state.validFrom, this.state.validUntil);\r\n this.props.closeModal();\r\n }\r\n\r\n private handleValidFromChange(el: any) {\r\n const { value } = el.target;\r\n\r\n this.setState({ validFrom: value });\r\n }\r\n\r\n private handleValidUntilChange(el: any) {\r\n const { value } = el.target;\r\n\r\n this.setState({ validUntil: value });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n this.handleSubmitModal()}\r\n ref={this.formRef}\r\n className={styles.Form}\r\n >\r\n \r\n \r\n

Promijenite datume valjanosti jamstva

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*format datuma mora biti identičan
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport styles from './warrantyMailModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitMailModal: () => void\r\n}\r\n\r\nexport class WarrantyMailModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitMailModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite ponovno trgovcu poslati email za predano jamstvo?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n isOneYearWarranty?: boolean\r\n}\r\n\r\nexport class SaveWarrantyModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n Jeste li sigurni da želite kreirati jamstvo u trajanju\r\n {this.props.isOneYearWarranty ?\r\n 12 mjeseci?\r\n :\r\n 24 mjeseca?}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n}\r\n\r\nexport class ChangeSellerModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n Jeste li sigurni da želite promijeniti prodavača već prodanog jamstva?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport styles from './changeBuyerModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: (email: string) => void\r\n}\r\n\r\ninterface IState {\r\n email: string\r\n}\r\n\r\nexport class ChangeBuyerModal extends React.Component {\r\n\r\n state: IState = {\r\n email: \"\"\r\n };\r\n\r\n\r\n private formRef = React.createRef();\r\n\r\n handleSubmitEmail = () => {\r\n this.props.submitYesModal(this.state.email);\r\n this.props.closeModal();\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { value } = el.target;\r\n\r\n this.setState({ email: value });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n this.handleSubmitEmail()}\r\n ref={this.formRef}\r\n className={styles.Form}\r\n >\r\n \r\n \r\n

Unesite e-mail adresu postojećeg kupca na kojeg želite prebaciti ovo jamstvo

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n isOneYearWarranty?: boolean,\r\n warrantyFromDate?: string\r\n}\r\n\r\nexport class ChangeWarrantyDurationModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.isOneYearWarranty &&\r\n \r\n Jeste li sigurni da želite promijeniti trajanje jamstva s 12 na 24 mjeseca?\r\n \r\n }\r\n {!this.props.isOneYearWarranty &&\r\n \r\n Jeste li sigurni da želite promijeniti trajanje jamstva s 24 na 12 mjeseci?\r\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 PAZI!\r\n Ako je izdan račun za navedeno jamstvo, potrebno ga je promijeniti!\r\n \r\n \r\n\r\n\r\n \r\n )\r\n }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Grid, Box, TextField, Button, Tooltip, Modal, Paper } from '@material-ui/core';\r\nimport NewCarForm from '../forms/newCarForm/NewCar';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport PackageSelection from './../packageSelection/PackageSelection';\r\nimport style from './warrantyReview.module.scss';\r\nimport ICarData from '../../types/ICarData';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport WarrantyStatusForm from './../forms/WarrantyStatusForm';\r\nimport IWarrantyStatusFormProps from './../../types/IWarrantyStatusFormProps';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\nimport WarrantyStatus from '../../utils/warrantyStatusChecker';\r\nimport WarrantyStatusEnum from './../../domain/enums/WarrantyStatus';\r\nimport PhotoList from './../lists/PhotoList';\r\nimport IPhotoUploadProps from '../../types/IPhotoUploadProps';\r\nimport ICarReview from \"../../types/ICarReview\";\r\nimport IReviewMode from '../../types/IReviewModeProps';\r\nimport CarReviewHelper from './../../utils/CarReviewHelper';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport Select from \"react-select\";\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { DeleteWarrantyModal } from '../forms/warrantyForm/DeleteWarrantyModal';\r\nimport { ChangeWarrantyDateModal } from '../forms/warrantyForm/ChangeWarrantyDateModal';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\nimport { WarrantyMailModal } from '../forms/warrantyForm/WarrantyMailModal';\r\nimport { SaveWarrantyModal } from '../forms/warrantyForm/SaveWarrantyModal';\r\nimport { ChangeSellerModal } from '../forms/warrantyForm/ChangeSellerModal';\r\nimport { ChangeBuyerModal } from '../forms/warrantyForm/ChangeBuyerModal';\r\nimport { ChangeWarrantyDurationModal } from '../forms/warrantyForm/ChangeWarrantyDurationModal';\r\n\r\ninterface IProps extends ICarProps, ICarData, IWarrantyStatusFormProps, IPhotoUploadProps, IReviewMode {\r\n postCar: ICarProps,\r\n selectedPackage: ISelectedPackage,\r\n selectedExtraPackages: { data: ISelectedPackage[] },\r\n warrantyDataChanged?: (data: IWarrantyStatusFormProps) => void,\r\n carReview: ICarReview,\r\n setCarReview?: (data: ICarReview) => void,\r\n save: () => void,\r\n changeSeller?: () => void,\r\n changeBuyer?: (email: string) => void,\r\n delete: () => void,\r\n // getCarReview: (carId: number) => void,\r\n currentWarranty: IWarranty,\r\n carData?: ICarProps,\r\n packagesData: IPackageSelection,\r\n saveWarrantyStatus: () => void,\r\n sellers: ISellerProps[],\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] },\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => void,\r\n sendWarrantyMail: (warrantyId: string) => void,\r\n changeWarrantyDuration?: () => void,\r\n}\r\n\r\nfunction showWarrantyF(status: string) {\r\n return WarrantyStatus.AdminViewOrUpdate(status);\r\n}\r\n\r\n\r\nconst WarrantyReview: React.FC = (props: IProps) => {\r\n\r\n let shouldRender = props.status && (isAdmin() || isSuperAdmin());\r\n const images = props.carData ? props.carData.images : [];\r\n const isActive = props.status && WarrantyStatus.IsActive(props.status!.name);\r\n const [enabledSaveButton, setEnabledSaveButton] = useState(true);\r\n const [tooltipMessage, setTooltipMessage] = useState('');\r\n const [warrantyHasMistakes, setWarrantyHasMistakes] = useState(CarReviewHelper.warrantyHasMistakes(props.carReview));\r\n const showButton = !props.currentWarranty.status || props.currentWarranty.status && (props.currentWarranty.status!.name === WarrantyStatusEnum.InProcess || props.currentWarranty.status!.name === WarrantyStatusEnum.Submitted && (isAdmin() || isSuperAdmin()));\r\n const [showDeleteModal, setDeleteShowModal] = React.useState(false);\r\n const [showChangeValidModal, setShowChangeValidModal] = React.useState(false);\r\n const [showWarrantyMailModal, setShowWarrantyMailModal] = React.useState(false);\r\n const [showSaveModal, setShowSaveModal] = React.useState(false);\r\n const [showChangeSellerModal, setShowChangeSellerModal] = React.useState(false);\r\n const [showChangeBuyerModal, setShowChangeBuyerModal] = React.useState(false);\r\n const [showChangeWarrantyDurationModal, setShowChangeWarrantyDurationModal] = React.useState(false);\r\n\r\n function setCarReview(data: ICarReview) {\r\n setWarrantyHasMistakes(CarReviewHelper.warrantyHasMistakes(data));\r\n props.setCarReview!(data);\r\n }\r\n\r\n const handleSelectSeller = (value: any) => {\r\n localStorage.setItem(\"carSeller\", JSON.stringify(value));\r\n setSelectedSeller(value);\r\n };\r\n\r\n let seller = {\r\n label: props.sellerFullName,\r\n value: props.sellerId\r\n };\r\n\r\n const [selectedSeller, setSelectedSeller] = useState();\r\n\r\n useEffect(() => {\r\n handleSelectSeller(seller);\r\n }, [props.sellerId]);\r\n\r\n const handleDelete = () => {\r\n setDeleteShowModal(true);\r\n }\r\n\r\n const handleYesModal = () => {\r\n props.delete();\r\n }\r\n\r\n const handleChangeValidModal = () => {\r\n setShowChangeValidModal(true);\r\n }\r\n\r\n\r\n const handleSendMailModal = () => {\r\n setShowWarrantyMailModal(true);\r\n }\r\n\r\n\r\n const handleSubmitValidModal = (warrantyId: string, validFrom: string, validUntil: string) => {\r\n props.changeValidDate(warrantyId, validFrom, validUntil);\r\n }\r\n\r\n const handleSubmitMailModal = () => {\r\n if (props.code) {\r\n props.sendWarrantyMail(props.code);\r\n }\r\n }\r\n\r\n const handleSave = () => {\r\n setShowSaveModal(true);\r\n }\r\n\r\n const handleSaveModal = () => {\r\n props.save()\r\n }\r\n\r\n const handleChangeSeller = () => {\r\n setShowChangeSellerModal(true);\r\n }\r\n\r\n const handleChangeSellerModal = () => {\r\n if (props.changeSeller) props.changeSeller()\r\n }\r\n\r\n const handleChangeBuyer = () => {\r\n setShowChangeBuyerModal(true);\r\n }\r\n\r\n const handleChangeBuyerModal = (email: string) => {\r\n if (props.changeBuyer) props.changeBuyer(email)\r\n }\r\n\r\n const handleChangeWarrantyDuration = () => {\r\n setShowChangeWarrantyDurationModal(true);\r\n }\r\n\r\n const handleChangeWarrantyDurationModal = () => {\r\n if (props.changeWarrantyDuration) props.changeWarrantyDuration()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Završni pregled podataka

\r\n
\r\n {(isAdmin() || isSuperAdmin()) && \r\n

Trgovac

\r\n ({\r\n label: m.fullName,\r\n value: m.id\r\n }))\r\n }\r\n className={style.selectSeller}\r\n isClearable\r\n />\r\n
\r\n }\r\n \r\n {/**/}\r\n {/*

Podaci o autu

*/}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {\r\n props.carId &&\r\n \r\n

Podaci o jamstvu

\r\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 {(isAdmin() || isSuperAdmin()) && \r\n \r\n }\r\n {\r\n (isAdmin() || isSuperAdmin()) && props.code &&\r\n \r\n \r\n \r\n }\r\n \r\n\r\n \r\n \r\n
\r\n }\r\n \r\n

Podaci o pravu na jamstvo

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

Slike vozila

\r\n \r\n
\r\n {\r\n shouldRender && \r\n \r\n \r\n \r\n }\r\n {\r\n (!props.isReview || StepperHelper.isUpgradeMode() || (isAdmin() || isSuperAdmin())) && \r\n {props.id && !props.postCar.newWarranty && \r\n \r\n \r\n }\r\n {props.id && !props.postCar.newWarranty &&\r\n \r\n \r\n }\r\n {props.id && props.postCar.newWarranty &&\r\n \r\n \r\n }\r\n {!props.id && \r\n \r\n }\r\n\r\n \r\n }\r\n {\r\n (!props.isReview || StepperHelper.isUpgradeMode() || (isAdmin() || isSuperAdmin())) && \r\n {props.id && \r\n \r\n }\r\n {props.id && \r\n \r\n }\r\n {props.id && \r\n \r\n }\r\n \r\n }\r\n
\r\n {\r\n showSaveModal &&\r\n \r\n setShowSaveModal(false)}>\r\n \r\n
\r\n setShowSaveModal(false)} submitYesModal={handleSaveModal} isOneYearWarranty={props.isOneYearWarranty}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showChangeSellerModal &&\r\n \r\n setShowChangeSellerModal(false)}>\r\n \r\n
\r\n setShowChangeSellerModal(false)} submitYesModal={handleChangeSellerModal} >\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showChangeBuyerModal &&\r\n \r\n setShowChangeBuyerModal(false)}>\r\n \r\n
\r\n setShowChangeBuyerModal(false)} submitYesModal={handleChangeBuyerModal} >\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showDeleteModal &&\r\n \r\n setDeleteShowModal(false)}>\r\n \r\n
\r\n setDeleteShowModal(false)} submitYesModal={handleYesModal}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showChangeValidModal &&\r\n \r\n setShowChangeValidModal(false)}>\r\n \r\n
\r\n setShowChangeValidModal(false)} submitValidModal={handleSubmitValidModal} validFrom={props.validFrom}\r\n validUntil={props.validUntil} warrantyId={props.code}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showWarrantyMailModal &&\r\n \r\n setShowWarrantyMailModal(false)}>\r\n \r\n
\r\n setShowWarrantyMailModal(false)} submitMailModal={handleSubmitMailModal}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showChangeWarrantyDurationModal &&\r\n \r\n setShowChangeWarrantyDurationModal(false)}>\r\n \r\n
\r\n setShowChangeWarrantyDurationModal(false)} submitYesModal={handleChangeWarrantyDurationModal}\r\n isOneYearWarranty={props.isOneYearWarranty} warrantyFromDate={props.validFrom}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
)\r\n}\r\n\r\nexport default WarrantyReview;","import React, { useRef, useEffect } from 'react';\r\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\r\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport NewCarForm from '../forms/newCarForm/NewCarForm';\r\nimport { Paper, Button, Grid } from '@material-ui/core';\r\nimport styles from './stepper.module.scss';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport PackageSelection from '../packageSelection/PackageSelection';\r\nimport ICarData from '../../types/ICarData';\r\nimport MobileStepper from '@material-ui/core/MobileStepper';\r\nimport IWarrantyStatus from '../../types/IStatus';\r\nimport WarrantyReview from './../warrantyReview/WarrantyReview';\r\nimport { Roles } from '../../domain/enums/Roles';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport FormConstants from './../../constants/FormConstants';\r\nimport { getUserRole } from '../../utils/AuthFunctions';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport IPhotoUploadProps from '../../types/IPhotoUploadProps';\r\nimport PhotoUploadForm from '../forms/photoUploadForm/PhotoUploadForm';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\nimport IActionNotification from '../../types/utilities/IActionNotification';\r\nimport WarrantyStatus from './../../domain/enums/WarrantyStatus';\r\nimport ICarReview from \"../../types/ICarReview\";\r\nimport { initialCarReview } from '../../redux/reducers/carReducer';\r\nimport { ShowNotificationAction } from '../../redux/actions/ActionNotificationAction';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\n\r\nconst maxSteps = 4;\r\n\r\ninterface IDispatchToProps {\r\n redirectToPage: () => void,\r\n pictureCaptured: (notification: IActionNotification) => void,\r\n showPicErrorSnack: () => void,\r\n}\r\n\r\n\r\ninterface IProps extends ICarData, IDispatchToProps {\r\n postCar: ICarProps,\r\n postPhotoUpload: IPhotoUploadProps,\r\n currentWarranty: IWarranty,\r\n saveCar: (data: ICarProps) => void,\r\n savePhotos: (data: IPhotoUploadProps) => void,\r\n selectedPackage: ISelectedPackage,\r\n packagesData: IPackageSelection,\r\n selectedExtraPackages: { data: ISelectedPackage[] },\r\n saveSelectedPackage: (data: ISelectedPackage) => void,\r\n removeExtraPackage: (data: ISelectedPackage) => void,\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => void,\r\n saveWarranty: (data: IWarranty) => void,\r\n deleteWarranty: (data: IWarranty) => void,\r\n warrantyStatuses: IWarrantyStatus[],\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => void,\r\n getModelsByBrand?: (brandId: number) => void,\r\n carReview: ICarReview,\r\n reviewCar: (data: ICarReview) => void,\r\n getCarReview: (carId: number) => void,\r\n history: any,\r\n step: number,\r\n sellers: ISellerProps[],\r\n getChassisDamage?: (chassisNumber: string) => void,\r\n chassisDamage: IDamageProps,\r\n getCarProblemExtraPackage: (car: ICarProps) => void,\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] },\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => void,\r\n sendWarrantyMail: (warrantyId: string) => void\r\n}\r\n\r\nlet isAdmin: boolean;\r\nlet isSuperAdmin: boolean;\r\nlet isDisabled: boolean;\r\n\r\nconst WarrantyStepper: React.FC = (props: IProps) => {\r\n const [carReview, setCarReview] = React.useState(initialCarReview);\r\n const [currentPhotosLen, setCurrentPhotosLen] = React.useState(0);\r\n const [currentWarranty, setCurrentWarranty] = React.useState(props.currentWarranty!);\r\n let statusForCheck = props.currentWarranty ? props.currentWarranty.status ? props.currentWarranty.status.name : \"\" : \"\";\r\n const newCarFormRef = useRef(null);\r\n const newPhotoUploadRef = useRef(null);\r\n\r\n useEffect(() => {\r\n setCurrentWarranty(props.currentWarranty);\r\n if (props.currentWarranty && props.currentWarranty.carId) props.getCarReview(props.currentWarranty.carId!);\r\n updateVariables();\r\n // In case user is reviewing warannty, he should not be able to make changes\r\n // so redirect him on last step.\r\n if (isDisabled && StepperHelper.getStep() === 1\r\n && props.currentWarranty && props.currentWarranty.id === StepperHelper.getWarrantyIdFromUrl()\r\n //added props.currentWarranty.status! because it renders without status and cannot update it \r\n && props.currentWarranty.status!) // Check only if warranty from props is loaded and matches with URL\r\n\r\n {\r\n props.history.replace(StepperHelper.stepUrl(4))\r\n }\r\n }, [props.currentWarranty]);\r\n\r\n useEffect(() => {\r\n // if upgrade mode redirect to package sellection which is step 3\r\n if (StepperHelper.isUpgradeMode()) {\r\n // if (StepperHelper.getStep() !== 3) props.history.replace('/upgrade/' + StepperHelper.getUpgradeUrl(3))\r\n } else {\r\n // Validate Stepper if URL changes manually\r\n if (StepperHelper.getStep() === 3) { // check how many pictures are loaded\r\n if (currentPhotosLen < 6) {\r\n props.history.push(StepperHelper.decreasedStepUrl());\r\n props.showPicErrorSnack();\r\n }\r\n }\r\n }\r\n }, [location.href])\r\n\r\n function updateVariables() {\r\n statusForCheck = props.currentWarranty ? props.currentWarranty.status ? props.currentWarranty.status.name : \"\" : \"\";\r\n isAdmin = getUserRole() === Roles.Admin;\r\n isSuperAdmin = getUserRole() === Roles.SuperAdmin;\r\n isDisabled = false;//StepperHelper.isWarrantyForReview(statusForCheck);\r\n }\r\n function getStepContent() {\r\n switch (props.step) {\r\n case 1:\r\n if (props.carBrands && props.engineTypes) return ;\r\n else return null;\r\n case 2:\r\n return setCurrentPhotosLen(photosLen)} isReview={isDisabled} onCapture={props.pictureCaptured} handleNext={handleNext} postCar={props.postCar} {...props.postPhotoUpload} ref={newPhotoUploadRef} />;\r\n case 3:\r\n return ;\r\n case 4:\r\n {\r\n const warrantyReview = handleNext()}\r\n delete={() => handleDelete()}\r\n changeValidDate={props.changeValidDate}\r\n sendWarrantyMail={props.sendWarrantyMail}\r\n saveWarrantyStatus={() => saveWarrantyStatus()} />;\r\n\r\n if (props.currentWarranty) {\r\n // updating Warranty\r\n if (props.carBrands && props.engineTypes && props.packagesData && props.selectedPackage) return warrantyReview;\r\n else return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function handleNext() {\r\n if (props.step === 1) {\r\n const formIsValid = newCarFormRef.current!.checkSubmit();\r\n const selectIsValid = newCarFormRef.current!.validateForm();\r\n if (!(selectIsValid && formIsValid)) return;\r\n\r\n\r\n const carData = newCarFormRef.current!.getStateData();\r\n props.getCarProblemExtraPackage(carData);\r\n }\r\n\r\n if (props.step === 2 && currentPhotosLen < 6) {\r\n props.showPicErrorSnack();\r\n return;\r\n }\r\n \r\n saveToStore();\r\n\r\n if (props.step === maxSteps) {\r\n let saveWarrantyValidation = true;\r\n if ((isAdmin || isSuperAdmin) && (localStorage.getItem(\"carSeller\") == undefined || Object.keys(localStorage.getItem(\"carSeller\")!).length == 0 || (JSON.parse(localStorage.getItem(\"carSeller\")!) && JSON.parse(localStorage.getItem(\"carSeller\")!).label === \" \"))) {\r\n saveWarrantyValidation = false;\r\n alert(\"Molimo odaberite trgovca pri vrhu stranice.\")\r\n }\r\n // if package was not selected, select first by default\r\n const selectedPackage: ISelectedPackage = props.selectedPackage && props.selectedPackage.id ? props.selectedPackage : { id: props.packagesData.packages[0].packageId }\r\n if (saveWarrantyValidation) {\r\n props.saveWarranty({\r\n carData: props.postCar,\r\n allSelectedPackagesIds: {\r\n package: selectedPackage,\r\n extraPackages: props.selectedExtraPackages.data\r\n },\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n carPhotos: props.postPhotoUpload.pictures,\r\n sellerId: (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\") ? JSON.parse(localStorage.getItem(\"carSeller\")!).value : null\r\n })\r\n }\r\n } else props.history.push(StepperHelper.increasedStepUrl())\r\n if (props.step !== 4) window.scrollTo(0, 0);\r\n }\r\n\r\n function handleDelete() {\r\n props.deleteWarranty({\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n sellerId: (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\") ? JSON.parse(localStorage.getItem(\"carSeller\")!).value : null\r\n })\r\n }\r\n\r\n function handleBack() {\r\n saveToStore();\r\n props.history.push(StepperHelper.decreasedStepUrl())\r\n }\r\n\r\n function saveWarrantyStatus() {\r\n if (getUserRole() === Roles.Admin && props.currentWarranty) {\r\n // var update = !WarrantyStatusChecker.AdminViewOrUpdate(statusForCheck); //checker - true if view, false if updated\r\n props.updateWarrantyStatus({ ...currentWarranty, id: props.currentWarranty.id }, true);\r\n props.reviewCar({ ...carReview, carId: props.currentWarranty.carId! });\r\n }\r\n }\r\n function saveToStore() {\r\n switch (props.step) {\r\n case 1:\r\n const carData = newCarFormRef.current!.getStateData();\r\n if (props.postCar) carData.images = props.postCar.images;\r\n props.saveCar(carData);\r\n case 2:\r\n let photoData;\r\n if (newPhotoUploadRef.current) {\r\n photoData = newPhotoUploadRef.current!.getStateData();\r\n props.savePhotos(photoData)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {!isDisabled &&\r\n \r\n Naprijed\r\n \r\n \r\n }\r\n backButton={\r\n \r\n }\r\n />}\r\n \r\n {getStepContent()}\r\n \r\n {!isDisabled &&\r\n \r\n Naprijed\r\n \r\n \r\n }\r\n backButton={\r\n \r\n }\r\n />}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n redirectToPage: () => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: (isAdmin || isSuperAdmin) ? '/jamstva' : '/overview' }\r\n })\r\n },\r\n pictureCaptured: (notification: IActionNotification) => {\r\n dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: { ...notification }\r\n })\r\n },\r\n showPicErrorSnack: () => dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Molimo učitajte 6 slika automobila.\",\r\n style: NotificationStyle.Error\r\n }\r\n }),\r\n\r\n})\r\n\r\n\r\nexport default connect(null, mapDispatchToProps)(WarrantyStepper)\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport NewCar from \"../forms/newCarForm/NewCar\";\r\nimport {\r\n Paper,\r\n Button,\r\n Grid,\r\n Box,\r\n Modal,\r\n} from \"@material-ui/core\";\r\nimport styles from \"./stepper.module.scss\";\r\nimport ICarProps from \"../../types/ICarProps\";\r\nimport IPackageSelection from \"../../types/IPackageSelection\";\r\nimport ISelectedPackage from \"../../types/ISelectedPackage\";\r\nimport PackageSelection from \"../packageSelection/PackageSelection\";\r\nimport ICarData from \"../../types/ICarData\";\r\nimport MobileStepper from \"@material-ui/core/MobileStepper\";\r\nimport IWarrantyStatus from \"../../types/IStatus\";\r\nimport WarrantyReview from \"./../warrantyReview/WarrantyReview\";\r\nimport { Roles } from \"../../domain/enums/Roles\";\r\nimport IWarranty from \"../../types/IWarranty\";\r\nimport FormConstants from \"./../../constants/FormConstants\";\r\nimport { getUserRole } from \"../../utils/AuthFunctions\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport IPhotoUploadProps from \"../../types/IPhotoUploadProps\";\r\nimport PhotoUploadForm from \"../forms/photoUploadForm/PhotoUploadForm\";\r\nimport { NotificationStyle } from \"../../domain/enums/NotificationStyle\";\r\nimport IActionNotification from \"../../types/utilities/IActionNotification\";\r\nimport WarrantyStatus from \"./../../domain/enums/WarrantyStatus\";\r\nimport ICarReview from \"../../types/ICarReview\";\r\nimport { initialCarReview } from \"../../redux/reducers/carReducer\";\r\nimport { ShowNotificationAction } from \"../../redux/actions/ActionNotificationAction\";\r\nimport { StepperHelper } from \"../../utils/StepperHelper\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\nimport { IDamageProps } from \"../../types/Damage/IDamageProps\";\r\nimport ICarProblemExtraPackage from \"../../types/ICarProblemExtraPackage\";\r\nimport ICar from \"../../types/ICar\";\r\nimport { IWarrantyBuyer } from \"../../types/IWarrantyBuyer\";\r\nimport { WarrantyDurationModal } from \"../forms/newCarForm/WarrantyDurationModal\";\r\nimport stylesModal from \"../../components/forms/newCarForm/warrantyDurationModal.module.scss\";\r\nimport { GetCarAction } from \"../../redux/actions/CarAction\";\r\n\r\nconst maxSteps = 4;\r\n\r\ninterface IDispatchToProps {\r\n redirectToPage: () => void;\r\n pictureCaptured: (notification: IActionNotification) => void;\r\n showPicErrorSnack: () => void;\r\n getCar: (id: number) => void;\r\n}\r\n\r\ninterface IProps extends ICarData, IDispatchToProps {\r\n postCar: ICarProps;\r\n postPhotoUpload: IPhotoUploadProps;\r\n currentWarranty: IWarranty;\r\n currentCar: ICarProps;\r\n saveCar: (data: ICarProps) => void;\r\n saveCarOnly: (data: ICar) => void;\r\n saveCarOnlyAndContinue: (data: ICar) => void;\r\n sellCarWithoutWarranty: (data: ICar) => void;\r\n savePhotos: (data: IPhotoUploadProps) => void;\r\n selectedPackage: ISelectedPackage;\r\n packagesData: IPackageSelection;\r\n selectedExtraPackages: { data: ISelectedPackage[] };\r\n saveSelectedPackage: (data: ISelectedPackage) => void;\r\n removeExtraPackage: (data: ISelectedPackage) => void;\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => void;\r\n saveWarranty: (data: IWarranty) => void;\r\n saveWarrantyOnly: (data: IWarranty) => void;\r\n deleteWarranty: (data: IWarranty) => void;\r\n changeSeller: (data: IWarranty) => void;\r\n changeBuyer: (data: IWarrantyBuyer) => void;\r\n warrantyStatuses: IWarrantyStatus[];\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => void;\r\n getModelsByBrand?: (brandId: number) => void;\r\n carReview: ICarReview;\r\n reviewCar: (data: ICarReview) => void;\r\n getCarReview: (carId: number) => void;\r\n history: any;\r\n step: number;\r\n sellers: ISellerProps[];\r\n getChassisDamage?: (chassisNumber: string) => void;\r\n chassisDamage: IDamageProps;\r\n getCarProblemExtraPackage: (car: ICarProps) => void;\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] };\r\n changeValidDate: (\r\n warrantyId: string,\r\n validFrom: string,\r\n validUntil: string\r\n ) => void;\r\n sendWarrantyMail: (warrantyId: string) => void;\r\n changeWarrantyDuration: (data: IWarranty) => void;\r\n}\r\n\r\nlet isAdmin: boolean;\r\nlet isSuperAdmin: boolean;\r\nlet isDisabled: boolean;\r\n\r\nconst CarStepper: React.FC = (props: IProps) => {\r\n const [carReview, setCarReview] = React.useState(initialCarReview);\r\n const [currentPhotosLen, setCurrentPhotosLen] = React.useState(0);\r\n const [currentWarranty, setCurrentWarranty] = React.useState(\r\n props.currentWarranty!\r\n );\r\n const [currentCar, setCurrentCar] = React.useState(props.currentCar!);\r\n const [showWarrantyDurationModal, setShowWarrantyDurationModal] =\r\n React.useState(false);\r\n const [currentSellerId, setCurrentSellerId] = React.useState();\r\n const [currentSeller, setCurrentSeller] = React.useState();\r\n const [saveCarData, setSaveCarData] = React.useState();\r\n\r\n let statusForCheck = props.currentWarranty\r\n ? props.currentWarranty.status\r\n ? props.currentWarranty.status.name\r\n : \"\"\r\n : \"\";\r\n const newCarFormRef = useRef(null);\r\n const newPhotoUploadRef = useRef(null);\r\n\r\n useEffect(() => {\r\n setCurrentCar(props.currentCar);\r\n if (props.currentCar && props.currentCar.carId)\r\n props.getCarReview(props.currentCar.carId!);\r\n updateVariables();\r\n // In case user is reviewing warannty, he should not be able to make changes\r\n // so redirect him on last step.\r\n if (\r\n isDisabled &&\r\n StepperHelper.getStep() === 1 &&\r\n props.currentCar &&\r\n props.currentCar.carId === StepperHelper.getCarIdFromUrl()\r\n ) {\r\n //added props.currentWarranty.status! because it renders without status and cannot update it\r\n //&& props.currentWarranty.status!) // Check only if warranty from props is loaded and matches with URL\r\n\r\n props.history.replace(StepperHelper.stepUrl(4));\r\n }\r\n }, [props.currentCar]);\r\n\r\n useEffect(() => {\r\n setCurrentWarranty(props.currentWarranty);\r\n if (props.currentWarranty && props.currentWarranty.carId)\r\n props.getCarReview(props.currentWarranty.carId!);\r\n updateVariables();\r\n // In case user is reviewing warannty, he should not be able to make changes\r\n // so redirect him on last step.\r\n if (\r\n isDisabled &&\r\n StepperHelper.getStep() === 1 &&\r\n props.currentWarranty &&\r\n props.currentWarranty.id === StepperHelper.getWarrantyIdFromUrl() &&\r\n //added props.currentWarranty.status! because it renders without status and cannot update it\r\n props.currentWarranty.status!\r\n ) {\r\n // Check only if warranty from props is loaded and matches with URL\r\n\r\n props.history.replace(StepperHelper.stepUrl(4));\r\n }\r\n }, [props.currentWarranty]);\r\n\r\n useEffect(() => {\r\n // if upgrade mode redirect to package sellection which is step 3\r\n if (StepperHelper.isUpgradeMode()) {\r\n // if (StepperHelper.getStep() !== 3) props.history.replace('/upgrade/' + StepperHelper.getUpgradeUrl(3))\r\n } else {\r\n // Validate Stepper if URL changes manually\r\n if (StepperHelper.getStep() === 3) {\r\n // check how many pictures are loaded\r\n if (currentPhotosLen < 6) {\r\n props.history.push(StepperHelper.decreasedStepUrl());\r\n props.showPicErrorSnack();\r\n }\r\n }\r\n }\r\n }, [location.href]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n props.getCar(-1);\r\n };\r\n }, []);\r\n\r\n function updateVariables() {\r\n statusForCheck = props.currentWarranty\r\n ? props.currentWarranty.status\r\n ? props.currentWarranty.status.name\r\n : \"\"\r\n : \"\";\r\n isAdmin = getUserRole() === Roles.Admin;\r\n isSuperAdmin = getUserRole() === Roles.SuperAdmin;\r\n isDisabled = false; //StepperHelper.isWarrantyForReview(statusForCheck);\r\n }\r\n function getStepContent() {\r\n switch (props.step) {\r\n case 1:\r\n if (props.carBrands && props.engineTypes)\r\n return (\r\n \r\n );\r\n else return null;\r\n case 2:\r\n return (\r\n setCurrentPhotosLen(photosLen)}\r\n isReview={isDisabled}\r\n onCapture={props.pictureCaptured}\r\n handleNext={handleNext}\r\n handleSaveAndContinue={handleSaveAndContinue}\r\n postCar={props.postCar}\r\n {...props.postPhotoUpload}\r\n ref={newPhotoUploadRef}\r\n currentCar={props.currentCar}\r\n handleSellWithoutWarranty={handleSellWithoutWarranty}\r\n handleWarrantyDurationModal={handleWarrantyDurationModal}\r\n />\r\n );\r\n case 3:\r\n return (\r\n \r\n );\r\n case 4: {\r\n const warrantyReview = (\r\n handleNext()}\r\n delete={() => handleDelete()}\r\n changeSeller={() => handleChangeSeller()}\r\n changeBuyer={(email: string) => handleChangeBuyer(email)}\r\n changeValidDate={props.changeValidDate}\r\n sendWarrantyMail={props.sendWarrantyMail}\r\n saveWarrantyStatus={() => saveWarrantyStatus()}\r\n changeWarrantyDuration={() => handleChangeWarrantyDuration()}\r\n />\r\n );\r\n\r\n if (props.currentWarranty) {\r\n // updating Warranty\r\n if (\r\n props.carBrands &&\r\n props.engineTypes &&\r\n props.packagesData &&\r\n props.selectedPackage\r\n )\r\n return warrantyReview;\r\n else return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function handleNext() {\r\n if (props.step === 1) {\r\n const formIsValid = newCarFormRef.current!.checkSubmit();\r\n const selectIsValid = newCarFormRef.current!.validateForm();\r\n if (!(selectIsValid && formIsValid)) return;\r\n }\r\n\r\n if (props.step === 2 && currentPhotosLen < 6) {\r\n props.showPicErrorSnack();\r\n return;\r\n }\r\n\r\n saveToStore();\r\n\r\n if (props.step === 2) {\r\n props.saveCarOnly({\r\n carData: saveCarData,\r\n carPhotos: props.postPhotoUpload.pictures,\r\n carId: props.currentCar.carId,\r\n });\r\n }\r\n\r\n if (props.step === maxSteps) {\r\n // if package was not selected, select first by default\r\n const selectedPackage: ISelectedPackage =\r\n props.selectedPackage && props.selectedPackage.id\r\n ? props.selectedPackage\r\n : { id: props.packagesData.packages[0].packageId };\r\n props.saveWarrantyOnly({\r\n carData: saveCarData,\r\n allSelectedPackagesIds: {\r\n package: selectedPackage,\r\n extraPackages: props.selectedExtraPackages.data,\r\n },\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n carPhotos: props.postPhotoUpload.pictures,\r\n sellerId:\r\n (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\")\r\n ? JSON.parse(localStorage.getItem(\"carSeller\")!).value\r\n : null,\r\n });\r\n } else if (props.step !== 2)\r\n props.history.push(StepperHelper.increasedStepUrl());\r\n\r\n if (props.step !== 4) window.scrollTo(0, 0);\r\n }\r\n\r\n function handleWarrantyDurationModal() {\r\n setShowWarrantyDurationModal(true);\r\n }\r\n\r\n function handleWarrantyDurationModal12() {\r\n props.postCar.isOneYearWarranty = true;\r\n handleSaveAndContinue(true);\r\n }\r\n\r\n function handleWarrantyDurationModal24() {\r\n props.postCar.isOneYearWarranty = false;\r\n handleSaveAndContinue(false);\r\n }\r\n\r\n async function handleSaveAndContinue(oneYear: boolean) {\r\n if (props.step === 2 && currentPhotosLen < 6) {\r\n props.showPicErrorSnack();\r\n return;\r\n }\r\n\r\n saveToStore();\r\n\r\n if (props.step === 2) {\r\n\r\n if (saveCarData && saveCarData.isOneYearWarranty !== undefined) saveCarData.isOneYearWarranty = oneYear;\r\n\r\n await props.saveCarOnlyAndContinue({\r\n carData: saveCarData,\r\n carPhotos: props.postPhotoUpload.pictures,\r\n carId: props.currentCar.carId,\r\n sellerId: currentSellerId,\r\n });\r\n\r\n props.postCar.sellerId = currentSellerId;\r\n props.postCar.seller = currentSeller;\r\n }\r\n\r\n props.getCarProblemExtraPackage(props.postCar);\r\n\r\n setTimeout(\"\", 3000);\r\n\r\n props.history.push(StepperHelper.increasedStepUrl());\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function handleSellWithoutWarranty() {\r\n if (props.step === 2 && currentPhotosLen < 6) {\r\n props.showPicErrorSnack();\r\n return;\r\n }\r\n\r\n saveToStore();\r\n\r\n if (props.step === 2) {\r\n props.sellCarWithoutWarranty({\r\n carData: saveCarData,\r\n carPhotos: props.postPhotoUpload.pictures,\r\n carId: props.currentCar.carId,\r\n });\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function handleDelete() {\r\n props.deleteWarranty({\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n sellerId:\r\n (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\")\r\n ? JSON.parse(localStorage.getItem(\"carSeller\")!).value\r\n : null,\r\n });\r\n }\r\n\r\n function handleChangeSeller() {\r\n props.changeSeller({\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n carData: props.postCar,\r\n sellerId:\r\n (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\")\r\n ? JSON.parse(localStorage.getItem(\"carSeller\")!).value\r\n : currentSellerId,\r\n });\r\n }\r\n\r\n function handleChangeBuyer(email: string) {\r\n props.changeBuyer({\r\n warrantyId: props.currentWarranty.id!,\r\n email: email,\r\n });\r\n }\r\n\r\n function handleChangeWarrantyDuration() {\r\n props.changeWarrantyDuration({\r\n carId: props.postCar.carId,\r\n id: props.currentWarranty ? props.currentWarranty.id : undefined,\r\n carData: props.postCar,\r\n sellerId:\r\n (isAdmin || isSuperAdmin) && localStorage.getItem(\"carSeller\")\r\n ? JSON.parse(localStorage.getItem(\"carSeller\")!).value\r\n : currentSellerId,\r\n });\r\n }\r\n\r\n function handleBack() {\r\n saveToStore();\r\n props.history.push(StepperHelper.decreasedStepUrl());\r\n }\r\n\r\n function saveWarrantyStatus() {\r\n if (getUserRole() === Roles.Admin && props.currentWarranty) {\r\n // var update = !WarrantyStatusChecker.AdminViewOrUpdate(statusForCheck); //checker - true if view, false if updated\r\n props.updateWarrantyStatus(\r\n { ...currentWarranty, id: props.currentWarranty.id },\r\n true\r\n );\r\n props.reviewCar({ ...carReview, carId: props.currentWarranty.carId! });\r\n }\r\n }\r\n function saveToStore() {\r\n switch (props.step) {\r\n case 1:\r\n const carData = newCarFormRef.current!.getStateData();\r\n if (props.postCar) carData.images = props.postCar.images;\r\n setSaveCarData(carData);\r\n props.saveCar(carData);\r\n case 2:\r\n let photoData;\r\n if (newPhotoUploadRef.current) {\r\n photoData = newPhotoUploadRef.current!.getStateData();\r\n props.savePhotos(photoData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {!isDisabled && (\r\n \r\n Naprijed\r\n \r\n \r\n }\r\n backButton={\r\n \r\n \r\n Nazad\r\n \r\n }\r\n />\r\n )}\r\n \r\n {getStepContent()}\r\n \r\n {!isDisabled && (\r\n \r\n Naprijed\r\n \r\n \r\n }\r\n backButton={\r\n \r\n \r\n Nazad\r\n \r\n }\r\n />\r\n )}\r\n \r\n \r\n {showWarrantyDurationModal && (\r\n \r\n setShowWarrantyDurationModal(false)}\r\n >\r\n \r\n
\r\n setShowWarrantyDurationModal(false)}\r\n submitModal12={handleWarrantyDurationModal12}\r\n submitModal24={handleWarrantyDurationModal24}\r\n >\r\n {\" \"}\r\n \r\n
\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n redirectToPage: () => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: (isAdmin || isSuperAdmin) ? \"/jamstva\" : \"/overview\" },\r\n });\r\n },\r\n pictureCaptured: (notification: IActionNotification) => {\r\n dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: { ...notification },\r\n });\r\n },\r\n showPicErrorSnack: () =>\r\n dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: \"Molimo učitajte 6 slika automobila.\",\r\n style: NotificationStyle.Error,\r\n },\r\n }),\r\n getCar: (id: number) =>\r\n dispatch({\r\n type: ActionTypes.GET_CAR,\r\n payload: id,\r\n }),\r\n});\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(CarStepper);\r\n","export enum CarStatus {\r\n Available = 'Available', Sold = 'Sold'\r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport styles from './sellCarWithoutWarrantyModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class SellCarWithoutWarrantyModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Jeste li sigurni da želite prodati auto bez jamstva?\r\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}","import React from 'react';\r\nimport { Grid, Box, Button, Typography, Modal, Paper } from '@material-ui/core';\r\nimport IReviewMode from '../../../types/IReviewModeProps';\r\nimport { ValidatorForm } from 'react-material-ui-form-validator';\r\nimport IPhotoUploadProps from '../../../types/IPhotoUploadProps';\r\nimport ImageUploader from 'react-images-upload';\r\nimport photoStyles from './photoUploadForm.module.scss';\r\nimport ICarProps from '../../../types/ICarProps';\r\nimport styles from './photoUploadForm.module.scss';\r\nimport IActionNotification from '../../../types/utilities/IActionNotification';\r\nimport { isAdmin, isSuperAdmin } from '../../../utils/AuthFunctions';\r\nimport { NotificationStyle } from '../../../domain/enums/NotificationStyle';\r\nconst Webcam = require(\"react-webcam\");\r\nimport ICar from '../../../types/ICar';\r\nimport { StepperHelper } from '../../../utils/StepperHelper';\r\nimport { SellCarWithoutWarrantyModal } from '../../../components/forms/newCarForm/SellCarWithoutWarrantyModal';\r\nimport stylesModal from '../../../components/forms/newCarForm/sellCarWithoutWarrantyModal.module.scss';\r\n\r\ninterface IProps extends IPhotoUploadProps, IReviewMode, IState {\r\n ref?: React.RefObject,\r\n handleNext?: () => void,\r\n handleSaveAndContinue?: (oneYear: boolean) => void,\r\n handleSellWithoutWarranty?: () => void,\r\n handleWarrantyDurationModal?: () => void,\r\n savePhotosToRedux: () => void,\r\n postCar: ICarProps,\r\n photosNumber: (photos: number) => void,\r\n onCapture: (norification: IActionNotification) => void,\r\n currentCar?: ICarProps\r\n}\r\n\r\ninterface IState {\r\n showSellCarWithoutWarrantyModal?: boolean\r\n}\r\n\r\nexport default class PhotoUploadForm extends React.Component {\r\n state = {\r\n pictures: this.props.pictures ? this.props.pictures : [],\r\n submitValid: false,\r\n urls: this.props.postCar ? this.props.postCar.images ? this.props.postCar.images : [] : [],\r\n mappedPictures: [] as any,\r\n showCameraWindow: false,\r\n webcam: { getScreenshot() { return \"\" } },\r\n showSellCarWithoutWarrantyModal: false\r\n }\r\n\r\n public validateForm(): boolean {\r\n const state = this.state;\r\n let formValid = true;\r\n\r\n return formValid;\r\n }\r\n\r\n public getStateData(): IPhotoUploadProps {\r\n return {\r\n pictures: this.state.pictures,\r\n urls: this.state.urls!\r\n }\r\n };\r\n\r\n checkSubmit(): boolean {\r\n return this.state.submitValid;\r\n }\r\n\r\n handleSubmit(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleNext) props.handleNext();\r\n }\r\n\r\n handleSaveAndContinue(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleSaveAndContinue && props.postCar.isOneYearWarranty !== undefined) props.handleSaveAndContinue(props.postCar.isOneYearWarranty);\r\n }\r\n\r\n handleWarrantyDurationModal(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleWarrantyDurationModal) props.handleWarrantyDurationModal();\r\n }\r\n\r\n handleSellWithoutWarranty(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleSellWithoutWarranty) props.handleSellWithoutWarranty();\r\n }\r\n\r\n\r\n\r\n showSellCarWithoutWarrantyModal() {\r\n\r\n this.setState({ showSellCarWithoutWarrantyModal: true });\r\n\r\n }\r\n\r\n\r\n\r\n private handleSellCarWithoutWarrantyModal() {\r\n\r\n if (this.props.handleSellWithoutWarranty) this.props.handleSellWithoutWarranty();\r\n\r\n }\r\n\r\n\r\n public onDrop(addedPictures: File[]) {\r\n //console.log(addedPictures);\r\n var newPics = this.state.pictures;\r\n addedPictures.forEach((picture: File) => {\r\n var myReader: FileReader = new FileReader();\r\n //console.log(\"Ispis: \" + picture);\r\n myReader.onloadend = (e) => {\r\n\r\n var exists: boolean = false;\r\n\r\n newPics.forEach((p: any) => {\r\n if (p.name == picture.name && p.data == myReader.result) {\r\n exists = true;\r\n }\r\n })\r\n\r\n if (!exists) {\r\n newPics.push({ name: picture.name, data: myReader.result, file: picture });\r\n this.setState({ pictures: newPics }, () => {\r\n if (this.props.savePhotosToRedux) this.props.savePhotosToRedux()\r\n });\r\n }\r\n }\r\n myReader.readAsDataURL(picture);\r\n })\r\n\r\n while (addedPictures.length !== 0) { addedPictures.pop(); }\r\n }\r\n\r\n //camera\r\n public handleCWchange(event: any) {\r\n event.preventDefault()\r\n this.setState({\r\n showCameraWindow: this.state.showCameraWindow ? false : true\r\n });\r\n }\r\n\r\n public setCameraRef(webcam: any) {\r\n //console.log(webcam);\r\n this.state.webcam = webcam;\r\n };\r\n\r\n public capture(event: any) {\r\n event.preventDefault()\r\n //console.log(this.state.webcam);\r\n var imageSrc = this.state.webcam.getScreenshot();\r\n var imageFile = this.dataURLtoFile(imageSrc, 'null.jpg');\r\n //console.log(imageSrc);\r\n this.props.onCapture({\r\n message: 'Slika uspješno dodana',\r\n style: NotificationStyle.Success\r\n });\r\n this.setState({\r\n pictures: this.state.pictures.concat({ name: \"null.jpg\", data: imageSrc, file: imageFile })\r\n }, () => { if (this.props.savePhotosToRedux) this.props.savePhotosToRedux() });\r\n //console.log(this.state.pictures);\r\n }\r\n\r\n public dataURLtoFile(dataurl: any, filename: any) {\r\n var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new File([u8arr], filename, { type: mime });\r\n }\r\n\r\n //gallery\r\n public deleteUrl(u: never) {\r\n var newUrls = this.state.urls!;\r\n newUrls.forEach((item, index) => {\r\n if (item === u) newUrls.splice(index, 1);\r\n });\r\n\r\n this.setState({\r\n urls: newUrls\r\n }, () => {\r\n if (this.props.savePhotosToRedux) this.props.savePhotosToRedux();\r\n });\r\n if (this.props.savePhotosToRedux) this.props.savePhotosToRedux();\r\n }\r\n\r\n public deletePicture(p: any) {\r\n var newPictures = this.state.pictures;\r\n newPictures.forEach((item, index) => {\r\n if (item === p) newPictures.splice(index, 1);\r\n });\r\n\r\n this.setState({\r\n pictures: newPictures\r\n }, () => {\r\n if (this.props.savePhotosToRedux) this.props.savePhotosToRedux();\r\n });\r\n if (this.props.savePhotosToRedux) this.props.savePhotosToRedux();\r\n }\r\n\r\n public checkExistingPics(u: any) {\r\n if (u != null) {\r\n //console.log(\"ISPIS: \" + u.length);\r\n if (u.length > 0) {\r\n return {};\r\n }\r\n else return { display: 'none' };\r\n }\r\n else return { display: 'none' };\r\n }\r\n\r\n public checkAddedPics(u: any) {\r\n if (u != null) {\r\n //console.log(\"ISPIS: \" + u.length);\r\n if (u.length > 0) {\r\n return {};\r\n }\r\n else return { display: 'none' };\r\n }\r\n else return { display: 'none' };\r\n }\r\n\r\n render() {\r\n\r\n const state = this.state;\r\n const cwStyle: React.CSSProperties = this.state.showCameraWindow ? { position: 'fixed', backgroundColor: '#ffffff', top: 0, left: 0, width: '100%', height: '100%' } : { display: 'none' };\r\n const mainStyle = this.state.showCameraWindow ? { display: 'none' } : {};\r\n const existingPicsStyle = this.checkExistingPics(state.urls); //(state.urls || state.urls.length > 0) ? {} : { display: 'none' };\r\n const addedPicsStyle = this.checkAddedPics(state.pictures);\r\n const galleryStyle = { width: window.innerWidth, height: window.innerHeight, overflowY: 'scroll' } as React.CSSProperties;\r\n const centeredStyle = { display: 'flex' };\r\n const videoConstraints = {\r\n facingMode: { exact: \"environment\" }\r\n };\r\n this.props.photosNumber(state.urls.length + state.pictures.length);\r\n\r\n return (\r\n this.handleSubmit(this.props)}\r\n >\r\n \r\n \r\n {((isAdmin() || isSuperAdmin()) || this.props.isReview) &&\r\n \r\n

Pregled slika vozila

\r\n
}\r\n {!this.props.isReview &&\r\n
\r\n \r\n

Unos slika vozila

\r\n
\r\n \r\n \r\n Potrebno je predati minimalno 6 slika. Slike trebaju prikazivati svaku stranu automobila, broj šasije te sliku upaljene kontrolne table.\r\n \r\n \r\n
}\r\n
\r\n {(!this.props.isReview) && \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n {state.urls.map(\r\n (u: any) => (\r\n
\r\n {!this.props.isReview &&
{ this.deleteUrl(u as never) }}>X
}\r\n \r\n
\r\n )\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {state.pictures.map(\r\n (p: any) => (\r\n
\r\n {!this.props.isReview &&
{ this.deletePicture(p) }}>X
}\r\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 {state.pictures.map(\r\n (p: any) => (\r\n
\r\n {!this.props.isReview &&
{ this.deletePicture(p) }}>X
}\r\n \r\n
\r\n )\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {this.props.currentCar && this.props.pictures && this.props.pictures.length > 5 && !this.props.postCar.carId &&\r\n \r\n }\r\n {this.props.postCar && ((this.props.postCar.images && this.props.postCar.images.length > 5) || (this.props.pictures && this.props.pictures.length > 5)) && this.props.postCar.carId &&\r\n \r\n }\r\n {this.props.currentCar && this.props.pictures && this.props.pictures.length > 5 && !this.props.postCar.carId &&\r\n \r\n }\r\n {!StepperHelper.containsWarranty() && this.props.postCar && this.props.postCar.images && this.props.postCar.images.length > 5 && this.props.postCar.carId &&\r\n \r\n }\r\n {StepperHelper.containsWarranty() && this.props.postCar && !this.props.postCar.newWarranty && ((this.props.postCar.images && this.props.postCar.images.length > 5) || (this.props.pictures && this.props.pictures.length > 5)) && this.props.postCar.carId &&\r\n \r\n }\r\n {!StepperHelper.containsWarranty() && this.props.postCar && !this.props.postCar.carSaleId && this.props.postCar.images && this.props.postCar.images.length > 5 && this.props.postCar.carId && !this.props.postCar.carSaleId &&\r\n \r\n }\r\n {this.props.postCar && this.props.postCar.newWarranty && this.props.postCar && this.props.postCar.images && this.props.postCar.images.length > 5 && this.props.postCar.carId &&\r\n \r\n }\r\n \r\n \r\n {\r\n this.state.showSellCarWithoutWarrantyModal &&\r\n \r\n this.setState({ showSellCarWithoutWarrantyModal: false })}>\r\n \r\n
\r\n this.setState({ showSellCarWithoutWarrantyModal: false })}\r\n submitYesModal={this.handleSellCarWithoutWarrantyModal.bind(this)}> \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\n","import React, { useEffect } from 'react';\r\nimport WarrantyStepper from '../../components/stepper/Stepper';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport { Dispatch } from 'redux';\r\nimport { PostCarAction, GetCarDataAction, GetModelsByBrandAction, ReviewCar, CurrentCarReview, GetCarProblemExtraPackageAction } from '../../redux/actions/CarAction';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { connect } from 'react-redux';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport IWarrantyData from '../../types/IWarranty';\r\nimport { SaveWarrantyAction, DeleteWarrantyAction, UpdateWarrantyStatusAction, GetWarrantyAction, ChangeValidDateAction, SendWarrantyEmailAction } from '../../redux/actions/WarrantyAction';\r\nimport { SaveSelectedPackageAction, GetPackagesAction } from '../../redux/actions/PackagesAction';\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetWarrantyStatusesDataAction } from './../../redux/actions/WarrantyAction';\r\nimport IWarrantyStatus from '../../types/IStatus';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport IUrl from './../../types/IUrl';\r\nimport IPhotoUploadProps from '../../types/IPhotoUploadProps';\r\nimport { SaveCarPhotosAction } from './../../redux/actions/CarPhotosAction';\r\nimport GoToPageAction from './../../redux/actions/GoToPageAction';\r\nimport ICarReview from '../../types/ICarReview';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { GetAllSellersAction } from '../../redux/actions/SellerAction';\r\nimport { Paper, Button, Grid, Fab, Box, Tooltip } from '@material-ui/core';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { GetChassisDamageAction } from './../../redux/actions/DamageAction';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\n\r\ninterface IStateToProps {\r\n postCar: ICarProps,\r\n selectedPackage: ISelectedPackage,\r\n selectedExtraPackages: { data: ISelectedPackage[] },\r\n packagesData: IPackageSelection,\r\n carData: ICarData,\r\n warrantyStatuses: IWarrantyStatus[],\r\n carWarranty: IWarranty,\r\n carPhotos: IPhotoUploadProps,\r\n carReview: ICarReview,\r\n history?: any,\r\n sellers: ISellerProps[],\r\n chassisDamage: IDamageProps,\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] }\r\n}\r\n\r\ninterface IDispatchToProps {\r\n saveCar: (data: ICarProps) => void,\r\n saveSelectedPackage: (data: ISelectedPackage) => void,\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => void,\r\n removeExtraPackage: (data: ISelectedPackage) => void,\r\n saveWarranty: (data: IWarranty) => void,\r\n deleteWarranty: (data: IWarranty) => void,\r\n getCarData: () => void,\r\n getWarrantyStatusesData: () => void,\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => void,\r\n getModelsByBrand?: (brandId: number) => void,\r\n getWarranty: (id: number) => void,\r\n savePhotos: (data: IPhotoUploadProps) => void,\r\n reviewCar: (data: ICarReview) => void,\r\n getCarReview: (carId: number) => void,\r\n clearExtraPackagesSelection: () => void,\r\n getAllSellers: () => void,\r\n goToImportCars: () => void,\r\n getChassisDamage?: (chassisNumber: string) => void,\r\n getCarProblemExtraPackage?: (car: ICarProps) => void,\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => void,\r\n sendWarrantyMail: (warrantyId: string) => void\r\n}\r\n\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps, IUrl {\r\n}\r\n\r\nconst WarrantyFormPage: React.FC = (props: IProps) => {\r\n useEffect(() => {\r\n const warrantyId = StepperHelper.getWarrantyIdFromUrl();\r\n if (!props.carWarranty // new warranty creation\r\n || (warrantyId != props.carWarranty.id) // request for warranty with id in URL\r\n || (warrantyId === undefined && props.carWarranty && props.carWarranty.id) // if URL still is not changed, but props contains warranty ID\r\n || (StepperHelper.isInitialUpgrade() && props.packagesData.packages.length === 0)) { // if warranty is upgrading\r\n props.clearExtraPackagesSelection();\r\n props.getWarranty(warrantyId!);\r\n props.getCarData();\r\n props.getWarrantyStatusesData();\r\n props.getAllSellers();\r\n \r\n }\r\n }, [props.match]);\r\n\r\n useEffect(() => {\r\n\r\n }, [props.chassisDamage]);\r\n if (StepperHelper.isUpgradeMode()) {\r\n return props.packagesData.packages.length > 0 ? \r\n :
;\r\n } else {\r\n return
\r\n {(isAdmin() || isSuperAdmin()) && props.goToImportCars()} variant=\"extended\" color=\"primary\" aria-label=\"delete\">\r\n Uvezi vozila\r\n \r\n }\r\n \r\n
\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n postCar: state.postCar,\r\n selectedPackage: state.selectedPackage,\r\n selectedExtraPackages: state.selectedExtraPackages,\r\n packagesData: state.packagesData.data,\r\n carData: state.carData.data,\r\n warrantyStatuses: state.warrantyStatuses,\r\n carWarranty: state.carWarranty,\r\n carPhotos: state.carPhotos,\r\n carReview: state.carReview,\r\n sellers: state.sellers.data,\r\n chassisDamage: state.carDamage.damage,\r\n carProblemExtraPackages: state.carProblemExtraPackages\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n saveCar: (data: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.GET_PACKAGES,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionTypes.GET_EXTRA_PACKAGES,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionTypes.POST_CAR_DATA,\r\n payload: data\r\n })\r\n },\r\n saveSelectedPackage: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.SAVE_PACKAGE,\r\n payload: data\r\n }),\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.SAVE_EXTRA_PACKAGE,\r\n payload: data\r\n }),\r\n removeExtraPackage: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.REMOVE_EXTRA_PACKAGE,\r\n payload: data\r\n }),\r\n saveWarranty: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.SAVE_WARRANTY,\r\n payload: data\r\n }),\r\n deleteWarranty: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.DELETE_WARRANTY,\r\n payload: data\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getAllSellers: () => dispatch({\r\n type: ActionTypes.GET_SELLERS\r\n }),\r\n getWarrantyStatusesData: () => dispatch({\r\n type: ActionTypes.GET_WARRANTY_STATUSES\r\n }),\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => {\r\n !isReview ? dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/jamstva' }\r\n })\r\n : dispatch({\r\n type: ActionTypes.UPDATE_WARRANTY_STATUS,\r\n payload: data\r\n })\r\n },\r\n getWarranty: (id: number) => dispatch({\r\n type: ActionTypes.GET_WARRANTY,\r\n payload: id\r\n }),\r\n getModelsByBrand: (id: number) => dispatch({\r\n type: ActionTypes.GET_CAR_MODELS,\r\n payload: id\r\n }),\r\n savePhotos: (data: IPhotoUploadProps) => {\r\n dispatch({\r\n type: ActionTypes.SAVE_PHOTOS,\r\n payload: data\r\n })\r\n },\r\n reviewCar: (data: ICarReview) => {\r\n dispatch({\r\n type: ActionTypes.REVIEW_CAR,\r\n payload: data\r\n })\r\n },\r\n getCarReview: (carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GET_CURRENT_CAR_REVIEW,\r\n payload: carId\r\n })\r\n },\r\n clearExtraPackagesSelection: () => {\r\n dispatch({\r\n type: ActionTypes.CLEAR_SELECTED_EXTRA_PACKAGES,\r\n })\r\n },\r\n goToImportCars: () => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/uvoz' }\r\n }),\r\n getChassisDamage: (chassisNumber: string) => dispatch({\r\n type: ActionTypes.GET_CHASSIS_DAMAGE,\r\n payload: { chassisNumber }\r\n }),\r\n getCarProblemExtraPackage: (car: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE,\r\n payload: car\r\n })\r\n },\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => dispatch({\r\n type: ActionTypes.CHANGE_VALID_DATE,\r\n payload: { warrantyId, validFrom, validUntil}\r\n }),\r\n sendWarrantyMail: (warrantyId: string) => dispatch({\r\n type: ActionTypes.SEND_WARRANTY_EMAIL,\r\n payload: { warrantyId }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantyFormPage); \r\n","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport styles from './newSellerModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n chassisNumber?: string,\r\n}\r\n\r\nexport class NewSellerModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Auto s brojem šasije {this.props.chassisNumber} je već upisan kod drugog trgovca.\r\n \r\n \r\n Želite li poslati zahtjev G1Klub-u za prijenos auta na Vas?\r\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}","import React from 'react';\r\nimport { Paper, Modal, Grid, FormControl, Box, FormHelperText, Button } from '@material-ui/core';\r\nimport styles from './newCar.module.scss';\r\nimport stylesModal from './chassisNumberModal.module.scss';\r\nimport ICarProps from '../../../types/ICarProps';\r\nimport IReviewMode from '../../../types/IReviewModeProps';\r\nimport ICarData from '../../../types/ICarData';\r\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport CarFormConstans from \"../../../constants/FormConstants\";\r\nimport Validator from \"../../../utils/validation\";\r\nimport SelectDropdown from 'react-select';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport { components } from '../../dropdowns/DropdowndAutocomplete.utils';\r\nimport ICarModel from '../../../types/ICarModel';\r\nimport ICarBrand from '../../../types/ICarBrand';\r\nimport { IEngineType } from '../../../types/IEngineType';\r\nimport hrLocale from 'date-fns/esm/locale/hr/index';\r\nimport NumberFormat from 'react-number-format';\r\nimport { getNumberFromThousandsString } from './../../../utils/Converter';\r\nimport ReportIcon from '@material-ui/icons/Report';\r\nimport WarrantyStatusChecker from '../../../utils/warrantyStatusChecker';\r\nimport IWarrantyStatus from '../../../types/IStatus';\r\nimport ICarReview from '../../../types/ICarReview';\r\nimport { getUserRole, isSuperAdmin } from '../../../utils/AuthFunctions';\r\nimport { Roles } from '../../../domain/enums/Roles';\r\nimport DateHelper from './../../../utils/DateHelper';\r\nimport { AutomaticGearBoxCheckButton } from './automaticGearBoxCheckButton';\r\nimport { FactoryWarrantyCheckButton } from './factoryWarrantyCheckButton';\r\nimport { RiskyCheckButton} from './RiskyCheckButton';\r\nimport translateText from './../../../utils/translateText';\r\nimport IWarranty from '../../../types/IWarranty';\r\nimport WarrantyStatus from '../../../domain/enums/WarrantyStatus';\r\nimport CarReviewHelper from '../../../utils/CarReviewHelper';\r\nimport moment from 'moment';\r\nimport { ChassisNumberModal } from './ChassisNumberModal';\r\nimport { NewSellerModal } from './NewSellerModal';\r\nimport { IDamageProps } from '../../../types/Damage/IDamageProps';\r\nimport { WarrantyDurationRadioButtons } from './WarrantyDurationRadioButtons';\r\nimport { isAdmin } from './../../../utils/AuthFunctions';\r\nimport ICar from '../../../types/ICar';\r\nimport ISellerProps from '../../../types/ISellerProps';\r\nimport Select from \"react-select\";\r\n\r\ninterface IProps extends ICarProps, ICarData, IReviewMode {\r\n ref?: React.RefObject,\r\n handleNext?: () => void,\r\n status?: IWarrantyStatus,\r\n getModelsByBrand?: (brandId: number) => void,\r\n carReview: ICarReview,\r\n setCarReview: (data: ICarReview) => void,\r\n currentWarranty?: IWarranty,\r\n getChassisDamage?: (chassisNumber: string) => void,\r\n getChassisCar?: (chassisNumber: string) => void,\r\n chassisDamage?: IDamageProps,\r\n chassisCar?: ICarProps,\r\n sellers: ISellerProps[],\r\n currentCar?: ICarProps,\r\n changeSellerEmail?: (chassisNumber: string) => void,\r\n setSellerId?: (sellerId: string) => void,\r\n setSeller?: (seller: string) => void,\r\n}\r\n\r\ninterface IState extends IProps {\r\n showChassisModal?: boolean,\r\n showNewSellerModal?: boolean,\r\n isOneYearWarranty?: boolean\r\n}\r\n\r\n\r\nexport default class NewCar extends React.Component {\r\n state = {\r\n showChassisModal: false,\r\n showNewSellerModal: false,\r\n brand: {\r\n items: this.props.carBrands,\r\n value: {\r\n label: this.props.brand,\r\n value: this.props.brandId\r\n },\r\n hasError: false,\r\n },\r\n model: {\r\n items: this.props.carModels,\r\n value: {\r\n label: this.props.model,\r\n value: this.props.modelId\r\n },\r\n hasError: false,\r\n },\r\n engineType: {\r\n items: this.props.engineTypes,\r\n value: {\r\n label: this.props.engineTypeLabel,\r\n value: this.props.engineType\r\n },\r\n hasError: false,\r\n },\r\n enginePower: {\r\n value: this.props.enginePower,\r\n },\r\n engineDisplacement: {\r\n value: this.props.engineDisplacement\r\n }, maxTonnage: {\r\n value: this.props.maxTonnage\r\n },\r\n distance: {\r\n value: this.props.distance,\r\n },\r\n chassisNumber: {\r\n value: this.props.chassisNumber,\r\n },\r\n manufactureYear: {\r\n value: this.props.manufactureYear,\r\n },\r\n registrationYear: {\r\n value: this.props.registrationYear ? this.props.registrationYear : new Date()\r\n },\r\n price: {\r\n value: this.props.price,\r\n },\r\n automaticGearBox: {\r\n value: this.props.automaticGearBox\r\n },\r\n factoryWarrantyBool: {\r\n value: this.props.factoryWarrantyDate ? true : false\r\n },\r\n factoryWarrantyDate: {\r\n value: this.props.factoryWarrantyDate ? this.props.factoryWarrantyDate : new Date()\r\n },\r\n submitValid: false,\r\n status: this.props.status,\r\n carReview: {\r\n updateCarReview: false,\r\n carId: this.props.carReview.carId,\r\n brandIsValid: this.props.carReview.brandIsValid,\r\n modelIsValid: this.props.carReview.modelIsValid,\r\n engineTypeIsValid: this.props.carReview.engineTypeIsValid,\r\n enginePowerIsValid: this.props.carReview.enginePowerIsValid,\r\n distanceIsValid: this.props.carReview.distanceIsValid,\r\n chassisNumberIsValid: this.props.carReview.chassisNumberIsValid,\r\n manufactureYearIsValid: this.props.carReview.manufactureYearIsValid,\r\n registrationYearIsValid: this.props.carReview.registrationYearIsValid,\r\n priceIsValid: this.props.carReview.priceIsValid,\r\n engineDisplacementIsValid: this.props.carReview.engineDisplacementIsValid,\r\n maxTonnageIsValid: this.props.carReview.maxTonnageIsValid\r\n },\r\n isOneYearWarranty: {\r\n value: this.props.isOneYearWarranty !== undefined ? this.props.isOneYearWarranty : true\r\n },\r\n napomena: {\r\n value: this.props.napomena,\r\n },\r\n seller: {\r\n items: this.props.sellers,\r\n value: {\r\n label: this.props.seller,\r\n value: this.props.sellerId\r\n },\r\n hasError: false,\r\n },\r\n risky: {\r\n value: this.props.risky\r\n },\r\n carSaleId: {\r\n value: this.props.carSaleId\r\n },\r\n newWarranty: {\r\n value: this.props.newWarranty\r\n },\r\n }\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule(\"isDistanceOverMax\", distance => getNumberFromThousandsString(distance) < 230000);\r\n ValidatorForm.addValidationRule(\"validateChassis\", chassis => Validator.validateChassis(chassis));\r\n }\r\n\r\n componentDidUpdate(prevState: IProps) {\r\n\r\n this.props.setCarReview(this.state.carReview);\r\n\r\n if (this.props.chassisDamage && this.props.chassisDamage.carId !== 0) {\r\n if (prevState.chassisDamage === undefined) {\r\n this.showChassisModal();\r\n }\r\n else if (prevState.chassisDamage && prevState.chassisDamage.carId !== this.props.chassisDamage.carId) {\r\n this.showChassisModal();\r\n }\r\n }\r\n\r\n if (this.props.chassisCar && this.props.chassisCar.carId !== 0) {\r\n if (prevState.chassisCar === undefined) {\r\n this.showNewSellerModal();\r\n }\r\n else if (prevState.chassisCar && prevState.chassisCar.carId !== this.props.chassisCar.carId) {\r\n this.showNewSellerModal();\r\n }\r\n }\r\n\r\n }\r\n\r\n showChassisModal() {\r\n if (this.state.showChassisModal == false) {\r\n if (this.props.chassisDamage && ((this.props.chassisDamage.noOfReportedDamages !== 0 && this.props.chassisDamage.noOfReportedDamages !== undefined) ||\r\n (this.props.chassisDamage.noOfApprovedDamages != 0 && this.props.chassisDamage.noOfApprovedDamages != undefined) ||\r\n (this.props.chassisDamage.noOfDeclinedDamages != 0 && this.props.chassisDamage.noOfDeclinedDamages != undefined) ||\r\n (this.props.chassisDamage.noOfSolvedDamages != 0 && this.props.chassisDamage.noOfSolvedDamages != undefined))) {\r\n this.setState({ showChassisModal: true });\r\n }\r\n }\r\n\r\n }\r\n\r\n showNewSellerModal() {\r\n if (this.state.showChassisModal == false) {\r\n if (this.props.chassisCar) {\r\n this.setState({ showNewSellerModal: true });\r\n }\r\n }\r\n\r\n }\r\n\r\n static getDerivedStateFromProps(props: IProps, state: any) {\r\n if (CarReviewHelper.isDifferent(props.carReview, state.carReview)) {\r\n if (!state.carReview.updateCarReview) return { carReview: { ...props.carReview, updateCarReview: false } }\r\n }\r\n\r\n if (!state.price.value && props.currentCar && props.currentCar!.price !== state.price.value) \r\n return ({\r\n brand: {\r\n items: props.carBrands,\r\n value: {\r\n label: props.brand,\r\n value: props.brandId\r\n },\r\n hasError: false,\r\n },\r\n model: {\r\n items: props.carModels,\r\n value: {\r\n label: props.model,\r\n value: props.modelId\r\n },\r\n hasError: false,\r\n },\r\n engineType: {\r\n items: props.engineTypes,\r\n value: {\r\n label: props.engineTypeLabel,\r\n value: props.engineType\r\n },\r\n hasError: false,\r\n },\r\n enginePower: {\r\n value: props.enginePower,\r\n },\r\n engineDisplacement: {\r\n value: props.engineDisplacement\r\n },\r\n maxTonnage: {\r\n value: props.maxTonnage\r\n },\r\n distance: {\r\n value: props.distance,\r\n },\r\n chassisNumber: {\r\n value: props.chassisNumber,\r\n },\r\n manufactureYear: {\r\n value: props.manufactureYear,\r\n },\r\n registrationYear: {\r\n value: props.registrationYear,\r\n },\r\n price: {\r\n value: props.price,\r\n },\r\n automaticGearBox: {\r\n value: props.automaticGearBox\r\n },\r\n factoryWarrantyBool: {\r\n value: props.factoryWarrantyBool\r\n },\r\n factoryWarrantyDate: {\r\n value: props.factoryWarrantyDate\r\n },\r\n isOneYearWarranty: {\r\n value: props.isOneYearWarranty\r\n },\r\n napomena: {\r\n value: props.napomena\r\n },\r\n seller: {\r\n items: props.sellers,\r\n value: {\r\n label: props.seller,\r\n value: props.sellerId\r\n },\r\n hasError: false,\r\n },\r\n risky: {\r\n value: props.risky\r\n },\r\n carSaleId: {\r\n value: props.carSaleId\r\n },\r\n newWarranty: {\r\n value: props.newWarranty\r\n },\r\n })\r\n \r\n\r\n //models arrived from db\r\n if (props.carModels) {\r\n const items = props.carModels.filter((item: ICarModel) => item.brandId && item.brandId === state.brand.value.value);\r\n let value = state.model.value;\r\n try {\r\n if (props.carModels.length) {\r\n if (!state.model.items.length) value = { label: undefined, value: undefined }\r\n else {\r\n if (props.carModels[0].name !== state.model.items[0].name) value = { label: props.model, value: props.modelId }\r\n }\r\n } else value = { label: props.model, value: props.modelId }\r\n } catch { }\r\n if (props.carReview.carId !== state.carReview.carId)\r\n return {\r\n model: { items, value, hasError: false, marked: state.model.marked }\r\n };\r\n return {\r\n model: { items, value, hasError: false, marked: state.model.marked }\r\n };\r\n }\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { name, value } = el.target;\r\n this.setState((prevState: any) => ({\r\n ...prevState, [name]: { value }\r\n }))\r\n }\r\n\r\n private handleSelectChange(el: any, propName: string) {\r\n const { label, value } = el;\r\n const hasError = false;\r\n if (propName === 'brand') this.props.getModelsByBrand!(value);\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [propName]: { ...prevState[propName], value: { label: label, value: value }, hasError }\r\n }));\r\n if (propName === 'seller') {\r\n localStorage.setItem(\"carSeller\", JSON.stringify(value));\r\n if (this.props.setSellerId) this.props.setSellerId(el.value);\r\n if (this.props.setSeller) this.props.setSeller(el.label);\r\n } \r\n }\r\n\r\n private handleChassisChange(el: any) {\r\n const { name, value } = el.target;\r\n\r\n if (value && value.length === 17) {\r\n if ((isAdmin() || isSuperAdmin())) {\r\n this.props.getChassisDamage!(value);\r\n }\r\n else {\r\n this.props.getChassisCar!(value);\r\n }\r\n }\r\n\r\n this.setState((prevState: any) => ({\r\n ...prevState, [name]: { value }\r\n }))\r\n }\r\n\r\n private handleDateChange(date: Date | null, propName: string | null | undefined) {\r\n let newDate;\r\n try {\r\n newDate = date!.toISOString();\r\n } catch { }\r\n if (date) {\r\n if (date < new Date())\r\n this.setState({\r\n registrationYear: { value: newDate ? newDate : date }\r\n })\r\n\r\n else\r\n this.setState({\r\n factoryWarrantyDate: { value: newDate ? newDate : date }\r\n })\r\n }\r\n\r\n }\r\n\r\n public validateForm(): boolean {\r\n const state = this.state;\r\n let formValid = true;\r\n if (state.brand.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"brand\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (state.model.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"model\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (state.engineType.value.value === undefined) {\r\n const hasError = true;\r\n formValid = false;\r\n const name = \"engineType\";\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n [name]: { ...prevState[name], hasError }\r\n }));\r\n }\r\n if (DateHelper.dateDiffInYears(this.state.registrationYear.value, new Date()) > 12) formValid = false;\r\n return formValid;\r\n }\r\n\r\n checkSubmit(): boolean {\r\n return this.state.submitValid;\r\n }\r\n\r\n handleSubmit(props: IProps) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n submitValid: true\r\n }))\r\n if (props.handleNext) props.handleNext();\r\n }\r\n\r\n public changeMarked(name: string, marked: boolean) {\r\n this.setState((prevState: any) => ({\r\n ...prevState,\r\n carReview: { ...prevState.carReview, [name]: marked, updateCarReview: true }\r\n }));\r\n }\r\n\r\n private handleNewSellerModal() {\r\n\r\n if (this.props.changeSellerEmail && this.props.chassisCar) this.props.changeSellerEmail(this.props.chassisCar.chassisNumber);\r\n\r\n }\r\n\r\n\r\n public getStateData(): ICarProps {\r\n const state = this.state;\r\n\r\n let data: ICarProps = {\r\n brandId: state.brand.value.value,\r\n brand: state.brand.value.label,\r\n modelId: state.model.value.value,\r\n model: state.model.value.label,\r\n engineType: state.engineType.value.value,\r\n engineTypeLabel: state.engineType.value.label,\r\n enginePower: state.enginePower.value,\r\n distance: state.distance.value && getNumberFromThousandsString(state.distance.value),\r\n chassisNumber: state.chassisNumber.value,\r\n manufactureYear: state.manufactureYear.value,\r\n registrationYear: state.registrationYear ? state.registrationYear.value : new Date(),\r\n price: state.price.value && getNumberFromThousandsString(state.price.value),\r\n carId: this.props.carId,\r\n engineDisplacement: state.engineDisplacement.value,\r\n maxTonnage: state.maxTonnage.value,\r\n automaticGearBox: state.automaticGearBox.value,\r\n factoryWarrantyBool: state.factoryWarrantyBool.value,\r\n factoryWarrantyDate: state.factoryWarrantyBool.value ? state.factoryWarrantyDate.value : undefined,\r\n isOneYearWarranty: state.isOneYearWarranty.value,\r\n napomena: state.napomena.value,\r\n sellerId: state.seller.value.value ? state.seller.value.value : undefined,\r\n seller: state.seller.value.label ? state.seller.value.label : undefined,\r\n risky: state.risky.value,\r\n carSaleId: state.carSaleId.value ? state.carSaleId.value : undefined,\r\n newWarranty: state.newWarranty.value\r\n };\r\n return data;\r\n }\r\n\r\n private prepareDate(date: any): string {\r\n let isoDate;\r\n try {\r\n if (date !== undefined && date !== null) {\r\n try {\r\n isoDate = (date).toISOString();\r\n } catch {\r\n let temp = date.split('/');\r\n temp = temp.reverse();\r\n isoDate = temp.join('-');\r\n }\r\n }\r\n else isoDate = (new Date()).toISOString();\r\n }\r\n catch\r\n {\r\n isoDate = date\r\n }\r\n return isoDate;\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n\r\n let registrationYear = this.prepareDate(state.registrationYear.value);\r\n let factoryWarrantyDate = this.prepareDate(state.factoryWarrantyDate.value);\r\n\r\n const currentYear = (new Date()).getFullYear();\r\n const colSize = this.props.isReview ? 6 : 4;\r\n const editCarMode = this.props.carId;\r\n const visible = (this.props.carId ? true : false) && this.props.status && this.props.status!.name !== WarrantyStatus.Active && this.props.status!.name !== WarrantyStatus.Approved;\r\n const xsProp = visible ? 10 : 12;\r\n var update;\r\n\r\n if (state.status !== null && state.status !== undefined) {\r\n update = WarrantyStatusChecker.AdminViewOrUpdate(state.status!.name)\r\n }\r\n else {\r\n update = false;\r\n }\r\n const disabled = getUserRole() === Roles.Seller || update;\r\n\r\n const engineTypesTranslated = {\r\n items: state.engineType.items.map((et: IEngineType) => ({\r\n label: translateText(et.name),\r\n value: et.id,\r\n })),\r\n value: {\r\n label: translateText(state.engineType.value.label),\r\n value: state.engineType.value.value\r\n }\r\n };\r\n\r\n return (\r\n this.handleSubmit(this.props)}\r\n >\r\n \r\n {!this.props.isReview && (\r\n \r\n
\r\n

{editCarMode ? 'Pregled' : 'Unos'} Vozila

\r\n
\r\n {editCarMode ? 'Molimo ažurirajte podatke o vozilu' :\r\n 'Molimo ispunite podatke o vozilu'}\r\n
\r\n
\r\n
\r\n )}\r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\n \r\n \r\n this.handleSelectChange(el, 'seller')}\r\n isDisabled={this.props.isReview}\r\n options={\r\n this.props.sellers &&\r\n this.props.sellers.map((m: ISellerProps) => ({\r\n label: m.fullName,\r\n value: m.id\r\n }))\r\n }\r\n className={styles.selectSeller}\r\n isClearable\r\n />\r\n {state.seller.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview}\r\n inputId=\"brand\"\r\n value={state.brand.value.label ? state.brand.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: 'brand',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder=\"Marka\"\r\n options={state.brand.items.map((b: ICarBrand) => ({\r\n label: b.name,\r\n value: b.id,\r\n }))}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'brand')}\r\n />\r\n {state.brand.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview || !state.brand.value.value}\r\n value={state.model.value.label ? state.model.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n label: 'Model',\r\n htmlFor: 'model',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder={state.brand.value.value ? 'Model' : 'Molimo prvo odaberite marku'}\r\n options={state.model.items && state.model.items.map((m: ICarModel) => ({\r\n label: m.name,\r\n value: m.id,\r\n }))}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'model')}\r\n />\r\n {state.model.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n const { zIndex, ...rest } = base; // remove zIndex from base by destructuring\r\n return { ...rest, zIndex: 9999 };\r\n }\r\n }}\r\n menuPortalTarget={document.body}\r\n isDisabled={this.props.isReview}\r\n inputId=\"engineType\"\r\n value={state.engineType.value.label ? engineTypesTranslated.value : null}\r\n TextFieldProps={{\r\n InputLabelProps: {\r\n htmlFor: 'engineType',\r\n shrink: true,\r\n },\r\n error: state.brand.hasError,\r\n disabled: this.props.isReview\r\n }}\r\n placeholder=\"Vrsta motora\"\r\n options={engineTypesTranslated.items}\r\n components={components}\r\n onChange={(el: any) => this.handleSelectChange(el, 'engineType')}\r\n />\r\n {state.engineType.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\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 {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\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 {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ automaticGearBox: { value: automatic } })} />\r\n \r\n \r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\n \r\n \r\n this.setState({ risky: { value: risky } })} />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n this.setState({ factoryWarrantyBool: { value: hasFactoryWarranty } })} />\r\n \r\n \r\n \r\n {state.factoryWarrantyBool.value && \r\n \r\n \r\n \r\n \r\n \r\n \r\n {visible &&\r\n \r\n \r\n }\r\n \r\n }\r\n {/* \r\n \r\n {\r\n this.setState({\r\n isOneYearWarranty: isOneYear\r\n })\r\n }}\r\n isDurationOneYear={this.state.isOneYearWarranty.value}\r\n disabled={this.props.isReview || this.props.carId !== undefined} />\r\n \r\n */}\r\n \r\n \r\n \r\n {\r\n this.state.showChassisModal &&\r\n \r\n this.setState({ showChassisModal: false })}>\r\n \r\n
\r\n this.setState({ showChassisModal: false })} chassisNumber={this.state.chassisNumber.value}\r\n reportedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfReportedDamages} approvedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfApprovedDamages}\r\n declinedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfDeclinedDamages} solvedDamages={this.props.chassisDamage && this.props.chassisDamage.noOfSolvedDamages}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n this.state.showNewSellerModal &&\r\n \r\n this.setState({ showNewSellerModal: false })}>\r\n \r\n
\r\n this.setState({ showNewSellerModal: false })} chassisNumber={this.state.chassisNumber.value}\r\n submitYesModal={this.handleNewSellerModal.bind(this)}> \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
)\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport styles from './warrantyDurationModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitModal24: () => void,\r\n submitModal12: () => void\r\n}\r\n\r\nexport class WarrantyDurationModal extends React.Component {\r\n\r\n\r\n handleSubmit12 = () => {\r\n this.props.submitModal12();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmit24 = () => {\r\n this.props.submitModal24();\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Odaberite trajanje jamstva:\r\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}","import React, { useEffect, useState } from 'react';\r\nimport CarStepper from '../../components/stepper/CarStepper';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport { Dispatch } from 'redux';\r\nimport {\r\n PostCarAction, GetCarAction, PostCarOnlyAction, GetCarDataAction, GetModelsByBrandAction, ReviewCar,\r\n CurrentCarReview, GetCarProblemExtraPackageAction, ChangeSellerEmailAction, GetChassisCarAction,\r\n GetCarsDropdownAdminAction, GetCarsDropdownSellerAction, SellCarWithoutWarrantyAction, PostCarOnlyAndContinueAction\r\n} from '../../redux/actions/CarAction';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { connect } from 'react-redux';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport IWarrantyData from '../../types/IWarranty';\r\nimport {\r\n SaveWarrantyAction, SaveWarrantyOnlyAction, DeleteWarrantyAction, UpdateWarrantyStatusAction, GetWarrantyAction,\r\n ChangeValidDateAction, SendWarrantyEmailAction, ChangeSellerAction, ChangeBuyerAction, ChangeWarrantyDurationAction\r\n} from '../../redux/actions/WarrantyAction';\r\nimport { SaveSelectedPackageAction, GetPackagesAction } from '../../redux/actions/PackagesAction';\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetWarrantyStatusesDataAction } from './../../redux/actions/WarrantyAction';\r\nimport IWarrantyStatus from '../../types/IStatus';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport { IWarrantyBuyer } from '../../types/IWarrantyBuyer';\r\nimport IUrl from './../../types/IUrl';\r\nimport IPhotoUploadProps from '../../types/IPhotoUploadProps';\r\nimport { SaveCarPhotosAction } from './../../redux/actions/CarPhotosAction';\r\nimport GoToPageAction from './../../redux/actions/GoToPageAction';\r\nimport ICarReview from '../../types/ICarReview';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { GetAllSellersAction } from '../../redux/actions/SellerAction';\r\nimport { Paper, Button, Grid, Fab, Box, Tooltip } from '@material-ui/core';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { GetChassisDamageAction } from './../../redux/actions/DamageAction';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\nimport ICar from '../../types/ICar';\r\n\r\ninterface IStateToProps {\r\n postCar: ICarProps,\r\n selectedPackage: ISelectedPackage,\r\n selectedExtraPackages: { data: ISelectedPackage[] },\r\n packagesData: IPackageSelection,\r\n carData: ICarData,\r\n warrantyStatuses: IWarrantyStatus[],\r\n carWarranty: IWarranty,\r\n currentCar: ICarProps,\r\n carPhotos: IPhotoUploadProps,\r\n carReview: ICarReview,\r\n history?: any,\r\n sellers: ISellerProps[],\r\n cars: ICarProps[],\r\n chassisDamage: IDamageProps,\r\n chassisCar: ICarProps,\r\n carProblemExtraPackages: { data: ICarProblemExtraPackage[] }\r\n}\r\n\r\ninterface IDispatchToProps {\r\n saveCar: (data: ICarProps) => void,\r\n saveCarOnly: (data: ICar) => void,\r\n saveCarOnlyAndContinue: (data: ICar) => void,\r\n sellCarWithoutWarranty: (data: ICar) => void,\r\n saveSelectedPackage: (data: ISelectedPackage) => void,\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => void,\r\n removeExtraPackage: (data: ISelectedPackage) => void,\r\n saveWarranty: (data: IWarranty) => void,\r\n saveWarrantyOnly: (data: IWarranty) => void,\r\n deleteWarranty: (data: IWarranty) => void,\r\n changeSeller: (data: IWarranty) => void,\r\n changeBuyer: (data: IWarrantyBuyer) => void,\r\n getCarData: () => void,\r\n getWarrantyStatusesData: () => void,\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => void,\r\n getModelsByBrand?: (brandId: number) => void,\r\n getWarranty: (id: number) => void,\r\n getCar: (id: number) => void,\r\n savePhotos: (data: IPhotoUploadProps) => void,\r\n reviewCar: (data: ICarReview) => void,\r\n getCarReview: (carId: number) => void,\r\n clearExtraPackagesSelection: () => void,\r\n getAllSellers: () => void,\r\n getCarsAdmin: () => void,\r\n getCarsSeller: () => void,\r\n goToImportCars: () => void,\r\n getChassisDamage?: (chassisNumber: string) => void,\r\n getChassisCar?: (chassisNumber: string) => void,\r\n changeSellerEmail?: (chassisNumber: string) => void,\r\n getCarProblemExtraPackage?: (car: ICarProps) => void,\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => void,\r\n sendWarrantyMail: (warrantyId: string) => void,\r\n changeWarrantyDuration: (data: IWarranty) => void,\r\n}\r\n\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps, IUrl {\r\n}\r\n\r\nconst CarFormPage: React.FC = (props: IProps) => {\r\n\r\n const [carId, setCarId] = useState();\r\n const [step, setStep] = useState();\r\n\r\n useEffect(() => {\r\n let carId = StepperHelper.getCarIdFromUrl();\r\n const step = StepperHelper.getStep();\r\n\r\n if(StepperHelper.containsWarranty()){\r\n carId = StepperHelper.getCarIdFromExpandedUrl();\r\n };\r\n\r\n setCarId(carId);\r\n setStep(step);\r\n\r\n const isCurrentCarNull = !props.currentCar || (props.currentCar && Object.keys(props.currentCar).length === 0\r\n && Object.getPrototypeOf(props.currentCar) === Object.prototype)\r\n\r\n if (isCurrentCarNull // new warranty creation\r\n // || request for warranty with id in URL\r\n // || if URL still is not changed, but props contains warranty ID\r\n || (StepperHelper.isInitialUpgrade() && props.packagesData.packages.length === 0)) { // if warranty is upgrading\r\n props.clearExtraPackagesSelection();\r\n props.getCarData();\r\n props.getWarrantyStatusesData();\r\n props.getAllSellers();\r\n props.getCar(carId!);\r\n if ((isAdmin() || isSuperAdmin())) {\r\n props.getCarsAdmin()\r\n } else {\r\n props.getCarsSeller()\r\n }\r\n\r\n }\r\n }, [props.match]);\r\n\r\n useEffect(() => {\r\n let warrantyId = undefined;\r\n \r\n if(StepperHelper.containsWarranty() && props.postCar && !props.postCar.newWarranty){\r\n warrantyId = StepperHelper.getWarrantyIdFromExpandedUrl();\r\n };\r\n\r\n if (!props.carWarranty // new warranty creation\r\n || (warrantyId != props.carWarranty.id) // request for warranty with id in URL\r\n || (warrantyId === undefined && props.carWarranty && props.carWarranty.id) // if URL still is not changed, but props contains warranty ID\r\n || (StepperHelper.isInitialUpgrade() && props.packagesData.packages.length === 0)) { // if warranty is upgrading\r\n props.clearExtraPackagesSelection();\r\n props.getWarranty(warrantyId!);\r\n props.getCarData();\r\n props.getWarrantyStatusesData();\r\n }\r\n }, [props.match]);\r\n\r\n useEffect(() => {\r\n\r\n }, [props.chassisDamage]);\r\n if (StepperHelper.isUpgradeMode()) {\r\n return props.packagesData.packages.length > 0 ? \r\n :
;\r\n } else {\r\n return
\r\n {(isAdmin() || isSuperAdmin()) && props.goToImportCars()} variant=\"extended\" color=\"primary\" aria-label=\"delete\">\r\n Uvezi vozila\r\n \r\n }\r\n \r\n
\r\n }\r\n\r\n}\r\n\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n postCar: state.postCar,\r\n selectedPackage: state.selectedPackage,\r\n selectedExtraPackages: state.selectedExtraPackages,\r\n packagesData: state.packagesData.data,\r\n carData: state.carData.data,\r\n warrantyStatuses: state.warrantyStatuses,\r\n carWarranty: state.carWarranty,\r\n currentCar: state.currentCar,\r\n carPhotos: state.carPhotos,\r\n carReview: state.carReview,\r\n sellers: state.sellers.data,\r\n chassisDamage: state.carDamage.damage,\r\n chassisCar: state.chassisCar,\r\n carProblemExtraPackages: state.carProblemExtraPackages,\r\n cars: state.carsDropdown.data\r\n\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n saveCar: (data: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.POST_CAR_DATA,\r\n payload: data\r\n })\r\n },\r\n saveCarOnly: (data: ICar) => {\r\n dispatch({\r\n type: ActionTypes.POST_CAR_ONLY,\r\n payload: data\r\n })\r\n },\r\n saveCarOnlyAndContinue: (data: ICar) => {\r\n dispatch({\r\n type: ActionTypes.POST_CAR_ONLY_AND_CONTINUE,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionTypes.GET_PACKAGES,\r\n payload: data.carData!\r\n })\r\n dispatch({\r\n type: ActionTypes.GET_EXTRA_PACKAGES,\r\n payload: data.carData!\r\n })\r\n },\r\n sellCarWithoutWarranty: (data: ICar) => {\r\n dispatch({\r\n type: ActionTypes.SELL_CAR_WITHOUT_WARRANTY,\r\n payload: data\r\n })\r\n },\r\n saveSelectedPackage: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.SAVE_PACKAGE,\r\n payload: data\r\n }),\r\n saveExtraSelectedPackages: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.SAVE_EXTRA_PACKAGE,\r\n payload: data\r\n }),\r\n removeExtraPackage: (data: ISelectedPackage) => dispatch({\r\n type: ActionTypes.REMOVE_EXTRA_PACKAGE,\r\n payload: data\r\n }),\r\n saveWarranty: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.SAVE_WARRANTY,\r\n payload: data\r\n }),\r\n saveWarrantyOnly: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.SAVE_WARRANTY_ONLY,\r\n payload: data\r\n }),\r\n deleteWarranty: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.DELETE_WARRANTY,\r\n payload: data\r\n }),\r\n changeSeller: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.CHANGE_SELLER,\r\n payload: data\r\n }),\r\n changeBuyer: (data: IWarrantyBuyer) => dispatch({\r\n type: ActionTypes.CHANGE_BUYER,\r\n payload: data\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getAllSellers: () => dispatch({\r\n type: ActionTypes.GET_SELLERS\r\n }),\r\n getCarsAdmin: () => dispatch({\r\n type: ActionTypes.GET_CARS_DROPDOWN_ADMIN\r\n }),\r\n getCarsSeller: () => dispatch({\r\n type: ActionTypes.GET_CARS_DROPDOWN_SELLER\r\n }),\r\n getWarrantyStatusesData: () => dispatch({\r\n type: ActionTypes.GET_WARRANTY_STATUSES\r\n }),\r\n updateWarrantyStatus: (data: IWarranty, isReview: boolean) => {\r\n !isReview ? dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/jamstva' }\r\n })\r\n : dispatch({\r\n type: ActionTypes.UPDATE_WARRANTY_STATUS,\r\n payload: data\r\n })\r\n },\r\n getWarranty: (id: number) => dispatch({\r\n type: ActionTypes.GET_WARRANTY,\r\n payload: id\r\n }),\r\n getCar: (id: number) => dispatch({\r\n type: ActionTypes.GET_CAR,\r\n payload: id\r\n }),\r\n getModelsByBrand: (id: number) => dispatch({\r\n type: ActionTypes.GET_CAR_MODELS,\r\n payload: id\r\n }),\r\n savePhotos: (data: IPhotoUploadProps) => {\r\n dispatch({\r\n type: ActionTypes.SAVE_PHOTOS,\r\n payload: data\r\n })\r\n },\r\n reviewCar: (data: ICarReview) => {\r\n dispatch({\r\n type: ActionTypes.REVIEW_CAR,\r\n payload: data\r\n })\r\n },\r\n getCarReview: (carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GET_CURRENT_CAR_REVIEW,\r\n payload: carId\r\n })\r\n },\r\n clearExtraPackagesSelection: () => {\r\n dispatch({\r\n type: ActionTypes.CLEAR_SELECTED_EXTRA_PACKAGES,\r\n })\r\n },\r\n goToImportCars: () => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/uvoz' }\r\n }),\r\n getChassisDamage: (chassisNumber: string) => dispatch({\r\n type: ActionTypes.GET_CHASSIS_DAMAGE,\r\n payload: { chassisNumber }\r\n }),\r\n getChassisCar: (chassisNumber: string) => dispatch({\r\n type: ActionTypes.GET_CHASSIS_CAR,\r\n payload: { chassisNumber }\r\n }),\r\n changeSellerEmail: (chassisNumber: string) => dispatch({\r\n type: ActionTypes.CHANGE_SELLER_EMAIL,\r\n payload: { chassisNumber }\r\n }),\r\n getCarProblemExtraPackage: (car: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE,\r\n payload: car\r\n })\r\n },\r\n changeValidDate: (warrantyId: string, validFrom: string, validUntil: string) => dispatch({\r\n type: ActionTypes.CHANGE_VALID_DATE,\r\n payload: { warrantyId, validFrom, validUntil }\r\n }),\r\n sendWarrantyMail: (warrantyId: string) => dispatch({\r\n type: ActionTypes.SEND_WARRANTY_EMAIL,\r\n payload: { warrantyId }\r\n }),\r\n changeWarrantyDuration: (data: IWarrantyData) => dispatch({\r\n type: ActionTypes.CHANGE_WARRANTY_DURATION,\r\n payload: data\r\n }),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarFormPage);\r\n","export enum BuyerType {\r\n Person = 'Person', LegalEntity = 'Legal Entity'\r\n}","import React from 'react';\r\nimport { Grid, Paper, Box, Typography, Divider, List, ListItem, ListItemIcon, ListItemText } from '@material-ui/core';\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport MailIcon from '@material-ui/icons/Email';\r\n\r\nexport const BuyerInfoCards: React.FC = () => {\r\n return \r\n \r\n KONTAKT\r\n \r\n \r\n \r\n \r\n \r\n \r\n info@g1klub.hr\r\n \r\n \r\n \r\n INFO: +385 91 333 4443\r\n \r\n \r\n \r\n HAK-G1: +385 1 4693786\r\n \r\n \r\n \r\n \r\n}","import React from 'react';\r\nimport { Button } from \"@material-ui/core\";\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport IPackage from '../../types/IPackage';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { Grid, LinearProgress, Box } from '@material-ui/core';\r\nimport PackageCard from '../packageSelection/PackageCard';\r\nimport MainPackageCard from '../packageSelection/MainPackageCard';\r\nimport styles from './upgradeWarrantyPackageLayout.module.scss';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\n\r\ninterface IProps {\r\n packages?: IPackageSelection,\r\n car?: ICarProps,\r\n currentPackage?: number,\r\n currentExtraPackages?: IPackage[],\r\n findAvailablePackages: () => void,\r\n packageChanged: (id: number) => void,\r\n extraPackageChanged: (id: number) => void,\r\n handleUpgrade: () => void,\r\n getCarProblemExtraPackage?: (car: ICarProps) => void,\r\n carProblemExtraPackages?: { data: ICarProblemExtraPackage[] }\r\n}\r\n\r\nexport const UpgradeWarrantyPackageLayout: React.FC = (props: IProps) => {\r\n \r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleClickOpen = () => {\r\n setOpen(true);\r\n props.findAvailablePackages();\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n function PackageSelected(id: number) {\r\n props.packageChanged(id)\r\n }\r\n\r\n function ExtraPackagesSelected(id: number) {\r\n props.extraPackageChanged(id);\r\n}\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Nadogradnja jamstva\"}\r\n \r\n \r\n Odabrani paket jamstva:
\r\n \r\n {props.packages && props.packages.packages.length > 0 ? props.packages.packages.map((item, index) =>\r\n \r\n \r\n \r\n ) :
}\r\n {!props.packages ? :
}\r\n {props.packages && props.packages.packages.length === 0 ? Ovaj auto nema mogućnost nadogradnje jamstva. :
}\r\n\r\n {props.packages!.extraPackages && props.packages!.extraPackages.length > 0 ?\r\n

Sami kreirajte svoje pravo na produženo auto jamstvo tako da odaberete jedan ili više dodataka

\r\n :\r\n

Ovaj automobil nema opciju dodavanja dodataka.

\r\n }\r\n {props.packages!.extraPackages && props.packages!.extraPackages.length > 0 ? props.packages!.extraPackages.map((item: IPackage, index: number) =>\r\n \r\n obj.id == item.id)}\r\n {...item} disabled={false || !!(props.carProblemExtraPackages && props.carProblemExtraPackages.data.find(obj => obj.extraPackageId == item.id))} />\r\n \r\n ) : }\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport IPackage from '../../types/IPackage';\r\nimport { GetPackagesAction, UpgradeWarrantyPackageAction } from '../../redux/actions/PackagesAction';\r\nimport { UpgradeWarrantyPackageLayout } from './../../components/upgradeWarrantyPackage/UpgradeWarrantyPackageLayout';\r\nimport IPackageSelection from '../../types/IPackageSelection';\r\nimport ISelectedPackage from '../../types/ISelectedPackage';\r\nimport ReactGA from 'react-ga';\r\nimport ICarProblemExtraPackage from '../../types/ICarProblemExtraPackage';\r\nimport { GetCarProblemExtraPackageAction } from '../../redux/actions/CarAction';\r\n\r\ninterface IStateToProps {\r\n allPackages?: IPackageSelection,\r\n car?: ICarProps,\r\n currentPackage?: IPackage,\r\n currentExtraPackages?: IPackage[]\r\n warrantyId?: number,\r\n carProblemExtraPackages?: { data: ICarProblemExtraPackage[] }\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getAvailablePackages?: (car: ICarProps) => void,\r\n upgradeWarrantyPackage?: (packageId: number, extraPackages: number[], warrantyId: number) => void,\r\n getCarProblemExtraPackage?: (car: ICarProps) => void\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\n\r\nconst UpgradeWarrantyPackage: React.FC = props => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Nadogradnja police view\");\r\n }, [])\r\n\r\n const [currentPackage, setCurrentPackage] = React.useState(props.currentPackage ? props.currentPackage!.packageId : 0);\r\n const [currentExtraPackages, setExtraCurrentPackages] = React.useState(props.currentExtraPackages!);\r\n\r\n const findAvailablePackages = () => {\r\n props.getAvailablePackages!(props.car!);\r\n props.getCarProblemExtraPackage!(props.car!);\r\n }\r\n\r\n const packageChanged = (packageId: number) => {\r\n setCurrentPackage(packageId);\r\n }\r\n\r\n const extraPackageChanged = (id: number) => {\r\n if(!!currentExtraPackages.find(obj => obj.id == id)) {\r\n let ep = currentExtraPackages.filter(obj => obj.id !== id);\r\n setExtraCurrentPackages(ep);\r\n } else {\r\n let tmp = JSON.parse(JSON.stringify(currentExtraPackages));\r\n tmp.push({id: id, packageName: '', name: '', packageDescription: '', price: 0, priceWithVAT: 0});\r\n setExtraCurrentPackages(tmp);\r\n }\r\n }\r\n\r\n const handleUpgrade = () => {\r\n let ep: number[] = [];\r\n if(currentExtraPackages && currentExtraPackages.length > 0) {\r\n for(let i=0; i)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n allPackages: state.packagesData.data,\r\n carProblemExtraPackages: state.carProblemExtraPackages\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getAvailablePackages: (car: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.GET_PACKAGES,\r\n payload: car\r\n });\r\n dispatch({\r\n type: ActionTypes.GET_EXTRA_PACKAGES,\r\n payload: car\r\n })\r\n },\r\n upgradeWarrantyPackage: (packageId: number, extraPackages: number[], warrantyId: number) => {\r\n dispatch({\r\n type: ActionTypes.UPGRADE_WARRANTY_PACKGAGE,\r\n payload: { packageId, extraPackages, warrantyId }\r\n })\r\n },\r\n getCarProblemExtraPackage: (car: ICarProps) => {\r\n dispatch({\r\n type: ActionTypes.GET_CAR_PROBLEM_EXTRA_PACKAGE,\r\n payload: car\r\n })\r\n },\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UpgradeWarrantyPackage);","import React from 'react';\r\nimport { Paper, Button, Grid, Fab, Box, Tooltip } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport styles from './warrantyTable.module.scss';\r\nimport IWarrantyOverview from './../../types/IWarrantyOverview';\r\nimport { CarStatus } from '../../domain/enums/CarStatus';\r\nimport WarrantyStatus from '../../domain/enums/WarrantyStatus';\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport { isBuyer } from '../../utils/AuthFunctions';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { isSeller } from './../../utils/AuthFunctions';\r\nimport { StepperHelper } from '../../utils/StepperHelper';\r\nimport { BuyerInfoCards } from './../cards/buyerInfoCards';\r\nimport { Route } from 'react-router';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PictureAsPdf from '@material-ui/icons/PictureAsPdf';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport { List, ListItemIcon } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { warrantyPdf } from '../../constants/apiRoutes';\r\nimport UpgradeWarrantyPackage from '../../containers/warranty/UpgradeWarrantyPackage';\r\nimport moment from \"moment\";\r\nimport { isAdmin, isSuperAdmin } from './../../utils/AuthFunctions';\r\n\r\n\r\ninterface IProps {\r\n rows: IWarrantyOverview[],\r\n goToEditWarranty: (rowData: IWarrantyOverview) => void,\r\n showSellCarForm: (warrantyId: number, isCarAvailable: boolean) => void,\r\n goToWarrantyPage: () => void,\r\n warrantiesLoading: boolean,\r\n}\r\n\r\nconst WarrantyTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n const buyer = isBuyer();\r\n\r\n const mapPropsToTable = (): IWarrantyOverview[] => {\r\n let newRows = new Array();\r\n props.rows.forEach((row: IWarrantyOverview) => {\r\n const isAvailable = row.carStatus === CarStatus.Available;\r\n\r\n let newRow: IWarrantyOverview = {\r\n ...row,\r\n warrantyStatus: t(row.warrantyStatus),\r\n carStatus: isAvailable ? 'Prodaja' : 'O kupcu'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n const editWarranty = (rowData: IWarrantyOverview): void => props.goToEditWarranty(rowData);\r\n\r\n const sellCar = (rowData: IWarrantyOverview): void => props.showSellCarForm(rowData.warrantyId, rowData.carStatus == CarStatus.Available);\r\n\r\n\r\n const carButton = (rowData: IWarrantyOverview) => {\r\n const propsRow = findByWarrantyId(rowData.warrantyId);\r\n const isAvailable = propsRow.carStatus === CarStatus.Available;\r\n const warrantyApproved = propsRow.warrantyStatus === WarrantyStatus.Approved ||\r\n propsRow.warrantyStatus === WarrantyStatus.Active;\r\n return buyer ?\r\n rowData.carStatus\r\n :\r\n
\r\n \r\n {!isAvailable &&\r\n \r\n \r\n }\r\n
;\r\n }\r\n\r\n const buyerPdfButton = (rowData: IWarrantyOverview) => {\r\n const propsRow = findByWarrantyId(rowData.warrantyId);\r\n const isAvailable = propsRow.carStatus === CarStatus.Available;\r\n return (!isAvailable ?\r\n \r\n \r\n \r\n : '');\r\n }\r\n\r\n const warrantyButton = (rowData: IWarrantyOverview) => {\r\n const propsRow = findByWarrantyId(rowData.warrantyId);\r\n return buyer ? rowData.warrantyStatus\r\n : \r\n }\r\n const packageCell = (rowData: IWarrantyOverview) => {\r\n const propsRow = findByWarrantyId(rowData.warrantyId);\r\n var extraPackages = \"\"\r\n if (rowData.allPackages.extraPackages && rowData.allPackages.extraPackages.length > 0) {\r\n extraPackages = \"+ \" + rowData.allPackages.extraPackages.length + \" dodatka\"\r\n }\r\n return (\r\n
\r\n
\r\n {rowData.allPackages.package.packageName}  \r\n {extraPackages}\r\n {(propsRow.warrantyStatus === WarrantyStatus.Approved || propsRow.carStatus === CarStatus.Available) && (isAdmin() || isSuperAdmin()) ?\r\n \r\n :\r\n }\r\n
\r\n
\r\n )\r\n }\r\n\r\n const findByWarrantyId = (id: number): IWarrantyOverview => {\r\n return props.rows.filter((row: IWarrantyOverview) => row.warrantyId === id)[0];\r\n }\r\n\r\n let columns = [\r\n {\r\n title: 'Šifra', field: 'code',\r\n cellStyle: {\r\n maxWidth: 100,\r\n width: 100\r\n },\r\n },\r\n { title: 'Šasija', field: 'car.chassisNumber' },\r\n { title: 'Marka', field: 'brand' },\r\n { title: 'Model', field: 'model' },\r\n {\r\n title: 'Godište',\r\n field: 'car.manufactureYear',\r\n cellStyle: {\r\n maxWidth: 50,\r\n width: 50\r\n },\r\n },\r\n { title: 'Kilometri', field: 'car.distance' },\r\n {\r\n title: 'Paket', field: 'packageName',\r\n render: packageCell\r\n },\r\n {\r\n title: 'Status jamstva', field: 'warrantyStatus',\r\n render: warrantyButton\r\n }];\r\n\r\n if (!isBuyer()) columns.push({\r\n title: 'Status auta', field: 'carStatus', render: carButton\r\n })\r\n if (isBuyer()) {\r\n columns.push(\r\n { title: 'Početak valjanosti', field: 'validFrom' },\r\n { title: 'Završetak valjanosti', field: 'validUntil' },\r\n { title: '', field: '', render: buyerPdfButton }\r\n )\r\n }\r\n\r\n\r\n return \r\n \r\n \r\n \r\n {isSeller() && props.goToWarrantyPage()} variant=\"extended\" color=\"primary\" aria-label=\"delete\">\r\n Dodaj Vozilo\r\n \r\n }\r\n \r\n \r\n {isBuyer() && \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 WarrantyTable;\r\n","import React, { useEffect } from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel } from '@material-ui/core';\r\nimport { BuyerType } from '../../../domain/enums/BuyerType';\r\n\r\ninterface IProps {\r\n buyerEntityChanged: (legalEntity: boolean) => void,\r\n legalEntity: boolean,\r\n disabled: boolean\r\n}\r\n\r\nexport const BuyerRadioButtons: React.FC = (props: IProps) => {\r\n const [isLegalEntity, setIsLegalEntity] = React.useState(props.legalEntity);\r\n\r\n useEffect(() => setIsLegalEntity(props.legalEntity), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const legalEntity = (event.target as HTMLInputElement).value === BuyerType.LegalEntity;\r\n setIsLegalEntity(legalEntity);\r\n props.buyerEntityChanged(legalEntity);\r\n }\r\n\r\n return (\r\n \r\n Kupac je:\r\n \r\n }\r\n disabled={props.disabled}\r\n label=\"Osoba\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Tvrtka\"\r\n disabled={props.disabled}\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport IBuyerProps from '../../../types/IBuyerProps';\r\nimport { Button, SnackbarContent, Grid, Tooltip } from '@material-ui/core';\r\nimport styles from './buyerForm.module.scss';\r\nimport { initialBuyerProp } from '../../../redux/reducers/carReducer';\r\nimport Validator from '../../../utils/validation';\r\nimport { BuyerRadioButtons } from './BuyerRadioButtons';\r\nimport NumberFormat from 'react-number-format';\r\nimport { red } from '@material-ui/core/colors'\r\nimport RateReviewIcon from '@material-ui/icons/RateReview';\r\nimport { uuid } from 'uuidv4';\r\nimport { isAdmin, isSuperAdmin } from '../../../utils/AuthFunctions';\r\n\r\ninterface IProps {\r\n buyer: IBuyerProps,\r\n submit: (buyer: IBuyerProps) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n closeModal: () => void,\r\n carIsSold: boolean,\r\n isEditable: boolean,\r\n buyerEmail: string\r\n}\r\n\r\ninterface IState extends IBuyerProps {\r\n disableControls?: boolean,\r\n oibIsValid?: boolean,\r\n resetForm?: boolean,\r\n initialLoad?: boolean,\r\n confirmEmail?: string\r\n}\r\n\r\nexport class BuyerForm extends React.Component {\r\n state: IState = {\r\n ...initialBuyerProp,\r\n disableControls: false,\r\n oibIsValid: false,\r\n resetForm: false,\r\n initialLoad: true,\r\n confirmEmail: \"\"\r\n };\r\n\r\n private formRef = React.createRef();\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule('isOIB', (oib: string) => Validator.validateOIB(oib))\r\n ValidatorForm.addValidationRule('isPhoneNumber', (number: string) => Validator.validatePhoneNumber(number))\r\n ValidatorForm.addValidationRule('isEmailMatch', (email: string) => Validator.isEmailMatch(email, this.state.email));\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps: IProps, prevState: IState): IState {\r\n const buyerByOibSuccess = prevState.oibIsValid && nextProps.buyer.oib && prevState.oib === nextProps.buyer.oib;\r\n // Reset form\r\n if (prevState.resetForm) return { ...prevState, resetForm: false };\r\n\r\n // User data fetched successfully by oib \r\n if (buyerByOibSuccess) return { ...nextProps.buyer, disableControls: !nextProps.isEditable && true, initialLoad: false };\r\n\r\n // Initial user load\r\n if (nextProps.buyer.oib && prevState.initialLoad) return { ...nextProps.buyer, disableControls: !nextProps.isEditable && true, initialLoad: false };\r\n // Input elements changing values\r\n return { ...prevState, disableControls: false };\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { name, value } = el.target;\r\n let oibIsValid = false;\r\n\r\n //if (name === 'oib') { ne smije se prema oibu dohvacati... sve radi preko emaila\r\n // if (Validator.validateOIB(value)) {\r\n // this.props.getBuyerByOIB(value);\r\n // oibIsValid = true;\r\n // }\r\n //}\r\n\r\n this.setState({ [name]: value, oibIsValid });\r\n }\r\n\r\n public handleSubmit() {\r\n if (this.formRef) this.props.submit(this.getBuyerFromState());\r\n }\r\n\r\n public resetForm() {\r\n this.setState((prevState: IState) => ({ ...initialBuyerProp, carId: prevState.carId, oibIsValid: false, disableControls: false, resetForm: true, legalEntity: false }));\r\n }\r\n\r\n public generateRandomEmail() {\r\n const randomMail = uuid() + '@nemamail.hr';\r\n this.setState({ email: randomMail, confirmEmail: randomMail });\r\n }\r\n\r\n private getBuyerFromState(): IBuyerProps {\r\n const state = this.state;\r\n return {\r\n firstName: state.firstName, lastName: state.lastName, oib: state.oib,\r\n address: state.address, email: this.props.carIsSold ? state.email : this.props.buyerEmail, zipCode: state.zipCode,\r\n city: state.city, country: state.country, phoneNumber: state.phoneNumber,\r\n legalEntityName: state.legalEntityName, legalEntity: state.legalEntity,\r\n buyerEditing: state.buyerEditing, id: state.id\r\n };\r\n }\r\n\r\n render() {\r\n const { disableControls, ...formControls } = { ...this.state };\r\n return (\r\n \r\n this.handleSubmit()}\r\n ref={this.formRef}\r\n className={styles.Form}\r\n >\r\n \r\n
this.props.closeModal()}>X
\r\n

{!this.props.carIsSold ? 'Ispunite podatke o kupcu' : 'Pregled podataka o kupcu'}

\r\n
\r\n \r\n this.setState({ legalEntity })} />\r\n \r\n \r\n \r\n \r\n \r\n {this.state.legalEntity ?\r\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 {!this.props.carIsSold &&
\r\n \r\n this.generateRandomEmail()} />\r\n \r\n
}\r\n
\r\n {/*{!this.props.carIsSold && */}\r\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 {this.props.isEditable && \r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n \r\n )\r\n }\r\n}","import React, { useState } from 'react';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport Validator from \"../../../utils/validation\";\r\nimport FormConstants from '../../../constants/FormConstants';\r\nimport { Grid, Button } from '@material-ui/core';\r\nimport IMissingCarDetailsProps from '../../../types/IMissingCarDetailsProps';\r\nimport styles from './missingCarDetailsForm.module.scss';\r\n\r\ninterface IProps {\r\n onSubmit: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n carId?: number,\r\n}\r\n\r\nconst MissingCarDetailsForm: React.FC = (props: IProps) => {\r\n const [chassis, setChassis] = useState('');\r\n const [carId] = useState(props.carId);\r\n\r\n ValidatorForm.addValidationRule(\"validateChassis\", chassis => Validator.validateChassis(chassis));\r\n\r\n\r\n const handleChange = (event: any) => {\r\n const { value } = event.target;\r\n setChassis(value);\r\n }\r\n const onSubmit = () => {\r\n props.onSubmit({ carId, chassis });\r\n }\r\n\r\n return (\r\n onSubmit()} className={styles.Form}>\r\n \r\n ¸\r\n

Molimo prvo popuniti podatke koji nedostaju

\r\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 MissingCarDetailsForm;","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport styles from './buyerEmailModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitEmailModal: (email: string) => void\r\n}\r\n\r\ninterface IState {\r\n email: string\r\n}\r\n\r\nexport class BuyerEmailModal extends React.Component {\r\n\r\n state: IState = {\r\n email: \"\"\r\n };\r\n\r\n \r\n private formRef = React.createRef();\r\n \r\n handleSubmitEmail = () => {\r\n this.props.submitEmailModal(this.state.email);\r\n this.props.closeModal();\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { value } = el.target;\r\n\r\n this.setState({ email : value });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n this.handleSubmitEmail()}\r\n ref={this.formRef}\r\n className={styles.Form}\r\n >\r\n \r\n \r\n

Unesite e-mail adresu kupca

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n )\r\n }\r\n}","import React, { useState, useEffect } from 'react';\r\nimport WarrantyTable from './../tables/WarrantyTable';\r\nimport IWarrantyOverview from './../../types/IWarrantyOverview';\r\nimport { Grid, Modal, Paper, Box } from '@material-ui/core';\r\nimport { BuyerForm } from '../forms/buyerForm/BuyerForm';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport styles from './sellerDashboard.module.scss';\r\nimport { initialBuyerProp } from '../../redux/reducers/carReducer';\r\nimport { CarStatus } from '../../domain/enums/CarStatus';\r\nimport WarrantyStatus from '../../domain/enums/WarrantyStatus';\r\nimport MissingCarDetailsForm from '../forms/missingCarDetailsForm/MissingCarDetailsForm';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport { BuyerEmailModal } from '../forms/buyerForm/BuyerEmailModal';\r\nimport stylesEmailModal from '../forms/buyerForm/buyerEmailModal.module.scss';\r\n\r\ninterface IProps {\r\n goToEditWarranty: (rowData: IWarrantyOverview) => void,\r\n goToWarrantyPage: () => void,\r\n warranties: IWarrantyOverview[],\r\n sellCar: (buyer: IBuyerProps) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n buyer: IBuyerProps,\r\n getBuyerByOIB: (oib: string) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n isCarDetailsMissing: boolean,\r\n warrantiesLoading: boolean,\r\n getBuyerByEmail: (email: string) => void\r\n\r\n}\r\n\r\nexport const SellerDashboard: React.FC = (props: IProps) => {\r\n const [showBuyerModal, setShowBuyerModal] = useState(false);\r\n const [sellingWarrantyId, changeSellingWarrantyId] = useState();\r\n const [isWarrantyEditable, setIsWarrantyEditable] = useState(true);\r\n const [carIsSold, setCarIsSold] = useState(false);\r\n const [carBuyer, setCarBuyer] = useState(props.buyer);\r\n const [showCheckBuyerEmailModal, setShowCheckBuyerEmailModal] = useState(false);\r\n const [buyerEmail, setBuyerEmail] = useState(\"\");\r\n\r\n useEffect(() => {\r\n // car is for sale and data from backend are available\r\n if (Object.keys(props.buyer).length && sellingWarrantyId) {\r\n setCarBuyer(props.buyer);\r\n setShowBuyerModal(true);\r\n }\r\n if (props.buyer.carSoldSuccess) {\r\n setShowBuyerModal(false);\r\n updateDashboard();\r\n }\r\n }, [props.buyer])\r\n \r\n const goToEditWarranty = (rowData: IWarrantyOverview) => {\r\n props.goToEditWarranty(rowData);\r\n }\r\n\r\n const buyerSubmit = (buyer: IBuyerProps) => {\r\n buyer.warrantyId = sellingWarrantyId;\r\n buyer.buyerEditing = carIsSold;\r\n props.sellCar(buyer);\r\n }\r\n\r\n const updateDashboard = () => {\r\n props.warranties.forEach((w: IWarrantyOverview) => {\r\n if (w.warrantyId === sellingWarrantyId) {\r\n w.carStatus = CarStatus.Sold;\r\n changeSellingWarrantyId(undefined);\r\n }\r\n })\r\n }\r\n\r\n const showSellCarForm = (warrantyId: number | any, isCarAvailable: boolean) => {\r\n changeSellingWarrantyId(warrantyId);\r\n setCarIsSold(!isCarAvailable)\r\n const warranty = props.warranties.find((w: IWarrantyOverview) => w.warrantyId === warrantyId);\r\n if (!isCarAvailable) {\r\n if(warranty) props.getBuyerData(warranty.carId, warranty.warrantyId);\r\n setShowCheckBuyerEmailModal(false);\r\n } else {\r\n setCarBuyer({ ...initialBuyerProp, warrantyId});\r\n setShowCheckBuyerEmailModal(true);\r\n }\r\n \r\n if (warranty) {\r\n setIsWarrantyEditable(warranty.warrantyStatus !== WarrantyStatus.Active)\r\n props.setCarDetailsMissing(warranty.arrivedFromNjuskalo && warranty.car.chassisNumber.length !== 17 || (warranty.car.chassisNumber.toUpperCase() === 'XXXXXXXXXXXXXXXXX' && warranty.car.chassisNumber.length === 17));\r\n }\r\n }\r\n\r\n\r\n const buyerEmailSubmit = (email: string) => {\r\n setBuyerEmail(email);\r\n props.getBuyerByEmail(email);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {showBuyerModal &&\r\n \r\n setShowBuyerModal(false)}>\r\n \r\n {props.isCarDetailsMissing ? :
}\r\n\r\n
\r\n setShowBuyerModal(false)} submit={buyerSubmit} {...props} buyer={carBuyer} buyerEmail={buyerEmail}>\r\n
\r\n \r\n \r\n \r\n }\r\n {\r\n showCheckBuyerEmailModal &&\r\n \r\n setShowCheckBuyerEmailModal(false)}>\r\n \r\n
\r\n setShowCheckBuyerEmailModal(false)} submitEmailModal={buyerEmailSubmit} {...props}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport img from '../../resources/img/total-sold.png';\r\nimport classes from './thisMonthTotalWarrantiesSold.module.scss';\r\n\r\ninterface IProps {\r\n thisMonthtotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n currentMonth: number,\r\n loading: boolean,\r\n}\r\n\r\nexport const ThisMonthTotalWarrantiesSold: React.FC = props => {\r\n\r\n var diff = props.thisMonthtotalSoldWarranties.thisMonth - props.thisMonthtotalSoldWarranties.lastMonth;\r\n var percent = '';\r\n if(props.thisMonthtotalSoldWarranties.lastMonth !== 0)\r\n percent = ((diff / props.thisMonthtotalSoldWarranties.lastMonth) * 100).toFixed(1);\r\n return (\r\n \r\n
\r\n \r\n \r\n Prodana sva jamstva \r\n \r\n \r\n {props.currentMonth} mj.\r\n \r\n \r\n
\r\n \r\n {props.thisMonthtotalSoldWarranties.thisMonth}\r\n {!props.loading && diff !== 0 && props.thisMonthtotalSoldWarranties.lastMonth !== 0 && 0 ? 'green' : 'red'}}>{Number(percent) > 0 ? '+' : ''}{percent}%, {diff > 0 ? '+' : ''}{diff}}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { GetWarrantiesAction } from '../../redux/actions/WarrantyAction';\r\nimport { connect } from 'react-redux';\r\nimport ICarProps from '../../types/ICarProps';\r\nimport { SellerDashboard } from './../../components/dashboards/SellerDashboard';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport IWarrantyOverview from './../../types/IWarrantyOverview';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\nimport ReactGA from 'react-ga';\r\nimport { Grid } from '@material-ui/core';\r\nimport { ThisMonthTotalWarrantiesSold } from './../../components/cards/thisMonthTotalWarrantiesSold';\r\nimport { isSeller } from './../../utils/AuthFunctions';\r\n\r\n\r\ninterface IStateToProps {\r\n warranties: IWarrantyOverview[],\r\n buyer: IBuyerProps,\r\n isCarDetailsMissing: boolean,\r\n warrantiesLoading: boolean,\r\n thisMonthtotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n thisMonthtotalSoldWarrantiesLoading: boolean,\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getWarranties: () => void,\r\n editWarranty: (warrantyId: number, carId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n goToWarrantyPage: () => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n getThisMonthSoldStatistics: (startDate: string, endDate: string, sellerName: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst WarrantyOverview: React.FC = props => {\r\n\r\n var date = new Date();\r\n const [firstDay, setFirstDay] = useState(new Date(date.getFullYear(), date.getMonth(), 1));\r\n const [lastDay, setLastDay] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 0));\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Trgovac | homepage\");\r\n props.getWarranties();\r\n props.getThisMonthSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"), 'seller');\r\n }, []);\r\n\r\n const goToEditWarranty = (overviewData: IWarrantyOverview) => {\r\n props.editWarranty(overviewData.warrantyId, overviewData.carId)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {isSeller() && \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n thisMonthtotalSoldWarranties: state.thisMonthStatistics.thisMonth.totalSoldWarranties,\r\n thisMonthtotalSoldWarrantiesLoading: state.thisMonthStatistics.loading,\r\n warranties: state.warranties.data,\r\n warrantiesLoading: state.warranties.loading,\r\n buyer: state.carBuyer,\r\n isCarDetailsMissing: state.isCarDetailsMissing.isCarDetailsMissing,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getThisMonthSoldStatistics: (startDate: string, endDate: string, sellerName: string) => {\r\n dispatch({\r\n type: ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC,\r\n payload: { startDate, endDate, sellerName }\r\n })\r\n },\r\n getWarranties: () => dispatch({\r\n type: ActionTypes.GET_WARRANTIES\r\n }),\r\n editWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n sellCar: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SELL_CAR,\r\n payload: buyer\r\n }),\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => dispatch({\r\n type: ActionTypes.EDIT_MISSING_CAR_DETAILS,\r\n payload: missingCarDetails\r\n }),\r\n getBuyerData: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_CAR_ID,\r\n payload: { carId, warrantyId }\r\n }),\r\n getBuyerByOIB: (oib: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_OIB,\r\n payload: oib\r\n }),\r\n goToWarrantyPage: () => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/warranty/step=1' }\r\n }),\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => dispatch({\r\n type: ActionTypes.SET_IS_MISSING_CAR_DETAILS,\r\n payload: { isCarDetailsMissing: isCarDetailsMissing }\r\n }),\r\n getBuyerByEmail: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_EMAIL,\r\n payload: email\r\n }),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantyOverview);","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\r\nconst drawerWidth = 240;\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n marginLeft: theme.spacing(9) + 36\r\n },\r\n appBarShift: {\r\n marginLeft: drawerWidth + 36,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: 'hidden',\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n }\r\n }),\r\n);","import React, { useState, useEffect, ReactNode } from 'react';\r\nimport styles from './navbar.module.scss';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport { List, ListItemText, Drawer, Divider, ListItemIcon, Box, Grid } from '@material-ui/core';\r\nimport { Link as RouterLink, Link } from 'react-router-dom';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ChevronRightIcon from '@material-ui/icons/MoreVert';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport HomeIcon from '@material-ui/icons/Home';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport BuyerIcon from '@material-ui/icons/Payment';\r\nimport SellerIcon from '@material-ui/icons/Shop';\r\nimport SubscribeIcon from '@material-ui/icons/SupervisedUserCircleOutlined';\r\nimport RegisterUser from '@material-ui/icons/PersonAddOutlined';\r\nimport PersonAddIcon from '@material-ui/icons/PersonAdd';\r\nimport NoteAddIcon from '@material-ui/icons/NoteAdd';\r\nimport LogOutIcon from '@material-ui/icons/ExitToAppOutlined'\r\nimport UserService from './../../domain/services/UserService';\r\nimport { withRouter } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport Dashboard from '@material-ui/icons/Dashboard';\r\nimport DamageIcon from '@material-ui/icons/Description';\r\nimport Receipt from '@material-ui/icons/Receipt';\r\nimport Web from '@material-ui/icons/Web';\r\nimport DirectionsCar from '@material-ui/icons/DirectionsCar';\r\nimport DirectionsCarOutlined from '@material-ui/icons/DirectionsCarOutlined';\r\nimport PictureAsPdf from '@material-ui/icons/PictureAsPdf';\r\nimport ArchiveIcon from '@material-ui/icons/Archive';\r\nimport { useStyles } from './NavBar.animations';\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport { isAdmin, isAuthenticated, isSeller, isBuyer, isMarketing, isSuperAdmin } from '../../utils/AuthFunctions';\r\nimport { instructionsToActivate } from '../../constants/apiRoutes';\r\nimport ExpandLess from '@material-ui/icons/ExpandLess';\r\nimport ExpandMore from '@material-ui/icons/ExpandMore';\r\nimport { makeStyles, Theme, createStyles } from '@material-ui/core/styles';\r\nimport FileCopy from '@material-ui/icons/FileCopy';\r\nimport FileCopyOutlined from '@material-ui/icons/FileCopyOutlined';\r\n\r\ninterface IProps {\r\n className?: string,\r\n onClick?: (event: React.MouseEvent) => void,\r\n history: any,\r\n children?: ReactNode\r\n}\r\n\r\nconst useNestedStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n }),\r\n);\r\n\r\nconst Navbar: React.FC = props => {\r\n const userService = new UserService();\r\n const [authenticated, setIsAuthenticated] = useState(isAuthenticated())\r\n const [admin, setIsAdmin] = useState(isAdmin() && isAuthenticated())\r\n const [seller, setIsSeller] = useState(isSeller() && isAuthenticated())\r\n const [buyer, setIsBuyer] = useState(isBuyer() && isAuthenticated())\r\n const [marketing, setIsMarketing] = useState(isMarketing() && isAuthenticated())\r\n const [superAdmin, setIsSuperAdmin] = useState(isSuperAdmin() && isAuthenticated())\r\n const classes = useStyles();\r\n const nestedClasses = useNestedStyles();\r\n const theme = useTheme();\r\n const [open, setOpen] = React.useState(true);\r\n const [openJamstva, setOpenJamstva] = React.useState(false);\r\n const [openKupac, setOpenKupac] = React.useState(false);\r\n const [openProdavac, setOpenProdavac] = React.useState(false);\r\n const [openVozilo, setOpenVozilo] = React.useState(false);\r\n const [openStatistika, setOpenStatistika] = React.useState(false);\r\n\r\n useEffect(() => {\r\n setIsAuthenticated(isAuthenticated());\r\n setIsSeller(isSeller() && isAuthenticated());\r\n setIsBuyer(isBuyer() && isAuthenticated());\r\n setIsAdmin(isAdmin() && isAuthenticated());\r\n setIsMarketing(isMarketing() && isAuthenticated());\r\n setIsSuperAdmin(isSuperAdmin() && isAuthenticated());\r\n }, [props]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('touchmove', handleMove);\r\n }, [])\r\n\r\n function closeNavBar() {\r\n window.innerWidth <= 600 ? setOpen(false) : '';\r\n setOpenProdavac(false);\r\n setOpenJamstva(false);\r\n setOpenVozilo(false);\r\n setOpenKupac(false);\r\n setOpenStatistika(false);\r\n }\r\n\r\n const logout = () => {\r\n userService.logout();\r\n props.history.push('/login');\r\n }\r\n\r\n const handleClickJamstva = () => {\r\n setOpenJamstva(!openJamstva);\r\n setOpenKupac(false);\r\n setOpenProdavac(false);\r\n setOpenVozilo(false);\r\n setOpenStatistika(false);\r\n };\r\n\r\n const handleClickProdavac = () => {\r\n setOpenProdavac(!openProdavac);\r\n setOpenKupac(false);\r\n setOpenJamstva(false);\r\n setOpenVozilo(false);\r\n setOpenStatistika(false);\r\n };\r\n\r\n const handleClickKupac = () => {\r\n setOpenKupac(!openKupac);\r\n setOpenProdavac(false);\r\n setOpenJamstva(false);\r\n setOpenVozilo(false);\r\n setOpenStatistika(false);\r\n };\r\n\r\n const handleClickVozilo = () => {\r\n setOpenVozilo(!openVozilo);\r\n setOpenProdavac(false);\r\n setOpenJamstva(false);\r\n setOpenKupac(false);\r\n setOpenStatistika(false);\r\n };\r\n\r\n const handleClickStatistika = () => {\r\n setOpenVozilo(false);\r\n setOpenProdavac(false);\r\n setOpenJamstva(false);\r\n setOpenKupac(false);\r\n setOpenStatistika(!openStatistika);\r\n };\r\n\r\n const handleMove = (ev: any) => {\r\n setOpen(ev.touches[0].clientX < 0)\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n setOpen(!open)}>\r\n {open ? : }\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {localStorage.getItem('user') && JSON.parse(localStorage.getItem('user')!).fullName}\r\n \r\n {authenticated &&\r\n
\r\n \r\n {(!admin && !superAdmin) && !marketing && closeNavBar()}>\r\n \r\n Pregled jamstava\r\n }\r\n {seller && closeNavBar()}>\r\n \r\n Pregled vozila\r\n }\r\n {(admin || superAdmin) && closeNavBar()}>\r\n \r\n Pregled prodanih\r\n }\r\n {marketing && closeNavBar()}>\r\n \r\n Pregled prodanih\r\n }\r\n {(admin || superAdmin) && \r\n \r\n Jamstva\r\n {openJamstva ? : }\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Aktivna\r\n }\r\n \r\n \r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Arhiv\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Prodavači\r\n {openProdavac ? : }\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Aktivni Njuškalo\r\n }\r\n \r\n \r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Ostali aktivni\r\n }\r\n \r\n \r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Neaktivni\r\n }\r\n \r\n \r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Registracija\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Kupci\r\n {openKupac ? : }\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Pregled\r\n }\r\n \r\n \r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Registracija\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Vozila\r\n {openVozilo ? : }\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Dodaj\r\n }\r\n {(admin || superAdmin) && \r\n \r\n S jamstvom\r\n }\r\n {(admin || superAdmin) && \r\n \r\n Bez jamstva\r\n }\r\n {(admin || superAdmin) && \r\n \r\n Upisana\r\n }\r\n \r\n \r\n {(seller) && closeNavBar()}>\r\n \r\n Dodaj vozilo\r\n }\r\n {(superAdmin) && closeNavBar()}>\r\n \r\n Računi\r\n }\r\n {((admin || superAdmin) || seller) && closeNavBar()}>\r\n \r\n Štete\r\n }\r\n {(seller) && closeNavBar()}>\r\n \r\n Upute za aktivaciju\r\n }\r\n {(seller && (localStorage.getItem('user') && JSON.parse(localStorage.getItem('user')!).ugovorPdfUrl !== 'NEMA')) && closeNavBar()}>\r\n Ugovor\r\n }\r\n {buyer && closeNavBar()}>\r\n \r\n Pravila jamstva\r\n }\r\n {(admin || superAdmin) && \r\n \r\n Statistika\r\n {openStatistika ? : }\r\n }\r\n \r\n \r\n {(admin || superAdmin) && \r\n \r\n Njuškalo\r\n }\r\n {(admin || superAdmin) && \r\n \r\n Sva jamstva\r\n }\r\n \r\n \r\n \r\n
\r\n }\r\n {authenticated &&\r\n
\r\n \r\n \r\n \r\n \r\n Odjavi se\r\n \r\n \r\n
}\r\n {!authenticated &&\r\n
\r\n \r\n \r\n \r\n Prijavi se\r\n \r\n \r\n
}\r\n \r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default withRouter(props => );","import React, { ReactNode } from 'react';\r\nimport styles from './footerLink.module.scss';\r\n\r\ninterface IProps {\r\n children: ReactNode,\r\n href?: string,\r\n}\r\n\r\nconst FooterLink: React.SFC = (props) => {\r\n return ({props.children});\r\n}\r\n\r\nFooterLink.defaultProps = {\r\n href: '#',\r\n};\r\n\r\nexport default FooterLink;","import React from 'react';\r\nimport styles from './footer.module.scss';\r\nimport FooterLink from \"../links/FooterLink\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface IProps {\r\n className?: string,\r\n onClick?: (event: React.MouseEvent) => void,\r\n}\r\n\r\nconst Footer: React.FC = () => {\r\n const { t } = useTranslation();\r\n\r\n return (
\r\n
\r\n {t('FAQs')}\r\n {t('T&Cs')}\r\n {t('Privacy Policy')}\r\n
\r\n
);\r\n};\r\n\r\nexport default Footer;","import React, { ReactNode } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n children: ReactNode,\r\n};\r\n\r\nconst ContentLayout: React.FC = (props: IProps) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default ContentLayout;","import React, { ReactNode } from 'react';\r\nimport styles from './background.module.scss';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\ninterface IProps {\r\n children?: ReactNode,\r\n location: any\r\n};\r\n\r\nconst Background: React.FC = (props) => {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(props => );","import React from 'react'\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport ILoading from '../../types/utilities/ILoading';\r\nimport styles from './appLoading.module.scss';\r\nimport { Modal } from '@material-ui/core';\r\n\r\ninterface IProps extends ILoading { }\r\n\r\nexport const AppLoading: React.FC = (props: IProps) => {\r\n return props.show ? : null\r\n}","import React from 'react';\r\nimport { IApplicationState } from './../../types/applicationState';\r\nimport { connect } from 'react-redux';\r\nimport { AppLoading } from './../../components/utilities/AppLoading';\r\nimport ILoading from '../../types/utilities/ILoading';\r\n\r\ninterface IStateToProps {\r\n loading?: ILoading\r\n}\r\n\r\ninterface IProps extends IStateToProps { }\r\n\r\nconst Loading: React.FC = (props: IProps) => {\r\n return \r\n}\r\n\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n loading: state.loading\r\n})\r\n\r\n\r\nexport default connect(mapStateToProps, null)(Loading); \r\n","import React, { SyntheticEvent, useState, useEffect } from 'react'\r\nimport styles from './actionNotification.module.scss';\r\nimport { SnackbarContent, Snackbar } from '@material-ui/core';\r\nimport IActionNotification from './../../types/utilities/IActionNotification';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport { getCLIOptions } from 'jest-runtime';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\n\r\ninterface IProps extends IActionNotification {\r\n close?: () => void\r\n}\r\n\r\nexport const ActionNotification: React.FC = (props: IProps) => {\r\n const [open, setOpen] = useState(props.show);\r\n\r\n useEffect(() => {\r\n setOpen(props.show)\r\n }, [props])\r\n\r\n function handleClose(event?: SyntheticEvent) {\r\n setOpen(false);\r\n props.close!();\r\n }\r\n\r\n function getIcon() {\r\n switch (props.style) {\r\n case NotificationStyle.Success: return \r\n case NotificationStyle.Error: return \r\n case NotificationStyle.Info: return \r\n }\r\n }\r\n return open ?
\r\n \r\n \r\n {getIcon()}\r\n {props.message}\r\n \r\n }\r\n action={[\r\n \r\n \r\n \r\n ]}\r\n />\r\n\r\n \r\n
: null;\r\n}","import React from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { connect } from 'react-redux';\r\nimport { ActionNotification } from '../../components/utilities/ActionNotification';\r\nimport IActionNotification from '../../types/utilities/IActionNotification';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from './../../redux/actions/ActionTypes';\r\nimport { CloseNotificationAction } from '../../redux/actions/ActionNotificationAction';\r\n\r\ninterface IStateToProps {\r\n ActionNotification?: IActionNotification\r\n}\r\n\r\ninterface IDispatchToProps {\r\n close?: () => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst ActionNotificationContainer: React.FC = (props: IProps) => {\r\n return \r\n}\r\n\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n ActionNotification: state.actionNotification\r\n})\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n close: () => dispatch({\r\n type: ActionTypes.NOTIFICATION_CLOSE\r\n })\r\n})\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ActionNotificationContainer); \r\n","import { Redirect, Route } from \"react-router\";\r\nimport Navbar from '../../components/app/NavBar';\r\nimport Footer from '../../components/app/Footer';\r\nimport ContentLayout from '../../components/app/ContentLayout';\r\nimport Background from '../../components/app/Background';\r\nimport React from 'react';\r\nimport { isAuthenticated } from './../../utils/AuthFunctions';\r\nimport Loading from './../../containers/utilities/Loading';\r\nimport ActionNotificationContainer from '../../containers/utilities/ActionNotificationContainer';\r\n\r\nconst PrivateRoute = ({\r\n component: Component,\r\n ...rest\r\n}: any) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n isAuthenticated()\r\n ? \r\n : \r\n } />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n\r\nexport default PrivateRoute;","import React, { ReactNode } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport styles from './publicForms.module.scss';\r\n\r\nexport interface IProps {\r\n children: ReactNode,\r\n className?: string,\r\n md?: boolean,\r\n lg?: boolean,\r\n hideTitle?: boolean\r\n}\r\n\r\nconst PublicFormLayout: React.FC = (props: IProps) => {\r\n return (\r\n
\r\n \r\n \r\n {!props.hideTitle &&

G1 - Povjerenje u dobre ruke

}\r\n {props.children}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default PublicFormLayout;","import React from 'react';\r\nimport { Button, TextField, Grid, InputAdornment, IconButton, Paper, Snackbar, SnackbarContent } from '@material-ui/core';\r\nimport styles from './publicForms.module.scss';\r\nimport Validator from '../../utils/validation';\r\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\r\nimport Visibility from '@material-ui/icons/Visibility';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { Link } from 'react-router-dom'\r\nimport { IAuthenticationProps } from '../../types/IAuthenticationProps';\r\n\r\nexport interface IProps extends IAuthenticationProps {\r\n handleSubmit: (event: IAuthenticationProps) => void,\r\n loading: boolean\r\n}\r\n\r\nclass LoginForm extends React.Component{\r\n state = {\r\n email: '',\r\n password: '',\r\n error: this.props.error,\r\n emailError: '',\r\n passError: '',\r\n showPassword: false\r\n }\r\n\r\n private handleChange(el: any) {\r\n const name = el.target.name;\r\n const value = el.target.value;\r\n\r\n if (this.state.error) this.setState({ error: false, emailError: '', passError: '' })\r\n this.setState({ [name]: value });\r\n }\r\n\r\n private handleClickShowPassword() {\r\n this.setState({\r\n showPassword: !this.state.showPassword\r\n })\r\n }\r\n private onSubmit(event: React.FormEvent) {\r\n event.preventDefault();\r\n const { email, password } = this.state;\r\n let err = false;\r\n\r\n if (!Validator.validateEmail(email)) {\r\n this.setState({ error: true, emailError: 'Molimo unesite ispravan email' });\r\n err = true;\r\n }\r\n if (!Validator.validatePassword(password)) {\r\n this.setState({ error: true, passError: 'Lozinka je prekratka (min. 8 znakova)' });\r\n err = true;\r\n }\r\n if (!err) {\r\n this.setState({ error: false });\r\n this.props.handleSubmit(this.state);\r\n }\r\n }\r\n\r\n render() {\r\n const showPassword = this.state.showPassword;\r\n return (\r\n \r\n
\r\n \r\n {this.props.error &&\r\n \r\n \r\n \r\n {this.props.error}\r\n \r\n }\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {showPassword ? : }\r\n \r\n \r\n }} fullWidth />\r\n \r\n \r\n {this.props.loading ? :\r\n \r\n }\r\n \r\n \r\n
Zaboravili ste lozinku?
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LoginForm;","import React from 'react';\r\nimport LoginFormLayout from '../../components/authentication/PublicFormLayout';\r\nimport { IAuthenticationProps } from '../../types/IAuthenticationProps';\r\nimport { LoginSubmitAction } from '../../redux/actions/LoginAction';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport PublicFormLayout from '../../components/authentication/PublicFormLayout';\r\nimport LoginForm from '../../components/forms/loginForm';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IDispatchToProps {\r\n onHandleSubmit: (event: IAuthenticationProps) => void\r\n}\r\n\r\ninterface IStateToProps extends IAuthenticationProps {\r\n loading: boolean\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst LoginFormPage: React.FC = (props: IProps) => {\r\n ReactGA.pageview(\"Login page\");\r\n\r\n return \r\n \r\n \r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n onHandleSubmit: (values: IAuthenticationProps) => dispatch({\r\n type: ActionTypes.LOGIN_SUBMIT,\r\n payload: values\r\n })\r\n})\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n email: state.login.data.email,\r\n password: state.login.data.password,\r\n error: state.login.data.error,\r\n loading: state.login.loading\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginFormPage);","import React, { HTMLAttributes } from 'react';\r\nimport { ValueContainerProps } from 'react-select/src/components/containers';\r\nimport { ControlProps } from 'react-select/src/components/Control';\r\nimport { MenuProps } from 'react-select/src/components/Menu';\r\nimport { OptionProps } from 'react-select/src/components/Option';\r\nimport { PlaceholderProps } from 'react-select/src/components/Placeholder';\r\nimport { SingleValueProps } from 'react-select/src/components/SingleValue';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TextField, { BaseTextFieldProps } from '@material-ui/core/TextField';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { Omit } from '@material-ui/types';\r\nimport styles from './DropdownAutocomplete.module.scss';\r\nimport { style } from '@material-ui/system';\r\n\r\n\r\nexport interface OptionType {\r\n label: string;\r\n value: string;\r\n}\r\ntype InputComponentProps = Pick & HTMLAttributes;\r\n\r\nfunction inputComponent({ inputRef, ...props }: InputComponentProps) {\r\n return
;\r\n}\r\n\r\nfunction Control(props: ControlProps) {\r\n const {\r\n children,\r\n innerProps,\r\n innerRef,\r\n selectProps: { TextFieldProps },\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction Option(props: OptionProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\ntype MuiPlaceholderProps = Omit, 'innerProps'> &\r\n Partial, 'innerProps'>>;\r\nfunction Placeholder(props: MuiPlaceholderProps) {\r\n const { selectProps, innerProps = {}, children } = props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nfunction SingleValue(props: SingleValueProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nfunction ValueContainer(props: ValueContainerProps) {\r\n return
{props.children}
;\r\n}\r\n\r\n\r\nfunction Menu(props: MenuProps) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\nexport const components = {\r\n Control,\r\n Menu,\r\n Option,\r\n Placeholder,\r\n SingleValue,\r\n ValueContainer,\r\n};\r\n","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n invoiceNumber: string\r\n}\r\n\r\nexport class InvoiceModalForm extends React.Component {\r\n \r\n \r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite izmijeniti račun broj {this.props.invoiceNumber}?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { FormControlLabel, FormGroup, Checkbox } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n setPDV: (pdv: boolean) => void,\r\n PDV?: boolean\r\n}\r\n\r\nexport const PDVCheckBox: React.FC = (props: IProps) => {\r\n const [isPDV, setIsPDV] = React.useState(props.PDV);\r\n\r\n useEffect(() => setIsPDV(props.PDV), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const pdv = (event.target as HTMLInputElement).checked;\r\n setIsPDV(pdv);\r\n props.setPDV(pdv);\r\n }\r\n\r\n return (\r\n \r\n }\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Button, Modal, Paper } from \"@material-ui/core\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddIcon from \"@material-ui/icons/Add\";\r\nimport { Grid, LinearProgress, Box } from \"@material-ui/core\";\r\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\r\nimport styles from \"./exportInvoiceForSeller.module.scss\";\r\nimport { IInvoiceData } from \"../../types/IInvoiceData\";\r\nimport { ICurrency } from \"../../types/ICurrency\";\r\nimport moment from \"moment\";\r\nimport { invoicePdf } from \"../../constants/apiRoutes\";\r\nimport SelectDropdown from 'react-select';\r\nimport { components } from '../UI/dropdowns/DropdownAutocomplete.utils';\r\nimport { IDropdownItem } from \"../../types/IDropdownItem\";\r\nimport { InvoiceModalForm } from '../forms/invoiceForm/InvoiceModalForm';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { PDVCheckBox } from './PDVCheckBox';\r\n\r\ninterface IProps extends IState {\r\n sendWarrantyInvoice?: (data: IInvoiceData) => void,\r\n getLastInvoice?: () => void,\r\n lastInvoice: string,\r\n nextInvoice: string,\r\n currencies: ICurrency[],\r\n sellerName: string,\r\n getInvoice?: (invoiceNumber: string) => void,\r\n invoice: IInvoiceData | null;\r\n}\r\n\r\ninterface IState extends IInvoiceData {\r\n open?: boolean | string;\r\n hasError?: boolean;\r\n generate?: boolean;\r\n}\r\n\r\n\r\nconst ExportInvoiceForSellerComponent: React.FC = (props: IProps) => {\r\n\r\n\r\n const formRef = React.createRef();\r\n const [open, setOpen] = React.useState(false);\r\n const [generate, setGenerate] = React.useState(false);\r\n const [invoiceNumber, setInvoiceNumber] = React.useState(props.nextInvoice);\r\n const [issueDate, setIssueDate] = React.useState(props.issueDate);\r\n const [currency, setCurrency] = React.useState(props.currencies[0]);\r\n const [showModal, setShowModal] = React.useState(false);\r\n const [PDV, setPDV] = React.useState(props.pdv);\r\n const { invoice } = props;\r\n\r\n useEffect(() => {\r\n updateData();\r\n }, [invoice]);\r\n\r\n const handleClickOpen = (id: string) => {\r\n if (id == props.sellerId) {\r\n setOpen(true);\r\n }\r\n };\r\n\r\n const updateData = () => {\r\n if (invoice) {\r\n //setCurrency(props.currencies[invoice.currencyId]);\r\n setIssueDate(invoice.issueDate);\r\n }\r\n \r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n props.getLastInvoice!();\r\n };\r\n\r\n const handleInvoiceNumberChange = (el: any) => {\r\n const { value } = el.target;\r\n setGenerate(false);\r\n setInvoiceNumber(value);\r\n }\r\n\r\n const handleIssueDateChange = (el: any) => {\r\n const { value } = el.target;\r\n setGenerate(false);\r\n setIssueDate(value);\r\n }\r\n\r\n const handleCurrencyChange = (el: any) => {\r\n const { value } = el;\r\n setGenerate(false);\r\n const seletedCurrency = props.currencies.find(c => {\r\n return c.id === value\r\n });\r\n if (seletedCurrency) {\r\n setCurrency(seletedCurrency);\r\n }\r\n }\r\n\r\n const viewInvoice = () => {\r\n if (invoiceNumber!.length > 0 && issueDate!.length > 0) {\r\n setGenerate(true);\r\n }\r\n else {\r\n alert(\"Potreban je broj računa!\")\r\n }\r\n }\r\n\r\n const checkModal = () => {\r\n if (invoiceNumber != props.nextInvoice) {\r\n setShowModal(true);\r\n } else {\r\n sendPdf();\r\n }\r\n }\r\n\r\n const handleYesModal = () => {\r\n sendPdf();\r\n }\r\n\r\n const sendPdf = () => {\r\n if (invoiceNumber.length > 0 && issueDate && issueDate.length > 0) {\r\n const data: IInvoiceData = {\r\n sellerId: props.sellerId,\r\n sellerName: props.sellerName,\r\n startDate: props.startDate,\r\n endDate: props.endDate,\r\n invoiceNumber: invoiceNumber,\r\n issueDate: issueDate,\r\n currencyId: currency.id,\r\n pdv: PDV\r\n }\r\n if (props.sendWarrantyInvoice) {\r\n props.sendWarrantyInvoice(data);\r\n }\r\n setOpen(false);\r\n }\r\n else {\r\n alert(\"Potreban je broj računa!\")\r\n }\r\n }\r\n\r\n return (\r\n \r\n
handleClickOpen(props.sellerId!)} style={{ cursor: \"pointer\" }} id={props.sellerId}>\r\n Generiraj    \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {props.sellerName +\r\n \" za \" +\r\n moment(props.startDate).format(\"DD.MM.YYYY\") +\r\n \" - \" +\r\n moment(props.endDate).format(\"DD.MM.YYYY\")}\r\n \r\n \r\n \r\n { console.log(\"\") }}\r\n ref={formRef}\r\n >\r\n \r\n \r\n \r\n Posljednji račun: {props.lastInvoice}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \"Valuta nije u sustavu.\"}\r\n placeholder=\"Valuta\"\r\n options={props.currencies.map((c: ICurrency) => ({\r\n label: c.abbreviation,\r\n value: c.id,\r\n })) as IDropdownItem[]}\r\n components={components}\r\n onChange={(el: any) => handleCurrencyChange(el)} \r\n />\r\n \r\n
\r\n
\r\n \r\n setPDV(pdv)} />\r\n \r\n \r\n \r\n Pregledaj račun\r\n \r\n \r\n
\r\n
\r\n {generate && (\r\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 showModal &&\r\n \r\n setShowModal(false)}>\r\n \r\n
\r\n setShowModal(false)} submitYesModal={handleYesModal} invoiceNumber={invoiceNumber}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ExportInvoiceForSellerComponent;","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport ExportInvoiceForSellerComponent from \"../../components/exportInvoiceForSeller/ExportInvoiceForSellerComponent\";\r\nimport { IInvoiceData } from \"../../types/IInvoiceData\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/hr' // without this line it didn't work\r\nimport { ICurrency } from \"../../types/ICurrency\";\r\nimport { GetInvoiceAction } from '../../redux/actions/InvoiceAction';\r\nmoment.locale('hr')\r\n\r\ninterface IStateToProps {\r\n lastInvoice: string\r\n invoice: IInvoiceData | null;\r\n}\r\n\r\ninterface IDispatchToProps {\r\n sendWarrantyInvoice?: (data: IInvoiceData) => void;\r\n getLastInvoice?: () => void;\r\n getInvoice?: (invoiceNumber: string) => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {\r\n sellerName: string,\r\n sellerId: string,\r\n startDate: string,\r\n endDate: string,\r\n currencies: ICurrency[]\r\n}\r\n\r\nconst WarrantyInvoice: React.FC = props => {\r\n const { invoice } = props;\r\n\r\n useEffect(() => {\r\n // console.log(\"da\")\r\n // props.getLastInvoice!();\r\n }, [])\r\n const today = moment.now();\r\n var issueDate = \"\";\r\n // helper za datum izdavanja\r\n // ako se izdaje u trenutnom mjesecu onda ostavi danasnji datum\r\n // ako se izdaje u iducem mjesecu, onda predlozi datum od proslog mjeseca (zadnji dan)\r\n // npr. izdajem racun 25.5, onda ce datum izdavanja bit 25.5\r\n // izdajem racun 3.6, datum izdavanja ce bit 30.5 \r\n // na ovaj nacin pdv ulazi u prosli misec -_> zrelja\r\n if (moment(today).date() > 15) {\r\n issueDate = moment(moment.now()).format('L').toString();\r\n } else {\r\n issueDate = moment().date(0).format('L').toString();\r\n }\r\n issueDate = issueDate + \" \" + moment().format('LT');\r\n\r\n var nextInvoice = \"\";\r\n if (props.lastInvoice !== \"\") {\r\n let firstNum = (Number(props.lastInvoice.split(\"/\")[0]) + 1).toString().padStart(4, \"0\");\r\n nextInvoice = firstNum + \"/\" + props.lastInvoice.split(\"/\")[1] + \"/\" + props.lastInvoice.split(\"/\")[2].split(\" \")[0];\r\n }\r\n\r\n var pdv = true;\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n lastInvoice: state.lastInvoice.data,\r\n invoice: state.invoice.data.invoice,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n sendWarrantyInvoice: (data: IInvoiceData) =>\r\n dispatch({\r\n type: ActionTypes.SEND_INVOICE,\r\n payload: data\r\n }),\r\n getLastInvoice: () =>\r\n dispatch({\r\n type: ActionTypes.GET_LAST_INVOICE,\r\n }),\r\n getInvoice: (invoiceNumber: string) => dispatch({\r\n type: ActionTypes.GET_INVOICE,\r\n payload: { invoiceNumber }\r\n }),\r\n\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(WarrantyInvoice);\r\n","import React, { useState } from \"react\";\r\nimport { Paper } from \"@material-ui/core\";\r\nimport MaterialTable, { MTableToolbar, MTablePagination } from \"material-table\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n ISoldWarranties,\r\n IWarrantiesBySeller\r\n} from \"../../types/ISoldWarranties\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { ListItemIcon, Button } from \"@material-ui/core\";\r\nimport PictureAsPdf from \"@material-ui/icons/PictureAsPdf\";\r\nimport { warrantyPdf } from \"../../constants/apiRoutes\";\r\nimport WarrantyStatusChecker from \"../../utils/warrantyStatusChecker\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport DateFnsUtils from \"@date-io/date-fns\";\r\nimport styles from \"./soldWarrantiesTable.module.scss\";\r\nimport { ValueType } from \"react-select/src/types\";\r\nimport UpgradeWarrantyPackage from \"../../containers/warranty/UpgradeWarrantyPackage\";\r\nimport Select from \"react-select\";\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardDatePicker\r\n} from \"@material-ui/pickers\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\nimport WarrantyInvoice from \"../../containers/invoicing/WarrantyInvoicing\";\r\nimport TablePagination from '@material-ui/core/TablePagination';\r\nimport moment from \"moment\";\r\nimport { ICurrency } from \"../../types/ICurrency\";\r\nimport { isSuperAdmin } from '../../utils/AuthFunctions';\r\n\r\n\r\ninterface IProps {\r\n soldWarranties: { data: ISoldWarranties; loading: boolean };\r\n startDate: Date;\r\n endDate: Date;\r\n handleStartDateChange: (date: Date) => void;\r\n handleEndDateChange: (date: Date) => void;\r\n handleSearch: (skip: number, take: number) => void;\r\n handleSelectSellerChange: (\r\n value: ValueType<{ label: string; value: string }>\r\n ) => void;\r\n sellers: ISellerProps[];\r\n selctedSeller: ValueType<{ label: string; value: string }>;\r\n lastInvoice: string;\r\n currencies: ICurrency[];\r\n}\r\n\r\nconst SoldWarrantiesTable: React.FC = (props: IProps) => {\r\n\r\n const { t } = useTranslation();\r\n\r\n const startDate = props.startDate;\r\n\r\n const endDate = props.endDate;\r\n\r\n const sellers = props.sellers;\r\n\r\n const lastInvoice = props.lastInvoice;\r\n\r\n const selctedSeller = props.selctedSeller;\r\n\r\n const handleStart = (date: Date) => {\r\n props.handleStartDateChange(date);\r\n };\r\n\r\n const handleEnd = (date: Date) => {\r\n props.handleEndDateChange(date);\r\n };\r\n\r\n const handleSelectSeller = (value: any) => {\r\n props.handleSelectSellerChange(value);\r\n };\r\n\r\n const handleSearch = () => {\r\n props.handleSearch(0, numberRowPerPage);\r\n };\r\n\r\n const [hideInvoiceColumn, setHideInvoiceColumn] = useState(true);\r\n\r\n // pagination logic\r\n const [numberRowPerPage, setNumberRowPerPage] = useState(5);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n\r\n const showHideInvoice = () => {\r\n setHideInvoiceColumn(!hideInvoiceColumn);\r\n }\r\n\r\n const mapPropsToTable = (): IWarrantiesBySeller[] => {\r\n let newRows = new Array();\r\n\r\n props.soldWarranties.data.warrantiesBySeller &&\r\n props.soldWarranties.data.warrantiesBySeller.forEach(\r\n (row: IWarrantiesBySeller) => {\r\n let newRow: IWarrantiesBySeller = {\r\n ...row\r\n };\r\n newRows.push(newRow);\r\n }\r\n );\r\n return newRows;\r\n };\r\n\r\n const exportPdf = (rowData: IWarrantiesBySeller) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {\r\n return (\r\n \r\n \r\n \r\n Broj šasije\r\n Šifra jamstva\r\n Status jamstva\r\n Auto\r\n Vrijedi od\r\n Polica\r\n Cijena bez PDV\r\n Pravo na jamstvo\r\n \r\n \r\n \r\n {rowData.warranties.map(row => {\r\n var basicPackage = \"\";\r\n basicPackage =\r\n row.allPackages && row.allPackages.package\r\n ? row.allPackages.package.packageName\r\n : \"\";\r\n var extraPackages = \"\";\r\n var extraPackagesPrice = 0;\r\n if (\r\n row.allPackages!.extraPackages &&\r\n row.allPackages!.extraPackages.length > 0\r\n ) {\r\n extraPackages =\r\n \"+ \" + row.allPackages!.extraPackages.length + \" dodatka\";\r\n for (let i = 0; i < row.allPackages!.extraPackages.length; i++) {\r\n extraPackagesPrice += row.allPackages!.extraPackages[i].price;\r\n }\r\n }\r\n return (\r\n \r\n {row.carData!.chassisNumber}\r\n {row.code}\r\n \r\n \r\n \r\n \r\n {row.carData!.brand} {row.carData!.model}\r\n \r\n \r\n {row.validFrom === \"01.01.0001.\"\r\n ? \"Treba aktivirati!\"\r\n : row.validFrom\r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n {basicPackage}  \r\n \r\n \r\n {extraPackages}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {row.allPackages!.package!.price + extraPackagesPrice}{\" \"} {row.allPackages!.package!.currencyId === 0 ? \"HRK\" : \"EUR\"}\r\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 data={[...mapPropsToTable()]}\r\n components={{\r\n Container: props => ,\r\n Toolbar: props => (\r\n
\r\n \r\n
\r\n \r\n handleStart(date!)}\r\n KeyboardButtonProps={{\r\n \"aria-label\": \"change date\"\r\n }}\r\n style={{ marginRight: 25 }}\r\n disabled={props.isReview}\r\n onBlur=\"\"\r\n onFocus=\"\"\r\n ref={null}\r\n innerRef={null}\r\n rows=\"\"\r\n rowsMax=\"\"\r\n />\r\n handleEnd(date!)}\r\n KeyboardButtonProps={{\r\n \"aria-label\": \"change date\"\r\n }}\r\n disabled={props.isReview}\r\n onBlur=\"\"\r\n onFocus=\"\"\r\n ref={null}\r\n innerRef={null}\r\n rows=\"\"\r\n rowsMax=\"\"\r\n style={undefined}\r\n />\r\n\r\n ({\r\n label: m.fullName,\r\n value: m.id\r\n }))\r\n }\r\n className={styles.selectSeller}\r\n isClearable\r\n />\r\n \r\n \r\n Traži\r\n \r\n {isSuperAdmin() && \r\n Računi\r\n }\r\n {!hideInvoiceColumn && Zadnji: {lastInvoice}}\r\n
\r\n
\r\n )\r\n }}\r\n />\r\n {/* {\r\n setCurrentPage(newPage);\r\n props.handleSearch(newPage * numberRowPerPage, numberRowPerPage);\r\n }}\r\n onChangeRowsPerPage={(event: any) => {\r\n setNumberRowPerPage(event.target.value);\r\n props.handleSearch(currentPage * event.target.value, event.target.value);\r\n\r\n }}\r\n labelRowsPerPage={\"Trgovaca po stranici\"}\r\n /> */}\r\n
\r\n );\r\n};\r\n\r\nexport default SoldWarrantiesTable;\r\n","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport img from '../../resources/img/total-sold.png';\r\nimport classes from './thisMonthTotalWarrantiesSold.module.scss';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\n\r\ninterface IProps {\r\n thisMonthTotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n currentMonth: number,\r\n loading: boolean,\r\n}\r\n\r\nexport const MarketingThisMonthSoldTotalWarranties: React.FC = props => {\r\n\r\n var diff = props.thisMonthTotalSoldWarranties.thisMonth - props.thisMonthTotalSoldWarranties.lastMonth;\r\n var percent = '';\r\n if (props.thisMonthTotalSoldWarranties.lastMonth !== 0)\r\n percent = ((diff / props.thisMonthTotalSoldWarranties.lastMonth) * 100).toFixed(1);\r\n return (\r\n \r\n
\r\n \r\n \r\n Prodana Njuškalo jamstva\r\n \r\n \r\n {props.currentMonth} mj.\r\n \r\n \r\n
\r\n \r\n {props.thisMonthTotalSoldWarranties.thisMonth}\r\n {!props.loading && diff !== 0 && props.thisMonthTotalSoldWarranties.lastMonth !== 0 && 0 ? 'green' : 'red' }}>{Number(percent) > 0 ? '+' : ''}{percent}%, {diff > 0 ? '+' : ''}{diff}}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport img from '../../resources/img/total-sold.png';\r\nimport classes from './thisMonthTotalWarrantiesSold.module.scss';\r\n\r\ninterface IProps {\r\n thisMonthTotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n currentMonth: number,\r\n loading: boolean,\r\n}\r\n\r\nexport const LastYearThisMonthTotalSoldWarranties: React.FC = props => {\r\n\r\n var diff = props.thisMonthTotalSoldWarranties.thisMonth - props.thisMonthTotalSoldWarranties.lastMonth;\r\n var percent = '';\r\n if (props.thisMonthTotalSoldWarranties.lastMonth !== 0)\r\n percent = ((diff / props.thisMonthTotalSoldWarranties.lastMonth) * 100).toFixed(1);\r\n return (\r\n \r\n
\r\n \r\n \r\n Prodana sva jamstva prošle godine\r\n \r\n \r\n {props.currentMonth} mj.\r\n \r\n \r\n
\r\n \r\n {props.thisMonthTotalSoldWarranties.lastMonth}\r\n {!props.loading && diff !== 0 && props.thisMonthTotalSoldWarranties.lastMonth !== 0 && 0 ? 'blue' : 'red' }}>{Number(percent) > 0 ? '+' : ''}{percent}%, {diff > 0 ? '+' : ''}{diff}}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport AdminWarrantyTable from '../../components/tables/AdminWarrantyTable'\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IAdminAttrs from './../../types/IAdminAttrs'\r\nimport { connect } from 'react-redux';\r\nimport { GetAdminTableData } from '../../redux/actions/WarrantyAction';\r\nimport { Grid } from '@material-ui/core';\r\nimport style from \"./../../components/warrantyReview/warrantyView.module.scss\"\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetCarDataAction } from '../../redux/actions/CarAction';\r\nimport { ThisMonthTotalWarrantiesSold } from '../../components/cards/thisMonthTotalWarrantiesSold';\r\nimport { TotalWarranties } from '../../components/cards/totalWarranties';\r\nimport SoldWarrantiesTable from '../../components/tables/SoldWarrantiesTable';\r\nimport { ISoldWarranties } from '../../types/ISoldWarranties';\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { GetAllSellersAction } from '../../redux/actions/SellerAction';\r\nimport { ActionMeta, ValueType } from \"react-select/src/types\";\r\nimport ReactGA from 'react-ga';\r\nimport { ICurrency } from '../../types/ICurrency';\r\nimport { MarketingThisMonthSoldTotalWarranties } from '../../components/cards/MarketingThisMonthSoldTotalWarranties';\r\nimport { LastYearThisMonthTotalSoldWarranties } from '../../components/cards/LastYearThisMonthTotalSoldWarranties';\r\nimport { isAdmin, isSuperAdmin } from '../../utils/AuthFunctions';\r\n\r\ninterface IStateToProps {\r\n thisMonthtotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n soldWarranties: { data: ISoldWarranties, loading: boolean },\r\n sellers: ISellerProps[],\r\n lastInvoice: string,\r\n thisMonthtotalSoldWarrantiesLoading: boolean,\r\n currencies: ICurrency[],\r\n marketingThisMonthTotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n lastYearThisMonthTotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n marketingThisMonthTotalSoldWarrantiesLoading: boolean,\r\n lastYearThisMonthTotalSoldWarrantiesLoading: boolean\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getThisMonthSoldStatistics: (startDate: string, endDate: string, sellerName: string) => void,\r\n getSoldStatistics: (startDate: string, endDate: string, sellerName: string, skip: number, take: number) => void,\r\n getAllSellers: () => void,\r\n getLastInvoice?: () => void;\r\n getCurrencies: () => void;\r\n getMarketingThisMonthSoldStatistics: (startDate: string, endDate: string) => void,\r\n getLastYearThisMonthTotalSoldWarranties: (startDate: string, endDate: string) => void,\r\n\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst AdminTableOverview: React.FC = props => {\r\n\r\n var date = new Date();\r\n const [firstDay, setFirstDay] = useState(new Date(date.getFullYear(), date.getMonth(), 1));\r\n const [lastDay, setLastDay] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 0));\r\n const [selectedSeller, setSelectedSeller] = useState();\r\n\r\n\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | prodana jamstva\");\r\n props.getThisMonthSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"), 'all');\r\n props.getSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"), '', 0, 5);\r\n props.getMarketingThisMonthSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"));\r\n props.getLastYearThisMonthTotalSoldWarranties(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"));\r\n props.getAllSellers()\r\n props.getLastInvoice!();\r\n props.getCurrencies();\r\n }, []);\r\n\r\n\r\n const handleStartDateChange = (date: Date | null) => {\r\n setFirstDay(date!);\r\n };\r\n\r\n const handleEndDateChange = (date: Date | null) => {\r\n setLastDay(date!);\r\n };\r\n\r\n const handleSelectSellerChange = (value: ValueType<{ label: string, value: string }>) => {\r\n setSelectedSeller(value);\r\n };\r\n \r\n const handleSearch = (skip: number, take: number) => {\r\n props.getSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"), selectedSeller ? selectedSeller.label : '', skip, take)\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(isAdmin() || isSuperAdmin()) && \r\n \r\n }\r\n {(isAdmin() || isSuperAdmin()) && \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n thisMonthtotalSoldWarranties: state.thisMonthStatistics.thisMonth.totalSoldWarranties,\r\n thisMonthtotalSoldWarrantiesLoading: state.thisMonthStatistics.loading,\r\n soldWarranties: state.soldWarrantiesStatistics,\r\n sellers: state.sellers.data,\r\n lastInvoice: state.lastInvoice.data,\r\n currencies: state.currencies.data,\r\n marketingThisMonthTotalSoldWarranties: state.marketingThisMonthStatistics.thisMonth.totalSoldWarranties,\r\n marketingThisMonthTotalSoldWarrantiesLoading: state.marketingThisMonthStatistics.loading,\r\n lastYearThisMonthTotalSoldWarranties: state.lastYearThisMonthStatistics.thisMonth.totalSoldWarranties,\r\n lastYearThisMonthTotalSoldWarrantiesLoading: state.lastYearThisMonthStatistics.loading\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getThisMonthSoldStatistics: (startDate: string, endDate: string, sellerName: string) => {\r\n dispatch({\r\n type: ActionTypes.GET_THIS_MONTH_SOLD_STATISTIC,\r\n payload: { startDate, endDate, sellerName }\r\n })\r\n },\r\n getSoldStatistics: (startDate: string, endDate: string, sellerName: string, skip: number, take: number) => {\r\n dispatch({\r\n type: ActionTypes.GET_SOLD_STATISTIC,\r\n payload: { startDate, endDate, sellerName, skip, take }\r\n })\r\n },\r\n getAllSellers: () => dispatch({\r\n type: ActionTypes.GET_SELLERS\r\n }),\r\n getLastInvoice: () => dispatch({ type: ActionTypes.GET_LAST_INVOICE }),\r\n getCurrencies: () => dispatch({ type: ActionTypes.GET_CURRENCIES }),\r\n getMarketingThisMonthSoldStatistics: (startDate: string, endDate: string) => {\r\n dispatch({\r\n type: ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC,\r\n payload: { startDate, endDate }\r\n })\r\n },\r\n getLastYearThisMonthTotalSoldWarranties: (startDate: string, endDate: string) => {\r\n dispatch({\r\n type: ActionTypes.GET_LAST_YEAR_THIS_MONTH_STATISTIC,\r\n payload: { startDate, endDate }\r\n })\r\n }\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdminTableOverview);\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Grid, Modal, Paper, Box, Button, Input } from \"@material-ui/core\";\r\nimport styles from \"./adminTable.module.scss\";\r\nimport stylesEmailModal from \"../forms/buyerForm/buyerEmailModal.module.scss\";\r\nimport MaterialTable from \"material-table\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport IAdminAttrs from \"../../types/IAdminAttrs\";\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport IMissingCarDetailsProps from \"../../types/IMissingCarDetailsProps\";\r\nimport WarrantyStatusChecker from \"../../utils/warrantyStatusChecker\";\r\nimport WarrantyStatus from \"../../domain/enums/WarrantyStatus\";\r\nimport { DamageStatus } from \"../../domain/enums/DamageStatus\";\r\nimport { CarStatus } from \"../../domain/enums/CarStatus\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport PictureAsPdf from \"@material-ui/icons/PictureAsPdf\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport { List, ListItemIcon } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { warrantyPdf } from \"../../constants/apiRoutes\";\r\nimport { numeral } from \"../../utils/AppFormatter\";\r\nimport IWarrantyOverview from \"../../types/IWarrantyOverview\";\r\nimport { initialBuyerProp } from \"../../redux/reducers/carReducer\";\r\nimport MissingCarDetailsForm from \"../forms/missingCarDetailsForm/MissingCarDetailsForm\";\r\nimport { BuyerForm } from \"../forms/buyerForm/BuyerForm\";\r\nimport { BuyerEmailModal } from \"../forms/buyerForm/BuyerEmailModal\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: { data: IAdminAttrs[]; loading: boolean };\r\n getAdminTableData: (page: number, pageSize: number, filters: string) => void;\r\n viewWarranty: (rowData: IAdminAttrs) => void;\r\n goToEditWarranty: (rowData: IAdminAttrs) => void;\r\n goToDamagePage: (carId: number, warrantyId: number) => void;\r\n sellCar: (buyer: IBuyerProps) => void;\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void;\r\n getBuyerData: (carId: number, warrantyId: number) => void;\r\n buyer: IBuyerProps;\r\n getBuyerByOIB: (oib: string) => void;\r\n getBuyerByEmail: (email: string) => void;\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void;\r\n isCarDetailsMissing: boolean;\r\n totalCount: number;\r\n}\r\n\r\nconst AdminWarrantyTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"sellerName\", value: \"\" },\r\n { key: \"warranty.code\", value: \"\" },\r\n { key: \"warranty.car.chassisNumber\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n const { t } = useTranslation();\r\n var x = 1;\r\n\r\n const [showBuyerModal, setShowBuyerModal] = useState(false);\r\n const [showCheckBuyerEmailModal, setShowCheckBuyerEmailModal] =\r\n useState(false);\r\n const [sellingWarrantyId, changeSellingWarrantyId] = useState();\r\n const [isWarrantyEditable, setIsWarrantyEditable] = useState(true);\r\n const [carIsSold, setCarIsSold] = useState(false);\r\n const [carBuyer, setCarBuyer] = useState(props.buyer);\r\n const [buyerEmail, setBuyerEmail] = useState(\"\");\r\n const [dynamicTitle, setDynamicTitle] = useState(\r\n \"Pregled svih aktivnih jamstva\"\r\n );\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows.data]);\r\n\r\n useEffect(() => {\r\n // car is for sale and data from backend are available\r\n if (Object.keys(props.buyer).length && sellingWarrantyId) {\r\n setCarBuyer(props.buyer);\r\n setShowBuyerModal(true);\r\n }\r\n if (props.buyer.carSoldSuccess) {\r\n setShowBuyerModal(false);\r\n updateDashboard();\r\n }\r\n }, [props.buyer]);\r\n\r\n const mapPropsToTable = (): IAdminAttrs[] => {\r\n let newRows = new Array();\r\n props.rows.data.forEach((row: IAdminAttrs) => {\r\n const viewOrUpdate = WarrantyStatusChecker.AdminViewOrUpdate(\r\n row.warranty.warrantyStatus\r\n );\r\n\r\n let newRow: IAdminAttrs = {\r\n ...row,\r\n warranty: {\r\n ...row.warranty,\r\n warrantyStatus: t(row.warranty.warrantyStatus),\r\n carStatus: t(row.warranty.carStatus),\r\n },\r\n damage_action: \"Šteta\",\r\n warranty_action: viewOrUpdate ? \"Pregledaj\" : \"Uredi\",\r\n };\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n };\r\n\r\n const editWarranty = (rowData: IAdminAttrs): void => {\r\n //props.goToEditWarranty(rowData);\r\n\r\n window.open(\r\n \"/car/\" +\r\n rowData.warranty.carId +\r\n \"/warranty/\" +\r\n rowData.warranty.warrantyId +\r\n \"/step=1\"\r\n );\r\n };\r\n const viewWarranty = (rowData: IAdminAttrs): void => {\r\n props.viewWarranty(rowData);\r\n };\r\n\r\n function actionButton(rowData: IAdminAttrs) {\r\n const editButton = (\r\n ) =>\r\n editWarranty(rowData)\r\n }\r\n >\r\n {\" \"}\r\n Uredi{\" \"}\r\n \r\n );\r\n return editButton;\r\n }\r\n\r\n function damageButton(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const shouldDisable =\r\n propsRow.warranty.carStatus === CarStatus.Available ||\r\n (propsRow.warranty.warrantyStatus !== WarrantyStatus.Approved &&\r\n propsRow.warranty.warrantyStatus !== WarrantyStatus.Active);\r\n return (\r\n ) =>\r\n props.goToDamagePage(\r\n rowData.warranty.carId,\r\n rowData.warranty.warrantyId\r\n )\r\n }\r\n >\r\n {\" \"}\r\n {rowData.damage_action}{\" \"}\r\n \r\n );\r\n }\r\n\r\n function chip(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const className = WarrantyStatusChecker.ButtonClassName(\r\n propsRow.warranty.warrantyStatus\r\n );\r\n return (\r\n \r\n );\r\n }\r\n const findByWarrantyId = (id: number): IAdminAttrs => {\r\n return props.rows.data.filter(\r\n (row: IAdminAttrs) => row.warranty.warrantyId === id\r\n )[0];\r\n };\r\n\r\n const carStatus = (rowData: IAdminAttrs) => {\r\n const isSold =\r\n rowData.warranty.carStatus === CarStatus.Sold ||\r\n rowData.warranty.carStatus === \"Prodano\";\r\n return (\r\n
\r\n {rowData.warranty.carStatus}\r\n {isSold && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n const showSellCarForm = (\r\n warrantyId: number | any,\r\n isCarAvailable: boolean\r\n ) => {\r\n changeSellingWarrantyId(warrantyId);\r\n setCarIsSold(!isCarAvailable);\r\n const adminData = props.rows.data.find(\r\n (a: IAdminAttrs) => a.warranty.warrantyId === warrantyId\r\n );\r\n if (!isCarAvailable) {\r\n if (adminData)\r\n props.getBuyerData(\r\n adminData.warranty.carId,\r\n adminData.warranty.warrantyId\r\n );\r\n setShowCheckBuyerEmailModal(false);\r\n } else {\r\n setCarBuyer({ ...initialBuyerProp, warrantyId });\r\n setShowCheckBuyerEmailModal(true);\r\n }\r\n if (adminData) {\r\n setIsWarrantyEditable(\r\n adminData.warranty.warrantyStatus !== WarrantyStatus.Active\r\n );\r\n props.setCarDetailsMissing(\r\n (adminData.warranty.arrivedFromNjuskalo &&\r\n adminData.warranty.car.chassisNumber.length !== 17) ||\r\n (adminData.warranty.car.chassisNumber.toUpperCase() ===\r\n \"XXXXXXXXXXXXXXXXX\" &&\r\n adminData.warranty.car.chassisNumber.length === 17)\r\n );\r\n }\r\n };\r\n\r\n const sellCar = (rowData: IWarrantyOverview): void =>\r\n showSellCarForm(\r\n rowData.warrantyId,\r\n rowData.carStatus == CarStatus.Available\r\n );\r\n\r\n const carButton = (rowData: IAdminAttrs) => {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const isAvailable = propsRow.warranty.carStatus === CarStatus.Available;\r\n const warrantyApproved =\r\n propsRow.warranty.warrantyStatus === WarrantyStatus.Approved ||\r\n propsRow.warranty.warrantyStatus === WarrantyStatus.Active;\r\n return (\r\n
\r\n ) =>\r\n sellCar(propsRow.warranty)\r\n }\r\n disabled={!warrantyApproved}\r\n variant=\"contained\"\r\n size=\"small\"\r\n >\r\n {isAvailable ? \"Prodaj\" : \"Kupac\"}\r\n \r\n
\r\n );\r\n };\r\n\r\n const buyerSubmit = (buyer: IBuyerProps) => {\r\n buyer.warrantyId = sellingWarrantyId;\r\n buyer.buyerEditing = carIsSold;\r\n props.sellCar(buyer);\r\n };\r\n\r\n const buyerEmailSubmit = (email: string) => {\r\n setBuyerEmail(email);\r\n props.getBuyerByEmail(email);\r\n };\r\n\r\n const updateDashboard = () => {\r\n props.rows.data.forEach((a: IAdminAttrs) => {\r\n if (a.warranty.warrantyId === sellingWarrantyId) {\r\n a.warranty.carStatus = CarStatus.Sold;\r\n changeSellingWarrantyId(undefined);\r\n }\r\n });\r\n };\r\n\r\n const damageWarrantyButton = (rowData: IAdminAttrs) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const sellerName = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"sellerName\"\r\n )!.value;\r\n const warrantyId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"warranty.code\"\r\n )!.value;\r\n const chassisNumber = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"warranty.car.chassisNumber\"\r\n )!.value;\r\n\r\n if (sellerName !== \"\") {\r\n newFilters = newFilters + \"Seller.LegalEntityName@=*\" + sellerName;\r\n }\r\n\r\n if (warrantyId !== \"\") {\r\n newFilters = newFilters + \",WarrantyId==\" + warrantyId;\r\n }\r\n\r\n if (chassisNumber !== \"\") {\r\n newFilters = newFilters + \",Car.ChassisNumber@=*\" + chassisNumber;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (sellerName !== \"\" && sellerName.length > 2) ||\r\n // (chassisNumber !== \"\" && chassisNumber.length === 17) ||\r\n // (warrantyId !== \"\" && warrantyId.length === 5) ||\r\n // (sellerName === \"\" && chassisNumber === \"\" && warrantyId === \"\")\r\n // )\r\n // props.getAdminTableData(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getAdminTableData(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n carStatus(rowData),\r\n filtering: false,\r\n },\r\n {\r\n title: \"Status jamstva\",\r\n field: \"warranty.warrantyStatus\",\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length > 0 && chip(rowData),\r\n filtering: false,\r\n },\r\n {\r\n title: \"Akcija jamstva\",\r\n field: \"warranty_action\",\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length > 0 && actionButton(rowData),\r\n filtering: false,\r\n },\r\n {\r\n title: \"Akcija štete\",\r\n field: \"damage_action\",\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length > 0 && damageButton(rowData),\r\n filtering: false,\r\n },\r\n {\r\n title: \"Prodaja\",\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length > 0 && carButton(rowData),\r\n filtering: false,\r\n },\r\n {\r\n title: \"Pregled šteta\",\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length > 0 && damageWarrantyButton(rowData),\r\n filtering: false,\r\n },\r\n ]}\r\n options={{\r\n filtering: true,\r\n search: false,\r\n paging: true,\r\n initialPage: page,\r\n paginationType: \"normal\",\r\n pageSize: pageSize,\r\n pageSizeOptions: [5, 10, 20, 50, 100],\r\n }}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: mapPropsToTable(),\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getAdminTableData(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getAdminTableData(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n {showBuyerModal && (\r\n \r\n setShowBuyerModal(false)}\r\n >\r\n \r\n
\r\n setShowBuyerModal(false)}\r\n submit={buyerSubmit}\r\n buyerEmail={buyerEmail}\r\n {...props}\r\n buyer={carBuyer}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {showCheckBuyerEmailModal && (\r\n \r\n setShowCheckBuyerEmailModal(false)}\r\n >\r\n \r\n
\r\n setShowCheckBuyerEmailModal(false)}\r\n submitEmailModal={buyerEmailSubmit}\r\n {...props}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AdminWarrantyTable;\r\n","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport img from '../../resources/img/warranty.jpg';\r\nimport classes from './thisMonthTotalWarrantiesSold.module.scss';\r\n\r\ninterface IProps {\r\n totalWarranties: number,\r\n}\r\n\r\n\r\nexport const TotalWarranties: React.FC = props => {\r\n \r\n return (\r\n \r\n
\r\n \r\n \r\n Upisana aktivna jamstva\r\n \r\n \r\n u sustavu \r\n \r\n \r\n
\r\n \r\n {props.totalWarranties}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport AdminWarrantyTable from '../../components/tables/AdminWarrantyTable'\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IAdminAttrs from './../../types/IAdminAttrs'\r\nimport { connect } from 'react-redux';\r\nimport { GetAdminTableData, GetWarrantyAdminTableTotalCountAction } from '../../redux/actions/WarrantyAction';\r\nimport { Grid } from '@material-ui/core';\r\nimport style from \"./../../components/warrantyReview/warrantyView.module.scss\"\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetCarDataAction } from '../../redux/actions/CarAction';\r\nimport { ThisMonthTotalWarrantiesSold } from '../../components/cards/thisMonthTotalWarrantiesSold';\r\nimport { TotalWarranties } from '../../components/cards/totalWarranties';\r\nimport SoldWarrantiesTable from '../../components/tables/SoldWarrantiesTable';\r\nimport { ISoldWarranties } from '../../types/ISoldWarranties';\r\nimport ISellerProps from '../../types/ISellerProps';\r\nimport { GetAllSellersAction } from '../../redux/actions/SellerAction';\r\nimport { ActionMeta, ValueType } from \"react-select/src/types\";\r\nimport ReactGA from 'react-ga';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\n\r\ninterface IStateToProps {\r\n allWarranties: { data: IAdminAttrs[], loading: boolean },\r\n carData: ICarData,\r\n buyer: IBuyerProps,\r\n isCarDetailsMissing: boolean,\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getAdminTableData: (page: number, pageSize: number, filters: string) => void,\r\n getCarData: () => void,\r\n viewWarranty: (warrantyId: number, carId: number) => void,\r\n editWarranty: (warrantyId: number, carId: number) => void,\r\n goToDamagePage: (carId: number, warrantyId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n getTotalCount: () => void,\r\n\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst AllWarrantiesOverview: React.FC = props => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | sva jamstva\");\r\n props.getAdminTableData(1, 10, \"\");\r\n props.getCarData();\r\n props.getTotalCount();\r\n }, []);\r\n\r\n const goToEditWarranty = (overviewData: IAdminAttrs) => {\r\n props.editWarranty(overviewData.warranty.warrantyId, overviewData.warranty.carId)\r\n }\r\n\r\n const viewWarranty = (dataRow: IAdminAttrs) => {\r\n props.viewWarranty(dataRow.warranty.warrantyId, dataRow.warranty.carId)\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\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n allWarranties: state.getAdminTableData,\r\n carData: state.carData.data,\r\n buyer: state.carBuyer,\r\n isCarDetailsMissing: state.isCarDetailsMissing.isCarDetailsMissing,\r\n totalCount: state.warrantyAdminTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getAdminTableData: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_ADMIN_TABLE_DATA,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_WARRANTY_ADMIN_TABLE_TOTAL_COUNT\r\n }),\r\n editWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n viewWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n goToDamagePage: (carId: number, warrantyId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/damage/' + carId + \"/\" + warrantyId }\r\n })\r\n }, \r\n sellCar: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SELL_CAR,\r\n payload: buyer\r\n }),\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => dispatch({\r\n type: ActionTypes.EDIT_MISSING_CAR_DETAILS,\r\n payload: missingCarDetails\r\n }),\r\n getBuyerData: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_CAR_ID,\r\n payload: { carId, warrantyId }\r\n }),\r\n getBuyerByOIB: (oib: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_OIB,\r\n payload: oib\r\n }),\r\n getBuyerByEmail: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_EMAIL,\r\n payload: email\r\n }),\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => dispatch({\r\n type: ActionTypes.SET_IS_MISSING_CAR_DETAILS,\r\n payload: { isCarDetailsMissing: isCarDetailsMissing }\r\n }),\r\n \r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AllWarrantiesOverview);","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Modal, Paper, Box, Button, Input, Grid } from \"@material-ui/core\";\r\nimport styles from \"./adminArchiveWarrantyTable.module.scss\";\r\nimport MaterialTable from \"material-table\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport IAdminAttrs from \"../../types/IAdminAttrs\";\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport IMissingCarDetailsProps from \"../../types/IMissingCarDetailsProps\";\r\nimport WarrantyStatusChecker from \"../../utils/warrantyStatusChecker\";\r\nimport { CarStatus } from \"../../domain/enums/CarStatus\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport PictureAsPdf from \"@material-ui/icons/PictureAsPdf\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport { ListItemIcon } from \"@material-ui/core\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { warrantyPdf } from \"../../constants/apiRoutes\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: { data: IAdminAttrs[]; loading: boolean };\r\n getAdminArchiveTableData: (\r\n page: number,\r\n pageSize: number,\r\n filters: string\r\n ) => void;\r\n viewWarranty: (rowData: IAdminAttrs) => void;\r\n goToEditWarranty: (rowData: IAdminAttrs) => void;\r\n goToDamagePage: (carId: number) => void;\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void;\r\n getBuyerData: (carId: number, warrantyId: number) => void;\r\n buyer: IBuyerProps;\r\n getBuyerByOIB: (oib: string) => void;\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void;\r\n isCarDetailsMissing: boolean;\r\n totalCount: number;\r\n}\r\n\r\nconst AdminArchiveWarrantyTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"sellerName\", value: \"\" },\r\n { key: \"warranty.code\", value: \"\" },\r\n { key: \"warranty.car.chassisNumber\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n const { t } = useTranslation();\r\n var x = 1;\r\n\r\n const [sellingCarId, changeSellingCarId] = useState();\r\n const [carIsSold, setCarIsSold] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows.data]);\r\n\r\n const mapPropsToTable = (): IAdminAttrs[] => {\r\n let newRows = new Array();\r\n props.rows.data.forEach((row: IAdminAttrs) => {\r\n const viewOrUpdate = WarrantyStatusChecker.AdminViewOrUpdate(\r\n row.warranty.warrantyStatus\r\n );\r\n\r\n let newRow: IAdminAttrs = {\r\n ...row,\r\n warranty: {\r\n ...row.warranty,\r\n warrantyStatus: t(row.warranty.warrantyStatus),\r\n carStatus: t(row.warranty.carStatus),\r\n },\r\n damage_action: \"Šteta\",\r\n warranty_action: viewOrUpdate ? \"Pregledaj\" : \"Uredi\",\r\n };\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n };\r\n\r\n const editWarranty = (rowData: IAdminAttrs): void => {\r\n //props.goToEditWarranty(rowData);\r\n\r\n window.open(\r\n \"/car/\" +\r\n rowData.warranty.carId +\r\n \"/warranty/\" +\r\n rowData.warranty.warrantyId +\r\n \"/step=1\"\r\n );\r\n };\r\n\r\n function actionButton(rowData: IAdminAttrs) {\r\n const editButton = (\r\n ) =>\r\n editWarranty(rowData)\r\n }\r\n >\r\n {\" \"}\r\n Uredi{\" \"}\r\n \r\n );\r\n return editButton;\r\n }\r\n\r\n function chip(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const className = WarrantyStatusChecker.ButtonClassName(\r\n propsRow.warranty.warrantyStatus\r\n );\r\n return (\r\n \r\n );\r\n }\r\n const findByWarrantyId = (id: number): IAdminAttrs => {\r\n return props.rows.data.filter(\r\n (row: IAdminAttrs) => row.warranty.warrantyId === id\r\n )[0];\r\n };\r\n\r\n const carStatus = (rowData: IAdminAttrs) => {\r\n const isSold =\r\n rowData.warranty.carStatus === CarStatus.Sold ||\r\n rowData.warranty.carStatus === \"Prodano\";\r\n return (\r\n
\r\n {rowData.warranty.carStatus}\r\n {isSold && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n const damageWarrantyButton = (rowData: IAdminAttrs) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const sellerName = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"sellerName\"\r\n )!.value;\r\n const warrantyId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"warranty.code\"\r\n )!.value;\r\n const chassisNumber = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"warranty.car.chassisNumber\"\r\n )!.value;\r\n\r\n if (sellerName !== \"\") {\r\n newFilters = newFilters + \"Seller.LegalEntityName@=*\" + sellerName;\r\n }\r\n\r\n if (warrantyId !== \"\") {\r\n newFilters = newFilters + \",WarrantyId==\" + warrantyId;\r\n }\r\n\r\n if (chassisNumber !== \"\") {\r\n newFilters = newFilters + \",Car.ChassisNumber@=*\" + chassisNumber;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (sellerName !== \"\" && sellerName.length > 2) ||\r\n // (chassisNumber !== \"\" && chassisNumber.length === 17) ||\r\n // (warrantyId !== \"\" && warrantyId.length === 5) ||\r\n // (sellerName === \"\" && chassisNumber === \"\" && warrantyId === \"\")\r\n // )\r\n // props.getAdminArchiveTableData(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n props.getAdminArchiveTableData(page + 1, pageSize, filters)\r\n }\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n carStatus(rowData),\r\n },\r\n {\r\n title: \"Datum prodaje\",\r\n field: \"warranty.validFrom\",\r\n filtering: false,\r\n },\r\n {\r\n title: \"Status jamstva\",\r\n field: \"warranty.warrantyStatus\",\r\n filtering: false,\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length && chip(rowData),\r\n },\r\n {\r\n title: \"Akcija jamstva\",\r\n field: \"warranty_action\",\r\n filtering: false,\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length && actionButton(rowData),\r\n },\r\n {\r\n title: \"Pregled šteta\",\r\n filtering: false,\r\n render: (rowData: IAdminAttrs) =>\r\n props.rows.data.length && damageWarrantyButton(rowData),\r\n },\r\n ]}\r\n options={{\r\n filtering: true,\r\n search: false,\r\n paging: true,\r\n initialPage: page,\r\n paginationType: \"normal\",\r\n pageSize: pageSize,\r\n pageSizeOptions: [5, 10, 20, 50, 100],\r\n }}\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: mapPropsToTable(),\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getAdminArchiveTableData(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getAdminArchiveTableData(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default AdminArchiveWarrantyTable;\r\n","import React from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport img from '../../resources/img/warranty.jpg';\r\nimport classes from './thisMonthTotalWarrantiesSold.module.scss';\r\n\r\ninterface IProps {\r\n totalArchiveWarranties: number,\r\n}\r\n\r\n\r\nexport const TotalArchiveWarranties: React.FC = props => {\r\n \r\n return (\r\n \r\n
\r\n \r\n \r\n Upisana istekla jamstva\r\n \r\n \r\n u sustavu \r\n \r\n \r\n
\r\n \r\n {props.totalArchiveWarranties}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport AdminArchiveWarrantyTable from '../../components/tables/AdminArchiveWarrantyTable'\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IAdminAttrs from './../../types/IAdminAttrs'\r\nimport { connect } from 'react-redux';\r\nimport { GetAdminArchiveTableData, GetWarrantyAdminArchiveTableTotalCountAction } from '../../redux/actions/WarrantyAction';\r\nimport { Grid } from '@material-ui/core';\r\nimport style from \"./../../components/warrantyReview/warrantyView.module.scss\"\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetCarDataAction } from '../../redux/actions/CarAction';\r\nimport { TotalArchiveWarranties } from '../../components/cards/totalArchiveWarranties';\r\nimport ReactGA from 'react-ga';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\n\r\n\r\ninterface IStateToProps {\r\n archiveWarranties: { data: IAdminAttrs[], loading: boolean },\r\n carData: ICarData,\r\n buyer: IBuyerProps,\r\n isCarDetailsMissing: boolean,\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getAdminArchiveTableData: (page: number, pageSize: number, filters: string) => void\r\n getCarData: () => void\r\n viewWarranty: (warrantyId: number, carId: number) => void\r\n editWarranty: (warrantyId: number, carId: number) => void,\r\n goToDamagePage: (carId: number) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n getTotalCount: () => void,\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst ArchiveWarrantiesOverview: React.FC = props => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | sva jamstva\");\r\n props.getAdminArchiveTableData(1, 10, \"\");\r\n props.getCarData();\r\n props.getTotalCount();\r\n }, []);\r\n\r\n const goToEditWarranty = (overviewData: IAdminAttrs) => {\r\n props.editWarranty(overviewData.warranty.warrantyId, overviewData.warranty.carId)\r\n }\r\n\r\n const viewWarranty = (dataRow: IAdminAttrs) => {\r\n props.viewWarranty(dataRow.warranty.warrantyId, dataRow.warranty.carId)\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\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n archiveWarranties: state.getAdminArchiveTableData,\r\n carData: state.carData.data,\r\n buyer: state.carBuyer,\r\n isCarDetailsMissing: state.isCarDetailsMissing.isCarDetailsMissing,\r\n totalCount: state.warrantyAdminArchiveTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getAdminArchiveTableData: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_ADMIN_ARCHIVE_TABLE_DATA,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_WARRANTY_ADMIN_ARCHIVE_TABLE_TOTAL_COUNT\r\n }),\r\n editWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n viewWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n goToDamagePage: (carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/damage/' + carId }\r\n })\r\n },\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => dispatch({\r\n type: ActionTypes.EDIT_MISSING_CAR_DETAILS,\r\n payload: missingCarDetails\r\n }),\r\n getBuyerData: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_CAR_ID,\r\n payload: { carId, warrantyId }\r\n }),\r\n getBuyerByOIB: (oib: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_OIB,\r\n payload: oib\r\n }),\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => dispatch({\r\n type: ActionTypes.SET_IS_MISSING_CAR_DETAILS,\r\n payload: { isCarDetailsMissing: isCarDetailsMissing }\r\n }),\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ArchiveWarrantiesOverview);","import React, { useEffect } from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel } from '@material-ui/core';\r\nimport { BuyerType } from '../../../domain/enums/BuyerType';\r\n\r\ninterface IProps {\r\n buyerEntityChanged?: (legalEntity: boolean) => void,\r\n legalEntityBool: boolean,\r\n disabled?: boolean\r\n}\r\n\r\nexport const SellerButtons: React.FC = (props: IProps) => {\r\n const [isLegalEntity, setIsLegalEntity] = React.useState(props.legalEntityBool);\r\n\r\n useEffect(() => setIsLegalEntity(props.legalEntityBool), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const legalEntity = (event.target as HTMLInputElement).value === BuyerType.LegalEntity;\r\n setIsLegalEntity(legalEntity);\r\n props.buyerEntityChanged!(legalEntity);\r\n }\r\n\r\n return (\r\n \r\n Prodavač je:\r\n \r\n }\r\n label=\"Osoba\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Tvrtka\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class SellerActivateModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite ponovno aktivirati prodavača?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class SellerDeactivateModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite deaktivirati prodavača?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class SellerDeniedContractModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da je trgovac odbio potpisati ugovor?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n}\r\n\r\nexport class SellerSubmitContractModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite potvrditi trgovca?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void,\r\n}\r\n\r\nexport class SellerCancelContractModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite otkazati ugovor trgovcu?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from \"react\";\r\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\r\nimport styles from \"./exportSellerContract.module.scss\";\r\nimport { IInvoiceData } from \"../../types/IInvoiceData\";\r\nimport ISellerContractData from \"../../types/ISellerContractData\";\r\nimport { SellerSubmitContractModal } from \"../forms/sellerRegistrationForm/SellerSubmitContractModal\";\r\nimport { SellerCancelContractModal } from \"../forms/sellerRegistrationForm/SellerCancelContractModal\";\r\nimport { Button, Modal, Paper } from \"@material-ui/core\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AddIcon from \"@material-ui/icons/Add\";\r\nimport { Grid, LinearProgress, Box } from \"@material-ui/core\";\r\nimport { sellerContractPdf } from \"../../constants/apiRoutes\";\r\n\r\ninterface IProps extends IState {\r\n submitSellerContract?: (data: ISellerContractData) => void;\r\n cancelSellerContract?: (data: ISellerContractData) => void;\r\n sellerName: string;\r\n getInvoice?: (invoiceNumber: string) => void;\r\n ugovorAktivan?: boolean;\r\n}\r\n\r\ninterface IState extends ISellerContractData {\r\n open?: boolean | string;\r\n hasError?: boolean;\r\n generate?: boolean;\r\n}\r\n\r\nconst ExportSellerContract: React.FC = (props: IProps) => {\r\n const [open, setOpen] = React.useState(true);\r\n const [generate, setGenerate] = React.useState(false);\r\n const [showSubmitModal, setShowSubmitModal] = React.useState(false);\r\n const [showCancelModal, setShowCancelModal] = React.useState(false);\r\n\r\n const handleClickOpen = (id: string) => {\r\n if (id == props.sellerId) {\r\n setOpen(true);\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const viewContract = () => {\r\n setGenerate(true);\r\n };\r\n\r\n const handleYesSubmitModal = () => {\r\n submitContract();\r\n };\r\n\r\n const handleYesCancelModal = () => {\r\n cancelContract();\r\n };\r\n\r\n const submitContract = () => {\r\n const data: ISellerContractData = {\r\n sellerId: props.sellerId,\r\n };\r\n if (props.submitSellerContract) {\r\n props.submitSellerContract(data);\r\n }\r\n //setOpen(false);\r\n };\r\n\r\n const cancelContract = () => {\r\n const data: ISellerContractData = {\r\n sellerId: props.sellerId,\r\n };\r\n if (props.cancelSellerContract) {\r\n props.cancelSellerContract(data);\r\n }\r\n //setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.sellerName}\r\n \r\n \r\n \r\n \r\n \r\n Pregledaj ugovor\r\n \r\n \r\n \r\n
\r\n {generate && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n {props.ugovorAktivan === null && (\r\n \r\n setShowSubmitModal(true)}\r\n color=\"primary\"\r\n variant=\"contained\"\r\n >\r\n {\" \"}\r\n Potvrdi ugovor{\" \"}\r\n \r\n \r\n )}\r\n {props.ugovorAktivan === true && (\r\n \r\n setShowCancelModal(true)}\r\n color=\"secondary\"\r\n variant=\"contained\"\r\n >\r\n {\" \"}\r\n Otkaži ugovor{\" \"}\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {showSubmitModal && (\r\n \r\n setShowSubmitModal(false)}\r\n >\r\n \r\n
\r\n setShowSubmitModal(false)}\r\n submitYesModal={handleYesSubmitModal}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {showCancelModal && (\r\n \r\n setShowCancelModal(false)}\r\n >\r\n \r\n
\r\n setShowCancelModal(false)}\r\n submitYesModal={handleYesCancelModal}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ExportSellerContract;\r\n","import React from \"react\";\r\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\r\nimport {\r\n Button,\r\n Paper,\r\n FormControl,\r\n FormControlLabel,\r\n FormHelperText,\r\n Checkbox,\r\n Modal,\r\n Box,\r\n} from \"@material-ui/core\";\r\nimport { Grid } from \"@material-ui/core\";\r\nimport Validator from \"../../../utils/validation\";\r\nimport ISellerProps from \"../../../types/ISellerProps\";\r\nimport styles from \"./sellerForm.module.scss\";\r\nimport { SellerButtons } from \"./SellerButtons\";\r\nimport Select from \"react-select\";\r\nimport { ActionMeta, ValueType } from \"react-select/src/types\";\r\nimport ILegalEntity from \"../../../types/ILegalEntitiy\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport { SellerActivateModal } from \"../../../components/forms/sellerRegistrationForm/SellerActivateModal\";\r\nimport { SellerDeactivateModal } from \"../../../components/forms/sellerRegistrationForm/SellerDeactivateModal\";\r\nimport { SellerDeniedContractModal } from \"../../../components/forms/sellerRegistrationForm/SellerDeniedContractModal\";\r\nimport SellerContracts from \"../../../containers/seller/SellerContracts\";\r\nimport ISellerContractData from \"../../../types/ISellerContractData\";\r\nimport ExportSellerContract from \"../../sellerContract/ExportSellerContract\";\r\n\r\ninterface IProps extends IState {\r\n seller: ISellerProps;\r\n submit: (seller: ISellerProps) => void;\r\n activate: (seller: ISellerProps) => void;\r\n handleDeniedContract?: (data: ISellerContractData) => void;\r\n delete: (seller: ISellerProps) => void;\r\n isEditForm: boolean;\r\n submitSellerContract?: (data: ISellerContractData) => void;\r\n cancelSellerContract?: (data: ISellerContractData) => void;\r\n}\r\n\r\ninterface IState extends ISellerProps {\r\n hasError?: boolean;\r\n legalEntities?: ILegalEntity[];\r\n open?: boolean;\r\n selectedLegalEntity?: { label: string; value: string };\r\n showDeleteModal?: boolean;\r\n showActivateModal?: boolean;\r\n showDeniedContractModal?: boolean;\r\n showPdfForm?: boolean;\r\n}\r\n\r\nexport default class SellerRegistrationForm extends React.Component {\r\n state: IState = {\r\n id: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n legalEntityName: \"\",\r\n legalEntityBool: false,\r\n billingAddress: \"\",\r\n carShowroomName: \"\",\r\n parentId: \"\",\r\n oib: \"\",\r\n address: \"\",\r\n email: \"\",\r\n zipCode: \"\",\r\n city: \"\",\r\n country: \"\",\r\n phoneNumber: \"\",\r\n hasError: false,\r\n legalEntities: undefined,\r\n open: false,\r\n message: this.props.message,\r\n odgovornaOsoba: \"\",\r\n osobaZaKontakt: \"\",\r\n active: \"\",\r\n kontaktOdgovornaOsoba: \"\",\r\n };\r\n\r\n private formRef = React.createRef();\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule(\"isOIB\", (oib: string) =>\r\n Validator.validateOIB(oib)\r\n );\r\n ValidatorForm.addValidationRule(\"isZipCode\", (zipCode: string) =>\r\n Validator.validateZipCode(zipCode)\r\n );\r\n ValidatorForm.addValidationRule(\"isPhoneNumber\", (number: string) =>\r\n Validator.validatePhoneNumber(number)\r\n );\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps: IProps, prevState: IState) {\r\n /* ovo je shit ovako raspakiravat, proba sam po objektima, al onda sam ima jos veci shit kod handle change postavit dinamicki neko polje npr u seller objektu, ajme... */\r\n if (\r\n nextProps.isEditForm &&\r\n (nextProps.oib !== prevState.oib ||\r\n (nextProps.legalEntities !== undefined &&\r\n nextProps.legalEntities.length > 0 &&\r\n prevState.selectedLegalEntity === undefined))\r\n )\r\n return {\r\n id: nextProps.id,\r\n firstName: nextProps.firstName,\r\n lastName: nextProps.lastName,\r\n parentId: nextProps.parentId,\r\n legalEntityName: nextProps.legalEntityName,\r\n legalEntityBool: nextProps.legalEntityBool,\r\n billingAddress: nextProps.billingAddress,\r\n carShowroomName: nextProps.carShowroomName,\r\n oib: nextProps.oib,\r\n address: nextProps.address,\r\n email: nextProps.email,\r\n zipCode: nextProps.zipCode,\r\n city: nextProps.city,\r\n country: nextProps.country,\r\n phoneNumber: nextProps.phoneNumber,\r\n legalEntities: nextProps.legalEntities,\r\n odgovornaOsoba: nextProps.odgovornaOsoba,\r\n osobaZaKontakt: nextProps.osobaZaKontakt,\r\n kontaktOdgovornaOsoba: nextProps.kontaktOdgovornaOsoba,\r\n active: nextProps.active,\r\n /* ako postoji popis firmi i ako osoba ima firmu kojoj pripada selektiraj ime te firme */\r\n selectedLegalEntity:\r\n nextProps.legalEntities !== undefined &&\r\n nextProps.legalEntities.length > 0 &&\r\n nextProps.parentId\r\n ? {\r\n label: nextProps.legalEntities.find(\r\n ({ id }) => id === nextProps.parentId\r\n )!.name,\r\n value: nextProps.legalEntities.find(\r\n ({ id }) => id === nextProps.parentId\r\n )!.id,\r\n }\r\n : null,\r\n };\r\n return prevState;\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { name, value } = el.target;\r\n this.setState({ [name]: value });\r\n }\r\n\r\n handleSelectChange = (\r\n value: ValueType<{ label: string; value: string }>,\r\n _: ActionMeta\r\n ) => {\r\n this.setState({ selectedLegalEntity: value });\r\n };\r\n\r\n public handleSubmit() {\r\n const state = this.state;\r\n if (state.hasError) return;\r\n const seller: ISellerProps = {\r\n id: state.id,\r\n firstName: state.firstName,\r\n lastName: state.lastName,\r\n oib: state.oib,\r\n address: state.address,\r\n email: state.email,\r\n zipCode: state.zipCode,\r\n city: state.city,\r\n country: state.country,\r\n phoneNumber: state.phoneNumber,\r\n legalEntityName: state.legalEntityName,\r\n legalEntityBool: state.legalEntityBool,\r\n odgovornaOsoba: state.odgovornaOsoba,\r\n osobaZaKontakt: state.osobaZaKontakt,\r\n billingAddress: state.billingAddress,\r\n carShowroomName: state.carShowroomName,\r\n active: state.active,\r\n kontaktOdgovornaOsoba: state.kontaktOdgovornaOsoba,\r\n parentId:\r\n state.selectedLegalEntity && state.selectedLegalEntity !== undefined\r\n ? state.selectedLegalEntity.value\r\n : \"\",\r\n };\r\n this.props.submit(seller);\r\n this.setState({ open: true });\r\n }\r\n\r\n public validateSelect() {\r\n const hasError =\r\n this.state.selectedLegalEntity === undefined &&\r\n !this.state.legalEntityBool;\r\n this.setState({ hasError });\r\n }\r\n\r\n public handleDelete() {\r\n const state = this.state;\r\n if (state.hasError) return;\r\n const seller: ISellerProps = {\r\n id: state.id,\r\n firstName: state.firstName,\r\n lastName: state.lastName,\r\n oib: state.oib,\r\n address: state.address,\r\n email: state.email,\r\n zipCode: state.zipCode,\r\n city: state.city,\r\n country: state.country,\r\n phoneNumber: state.phoneNumber,\r\n legalEntityName: state.legalEntityName,\r\n legalEntityBool: state.legalEntityBool,\r\n odgovornaOsoba: state.odgovornaOsoba,\r\n osobaZaKontakt: state.osobaZaKontakt,\r\n billingAddress: state.billingAddress,\r\n carShowroomName: state.carShowroomName,\r\n active: state.active,\r\n kontaktOdgovornaOsoba: state.kontaktOdgovornaOsoba,\r\n parentId:\r\n state.selectedLegalEntity && state.selectedLegalEntity !== undefined\r\n ? state.selectedLegalEntity.value\r\n : \"\",\r\n };\r\n this.props.delete(seller);\r\n this.setState({ open: true });\r\n }\r\n\r\n public handleActivate() {\r\n const state = this.state;\r\n if (state.hasError) return;\r\n const seller: ISellerProps = {\r\n id: state.id,\r\n firstName: state.firstName,\r\n lastName: state.lastName,\r\n oib: state.oib,\r\n address: state.address,\r\n email: state.email,\r\n zipCode: state.zipCode,\r\n city: state.city,\r\n country: state.country,\r\n phoneNumber: state.phoneNumber,\r\n legalEntityName: state.legalEntityName,\r\n legalEntityBool: state.legalEntityBool,\r\n odgovornaOsoba: state.odgovornaOsoba,\r\n osobaZaKontakt: state.osobaZaKontakt,\r\n billingAddress: state.billingAddress,\r\n carShowroomName: state.carShowroomName,\r\n active: state.active,\r\n kontaktOdgovornaOsoba: state.kontaktOdgovornaOsoba,\r\n parentId:\r\n state.selectedLegalEntity && state.selectedLegalEntity !== undefined\r\n ? state.selectedLegalEntity.value\r\n : \"\",\r\n };\r\n this.props.activate(seller);\r\n this.setState({ open: true });\r\n }\r\n\r\n public handleDenied() {\r\n const state = this.state;\r\n if (state.hasError) return;\r\n const seller: ISellerContractData = {\r\n sellerId: state.id,\r\n };\r\n if (this.props.handleDeniedContract)\r\n this.props.handleDeniedContract(seller);\r\n this.setState({ open: true });\r\n }\r\n\r\n public handleDeleteModal() {\r\n this.setState({ showDeleteModal: true });\r\n }\r\n\r\n public handlePdfModal() {\r\n this.setState({ showPdfForm: true });\r\n }\r\n\r\n public handleActivateModal() {\r\n this.setState({ showActivateModal: true });\r\n }\r\n\r\n public handleDeniedModal() {\r\n this.setState({ showDeniedContractModal: true });\r\n }\r\n\r\n public handleDeleteYesModal() {\r\n this.handleDelete();\r\n }\r\n\r\n public handleActivateYesModal() {\r\n this.handleActivate();\r\n }\r\n\r\n public handleDeniedContractYesModal() {\r\n if (this.props.handleDeniedContract) this.handleDenied();\r\n }\r\n\r\n render() {\r\n const { ...formControls } = { ...this.state };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Podaci o prodavaču\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ legalEntityBool })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.legalEntityBool ? (\r\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 label: m.name,\r\n value: m.id,\r\n }))\r\n }\r\n />\r\n {this.state.hasError && (\r\n \r\n Ovo polje je obavezno.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {this.state.legalEntityBool && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {!this.state.legalEntityBool && (\r\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 {this.state.legalEntityBool ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {!(this.props.odbioUgovor === true) &&\r\n !(this.props.aktivanUgovor !== null) && (\r\n \r\n \r\n ODBIO UGOVOR\r\n \r\n \r\n )}\r\n {this.props.id !== undefined && \r\n \r\n PRIKAŽI UGOVOR\r\n \r\n }\r\n {this.state.active == \"DA\" ? (\r\n \r\n \r\n DEAKTIVIRAJ TRGOVCA\r\n \r\n \r\n ) : null}\r\n {this.state.active == \"NE\" ? (\r\n \r\n \r\n AKTIVIRAJ TRGOVCA\r\n \r\n \r\n ) : null}\r\n \r\n \r\n SPREMI\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.state.showDeleteModal && (\r\n \r\n this.setState({ showDeleteModal: false })}\r\n >\r\n \r\n
\r\n this.setState({ showDeleteModal: false })}\r\n submitYesModal={this.handleDeleteYesModal.bind(this)}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {\r\n this.state.showActivateModal && (\r\n \r\n this.setState({ showActivateModal: false })}\r\n >\r\n \r\n
\r\n \r\n this.setState({ showActivateModal: false })\r\n }\r\n submitYesModal={this.handleActivateYesModal.bind(this)}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {\r\n this.state.showDeniedContractModal !== undefined &&\r\n this.state.showDeniedContractModal === true && (\r\n \r\n \r\n this.setState({ showDeniedContractModal: false })\r\n }\r\n >\r\n \r\n
\r\n \r\n this.setState({ showDeniedContractModal: false })\r\n }\r\n submitYesModal={this.handleDeniedContractYesModal.bind(\r\n this\r\n )}\r\n >\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {this.state.showPdfForm && this.props.seller.id !== undefined && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport SellerRegistrationForm from '../../components/forms/sellerRegistrationForm/SellerRegistrationForm'\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport ILegalEntity from \"./../../types/ILegalEntitiy\";\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { GetLegalEntities } from '../../redux/actions/SellerAction';\r\nimport { GetSellerByIdAction, ClearSellerAction } from './../../redux/actions/SellerAction';\r\nimport { connect } from 'react-redux';\r\nimport { URLHelper } from './../../utils/URLHelper';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\ninterface IDispatchToProps {\r\n getLegalEntities: () => void,\r\n saveSeller: (seller: ISellerProps) => void,\r\n activateSeller: (seller: ISellerProps) => void,\r\n deleteSeller: (seller: ISellerProps) => void,\r\n getSeller: (sellerId: string) => void,\r\n clearSeller: () => void\r\n}\r\n\r\ninterface IStateToProps {\r\n legalEntities: ILegalEntity[],\r\n seller: ISellerProps\r\n}\r\n\r\nconst SellerRegistration: React.FC = (props: IProps) => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | registracija trgovca\");\r\n props.clearSeller();\r\n props.getLegalEntities();\r\n if(URLHelper.getSellerId() !== 'create_seller') \r\n props.getSeller(URLHelper.getSellerId()!);\r\n \r\n }, []);\r\n\r\n const handleSubmit = (seller: ISellerProps) => {\r\n props.saveSeller(seller);\r\n }\r\n\r\n const handleDelete = (seller: ISellerProps) => {\r\n props.deleteSeller(seller);\r\n }\r\n\r\n const handleActivate= (seller: ISellerProps) => {\r\n props.activateSeller(seller);\r\n }\r\n\r\n return ()\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n legalEntities: state.legalEntities.entities,\r\n seller: state.seller.seller,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getLegalEntities: () => dispatch({\r\n type: ActionTypes.GET_LEGAL_ENTITIES\r\n }),\r\n saveSeller: (seller: ISellerProps) => dispatch({\r\n type: ActionTypes.SAVE_SELLER,\r\n payload: { seller }\r\n }),\r\n deleteSeller: (seller: ISellerProps) => dispatch({\r\n type: ActionTypes.DELETE_SELLER,\r\n payload: { seller }\r\n }),\r\n activateSeller: (seller: ISellerProps) => dispatch({\r\n type: ActionTypes.ACTIVATE_SELLER,\r\n payload: { seller }\r\n }),\r\n getSeller: (sellerId: string) => dispatch({\r\n type: ActionTypes.GET_SELLER,\r\n payload: sellerId\r\n }),\r\n clearSeller: () => dispatch({\r\n type: ActionTypes.CLEAR_SELLER\r\n })\r\n})\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SellerRegistration);","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class DeleteBuyerModal extends React.Component {\r\n \r\n \r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite deaktivirati kupca?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport styles from './sendMailBuyerModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class SendMailBuyerModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n

Jeste li sigurni da želite ponovno kupcu poslati aktivacijski email za njegovo zadnje kupnjeno jamstvo?

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport IBuyerProps from '../../../types/IBuyerProps';\r\nimport { Button, SnackbarContent, Grid, Tooltip, Paper, Box, Modal } from '@material-ui/core';\r\nimport styles from './buyerRegistrationForm.module.scss';\r\nimport { initialBuyerProp } from '../../../redux/reducers/carReducer';\r\nimport Validator from '../../../utils/validation';\r\nimport { BuyerRadioButtons } from './BuyerRadioButtons';\r\nimport NumberFormat from 'react-number-format';\r\nimport { red } from '@material-ui/core/colors'\r\nimport { URLHelper } from '../../../utils/URLHelper';\r\nimport { DeleteBuyerModal } from '../../../components/forms/buyerForm/DeleteBuyerModal';\r\nimport { SendMailBuyerModal } from '../../../components/forms/buyerForm/SendMailBuyerModal';\r\nimport { isAdmin, isSuperAdmin } from '../../../utils/AuthFunctions';\r\nimport Select from \"react-select\";\r\nimport { ActionMeta, ValueType } from \"react-select/src/types\";\r\n\r\ninterface IProps {\r\n buyer: IBuyerProps,\r\n submit: (buyer: IBuyerProps) => void,\r\n getBuyerById: (id: string) => void,\r\n isEditable: boolean,\r\n delete: (buyer: IBuyerProps) => void,\r\n activate: (buyer: IBuyerProps) => void,\r\n sendActivationMail?: (email: string) => void,\r\n legalBuyers: IBuyerProps[],\r\n}\r\n\r\ninterface IState extends IBuyerProps {\r\n disableControls?: boolean,\r\n oibIsValid?: boolean,\r\n resetForm?: boolean,\r\n initialLoad?: boolean,\r\n confirmEmail?: string,\r\n showDeleteModal?: boolean,\r\n showSendMailModal?: boolean,\r\n selectedLegalBuyer?: { label: string; value: string }\r\n}\r\n\r\nexport class BuyerRegistrationForm extends React.Component {\r\n state: IState = {\r\n ...initialBuyerProp,\r\n disableControls: false,\r\n oibIsValid: false,\r\n resetForm: false,\r\n initialLoad: true,\r\n confirmEmail: \"\"\r\n };\r\n\r\n private formRef = React.createRef();\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule('isOIB', (oib: string) => Validator.validateOIB(oib))\r\n ValidatorForm.addValidationRule('isPhoneNumber', (number: string) => Validator.validatePhoneNumber(number))\r\n ValidatorForm.addValidationRule('isEmailMatch', (email: string) => Validator.isEmailMatch(email, this.state.email));\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps: IProps, prevState: IState): IState {\r\n\r\n\r\n const buyerByOibSuccess = prevState.oibIsValid && nextProps.buyer.oib && prevState.oib === nextProps.buyer.oib;\r\n // Reset form\r\n if (prevState.resetForm || URLHelper.getBuyerId() === 'create_buyer') return { ...prevState, resetForm: false };\r\n\r\n // User data fetched successfully by oib \r\n if (buyerByOibSuccess) return { ...nextProps.buyer, disableControls: !nextProps.isEditable && true, initialLoad: false };\r\n\r\n // Initial user load\r\n if (nextProps.buyer && nextProps.buyer.oib && prevState.initialLoad && nextProps.legalBuyers && nextProps.legalBuyers.length > 0) {\r\n return {\r\n ...nextProps.buyer, disableControls: !nextProps.isEditable && true, initialLoad: false,\r\n selectedLegalBuyer:\r\n nextProps.buyer.parentId\r\n ? {\r\n label: nextProps.legalBuyers.find(\r\n ({ id }) => id === nextProps.buyer.parentId\r\n )!.legalEntityName,\r\n value: nextProps.legalBuyers.find(\r\n ({ id }) => id === nextProps.buyer.parentId\r\n )!.id!,\r\n }\r\n : undefined,\r\n };\r\n }\r\n \r\n\r\n // Input elements changing values\r\n return {\r\n ...prevState, disableControls: false\r\n };\r\n }\r\n\r\n private handleChange(el: any) {\r\n const { name, value } = el.target;\r\n this.setState({ [name]: value });\r\n }\r\n\r\n handleSelectChange = (\r\n value: ValueType<{ label: string; value: string }>,\r\n _: ActionMeta\r\n ) => {\r\n this.setState({ selectedLegalBuyer: value });\r\n };\r\n\r\n public handleDelete() {\r\n this.setState({ showDeleteModal: true });\r\n }\r\n\r\n public handleActivationButton() {\r\n this.setState({ showSendMailModal: true });\r\n }\r\n\r\n private handleSubmit() {\r\n if (this.formRef) this.props.submit(this.getBuyerFromState());\r\n }\r\n\r\n public handleYesModal() {\r\n this.props.delete(this.getBuyerFromState());\r\n }\r\n\r\n public handleActivate() {\r\n this.props.activate(this.getBuyerFromState());\r\n }\r\n\r\n public handleSendYesModal() {\r\n if (this.props.sendActivationMail) {\r\n this.props.sendActivationMail(this.getBuyerFromState().email);\r\n }\r\n }\r\n\r\n public resetForm() {\r\n this.setState((prevState: IState) => ({ ...initialBuyerProp, carId: prevState.carId, oibIsValid: false, disableControls: false, resetForm: true, legalEntity: false }));\r\n }\r\n\r\n private getBuyerFromState(): IBuyerProps {\r\n const state = this.state;\r\n return {\r\n firstName: state.firstName, lastName: state.lastName, oib: state.oib,\r\n address: state.address, email: state.email, zipCode: state.zipCode,\r\n city: state.city, country: state.country, phoneNumber: state.phoneNumber,\r\n legalEntityName: state.legalEntityName, legalEntity: state.legalEntity,\r\n buyerEditing: state.buyerEditing, id: state.id,\r\n parentId:\r\n state.selectedLegalBuyer\r\n ? state.selectedLegalBuyer.value\r\n : undefined,\r\n };\r\n }\r\n\r\n render() {\r\n const { disableControls, ...formControls } = { ...this.state };\r\n return (\r\n \r\n \r\n this.handleSubmit()}\r\n ref={this.formRef}\r\n className={styles.Form}\r\n >\r\n \r\n

Pregled podataka o kupcu

\r\n
\r\n \r\n this.setState({ legalEntity })} />\r\n \r\n \r\n \r\n \r\n \r\n {this.state.legalEntity ?\r\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 {(isAdmin() || isSuperAdmin()) && !this.state.legalEntity && \r\n \r\n ({\r\n label: m.legalEntityName,\r\n value: m.id!\r\n }))\r\n }\r\n isClearable\r\n />\r\n }\r\n \r\n
\r\n \r\n \r\n {this.state.initialLoad ?\r\n null\r\n :\r\n this.state.active == \"DA\" ? \r\n \r\n \r\n :\r\n\r\n this.state.active == \"NE\" && \r\n \r\n \r\n }\r\n {this.state.initialLoad ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {this.state.initialLoad || (isAdmin || isSuperAdmin) ?\r\n null\r\n :\r\n \r\n \r\n Email nije moguće promijeniti!\r\n \r\n }\r\n style={{ backgroundColor: red[600], alignContent: \"center\" }}\r\n className={styles.Snackbar}\r\n />\r\n \r\n }\r\n \r\n \r\n {this.props.sendActivationMail ?\r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n\r\n\r\n \r\n
\r\n {\r\n this.state.showDeleteModal &&\r\n \r\n this.setState({ showDeleteModal: false })}>\r\n \r\n
\r\n this.setState({ showDeleteModal: false })} submitYesModal={this.handleYesModal.bind(this)} >\r\n
\r\n
\r\n
\r\n
\r\n }{\r\n this.state.showSendMailModal &&\r\n \r\n this.setState({ showSendMailModal: false })}>\r\n \r\n
\r\n this.setState({ showSendMailModal: false })} submitYesModal={this.handleSendYesModal.bind(this)} >\r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n )\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { BuyerRegistrationForm } from '../../components/forms/buyerForm/BuyerRegistrationForm'\r\nimport IBuyerProps from \"./../../types/IBuyerProps\";\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { GetBuyerByIdAction, GetLegalBuyersAction } from './../../redux/actions/BuyerAction';\r\nimport { connect } from 'react-redux';\r\nimport { URLHelper } from './../../utils/URLHelper';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\ninterface IDispatchToProps {\r\n saveBuyer: (buyer: IBuyerProps) => void,\r\n deleteBuyer: (buyer: IBuyerProps) => void,\r\n activateBuyer: (buyer: IBuyerProps) => void,\r\n getBuyer: (buyerId: string) => void,\r\n getLegalBuyers: () => void,\r\n}\r\n\r\ninterface IStateToProps {\r\n buyer: IBuyerProps,\r\n legalBuyers: IBuyerProps[],\r\n}\r\n\r\nconst BuyerRegistration: React.FC = (props: IProps) => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | registracija kupca\");\r\n if (URLHelper.getBuyerId() !== 'create_buyer')\r\n props.getBuyer(URLHelper.getBuyerId()!);\r\n props.getLegalBuyers();\r\n\r\n }, []);\r\n\r\n const handleSubmit = (buyer: IBuyerProps) => {\r\n props.saveBuyer(buyer);\r\n }\r\n\r\n const handleDelete = (buyer: IBuyerProps) => {\r\n props.deleteBuyer(buyer);\r\n }\r\n\r\n const handleActivate = (buyer: IBuyerProps) => {\r\n props.activateBuyer(buyer);\r\n }\r\n\r\n return ()\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n buyer: state.buyer.buyer,\r\n legalBuyers: state.legalBuyers.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n saveBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SAVE_BUYER,\r\n payload: { buyer }\r\n }),\r\n activateBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.ACTIVATE_BUYER,\r\n payload: { buyer }\r\n }),\r\n deleteBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.DELETE_BUYER,\r\n payload: { buyer }\r\n }),\r\n getBuyer: (buyerId: string) => dispatch({\r\n type: ActionTypes.GET_BUYER,\r\n payload: buyerId\r\n }),\r\n getLegalBuyers: () => dispatch({\r\n type: ActionTypes.GET_LEGAL_BUYERS\r\n }),\r\n})\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BuyerRegistration);","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Grid, Modal, Paper, Box, Button } from \"@material-ui/core\";\r\nimport styles from \"./adminTable.module.scss\";\r\nimport stylesEmailModal from '../forms/buyerForm/buyerEmailModal.module.scss';\r\nimport MaterialTable from \"material-table\";\r\nimport Chip from '@material-ui/core/Chip';\r\nimport IAdminAttrs from \"../../types/IAdminAttrs\";\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport IMissingCarDetailsProps from \"../../types/IMissingCarDetailsProps\";\r\nimport WarrantyStatusChecker from \"../../utils/warrantyStatusChecker\"\r\nimport WarrantyStatus from \"../../domain/enums/WarrantyStatus\";\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\nimport { CarStatus } from \"../../domain/enums/CarStatus\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport PictureAsPdf from '@material-ui/icons/PictureAsPdf';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport { List, ListItemIcon } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { warrantyPdf } from '../../constants/apiRoutes';\r\nimport { numeral } from '../../utils/AppFormatter';\r\nimport IWarrantyOverview from '../../types/IWarrantyOverview';\r\nimport { initialBuyerProp } from '../../redux/reducers/carReducer';\r\nimport MissingCarDetailsForm from '../forms/missingCarDetailsForm/MissingCarDetailsForm';\r\nimport { BuyerForm } from '../forms/buyerForm/BuyerForm';\r\nimport { BuyerEmailModal } from '../forms/buyerForm/BuyerEmailModal';\r\n\r\ninterface IProps {\r\n rows: { data: IAdminAttrs[], loading: boolean },\r\n viewWarranty: (rowData: IAdminAttrs) => void,\r\n goToEditWarranty: (rowData: IAdminAttrs) => void,\r\n goToDamagePage: (carId: number, warrantyId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n buyer: IBuyerProps,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n isCarDetailsMissing: boolean,\r\n buyerName?: string\r\n}\r\n\r\nconst AdminBuyerWarrantyTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n var x = 1;\r\n\r\n const [showBuyerModal, setShowBuyerModal] = useState(false);\r\n const [showCheckBuyerEmailModal, setShowCheckBuyerEmailModal] = useState(false);\r\n const [sellingWarrantyId, changeSellingWarrantyId] = useState();\r\n const [isWarrantyEditable, setIsWarrantyEditable] = useState(true);\r\n const [carIsSold, setCarIsSold] = useState(false);\r\n const [carBuyer, setCarBuyer] = useState(props.buyer);\r\n const [buyerEmail, setBuyerEmail] = useState(\"\");\r\n const [dynamicTitle, setDynamicTitle] = useState(\"Pregled svih aktivnih jamstva\");\r\n\r\n useEffect(() => {\r\n // car is for sale and data from backend are available\r\n if (Object.keys(props.buyer).length && sellingWarrantyId) {\r\n setCarBuyer(props.buyer);\r\n setShowBuyerModal(true);\r\n }\r\n if (props.buyer.carSoldSuccess) {\r\n setShowBuyerModal(false);\r\n updateDashboard();\r\n }\r\n }, [props.buyer])\r\n\r\n useEffect(() => {\r\n if (props.buyerName && props.buyerName !== \"\") {\r\n setDynamicTitle(`Pregled svih aktivnih jamstva kupca ${props.buyerName}`)\r\n }\r\n }, [props.buyerName])\r\n\r\n\r\n\r\n const mapPropsToTable = (): IAdminAttrs[] => {\r\n let newRows = new Array();\r\n props.rows.data.forEach((row: IAdminAttrs) => {\r\n const viewOrUpdate = WarrantyStatusChecker.AdminViewOrUpdate(row.warranty.warrantyStatus);\r\n\r\n let newRow: IAdminAttrs = {\r\n ...row,\r\n warranty: {\r\n ...row.warranty,\r\n warrantyStatus: t(row.warranty.warrantyStatus),\r\n carStatus: t(row.warranty.carStatus),\r\n },\r\n damage_action: 'Šteta',\r\n warranty_action: viewOrUpdate ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n const editWarranty = (rowData: IAdminAttrs): void => {\r\n props.goToEditWarranty(rowData)\r\n }\r\n const viewWarranty = (rowData: IAdminAttrs): void => {\r\n props.viewWarranty(rowData)\r\n };\r\n\r\n function actionButton(rowData: IAdminAttrs) {\r\n const editButton = \r\n return (\r\n editButton\r\n )\r\n }\r\n\r\n function damageButton(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const shouldDisable = propsRow.warranty.carStatus === CarStatus.Available ||\r\n (propsRow.warranty.warrantyStatus !== WarrantyStatus.Approved && propsRow.warranty.warrantyStatus !== WarrantyStatus.Active)\r\n return \r\n }\r\n\r\n function chip(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const className = WarrantyStatusChecker.ButtonClassName(propsRow.warranty.warrantyStatus);\r\n return \r\n }\r\n const findByWarrantyId = (id: number): IAdminAttrs => {\r\n return props.rows.data.filter((row: IAdminAttrs) => row.warranty.warrantyId === id)[0];\r\n }\r\n\r\n const carStatus = (rowData: IAdminAttrs) => {\r\n const isSold = rowData.warranty.carStatus === CarStatus.Sold || (rowData.warranty.carStatus === \"Prodano\");\r\n return (\r\n
\r\n {rowData.warranty.carStatus}\r\n {isSold &&\r\n \r\n \r\n }\r\n
);\r\n }\r\n\r\n const showSellCarForm = (warrantyId: number | any, isCarAvailable: boolean) => {\r\n changeSellingWarrantyId(warrantyId);\r\n setCarIsSold(!isCarAvailable)\r\n const adminData = props.rows.data.find((a: IAdminAttrs) => a.warranty.warrantyId === warrantyId);\r\n if (!isCarAvailable) {\r\n if (adminData) props.getBuyerData(adminData.warranty.carId, adminData.warranty.warrantyId);\r\n setShowCheckBuyerEmailModal(false);\r\n } else {\r\n setCarBuyer({ ...initialBuyerProp, warrantyId });\r\n setShowCheckBuyerEmailModal(true);\r\n }\r\n if (adminData) {\r\n setIsWarrantyEditable(adminData.warranty.warrantyStatus !== WarrantyStatus.Active)\r\n props.setCarDetailsMissing(adminData.warranty.arrivedFromNjuskalo && adminData.warranty.car.chassisNumber.length !== 17 || (adminData.warranty.car.chassisNumber.toUpperCase() === 'XXXXXXXXXXXXXXXXX' && adminData.warranty.car.chassisNumber.length === 17));\r\n }\r\n }\r\n\r\n const sellCar = (rowData: IWarrantyOverview): void => showSellCarForm(rowData.warrantyId, rowData.carStatus == CarStatus.Available);\r\n\r\n const carButton = (rowData: IAdminAttrs) => {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const isAvailable = propsRow.warranty.carStatus === CarStatus.Available;\r\n const warrantyApproved = propsRow.warranty.warrantyStatus === WarrantyStatus.Approved ||\r\n propsRow.warranty.warrantyStatus === WarrantyStatus.Active;\r\n return (\r\n
\r\n ) => sellCar(propsRow.warranty)}\r\n disabled={!warrantyApproved}\r\n variant=\"contained\"\r\n size=\"small\"\r\n >\r\n {isAvailable ? 'Prodaj' : 'Kupac'}\r\n \r\n
);\r\n }\r\n\r\n\r\n const buyerSubmit = (buyer: IBuyerProps) => {\r\n buyer.warrantyId = sellingWarrantyId;\r\n buyer.buyerEditing = carIsSold;\r\n props.sellCar(buyer);\r\n }\r\n\r\n const buyerEmailSubmit = (email: string) => {\r\n setBuyerEmail(email);\r\n props.getBuyerByEmail(email);\r\n }\r\n\r\n const updateDashboard = () => {\r\n props.rows.data.forEach((a: IAdminAttrs) => {\r\n if (a.warranty.warrantyId === sellingWarrantyId) {\r\n a.warranty.carStatus = CarStatus.Sold;\r\n changeSellingWarrantyId(undefined);\r\n }\r\n })\r\n }\r\n\r\n const damageWarrantyButton = (rowData: IAdminAttrs) => (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n carStatus(rowData) },\r\n { title: 'Datum prodaje', field: 'warranty.validFrom' },\r\n {\r\n title: 'Status jamstva',\r\n field: 'warranty.warrantyStatus',\r\n render: (rowData: IAdminAttrs) => chip(rowData)\r\n },\r\n {\r\n title: 'Akcija jamstva',\r\n field: \"warranty_action\",\r\n render: (rowData: IAdminAttrs) => actionButton(rowData)\r\n },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damage_action\",\r\n render: (rowData: IAdminAttrs) => damageButton(rowData)\r\n },\r\n {\r\n title: 'Prodaja',\r\n render: (rowData: IAdminAttrs) => carButton(rowData)\r\n },\r\n {\r\n title: 'Pregled šteta',\r\n render: (rowData: IAdminAttrs) => damageWarrantyButton(rowData)\r\n }\r\n\r\n ]}\r\n options={{\r\n filtering: true,\r\n }}\r\n data={[...mapPropsToTable()]}\r\n />\r\n {showBuyerModal &&\r\n \r\n setShowBuyerModal(false)}>\r\n \r\n
\r\n setShowBuyerModal(false)} submit={buyerSubmit} buyerEmail={buyerEmail} {...props} buyer={carBuyer}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showCheckBuyerEmailModal &&\r\n \r\n setShowCheckBuyerEmailModal(false)}>\r\n \r\n
\r\n setShowCheckBuyerEmailModal(false)} submitEmailModal={buyerEmailSubmit} {...props}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default AdminBuyerWarrantyTable;\r\n","import React, { useEffect } from 'react';\r\nimport AdminBuyerWarrantyTable from '../../components/tables/AdminBuyerWarrantyTable'\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IAdminAttrs from './../../types/IAdminAttrs'\r\nimport { connect } from 'react-redux';\r\nimport { GetWarrantyForBuyerAction, GetWarrantyAdminBuyerTableTotalCountAction } from '../../redux/actions/WarrantyAction';\r\nimport { GetBuyerNameAction } from '../../redux/actions/DamageAction';\r\nimport { Grid } from '@material-ui/core';\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetCarDataAction } from '../../redux/actions/CarAction';\r\nimport ReactGA from 'react-ga';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\n\r\ninterface IStateToProps {\r\n allWarranties: { data: IAdminAttrs[], loading: boolean },\r\n carData: ICarData,\r\n buyer: IBuyerProps,\r\n isCarDetailsMissing: boolean,\r\n buyerName: string\r\n}\r\n\r\n\r\ninterface IDispatchToProps {\r\n getWarrantiesForBuyer: (email: string) => void\r\n getCarData: () => void\r\n viewWarranty: (warrantyId: number, carId: number) => void\r\n editWarranty: (warrantyId: number, carId: number) => void,\r\n goToDamagePage: (carId: number, warrantyId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n getBuyerName: (email: string) => void,\r\n getTotalCount: (email: string) => void,\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { \r\n match: {\r\n params: {\r\n email: string,\r\n }\r\n }\r\n}\r\n\r\nconst WarrantiesForBuyer: React.FC = props => {\r\n\r\n useEffect(() => {\r\n const { email } = props.match.params;\r\n ReactGA.pageview(\"Admin | jamstva za kupca\");\r\n props.getWarrantiesForBuyer(email);\r\n props.getCarData();\r\n props.getBuyerName(email);\r\n }, []);\r\n\r\n const goToEditWarranty = (overviewData: IAdminAttrs) => {\r\n props.editWarranty(overviewData.warranty.warrantyId, overviewData.warranty.carId)\r\n }\r\n\r\n const viewWarranty = (dataRow: IAdminAttrs) => {\r\n props.viewWarranty(dataRow.warranty.warrantyId, dataRow.warranty.carId)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n allWarranties: state.getAdminTableData,\r\n carData: state.carData.data,\r\n buyer: state.carBuyer,\r\n isCarDetailsMissing: state.isCarDetailsMissing.isCarDetailsMissing,\r\n buyerName: state.buyerName.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getWarrantiesForBuyer: (email: string) => dispatch({\r\n type: ActionTypes.GET_WARRANTIES_FOR_BUYER,\r\n payload: { email }\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getTotalCount: (email: string) => dispatch({\r\n type: ActionTypes.GET_WARRANTY_ADMIN_BUYER_TABLE_TOTAL_COUNT,\r\n payload: email\r\n }),\r\n editWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n viewWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n goToDamagePage: (carId: number, warrantyId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/damage/' + carId + \"/\" + warrantyId }\r\n })\r\n }, \r\n sellCar: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SELL_CAR,\r\n payload: buyer\r\n }),\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => dispatch({\r\n type: ActionTypes.EDIT_MISSING_CAR_DETAILS,\r\n payload: missingCarDetails\r\n }),\r\n getBuyerData: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_CAR_ID,\r\n payload: { carId, warrantyId }\r\n }),\r\n getBuyerByOIB: (oib: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_OIB,\r\n payload: oib\r\n }),\r\n getBuyerByEmail: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_EMAIL,\r\n payload: email\r\n }),\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => dispatch({\r\n type: ActionTypes.SET_IS_MISSING_CAR_DETAILS,\r\n payload: { isCarDetailsMissing: isCarDetailsMissing }\r\n }),\r\n getBuyerName: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_NAME,\r\n payload: { email }\r\n }),\r\n \r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantiesForBuyer);","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Grid, Modal, Paper, Box, Button } from \"@material-ui/core\";\r\nimport styles from \"./adminTable.module.scss\";\r\nimport stylesEmailModal from '../forms/buyerForm/buyerEmailModal.module.scss';\r\nimport MaterialTable from \"material-table\";\r\nimport Chip from '@material-ui/core/Chip';\r\nimport IAdminAttrs from \"../../types/IAdminAttrs\";\r\nimport IBuyerProps from \"../../types/IBuyerProps\";\r\nimport IMissingCarDetailsProps from \"../../types/IMissingCarDetailsProps\";\r\nimport WarrantyStatusChecker from \"../../utils/warrantyStatusChecker\"\r\nimport WarrantyStatus from \"../../domain/enums/WarrantyStatus\";\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\nimport { CarStatus } from \"../../domain/enums/CarStatus\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport PictureAsPdf from '@material-ui/icons/PictureAsPdf';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport { List, ListItemIcon } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { warrantyPdf } from '../../constants/apiRoutes';\r\nimport { numeral } from '../../utils/AppFormatter';\r\nimport IWarrantyOverview from '../../types/IWarrantyOverview';\r\nimport { initialBuyerProp } from '../../redux/reducers/carReducer';\r\nimport MissingCarDetailsForm from '../forms/missingCarDetailsForm/MissingCarDetailsForm';\r\nimport { BuyerForm } from '../forms/buyerForm/BuyerForm';\r\nimport { BuyerEmailModal } from '../forms/buyerForm/BuyerEmailModal';\r\n\r\ninterface IProps {\r\n rows: { data: IAdminAttrs[], loading: boolean },\r\n viewWarranty: (rowData: IAdminAttrs) => void,\r\n goToEditWarranty: (rowData: IAdminAttrs) => void,\r\n goToDamagePage: (carId: number, warrantyId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n buyer: IBuyerProps,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n isCarDetailsMissing: boolean,\r\n sellerName?: string\r\n}\r\n\r\nconst AdminSellerWarrantyTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n var x = 1;\r\n\r\n const [showBuyerModal, setShowBuyerModal] = useState(false);\r\n const [showCheckBuyerEmailModal, setShowCheckBuyerEmailModal] = useState(false);\r\n const [sellingWarrantyId, changeSellingWarrantyId] = useState();\r\n const [isWarrantyEditable, setIsWarrantyEditable] = useState(true);\r\n const [carIsSold, setCarIsSold] = useState(false);\r\n const [carBuyer, setCarBuyer] = useState(props.buyer);\r\n const [buyerEmail, setBuyerEmail] = useState(\"\");\r\n const [dynamicTitle, setDynamicTitle] = useState(\"Pregled svih aktivnih jamstva\");\r\n\r\n useEffect(() => {\r\n // car is for sale and data from backend are available\r\n if (Object.keys(props.buyer).length && sellingWarrantyId) {\r\n setCarBuyer(props.buyer);\r\n setShowBuyerModal(true);\r\n }\r\n if (props.buyer.carSoldSuccess) {\r\n setShowBuyerModal(false);\r\n updateDashboard();\r\n }\r\n }, [props.buyer])\r\n\r\n useEffect(() => {\r\n if (props.sellerName && props.sellerName !== \"\") {\r\n setDynamicTitle(`Pregled svih aktivnih jamstva trgovca ${props.sellerName}`)\r\n }\r\n }, [props.sellerName])\r\n\r\n\r\n\r\n const mapPropsToTable = (): IAdminAttrs[] => {\r\n let newRows = new Array();\r\n props.rows.data.forEach((row: IAdminAttrs) => {\r\n const viewOrUpdate = WarrantyStatusChecker.AdminViewOrUpdate(row.warranty.warrantyStatus);\r\n\r\n let newRow: IAdminAttrs = {\r\n ...row,\r\n warranty: {\r\n ...row.warranty,\r\n warrantyStatus: t(row.warranty.warrantyStatus),\r\n carStatus: t(row.warranty.carStatus),\r\n },\r\n damage_action: 'Šteta',\r\n warranty_action: viewOrUpdate ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n const editWarranty = (rowData: IAdminAttrs): void => {\r\n props.goToEditWarranty(rowData)\r\n }\r\n const viewWarranty = (rowData: IAdminAttrs): void => {\r\n props.viewWarranty(rowData)\r\n };\r\n\r\n function actionButton(rowData: IAdminAttrs) {\r\n const editButton = \r\n return (\r\n editButton\r\n )\r\n }\r\n\r\n function damageButton(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const shouldDisable = propsRow.warranty.carStatus === CarStatus.Available ||\r\n (propsRow.warranty.warrantyStatus !== WarrantyStatus.Approved && propsRow.warranty.warrantyStatus !== WarrantyStatus.Active)\r\n return \r\n }\r\n\r\n function chip(rowData: IAdminAttrs) {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const className = WarrantyStatusChecker.ButtonClassName(propsRow.warranty.warrantyStatus);\r\n return \r\n }\r\n const findByWarrantyId = (id: number): IAdminAttrs => {\r\n return props.rows.data.filter((row: IAdminAttrs) => row.warranty.warrantyId === id)[0];\r\n }\r\n\r\n const carStatus = (rowData: IAdminAttrs) => {\r\n const isSold = rowData.warranty.carStatus === CarStatus.Sold || (rowData.warranty.carStatus === \"Prodano\");\r\n return (\r\n
\r\n {rowData.warranty.carStatus}\r\n {isSold &&\r\n \r\n \r\n }\r\n
);\r\n }\r\n\r\n const showSellCarForm = (warrantyId: number | any, isCarAvailable: boolean) => {\r\n changeSellingWarrantyId(warrantyId);\r\n setCarIsSold(!isCarAvailable)\r\n const adminData = props.rows.data.find((a: IAdminAttrs) => a.warranty.warrantyId === warrantyId);\r\n if (!isCarAvailable) {\r\n if (adminData) props.getBuyerData(adminData.warranty.carId, adminData.warranty.warrantyId);\r\n setShowCheckBuyerEmailModal(false);\r\n } else {\r\n setCarBuyer({ ...initialBuyerProp, warrantyId });\r\n setShowCheckBuyerEmailModal(true);\r\n }\r\n if (adminData) {\r\n setIsWarrantyEditable(adminData.warranty.warrantyStatus !== WarrantyStatus.Active)\r\n props.setCarDetailsMissing(adminData.warranty.arrivedFromNjuskalo && adminData.warranty.car.chassisNumber.length !== 17 || (adminData.warranty.car.chassisNumber.toUpperCase() === 'XXXXXXXXXXXXXXXXX' && adminData.warranty.car.chassisNumber.length === 17));\r\n }\r\n }\r\n\r\n const sellCar = (rowData: IWarrantyOverview): void => showSellCarForm(rowData.warrantyId, rowData.carStatus == CarStatus.Available);\r\n\r\n const carButton = (rowData: IAdminAttrs) => {\r\n const propsRow = findByWarrantyId(rowData.warranty.warrantyId);\r\n const isAvailable = propsRow.warranty.carStatus === CarStatus.Available;\r\n const warrantyApproved = propsRow.warranty.warrantyStatus === WarrantyStatus.Approved ||\r\n propsRow.warranty.warrantyStatus === WarrantyStatus.Active;\r\n return (\r\n
\r\n ) => sellCar(propsRow.warranty)}\r\n disabled={!warrantyApproved}\r\n variant=\"contained\"\r\n size=\"small\"\r\n >\r\n {isAvailable ? 'Prodaj' : 'Kupac'}\r\n \r\n
);\r\n }\r\n\r\n\r\n const buyerSubmit = (buyer: IBuyerProps) => {\r\n buyer.warrantyId = sellingWarrantyId;\r\n buyer.buyerEditing = carIsSold;\r\n props.sellCar(buyer);\r\n }\r\n\r\n const buyerEmailSubmit = (email: string) => {\r\n setBuyerEmail(email);\r\n props.getBuyerByEmail(email);\r\n }\r\n\r\n const updateDashboard = () => {\r\n props.rows.data.forEach((a: IAdminAttrs) => {\r\n if (a.warranty.warrantyId === sellingWarrantyId) {\r\n a.warranty.carStatus = CarStatus.Sold;\r\n changeSellingWarrantyId(undefined);\r\n }\r\n })\r\n }\r\n\r\n const damageWarrantyButton = (rowData: IAdminAttrs) => (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n carStatus(rowData) },\r\n { title: 'Datum prodaje', field: 'warranty.validFrom' },\r\n {\r\n title: 'Status jamstva',\r\n field: 'warranty.warrantyStatus',\r\n render: (rowData: IAdminAttrs) => chip(rowData)\r\n },\r\n {\r\n title: 'Akcija jamstva',\r\n field: \"warranty_action\",\r\n render: (rowData: IAdminAttrs) => actionButton(rowData)\r\n },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damage_action\",\r\n render: (rowData: IAdminAttrs) => damageButton(rowData)\r\n },\r\n {\r\n title: 'Prodaja',\r\n render: (rowData: IAdminAttrs) => carButton(rowData)\r\n },\r\n {\r\n title: 'Pregled šteta',\r\n render: (rowData: IAdminAttrs) => damageWarrantyButton(rowData)\r\n }\r\n\r\n ]}\r\n options={{\r\n filtering: true,\r\n }}\r\n data={[...mapPropsToTable()]}\r\n />\r\n {showBuyerModal &&\r\n \r\n setShowBuyerModal(false)}>\r\n \r\n
\r\n setShowBuyerModal(false)} submit={buyerSubmit} buyerEmail={buyerEmail} {...props} buyer={carBuyer}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n showCheckBuyerEmailModal &&\r\n \r\n setShowCheckBuyerEmailModal(false)}>\r\n \r\n
\r\n setShowCheckBuyerEmailModal(false)} submitEmailModal={buyerEmailSubmit} {...props}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default AdminSellerWarrantyTable;\r\n","import React, { useEffect } from 'react';\r\nimport AdminSellerWarrantyTable from '../../components/tables/AdminSellerWarrantyTable'\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IAdminAttrs from './../../types/IAdminAttrs'\r\nimport { connect } from 'react-redux';\r\nimport { GetWarrantyForSellerAction, GetWarrantyAdminSellerTableTotalCountAction } from '../../redux/actions/WarrantyAction';\r\nimport { GetSellerNameAction } from '../../redux/actions/DamageAction';\r\nimport { Grid } from '@material-ui/core';\r\nimport ICarData from '../../types/ICarData';\r\nimport { GetCarDataAction } from '../../redux/actions/CarAction';\r\nimport ReactGA from 'react-ga';\r\nimport IMissingCarDetailsProps from '../../types/IMissingCarDetailsProps';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport ISellerProps from '../../types/ISellerProps';\r\n\r\ninterface IStateToProps {\r\n allWarranties: { data: IAdminAttrs[], loading: boolean },\r\n carData: ICarData,\r\n buyer: IBuyerProps,\r\n isCarDetailsMissing: boolean,\r\n sellerName: string\r\n}\r\n\r\n\r\ninterface IDispatchToProps {\r\n getWarrantiesForSeller: (id: string) => void\r\n getCarData: () => void\r\n viewWarranty: (warrantyId: number, carId: number) => void\r\n editWarranty: (warrantyId: number, carId: number) => void,\r\n goToDamagePage: (carId: number, warrantyId: number) => void,\r\n sellCar: (buyer: IBuyerProps) => void,\r\n getBuyerByOIB: (oib: string) => void,\r\n getBuyerByEmail: (email: string) => void,\r\n getBuyerData: (carId: number, warrantyId: number) => void,\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => void,\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => void,\r\n getSellerName: (id: string) => void,\r\n getTotalCount: (id: string) => void,\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps {\r\n match: {\r\n params: {\r\n id: string,\r\n }\r\n }\r\n}\r\n\r\nconst WarrantiesForSeller: React.FC = props => {\r\n\r\n useEffect(() => {\r\n const { id } = props.match.params;\r\n ReactGA.pageview(\"Admin | jamstva za trgovca\");\r\n props.getWarrantiesForSeller(id);\r\n props.getCarData();\r\n props.getSellerName(id);\r\n }, []);\r\n\r\n const goToEditWarranty = (overviewData: IAdminAttrs) => {\r\n props.editWarranty(overviewData.warranty.warrantyId, overviewData.warranty.carId)\r\n }\r\n\r\n const viewWarranty = (dataRow: IAdminAttrs) => {\r\n props.viewWarranty(dataRow.warranty.warrantyId, dataRow.warranty.carId)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n allWarranties: state.getAdminTableData,\r\n carData: state.carData.data,\r\n buyer: state.carBuyer,\r\n isCarDetailsMissing: state.isCarDetailsMissing.isCarDetailsMissing,\r\n sellerName: state.sellerName.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getWarrantiesForSeller: (id: string) => dispatch({\r\n type: ActionTypes.GET_WARRANTIES_FOR_SELLER,\r\n payload: { id }\r\n }),\r\n getCarData: () => dispatch({\r\n type: ActionTypes.GET_CAR_DATA\r\n }),\r\n getTotalCount: (id: string) => dispatch({\r\n type: ActionTypes.GET_WARRANTY_ADMIN_SELLER_TABLE_TOTAL_COUNT,\r\n payload: id\r\n }),\r\n editWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n viewWarranty: (warrantyId: number, carId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n },\r\n goToDamagePage: (carId: number, warrantyId: number) => {\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/damage/' + carId + \"/\" + warrantyId}\r\n })\r\n },\r\n sellCar: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SELL_CAR,\r\n payload: buyer\r\n }),\r\n editMissingCarDetails: (missingCarDetails: IMissingCarDetailsProps) => dispatch({\r\n type: ActionTypes.EDIT_MISSING_CAR_DETAILS,\r\n payload: missingCarDetails\r\n }),\r\n getBuyerData: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_CAR_ID,\r\n payload: { carId, warrantyId }\r\n }),\r\n getBuyerByOIB: (oib: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_OIB,\r\n payload: oib\r\n }),\r\n getBuyerByEmail: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_BY_EMAIL,\r\n payload: email\r\n }),\r\n setCarDetailsMissing: (isCarDetailsMissing: boolean) => dispatch({\r\n type: ActionTypes.SET_IS_MISSING_CAR_DETAILS,\r\n payload: { isCarDetailsMissing: isCarDetailsMissing }\r\n }),\r\n getSellerName: (id: string) => dispatch({\r\n type: ActionTypes.GET_SELLER_NAME,\r\n payload: { id }\r\n }),\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantiesForSeller);","import React, { ChangeEvent } from 'react';\r\nimport { Grid, List, ListItem, ListItemText, ListItemIcon, Divider, ListItemSecondaryAction, IconButton, Box } from '@material-ui/core';\r\nimport { Button } from '@material-ui/core';\r\nimport styles from './fileUpload.module.scss';\r\nimport { IFile } from './../../../types/IFile';\r\nimport DownloadIcon from '@material-ui/icons/CloudDownload';\r\nimport UploadIcon from '@material-ui/icons/CloudUpload';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport IAzureFile from '../../../types/IAzureFile';\r\n\r\ninterface IProps {\r\n filesChange: (files?: IFile[], azureFiles?: IAzureFile[]) => void,\r\n files?: Array,\r\n azureFiles?: Array,\r\n}\r\n\r\nclass FileUpload extends React.Component{\r\n state = {\r\n files: this.props.files,\r\n azureFiles: this.props.azureFiles\r\n };\r\n\r\n static getDerivedStateFromProps(props: IProps, state: IProps): IProps {\r\n if (props.azureFiles && !state.azureFiles) return { ...state, azureFiles: props.azureFiles }\r\n return state\r\n }\r\n\r\n\r\n private manageUploadedFile(base64: string | ArrayBuffer | null, file: File) {\r\n const newFile: IFile = {\r\n name: file.name,\r\n file: file,\r\n data: base64\r\n }\r\n const files = this.state.files ? this.state.files.concat(newFile) : (new Array()).concat(newFile);\r\n this.props.filesChange(files, undefined);\r\n this.setState({ files });\r\n }\r\n\r\n private handleFileChange(event: ChangeEvent) {\r\n event.persist();\r\n if (event.target.files) Array.from(event.target.files).forEach((file: File) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n // clear input value\r\n const input: any = document.getElementById(\"file\");\r\n input.value = '';\r\n\r\n this.manageUploadedFile(reader.result, file)\r\n }\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n private deleteFile(file?: IFile, azureFile?: IAzureFile) {\r\n if (file) {\r\n const files = this.state.files!.filter((f: IFile) => f.name !== file.name);\r\n this.props.filesChange(files, undefined);\r\n this.setState({ files })\r\n }\r\n if (azureFile) {\r\n const azureFiles = this.state.azureFiles!.filter((f: IAzureFile) => f.url !== azureFile.url);\r\n this.props.filesChange(undefined, azureFiles);\r\n this.setState({ azureFiles })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.files && this.state.files.map((file: IFile) =>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.deleteFile(file, undefined)} edge=\"end\" aria-label=\"delete\">\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {this.state.azureFiles && this.state.azureFiles.map((file: IAzureFile) =>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.deleteFile(undefined, file)} edge=\"end\" aria-label=\"delete\">\r\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 FileUpload;","import React, { useEffect } from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel } from '@material-ui/core';\r\n\r\nconst HAK = 'HAK';\r\n\r\ninterface IProps {\r\n isIndependentChanged: (independent: boolean) => void,\r\n independent: boolean\r\n}\r\n\r\nexport const ServiceRadioButtons: React.FC = (props: IProps) => {\r\n const [isIndependent, setIsIndependent] = React.useState(props.independent);\r\n\r\n useEffect(() => setIsIndependent(props.independent), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const independent = (event.target as HTMLInputElement).value !== HAK;\r\n setIsIndependent(independent);\r\n props.isIndependentChanged(independent);\r\n }\r\n\r\n return (\r\n \r\n Servis:\r\n \r\n }\r\n label=\"HAK\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"Samostalan\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControl, FormLabel, RadioGroup, FormControlLabel } from '@material-ui/core';\r\n\r\nconst YES = 'yes', NO = 'no';\r\n\r\ninterface IProps {\r\n warrantyCoversDamage: (damageCovered: boolean) => void,\r\n damageCovered: boolean\r\n}\r\n\r\nexport const WarrantyRadioButtons: React.FC = (props: IProps) => {\r\n const [isDamageCovered, setIsDamageCovered] = React.useState(props.damageCovered);\r\n\r\n useEffect(() => setIsDamageCovered(props.damageCovered), [props]);\r\n\r\n function handleChange(event: React.ChangeEvent) {\r\n const damageCovered = (event.target as HTMLInputElement).value === YES;\r\n setIsDamageCovered(damageCovered);\r\n props.warrantyCoversDamage(damageCovered);\r\n }\r\n\r\n return (\r\n \r\n Jamstvo pokriva štetu:\r\n \r\n }\r\n label=\"DA\"\r\n labelPlacement=\"start\"\r\n />\r\n }\r\n label=\"NE\"\r\n labelPlacement=\"start\"\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Grid, Button } from '@material-ui/core';\r\n\r\nexport const BackButton: React.FC = () => {\r\n return \r\n \r\n \r\n \r\n \r\n}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport styles from './NewDamageModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n carId?: number,\r\n warrantyId?: number,\r\n reportedDamages?: number,\r\n approvedDamages?: number,\r\n declinedDamages?: number,\r\n solvedDamages?: number\r\n}\r\n\r\nexport class NewDamageModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Auto ima {this.props.reportedDamages} prijavljenih šteta.\r\n \r\n \r\n Auto ima {this.props.approvedDamages} odobrenih šteta.\r\n \r\n \r\n Auto ima {this.props.declinedDamages} odbijenih šteta.\r\n \r\n \r\n Auto ima {this.props.solvedDamages} riješenih šteta.\r\n \r\n \r\n Jeste li sigurni da želite kreirati novu štetu?\r\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}","import React from 'react';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport styles from './NewDamageModal.module.scss';\r\n\r\ninterface IProps {\r\n closeModal: () => void,\r\n submitYesModal: () => void\r\n}\r\n\r\nexport class DeleteDamageModal extends React.Component {\r\n\r\n\r\n handleSubmitYes = () => {\r\n this.props.submitYesModal();\r\n this.props.closeModal();\r\n }\r\n\r\n handleSubmitNo = () => {\r\n this.props.closeModal();\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Jeste li sigurni da želite obrisati štetu?\r\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}","import React, { Component } from 'react';\r\nimport { IDamageProps } from '../../../types/Damage/IDamageProps';\r\nimport styles from './damageForm.module.scss';\r\nimport { Paper, Modal, Grid, TextField, Button, Select, MenuItem, FormControl, InputLabel, Typography, Tooltip, Box } from '@material-ui/core';\r\nimport IStatus from './../../../types/IStatus';\r\nimport { Trans } from 'react-i18next';\r\nimport FileUpload from './fileUpload';\r\nimport { IFile } from '../../../types/IFile';\r\nimport IAzureFile from '../../../types/IAzureFile';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport FormConstants from './../../../constants/FormConstants';\r\nimport { DamageStatus } from '../../../domain/enums/DamageStatus';\r\nimport NumberFormat from 'react-number-format';\r\nimport { getNumberFromThousandsString } from '../../../utils/Converter';\r\nimport { ServiceRadioButtons } from './damageServiceRadioButtons';\r\nimport { WarrantyRadioButtons } from './damageWarrantyRadioButtons';\r\nimport { BackButton } from './../../buttons/BackButton';\r\nimport { Link } from 'react-router-dom';\r\nimport { NewDamageModal } from '../../../components/forms/damageForm/NewDamageModal';\r\nimport { DeleteDamageModal } from '../../../components/forms/damageForm/DeleteDamageModal';\r\n\r\n\r\ninterface IProps extends IDamageProps {\r\n statuses?: IStatus[],\r\n submit: (data: IDamageProps) => void,\r\n fileNotUploadedMessage: () => void,\r\n deleteDamage?: (damageId: number) => void\r\n}\r\n\r\ninterface IState extends IProps {\r\n isServiceIndependent?: boolean,\r\n warrantyCoversDamage?: boolean,\r\n showModal?: boolean,\r\n showDeleteModal?: boolean\r\n}\r\n\r\nexport class DamageForm extends React.Component{\r\n state: IState = { ...this.props }\r\n\r\n private handleSelectChange(el: any) {\r\n const { value } = el.target;\r\n const name = this.state.statuses!.find((s: IStatus) => s.id === value)!.name;\r\n if (value >= 0) this.setState({ status: { name, id: value } });\r\n }\r\n\r\n private filesChange(files?: IFile[], azureFiles?: IAzureFile[]) {\r\n if (files) this.setState({ files })\r\n if (azureFiles) this.setState({ azureFiles })\r\n }\r\n\r\n private handleChange(el: any) {\r\n const name = el.target.name;\r\n const value = el.target.value;\r\n this.setState({ [name]: name === 'cost' ? getNumberFromThousandsString(value) : value });\r\n }\r\n\r\n private onSubmit(state: IState, damageHasFiles: number | undefined) {\r\n if (damageHasFiles && damageHasFiles > 0)\r\n this.props.submit({\r\n description: state.description,\r\n buyer: state.buyer,\r\n seller: state.seller,\r\n status: state.status,\r\n id: state.id,\r\n cost: getNumberFromThousandsString(state.cost!),\r\n files: state.files,\r\n azureFiles: state.azureFiles,\r\n isServiceIndependent: state.isServiceIndependent,\r\n warrantyCoversDamage: state.warrantyCoversDamage,\r\n carDistance: getNumberFromThousandsString(state.carDistance!),\r\n serviceHandler: state.serviceHandler!,\r\n radniNalog: state.radniNalog,\r\n zakljucak: state.zakljucak\r\n })\r\n else this.props.fileNotUploadedMessage();\r\n }\r\n\r\n private showModal() {\r\n this.setState({ showModal: true });\r\n }\r\n\r\n private showDeleteModal() {\r\n this.setState({ showDeleteModal: true });\r\n }\r\n\r\n private handleDelete() {\r\n if (this.props.deleteDamage && this.state.id) {\r\n this.props.deleteDamage(this.state.id);\r\n }\r\n }\r\n\r\n render() {\r\n //default status value\r\n if (!this.state.status) this.setState({ status: this.state.statuses![0] })\r\n\r\n\r\n const damageHasFiles = (this.state.files && this.state.files.length)\r\n || (this.state.azureFiles && this.state.azureFiles.length);\r\n\r\n\r\n\r\n return (\r\n \r\n this.onSubmit(this.state, damageHasFiles)}\r\n >\r\n \r\n \r\n \r\n Kupac\r\n \r\n {this.state.buyer!.legalEntity ?\r\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 Auto\r\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 Prodavač\r\n \r\n {this.state.seller!.legalEntityBool ?\r\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 {window.location.pathname == \"/damage/\" + this.state.carId + '/' + this.state.warrantyId ?\r\n \r\n KREIRAJTE NOVU ŠTETU\r\n \r\n :\r\n \r\n UREDITE POSTOJEĆU ŠTETU\r\n \r\n }\r\n {window.location.pathname != \"/damage/\" + this.state.carId + '/' + this.state.warrantyId &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n this.setState({\r\n isServiceIndependent: isIndependent\r\n })} independent={this.state.isServiceIndependent || false} />\r\n \r\n \r\n \r\n \r\n \r\n this.setState({\r\n warrantyCoversDamage: isCovered\r\n })} damageCovered={this.state.warrantyCoversDamage || false} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Status prijave štete\r\n \r\n {this.state.statuses!.map((status: IStatus) =>\r\n {status.name})}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.status && (this.state.status.id === 3 || this.state.status.id === 2) ?\r\n \r\n \r\n \r\n :\r\n null}\r\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 {window.location.pathname == \"/damage/\" + this.state.carId + '/' + this.state.warrantyId ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n \r\n {this.state.id ?\r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n {\r\n this.state.showModal &&\r\n \r\n this.setState({ showModal: false })}>\r\n \r\n
\r\n this.setState({ showModal: false })} carId={this.state.carId} warrantyId={this.state.warrantyId} reportedDamages={this.state.noOfReportedDamages} approvedDamages={this.state.noOfApprovedDamages}\r\n declinedDamages={this.state.noOfDeclinedDamages} solvedDamages={this.state.noOfSolvedDamages}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {this.state.showDeleteModal &&\r\n \r\n this.setState({ showDeleteModal: false })}>\r\n \r\n
\r\n this.setState({ showDeleteModal: false })} submitYesModal={this.handleDelete.bind(this)}>\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n }\r\n}","import React, { useEffect } from 'react';\r\nimport { DamageForm } from '../../components/forms/damageForm/damageForm';\r\nimport { IApplicationState } from './../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport IUrl from '../../types/IUrl';\r\nimport { GetDamageAction, GetDamageStatusesAction, SaveDamageAction, GetActiveDamageAction, DeleteDamageAction } from './../../redux/actions/DamageAction';\r\nimport ActionTypes from './../../redux/actions/ActionTypes';\r\nimport IStatus from './../../types/IStatus';\r\nimport { LinearProgress } from '@material-ui/core';\r\nimport { ShowNotificationAction } from '../../redux/actions/ActionNotificationAction';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\n\r\n\r\n\r\ninterface IStateToProps {\r\n damage: IDamageProps,\r\n statuses: IStatus[]\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getActiveDamage: (carId: number, warrantyId: number) => void,\r\n getDamage: (carId: number, damageId: number) => void,\r\n getDamageStatuses: () => void,\r\n saveDamage: (data: IDamageProps) => void,\r\n fileNotUploadedMessage: () => void,\r\n deleteDamage: (damageId: number) => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {\r\n match: {\r\n params: {\r\n carId: number,\r\n warrantyId: number,\r\n damageId?: number\r\n }\r\n }\r\n}\r\n\r\nconst DamagePage: React.FC = (props: IProps) => {\r\n useEffect(() => {\r\n const { carId, damageId, warrantyId } = props.match.params;\r\n\r\n if (damageId) props.getDamage(carId, damageId);\r\n else props.getActiveDamage(carId, warrantyId);\r\n\r\n props.getDamageStatuses();\r\n }, []);\r\n\r\n const saveDamage = (data: IDamageProps) => {\r\n props.saveDamage({ ...data, carId: props.match.params.carId, warrantyId: props.match.params.warrantyId })\r\n }\r\n\r\n const dataLoaded = props.damage && props.damage.buyer && props.statuses && props.statuses.length;\r\n\r\n return (dataLoaded ?\r\n \r\n :
\r\n\r\n )\r\n}\r\n\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damage: state.carDamage.damage,\r\n statuses: state.carDamage.statuses\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamage: (carId: number, damageId: number) => dispatch({\r\n type: ActionTypes.GET_DAMAGE,\r\n payload: { carId, damageId }\r\n }),\r\n getActiveDamage: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_ACTIVE_DAMAGE,\r\n payload: { carId, warrantyId },\r\n }),\r\n getDamageStatuses: () => dispatch({\r\n type: ActionTypes.GET_DAMAGE_STATUSES\r\n }),\r\n saveDamage: (data: IDamageProps) => dispatch({\r\n type: ActionTypes.SAVE_DAMAGE,\r\n payload: data\r\n }),\r\n fileNotUploadedMessage: () => dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: 'Molimo učitajte dokument',\r\n style: NotificationStyle.Error\r\n }\r\n }),\r\n deleteDamage: (damageId: number) => dispatch({\r\n type: ActionTypes.DELETE_DAMAGE,\r\n payload: { damageId }\r\n }),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamagePage); \r\n","import React, { useEffect } from 'react';\r\nimport { DamageForm } from '../../components/forms/damageForm/damageForm';\r\nimport { IApplicationState } from './../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IDamageProps } from '../../types/Damage/IDamageProps';\r\nimport { GetDamageStatusesAction, SaveDamageAction, GetActiveDamageAction } from './../../redux/actions/DamageAction';\r\nimport ActionTypes from './../../redux/actions/ActionTypes';\r\nimport IStatus from './../../types/IStatus';\r\nimport { LinearProgress } from '@material-ui/core';\r\nimport { ShowNotificationAction } from '../../redux/actions/ActionNotificationAction';\r\nimport { NotificationStyle } from '../../domain/enums/NotificationStyle';\r\n\r\ninterface IStateToProps {\r\n damage: IDamageProps,\r\n statuses: IStatus[]\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getActiveDamage: (carId: number, warrantyId: number) => void,\r\n getDamageStatuses: () => void,\r\n saveDamage: (data: IDamageProps) => void,\r\n fileNotUploadedMessage: () => void\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {\r\n match: {\r\n params: {\r\n carId: number,\r\n warrantyId: number\r\n }\r\n }\r\n}\r\n\r\nconst NewDamagePage: React.FC = (props: IProps) => {\r\n useEffect(() => {\r\n const { carId, warrantyId } = props.match.params;\r\n\r\n props.getActiveDamage(carId, warrantyId);\r\n\r\n props.getDamageStatuses();\r\n }, []);\r\n\r\n const saveDamage = (data: IDamageProps) => {\r\n props.saveDamage({ ...data, carId: props.match.params.carId, warrantyId: props.match.params.warrantyId })\r\n }\r\n\r\n const dataLoaded = props.damage && props.damage.buyer && props.statuses && props.statuses.length;\r\n\r\n return (dataLoaded ?\r\n \r\n :
\r\n\r\n )\r\n}\r\n\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damage: state.carDamage.damage,\r\n statuses: state.carDamage.statuses\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getActiveDamage: (carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_ACTIVE_DAMAGE,\r\n payload: { carId, warrantyId }\r\n }),\r\n getDamageStatuses: () => dispatch({\r\n type: ActionTypes.GET_DAMAGE_STATUSES\r\n }),\r\n saveDamage: (data: IDamageProps) => dispatch({\r\n type: ActionTypes.SAVE_DAMAGE,\r\n payload: data\r\n }),\r\n fileNotUploadedMessage: () => dispatch({\r\n type: ActionTypes.NOTIFICATION_SHOW,\r\n payload: {\r\n message: 'Molimo učitajte dokument',\r\n style: NotificationStyle.Error\r\n }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(NewDamagePage); \r\n","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport IDamageAdminTable from '../../types/Damage/IDamageAdminTable';\r\nimport styles from './damagesAdminTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\n\r\ninterface IProps {\r\n rows: IDamageAdminTable[],\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n totalCount: number,\r\n}\r\n\r\nconst DamagesAdminTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageAdminTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageAdminTable) => {\r\n const isApproved = row.status === DamageStatus.Approved;\r\n const isSolved = row.status === DamageStatus.Solved;\r\n let newRow: IDamageAdminTable = {\r\n ...row,\r\n status: t(row.status),\r\n damageAction: isApproved || isSolved ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageAdminTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n\r\n function damageButton(rowData: IDamageAdminTable) {\r\n const propsRow = findById(rowData.id);\r\n const isApproved = propsRow.status === DamageStatus.Approved;\r\n const isSolved = propsRow.status === DamageStatus.Solved;\r\n return \r\n }\r\n\r\n const findById = (id: number): IDamageAdminTable => {\r\n return props.rows.filter((row: IDamageAdminTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Troškovi (EUR) štete', field: 'cost' },\r\n { title: 'Datum prijave', field: 'reported' },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damageAction\",\r\n render: (rowData: IDamageAdminTable) => damageButton(rowData)\r\n }\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesAdminTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport IDamageTable from '../../types/Damage/IDamageAdminTable';\r\nimport DamagesTable from '../../components/tables/DamagesAdminTable';\r\nimport { GetDamagesAdminAction, GetDamagesAdminTotalCountAction } from '../../redux/actions/DamageAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageTable[],\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: () => void,\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n getTotalCount: () => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst DamageAdminOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getDamages();\r\n props.getTotalCount();\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.admin,\r\n totalCount: state.damagesAdminTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: () => dispatch({\r\n type: ActionTypes.GET_DAMAGES_ADMIN\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_DAMAGES_ADMIN_TOTAL_COUNT\r\n }),\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/damage/${carId}/${warrantyId}/${damageId}` }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageAdminOverview);","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Paper, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ICarAdminTable from \"../../types/ICarAdminTable\";\r\nimport styles from \"./carsAdminTable.module.scss\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n getCars: (page: number, pageSize: number, filters: string) => void;\r\n rows: ICarAdminTable[];\r\n totalCount: number;\r\n goToCarDetails: (carId: number) => void;\r\n goToCarWarrantyDetails: (carId: number, warrantyId: string) => void;\r\n deactivate: (carId: number) => void;\r\n activate: (carId: number) => void;\r\n}\r\n\r\nconst CarsAdminTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"id\", value: \"\" },\r\n { key: \"chassisNumber\", value: \"\" },\r\n { key: \"warrantyId\", value: \"\" },\r\n { key: \"seller\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ICarAdminTable,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (\r\n event &&\r\n !event.currentTarget.baseURI.endsWith(\"damages\") &&\r\n !event.currentTarget.baseURI.includes(\"activate\")\r\n ) {\r\n if (rowData!.warrantyId) {\r\n //props.goToCarWarrantyDetails(rowData!.id!, rowData!.warrantyId!);\r\n\r\n window.open(\r\n \"/car/\" +\r\n rowData!.id! +\r\n \"/warranty/\" +\r\n rowData!.warrantyId! +\r\n \"/step=1\"\r\n );\r\n } else {\r\n // props.goToCarDetails(rowData!.id!);\r\n\r\n window.open(\"/car/\" + rowData!.id! + \"/step=1\");\r\n }\r\n }\r\n };\r\n\r\n const damagesButton = (id: number) => (\r\n \r\n \r\n \r\n );\r\n\r\n const activationButton = (id: number, active: string) =>\r\n active == \"DA\" ? (\r\n props.deactivate(id!)}\r\n >\r\n DEAKTIVIRAJ\r\n \r\n ) : (\r\n props.activate(id!)}\r\n >\r\n AKTIVIRAJ\r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const carId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"id\"\r\n )!.value;\r\n const chassisNumber = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"chassisNumber\"\r\n )!.value;\r\n const warrantyId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"warrantyId\"\r\n )!.value;\r\n const sellerName = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"seller\"\r\n )!.value;\r\n\r\n if (carId !== \"\") {\r\n newFilters = newFilters + \"CarId==\" + carId;\r\n }\r\n\r\n if (chassisNumber !== \"\") {\r\n newFilters = newFilters + \",Car.ChassisNumber@=*\" + chassisNumber;\r\n }\r\n\r\n if (warrantyId !== \"\") {\r\n newFilters = newFilters + \",WarrantyId==\" + warrantyId;\r\n }\r\n\r\n if (sellerName !== \"\") {\r\n newFilters = newFilters + \",Seller.LegalEntityName@=*\" + sellerName;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (carId !== \"\" && carId.length === 5) ||\r\n // (chassisNumber !== \"\" && chassisNumber.length === 17) ||\r\n // (warrantyId !== \"\" && warrantyId.length === 5) ||\r\n // (sellerName !== \"\" && sellerName.length > 2) ||\r\n // (sellerName === \"\" &&\r\n // chassisNumber === \"\" &&\r\n // carId === \"\" &&\r\n // warrantyId === \"\")\r\n // )\r\n // props.getCars(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getCars(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n \r\n row.risky! === true ? \"DA\" : \"NE\",\r\n },\r\n { title: \"Aktivan\", field: \"active\", filtering: false },\r\n {\r\n title: \"Štete\",\r\n field: \"damages\",\r\n filtering: false,\r\n render: (row: ICarAdminTable) => damagesButton(row.id!),\r\n },\r\n {\r\n title: \"Akcija\",\r\n field: \"activate\",\r\n filtering: false,\r\n render: (row: ICarAdminTable) =>\r\n activationButton(row.id!, row.active!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getCars(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getCars(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CarsAdminTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport ICarAdminTable from '../../types/ICarAdminTable';\r\nimport CarsAdminTable from '../../components/tables/CarsAdminTable';\r\nimport { GetCarsAdminAction, DeactivateCarAction, ActivateCarAction, GetCarsAdminTotalCountAction } from '../../redux/actions/CarAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n cars: ICarAdminTable[],\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getCars: (page: number, pageSize: number, filters: string) => void,\r\n getTotalCount: () => void,\r\n goToCarDetails: (carId: number) => void,\r\n goToCarWarrantyDetails: (carId: number, warrantyId: string) => void,\r\n deactivate: (carId: number) => void,\r\n activate: (carId: number) => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst CarAdminOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getCars(1, 10, \"\");\r\n props.getTotalCount();\r\n }, []);\r\n\r\n return (props.cars ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n cars: state.cars.data.admin, \r\n totalCount: state.carsAdminTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getCars: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN_TOTAL_COUNT\r\n }),\r\n goToCarDetails: (carId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/step=1\" }\r\n }),\r\n goToCarWarrantyDetails: (carId: number, warrantyId: string) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n }),\r\n deactivate: (carId: number) => dispatch({\r\n type: ActionTypes.DEACTIVATE_CAR,\r\n payload: { carId }\r\n }),\r\n activate: (carId: number) => dispatch({\r\n type: ActionTypes.ACTIVATE_CAR,\r\n payload: { carId }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarAdminOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport ICarSellerTable from '../../types/ICarSellerTable';\r\nimport styles from './carsAdminTable.module.scss';\r\n\r\ninterface IProps {\r\n rows: ICarSellerTable[],\r\n goToCarDetails: (carId: number, warrantyId: string) => void,\r\n}\r\n\r\nconst CarsSellerTable: React.FC = (props: IProps) => {\r\n\r\n const onRowClick = (event?: React.MouseEvent, rowData?: ICarSellerTable, toggleDetailPanel?: (panelIndex?: number) => void) => {\r\n if (event && !event.currentTarget.baseURI.endsWith(\"damages\") && !event.currentTarget.baseURI.includes(\"activate\")) {\r\n props.goToCarDetails(rowData!.id!, rowData!.warrantyId!);\r\n }\r\n }\r\n\r\n return \r\n \r\n \r\n}\r\n\r\nexport default CarsSellerTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport ICarSellerTable from '../../types/ICarSellerTable';\r\nimport CarsSellerTable from '../../components/tables/CarsSellerTable';\r\nimport { GetCarsSellerAction } from '../../redux/actions/CarAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n cars: ICarSellerTable[],\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getCars: () => void,\r\n goToCarDetails: (carId: number, warrantyId: string) => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst CarSellerOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getCars();\r\n }, []);\r\n\r\n return (props.cars ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n cars: state.cars.data.seller\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getCars: () => dispatch({\r\n type: ActionTypes.GET_CARS_SELLER\r\n }),\r\n goToCarDetails: (carId: number, warrantyId: string) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: warrantyId === 'Treba dodati' ? '/car/' + carId + \"/step=1\" : '/car/' + carId + \"/warranty/\" + warrantyId + \"/step=1\" }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarSellerOverview);","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Paper, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ICarAdminTable from \"../../types/ICarAdminTable\";\r\nimport styles from \"./carsAdminTable.module.scss\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ICarAdminTable[];\r\n getCarsOnlyCars: (page: number, pageSize: number, filters: string) => void;\r\n goToCarDetails: (carId: number) => void;\r\n deactivate: (carId: number) => void;\r\n activate: (carId: number) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst CarsAdminOnlyCarsTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"id\", value: \"\" },\r\n { key: \"chassisNumber\", value: \"\" },\r\n { key: \"seller\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ICarAdminTable,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (event && !event.currentTarget.baseURI.includes(\"activate\")) {\r\n //props.goToCarDetails(rowData!.id!);\r\n window.open(\"/car/\" + rowData!.id! + \"/step=1\");\r\n }\r\n };\r\n\r\n const activationButton = (id: number, active: string) =>\r\n active == \"DA\" ? (\r\n props.deactivate(id!)}\r\n >\r\n DEAKTIVIRAJ\r\n \r\n ) : (\r\n props.activate(id!)}\r\n >\r\n AKTIVIRAJ\r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const carId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"id\"\r\n )!.value;\r\n const chassisNumber = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"chassisNumber\"\r\n )!.value;\r\n const sellerName = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"seller\"\r\n )!.value;\r\n\r\n if (carId !== \"\") {\r\n newFilters = newFilters + \"CarId==\" + carId;\r\n }\r\n\r\n if (chassisNumber !== \"\") {\r\n newFilters = newFilters + \",Car.ChassisNumber@=*\" + chassisNumber;\r\n }\r\n\r\n if (sellerName !== \"\") {\r\n newFilters = newFilters + \",Seller.LegalEntityName@=*\" + sellerName;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (carId !== \"\" && carId.length === 5) ||\r\n // (chassisNumber !== \"\" && chassisNumber.length === 17) ||\r\n // (sellerName !== \"\" && sellerName.length > 2) ||\r\n // (sellerName === \"\" && chassisNumber === \"\" && carId === \"\")\r\n // )\r\n // props.getCarsOnlyCars(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n return (\r\n \r\n \r\n props.getCarsOnlyCars(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n \r\n activationButton(row.id!, row.active!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getCarsOnlyCars(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getCarsOnlyCars(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CarsAdminOnlyCarsTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport ICarAdminTable from '../../types/ICarAdminTable';\r\nimport { GetCarsAdminOnlyCarsAction, DeactivateCarAction, ActivateCarAction, GetCarsAdminOnlyCarsTotalCountAction } from '../../redux/actions/CarAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\nimport CarsAdminOnlyCarsTable from '../../components/tables/CarsAdminOnlyCarsTable';\r\n\r\ninterface IStateToProps {\r\n cars: ICarAdminTable[],\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getCarsOnlyCars: (page: number, pageSize: number, filters: string) => void,\r\n goToCarDetails: (carId: number) => void,\r\n deactivate: (carId: number) => void,\r\n activate: (carId: number) => void,\r\n getTotalCount: () => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst CarAdminOnlyCarsOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getCarsOnlyCars(1, 10, \"\");\r\n props.getTotalCount();\r\n }, []);\r\n\r\n return (props.cars ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n cars: state.cars.data.admin,\r\n totalCount: state.carsAdminOnlyCarsTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getCarsOnlyCars: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN_ONLY_CARS_TOTAL_COUNT\r\n }),\r\n goToCarDetails: (carId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/step=1\" }\r\n }),\r\n deactivate: (carId: number) => dispatch({\r\n type: ActionTypes.DEACTIVATE_CAR,\r\n payload: { carId }\r\n }),\r\n activate: (carId: number) => dispatch({\r\n type: ActionTypes.ACTIVATE_CAR,\r\n payload: { carId }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarAdminOnlyCarsOverview);","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Paper, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ICarAdminTable from \"../../types/ICarAdminTable\";\r\nimport styles from \"./carsAdminTable.module.scss\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ICarAdminTable[];\r\n getCarsSoldOnlyCars: (\r\n page: number,\r\n pageSize: number,\r\n filters: string\r\n ) => void;\r\n goToCarDetails: (carId: number) => void;\r\n deactivate: (carId: number) => void;\r\n activate: (carId: number) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst CarsAdminSoldOnlyCarsTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"id\", value: \"\" },\r\n { key: \"chassisNumber\", value: \"\" },\r\n { key: \"seller\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ICarAdminTable,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (event && !event.currentTarget.baseURI.includes(\"activate\")) {\r\n //props.goToCarDetails(rowData!.id!);\r\n window.open(\"/car/\" + rowData!.id! + \"/step=1\");\r\n }\r\n };\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const carId = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"id\"\r\n )!.value;\r\n const chassisNumber = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"chassisNumber\"\r\n )!.value;\r\n const sellerName = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"seller\"\r\n )!.value;\r\n\r\n if (carId !== \"\") {\r\n newFilters = newFilters + \"CarId==\" + carId;\r\n }\r\n\r\n if (chassisNumber !== \"\") {\r\n newFilters = newFilters + \",Car.ChassisNumber@=*\" + chassisNumber;\r\n }\r\n\r\n if (sellerName !== \"\") {\r\n newFilters = newFilters + \",Seller.LegalEntityName@=*\" + sellerName;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (carId !== \"\" && carId.length === 5) ||\r\n // (chassisNumber !== \"\" && chassisNumber.length === 17) ||\r\n // (sellerName !== \"\" && sellerName.length > 2) ||\r\n // (sellerName === \"\" && chassisNumber === \"\" && carId === \"\")\r\n // )\r\n // props.getCarsSoldOnlyCars(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n const activationButton = (id: number, active: string) =>\r\n active == \"DA\" ? (\r\n props.deactivate(id!)}\r\n >\r\n DEAKTIVIRAJ\r\n \r\n ) : (\r\n props.activate(id!)}\r\n >\r\n AKTIVIRAJ\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n props.getCarsSoldOnlyCars(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n \r\n activationButton(row.id!, row.active!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getCarsSoldOnlyCars(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getCarsSoldOnlyCars(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CarsAdminSoldOnlyCarsTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport ICarAdminTable from '../../types/ICarAdminTable';\r\nimport { GetCarsAdminSoldOnlyCarsAction, DeactivateCarAction, ActivateCarAction, GetCarsAdminSoldOnlyTotalCountAction } from '../../redux/actions/CarAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\nimport CarsAdminSoldOnlyCarsTable from '../../components/tables/CarsAdminSoldOnlyCarsTable';\r\n\r\ninterface IStateToProps {\r\n cars: ICarAdminTable[],\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getCarsSoldOnlyCars: (page: number, pageSize: number, filters: string) => void,\r\n goToCarDetails: (carId: number) => void,\r\n deactivate: (carId: number) => void,\r\n activate: (carId: number) => void,\r\n getTotalCount: () => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst CarAdminSoldOnlyCarsOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getCarsSoldOnlyCars(1, 10, \"\");\r\n props.getTotalCount();\r\n }, []);\r\n\r\n return (props.cars ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n cars: state.cars.data.admin,\r\n totalCount: state.carsAdminSoldOnlyTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getCarsSoldOnlyCars: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_CARS,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_CARS_ADMIN_SOLD_ONLY_TOTAL_COUNT\r\n }),\r\n goToCarDetails: (carId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/car/' + carId + \"/step=1\" }\r\n }),\r\n deactivate: (carId: number) => dispatch({\r\n type: ActionTypes.DEACTIVATE_CAR,\r\n payload: { carId }\r\n }),\r\n activate: (carId: number) => dispatch({\r\n type: ActionTypes.ACTIVATE_CAR,\r\n payload: { carId }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarAdminSoldOnlyCarsOverview);","import { Redirect, Route } from \"react-router\";\r\nimport Navbar from '../../components/app/NavBar';\r\nimport Footer from '../../components/app/Footer';\r\nimport ContentLayout from '../../components/app/ContentLayout';\r\nimport Background from '../../components/app/Background';\r\nimport React from 'react';\r\nimport { isAuthenticated } from './../../utils/AuthFunctions';\r\nimport styles from './routes.module.scss';\r\nimport ActionNotificationContainer from './../../containers/utilities/ActionNotificationContainer';\r\nimport Loading from './../../containers/utilities/Loading';\r\n\r\nconst PublicRoute = ({\r\n component: Component,\r\n ...rest\r\n}: any) => (\r\n
\r\n \r\n \r\n } />\r\n
\r\n );\r\n\r\n\r\nexport default PublicRoute;","import React, { useState } from 'react';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport FormConstants from '../../../constants/FormConstants';\r\nimport { Grid, Paper, Button, Typography } from '@material-ui/core';\r\nimport { IForgotPassword } from './../../../types/IForgotPassword';\r\nimport styles from '../publicForms.module.scss';\r\n\r\ninterface IProps extends IForgotPassword {\r\n onSubmit: (email: string) => void\r\n}\r\n\r\nconst EmailForm: React.FC = (props: IProps) => {\r\n const [email, setEmail] = useState('');\r\n\r\n const handleChange = (event: any) => {\r\n const { value } = event.target;\r\n setEmail(value);\r\n }\r\n const onSubmit = () => {\r\n props.onSubmit(email);\r\n }\r\n\r\n return props.emailDelivered ?\r\n
\r\n \r\n Email Vam je uspješno poslan.\r\n \r\n Kako biste obnovili zaporku molimo Vas pratite upute u emailu.\r\n
:\r\n \r\n onSubmit()}>\r\n \r\n \r\n Molimo unesite email za aktivaciju nove zaporke\r\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 EmailForm;","import React from 'react';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { EmailSubmitAction } from '../../redux/actions/ForgotPasswordAction';\r\nimport EmailForm from '../../components/forms/forgotPassword/emailForm';\r\nimport PublicFormLayout from '../../components/authentication/PublicFormLayout';\r\nimport { IForgotPassword } from '../../types/IForgotPassword';\r\n\r\ninterface IStateToProps extends IForgotPassword { }\r\n\r\ninterface IDispatchToProps {\r\n onHandleSubmit: (email: string) => void\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst EmailFormPage: React.FC = (props: IProps) => {\r\n return \r\n \r\n \r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n email: state.forgotPassword.email,\r\n emailDelivered: state.forgotPassword.emailDelivered\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n onHandleSubmit: (email: string) => dispatch({\r\n type: ActionTypes.EMAIL_SUBMIT,\r\n payload: email\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EmailFormPage);","import React from 'react';\r\nimport { ValidatorForm, TextValidator } from 'react-material-ui-form-validator';\r\nimport FormConstants from '../../../constants/FormConstants';\r\nimport { Grid, Paper, Button, Typography, InputAdornment, IconButton } from '@material-ui/core';\r\nimport styles from '../publicForms.module.scss';\r\nimport Visibility from '@material-ui/icons/Visibility';\r\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\r\nimport Validator from './../../../utils/validation';\r\n\r\ninterface IProps {\r\n onSubmit: (password: string) => void\r\n}\r\ninterface IState {\r\n password: { value: string, show: boolean },\r\n confirmPass: { value: string, show: boolean }\r\n}\r\n\r\nclass ConfirmPasswordForm extends React.Component {\r\n state: IState = {\r\n password: { value: '', show: false },\r\n confirmPass: { value: '', show: false }\r\n };\r\n\r\n componentDidMount() {\r\n ValidatorForm.addValidationRule('isPasswordMatch', (value) => {\r\n return value === this.state.password.value;\r\n });\r\n ValidatorForm.addValidationRule('isPass', value => Validator.validatePassword(value));\r\n }\r\n\r\n private handleChange(event: any) {\r\n const { name, value } = event.target;\r\n this.setState((prevState: any) => ({\r\n [name]: {\r\n ...prevState[name], value\r\n }\r\n }))\r\n }\r\n\r\n private handleClickShowPassword(isPassword: boolean) {\r\n const name = isPassword ? 'password' : 'confirmPass';\r\n this.setState((prevState: any) => ({\r\n [name]: {\r\n ...prevState[name], show: !prevState[name].show\r\n }\r\n }))\r\n }\r\n\r\n private onSubmit() {\r\n this.props.onSubmit(this.state.password.value);\r\n }\r\n\r\n render() {\r\n const st = this.state;\r\n return \r\n this.onSubmit()}>\r\n \r\n \r\n Molimo unesite novu lozinku\r\n \r\n \r\n \r\n this.handleClickShowPassword(true)}>\r\n {st.password.show ? : }\r\n \r\n \r\n }}\r\n fullWidth />\r\n \r\n \r\n \r\n this.handleClickShowPassword(false)}>\r\n {st.confirmPass.show ? : }\r\n \r\n \r\n }}\r\n fullWidth />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n}\r\n\r\nexport default ConfirmPasswordForm;","import React, { useEffect } from 'react';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { ConfirmPasswordAction } from '../../redux/actions/ForgotPasswordAction';\r\nimport PublicFormLayout from '../../components/authentication/PublicFormLayout';\r\nimport ConfirmPasswordForm from './../../components/forms/forgotPassword/confirmPassword';\r\nimport { IForgotPassword } from '../../types/IForgotPassword';\r\n\r\ninterface IDispatchToProps {\r\n onHandleSubmit: (data: IForgotPassword) => void\r\n}\r\n\r\ninterface IProps extends IDispatchToProps { }\r\n\r\nconst ConfirmPasswordFormPage: React.FC = (props: IProps) => {\r\n const submit = (password: string) => {\r\n var urlParams = new URLSearchParams(window.location.search);\r\n const data = {\r\n email: urlParams.get('email')!,\r\n token: urlParams.get('token') as string,\r\n password\r\n }\r\n props.onHandleSubmit(data);\r\n }\r\n\r\n return \r\n \r\n \r\n}\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n onHandleSubmit: (data: IForgotPassword) => dispatch({\r\n type: ActionTypes.PASSWORD_CONFIRM_SUBMIT,\r\n payload: data\r\n })\r\n})\r\n\r\nexport default connect(null, mapDispatchToProps)(ConfirmPasswordFormPage);","import React from 'react'\r\nimport IBuyerProps from '../../../types/IBuyerProps';\r\nimport { Paper, Grid, TextField, Button } from '@material-ui/core';\r\nimport style from \"./userData.module.scss\"\r\n\r\ninterface IDispatchToProps { }\r\n\r\ninterface IProps extends IDispatchToProps {\r\n user: IBuyerProps\r\n}\r\n\r\ninterface IState extends IBuyerProps { }\r\n\r\nclass UserData extends React.Component {\r\n\r\n state: IState = {\r\n firstName: this.props.user.firstName,\r\n lastName: this.props.user.lastName,\r\n legalEntityName: this.props.user.legalEntityName,\r\n legalEntity: this.props.user.legalEntity,\r\n oib: this.props.user.oib,\r\n address: this.props.user.address,\r\n email: this.props.user.email,\r\n zipCode: this.props.user.zipCode,\r\n city: this.props.user.city,\r\n country: this.props.user.country,\r\n phoneNumber: this.props.user.phoneNumber\r\n }\r\n\r\n static getDerivedStateFromProps(props: IProps, state: IState) {\r\n if (props.user.firstName !== state.firstName || props.user.legalEntityName !== state.legalEntityName) {\r\n return ({\r\n ...state,\r\n firstName: props.user.firstName,\r\n lastName: props.user.lastName,\r\n legalEntityName: props.user.legalEntityName,\r\n legalEntity: props.user.legalEntity,\r\n oib: props.user.oib,\r\n address: props.user.address,\r\n email: props.user.email,\r\n zipCode: props.user.zipCode,\r\n city: props.user.city,\r\n country: props.user.country,\r\n phoneNumber: props.user.phoneNumber\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n

Pregled osobnih podataka

\r\n
\r\n \r\n {!this.state.legalEntity ?\r\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\nexport default UserData;","import React from 'react';\r\nimport { FormControlLabel, Checkbox } from '@material-ui/core';\r\nimport { Grid } from '@material-ui/core';\r\nimport styles from './TOS.module.scss';\r\nimport { Link } from 'react-router-dom';\r\n\r\ninterface IProps {\r\n dataAccepted: boolean,\r\n tosAccepted: boolean,\r\n setTosAccepted: () => void,\r\n setDataAccepted: () => void\r\n}\r\nconst Tos = (props: IProps) => {\r\n return (
\r\n
\r\n \r\n \r\n \r\n Prihvaćam \r\n Opće uvjete poslovanja\r\n
\r\n }\r\n labelPlacement=\"start\"\r\n control={\r\n props.setTosAccepted()}\r\n color=\"primary\"\r\n />\r\n }\r\n />\r\n \r\n \r\n \r\n Prihvaćam \r\n Izjavu o privatnosti\r\n i pripadajuću \r\n Privolu\r\n\r\n
\r\n }\r\n labelPlacement=\"start\"\r\n control={\r\n props.setDataAccepted()}\r\n color=\"primary\"\r\n />\r\n }\r\n />\r\n \r\n \r\n
\r\n
);\r\n}\r\n\r\nexport default Tos;","import React from 'react';\r\nimport { Grid, Button, Paper } from '@material-ui/core';\r\nimport style from './userData.module.scss';\r\n\r\ninterface IProps {\r\n disabled: boolean,\r\n confirmData: () => void,\r\n goToLogin: () => void\r\n}\r\n\r\nconst AcceptHelpButtons = (props: IProps) => {\r\n return (\r\n
\r\n \r\n \r\n

U slučaju neispravnih podataka, kontaktirajte nas na naš info mail:

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

info@g1klub.hr

\r\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 AcceptHelpButtons;\r\n","import React, { useEffect } from 'react'\r\nimport IBuyerProps from \"../../../types/IBuyerProps\";\r\nimport { IApplicationState } from \"../../../types/applicationState\";\r\nimport UserData from './Userdata';\r\nimport { connect } from 'react-redux';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../../redux/actions/ActionTypes';\r\nimport Tos from './tos/TOS';\r\nimport AcceptHelpButtons from \"./AcceptHelpButtons\";\r\nimport { Paper, Divider } from '@material-ui/core';\r\nimport { IAuthenticationProps } from '../../../types/IAuthenticationProps';\r\nimport PublicFormLayout from '../../authentication/PublicFormLayout';\r\nimport style from \"./firstLoginDashboard.module.scss\";\r\n\r\ninterface IStateToProps {\r\n user: IBuyerProps\r\n}\r\n\r\ninterface IDispatchToProps {\r\n currentUser: () => void,\r\n confirmData: (user: IAuthenticationProps) => void,\r\n goToLogin: () => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst FirstLoginDashboard: React.FC = (props: IProps) => {\r\n\r\n const [tosAccepted, setTosAccepted] = React.useState(false);\r\n const [dataAccepted, setDataAccepted] = React.useState(false);\r\n\r\n useEffect(() => {\r\n props.currentUser();\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n setDataAccepted(!dataAccepted)} setTosAccepted={() => setTosAccepted(!tosAccepted)} />\r\n props.goToLogin()} disabled={!(tosAccepted && dataAccepted)} confirmData={() => props.confirmData(props.user)} />\r\n \r\n )\r\n}\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n user: state.currentUser\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n currentUser: () => {\r\n dispatch({\r\n type: ActionTypes.GET_CURRENT_USER\r\n })\r\n },\r\n confirmData: (user: IAuthenticationProps) => {\r\n dispatch({\r\n type: ActionTypes.CONFIRM_DATA,\r\n payload: user\r\n })\r\n },\r\n goToLogin: () => { \r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: {\r\n url: \"/login\"\r\n }\r\n })\r\n }\r\n})\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FirstLoginDashboard)\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Paper, Button, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport IBuyerProps from \"./../../types/IBuyerProps\";\r\nimport NotIcon from \"@material-ui/icons/CancelSharp\";\r\nimport YesIcon from \"@material-ui/icons/CheckBox\";\r\nimport styles from \"./adminBuyersOverview.module.scss\";\r\nimport moment from \"moment\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: IBuyerProps[];\r\n getBuyers: (page: number, pageSize: number, filters: string) => void;\r\n goToBuyerDetails: (buyerId: string) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst BuyersTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"fullName\", value: \"\" },\r\n { key: \"oib\", value: \"\" },\r\n { key: \"email\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: IBuyerProps,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (\r\n event &&\r\n !event.currentTarget.baseURI.endsWith(\"damages\") &&\r\n !event.currentTarget.baseURI.endsWith(\"warranties\")\r\n ) {\r\n\r\n window.open(\"/buyer/\" + rowData!.id!);\r\n }\r\n };\r\n\r\n const carsButton = (email: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const damagesButton = (email: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const name = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"fullName\"\r\n )!.value;\r\n const oib = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"oib\"\r\n )!.value;\r\n const email = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"email\"\r\n )!.value;\r\n\r\n if (name !== \"\") {\r\n newFilters = newFilters + \"FullName@=*\" + name;\r\n }\r\n\r\n if (oib !== \"\") {\r\n newFilters = newFilters + \",Oib==\" + oib;\r\n }\r\n\r\n if (email !== \"\") {\r\n newFilters = newFilters + \",Email@=*\" + email;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n\r\n // if (\r\n // (name !== \"\" && name.length > 2) ||\r\n // (oib !== \"\" && oib.length === 11) ||\r\n // (email !== \"\" && email.length > 2) ||\r\n // (name === \"\" && oib === \"\" && email === \"\")\r\n // )\r\n // props.getBuyers(page + 1, pageSize, newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getBuyers(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n
\r\n \r\n moment(row.createdAt).format(\"DD.MM.YYYY\"),\r\n defaultSort: \"desc\",\r\n filtering: false,\r\n },\r\n { title: \"Trgovac\", field: \"createdBy\", filtering: false },\r\n {\r\n title: \"Kupljena vozila\",\r\n field: \"cars\",\r\n filtering: false,\r\n render: (row: IBuyerProps) => carsButton(row.email!),\r\n },\r\n {\r\n title: \"Štete\",\r\n field: \"damages\",\r\n filtering: false,\r\n render: (row: IBuyerProps) => damagesButton(row.email!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getBuyers(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getBuyers(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default BuyersTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport { GetAllBuyers, GetBuyersAdminTotalCountAction } from './../../redux/actions/BuyerAction';\r\nimport BuyersTable from '../../components/tables/AdminBuyersOverview';\r\nimport IBuyerProps from '../../types/IBuyerProps';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IStateToProps {\r\n buyers: IBuyerProps[],\r\n totalCount: number\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getBuyers: (page: number, pageSize: number, filters: string) => void,\r\n goToBuyerDetails: (buyerId: string) => void,\r\n getTotalCount: () => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst BuyersOverview: React.FC = props => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled kupaca\");\r\n props.getBuyers(1, 10, \"\");\r\n props.getTotalCount();\r\n }, []);\r\n\r\n return ()\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n buyers: state.buyers.data,\r\n totalCount: state.buyersAdminTableTotalCount.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getBuyers: (page: number, pageSize: number, filters: string) => dispatch({\r\n type: ActionTypes.GET_BUYERS,\r\n payload: { page, pageSize, filters }\r\n }),\r\n getTotalCount: () => dispatch({\r\n type: ActionTypes.GET_BUYERS_ADMIN_TOTAL_COUNT\r\n }),\r\n goToBuyerDetails: (buyerId: string) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: '/buyer/' + buyerId }\r\n })\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BuyersOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport styles from './damagesSellerTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\nimport { IDamageSellerTable } from '../../types/Damage/IDamageSellerTable';\r\n\r\ninterface IProps {\r\n rows: IDamageSellerTable[],\r\n goToWarrantyReview: (warrantyId: number) => void\r\n}\r\n\r\nconst DamagesSellerTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageSellerTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageSellerTable) => {\r\n let newRow: IDamageSellerTable = {\r\n ...row,\r\n status: t(row.status)\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageSellerTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n const onRowClick = (event?: React.MouseEvent, rowData?: IDamageSellerTable, toggleDetailPanel?: (panelIndex?: number) => void) => {\r\n props.goToWarrantyReview(rowData!.warrantyId);\r\n }\r\n\r\n const findById = (id: number): IDamageSellerTable => {\r\n return props.rows.filter((row: IDamageSellerTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Radni nalog', field: 'radniNalog' },\r\n { title: 'Zaključak', field: 'zakljucak' },\r\n { title: 'Datum prijave', field: 'reportedDate' },\r\n\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesSellerTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport DamagesSellerTable from '../../components/tables/DamagesSellerTable';\r\nimport { GetDamagesSellerAction } from '../../redux/actions/DamageAction';\r\nimport { IDamageSellerTable } from '../../types/Damage/IDamageSellerTable';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageSellerTable[]\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: () => void,\r\n goToWarrantyReview: (warrantyId: number) => void\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst DamageSellerOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getDamages();\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.seller\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: () => dispatch({\r\n type: ActionTypes.GET_DAMAGES_SELLER\r\n }),\r\n goToWarrantyReview: (warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/warranty/${warrantyId}/step=4` }\r\n })\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageSellerOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport IDamageBuyerTable from '../../types/Damage/IDamageBuyerTable';\r\nimport styles from './damagesBuyerTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\n\r\ninterface IProps {\r\n rows: IDamageBuyerTable[],\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n buyerName: string\r\n}\r\n\r\nconst DamagesBuyerTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageBuyerTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageBuyerTable) => {\r\n const isApproved = row.status === DamageStatus.Approved;\r\n const isSolved = row.status === DamageStatus.Solved;\r\n let newRow: IDamageBuyerTable = {\r\n ...row,\r\n status: t(row.status),\r\n damageAction: isApproved || isSolved ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageBuyerTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n\r\n function damageButton(rowData: IDamageBuyerTable) {\r\n const propsRow = findById(rowData.id);\r\n const isApproved = propsRow.status === DamageStatus.Approved;\r\n const isSolved = propsRow.status === DamageStatus.Solved;\r\n return \r\n }\r\n\r\n const findById = (id: number): IDamageBuyerTable => {\r\n return props.rows.filter((row: IDamageBuyerTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Troškovi (EUR) štete', field: 'cost' },\r\n { title: 'Datum prijave', field: 'reported' },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damageAction\",\r\n render: (rowData: IDamageBuyerTable) => damageButton(rowData)\r\n }\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesBuyerTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport IDamageBuyerTable from '../../types/Damage/IDamageBuyerTable';\r\nimport DamagesBuyerTable from '../../components/tables/DamagesBuyerTable';\r\nimport { GetDamagesBuyerAction, GetBuyerNameAction } from '../../redux/actions/DamageAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageBuyerTable[],\r\n buyerName: string\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: (email: string) => void,\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n getBuyerName: (email: string) => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps {\r\n match: {\r\n params: {\r\n email: string\r\n }\r\n }\r\n}\r\n\r\nconst DamageBuyerOverview: React.FC = props => {\r\n useEffect(() => {\r\n const { email } = props.match.params;\r\n props.getDamages(email);\r\n props.getBuyerName(email);\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.buyer,\r\n buyerName: state.buyerName.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: (email: string) => dispatch({\r\n type: ActionTypes.GET_DAMAGES_BUYER,\r\n payload: { email }\r\n }),\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/damage/${carId}/${warrantyId}/${damageId}` }\r\n }),\r\n getBuyerName: (email: string) => dispatch({\r\n type: ActionTypes.GET_BUYER_NAME,\r\n payload: { email }\r\n }),\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageBuyerOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport IDamageSellerByAdminTable from '../../types/Damage/IDamageSellerByAdminTable';\r\nimport styles from './damagesSellerByAdminTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\n\r\ninterface IProps {\r\n rows: IDamageSellerByAdminTable[],\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n sellerName: string\r\n}\r\n\r\nconst DamagesSellerByAdminTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageSellerByAdminTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageSellerByAdminTable) => {\r\n const isApproved = row.status === DamageStatus.Approved;\r\n const isSolved = row.status === DamageStatus.Solved;\r\n let newRow: IDamageSellerByAdminTable = {\r\n ...row,\r\n status: t(row.status),\r\n damageAction: isApproved || isSolved ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageSellerByAdminTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n\r\n function damageButton(rowData: IDamageSellerByAdminTable) {\r\n const propsRow = findById(rowData.id);\r\n const isApproved = propsRow.status === DamageStatus.Approved;\r\n const isSolved = propsRow.status === DamageStatus.Solved;\r\n return \r\n }\r\n\r\n const findById = (id: number): IDamageSellerByAdminTable => {\r\n return props.rows.filter((row: IDamageSellerByAdminTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Troškovi (EUR) štete', field: 'cost' },\r\n { title: 'Datum prijave', field: 'reported' },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damageAction\",\r\n render: (rowData: IDamageSellerByAdminTable) => damageButton(rowData)\r\n }\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesSellerByAdminTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport IDamageSellerByAdminTable from '../../types/Damage/IDamageSellerByAdminTable';\r\nimport DamagesSellerByAdminTable from '../../components/tables/DamagesSellerByAdminTable';\r\nimport { GetDamagesSellerByAdminAction, GetSellerNameAction } from '../../redux/actions/DamageAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageSellerByAdminTable[],\r\n sellerName: string\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: (id: string) => void,\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n getSellerName: (id: string) => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps {\r\n match: {\r\n params: {\r\n id: string\r\n }\r\n }\r\n}\r\n\r\nconst DamageSellerByAdminOverview: React.FC = props => {\r\n useEffect(() => {\r\n const { id } = props.match.params;\r\n props.getDamages(id);\r\n props.getSellerName(id);\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.sellerByAdmin,\r\n sellerName: state.sellerName.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: (id: string) => dispatch({\r\n type: ActionTypes.GET_DAMAGES_SELLERBYADMIN,\r\n payload: { id }\r\n }),\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/damage/${carId}/${warrantyId}/${damageId}` }\r\n }),\r\n getSellerName: (id: string) => dispatch({\r\n type: ActionTypes.GET_SELLER_NAME,\r\n payload: { id }\r\n }),\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageSellerByAdminOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport IDamageWarrantyTable from '../../types/Damage/IDamageWarrantyTable';\r\nimport styles from './damagesBuyerTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\n\r\ninterface IProps {\r\n rows: IDamageWarrantyTable[],\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n warrantyId: number\r\n}\r\n\r\nconst DamagesWarrantyTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageWarrantyTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageWarrantyTable) => {\r\n const isApproved = row.status === DamageStatus.Approved;\r\n const isSolved = row.status === DamageStatus.Solved;\r\n let newRow: IDamageWarrantyTable = {\r\n ...row,\r\n status: t(row.status),\r\n damageAction: isApproved || isSolved ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageWarrantyTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n\r\n function damageButton(rowData: IDamageWarrantyTable) {\r\n const propsRow = findById(rowData.id);\r\n const isApproved = propsRow.status === DamageStatus.Approved;\r\n const isSolved = propsRow.status === DamageStatus.Solved;\r\n return \r\n }\r\n\r\n const findById = (id: number): IDamageWarrantyTable => {\r\n return props.rows.filter((row: IDamageWarrantyTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Troškovi (EUR) štete', field: 'cost' },\r\n { title: 'Datum prijave', field: 'reported' },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damageAction\",\r\n render: (rowData: IDamageWarrantyTable) => damageButton(rowData)\r\n }\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesWarrantyTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport IDamageWarrantyTable from '../../types/Damage/IDamageWarrantyTable';\r\nimport DamagesWarrantyTable from '../../components/tables/DamagesWarrantyTable';\r\nimport { GetDamagesWarrantyAction } from '../../redux/actions/DamageAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageWarrantyTable[],\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: (warrantyId: number) => void,\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps {\r\n match: {\r\n params: {\r\n warrantyId: number\r\n }\r\n }\r\n}\r\n\r\nconst DamageWarrantyOverview: React.FC = props => {\r\n useEffect(() => {\r\n const { warrantyId } = props.match.params;\r\n props.getDamages(warrantyId);\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.warranty\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: (warrantyId: number) => dispatch({\r\n type: ActionTypes.GET_DAMAGES_WARRANTY,\r\n payload: { warrantyId }\r\n }),\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/damage/${carId}/${warrantyId}/${damageId}` }\r\n })\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageWarrantyOverview);","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport IDamageCarTable from '../../types/Damage/IDamageCarTable';\r\nimport styles from './damagesCarTable.module.scss';\r\nimport Button from '@material-ui/core/Button';\r\nimport { DamageStatus } from '../../domain/enums/DamageStatus';\r\n\r\ninterface IProps {\r\n rows: IDamageCarTable[],\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n carName: string\r\n}\r\n\r\nconst DamagesCarTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IDamageCarTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IDamageCarTable) => {\r\n const isApproved = row.status === DamageStatus.Approved;\r\n const isSolved = row.status === DamageStatus.Solved;\r\n let newRow: IDamageCarTable = {\r\n ...row,\r\n status: t(row.status),\r\n damageAction: isApproved || isSolved ? 'Pregledaj' : 'Uredi'\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function damageStatusStyle(rowData: IDamageCarTable) {\r\n const propsRow = findById(rowData.id);\r\n return
{rowData.status}
\r\n }\r\n\r\n function damageButton(rowData: IDamageCarTable) {\r\n const propsRow = findById(rowData.id);\r\n const isApproved = propsRow.status === DamageStatus.Approved;\r\n const isSolved = propsRow.status === DamageStatus.Solved;\r\n return \r\n }\r\n\r\n const findById = (id: number): IDamageCarTable => {\r\n return props.rows.filter((row: IDamageCarTable) => row.id === id)[0];\r\n }\r\n\r\n return \r\n damageStatusStyle(rowData)\r\n },\r\n { title: 'Troškovi (EUR) štete', field: 'cost' },\r\n { title: 'Datum prijave', field: 'reported' },\r\n {\r\n title: 'Akcija štete',\r\n field: \"damageAction\",\r\n render: (rowData: IDamageCarTable) => damageButton(rowData)\r\n }\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n />\r\n \r\n}\r\n\r\nexport default DamagesCarTable;\r\n","import React, { useEffect } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport IDamageCarTable from '../../types/Damage/IDamageCarTable';\r\nimport DamagesCarTable from '../../components/tables/DamagesCarTable';\r\nimport { GetDamagesCarAction, GetCarNameAction } from '../../redux/actions/DamageAction';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\n\r\ninterface IStateToProps {\r\n damages: IDamageCarTable[],\r\n carName: string\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getDamages: (carId: number) => void,\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => void,\r\n getCarName: (id: number) => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps {\r\n match: {\r\n params: {\r\n id: number\r\n }\r\n }\r\n}\r\n\r\nconst DamageCarOverview: React.FC = props => {\r\n useEffect(() => {\r\n props.getDamages(props.match.params.id);\r\n props.getCarName(props.match.params.id);\r\n }, []);\r\n\r\n return (props.damages ? : null)\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n damages: state.damages.data.car,\r\n carName: state.carName.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getDamages: (carId: number) => dispatch({\r\n type: ActionTypes.GET_DAMAGES_CAR,\r\n payload: { carId }\r\n }),\r\n goToDamagePage: (damageId: number, carId: number, warrantyId: number) => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: `/damage/${carId}/${warrantyId}/${damageId}` }\r\n }),\r\n getCarName: (id: number) => dispatch({\r\n type: ActionTypes.GET_CAR_NAME,\r\n payload: { id }\r\n }),\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DamageCarOverview);","import React, { useRef, useState, useEffect } from \"react\";\r\nimport { Paper, Button, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport NotIcon from \"@material-ui/icons/CancelSharp\";\r\nimport YesIcon from \"@material-ui/icons/CheckBox\";\r\nimport styles from \"./adminSellersOverview.module.scss\";\r\nimport moment from \"moment\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ISellerProps[];\r\n goToSellerDetails: (sellerId: string) => void;\r\n getSellers: (page: number, pageSize: number, filters: string) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst AdminSellersTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"fullName\", value: \"\" },\r\n { key: \"email\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ISellerProps,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (\r\n event &&\r\n !event.currentTarget.baseURI.endsWith(\"damages\") &&\r\n !event.currentTarget.baseURI.endsWith(\"warranties\")\r\n ) {\r\n\r\n window.open(\"/seller/\" + rowData!.id!);\r\n }\r\n };\r\n\r\n const TOS = (isAccepted: boolean) => (\r\n
\r\n {isAccepted ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n\r\n const damagesButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const carsButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const name = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"fullName\"\r\n )!.value;\r\n const email = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"email\"\r\n )!.value;\r\n\r\n if (name !== \"\") {\r\n newFilters = newFilters + \"FullName@=*\" + name;\r\n }\r\n\r\n if (email !== \"\") {\r\n newFilters = newFilters + \",Email@=*\" + email;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getSellers(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n {\r\n return {\r\n backgroundColor: row.oznaka === true ? \"#FCEAEA\" : \"#FFFFFFF\",\r\n };\r\n },\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: \"Nema podataka za prikaz.\",\r\n },\r\n }}\r\n title=\"Pregled aktivnih Njuškalo prodavača\"\r\n onRowClick={onRowClick}\r\n columns={[\r\n { title: \"Ime trgovca\", field: \"fullName\", filtering: true },\r\n { title: \"Email\", field: \"email\", filtering: true },\r\n { title: \"Kontakt broj\", field: \"phoneNumber\", filtering: false },\r\n {\r\n title: \"Datum ugovora\",\r\n field: \"datumAktivacijeUgovora\",\r\n filtering: false,\r\n render: (row: ISellerProps) =>\r\n moment(row.datumAktivacijeUgovora).format(\"DD.MM.YYYY\"),\r\n },\r\n {\r\n title: \"Datum registracije\",\r\n field: \"createdAt\",\r\n filtering: false,\r\n render: (row: ISellerProps) =>\r\n moment(row.createdAt).format(\"DD.MM.YYYY\"),\r\n defaultSort: \"desc\",\r\n },\r\n { title: \"Registrirao\", field: \"createdBy\", filtering: false },\r\n {\r\n title: \"Prodana vozila\",\r\n field: \"cars\",\r\n filtering: false,\r\n render: (row: ISellerProps) => carsButton(row.id!),\r\n },\r\n {\r\n title: \"Štete\",\r\n field: \"damages\",\r\n filtering: false,\r\n render: (row: ISellerProps) => damagesButton(row.id!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getSellers(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getSellers(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default AdminSellersTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\nimport AdminSellersTable from \"./../../components/tables/AdminSellersOverview\";\r\nimport {\r\n GetAllSellersTableAction,\r\n GetSellersAdminTotalCountAction,\r\n} from \"./../../redux/actions/SellerAction\";\r\nimport GoToPageAction from \"../../redux/actions/GoToPageAction\";\r\nimport ReactGA from \"react-ga\";\r\n\r\ninterface IStateToProps {\r\n sellers: ISellerProps[];\r\n totalCount: number;\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getSellersTable: (page: number, pageSize: number, filters: string) => void;\r\n goToSellerDetails: (sellerId: string) => void;\r\n getTotalCount: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {}\r\n\r\nconst SellersOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled svih trgovaca\");\r\n props.getTotalCount();\r\n props.getSellersTable(1, 10, \"\");\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n sellers: state.sellersTable.data,\r\n totalCount: state.sellersAdminTableTotalCount.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getSellersTable: (page: number, pageSize: number, filters: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLERS_TABLE,\r\n payload: { page, pageSize, filters },\r\n }),\r\n getTotalCount: () =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLERS_ADMIN_TOTAL_COUNT,\r\n }),\r\n goToSellerDetails: (sellerId: string) =>\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: \"/seller/\" + sellerId },\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SellersOverview);\r\n","import React, { useRef, useState, useEffect } from \"react\";\r\nimport { Paper, Button, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport styles from \"./marketingSellersTable.module.scss\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ISellerProps[];\r\n getMarketingSellers: (page: number, pageSize: number, filters: string) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst MarketingSellersTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"fullName\", value: \"\" },\r\n { key: \"email\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const name = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"fullName\"\r\n )!.value;\r\n const email = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"email\"\r\n )!.value;\r\n\r\n if (name !== \"\") {\r\n newFilters = newFilters + \"FullName@=*\" + name;\r\n }\r\n\r\n if (email !== \"\") {\r\n newFilters = newFilters + \",Email@=*\" + email;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getMarketingSellers(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n {\r\n return {\r\n backgroundColor: row.oznaka === true ? \"#FCEAEA\" : \"#FFFFFFF\",\r\n };\r\n },\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: \"Nema podataka za prikaz.\",\r\n },\r\n }}\r\n title=\"Pregled svih prodavača\"\r\n columns={[\r\n { title: \"Ime trgovca\", field: \"fullName\", filtering: true },\r\n { title: \"Email\", field: \"email\", filtering: true },\r\n { title: \"Kontakt broj\", field: \"phoneNumber\", filtering: false },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getMarketingSellers(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getMarketingSellers(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default MarketingSellersTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport MarketingSellersTable from \"./../../components/tables/MarketingSellersTable\";\r\nimport {\r\n GetMarketingSellersTableAction, GetMarketingSellersTableTotalCountAction\r\n} from \"./../../redux/actions/SellerAction\";\r\nimport ReactGA from \"react-ga\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\n\r\ninterface IStateToProps {\r\n marketingSellers: ISellerProps[];\r\n totalCount: number;\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getMarketingSellersTable: (page: number, pageSize: number, filters: string) => void;\r\n getTotalCount: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst MarketingSellersOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Pregled svih trgovaca\");\r\n props.getTotalCount();\r\n props.getMarketingSellersTable(1, 10, \"\");\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n marketingSellers: state.marketingSellersTable.data,\r\n totalCount: state.marketingSellersTableTotalCount.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getMarketingSellersTable: (page: number, pageSize: number, filters: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_MARKETING_SELLERS_TABLE,\r\n payload: { page, pageSize, filters },\r\n }),\r\n getTotalCount: () =>\r\n dispatch({\r\n type: ActionTypes.GET_MARKETING_SELLERS_TABLE_TOTAL_COUNT,\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(MarketingSellersOverview);\r\n","import React, { useRef, useState, useEffect } from \"react\";\r\nimport { Paper, Button, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport NotIcon from \"@material-ui/icons/CancelSharp\";\r\nimport YesIcon from \"@material-ui/icons/CheckBox\";\r\nimport styles from \"./otherActiveSellersTable.module.scss\";\r\nimport moment from \"moment\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ISellerProps[];\r\n goToSellerDetails: (sellerId: string) => void;\r\n getOtherActiveSellers: (page: number, pageSize: number, filters: string) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst OtherActiveSellersTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"fullName\", value: \"\" },\r\n { key: \"email\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ISellerProps,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (\r\n event &&\r\n !event.currentTarget.baseURI.endsWith(\"damages\") &&\r\n !event.currentTarget.baseURI.endsWith(\"warranties\")\r\n ) {\r\n\r\n window.open(\"/seller/\" + rowData!.id!);\r\n }\r\n };\r\n\r\n const TOS = (isAccepted: boolean) => (\r\n
\r\n {isAccepted ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n\r\n const damagesButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const carsButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const name = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"fullName\"\r\n )!.value;\r\n const email = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"email\"\r\n )!.value;\r\n\r\n if (name !== \"\") {\r\n newFilters = newFilters + \"FullName@=*\" + name;\r\n }\r\n\r\n if (email !== \"\") {\r\n newFilters = newFilters + \",Email@=*\" + email;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getOtherActiveSellers(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n {\r\n return {\r\n backgroundColor: row.oznaka === true ? \"#FCEAEA\" : \"#FFFFFFF\",\r\n };\r\n },\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: \"Nema podataka za prikaz.\",\r\n },\r\n }}\r\n title=\"Pregled ostalih aktivnih prodavača\"\r\n onRowClick={onRowClick}\r\n columns={[\r\n { title: \"Ime trgovca\", field: \"fullName\", filtering: true },\r\n { title: \"Email\", field: \"email\", filtering: true },\r\n { title: \"Kontakt broj\", field: \"phoneNumber\", filtering: false },\r\n { title: \"Status ugovora\", field: \"statusUgovora\", filtering: false },\r\n {\r\n title: \"Datum statusa ugovora\",\r\n field: \"datumStatusaUgovora\",\r\n filtering: false,\r\n render: (row: ISellerProps) => row.datumStatusaUgovora ?\r\n moment(row.datumStatusaUgovora).format(\"DD.MM.YYYY\") : \"\",\r\n },\r\n {\r\n title: \"Datum registracije\",\r\n field: \"createdAt\",\r\n filtering: false,\r\n render: (row: ISellerProps) =>\r\n moment(row.createdAt).format(\"DD.MM.YYYY\"),\r\n defaultSort: \"desc\",\r\n },\r\n { title: \"Registrirao\", field: \"createdBy\", filtering: false },\r\n {\r\n title: \"Prodana vozila\",\r\n field: \"cars\",\r\n filtering: false,\r\n render: (row: ISellerProps) => carsButton(row.id!),\r\n },\r\n {\r\n title: \"Štete\",\r\n field: \"damages\",\r\n filtering: false,\r\n render: (row: ISellerProps) => damagesButton(row.id!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getOtherActiveSellers(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getOtherActiveSellers(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default OtherActiveSellersTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\nimport OtherActiveSellersTable from \"./../../components/tables/OtherActiveSellersTable\";\r\nimport {\r\n GetOtherActiveSellersTableAction,\r\n GetOtherActiveSellersTotalCountAction,\r\n} from \"./../../redux/actions/SellerAction\";\r\nimport GoToPageAction from \"../../redux/actions/GoToPageAction\";\r\nimport ReactGA from \"react-ga\";\r\n\r\ninterface IStateToProps {\r\n sellers: ISellerProps[];\r\n totalCount: number;\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getOtherActiveSellersTable: (page: number, pageSize: number, filters: string) => void;\r\n goToSellerDetails: (sellerId: string) => void;\r\n getTotalCount: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst OtherActiveSellersOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled svih trgovaca\");\r\n props.getTotalCount();\r\n props.getOtherActiveSellersTable(1, 10, \"\");\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n sellers: state.otherActiveSellersTable.data,\r\n totalCount: state.otherActiveSellersTableTotalCount.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getOtherActiveSellersTable: (page: number, pageSize: number, filters: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TABLE,\r\n payload: { page, pageSize, filters },\r\n }),\r\n getTotalCount: () =>\r\n dispatch({\r\n type: ActionTypes.GET_OTHER_ACTIVE_SELLERS_TOTAL_COUNT,\r\n }),\r\n goToSellerDetails: (sellerId: string) =>\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: \"/seller/\" + sellerId },\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtherActiveSellersOverview);","import React, { useEffect, useState } from 'react';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { connect } from 'react-redux';\r\nimport { Grid } from '@material-ui/core';\r\nimport { MarketingThisMonthSoldTotalWarranties } from '../../components/cards/MarketingThisMonthSoldTotalWarranties';\r\nimport { ISoldWarranties } from '../../types/ISoldWarranties';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IStateToProps {\r\n marketingThisMonthTotalSoldWarranties: {\r\n lastMonth: number,\r\n thisMonth: number\r\n },\r\n marketingThisMonthTotalSoldWarrantiesLoading: boolean,\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getMarketingThisMonthSoldStatistics: (startDate: string, endDate: string) => void,\r\n\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps { }\r\n\r\nconst MarketingSoldOverview: React.FC = props => {\r\n\r\n var date = new Date();\r\n const [firstDay, setFirstDay] = useState(new Date(date.getFullYear(), date.getMonth(), 1));\r\n const [lastDay, setLastDay] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 0));\r\n\r\n\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Prodana jamstva\");\r\n props.getMarketingThisMonthSoldStatistics(firstDay.toLocaleDateString(\"en-US\"), lastDay.toLocaleDateString(\"en-US\"))\r\n }, []);\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\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n marketingThisMonthTotalSoldWarranties: state.marketingThisMonthStatistics.thisMonth.totalSoldWarranties,\r\n marketingThisMonthTotalSoldWarrantiesLoading: state.marketingThisMonthStatistics.loading,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getMarketingThisMonthSoldStatistics: (startDate: string, endDate: string) => {\r\n dispatch({\r\n type: ActionTypes.GET_MARKETING_THIS_MONTH_SOLD_STATISTIC,\r\n payload: { startDate, endDate }\r\n })\r\n }\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MarketingSoldOverview);\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { BuyerRegistrationForm } from '../../components/forms/buyerForm/BuyerRegistrationForm'\r\nimport IBuyerProps from \"./../../types/IBuyerProps\";\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { GetBuyerByIdAction, SendActivationEmailBuyerAction, GetLegalBuyersAction } from './../../redux/actions/BuyerAction';\r\nimport { connect } from 'react-redux';\r\nimport { URLHelper } from './../../utils/URLHelper';\r\nimport ReactGA from 'react-ga';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\ninterface IDispatchToProps {\r\n saveBuyer: (buyer: IBuyerProps) => void,\r\n deleteBuyer: (buyer: IBuyerProps) => void,\r\n activateBuyer: (buyer: IBuyerProps) => void,\r\n getBuyer: (buyerId: string) => void,\r\n sendActivationMail: (email: string) => void,\r\n getLegalBuyers: () => void,\r\n}\r\n\r\ninterface IStateToProps {\r\n buyer: IBuyerProps,\r\n legalBuyers: IBuyerProps[],\r\n}\r\n\r\nconst BuyerOverview: React.FC = (props: IProps) => {\r\n\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | registracija kupca\");\r\n if (URLHelper.getBuyerId() !== 'create_buyer')\r\n props.getBuyer(URLHelper.getBuyerId()!);\r\n props.getLegalBuyers();\r\n\r\n }, []);\r\n\r\n const handleSubmit = (buyer: IBuyerProps) => {\r\n props.saveBuyer(buyer);\r\n }\r\n\r\n const handleDelete = (buyer: IBuyerProps) => {\r\n props.deleteBuyer(buyer);\r\n }\r\n\r\n const handleActivate = (buyer: IBuyerProps) => {\r\n props.activateBuyer(buyer);\r\n }\r\n\r\n return (\r\n\r\n )\r\n\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n buyer: state.buyer.buyer,\r\n legalBuyers: state.legalBuyers.data\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n saveBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.SAVE_BUYER,\r\n payload: { buyer }\r\n }),\r\n deleteBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.DELETE_BUYER,\r\n payload: { buyer }\r\n }),\r\n activateBuyer: (buyer: IBuyerProps) => dispatch({\r\n type: ActionTypes.ACTIVATE_BUYER,\r\n payload: { buyer }\r\n }),\r\n getBuyer: (buyerId: string) => dispatch({\r\n type: ActionTypes.GET_BUYER,\r\n payload: buyerId\r\n }),\r\n sendActivationMail: (email: string) => dispatch({\r\n type: ActionTypes.SEND_ACTIVATION_EMAIL_BUYER,\r\n payload: { email }\r\n }),\r\n getLegalBuyers: () => dispatch({\r\n type: ActionTypes.GET_LEGAL_BUYERS\r\n }),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BuyerOverview);","import React, { useState, useEffect } from 'react';\r\nimport { Paper, Button } from '@material-ui/core';\r\nimport { Grid } from '@material-ui/core';\r\nimport { ValidatorForm } from 'react-material-ui-form-validator';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport { Editor } from 'react-draft-wysiwyg';\r\nimport styles from './sellerNote.module.scss';\r\nimport { convertFromRaw, convertToRaw } from 'draft-js';\r\nimport {EditorState} from 'draft-js'\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\ninterface IDispatchToProps {\r\n saveNoteForSeller: (note: string, sellerId: string) => void,\r\n}\r\n\r\ninterface IStateToProps {\r\n note: any,\r\n sellerId: string,\r\n}\r\n\r\nconst SellerNote: React.FC = (props: IProps) => {\r\n var DBEditorState = EditorState.createEmpty();\r\n\r\n let [note, setNote] = useState(DBEditorState);\r\n\r\n useEffect(() => {\r\n if(props.note && props.note.length > 0) {\r\n let raw = convertFromRaw(JSON.parse(props.note));\r\n DBEditorState = EditorState.createWithContent(raw);\r\n }\r\n setNote(DBEditorState);\r\n }, [props.note])\r\n\r\n const handleSubmit = () => {\r\n props.saveNoteForSeller(JSON.stringify(convertToRaw(note!.getCurrentContent())), props.sellerId);\r\n }\r\n\r\n const handleEditor = (editorState: EditorState) => {\r\n setNote(editorState);\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n

Zabilješka

\r\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\nexport default SellerNote","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { Grid } from \"@material-ui/core\";\r\nimport SellerRegistrationForm from \"../../components/forms/sellerRegistrationForm/SellerRegistrationForm\";\r\nimport SellerNote from \"../../components/forms/sellerNoteForm/SellerNote\";\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport ILegalEntity from \"./../../types/ILegalEntitiy\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { GetLegalEntities } from \"../../redux/actions/SellerAction\";\r\nimport {\r\n GetSellerByIdAction,\r\n ClearSellerAction,\r\n} from \"./../../redux/actions/SellerAction\";\r\nimport { connect } from \"react-redux\";\r\nimport { URLHelper } from \"./../../utils/URLHelper\";\r\nimport ReactGA from \"react-ga\";\r\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\r\nimport ISellerContractData from \"../../types/ISellerContractData\";\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {}\r\n\r\ninterface IDispatchToProps {\r\n getLegalEntities: () => void;\r\n saveSeller: (seller: ISellerProps) => void;\r\n activateSeller: (seller: ISellerProps) => void;\r\n deleteSeller: (seller: ISellerProps) => void;\r\n getSeller: (sellerId: string) => void;\r\n clearSeller: () => void;\r\n saveNoteForSeller: (note: string, sellerId: string) => void;\r\n submitSellerContract?: (data: ISellerContractData) => void;\r\n cancelSellerContract?: (data: ISellerContractData) => void;\r\n handleDeniedContract?: (data: ISellerContractData) => void;\r\n}\r\n\r\ninterface IStateToProps {\r\n legalEntities: ILegalEntity[];\r\n seller: ISellerProps;\r\n}\r\n\r\nconst SellerOverview: React.FC = (props: IProps) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | registracija trgovca\");\r\n props.clearSeller();\r\n props.getLegalEntities();\r\n if (URLHelper.getSellerId() !== \"create_seller\")\r\n props.getSeller(URLHelper.getSellerId()!);\r\n }, []);\r\n\r\n const handleSubmit = (seller: ISellerProps) => {\r\n props.saveSeller(seller);\r\n };\r\n\r\n const handleDelete = (seller: ISellerProps) => {\r\n props.deleteSeller(seller);\r\n };\r\n\r\n const handleActivate = (seller: ISellerProps) => {\r\n props.activateSeller(seller);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props.seller && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n legalEntities: state.legalEntities.entities,\r\n seller: state.seller.seller,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n getLegalEntities: () =>\r\n dispatch({\r\n type: ActionTypes.GET_LEGAL_ENTITIES,\r\n }),\r\n saveSeller: (seller: ISellerProps) =>\r\n dispatch({\r\n type: ActionTypes.SAVE_SELLER,\r\n payload: { seller },\r\n }),\r\n activateSeller: (seller: ISellerProps) =>\r\n dispatch({\r\n type: ActionTypes.ACTIVATE_SELLER,\r\n payload: { seller },\r\n }),\r\n deleteSeller: (seller: ISellerProps) =>\r\n dispatch({\r\n type: ActionTypes.DELETE_SELLER,\r\n payload: { seller },\r\n }),\r\n getSeller: (sellerId: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLER,\r\n payload: sellerId,\r\n }),\r\n clearSeller: () =>\r\n dispatch({\r\n type: ActionTypes.CLEAR_SELLER,\r\n }),\r\n saveNoteForSeller: (note: string, sellerId: string) =>\r\n dispatch({\r\n type: ActionTypes.SAVE_NOTE_FOR_SELLER,\r\n payload: { note, sellerId },\r\n }),\r\n submitSellerContract: (data: ISellerContractData) =>\r\n dispatch({\r\n type: ActionTypes.SUBMIT_SELLER_CONTRACT,\r\n payload: { data },\r\n }),\r\n cancelSellerContract: (data: ISellerContractData) =>\r\n dispatch({\r\n type: ActionTypes.CANCEL_SELLER_CONTRACT,\r\n payload: { data },\r\n }),\r\n handleDeniedContract: (data: ISellerContractData) =>\r\n dispatch({\r\n type: ActionTypes.DENIED_SELLER_CONTRACT,\r\n payload: { data },\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SellerOverview);\r\n","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport { IStatisticsMarketingWarranties } from '../../types/IStatisticsMarketingWarranties';\r\nimport styles from './statisticsMarketingWarrantiesTable.module.scss';\r\n\r\ninterface IProps {\r\n rows: IStatisticsMarketingWarranties[],\r\n}\r\n\r\nconst StatisticsMarketingWarrantiesTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IStatisticsMarketingWarranties[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IStatisticsMarketingWarranties) => {\r\n let newRow: IStatisticsMarketingWarranties = {\r\n ...row,\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n return \r\n \r\n \r\n}\r\n\r\nexport default StatisticsMarketingWarrantiesTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport { IStatisticsMarketingWarranties } from \"../../types/IStatisticsMarketingWarranties\";\r\nimport StatisticsMarketingWarrantiesTable from \"./../../components/tables/StatisticsMarketingWarrantiesTable\";\r\nimport {\r\n GetStatisticsMarketingWarrantiesTableAction,\r\n} from \"./../../redux/actions/StatisticsAction\";\r\nimport ReactGA from \"react-ga\";\r\n\r\ninterface IStateToProps {\r\n data: IStatisticsMarketingWarranties[];\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getTable: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst StatisticsMarketingWarrantiesOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled statistike Njuškalo jamstava\");\r\n props.getTable();\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n data: state.statisticsMarketingWarrantiesTable.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getTable: () =>\r\n dispatch({\r\n type: ActionTypes.GET_STATISTICS_MARKETING_WARRANTIES_TABLE,\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(StatisticsMarketingWarrantiesOverview);\r\n","import React from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport { Trans, useTranslation } from 'react-i18next';\r\nimport { IStatisticsWarranties } from '../../types/IStatisticsWarranties';\r\nimport styles from './statisticsWarrantiesTable.module.scss';\r\n\r\ninterface IProps {\r\n rows: IStatisticsWarranties[],\r\n}\r\n\r\nconst StatisticsWarrantiesTable: React.FC = (props: IProps) => {\r\n const { t } = useTranslation();\r\n\r\n const mapPropsToTable = (): IStatisticsWarranties[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IStatisticsWarranties) => {\r\n let newRow: IStatisticsWarranties = {\r\n ...row,\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n return \r\n \r\n \r\n}\r\n\r\nexport default StatisticsWarrantiesTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport { IStatisticsWarranties } from \"../../types/IStatisticsWarranties\";\r\nimport StatisticsWarrantiesTable from \"./../../components/tables/StatisticsWarrantiesTable\";\r\nimport {\r\n GetStatisticsMarketingWarrantiesTableAction, GetStatisticsWarrantiesTableAction\r\n} from \"./../../redux/actions/StatisticsAction\";\r\nimport ReactGA from \"react-ga\";\r\n\r\ninterface IStateToProps {\r\n data: IStatisticsWarranties[];\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getTable: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst StatisticsWarrantiesOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled statistike Njuškalo jamstava\");\r\n props.getTable();\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n data: state.statisticsWarrantiesTable.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getTable: () =>\r\n dispatch({\r\n type: ActionTypes.GET_STATISTICS_WARRANTIES_TABLE,\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(StatisticsWarrantiesOverview);\r\n","import React, { useRef, useState, useEffect } from \"react\";\r\nimport { Paper, Button, Input, Grid } from \"@material-ui/core\";\r\nimport MaterialTable from \"material-table\";\r\nimport ISellerProps from \"./../../types/ISellerProps\";\r\nimport NotIcon from \"@material-ui/icons/CancelSharp\";\r\nimport YesIcon from \"@material-ui/icons/CheckBox\";\r\nimport styles from \"./adminSellersUnactiveOverview.module.scss\";\r\nimport moment from \"moment\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IFilterModel from \"../../types/IFilterModel\";\r\n\r\ninterface IProps {\r\n rows: ISellerProps[];\r\n goToSellerDetails: (sellerId: string) => void;\r\n getSellersUnactive: (page: number, pageSize: number, filters: string) => void;\r\n totalCount: number;\r\n}\r\n\r\nconst AdminSellersUnactiveTable: React.FC = (props: IProps) => {\r\n const [page, setPage] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterArray, setFilterArray] = useState([\r\n { key: \"fullName\", value: \"\" },\r\n { key: \"email\", value: \"\" },\r\n ]);\r\n const [filters, setFilters] = useState(\"\");\r\n const [columnFocus, setColumnFocus] = useState(\"\");\r\n const tableRef = useRef();\r\n\r\n useEffect(() => {\r\n if (tableRef && tableRef.current) {\r\n const a = tableRef.current as any;\r\n a.onQueryChange();\r\n }\r\n }, [props.rows]);\r\n\r\n const onRowClick = (\r\n event?: React.MouseEvent,\r\n rowData?: ISellerProps,\r\n toggleDetailPanel?: (panelIndex?: number) => void\r\n ) => {\r\n if (\r\n event &&\r\n !event.currentTarget.baseURI.endsWith(\"damages\") &&\r\n !event.currentTarget.baseURI.endsWith(\"warranties\")\r\n ) {\r\n\r\n window.open(\"/seller/\" + rowData!.id!);\r\n }\r\n };\r\n\r\n const TOS = (isAccepted: boolean) => (\r\n
\r\n {isAccepted ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n\r\n const damagesButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const carsButton = (id: string) => (\r\n \r\n \r\n \r\n );\r\n\r\n const createFilters = () => {\r\n let newFilters = \"\";\r\n\r\n const name = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"fullName\"\r\n )!.value;\r\n const email = filterArray.find(\r\n (x: IFilterModel): boolean => x.key === \"email\"\r\n )!.value;\r\n\r\n if (name !== \"\") {\r\n newFilters = newFilters + \"FullName@=*\" + name;\r\n }\r\n\r\n if (email !== \"\") {\r\n newFilters = newFilters + \",Email@=*\" + email;\r\n }\r\n\r\n if (newFilters.substring(0, 1) === \",\")\r\n newFilters = newFilters.substring(1);\r\n\r\n setFilters(newFilters);\r\n };\r\n\r\n const setFilterValue = (field: string, value: string) => {\r\n filterArray.find((x: IFilterModel): boolean => x.key === field)!.value =\r\n value;\r\n\r\n createFilters();\r\n };\r\n\r\n return (\r\n \r\n \r\n props.getSellersUnactive(page + 1, pageSize, filters)}\r\n color=\"inherit\"\r\n variant=\"contained\"\r\n >\r\n TRAŽI\r\n \r\n \r\n {\r\n return {\r\n backgroundColor: row.oznaka === true ? \"#FCEAEA\" : \"#FFFFFFF\",\r\n };\r\n },\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: \"Nema podataka za prikaz.\",\r\n },\r\n }}\r\n title=\"Pregled neaktivnih prodavača\"\r\n onRowClick={onRowClick}\r\n columns={[\r\n { title: \"Ime trgovca\", field: \"fullName\", filtering: true },\r\n { title: \"Email\", field: \"email\", filtering: true },\r\n { title: \"Kontakt broj\", field: \"phoneNumber\", filtering: false },\r\n { title: \"Status ugovora\", field: \"statusUgovora\", filtering: false },\r\n {\r\n title: \"Datum statusa ugovora\",\r\n field: \"datumStatusaUgovora\",\r\n filtering: false,\r\n render: (row: ISellerProps) => row.datumStatusaUgovora ?\r\n moment(row.datumStatusaUgovora).format(\"DD.MM.YYYY\") : \"\",\r\n },\r\n {\r\n title: \"Datum registracije\",\r\n field: \"createdAt\",\r\n filtering: false,\r\n render: (row: ISellerProps) => \r\n moment(row.createdAt).format(\"DD.MM.YYYY\") ,\r\n defaultSort: \"desc\",\r\n },\r\n { title: \"Registrirao\", field: \"createdBy\", filtering: false },\r\n {\r\n title: \"Prodana vozila\",\r\n field: \"cars\",\r\n filtering: false,\r\n render: (row: ISellerProps) => carsButton(row.id!),\r\n },\r\n {\r\n title: \"Štete\",\r\n field: \"damages\",\r\n filtering: false,\r\n render: (row: ISellerProps) => damagesButton(row.id!),\r\n },\r\n ]}\r\n data={(query) =>\r\n new Promise(async (resolve, reject) => {\r\n resolve({\r\n data: props.rows,\r\n page: page,\r\n totalCount: props.totalCount,\r\n });\r\n })\r\n }\r\n components={{\r\n FilterRow: (rowProps) => {\r\n const { columns } = rowProps;\r\n\r\n return (\r\n <>\r\n \r\n {columns\r\n .filter((c: any): boolean => c.filtering === true)\r\n .map((col: any) => {\r\n if (col.field) {\r\n return (\r\n \r\n \r\n x.key === col.field\r\n )!.value\r\n }\r\n style={{ marginLeft: \"5px\", marginRight: \"5px\" }}\r\n onChange={(e) => {\r\n setFilterValue(col.field, e.target.value);\r\n setColumnFocus(col.field);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n },\r\n }}\r\n onChangePage={(newPage: number) => {\r\n setPage(newPage);\r\n props.getSellersUnactive(newPage + 1, pageSize, filters);\r\n }}\r\n onChangeRowsPerPage={(newPageSize: number) => {\r\n setPageSize(newPageSize);\r\n props.getSellersUnactive(page + 1, newPageSize, filters);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default AdminSellersUnactiveTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport ISellerProps from \"../../types/ISellerProps\";\r\nimport AdminSellersUnactiveTable from \"./../../components/tables/AdminSellersUnactiveOverview\";\r\nimport {\r\n GetAllSellersUnactiveTableAction,\r\n GetSellersUnactiveAdminTotalCountAction,\r\n} from \"./../../redux/actions/SellerAction\";\r\nimport GoToPageAction from \"../../redux/actions/GoToPageAction\";\r\nimport ReactGA from \"react-ga\";\r\n\r\ninterface IStateToProps {\r\n sellers: ISellerProps[];\r\n totalCount: number;\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getSellersUnactiveTable: (page: number, pageSize: number, filters: string) => void;\r\n goToSellerDetails: (sellerId: string) => void;\r\n getTotalCount: () => void;\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst SellersUnactiveOverview: React.FC = (props) => {\r\n useEffect(() => {\r\n ReactGA.pageview(\"Admin | pregled svih trgovaca\");\r\n props.getTotalCount();\r\n props.getSellersUnactiveTable(1, 10, \"\");\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n sellers: state.sellersUnactiveTable.data,\r\n totalCount: state.sellersUnactiveAdminTableTotalCount.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getSellersUnactiveTable: (page: number, pageSize: number, filters: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLERS_UNACTIVE_TABLE,\r\n payload: { page, pageSize, filters },\r\n }),\r\n getTotalCount: () =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLERS_UNACTIVE_ADMIN_TOTAL_COUNT,\r\n }),\r\n goToSellerDetails: (sellerId: string) =>\r\n dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: \"/seller/\" + sellerId },\r\n }),\r\n});\r\n\r\nexport default connect<\r\n IStateToProps,\r\n IDispatchToProps,\r\n IProps,\r\n IApplicationState\r\n>(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SellersUnactiveOverview);\r\n","import React from 'react';\r\nimport styles from './legal.module.scss';\r\nimport PublicFormLayout from '../authentication/PublicFormLayout';\r\nimport { BackButton } from './../buttons/BackButton';\r\n\r\n\r\nconst TOS = () => {\r\n return (\r\n \r\n
\r\n

Opći uvjeti poslovanja

\r\n

Poštovani,

\r\n

s općim uvjetima Vas želimo preciznije upoznati s našim proizvodom, njegovim pravilima te pozvati vas da zajedno u dobroj vjeri radimo na poboljšanju naše usluge.

\r\n

Na početku vas želimo izvijestiti da su Vaše obaveze u slučaju kvara na vozilu:

\r\n

a) odmah zaustavite vozilo ukoliko primijetite bilo kakvu nepravilnost u radu ili vas na to upozori signalizacija na kontrolnoj tabli te postupiti prema\r\n uputama TOČKA NA J-G1

\r\n

b) čuvate dokaze (račune) o uredno izvršenim servisnim intervencijama na vozili(redovnim i izvanrednim)

\r\n

c) nikako i nikada se ne upuštati u samostalno otklanjanje kvara na vozilu prije nego kontaktirate i konzultirate HAK ili TOČKA NA J-G1

\r\n

 

\r\n

Članak 1.

\r\n

Nosioc projekta G1 za koordinacije produženog auto jamstva je firma TOČKA NA J d.o.o, Unska cesta 2c iz Zagreba.

\r\n

Ovaj proizvod se odnosi na vozila ukupne mase 3.5 tone za koja nije proteklo više od 10 godina od dana prve registracije ili nisu prešla više od 230 000 km u trenutku aktivacije\r\n produženog auto jamstva, a pravo na produženo jamstvo vrijedi najviše do prijeđenih 250 000 km.

\r\n

Pravo na ovaj proizvod prestaje ako se vozilo uništi ili proda osobi koja s njim obavlja djelatnosti za koje produženo auto jamstvo nije predviđeno(rent a car, taxi, itd.)

\r\n

Članak 2.

\r\n

Prodavatelj vozila je povjerio koordinaciju upravljanja produženom jamstvom tvrtki TOČKA NA J-G1 koji nije stranka u eventualnom parničnom postupku oko prodanog vozila.

\r\n

Prodavatelj jamči da vozilo za koje je ugovoreno produženo auto jamstvo ima istinite prijeđene kilometre te nema skrivenu tehničku grešku koja je postojala prije ugovaranja produženog\r\n auto jamstva.

\r\n

Članak 3.

\r\n

Aktivacija jamstva mora se realizirati u isto vrijeme kada je prodano vozilo. TOČKA NA J-G1 može u svakom trenutku tražiti na uvid dokumentaciju povezanu s izdanim produženim auto\r\n jamstvom. Proizvod ima ograničeno trajanje na rok od 12 mjeseci s mogućnošću obnove, ali uz prethodnu najavu i odobrenje G1.

\r\n

Članak 4.

\r\n

KVAR je nepravilno djelovanje dijela vozila zbog greške ili nedostatka.

\r\n

POPRAVAK je putem servisa ponovno uspostavljanje upotrebljivosti vozila.

\r\n

Članak 5.

\r\n

U slučaju kvara tvrtka TOČKA NA J-G1 ima pravo:

\r\n

a) zatražiti poseban pregled vozila

\r\n

b) nastupiti kao posrednik u nabavi auto dijelova potrebnih za otklanjanje kvara

\r\n

c) zahtijevati dodatan pregled dijelova koje treba zamijeniti

\r\n

d) uporabiti dijelove koji prethodno mogu biti korišteni, pregledani, popravljeni ili obnovljeni

\r\n

Upotreba novih i originalnih tj. zamjenskih dijelova može uzrokovati podizanje kvalitete i vrijednosti vozila. U navedenom slučaju, iznos kojeg plaća vlasnik vozila jednak je\r\n postotku vrijednosti vozila koja se poveća za trošak zamjene. Za računanje promjene vrijednosti vozila u trenutku zahtjeva za popravkom upotrebljava se sustav Eurotax.

\r\n

Napravljene izmjene nemaju utjecaj na produženo trajanje proizvoda izvan ugovorenog roka.

\r\n

Troškovi rada priznaju se sukladno normama i smjernicama propisane od strane proizvođača vozila.

\r\n

 

\r\n

Članak 6.

\r\n

Dijelovi s jamstvom kod OSNOVNOG JAMSTVA PRODUŽENOG AUTO JAMSTVA

\r\n

a) MOTOR: glava motora, brtvilo oglave, garnitura brtvila(u slučaju popravka glave motora), cilindarska košuljica, klipovi, klipnjače, radilica,\r\n bregasto vratilo i odstojnici, karike-klipni prstenovi, ležajevi klipnjače(leteći ležajevi), ležajevi vratila motora, ispušni i usisni ventili(osim kod blokiranja motora zbog\r\n pregrijavanja ili zagrijavanja) pret komora, klackalice ventila, pumpa za ulje, donji dio kućišta motora. Zupčasti remen(uz obavezu zamjene po tvorničkim servisnim intervalima\r\n ili najkasnije svakih 5 godina ili prijeđenih 100 000 km te uz obavezu čuvanja dokaza-računa)

\r\n

b) RUČNI MJENJAČ: pogonski i prijenosni zupčanici, kućište, svi podmazani rotacijski dijelovi, sinkroni) (uz obavezu zamjene ulja po tvorničkim\r\n servisnim intervalima ili najkasnije svakih 5 godina ili prijeđenih 100 000 km te uz obavezu čuvanja dokaza-računa)

\r\n

c) SUSTAV KOČENJA: sustav ulje za kočnice, servo sustav, vakuumska pumpa, kočiona čeljust (mehanička)

\r\n

d) OSNOVNO PLUS: 1 brizgaljka goriva(dizna), hladnjak rashladne tekućine,ventilator rashladne tekućine, termostat, pumpa rashladne tekućine,\r\n elektropokretač, alternator, pogonsko vratilo, ležaj kotača, diferencijal, senzor broja okretaja ABS, glavni kočioni cilindar, pomoćni kočioni cilindar, prsten ABS

\r\n

 

\r\n

Članak 7.

\r\n

Uz Osnovno pravo na produženo auto jamstvo, moguće je izabrati jedan ili više DODATAKA uz nadoplatu koji čine dodatno jamstveno pokriće za određene dijelove.

\r\n

Postoje 3 DODATKA uz nadoplatu:

\r\n

DODATAK 1: turbo punjač, pumpa goriva električna, common rail mehanička pumpa goriva, EGR ventil, hladnjak EGR ventila, brizgaljke goriva-sve,\r\n kompresor klima uređaja, kondenzator klima uređaja, ventil regulacije pritiska goriva

\r\n

DODATAK 2: brizgaljka Ad Blue, pumpa Adblue, spremnik AdBlue, NoX sensor, lambda sonda, katalizator, DPF filter, senzor diferencijalnog tlaka DPF

\r\n

DODATAK 3: AUTOMATSKI MJENJAČ - pretvarač zaokretnog momenta(wandler), garnitura ventila, epiciklički pokretač, kučište, pumpa za ulje,\r\n (osim kočnica i lamela/kvačilo) (uz obaveznu izmjenu ulja i filtera ulja po tvorničkom servisnim intervalima ili najkasnije svakih 5 godina ili prijeđenih 100 000 kn te uz\r\n obavezno čuvanje dokaza-računa)

\r\n

Navedeni dodaci uz nadoplatu odnose se na vozila ukupne mase 3.5 tone za koje nije proteklo više od 10 godina od dana prve registracije ili nisu prešli više od 180 000 km u\r\n trenutku aktivacije prava na produženo auto jamstvo, a pravo na produženo auto jamstvo vrijedi najviše do prijeđenih 200 000 km.

\r\n

 

\r\n

Članak 8.

\r\n

Svi dijelovi koji nisu uključeni u članku 6.te sav potrošni materijal kao npr. gumena brtvila, kvačilo, maziva, tekućine, filteri, disk pločice i ostalo...... izuzeti su\r\n iz jamstvenog pokrića,

\r\n

Članak 9.

\r\n

Najveći dopušteni iznos po jednom predmetu popravka(kvaru) iznosi 15000 kn s PDV-om, iskoristivo dva puta u vremenu trajanja produženog jamstva.

\r\n

Tvrtka G1 odobriti će popravak vozila nakon što postigne dogovor sa servisom te uz pismenu ili usmenu suglasnost vlasnika vozila. U dopušteni iznos po predmetu popravka ne ulaze\r\n troškovi prehrane, noćenja i prijevoza. Naknada štete zbog mirovanja vozila u vrijeme otklanjanja kvara ne ulazi u dopušteni iznos popravka.

\r\n

Članak 10.

\r\n

Ako kvarovi nisu povezani, njihova ukupna maksimalna vrijednost pridonosi vrijednosti zbroja kvarova. Ukoliko se za vrijeme popravka vozila dogode novi štetni događaji koji nisu\r\n povezani s predmetnim popravkom, G1 ne snosi nikakvu odgovornost. Ukoliko se dogodi štetni događaj koji je u pokriću jamstva, a dogodio se zbog štetnog događaja koji nije u pokriću jamstva, popravak istog neće biti priznat u jamstvo.

\r\n

Članak 11.

\r\n

Kako bi jamstvo bilo iskoristivo i važeće, za vrijeme trajanja prava na produženo auto jamstvo G1 kluba, OBAVEZNA je izmjena ulja(tip ulja koji propisuje proizvođač) i filtera ulja\r\n jednom godišnje u vremenu trajanja prava na produžena auto jamstvo ili svakih max. 15000 prevoženih kilometara od posljednje izmjene ulja i filtera ulja. Uz to, vozilo mora OBAVEZNO\r\n ispunjavati i sve izvaredne servisne intervale (sve izvaredne izmjene ulja u mjenjaču, remenja ,lanaca i ostalog...) prema preporukama proizvođača za određenu marku vozila\r\n kako je navedeno u servisnoj knjižici. Održavanje mora biti obavljeno kod ovlaštenog servisera za marku vozila za koju je izdano produženo jamstvo ili u TOČKA NA J-G1 servisnoj mreži.\r\n Za svaku izvršenu aktivnost održavanja vozila potrebno je imati dokaz u vidu plaćenog računa, izdanog od strane servisera, kojeg prema potrebi TOČKA NA J-G1 može zatražiti na uvid.\r\n Na računu mora biti naznačena registarska oznaka vozila za koje se odnosi, datum izvršenja usluge, broj šasije te opis izvršenih radova i utrošenog materijala.\r\n Ukoliko prilikom preuzimanja vozila u auto salonu, ne postoji nikakav dokaz o servisnoj povijesti vozila, obavezno je potrebno napraviti izmjenu ulja i filtera ulja te o\r\n tome imati sačuvani dokaz u vidu važečeg izdanog računa od strane ovlaštenog servisera ili G1 servisne mreže. Ukoliko vozilo u jamstvenom pokriću ima ugrađeni plinski pogon,\r\n obavezno je najaviti u TOČKA NA J-G1.

\r\n

Članak 12.

\r\n

Usluga popravka neće biti ostvarena za kvarove koji nastupe zbog:

\r\n

a) nepravilne i nemarne upotrebe vozila,

\r\n

b) nesreće na cesti i/ili namjernih događaja,

\r\n

c) prethodno nestručno izvedenih popravaka,

\r\n

d) gubitka različitih tekućina,

\r\n

e) krivo utočenog goriva,

\r\n

f) nepoštivanja odredbi o redovnom i izvanrednom održavanju iz članka 11. ovih općih uvjeta,

\r\n

g) elemenata koje jamstvo ne pokriva,

\r\n

h) vanjskih elemenata, npr. strujni udari, udari groma, oštećenja uslijed pokušaja krađe,

\r\n

i) ne zaustavljanja vozila signaliziranog na kontrolnoj tabli,

\r\n

j) udaraca, izlijetanja s kolnika, požara, sudara ili fizičkih oštećenja,

\r\n

k) prije utvrđenih grešaka na vozilu,

\r\n

l) neovlaštenog modificiranja software-a vozila.

\r\n

Članak 13.

\r\n

Produženo jamstvo ne osigurava usluge u slučaju kada:

\r\n

a) nema mogućnosti dobave dijelova za popravak vozila,

\r\n

b) se vozilo ne nalazi na predviđenom mjestu za preuzimanje,

\r\n

c) vozilo nije u tehničkom stanju prema propisima proizvođača,

\r\n

d) se vozilo koristi za taxi, rent a car, auto škole, za natjecanje ili u ekstremnim uvjetima,

\r\n

e) se utvrde netočne izjave o stanju vozila prilikom ugovaranja produženog jamstva,

\r\n

f) se ne uvaže procedure propisane za uslugu produženog jamstva od strane TOČKA NA J-G1,

\r\n

g) korisnik ne dostavi potrebnu dokumentaciju na zahtjev TOČKA NA J-G1 najkasnije u roku 3 radna dana,

\r\n

h) korisnik neovlašteno modificira software motora.

\r\n

Članak 14.

\r\n

Korisnik produženog jamstva mora najkasnije u roku od 2 dana od nastanka kvara na vozilu obavijestiti firmu TOČKA NA J-G1 te će vlasnika vozila uputiti u postupak otklanjanja kvara na vozilu.

\r\n

Važno je zapamtiti da TOČKA NA J-G1 neće snositi teret popravka vozila ako prethodno nije odobrilo izvršenje popravka vozila prema predloženom radnom nalogu servisera, niti je moguće ostvariti povrat troškova nastalih bez prethodnog odobrenja TOČKA NA J-G1.

\r\n

Članak 15.

\r\n

Uslugu pomoći na cesti korisnik produženog jamstva ima pravo iskoristiti jednom u vremenu trajanja produženog jamstva. Ima pravo samo ukoliko je vozilo u nepokretnom stanju, osim u slučaju kada je u pitanju kvar na akumulatoru i to iskoristiti u vremenu trajanja produženog jamstva, na način propisan općim uvjetima u slučaju kada je vozilo ostalo na cesti, nepokretno u kvaru, potrebno je nazvati operativni centar HAK-a na broj +385 14693786 te ih obavijestiti o mjestu na kojem se nalazi vozilo. Zbog sigurnosne provjere, prilikom poziva, potrebno je znati broj koji vam je dodijelio TOČKA NA J-G1, a koji se nalazi na početku ovih općih uvjeta te broj šasije vozila koji je tražena intervencija. Nakon provjere, operativni centar će organizirati prijevoz/šlep do najbliže automehaničarske radionice iz servisne mreže TOČKA NA J-G1. Usluga pomoći i otklanjanja kvarova predviđena je u slučaju kada je moguća neposredna intervencija na vozilu u kvaru. Usluga ne uključuje dodatni prijevoz nakon intervencije.

\r\n

Članak 16.

\r\n

Ukoliko korisnik produženog jamstva za vrijeme trajanja produženog jamstva odluči prodati vozilo za koje je izdano jamstvo, produženo jamstvo ostaje vrijediti na vozilu do isteka, uz uvjete da se novi vlasnik vozila i budući korisnik produženog jamstva mora najkasnije u roku od 5 dana od preuzimanja vozila javiti u firmu TOČKA NA J-G1, u suprotnom, nakon isteka navedenog roka, produženo jamstvo je nevažeće.

\r\n

Članak 17.

\r\n

Reklamacije za eventualno nezadovoljstvo s obavljenom uslugom mogu se proslijediti putem e-maila info@G1klub.hr

\r\n

Članak 18.

\r\n

U slučaju spora nadležan je sud u mjestu sjedištu firme TOČKA NA J-G1.

\r\n

Članak 19.

\r\n

Moguća deklarativna presuda o ništavnosti pojedinog članka ovog ugovora ne utječe na ugovor u potpunosti koji ostaje važeći u ostalim člancima.

\r\n

Članak 20.

\r\n

Svojim potpisom ove potvrde potvrđujete da ste primili navedeni dokument. Informacija o obradi podataka također vam je dostupna na web stranici www.G1klub.com

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

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default TOS;","import React from 'react';\r\nimport styles from './legal.module.scss';\r\nimport PublicFormLayout from '../authentication/PublicFormLayout';\r\nimport { BackButton } from '../buttons/BackButton';\r\n\r\n\r\nconst PrivacyPolicy = () => {\r\n return (\r\n \r\n
\r\n

\r\n

Izjava o privatnosti

\r\n

Ova Izjava o privatnosti tvrtke Točka na J d.o.o. (OIB: 57739667576) primjenjuje se od 25. svibnja 2018.

\r\n
    \r\n
  1. svibnja 2018. godine na snagu je stupila nova Uredba o zaštiti osobnih podataka (GDPR - General Data Protection Regulation) s kojom dobivate više prava na zaštitu i privatnost svojih osobnih podataka.
  2. \r\n
\r\n

Točka na J d.o.o. svojom Izjavom o privatnosti obavljuje kako skupljamo, obrađujemo i pohranjujemo osobne podatke. U nastavku možete u cijenolosti pročitati Izjavu o privatnosti te nam se slobodno obratiti za sva vaša pitanja na adresu e-pošte koju navodimo u Izjavi.

\r\n

Ova Izjava opisuje koje podatke prikupljamo, na koji ih način obrađujemo te u koje ih svrhe upotrebljavamo, kao i vaša prava povezana s vašim podacima.

\r\n

Kontakt osoba za zaštitu osobnih podataka dostupna je putem e-pošte:
e-pošte szop@g1klub.hr   kontakt telefon: +385(0) 91 333 4443

\r\n

Osobne podatke koje prikupljamo su:  ime i prezime, adresa, kontakt telefon za komunikaciju, e-mail, osobni identifikacijski broj (OIB), kolačići, ostali osobni podatci koje nam vi ili treće osobe stavljate na raspolaganje tijekom poslovne suradnje kao što su video snimke, fotografije i dr.

\r\n

Općenite informacije o kolačićima

\r\n

Ova web stranica radi boljeg korisničkog iskustva na web stranici na vaše računalo sprema male tekstualne datoteke koje nazivamo kolačići. Ova praksa zastupljena je u najmanje 90% web stranica u svijetu, ali prema Direktivi EU iz svibnja 2011. godine, obvezni smo prije pohranjivanja kolačića zatražiti vaš pristanak. Korištenjem web stranice pristajete na uporabu kolačića, a us slučaju njihovog blokiranja   i dalje možete pregledavati stranicu, no neke njezine mogućnosti  neće biti dostupne. Nakon 25. svibnja i početka primjene Opće uredbe za zaštitu podatka (GDPR) svaka web stranica treba omogućiti korisniku mogućnost jednostavnog povlačenja privole za korištenje kolačića. Da biste na našoj web stranici, nakon što ste kliknuli \"Slažem se\", povukli svoju privolu, jednostavno kliknite na gumb \"Kolačići - promjena postavki\" i kliknite \"Ne slažem se\". Može se dogoditi da korištenje određenih funkcionalnosti web stranice postane onemogućeno nakon povlačenja privole za korištenje kolačića.

\r\n

Kolačić je mala datoteka koju na vaše računalo sprema web stranica koju posjetite. Kolačić obavještava web stranicu da se \"stari\" korisnik ponovno priključio pamteći njegove postavke. Kolačići bilježe vaše preferencije i postavke, unose ih u web obrasce i informacije za prijavljene korisnike.

\r\n

Kolačići mogu spremati širok pojas informacija, ali ta informacija ili informacije mogu biti spremljene jedino ako korisnik to omogući ‒ web stranice ne mogu dobiti pristup informacijama koji im korisnik nije dao i ne mogu pristupiti drugim datotekama na korisnikovu računalu. Kolačići ne sadržavaju nikakve osobne podatke odnosno informacije koje bi vas mogle identificirati. Korisnik, pak, može promijeniti svoje postavke na internetu te time sam birati hoće li zahtjeve za spremanje kolačića odobriti ili odbiti, hoće li spremljene kolačiće automatski pobrisati pri zatvaranju internetskoga preglednika i sl.

\r\n

Isključivanjem kolačića odlučujete hoćete li dopustiti njihovo pohranjivanje na vašem računalu. Postavke s kolačićima mogu se kontrolirati i konfigurirati u vašem internetskom pregledniku. Za informacije o postavkama kolačića odaberite internetski preglednik kojim se koristite. Preglednici:

\r\n

Internet Explorer 8 i noviji
FireFox 3.5 i noviji
Google Chrome 10 i noviji
Safari 2 i noviji
Opera 10.5 i noviji.
Blokiranjem kolačića i dalje možete pregledavati web stranice, no određene funkcionalnosti neće vam biti na raspolaganju na njima.

\r\n

Stalni kolačići
Stalni ili spremljeni kolačići sačuvani su na disku (vašem računalu) te ondje ostaju i nakon zatvaranja internetskog preglednika. Pomoću njih pohranjuju se podaci kao što su ime za prijavu i lozinka pa se ne morate prijavljivati prilikom svakog posjeta određenom mjestu.

\r\n

Privremeni kolačići
Privremeni kolačići privremeno se pohranjuju na disku te se brišu nakon zatvaranja internetskog preglednika. Pomoću njih web stranice pohranjuju privremene podatke kao što su stavke u košarici za kupnju.

\r\n

Kolačići prve strane
\"First party cookies\" (kolačići prve strane) dolaze s web-mjesta koje korisnik pregledava i mogu biti trajni ili privremeni. Web-mjesta te kolačiće upotrebljavaju za spremanje informacija koje će ponovo upotrebljavati kada korisnik sljedeći put posjeti to mjesto.

\r\n

Kolačići treće strane
Kolačići treće strane potječu od drugih, partnerskih web-mjesta koja gledate. Treće strane mogu tako prikupljati podatke o korisnicima različitih web-mjesta i upotrebljavati ih u marketinške i analitičke svrhe.

\r\n

Naša web stranica i korištenje kolačića
Koristimo kolačiće ponajprije kako bismo vam korištenje naše web stranice omogućili bolje korisničko iskustvo.

\r\n

Vrste kolačića kojima se koristimo
Privremeni kolačići koji istječu (i automatski se brišu) kada zatvorite internetski preglednik, a njima se služimo kako bismo unaprijedili korisničko iskustvo za posjeta.

\r\n

Trajni kolačići koji obično imaju datum isteka daleko u budućnost i tako će ostati u vašem pregledniku, dok ne isteknu, ili dok ih ručno ne izbrišete ‒ služimo se kako bismo bolje razumjeli navike korisnika, tako da možemo poboljšati web stranicu prema vašim navikama. Ova je informacija anonimna.

\r\n

Kolačići treće strane
Postoji nekoliko vanjskih servisa koji korisniku spremaju ograničene kolačiće. Ove kolačiće nije postavila naša web stranica, ali neki služe za normalno funkcioniranje određenih mogućnosti koje korisnicima olakšavaju pristup sadržaju. Trenutačno omogućujemo:

\r\n

Društvene mreže: Korisnici se mogu prijaviti i registrirati putem vlastitih računa s društvenih mreža Facebook. Također dijeljenje članaka na društvenim mrežama korisniku postavlja kolačiće.

\r\n

Mjerenje posjećenosti: Ova web stranica koristi se servisom za mjerenje posjećenosti Google Analytics. Ako želite onemogućiti da vam navedeni servis sprema kolačiće, možete ga zabraniti na sljedećem linku:

\r\n

https://tools.google.com/dlpage/gaoptout

\r\n

Dodatne informacije o isključivanju kolačića

\r\n

Trenutačno postoji nekoliko web stranica za isključivanje pohranjivanja kolačića za različite servise, a više se možete informirati na sljedećim poveznicama:

\r\n

http://www.allaboutcookies.org/

\r\n

http://www.youronlinechoices.eu/

\r\n

http://www.networkadvertising.org/

\r\n

Osobne podatke obrađujemo u svrhu :

\r\n
    \r\n
  • Pružanja naših usluga što uključuje komuniciranje s vama u vezi pružanja usluga, odgovaranje na vaše upite, sklapanje ugovora i ispunjavanje obveza koje proizlaze iz sklopljenog ugovora te izdavanja računa za izvršenu uslugu
  • \r\n
  • U svrhu marketinške komunikacije (uključujući obavijesti o novim uslugama i nadogradnjama postojećih usluga i događajima koje organiziramo
  • \r\n
  • Vaši podaci će se ustupiti trećim osobama samo kada to opravdava zakonski interes za osiguravanje sigurnog i zakonitog rada (naš povjeren knjigovodstveni servis koji ispunjava zakonske zahtjeve u vezi sa Općom uredbom za zaštitu osobnih podataka) i ispunjavanje zakonskih obveza (npr. kod poreznih obaveza koje mogu uključivati posredovanje vaših osobnih podataka u Poreznoj upravi). Vaši podaci će se ustupiti trećoj strani u svrhu izvršenja usluge prijevozna vozila i usluga popravka vozila odgovornoj kompaniji. S njima smo potpisali ugovor te postali pravno obvezajući s uvjetima koji udovoljavaju zahtjevima GDPR-a i koji odražavaju vašu privatnost podataka i sigurnost obveza prema klijentima.
  • \r\n
  • Provođenja pravnih zahtjeva i riješavanje sporova. Kako bismo zaštitili naše poslovanje i proveli i/ili zaštitili svoja prava, može doći do otkrivanja osobnih podataka. Vaše osobne podatke ćemo otkriti samo na način i pod uvjetima koji su propisani zakonom.
  • \r\n
  • Za potrebe statističke analize kako bismo unaprijedili iskustva posjete naše web stranice
  • \r\n
\r\n

Razdoblje čuvanja osobnih podataka obrađujemo u svrhu :

\r\n

Osobne podatke čuvamo u skladu s važećim Zakonom o zaštiti osobnih podataka. Spremamo ih onoliko dugo koliko je potrebno za svrhu za koju se obrađuju ili za postupanje u skladu sa zakonom. Osobne podatke koje obrađujemo na temelju vaše osobne suglasnosti, pohranjujemo do vašeg opoziva.

Molimo da uzmete u obzir da ne brišemo vaše podatke:

\r\n
    \r\n
  • ako su potrebni za obračun troškova radova, a možemo ih obrađivati samo do zastare tražbina u skladu s općim propisima kojima se uređuju obvezno-pravni odnosi
  • \r\n
  • u slučaju da je pokrenut postupak prisilne naplate neplaćenih potraživanja
  • \r\n
  • ako je uložen prigovor na proizvod ili uslugu u roku, sve do konačnog dovršetka postupaka po prigovoru u skladu s važećim propisima (npr. Zakon o zaštiti potrošača i dr.).
  • \r\n
\r\n


Moguće je da se umjesto brisanja podaci anonimiziraju. 

\r\n

Kod obrade vaših osobnih podataka možemo se poslužiti pružateljima usluga izvan EU. To ćemo učiniti samo ako za tu treću zemlju postoji odluka Europske komisije o primjerenosti ili ako smo s pružateljem usluga ugovorili pridržavanje obvezujućih propisa o zaštiti osobnih podataka.

S osobnim podacima koje nam stavljate na raspolaganje prilikom ispunjavanja kontakt obrazaca ili putem e-maila postupamo povjerljivo. Vaši se podaci koriste kako bi se obradio vaš upit.Vaše osobne podatke obrađujemo na temelju privola.

\r\n

Zaštita osobnih podataka :

\r\n

Kako bismo zaštitili vaše osobne podatke od neovlaštenog pristupa, korištenja ili slučajnog gubitka provodimo sve tehničke i organizacijske sigurnosne postupke u skladu s našim mogućnostima i pravilima Opće uredbe za zaštitu osobnih podataka na način da osiguramo da samo ovlaštene osobe za obradu podataka imaju pristup vašim osobnim podacima samo onda kada je to potrebno i u skladu sa svrhom prikupljanja osobnih podataka.

Primjeri takvih postupaka su:

\r\n
    \r\n
  • praćenje, pregled i održavanje IT infrastrukture
  • \r\n
  • izrade sigurnosnih kopija
  • \r\n
  • zaštita računala antivirusnim programima
  • \r\n
  • pravilo otvaranja e-pošte iz nepoznatih izvora
  • \r\n
  • itd.
  • \r\n
\r\n

Prikupljeni podaci u elektroničkom obliku su zaštićeni SSL certifikatom koji enkriptira podatke i tako osigurava da se komunikacija između računala korisnika i naše web stranice odvija sigurnim protokolom. Zaštitu podataka uzimamo ozbiljno i poduzimamo razne mjere opreza kako bi osobni podaci bili zaštićeni. Nažalost, niti jedan prijenos podataka preko Interneta, ili bilo koje bežične mreže ne može biti 100% siguran. Kao posljedica toga, iako provodimo razumne zaštitne mjere za zaštitu podataka ne možemo jamčiti zaštitu bilo koje informacije prenesene na ili s web stranice te nismo odgovorni za radnje bilo koje treće strane koja takve informacije primi.

\r\n

Vaša prava :

\r\n

Pravo na pristup osobnim podatcima:

\r\n

U bilo kojem trenutku od nas možete zatražiti pristup vašim osobnim podatcima.

\r\n

Pravo na ispravak (dopunu, izmjenu) netočnih osobnih podataka:

\r\n

Ako obrađujemo vaše osobne podatke koji su nepotpuni ili netočni, u bilo kojem trenutku od nas možete zatražiti da ih ispravimo ili dopunimo.

\r\n

Pravo na zaborav, odnosno brisanje osobnih podataka:

\r\n

U bilo kojem trenutku od nas možete zatražiti brisanje svojih osobnih podataka ali vas molimo da uzmete u obzir da postoje razlozi koji onemogućuju trenutačno brisanje, primjerice kod zakonski propisanih obveza arhiviranja. Privolu koju ste dali možete opozvati u bilo kojem trenutku.

Ako opozovete dane privole, vaše podatke više nećemo upotrebljavati u navedene svrhe, što može rezultirati nemogućnošću korištenja nekim dodatnim pogodnostima koje su vezane za njih.

Ako ponovno želite dati svoju privolu, to možete učiniti slanjem privole ovdje 

Obrada podataka nužna je za zaključenje poslovne suradnje s nama ili ispunjenje zaključenog ugovora. Ako nam ne dostavite te podatke, nećemo biti u stanju ispuniti svoje obveze prema vama niti ćemo moći s vama zaključiti ugovor.

\r\n

Pravo na prigovor vezan uz obradu osobnih podataka: 

\r\n

Ako vaše podatke distribuiramo radi izvršenja zadaća od javnog interesa ili javnih tijela ili se prilikom njihove obrade pozivamo na naše legitimne interese, možete podnijeti prigovor protiv takve obrade podataka ako postoji interes zaštite vaših podataka.

\r\n

Pravo na ograničenje distribucije: 

\r\n

Od nas možete zatražiti ograničenje distribucije svojih podataka:

\r\n
    \r\n
  • ako osporite točnost podataka tijekom perioda koji nam omogućava provjeru točnosti tih podataka
  • \r\n
  • ako je obrada podataka bila protupravna, ali odbijate brisanje i umjesto toga tražite ograničenje korištenja podacima
  • \r\n
  • ako nam podaci više nisu potrebni za predviđene svrhe, ali su vam još potrebni radi ostvarenja pravnih zahtjeva ili
  • \r\n
  • ako ste podnijeli prigovor zbog distribucije tih podataka 
  • \r\n
\r\n

Pravo na žalbu:

\r\n

Ako ste mišljenja da smo prilikom obrade vaših podataka prekršili Hrvatske ili Europske propise o zaštiti podataka, molimo da nam se obratite na adresu e-pošte  kako bismo razjasnili eventualna pitanja. Svakako imate pravo uložiti pritužbu agenciji za zaštitu podataka, odnosno u slučaju promjene važećih propisa drugom tijelu koje će preuzeti njenu nadležnost, a od 25. svibnja 2018. godine i nadzornom tijelu unutar europske unije.

\r\n

Ako želite ostvariti neko od navedenih prava ili imate pitanja u vezi vaših osobnih podataka obratite nam se slanjem zahtjeva koji se tiču provođenja prava u vezi s osobnim podatcima u pismenom obliku na adresu e-pošte Voditelja zbirke osobnih podataka: szop@g1klub.hr

\r\n

Radi pouzdane identifikacije, u slučaju ostvarivanja vaših prava u vezi s osobnim podacima možemo zatražiti dodatne informacije radi provjere vašeg identiteta, a odbijanje obrade vašeg zahtjeva možemo učiniti u slučaju očite namjere zlouporabe.

\r\n

Odgovorit ćemo na Vaš zahtjev za ostvarivanje prava, vezan za gore navedene osobne podatke, bez nepotrebnog odgađanja i u svakom slučaju u roku od 30 dana od zaprimanja zahtjeva.

\r\n

 

\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default PrivacyPolicy;","import React from 'react';\r\nimport styles from './legal.module.scss';\r\nimport PublicFormLayout from '../authentication/PublicFormLayout';\r\nimport { BackButton } from '../buttons/BackButton';\r\n\r\n\r\nconst SellerContract = () => {\r\n return (\r\n \r\n
\r\n

TOČKA NA J KOORDINACIJA d.o.o., Unska 2c, Zagreb, OIB: 57739667576, koju zastupa direktor Ante Bogdanić (u daljnjem tekstu Izvršitelj usluge)

\r\n

i

\r\n

__________________________________________________________________________________________________________________

\r\n

Pravna osoba

\r\n

_________________________________________________________________, ________________________________________________

\r\n

                                                                                        Adresa                                                                                                                                               OIB

\r\n

__________________________________________________________________________________________________________________

\r\n

E-mail i telefon

\r\n

koju zastupa direktor/ica ________________________________________________________________________________________

\r\n

(u daljnjem tekstu Naručitelj usluge),

\r\n

sklopili su:

\r\n

UGOVOR O KOORDINACIJI PARAVA PRODUŽENOG JAMSTVA

\r\n

Članak 1.

\r\n

Pravna osoba Točka na J Koordinacija d.o.o., nositelj ugovora, vlasnik je produkta G1 klub koji će se u daljnjem tekstu koristiti kao koordinator prava na produženo auto jamstvo.

\r\n

Pravna osoba Točka na J Koordinacija d.o.o., svoj produkt G1 pravo na produženo auto jamstvo, prodaje prodavatelju vozila na komisionu prodaju.

\r\n

Članak 2.

\r\n

Pravna osoba Točka na J Koordinacija d.o.o., će koordinirati pravo na produženo auto jamstvo prema općim uvjetima poslovanja koji su prilog ovog ugovora.

\r\n

Članak 3.

\r\n

Prodavatelj će zajedno s prodajom svojih vozila uklopiti i pravo na produženo auto jamstvo s kojim koordinira pravna osoba Točka na J Koordinacija d.o.o.

\r\n

Prodavatelj se obavezuje na svako vozilo koje prodaje, a koje zadovoljava uvjete za dobivanje prava na produženo auto jamstvo, uklopiti pravo na produženo auto jamstvo te o tome izvijestiti pravnu osobu Točka na J koordinacija d.o.o.

\r\n

Članak 4.

\r\n

U slučaju posebnih prodajnih i promotivnih akcija prodavatelj dozvoljava pravnoj osobi Točka na J Koordinacija d.o.o. posebno isticanje i pozicioniranje njegovog imena i oznaka u promotivne svrhe kao i korištenja njegovih oglašenih artikala.

\r\n

Pravna osoba Točka na J koordinacija d.o.o. se obavezuje u svakoj prodajnoj i promotivnoj akciji čuvati ime i ugled prodavatelja te ga o svakoj mogućoj aktivnosti navedenog tipa posebno izvijestiti pismenim putem najmanje 8 dana prije početka akcije.

\r\n

Članak 5.

\r\n

Prodavatelj se obavezuje da će kupcu vozila pojasniti sve o njegovom pravu na produženo auto jamstvo te način na koji aktivira koordinaciju prava na produženo jamstvo zajedno sa svim prednostima kupovine vozila s pravom na produženo auto jamstvo.

\r\n

Članak 6.

\r\n

Pravna osoba Točka na J Koordinacija d.o.o. zadržava pravo uskraćivanja usluge koordinacije prava produženog auto jamstva u prvih 10 dana od aktivacije prava na produženo jamstva i prijeđenih 1000 kilometara od broja kilometara upisanih i uslikanih u G1 aplikaciju, ukoliko posumnja u ispravnost prodanog vozila na kojem je pravo na produženo auto jamstvo. Takvo vozilo ima pravo isključivo samo na uslugu HAK pomoć na cesti, koja je sastavni dio produkta Koordinacije prava na produženo auto jamstvo.

\r\n

Članak 7.

\r\n

Ukoliko na prodanom vozilu koje je predmet koordinacije prava, postoji još važeća garancija proizvođača vozila, G1 pravo na produženo auto jamstvo bit će uključeno u trenutku isteka garancije proizvođača vozila i trajat će prema ugovorenom roku.

\r\n

Članak 8.

\r\n

Prodavatelj se obavezuje da će preuzeti odgovornost u slučaju otkrivanja skrivenih grešaka na vozilu koje nisu predviđene općim uvjetima poslovanja G1 prava na produženo auto jamstvo. Prodavatelj se obvezuje provjeriti ispravnost vozila i točnost navedenih i prikazanih prijeđenih kilometara te otkloniti sve nedostatke na vozilu ukoliko je potrebno prije aktiviranja prava na produženo auto jamstvo.

\r\n

Članak 9.

\r\n

Ugovor je sklopljen bez vremenskog ograničenja i svaka strana ga može raskinuti pismenim putem preporučenom poštom s povratnicom, a otkazni rok traje 30 dana od dana uručenja pismenog otkaza, osim u slučaju iz članka 11.

\r\n

Članak 10.

\r\n

Pravna osoba Točka na J koordinacija d.o.o. ima produkt Osnovnog jamstva s 4 posebna dodatka koji se mogu nadopuniti uz Osnovno jamstvo, a što je prepušteno na volju i odabir prodavatelju ili kupcu.

\r\n

Članak 11.

\r\n

Prodavatelj se obvezuje da će račun platiti u roku od petnaest dana (15) od dana njegovog zaprimanja, na IBAN firme Točka na J koordinacija d.o.o.

\r\n

Ukoliko prodavatelj ne plati račun najkasnije u roku od devedeset dana (90) od dana njegovog izdavanja ili pismenim putem ne zatraži odobrenje produženje roka plaćanja, pravna osoba Točka na J koordinacija d.o.o. ima pravo raskinuti ugovor u roku od tri (3) dana te o istom pismenim putem izvjestiti Prodavatelja kao i sve korisnike koji su pravo na G1 produženo auto jamstvo stekli kupovinom vozila kod navedenog prodavatelja.

\r\n

Raskidom ovog ugovora, sve obaveze prema korisnicima prava na G1 produženo auto jamstvo, koje su obuhvaćene neplaćenim računima, a koji su predmet i povod za raskid ovog ugovora, prelaze u obavezu Prodavatelja.

\r\n

Članak 12.

\r\n

Prodavatelj je suglasan da prihvaćanjem prvog izdanog računa od strane pravne osobe Točka na J koordinacija d.o.o. i unos u poslovne knjige Prodavatelja, ujedno znači i prihvaćanje svih odredbi ovog ugovora, bez obzira na potpis.

\r\n

Članak 13.

\r\n

U slučaju spora nadležan je sud u mjestu koje je sjedište pravne osobe Točka na J Koordinacija d.o.o.

\r\n

U ______________________________                                 BROJ UGOVORA _____________________________________

\r\n

                              Naručitelj:                                                                                   Izvršitelj:

\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SellerContract;","import React from 'react';\r\nimport styles from './legal.module.scss';\r\nimport PublicFormLayout from '../authentication/PublicFormLayout';\r\nimport { BackButton } from '../buttons/BackButton';\r\n\r\nconst Consent = () => {\r\n return (\r\n \r\n
\r\n

Privola

\r\n

Ovime izjavljujem da sam suglasan/a s korištenjem mojih osobnih podataka u svrhu obavljanja osnovne djelatnost tvrtke Točka na J doo (OIB: 57739667576) kontaktiranje , slanja ponuda i pružanja zatraženih informacija . Upoznat/a sam i sa pravom te načinom povlačenja iskazane suglasnosti u svako doba.. Više informacija o zaštiti osobnih podatka pročitajte ovdje

\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Consent;","import React, { useState, useEffect } from 'react';\r\nimport PublicFormLayout from '../../authentication/PublicFormLayout'\r\nimport { Paper, Grid, Checkbox, FormControlLabel, Button } from '@material-ui/core';\r\nimport ContractText from './ContractText';\r\nimport style from './buyerContract.module.scss';\r\nimport IWarranty from '../../../types/IWarranty';\r\nimport WarrantyStatus from '../../../domain/enums/WarrantyStatus';\r\n\r\ninterface IProps {\r\n activateWarranty: () => void,\r\n warranty: IWarranty,\r\n checkWarranties: () => void\r\n}\r\n\r\nconst BuyerContract: React.FC = (props: IProps) => {\r\n const [buttonDisabled, disableButton] = useState(true);\r\n\r\n useEffect(() => disableButton(true), [props.warranty]);\r\n\r\n const activated = props.warranty && props.warranty.status! && props.warranty.status!.name === WarrantyStatus.Active;\r\n const hideTitle = window.location.pathname === '/warranty-rules';\r\n const p1 = props.warranty && props.warranty.carData && props.warranty.carData.isOneYearWarranty ? \r\n \"1. Vaše pravo na koordinaciju produženog auto-jamstva traje godinu dana od dana izdavanja jamstva.\"\r\n :\r\n \"1. Vaše pravo na koordinaciju produženog auto-jamstva traje dvije godine od dana izdavanja jamstva.\"\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n

Aktivacija prava na koordinirano jamstvo

\r\n
\r\n \r\n {!activated && p1 ?
\r\n

Važne informacije za valjanost vašeg prava na koordinaciju produženog auto-jamstva


\r\n

{p1}


\r\n

2. Kako bi se zaštitili od mogućih pokušaja prevara prvih 1000 km i 10 dana Vaše pravo na auto-jamstvo ne vrijedi, ali vrijedi HAK usluga pomoći na cesti ako vozilo ostane nepokretno.


\r\n

3. Ako uz Vaše vozilo niste dobili ovjerenu servisnu knjižicu vozila ili ne postoji servisna povijest i nije moguće utvrditi termin zadnje izmjene ulja i filtera, obavezno promijeniti ulje i filter te o tome sačuvati dokaz-račun.


\r\n

4. Obavezno pratite i poštujte redovne i izvanredne servisne intervale koje propisuje proizvođač vozila, u suprotnom pravo na auto-jamstvo ne vrijedi.


\r\n

5. Servise obavezno dogovorite u servisnoj G1 mreži ili kod ovlaštenog servisnog partnera za određenu marku vozila, a o izvršenoj servisnoj obavezi također čuvati dokaz-račun.


\r\n

6. G1 servisnu mrežu u kojoj imate povoljnije uvjete servisiranja vozila kao član G1 kluba, možete pronaći na našem webu www.G1klub.hr


\r\n

7. Ako vozilo ostane nepokretno i postoji potreba za pomoć na cesti, obavezno nazvati HAK-G1 broj +385 1 4693786


\r\n

8. Nikako ne pokušavati popravljati sam vozilo i obavezno se zaustaviti čim se opazi nepravilnost u radu motora, putem kontrolne ploče ili vizualno.


\r\n :

Vaše jamstvo je već uspješno aktivirano! Molimo kliknite na gumb nastavi kako bi ušli u aplikaciju.

}\r\n
\r\n {props.warranty && props.warranty.carData && !activated && \r\n \r\n \r\n Pročitao sam tekst i slažem se s uvjetima\r\n
\r\n }\r\n labelPlacement=\"start\"\r\n control={\r\n disableButton(!buttonDisabled)}\r\n />\r\n }\r\n />\r\n \r\n \r\n

Prihvaćanjem ovog teksta, aktivirat će Vam se jamstvo za automobil {props.warranty.carData!.model + \" \" + props.warranty.carData!.brand}, broj šasije: {props.warranty.carData!.chassisNumber}.

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {props.warranty && props.warranty.carData && activated && \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default BuyerContract;","import React, { useEffect, useState } from 'react';\r\nimport { Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { IApplicationState } from './../../types/applicationState';\r\nimport BuyerContract from '../../components/dashboards/buyerSale/BuyerContract';\r\nimport { Box } from '@material-ui/core';\r\nimport style from './../../components/dashboards/buyerSale/buyerContract.module.scss';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport IActivateWarranty from '../../types/IActivateWarranty';\r\nimport { ActivateWarranty, CheckWarrantiesForActivation } from '../../redux/actions/BuyerAction';\r\nimport { isAuthenticated } from '../../utils/AuthFunctions';\r\nimport GoToPageAction from '../../redux/actions/GoToPageAction';\r\nimport IWarranty from '../../types/IWarranty';\r\nimport { GetContractWarrantyAction} from '../../redux/actions/WarrantyAction';\r\nimport IMatch from './../../types/IMatch';\r\n\r\ninterface IStateToProps {\r\n warranty: IWarranty\r\n}\r\n\r\ninterface IDispatchToProps {\r\n activateWarranty: (activationData: IActivateWarranty) => void,\r\n goToLogin: () => void,\r\n getWarranty: (data: IActivateWarranty) => void,\r\n checkWarranties: (activationData: IActivateWarranty) => void\r\n}\r\n\r\ninterface IProps extends IStateToProps, IDispatchToProps, IMatch { }\r\n\r\nconst BuyerSale: React.FC = (props: IProps) => {\r\n const [warranty, setWarranty] = useState();\r\n const [activationData, setActivationData] = useState();\r\n\r\n useEffect(() => setWarranty(props.warranty), [props.warranty]);\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated()) window.location.href = '/login';\r\n const urlParts = window.location.href.split('/');\r\n const data: IActivateWarranty = {\r\n email: urlParts[urlParts.length - 2],\r\n warrantyId: urlParts[urlParts.length - 1]\r\n }\r\n console.log(data);\r\n props.getWarranty(data);\r\n setActivationData({\r\n email: urlParts[urlParts.length - 2],\r\n warrantyId: urlParts[urlParts.length - 1]\r\n })\r\n }, [props.match.url]);\r\n\r\n return \r\n props.checkWarranties(activationData)} activateWarranty={() => props.activateWarranty(activationData)} warranty={warranty}>\r\n ;\r\n}\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n warranty: state.carWarranty\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n activateWarranty: (data: IActivateWarranty) => dispatch({\r\n type: ActionTypes.ACTIVATE_WARRANTY,\r\n payload: data\r\n }),\r\n goToLogin: () => dispatch({\r\n type: ActionTypes.GO_TO_PAGE,\r\n payload: { url: \"/login\" }\r\n }),\r\n getWarranty: (data: IActivateWarranty) => {\r\n dispatch({\r\n type: ActionTypes.GET_WARRANTY_FOR_CONTRACT,\r\n payload: data\r\n })\r\n },\r\n checkWarranties : (data: IActivateWarranty) => {\r\n dispatch({\r\n type: ActionTypes.CHECK_WARRANTIES_FOR_ACTIVATION,\r\n payload: data.email\r\n })\r\n }\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BuyerSale);","import React, { useState } from 'react';\r\nimport { Paper, Grid } from '@material-ui/core';\r\nimport MaterialTable from 'material-table'\r\nimport styles from './invoicesTable.module.scss';\r\nimport { IInvoiceTable } from '../../types/IInvoiceTable';\r\nimport { IYearDropdown } from '../../types/IYearDropdown';\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport { getInvoices } from '../../redux/sagas/invoicing';\r\n\r\ninterface IProps {\r\n rows: IInvoiceTable[],\r\n loading: boolean,\r\n getInvoices: (year: string) => void,\r\n years: IYearDropdown[]\r\n}\r\n\r\nconst InvoicesTable: React.FC = (props: IProps) => {\r\n var date = new Date();\r\n const [year, setYear] = useState({ label: date.getFullYear().toString(), value: date.getFullYear().toString() });\r\n\r\n\r\n const mapPropsToTable = (): IInvoiceTable[] => {\r\n let newRows = new Array();\r\n\r\n props.rows.forEach((row: IInvoiceTable) => {\r\n let newRow: IInvoiceTable = {\r\n ...row,\r\n }\r\n newRows.push(newRow);\r\n });\r\n return newRows;\r\n }\r\n\r\n function invoiceLink(rowData: IInvoiceTable) {\r\n return Pregled\r\n }\r\n function renderDateWithTime(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY HH:mm\") !== \"Invalid date\" ? moment(date).format(\"DD.MM.YYYY HH:mm\") : date;\r\n }\r\n function renderDate(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY\");\r\n }\r\n\r\n return \r\n {\r\n setYear(el);\r\n props.getInvoices(el.value);\r\n }}\r\n className={styles.dropdown}\r\n options={\r\n props.years.map((x: IYearDropdown) => ({\r\n label: x,\r\n value: x\r\n }))\r\n }\r\n isClearable={false}\r\n />\r\n invoiceLink(rowData)\r\n },\r\n {\r\n title: 'Datum izdavanja', field: 'issueDate',\r\n render: (rowData: IInvoiceTable) => renderDateWithTime(rowData.issueDate!)\r\n },\r\n {\r\n title: 'Datum dospijeća', field: 'dueDate',\r\n render: (rowData: IInvoiceTable) => renderDate(rowData.dueDate!)\r\n },\r\n ]}\r\n data={[...mapPropsToTable()]}\r\n options={{\r\n filtering: true\r\n }}\r\n />\r\n\r\n \r\n}\r\n\r\nexport default InvoicesTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { IApplicationState } from \"../../types/applicationState\";\r\nimport { Dispatch } from \"redux\";\r\nimport ActionTypes from \"../../redux/actions/ActionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport { IInvoiceTable } from \"../../types/IInvoiceTable\";\r\nimport InvoicesTable from \"../../components/tables/InvoicesTable\";\r\nimport ReactGA from 'react-ga';\r\nimport { IYearDropdown } from \"../../types/IYearDropdown\";\r\n\r\ninterface IStateToProps {\r\n invoiceList: IInvoiceTable[],\r\n loading: boolean,\r\n years: IYearDropdown[]\r\n}\r\n\r\ninterface IDispatchToProps {\r\n getInvoices: (year: string) => void,\r\n getYears: () => void,\r\n}\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps { }\r\n\r\nconst InvoicesOverview: React.FC = props => {\r\n\r\n useEffect(() => {\r\n var date = new Date();\r\n ReactGA.pageview(\"Admin | pregled racuna\");\r\n props.getYears();\r\n props.getInvoices(date.getFullYear().toString());\r\n }, [])\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n invoiceList: state.invoiceList.data.invoices,\r\n loading: state.invoiceList.loading, \r\n years: state.years.data\r\n})\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchToProps => ({\r\n getInvoices: (year: string) =>\r\n dispatch({\r\n type: ActionTypes.GET_INVOICES,\r\n payload: { year }\r\n }),\r\n getYears: () =>\r\n dispatch({\r\n type: ActionTypes.GET_YEARS\r\n }),\r\n\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InvoicesOverview);\r\n","import React from 'react';\r\n\r\nconst AnalyticsOverview = () => {\r\n return (\r\n
\r\n
AnalyticsOverview
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default AnalyticsOverview;","import React, { useState, useEffect } from 'react';\r\nimport { Paper, Button } from '@material-ui/core';\r\nimport { Grid } from '@material-ui/core';\r\nimport { ValidatorForm } from 'react-material-ui-form-validator';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport styles from './importCars.module.scss';\r\nimport ISellerProps from './../../../types/ISellerProps';\r\nimport { IImportCar } from './../../../types/IImportCar';\r\n\r\nimport Select from 'react-select';\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {}\r\n\r\ninterface IDispatchToProps {\r\n submit: (data: IImportCar) => void,\r\n}\r\n\r\ninterface IStateToProps {\r\n sellers: ISellerProps[];\r\n}\r\n\r\nconst ImportCarsForm: React.FC = (props: IProps) => {\r\n const handleSubmit = () => {\r\n if (!selectedSeller) {\r\n alert('Potrebno odabrati trgovca!');\r\n return;\r\n }\r\n var htmls: any = [];\r\n htmlList.forEach((htmlObject: any) => {\r\n if (htmlObject.html.length > 0) htmls.push(htmlObject.html);\r\n });\r\n var data: IImportCar = {\r\n sellerId: selectedSeller.value,\r\n htmls: htmls,\r\n };\r\n props.submit(data);\r\n };\r\n\r\n const [selectedSeller, setSelectedSeller] = useState();\r\n\r\n const handleSelectSeller = (value: any) => {\r\n localStorage.setItem('carSeller', JSON.stringify(value));\r\n setSelectedSeller(value);\r\n };\r\n\r\n const [carNumber, setCarNumber] = useState(1);\r\n const [htmlList, setHtmlList] = useState>([{ id: carNumber, html: '' }]);\r\n\r\n const handleTextArea = (id: number) => {\r\n let html = (document.getElementById(id.toString()) as HTMLInputElement).value;\r\n let index = htmlList.findIndex((o: any) => o.id === id);\r\n (htmlList as any)[index].html = html;\r\n setHtmlList(htmlList);\r\n };\r\n\r\n const addOneMore = () => {\r\n htmlList.push({ id: carNumber + 1, html: '' });\r\n setCarNumber(carNumber + 1);\r\n setHtmlList(htmlList);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n

Import vozila

\r\n

\r\n Ući u vozilo na njuškalo, ctrl + u, copy/paste ovdje.\r\n

\r\n
\r\n\r\n \r\n {}}>\r\n \r\n

Trgovac

\r\n ({\r\n label: m.fullName,\r\n value: m.id,\r\n }))\r\n }\r\n className={styles.selectSeller}\r\n isClearable\r\n />\r\n
\r\n \r\n {htmlList &&\r\n htmlList.map((html: any) => (\r\n \r\n ))}\r\n \r\n \r\n addOneMore()}\r\n >\r\n Još jedno auto\r\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 ImportCarsForm;\r\n","import React, { useEffect } from 'react';\r\nimport ImportCarsForm from '../../components/forms/importCars/ImportCarsForm';\r\nimport ISellerProps from './../../types/ISellerProps';\r\nimport { IImportCar } from './../../types/IImportCar';\r\nimport ILegalEntity from './../../types/ILegalEntitiy';\r\nimport { IApplicationState } from '../../types/applicationState';\r\nimport { Dispatch } from 'redux';\r\nimport ActionTypes from '../../redux/actions/ActionTypes';\r\nimport { GetAllSellersAction } from '../../redux/actions/SellerAction';\r\nimport { ImportCarAction } from '../../redux/actions/CarAction';\r\nimport { connect } from 'react-redux';\r\nimport ReactGA from 'react-ga';\r\n\r\ninterface IProps extends IDispatchToProps, IStateToProps {}\r\n\r\ninterface IDispatchToProps {\r\n importCars: (data: IImportCar) => void;\r\n getAllSellers: () => void;\r\n}\r\n\r\ninterface IStateToProps {\r\n sellers: ISellerProps[];\r\n}\r\n\r\nconst ImportCars: React.FC = (props: IProps) => {\r\n useEffect(() => {\r\n ReactGA.pageview('Admin | uvoz automobila');\r\n props.getAllSellers();\r\n }, []);\r\n\r\n const handleSubmit = (data: IImportCar) => {\r\n props.importCars(data);\r\n };\r\n\r\n return ;\r\n};\r\n\r\nconst mapStateToProps = (state: IApplicationState): IStateToProps => ({\r\n sellers: state.sellers.data,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n importCars: (data: IImportCar) =>\r\n dispatch({\r\n type: ActionTypes.IMPORT_CARS,\r\n payload: data,\r\n }),\r\n getAllSellers: () =>\r\n dispatch({\r\n type: ActionTypes.GET_SELLERS,\r\n }),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ImportCars);\r\n","import React from 'react';\r\nimport { Provider as ReduxProvider } from 'react-redux';\r\nimport './global.scss';\r\nimport configureStore from './store';\r\nimport ActionTypes from './redux/actions/ActionTypes';\r\nimport configureContainer from './di/configureContainer';\r\nimport { Switch, Route, Router } from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport { Redirect } from 'react-router';\r\nimport WarrantyFormPage from './containers/warranty/WarrantyFormPage';\r\nimport CarFormPage from './containers/car/CarFormPage';\r\nimport WarrantyOverview from './containers/warranty/WarrantyOverview';\r\nimport PrivateRoute from './components/routing/PrivateRoute';\r\nimport LoginFormPage from './containers/authentication/LoginFormPage';\r\nimport AdminTableOverview from \"./containers/admin/AdminTableOverview\";\r\nimport AllWarrantiesOverview from \"./containers/admin/AllWarrantiesOverview\";\r\nimport ArchiveWarrantiesOverview from \"./containers/admin/ArchiveWarrantiesOverview\";\r\nimport SellerRegistration from \"./containers/admin/SellerRegistration\";\r\nimport BuyerRegistration from \"./containers/admin/BuyerRegistration\";\r\nimport WarrantiesForBuyer from \"./containers/admin/WarrantiesForBuyer\";\r\nimport WarrantiesForSeller from \"./containers/admin/WarrantiesForSeller\";\r\nimport { StylesProvider } from '@material-ui/styles';\r\nimport { isAdmin, isMarketing, isSuperAdmin } from './utils/AuthFunctions';\r\nimport DamagePage from './containers/damage/DamagePage';\r\nimport NewDamagePage from './containers/damage/NewDamagePage';\r\nimport DamageAdminOverview from './containers/damage/DamageAdminOverview';\r\nimport CarAdminOverview from './containers/car/CarAdminOverview';\r\nimport CarSellerOverview from './containers/car/CarSellerOverview';\r\nimport CarAdminOnlyCarsOverview from './containers/car/CarAdminOnlyCarsOverview';\r\nimport CarAdminSoldOnlyCarsOverview from './containers/car/CarAdminSoldOnlyCarsOverview';\r\nimport PublicRoute from './components/routing/PublicRoute';\r\nimport EmailFormPage from './containers/authentication/EmailFormPage';\r\nimport ConfirmPasswordPage from './containers/authentication/ConfirmPasswordPage';\r\nimport FirstLoginDashboard from './components/dashboards/firstLogin/FirstLoginDashboard';\r\nimport BuyersOverview from './containers/admin/BuyersOverview';\r\nimport DamageSellerOverview from './containers/damage/DamageSellerOverview';\r\nimport DamageBuyerOverview from './containers/damage/DamageBuyerOverview';\r\nimport DamageSellerByAdminOverview from './containers/damage/DamageSellerByAdminOverview';\r\nimport DamageWarrantyOverview from './containers/damage/DamageWarrantyOverview';\r\nimport DamageCarOverview from './containers/damage/DamageCarOverview';\r\nimport SellersOverview from './containers/admin/SellersOverview';\r\nimport MarketingSellersOverview from './containers/marketing/MarketingSellersOverview';\r\nimport OtherActiveSellersOverview from './containers/admin/OtherActiveSellersOverview';\r\nimport MarketingSoldOverview from './containers/marketing/MarketingSoldOverview';\r\nimport BuyerOverview from './containers/admin/BuyerOverview';\r\nimport SellerOverview from './containers/admin/SellerOverview';\r\nimport StatisticsMarketingWarrantiesOverview from './containers/statistics/StatisticsMarketingWarrantiesOverview';\r\nimport StatisticsWarrantiesOverview from './containers/statistics/StatisticsWarrantiesOverview';\r\nimport SellersUnactiveOverview from './containers/admin/SellersUnactiveOverview';\r\nimport TOS from './components/legal/TOS';\r\nimport PrivacyPolicy from './components/legal/PrivacyPolicy';\r\nimport SellerContract from './components/legal/SellerContract';\r\nimport Consent from './components/legal/Consent';\r\nimport BuyerSale from './containers/buyer/BuyerSale';\r\nimport PortalOverview from './containers/portal/PortalOverview';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport CarDetails from './containers/portal/CarDetails';\r\nimport InvoicesOverview from './containers/invoicing/InvoicesOverview';\r\nimport AnalyticsOverview from './components/analytics/AnalyticsOverview';\r\nimport ImportCars from './containers/admin/ImportCars';\r\nimport ReactGA from 'react-ga';\r\nconst container = configureContainer();\r\nconst history = createBrowserHistory();\r\n\r\nconst store = configureStore(history, {\r\n container: container\r\n});\r\nstore.dispatch({ type: ActionTypes.INIT_STATE });\r\n\r\nReactGA.initialize('UA-154431706-2');\r\n\r\n\r\nconst App: React.FC = () => {\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 {/* pazi ako ces mjenjat naziv /create_seller, hardkodirano je u SellerRegistration kontroleru, gleda taj string na loadu*/}\r\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 (isAdmin() || isSuperAdmin()) ?\r\n :\r\n isMarketing() ? < Redirect to=\"/soldMarketing\" /> : < Redirect to=\"/overview\" />\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 { createStore, applyMiddleware} from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';\r\nimport createSagaMiddleware from '@redux-saga/core';\r\nimport rootSaga from './redux/sagas';\r\nimport combinedReducers from './redux/reducers/index'\r\nimport { History } from 'history';\r\nimport { routerMiddleware } from 'react-router-redux';\r\n\r\n\r\nexport default function configureStore(history: History, context?: any) {\r\n const composeEnhancers = composeWithDevTools({});\r\n const saga = createSagaMiddleware({\r\n context: context,\r\n });\r\n const router = routerMiddleware(history);\r\n\r\n const store = createStore(\r\n combinedReducers,\r\n undefined,\r\n composeEnhancers(applyMiddleware( saga, router))\r\n );\r\n\r\n saga.run(rootSaga);\r\n\r\n return store;\r\n};\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","export{}\r\ndeclare global {\r\n interface Array {\r\n first(): T;\r\n }\r\n}\r\n\r\nif (!Array.prototype.first) {\r\n // eslint-disable-next-line no-extend-native\r\n Array.prototype.first = function(this: T[]): T | undefined {\r\n return this.find(x => x !== undefined);\r\n };\r\n}\r\n","import 'react-app-polyfill/ie11';\r\n//import 'react-app-polyfill/stable';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport \"reflect-metadata\";\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport './i18n';\r\nimport './utils/ArrayExtensions/ArrayFirstExtension';\r\n\r\nReactDOM.render(,\r\n document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}