{"version":3,"sources":["components/navbar/hover/components/navCarCard.jsx","utils/slugManager.js","components/navbar/hover/navCar.jsx","components/navbar/hover/components/navMaintenanceCard.jsx","components/navbar/hover/components/navWorkHours.jsx","components/navbar/hover/navMaintenance.jsx","pages/eparts/components/countDown.jsx","utils/currencyFormatter.js","components/__simple/_price.jsx","components/navbar/hover/components/navPartCard.jsx","components/navbar/hover/navParts.jsx","components/navbar/hover/navAbout.jsx","pages/contact/components/map.jsx","components/error.jsx","components/_input/_input.jsx","components/_input/_textArea.jsx","components/_input/_button.jsx","utils/validation.js","components/_input/_phoneInput.jsx","components/_input/_phoneDropDown.jsx","utils/resetDropDown.js","pages/eparts/components/customPopover.js","pages/eparts/components/partSearch.jsx","components/_input/_dropdown.jsx","pages/contact/components/contactTile.jsx","components/navbar/hover/navContact.jsx","User/popup.jsx","_redux/slices/cartSlice.js","User/components/popupHeader.jsx","utils/localStorageManager.js","_functions/cart.js","User/hooks/useUserCart.js","User/hooks/useUserFavorite.js","User/signIn.jsx","components/_input/_checkInput.jsx","components/_input/_fileInput.jsx","utils/localDB.js","components/sectionHeading.jsx","User/signUp.jsx","User/components/countDown.jsx","User/resetPassword.jsx","User/loginValidation.jsx","components/_input/advancedSearch.jsx","components/__simple/callCenter.jsx","components/navbar/navbar.jsx","components/__simple/_footerHeading.jsx","components/footer.jsx","utils/confirmContext.js","utils/compareProvider.js","components/slide.jsx","components/_info.jsx","components/iconText.jsx","components/__simple/_pageheading.jsx","components/testimonial.jsx","sections/testimonialSection.jsx","components/__simple/_whyBox.jsx","sections/whyHJSection.jsx","components/offer.jsx","components/__simple/_filterButton.jsx","pages/home/sections/homeOfferSection.jsx","utils/shareDataMaker.js","components/__simple/_likeButton.jsx","components/car.jsx","pages/home/sections/homeVehicleSection.jsx","components/adsBanner.jsx","pages/home/index.jsx","components/_input/SimpleButton.jsx","components/banner.jsx","sections/offersSection.jsx","components/__simple/breadcrumb.jsx","pages/offers/index.jsx","components/_input/_dateInput_3.jsx","pages/offers/offerServiceReservationByID.jsx","pages/news/components/news.jsx","pages/news/components/newsBanner.jsx","pages/news/index.jsx","pages/news/detail.jsx","pages/employment/components/job.jsx","pages/employment/components/filters.jsx","pages/employment/index.jsx","components/_input/_dateInput_2.jsx","components/_input/_radioInput.jsx","components/_input/_uploadControl.jsx","pages/employment/detail.jsx","components/_input/_radioInputDynamic.jsx","pages/employment/ApplicationForm.jsx","pages/employment/interviewAttendance.jsx","components/__simple/_infoCirclejsx.jsx","_redux/slices/navSlice.js","pages/vehicles/index.jsx","pages/vehicles/vehicleOnline.jsx","pages/vehicles/overviewContext.js","pages/vehicles/components/carBanner.jsx","pages/vehicles/components/carSpecsTile.jsx","pages/vehicles/details/specs.jsx","pages/vehicles/components/featureCard.jsx","pages/vehicles/details/features.jsx","pages/vehicles/details/gallery.jsx","pages/vehicles/components/colorPicker.jsx","pages/vehicles/components/carModel.jsx","components/__simple/_pageLink.jsx","pages/vehicles/components/carFeature.jsx","pages/vehicles/details/overview.jsx","pages/vehicles/details/home.jsx","components/_input/_dropdown1.jsx","components/CustomItemServices.js","User/components/CarUser.jsx","components/offerDetail.jsx","pages/offers/detail.jsx","pages/offers/vehicles.jsx","pages/eparts/components/campaign.jsx","pages/eparts/components/part.jsx","components/serviceBox.jsx","components/__simple/_simpleBanner.jsx","components/__simple/_aboutBox.jsx","sections/aboutHJ.jsx","pages/landengPage/sections/landengSlide.jsx","pages/eparts/components/partSlide.jsx","pages/eparts/components/sectionSlideEpart.js","pages/eparts/index.jsx","pages/eparts/components/rate.jsx","pages/eparts/components/ratingSection.jsx","components/simpleCardCar.js","pages/eparts/components/carSection.jsx","components/customTabbyTamara.js","pages/eparts/detail.jsx","pages/cart/component/Item.jsx","pages/cart/component/gift.jsx","pages/cart/component/cart.jsx","pages/cart/component/CartEpart.jsx","pages/cart/component/BouquetCart.jsx","pages/cart/component/ServiceBox.jsx","pages/cart/component/BranchInfo.jsx","pages/cart/component/CouponControl.jsx","pages/cart/component/PaymentsPlatforms.jsx","pages/cart/component/CartDetails.jsx","pages/cart/index.jsx","pages/finance/components/financeRange.jsx","pages/finance/components/financeSearch.jsx","pages/finance/components/financeCar.jsx","pages/finance/index.jsx","components/brandImage.jsx","pages/finance/detail.jsx","pages/about/components/about-awards.jsx","pages/about/components/about-visions.jsx","pages/about/components/about-counter.jsx","pages/about/index.jsx","pages/contact/components/contactList.jsx","pages/contact/components/mapBanner.jsx","pages/contact/index.jsx","scrollToTop.js","_redux/store.js","pages/maintenance/components/maintenance.jsx","pages/maintenance/components/serviceHeaderBanner.jsx","pages/maintenance/maintenanceContext.js","components/_input/_dropdown2.jsx","pages/maintenance/subpages/mainServicePage.jsx","pages/maintenance/components/serviceFeature.jsx","pages/maintenance/subpages/subMainServicePage.jsx","pages/maintenance/subpages/subServicePage.jsx","pages/maintenance/subpages/servicePage.jsx","pages/maintenance/serviceReservation.jsx","pages/maintenance/serviceReservationByID.jsx","pages/maintenance/components/EvaluationType.jsx","pages/maintenance/protectionAndShading.jsx","pages/maintenance/index.jsx","pages/maintenance/components/subServiceBox.jsx","pages/maintenance/m-service.jsx","pages/maintenance/serviceDetail.jsx","components/carFeature.jsx","pages/orderCar/index.jsx","pages/finance/order.jsx","components/_input/_dateInput.jsx","pages/maintenance/order.jsx","pages/Hj/components/adviceTile.jsx","pages/Hj/advises.jsx","User/components/sideNavbar.jsx","User/notifications.jsx","User/home.jsx","User/offers.jsx","User/components/seactionHeader.jsx","User/vehicles.jsx","User/profile.jsx","components/protectedRoute.jsx","pages/_errors/404.jsx","User/components/vehicleDetails.jsx","User/detailsUserVehicles.jsx","User/myBookings.jsx","User/components/ownOrders/ownOrderContext.js","User/components/ownOrders/ownHistory.jsx","User/components/ownOrders/ownOrderDetails.jsx","User/userOrders.jsx","User/components/phoenMenu.jsx","User/components/favoriteItem.jsx","User/favorite.jsx","User/index.jsx","components/contentLoading.jsx","pages/_errors/redirect.jsx","pages/offers/offersByType.jsx","pages/eparts/group.jsx","pages/eparts/testEparts.js","pages/eparts/paginationComponent.js","pages/eparts/customaAlert.js","pages/eparts/sereach.jsx","pages/eparts/campaignOrder.jsx","pages/eparts/components/campaignPart.jsx","pages/eparts/campaignDetails.jsx","pages/eparts/featureDetails.jsx","pages/compare/comp/compare.jsx","pages/compare/index.jsx","pages/offers/order.jsx","components/purchaseConfirm.jsx","components/registrationpup.jsx","pages/search/component/search.jsx","pages/search/component/searchResultContainer.jsx","pages/search/index.jsx","components/customerService.jsx","pages/Alerts/purchaseAlertPage.jsx","pages/privacy/index.jsx","pages/websitePolicy/index.jsx","pages/Agreement/index.jsx","pages/ProtectionAndShadingAgreement/index.jsx","components/headerLandengPage.jsx","pages/landengPage/sections/partSearch.jsx","pages/landengPage/sections/map.jsx","pages/landengPage/sections/contactTile.jsx","pages/landengPage/sections/contactList.jsx","pages/landengPage/sections/mapBanner.jsx","pages/landengPage/sections/navbar/navbar.jsx","pages/landengPage/sections/counter.jsx","pages/landengPage/index.jsx","pages/carOverview/index.jsx","pages/landengPage/news/components/news.jsx","pages/landengPage/news/components/newsBanner.jsx","pages/landengPage/generalQuestion.js","pages/landengPage/news/index.jsx","App.js","reportWebVitals.js","i18n.js","index.js"],"names":["NavCarCard","img","name","link","prop","Year","to","onClick","className","src","alt","onError","e","target","style","display","Arabic_Patter","slugCombine","SlugPart1","SlugPart2","getCleanSlug","enIndex","url","decodeURI","window","location","href","urlLanguage","localStorage","getItem","urlLastSegment","substring","lastIndexOf","split","arIndex","forEach","item","index","test","toLowerCase","slugSplitter","sugments","slugs","NavCar","trans","useTranslation","t","useState","brands","setBrands","vehicles","setVehicles","filteredVehicles","setFilteredVehicles","filters","setFilters","CarCategories","setCarCategories","brandFilter","setBrandFilter","typeFilter","setTypeFilter","otherBrand","setOtherBrand","_setFilters","filteredBrand","filterHasVehicals","filter","brand","f","c","category","length","brandCategories","_filterVehicles","type","filterData","car","fTypeFilter","useEffect","lang","a","curl2","caches","open","cacheStorage","match","cachedResponse","json","data","axios","request","baseURL","config","controllURL","method","res","data22","Response","JSON","stringify","then","cache","put","curl","post","response","status","data44","console","log","map","fBrandFilter","count","borderRadius","width","height","containerClassName","inline","vehicle","mainURL","image","group","year","id","NavMaintenanceCard","description","price","days","NavWorkHours","department","languageDir","workingHours","setWorkingHours","holidaysList","setHolidaysList","weekDatesList","setWeekDatesList","day","orginal","getHolidays","body","values","responseType","info","catch","error","now","Date","dayOfWeek","getDay","startOfWeek","daysSinceSaturday","setDate","getDate","weekDates","i","date","push","dayNameAr","toLocaleDateString","weekday","dayNameEn","dya","get_month","getMonth","getWeekDates","setTimeout","intialOperationalTimeOfDuty","calenders","responseData","firstPeroid","find","String","Type","startOnetPeriodTime","StartTime","endOnePeriodTime","EndTime","secondPeriod","startPeriodTime","endPeriodTime","items","Object","keys","_day","dayAfterFind","itemDay","hasHoliday","itemHoliday","Day","Month","formatValue","Description","getTimeFormat","value","includes","replace","ele","NavMaintenance","maintenanceOffers","setMaintenanceOffers","categories","setCategories","intialOffers","intialCategories","otherSlug","slugEn","slug","slugAr","Days","responseDataFiltered","MainServiceID","path","_values","slice","offer","cat","SubService1ID","CountDown","Total","start","end","showSeconds","Ref","useRef","timer","setTimer","startTimer","total","parse","seconds","Math","floor","minutes","hours","month","getTimeRemaining","countDownFormat","clearTimer","current","clearInterval","setInterval","getDeadTime","deadline","setSeconds","getSeconds","setMinutes","getMinutes","setHours","getHours","numberFormat","number","showZero","classNameCurrency","displayCurrencyLiter","syntax","code","locale","undefined","concat","Intl","NumberFormat","format","random","Price","i18n","language","parseFloat","NavPartCard","title","endDate","startDate","totalTime","NavParts","compaign","setCompaign","intialCompaign","intialEPartsCategories","ApiObjectData","firstTwoOffers","_","orderBy","moment","CreatedDate","GUID","DateFrom","DateTo","TotalTime","TotalAmountDiscount","com","NavAbout","aboutList","history","useHistory","aboutOwner","setAboutOwner","intial","responseResult","finalResult","cursor","elementID","document","getElementById","scrollIntoView","navigateToElement","Map","latitude","longitude","content","markers","multiMarkers","currentPosition","setCurrentPosition","setMultiPositions","toggle","setToggle","success","position","lat","coords","lng","navigator","geolocation","getCurrentPosition","mm","handleToggle","infoWindowStyle","backgroundColor","color","textAlign","minWidth","fontSize","fontWeight","mapContainerStyle","zoom","center","clickableIcons","options","panControl","mapTypeControl","fullscreenControl","streetViewControl","zoomControl","clickable","onCloseClick","label","toString","ErrorLabel","errorTitle","block","classes","InputField","readOnly","disabled","onChangeValue","onKeyDown","onLeave","onKeyPress","errorLabel","placeholder","secondary","required","extraClasses","passwordStrength","onAcceptPassword","searchIcon","onClicksearchIcon","props","validationMessage","setValidationMessage","weak","middle","powerful","strength","setStrength","htmlFor","event","onBlur","maxLength","onChange","_value","_numericPattern","_alphaCapitalPattern","_alphaSamllPattern","_simplePattern","val","strengthCount","_message","search","handlePasswordStrength","class","TextArea","row","rows","FormButton","isLoading","isPrimary","icon","xmlns","viewBox","fill","d","GetMessages","formValidate","schema","validate","abortEarly","errors","details","message","PhoneInput","enabled","defaultValue","prefix","phonevalue","setPhoneValue","direction","pattern","startsWith","onInput","result","validity","valid","handleChange","PhoneDropDown","mandotory","defaultFlag","placeholderProp","countriesListCode","isLoginProp","defaultFlagPath","isOpened","setIsOpened","isFocus","setIsFocus","DescriptionAr","DescriptionEn","flag","currentcountriesCode","setCurrentcountriesCode","flagText","activeFlag","setActiveFlag","phoneValue","flagRef","inputRef","addEventListener","handleClickOutside","removeEventListener","Country","setCountry","Body","contains","FillAllCountries","bb","DialingCode","parseInt","dir","onFocus","ref","right","focus","handleChangeCountryCode","dropDownResetter","callback","forceReturn","CustomPopover","listMain","level2","level3","isShowIndex","setIsShowIndex","CatMain","setCatMain","SuPCat","setSupCat","fCatSup1","setoptionCatSup","fCatSup2","setoptionCatSup2","dropdownRef","imageTitle","setImageTitle","parentNode","slidesPerView","spaceBetween","resizeObserver","watchSlidesVisibility","watchSlidesProgress","autoplay","loop","option","show","GroupIDMain","ImageUrl","button","drId","indexP","dropdown","getBoundingClientRect","left","dropdownContent","rect","rightSpace","leftSpace","adjustDropdownPosition","GroupIDMainSup1","filterCatSup2","valLevel2","indexLevel2","GroupIDMainSup2","PartSearch","forwardRef","isLoadingFuncProp","isIndex","onChangValuesProp","passEngineGroups","activePage","query","URLSearchParams","useLocation","setBrand","get","queryProduct","setQueryProduct","Brands","ProductGroups","setProductGroups","ProductModel","setProductModel","ProductModelTypes","setProductModelTypes","engineGroups","setEngineGroups","engineGroupsSup","setEngineGroupsSup","engineGroupsSup2","setEngineGroupsSup2","setResGroup","setResProductType","setResProductModel","brandID","resProductTypeQuery","resProductType","resGroupQuery","resGroup","resProductModelQuery","resProductModel","FunCat","Engine_Groups","Engine_GroupsSup","Engine_GroupsSup2","FunVech","FunPro","Product","refreshPage","FProductGroups","setFProductGroups","FProductModelTypes","setFProductModelTypes","text","SSuPCat","setSSupCat","setPro","GetUrl","SendRequset","settingResponse","groups","productModels","reverse","models","BodyBrands","BodyProductGroups","BodyProductModel","BodyProductModelTypes","BodyEngineGroups","requestEngineGroups","BodyEngineGroupsSUP","requestEngineGroupsSUP","BodyEngineGroupsSUP2","requestEngineGroupsSUP2","all","spread","EngineGroups","EngineGroupsSup","EngineGroupsSup2","resVal","productGroupID","setResProduct","setIsHeadingBtn","clearFiltersFunc","useImperativeHandle","DropDownInput","styles","isSecondary","inputName","onSelect","fieldTextClass","classDropdownField","defaultOption","onfilter","isepart","selectedValue","force","roundedFull","optionsRef","isOpen","setIsOpen","selectedOption","setSelectedOption","filterOptions","setfilterOptions","funSelectValueOption","vv","selectOption","buyOnline","ContactTile","Base64","isValid","NavContact","fullName","phone","email","subject","messageContent","setMessage","branches","setBranches","contacts","setContacts","selectedBranch","setSelectedBranch","subjects","setSubjects","rad","x","PI","find_closest_marker","distances","closest","mlat","mlng","dLat","dLong","sin","cos","atan2","sqrt","allContects","branchId","setError","submitRequest","preventDefault","Number","toast","onSubmit","countryCode","phoneNumber","contact","typeIconPath","contactValue","typeValue","contactTitle","typeTitle","Popup","children","cartSlice","createSlice","initialState","reducers","changeCount","nav","action","payload","actions","PopupHeader","welcomeTitle","subTitle","closePopUp","User_Data_Key","saveData","key","encryptData","transformedValue","crypto","AES","encrypt","cryptoKey","setItem","getData","descryptData","keyData","decrypt","enc","Utf8","addToCart","MiniDownPayment","nameEn","modelTypeID","modelCode","brandEn","Tax","Discount","colorId","modelTypes","modelTypesEn","productID","groupEn","BrandID","colorName","colorNameEn","packageId","Orderdate","Translation","ns","objectCart","colorID","groupID","ProductID","add","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","dispatchEvent","Event","useUserCart","USER_CART_ITEMS","cartItems","setcartItems","itemsLength","initSignIN","guid","list","changecartItem","quantity","init","_products","SalesPrice","BrandDescriptionAr","BrandDescriptionEn","Group","ProductImage","SalesPriceDiscount","ItemType","colorNameAr","CarGroupID","modelTypesAr","ProductNo","QTY","err","objectProduct","isGetInitData","returnValue","userID","colorIDSelect","modelTypeIDSelect","modelCodeSelect","packageIdSelect","yearSelect","cartItemsDetails","itemsDetails","newQTY","exists","addQuantityCart","removecartItems","cartID","remove","removeAllcartItems","initCartItems","isCartItem","useUserFavorite","USER_FAVORITE_ITEMS","favoriteItems","setFavoriteItems","setItemslength","isFavoriteItem","changeFavoriteItemState","newItems","currentItems","favoriteItemsDetails","withGroup","_data","groupResult","mapValues","groupBy","fList","omit","groupValues","assign","finalResults","obj","heading","SignIn","onTabChange","onLogin","bodyRef","tabsList","tab","isSending","setIsSending","EMAIL_KEY","PHONE_KEY","IDENTITY_KEY","identityNo","password","confirm","requestForm","setRequestForm","enterType","setEnterType","confirmPhoneNumber","setConfirmPhoneNumber","Joi","object","string","minDomainSegments","tlds","allow","messages","optional","min","or","schemaphoneNumber","schemaidentityNo","schemaConfirm","removeUnspecificError","errorList","errorResult","removeUnspecific2Error","handleSendVerificationCode","sch","codeValid","selectedTabClassName","defaultIndex","handleChangeEnteringType","trim","MD5","handleRequest","userrespons","handleLogin","CheckInput","checked","oncheng","Name","FileInput","onPicker","mimeType","accept","db","SectionHeading","hasRuler","onEdit","editable","infoText","SetStatus","newStatus","SignUp","steps","setSteps","arFirstName","arMiddleName","arLastName","enFirstName","enMiddleName","enLastName","validation","genderID","identity","accountType","commercialIdentity","commercialIdentityImage","identityImage","address","confirmPassword","max","alphanum","accountTypes","setAccountTypes","selectedPrivacy","setSelectedPrivacy","setConfirmValidation","isClientAccount","setIsClientAccount","clicked","toBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","onerror","handleChangeImage","files","size","round","fileBase64","finalFile","substr","indexOf","handleChangeImage2","lowerValues","handleNextStep","specifics","cookies","cookieValue","replaceAll","otherProperities","components","ID","isClient","NeedIdentity","getCorrectSection","contM","onFinish","ResetPassword","activeStep","setActiveStep","validationKey","ticker","setTicker","setClicked","notes","identityType","setIdentityType","setPasswordStrength","handleSteps","createDbRequest","dbName","dbVersion","indexedDB","dbRequest","onupgradeneeded","createObjectStore","keyPath","onsuccess","version","errorCode","proccessUserData","transaction","userStore","objectStore","clear","oncomplete","close","getUserDataByID","LoginValidation","secretKeyValue","encodedData","descriptionAr","descriptionEn","logo","custID","uId","AdvancedSearch","onSearchClick","sections","popRef","searchRef","searchInput","setSearchInput","setSection","searchResult","setSearchResult","filteredSearchResult","setFilteredSearchResult","targetPage","setTargetPage","classList","handleSearchBtn","handleSearchResult","descriptionModel","uniqueID","source","Model","join","BrandAr","BrandEn","Weight","Length","Height","Width","prevousValue","borderStyle","CallCenter","servicePhone","Navbar","popupShow","navRef","navTop","setNavTop","navFlex","setNavFlex","lastScrollY","setLastScrollY","onhamburger","setOnhamburger","showNav","setShowNav","headerFixed","useSelector","state","entities","isFixed","cartCount","iconsBlack","cart","searchPopup","setSearchPopup","showCartNotification","setShowCartNotification","showPopup","setShowPopup","timerRef","activePopUpModel","setActivePopUpModel","handleTabChange","handlePopupStatus","schemaNavContact","countlist","addEvent","setaddEvent","listenForStorage","v","Account","dispatch","listenForStorageToCount","innerWidth","useDispatch","SetTotalTax","setSumItemTotal","setSubTotal","fullTotal","setfullTotal","setMiniDownPayment","currentTotalTax","sum","p","currentSumItemTotal","currentSumfullTotal","currentSubTotal","currentMiniDownPayment","handleScroll","currentScrollY","scrollY","showedListNav","section","handleMouseEnter","handleMouseLeave","clearTimeout","opacity","onMouseLeave","top","exact","onMouseEnter","origin","pathname","lineHeight","zIndex","flexFlow","FooterHeading","Footer","socials","setSocials","setEmail","submitEmail","isEmailExisted","isExisted","social","rel","imagePath","getFullYear","ConfirmContext","React","createContext","displayName","useCompare","vehicleID","maxColumns","COMPARE_KEY","COMPARE_FORMAT_KEY","properities","setProperities","formatProperities","setFormatProperities","requestData","vehID","currentValues","currentFormatValues","_image","Image","vehObject","Values","PropertyID","ProperityDescriptionAr","ProperityDescriptionEn","_tempArray","_propertyObjectValue","_propertyValue","_props","customizedVehicalesGroup","customizedObj","customizedObjValues","without","_valueIndex","findIndex","_tempValues","_currentValue","index2","index3","_v","warning","onDeleteItem","removeItem","_newCurrentValues","onInsert","Slide","bg","seats","minPrice","HP","cylinders","petrol","RateCareDiscount","ProductId","end_Offer","NewCar","NewCar_DateEnd","Hybird","showPric","hybridImage","viewSliderIcon","viewSliderDetails","viewBtns","sliderBackOpasity","context","useContext","background","getEndDate","onShow","displayConfirm","isHyper","isNew","defaultColorID","modelYear","cartDetails","carOrder","Info","hjData","hjGallery","setHjGallery","section1Image","firstResult","newhjData","showImg","IconText","PageHeading","fixed","subtitle","dangerouslySetInnerHTML","__html","Testimonial","TestimonialSection","testimoinals","setTestimoinals","testimonials","pagination","breakpoints","navigation","testimonial","SwiperCore","use","Pagination","Navigation","Autoplay","EffectFade","WhyHJBox","secondTheme","WhyHJSection","whyInfo","setWhyInfo","Offer","excerpt","totalDays","paymentURL","FilterButton","isActive","onclick","HomeOfferSection","offers","filteredOffers","setFilteredOffers","offersFilter","setOfferFilter","filterOfferVehicle","off","observer","otherLink","shareMaker","hashTag","baseUrl","shareObject","LikeButton","long","onToggle","favorite","titleStyle","btnStyle","Car","qty","brandImage","brandIcon","gifts","miniDownPayment","showDetails","hybird","newCar","sharable","discountPrice","isOnline","goBuyDerict","carData","onClickShowSN","btnShowSN","shareOpened","setShareOpened","isToyota","stopPropagation","flexDirection","FacebookShareButton","quote","hashtag","FacebookIcon","TwitterShareButton","TwitterIcon","WhatsappShareButton","WhatsappIcon","TelegramShareButton","TelegramIcon","EmailShareButton","EmailIcon","sn","Boolean","obb","brandAr","groupAr","SN","backGround","HomeVehicleSection","cars","filteredCars","setFilteredCars","carFilter","setCarFilter","filterCars","siteId","countGifts","discount","hybirdImage","rateTaxCar","productId","rateCareDiscount","AdsBanner","adsBanners","setAdsBanners","useRouteMatch","fetchData","backgroundImage","AdsImage","HasRedirect","AdsUrl","Home","setCars","offerPart","setOfferPart","offerPartFilters","setOfferPartFilters","offerVehicle","setOfferVehicle","offerVehicleFilters","setOfferVehicleFilters","slides","setSlides","hjInfo","setHjInfo","setAddVich","isLoadingslides","setLoadingslides","isLoadingInfo","setLoadingInfo","useCallback","curentSlides","curentInfo","homedata","offerPartTypes","offerVehicleTypes","seoPageInfo","setSeoPageInfo","resdata","Helmet","charSet","MetaDescription","MetaGroups","effect","onUpdateSlider","slide","update","seatsNumber","hp","AddVichl","end_at","newCar_DateEnd","SimpleButton","iconPath","hint","Banner","desc","secondImage","btn","offerDate","overlay","backOpasity","isOffer","handelButton","handelActicePackage","packages","acticePackage","setActicePackage","onhandelActicePackage","hidden","duration","showBtn","OfferSections","offersList","showMore","Breadcrumb","links","OfferPage","banner","setBanner","setOffers","Responsedata","DateInput3","boxShadow","paddingInlineStart","OfferServiceReservationByID","useParams","setLogin","Branches","dataFullNum","setDataFullNum","indexPanel","setIndexPanel","orderReservation","setOrderReservation","Note","setNote","resOrderID","setResOrderID","setPackages","years","setYears","isSendeng","setIsSendeng","showFinalPopup","setShowFinalPopup","lastName","time","myCarID","SiteID","notLoginSchema","meterReading","model","setOffer","setOfferSupportedCars","setPackageSupportedCars","acticeService","setActiceService","acticeCar","setActiceCar","FetchOfferSupportedServicesSacondry","FetchOfferSupportedVehicles","GetBranch","tamaraWidgetConfig","country","publicKey","TamaraFAQsFrame","render","setFullDatetime","md","Hours","datetime","ly","fromYear","toYear","newy","offerSupportedCars","packagesSupportedCars","cslug","Mainservice","Lastservice","MainserviceIDS","ServiceID","subService2","setSupportedMainServices","setSupportedLastsServices","setSupportedServices","setLoadingSupportedServices","SupportedLastsServices","SupportedVehicles","setSupportedVehicles","setLoadingSupportedVehicles","listTimeAvailable","setListTimeAvailable","webAvailableReshours","statusText","_lstTime","AvailableHour","warn","checkDataFullNum","_index","reservationOnly","B","VIN","isClearable","selected","filterDate","today","yesterday","placeholderText","dateFormat","customInput","includeTimes","toDateString","showTimeSelect","showTimeSelectOnly","timeIntervals","timeInputLabel","timeCaption","cleanData","subServiceID","TypeServiceID","ServecID","ModelCode","UserID","Amount","ServicesList","myHeaders","Headers","append","raw","headers","OrderID","SendResreve","mainService","subService1","DateIn","clipboard","writeText","News","tag","NewsBanner","NewsPage","page","setActivePage","news","setNews","sliderNews","setSliderNews","newsFilter","setNewsFilter","setFilter","filteredNews","setFilteredNews","dataStatus","setDataStatus","itemCount","setItemCount","filterNews","totalItemsCount","grabCursor","_filter","itemsCountPerPage","pageRangeDisplayed","NewsDetailPage","detail","setDetail","latestNews","createdDate","Job","job","titleLink","JobFilters","jobDepartments","jobBranches","departmentFilter","branchFilter","EmploymentPage","jobs","setJobs","setJobDepartments","setJobBranches","dept","setDept","branch","setBranch","datacash","employments","dataResponse","SlidePagination","DateInput2","inputMode","showPicker","RadioInput","groupName","selectValue","value1","text1","value2","text2","radioSelectValue","setRadioSelectValue","radioGroup","UploadControl","EmploymentDetailPage","firstName","selectedGender","selectedNationality","chooseDateOfBirth","selectedStatus","selectedLanguageLevel","selectedComputerLevel","selectedDegree","chooseGraduation","note","skillsList","setSkillsList","certificationList","setCertificationList","statusList","setStatusList","nationalitiesList","setNationalities","gender","setGender","employment","setEmployment","isLoadingBtnSend","setIsLoadingBtnSend","isDataSentBefore","positionId","nationalitiesResponse","genderResponse","skillsResponse","certificationResponse","statusResponse","gap","role","skill","additional","getYears","identificationImage","fileName","loadedImage","RadioInputDynamic","ListValues","EmploymentApplicationFormPage","showFinalPopupMessage","setShowFinalPopupMessage","phoneNumberApplicants","setPhoneNumberApplicants","setReject","formatDate","hour","hour12","minute","schema_Reject","schema_1","cardNumber","cardExpiryDate","placeResidence","numberWives","numberChildren","selectedjob","dateReadyToJob","workedOurCompany","salaryToFrenchBank","socialSecurity","medicalInsurance","applyVia","City","schema_2","durationStudy","specialty","yearOuter","scientificCertificate","schema_3","schema_4","DealingWithOthers","SYS_Cities","setSYS_Cities","filteredCities","setFilteredCities","stepNum","setStepNum","allYear","interviewData","setInterviewData","interviewApplicantsData","setInterviewApplicantsData","GetinterviewApplicants","queryPhone","setDefultEmailandName","OTP","setOTP","checkStepsErrors","seccessSteps","employmentId","j","OTPNumber","OTPString","interviewID","getMaxData","maxID","inputFields_2","submitRequestCertificates","inputFields","submitRequestworkExperience","setInputFields","setInputFields_2","submitRejectRequest","CertificateObject","applicationID","workExperienceObject","employer","durationemploy","JobTitle","lastSalary","reasonLeaving","interviewDate","diffTime22","ceil","diffTime","applymentsData","setApplymentsData","GetEmployment_applymentsData","mobile","appData","maritalStatus","nationality","brithDate","PositionID","englishLevel","computerLevel","degree","graduationYear","SYS_CitiesResponse","Cities","CountryID","value3","handleInputChange_2","newInputFields","handleInputChange","srempNumber","cheangeSteps","step","def","isRejection","phoneNumberOnly","phoneNumberCode","currentEmploy","titel","titelEn","subTitelAr","subTitelEn","interviewDateFormat","selectedReject","strokeWidth","field","Fragment","handleDropDownChange_2","lastGroupindex","EmploymentInterviewAttendance","isDataOTPMatch","applicationData","setApplicationData","attendanceDateTime","InfoCircle","titleEn","titleAr","_icon","navSlice","changeHeader","changeIcons","isFixedHeader","VehiclePage","brandInfo","setBrandInfo","vehiclesFilter","setVehiclesFilter","Featured","setFeatured","homeExtraRes","allCategories","filterVehicles","MetaDescriptionEn","MetaGroupsEn","groupType","carGroupID","modelType","BrandImage","VehicleOnlinePage","isFullScreen","setIsFullScreen","gallery","setGallery","cachSNImages","setCachSNImages","filterG","toggleFullScreen","cuCachSNImages","dataVehicles","curl22","cacheStorage22","cachedResponse22","homeExtraRescach","resdataVehicles","data2","productTarget","categor","modelDescription","FetchCarSNImages","onScreenChange","OverViewContext","CarBanner","onBuyClick","pdf","breadcrumb","hasOffers","setSectionActive","siteDesc","onHamburger","setOnHamburger","pageName","setPageName","maxWidth","vehicleInfo","isHybird","minHeight","download","CarSpecsTile","modelslug","spec","backupImage","liter","offerIndex","specRef","specHeight","setHeight","showData","vx","getElementsByClassName","Array","from","ev","scrollHeight","features","setFeatures","formatFeatures","scrollTo","offsetTop","behavior","dataFinal","NoteAr","NoteEn","trimEnd","sectionAr","sectionEn","VehicleSpecsPage","setModels","backUpImage","setBackUpImage","BuyOnline","FeatureCard","VehicleFeaturePage","feature","VehicleGalleryPage","setTypes","filteredGallery","setFilteredGallery","innerCarImages","setInnerCarImages","outerCarImages","setOuterCarImages","wheels","setWheels","activePart","setActivePart","setActiveImage","innerImages","outerImages","wheelsImages","types","isArray","filterImage","ap","slideToIndex","stroke","strokeLinecap","strokeLinejoin","CarColorPicker","active","imageBase64","urlImageColor","BackgroundSize","CarModel","extraSpecsTo","langaugeDir","splittedValues","gotoextraSpecs","sendRequest","PageLink","CarFeature","VehicleOverViewPage","mainurl","setIsLoding","currntvehicle","selectedColor","setSelectedColor","setVehicle","isLoadingImages","setIsLoadingImages","vehicleOffers","carColors","setCarColors","carModels","setCarModels","setAllImagesCount","setActiveColor","activeModel","setActiveModel","handleChangeOverViewContent","setActiveOutColor","setActiveINColor","resetColorsValues","resetValues","setINCarColors","setOUTCarColors","afterChangeDataType","getCarModels","responsemodels","curentCars","getCach","datacash2","response2","dataResponse2","INcolors","OUTcolors","INcolorsCode","setINCarColorsCode","OUTcolorsCode","setOUTCarColorsCode","cashCarImages","innerCarImagesJson","setInnerCarImagesJson","outerCarImagesJson","setOuterCarImagesJson","activeOutColor","colornew","ColorID","fetchCarDesign","activeColor","partnum","setFilterCarImages","codeColor","codeColorIN","codeColorOUT","imagesPart","AllCarImagesIN","AllCarImagesOUT","allcolor","colorCodeItems","cimage","imagesCount","handleRequestChangeOverview","finalItem","product","tax","itemValue","filterCarImages","getActivePartSection","cashColors","setCashColors","handleFetchModelAvaliableColors","productTypeID","currentColorID","thisSelectedColorID","_colors","_default","cc","currentInColor","IN_colors","currentOutColor","Out_colors","jsoncolors","ColorDescription","ColorImage","siteOutColorImage","siteInColorImage","firstItem","colors","currentSelectedColor","allModels","activeINColor","autoHeight","updateOnWindowResize","Image_URL","maxHeight","ColorDescriptionAr","ColorDescriptionEn","mo","VehicleDetailPage","isLoding","sectionActive","setVehicleInfo","handleSetSectionActive","siteFetchSeoCars","resData","Provider","userManual","backgroundPath","DropDownInput1","prps","CustomItemServices","moreLink","borderCSS","CarUser","inputDate","onUpdate","fromToYear","withMoreLinke","reload","handleRemoveUserCar","OfferDetail","terms","supportedCars","offerId","SupportedServices","SupportedMainServices","handelActiceCar","handleActicePackage","handelActiceService","OfferDetailPage","isLogin","showPopupPay","setShowPopupPay","LoginSchema","fullDatetime","evt","excerptAr","excerptEn","toastId","allowInstallments","pac","OfferVehiclesPage","property","MinPrice","shortDescriptionEn","Campaign","CampaignType","Photo","Title","DiscountID","DiscountAmount","toyota","onChooseCompaign","Part","SalesPriceBefor","loading","NetSalePrice","ServiceBox","titlebtn","categoryId","small","imgUrl","subtitleEn","subtitleAr","subtitel","imageUrl","SimpleBanner","AboutBox","AboutHJSection","about","setAbout","LandengSlide","Titel","SubTitel","Desc","BtnText","BackOpicity","backImage","backImageUrl","viewSocialIcons","PartSlide","SectionSlideEpart","slidEPartsList","setSlidEPartsList","getSparePartsSlide","backOpacity","urlImage","EpartsPage","GetUrlfunc","PWD","setPWD","isPopUpOpened","setIsPopUpOpened","selectedCompaign","setSelectedCompagin","userPhoneNumber","userForm","urlParms","Web_UserID","FirstNameEn","FirstNameAr","LastNameEn","LastNameAr","Phone","Email","IdentityNumber","setUserForm","CompaignLuxes","setCompaignLuxes","CompaignToYota","setCompaignToYota","BodyToYota","GetToYota","BodyLuxes","GetLuxes","Luxes","ToYota","site_SupCategory","setbanner","Sbanner","setSbanner","featuredProductsList","setFeaturedProductsList","featuredCatList","setFeaturedCatList","funFeaturedProductsAndCat","BodyFeaturedProduct","requestFeaturedProduct","BodyFeaturedCat","requestFeaturedCat","responseFeaturedProduct","responseFeaturedCat","favoriteProducts","setFavoriteProducts","fetchUserFavorites","_favorites","favorites","results","RequsetCompaign","RequsetsetSite_categorySP","DescriptionEnTitle","DescriptionArTitle","proValue","prodIndex","catValue","catIndex","CategiorAr","H","b","imageEn","TitleEN","imageAr","TitleAr","P","Percentage","PartRating","readonly","intialValue","initialRating","emptySymbol","fullSymbol","RatingSection","comments","setComments","handleFetchComments","Logo","Stars","Comment","SimpleCardCar","title2Ar","subTitleListAr","title2En","subTitleListEn","imageFull","titleValue","titleIndex","CarSection","guidProductId","compatibilityList","setCompatibilityList","getCompatibility","DescriptionArG","DescriptionEnG","ProductGroupID","CustomTabbyTamara","EpartsDetailPage","setCar","rate","setRate","SetAva","SetDilev","hashTage","sharerInfo","setSharerInfo","PWR","setPWR","AttachImg","setiAttch","setTerms","checkCompatibility","setCheckCompatibility","RequsetProductsWithDetails","SetImgMain","epartsInfo","_sharerInfo","CategiorEn","setProductNo","setCatNameUrl","ex","getCatNameUrl","RequsetProductsWithAlternatives","getTermsPart","getCheckCompatiblityEPart","RequsetAttch","RequsetAva","termsAr","termsEn","handleCalculateRatingStars","productNo","stars","ratingValues","setRatingValues","catNameUrl","star","spe","Comments","totalComments","totalOfSpe","totalOfStars","finalTotal","catId","catSubId","catSubSubIdd","catAr","catEn","subCatAr","subCatEn","subSubCatAr","subSubCatEn","catSubSubId","Att","D","part","handelAddToCart","CheckCompatibility","Item","hasLike","Gift","Cart","onDelete","Pay","CategoryCar","carErrorCount","LodingDelate","setLodingDelate","counter","setCounter","Accessories","GiftS","hasAccessories","setHasAccessories","hasGift","setHasGift","Color","CountGifts","CartInfo","setCartInfo","countF","num","getSerialsBuyOnlineCount","countSN","CuurentValue","Brand","ModelTypes","CarCartInfo","Img","CartItems","onFavoriteItemsChange","Categior","showCategor","categoryAr","categoryEn","PartCartInfo","BouquetCart","ErrorDate","refrechDate","editDate","setEditDate","editCarType","setEditCarType","DiscountRate","ItemsNumer","setServiceInfo","formGroup","setFormGroup","formModelTypeID","setFormModelTypeID","formYear","setFormYear","LodingEditDate","setLodingEditDate","LodingEditCarType","setLodingEditCarType","filteredProductModels","setFilteredProductModels","setDefultDate","offerName","packageName","GetCartInfo","ServiceName","ServiceNameAR","GetServiceInfo","FetchOfferSupportedServices","FetchModels","handleFilteredModels","fModels","Slug","toJSON","updateDateService","updateCarTypeService","BranchesInfo","headingTitle","BranchInfoCard","googleMapPoints","useMemo","CouponControl","couponCode","reset","onReset","codeValue","setCodeValue","PaymentPlatforms","isFreeze","onPaytabsClick","onSadadClick","isToggle","onPaymentClick","isTamara","paymentType","setPaymentType","CartDetails","shippingTime","shippingUnitTime","subTotal","shippingCost","totalDiscount","totalTax","sumItemTotal","CartPage","branchMethod","locationMethod","currentDeliveryMethod","setcurrentDeliveryMethod","thisConfirmContext","carErrors","setCarErrors","develviryType","setDeleviryType","setShipp","setIsGetCartData","branchesDetails","setBranchesDetails","formatResult","Address","WorkingHoursFormat","Latitude","Longitude","TotalTax","TotalDiscount","SetTotalDiscount","SumItemTotal","SubTotal","currentTotalDiscount","calculateDiscount","RequsetBanner","PaymentMAin","RefrancePayment","CAmount","CID","CCode","InfoLocation","InfoBranch","ByLocation","ByBranch","IsReservation","IsPayment","PaymentAmount","FinalTotal","AmountShipping","SubAmountTotal","TotalTaxAmount","MethodPayment","getUserIpAddress","ipv4","couponDetail","coupon","redirect","CartID","URL_Paytabs","handlePayment","user_id","ValueCitie","ValueBranch","Shipping","Cost","onShowRegistrationPup","UnitTime","CountTime","setShipping","setValueCitie","setValueBranch","Size","SetSize","currentSize","Citey","mSize","currentvalue","CostShipping","TimeDelivary","refrechDateCartItems","handleFetchCountries","setCouponDetail","clearCoupon","setClearCoupont","itemInfo","discountResult","itemType","productModelTypeID","getDiscountValueByType","discountType","discountAmount","discountRate","currentIpv4Info","IPv4","country_code","country_name","countryName","cities","setCities","countries","handleCheckCarsCount","listError","Category","cunrrentvalue","A","CarShippingInfo","_id","applyCoupon","FinanceRange","placeHolder","suffix","firstValue","setValues","valueInput","setValueInput","Lastvalues","setLastValues","RTL","setFinalChangeValue","debounce","justifyContent","flexWrap","margin","flexGrow","rtl","renderTrack","onMouseDown","onTouchStart","getTrackBackground","alignSelf","renderThumb","isDragged","alignItems","FinanceSearch","onBankSelected","onQuantitySearchClick","onActiveMenu","onSelectedProduct","onBudgetChange","onSetBanks","onsetDefaultperiod","selectionBank","STATUS_KEY","setActive","setModel","balance","setPart","monthly","setMonthly","activeMenu","setActiveMenu","banks","setBanks","setGroups","fGroups","setFGroups","setLoadingBanks","subCategoryID","modelSearch","setModelSearch","subCategories","setSubCategories","fSubCategories","setFSubCategories","budget","setBudget","maxFinanceAmount","maxFinancePeriod","lastBatch","quantityRange","setQuantityRange","selectOneBankDefoliate","setSelectOneBankDefoliate","initialBanksData","handleActiveBank","customizedResult","onHandleRefechData","bankSelected","prevState","DefaultFinancePeriod","touchRatio","initialSlide","centeredSlides","bank","media","srcSet","mobileImage","er","filteredValues","BrandId","ProductGroupId","ProductTypeId","FinanceCar","groupColor","onApplay","offerID","hasOffer","offerTitle","FinancePage","handleRefechData","products","setProducts","filteredCarsByBrand","setFilteredCarsByBrand","carBrandFilter","financeOffers","setFinanceOffers","carInfo","setCarInfo","isLoadingVehicles","setLoadingVehicles","financeSettings","setFinanceSettings","setProfitRates","isLoadingSendOrder","setLoadingSendOrder","setSelectionBank","period","mangFees","monthPay","firstPay","lastPay","annualRate","approximateResult","setApproximateResult","custType","cn","fullNameAr","fullNameEn","bankID","income","advancedPayment","monthlyPayment","setDefaultBank","setDefaultperiod","setColors","initialBanner","initialFinanceoffers","initialCustGroups","initalSettings","intialProfitRates","resetControls","carsData","getCarsByBrand","initialProductsByBank","thisBankID","OfferID","brandTitle","productImage","groupTitle","modelTypeTitle","colorGroupID","ColorGroupID","ColorName","colorImage","StartDate","EndDate","TotalDays","lastPayment","handleFilterByActiveMenu","thisActiveMenu","thiscarBrandFilter","instance","filteredData","DatawithFinanc","finalFinaniceTotal","minFirstPayPrice","setMinFirstPayPrice","reCountFinanceSettings","selectedFinancePeriod","currentFirstPayPrice","financeData","ManagementFees","AdvancedPaymentRate","LastPaymentRate","managementFees","financeRate","FinanceRate","firstPayPrice","lastPayPrice","financeAmount","addAmount","managementFeesAmount","mounthBrach","finalAmount","sayHelloFromComp1","Banks","activeBank","PriceListTypeID","handleFilterByBank","dp","handleOnApplay","CustGroupCollectingID","nameAr","newErrors","unspesificErrors","FinancePeriod","isLexus","FinanceDetailPage","financeDetails","setFinanceDetails","initialBranches","financeId","fullResult","BankTermID","bankId","BankID","firstPayment","FirstPayment","monthsCount","MonthsNumber","ModelRange","monthsQuantity","MonthlyQuantity","groupId","GroupID","groupDescription","brandDescription","GroupImage","ManagmentFees","getFullPrice","AwardsSection","awards","award","VisionsSection","visions","vision","CounterSection","counter3","counter1","counterTitle1","counter2","counterTitle2","counterTitle3","AboutPage","setAwards","setVisions","bannerPath","lastTitle","lastDesc","ContactList","onGeo","divHeight","MapBanner","activebranche","geoLocation","setGeoLocation","handleChangeLocation","geo","newLocation","ContactPage","paramSubject","setPage","subName","withRouter","unlisten","listen","entitiesReducer","combineReducers","navReducer","cartReducer","configureStore","reducer","MaintenanceServiceBox","serviceID","maxPrice","onServiceOrder","ServiceHeaderBanner","defaultBanner","bannerDescriptor","hasRedirect","requsetBanner","bannerObject","MaintenanceContext","DropDownInput2","currentOption","MainServicePage","PGroupID","PYear","PSerciveID","maintenanceInfo","setMaintenanceInfo","handleServiceOrder","MainService","setMainService","ServiceOptions","setServiceOptions","Service","setService","lodingService","setLodingService","settings","setSettings","filteredSettings","setFilteredSettings","firstByLink22","setFirstByLink22","ttGroup","PGroupData","setYear","handelSelectBrand","firstByLink","setFirstByLink","firstByLink33","setFirstByLink33","SerciveID","setSerciveID","FetchPrice","main","sub1","sub2","serviceOptions","fetchMainService","setModelCode","fetchSettings","settingResponseCash","currentSettings","setGroupData","currentvModelCode","setVModelCode","setType","setGroup","vModelCode","vYear","fetchService","currentgroupData","ListTreeGroups","listVArray","setinfoPrice","modelC","SID","mc","modelID","image1Path","image2Path","image3Path","Level","SubService2ID","ServiceFeatureList","SubMainServicePage","SubService","setSubService","MainInfo","setMainInfo","Special","setSpecial","IDMain","fetchSubService","fetchMainInfo","Sp","SubServicePage","SubID","SubInfo","setSubInfo","fetchSubnfo","ServicePage","ServiceReservation","PVIN","PServiceID","VINDetails","setVINDetails","infoPrice","FetchOrderReservation","MaintenanceOrderID","GetVINDetails","CarGroup","PBrandID","ttmodelType","threeDaysFromNow","CustNameAr","CustNameEn","Mobile","FetchInfoService","maintenanceObj","setMaintenanceObj","Defult","setDefult","first","setServiceID","firstFetchPrice","g","showDisabledMonthNavigation","CustID","s","OrderStatusID","xmlnsXlink","xmlnsSvgjs","transform","ServiceReservationByID","codephone","EvaluationType","countOptions","click","mandatory","defultActive","activeItem","setActiveItem","ProtectionAndShading","PUser","paramGUID","pSalesorderid","setSadadInfo","allselectServices","setAllSelectServices","selectService","acticeMenu","setActiceMenu","desAr","desEn","selsub0","setselsub0","isToggleSwitch","setIsToggleSwitch","evaluation_false_0","evaluation_false_1","evaluation_false_2","evaluation_false_3","evaluation_true_0","evaluations","setEvaluations","evaluationOptions","defultValue","paymentStatus","URL","searchParams","orderId","paymentMethodCallback","paymentTypeCallback","StatusPaymentPayTabsSalesOrdersService","StatusPaymentTamaraSalesOrdersService","StatusPaymentSadadSalesOrdersService","allServiceID","setAllServiceID","filterservice","mainNote","hasTintingService","noteTinting","MainWebGroup","listofServices","url_payment","Status","OrderId","invoiceID","sadadNumber","datasadad","_val","_Srtvice","PriceExcludeTax","Mandatory","evalua","prevServices","service","prevServiceIDs","reduce","MaintenancePage","ServicesDataJson","setServiceDataJson","second","getMainUserData","objectservicesJON","setMainServiceID","setSubServiceID","setTypeServiceID","GetVehicales","setSubService1","setSubService2","setselMain","setselsub1","setselsub2","fetchSubService2","MainServic","setMainServic","opiton","selMain","SubService1","setFirestOptionService1","selsub1","SubService2","getFirestOption","setFirestOption","selsub2","setVIN","checkErrors","Vehicales","setVehicales","currentServiceID","component","MainSericePage","carAr","carEn","thisSchema","SubServiceBox","linkTxt","MaintenanceServicePage","CATid","upImage","CAT","setCAT","RequsetCAT","setRCAT","RequsetRCAT","RCAT","contentEn","contentAr","upDescEn","upDescAr","upTitleEn","upTitleAr","RC","BN","bannerEn","bannerAr","MaintenanceServiceDetailPage","ServicId","upDesc","upTitle","desd","iconName","iconStyle","OrderCarPage","setproduct","selectedProduct","selectedModel","showProductSection","setShowProductSection","fColors","setFColors","fProductGroups","productGroups","fProducts","setFProduct","setFModels","supportedColors","setIsLoading","defultMobile","setDefultMobile","schemacn","userTypeList","setUserTypeList","userType","setUserType","cnValue","setCnValue","identityValue","setIdentityValue","getAllUserType","handleFilterModelsByProduct","getAllGroups","getAllBrands","getAllProducts","typeID","selectedTypeID","handleShowVehicleDetails","handleFetchColors","filteredProducts","filteredProductsbyGroupID","uniqueModels","uniqBy","mY","handleSendRequest","result22","result33","basicInfo","userId","custId","Web_UserId","defultColor","filterColors","setCashCarImages","objectColor","ModelTypesEn","Petrol","SeatsNumber","Cylinders","OrderFinancePage","setOfferId","vehicleDetails","setVehicleDetails","setSupportedColors","userData","setUserData","initialVehicle","initialColors","initialTerms","ee","StartModel","EndModel","respone","hoursePower","HorsePower","cylinder","Cylinder","Liter","Seats","handleRequestOrder","getNewUserID","alert","hasAlready","createOrder","statusOrder","createFinancialUser","userInfo","userExisting","FinancialUserID","arr","maxNumber","basicData","subTitleEn","subTitleAr","HexCode","DateInput","MaintenanceOrderPage","selectedBrand","selectedGroup","selectedType","selectedOffer","maintenanceDate","serviceData","setServiceData","locations","setLocations","categoryID","requestBrands","requestProductGroups","requestProductModel","requestProductModelTypes","categoryTitle","serviceTitle","serviceExcerpt","categoryGUID","serviceGUID","serviceContent","ProductTypeID","AdviceTile","HJAdvisesPage","advises","setAdvises","tips","advise","Navlink","handelonClick","UserNav","defaultProfileImage","pageDir","showItems","setShowItems","setUserInfo","names","setNames","imageProfile","setImageProfile","b64toBlob","b64Data","sliceSize","byteCharacters","atob","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","blob","Blob","_temp","intialUserData","userKey","params","settingsResponse","imgeUser","userImage","createObjectURL","deleteAllCookies","cookie","eqPos","UserNotificationPage","notifications","setNotifications","filteredNotification","setFilteredNotification","Filteredcategories","initialNotificationsAsGroup","secretKey","parentItem","childItemSet","childItem","subtract","handleFilterNotification","parentIndex","childIndex","UserHomePage","getUserCars","initialUserOffers","_userID","InputDate","CarID","Icon","IconImage","FetchType","parent","OfferType","UserOfferPage","SectionHeader","no","colorClass","UserVehicle","otherLang","setColor","standardColors","setStandardColors","setSelectedBrand","setSelectedModel","isLoadingForAdd","setIsLoadingForAdd","isLoadingForEdit","setIsLoadingForEdit","private_name","board_No","structure_no","requestUpdateForm","setRequestUpdateForm","vehicleCurrentData","setVehicleCurrentData","newModel","requestFormNewModel","setRequestFormNewModel","schema2","error2","setError2","ar","en","carBoardNo","setCarBoardNo","otherLangBoardNo","setOtherBoardNo","filterModel","brandId","filterModelType","productGroupId","showUpdatePopup","setShowUpdatePopup","handleUpdatePopupStatus","specialResult","fetchVehicleImage","vehicleImage","handleAcceptCarBoardLetters","_numKeys","_key","which","keyCode","_request","_request2","_letters","_enLetters","_arLetters","_keyChar","fromCharCode","handleRemoveCarBoardLetters","_len","_valAsArray","_valAr","_valEn","_valTemp","_valueDeleted","_indexDeleted","_indexENDeleted","_indexARDeleted","_valAsString","handleSetStringWithSpaces","chars","numbers","char","letters","englishLetters","deColor","_brand","_group","_modelData","_model","productTypeId","carId","_year","modelId","ModelID","boardNoEn","boardNoAr","structureno","alias","colorCode","Carcolor","NewModelType","submitUpdateRequest","currentValue","Profile","fileInputRef","setShowResetPasswordBox","acceptPasswordStatus","setAcceptPasswordStatus","genderList","setGenderList","setSelectedGender","setReadOnly","editableStatus","setEditableStatus","isLoading2","setIsLoading2","genders","city","defaultGeoLocation","setDefaultGeoLocation","cityID","countryID","personalDataRequest","setPersonalDataRequest","schemaPassword","newPassword","changePhoneNumber","setChangePhoneNumber","changeEmail","setChangeEmail","oldPassword","requestChangePassword","setRequestChangePassword","userHasNoPassword","setUserHasNoPassword","passwordError","setPasswordError","personalPhoneNumber","setPersonalPhoneNumber","schemaPhoneNumber","phoneError","setPhoneError","personalContactDataRequest","setPersonalContactDataRequest","custGroupID","cnImage","personalDocumentDataRequest","setPersonalDocumentDataRequest","schemaDocument","errorDocument","setErrorDocument","personalEmailDataRequest","setPersonalEmailDataRequest","schemaEmail","emailError","setEmailError","setPersonalIdentityDataRequest","showIdentityImage","setShowIdentityImage","freazeType","defaultIdentityType","setDefaultIdentityType","schemaSection1","intialIdentityTypes","intialUserContactData","userGender","tradeNo","cResult","ccResult","_userGeo","finalValue","tradeNoImage","fileURL","handleChangeIdentityImage","handleChangeCRImage","isPasswordMatched","isMatched","handleChangePassword","handleChangePhoneNumber","handleChangeEmail","handleChangeIdentityType","messageError","jsonRequest","isFound","isExisting","defaultStatus","getCorrectIdentitySection","ProtectedRoute","Component","restOfProps","isAuthenticated","NotFoundPage_404","VehicleDetails","carBrand","carNameTitle","carModelTitle","isHybrid","structureNo","plateNo","createdInput","showValues","carImage","userCarName","industryYear","preIconPath","carInnerDetails","UserVehiclesDetailsPage","fetchType","setPrimaryCategory","setSubPrimaryCategory","setLastSubPrimaryCategory","setAllParts","setFAllParts","getIsExpireDate","date1","date2","getVehicleDetails","initalCategories","vinNo","ReservationFetch","PreviousMaintenance","Reservation","setReservation","setLoadingReservation","setFetchedReservation","Body3","isLoadingContent","setLoadingContent","ReservationFilterData","setReservationFilterData","setIsActive","filterReservation","newData","Maintenance","setMaintenance","setFetchedMaintenance","setLoadingMaintenance","funSiteGetVehicleDetails","modelTrans","_vehicle","modelName","UserCarName","intialAllPartsByGroup","initialOffers","primaryCategoriesBody","subPrimaryCategoriesBody","lastSubPrimaryCategoriesBody","primaryCategoriesRequest","subPrimaryCategoriesRequest","lastSubPrimaryCategoriesRequest","category1","category2","category3","formatDateTime","dateNow","timeNow","ReceptionID","Ordertime","toFixed","CompleteDate","MyBookings","setLoadingUserCars","myCars","setMyCars","activeId","setActiveId","curentCarId","setCurentCarId","currentCar","onSliderHomePageChange","activeIndex","cachReservation","setCachReservation","cr","OwnOrderContext","OwnOrderHistory","historyTitle","historySubTitle","statusOptions","filterStatusOption","filterHistory","setFilterHistory","handleOnItemChangeStatus","CreatedAt","Delivery","TStatus","deliveryType","handleChangeParentState","showDetailsBox","itemActive","showHistoryBox","deliveryMethod","SiteDilveryID","DilveryAr","DilveryEn","siteAr","siteEn","statusAr","parentBox","statusID","orderCode","orderStatusText","orderDate","orderStatusCode","maxVisualElements","locationText","onItemClick","OwnHistoryItem","visualElements","setFile","CartsImages","fileRef","OwnOrderDetails","orderNumber","deliveryLocation","amount","shippingPrice","orderHistory","Createdat","OwnVehicleOrders","Partimg","TypeCarAr","TypeCarEn","colorsAr","colorsEn","SalePrice","OwnSpareOrders","onEvaluate","PartAr","Parten","PartPrice","OwnSDCOrders","SDCimg","SDCAr","SDCen","SDCPrice","OwnPGTOrders","PGTimg","PGTAr","PGTen","PGTPrice","OwnServiceOrders","Cprice","UserOrdersPage","setParnetBox","Carts","setCarts","fCarts","setFCarts","setUserID","CartsTrans","setCartTrans","CartsTrac","setCartTrac","CartStatus","setCartStatus","evaluatePopupShow","setEvaluatePopupShow","setcartInfo","sparePartProductID","setSparePartProductID","comment","evaluation","SetEvaluation","fetchMycartTrans","fetchMycartTracing","currentState","handleWindowResize","handleEvaluatePopup","fetchMycart","_fValues","statusId","CartItemsTypeID","PhoneMenu","handleSwicth","handleActiveItem","FavoriteItem","productTitle","productValue","subProductValue","FavoritePage","favoriteGroups","setFavoriteGroups","freshFavoriteGroups","setFreshFavoriteGroups","urlBilder","urlValue","tempData","tempData2","parentArray","parentValue","innerItems","handleDeleteItem","UserPage","ContentLoading","RedirectPage","OriginalUrl","setOriginalUrl","Expired","OfferByTypePage","EpartsGroupPage","GroupId","RequsetsetEngineGroups","TestEparts","minProp","maxProp","defaultValueProp","minDistanceProp","returnProp","setStart","setEnd","ReactSlider","thumbClassName","trackClassName","ariaLabel","ariaValuetext","valueNow","pearling","minDistance","currentStart","currentEnd","PaginationComponent","activePageProp","itemsCountPerPageProp","totalItemsCountProp","pageRangeDisplayedProp","pageReturnProp","pageNumber","firstPageText","lastPageText","nextPageText","prevPageText","CustomAlert","cancelTokenSource","titleProp","textProp","ResulteSearch","setAllCategories","setCat","subCat","setSubCat","subSubCat","setSubSubCat","countRow","setCountRow","isStock","setIsStock","engineGroupsObject","setEngineGroupsObject","has","funcGetAllSpareParts","_isStock","setSections","dataRing","valueRing","setValueRing","filterMain","setFilterMain","itemsCountPer","setClearFilter","nameCat","setNameCat","getResultProductID","ProductsWithDetails","setItems","CountRow","getResultAll","isPagination","isTextNull","freeText","handleBuildCategoriesSections","sectionsList","activ","SearchItems","setSearchItemsPagination","checkedCateegores","setCheckedCateegores","OnCheckCate","prevCheckedBrands","listValues","getEPartsWithStock","Groups","GroupsSup","GroupsSup2","requestProductsWithDetails","AllFun","endIndex","pagValue","clearFilters","clearFiltersFunction","getResultVehicleByCat","getNameCat","reqCat","reqSubCat","reqSubSubCat","catlistvalues","cancel","CancelToken","cancelToken","token","isCancel","EngineGroupsObject","linkListObject","thisEngineGroupsSup","ServiceBoxSlid","objCat","resultNameCat","CampaignOrderPage","arName","enName","compaignNo","featureNo","userNo","compaignDetail","setCompaignDetails","controlDisabled","setControlDisabled","orderType","setOrderType","descriptionTitle","photo","compaignFeatures","setCompaignFeatures","sendOrderRequest","existedUser","sendCreateUserAccount","getUserDetails","Error","goBack","compaignId","packageID","compaignInfo","compaignID","compaignFearuresObject","CompaignPart","salseprice","objectFit","CompaignDetails","DiscountId","setDiscountId","pageTitel","setpageTitel","selectedPackage","setSelectedPackage","DisWD","setDisWD","CWD","setCWD","Compaign","RequsetCompaignId","BodyCompaignId","RequsetDetails","RequsetDetailsDis","setIcon","descEn","descAr","FeatureDetails","Compare","headerItems","bodyItems","onAdd","maxHeaderItems","maxItems","CompareHeaderRow","postion","CompareHeaderItem","CompareBody","properityName","properityValues","CompareBodyRow","ComparePage","setSelectedProduct","selectedValues","setSelectedValues","currentSelected","OfferOrderPage","_userData","PurchaseConfirm","onClose","ColorsModel","popupRef","productTypes","setProductTypes","defaultProductModel","setDefaultProductModel","contentLoading","setContentLoading","brandType","setBrandType","handleFetchModels","thisType","setPriceColor","setCart","Id","modelTypeDescEn","modelTypeDesc","PriceColor","onLine","setOnline","filterPriceoffColor","selectdM","TaxAmount","setDefault","_models","funName","ModelDescription","Registrationpup","displaypup","handlePopupStatusChange","SearchHeader","resultNumber","onSearch","speedTyping","delayTyping","hintsTyping","onSupportFilter","hasFilters","textTyping","setTextTyping","textPostion","setTextPosition","textSectionInArray","setTextSectionInArray","showPlasceHolder","setShowPlaceHolder","hints","delayTimer","sort","showOptions","setFilterOptions","maintenance","campaign","eparts","setShowOptions","startTyping","speed","delay","hintValue","charAt","newValue","resetTyping","activeElement","handleFocus","handleDragOption","sortedUniq","handleOnChange","onColor","onHandleColor","handleDiameter","uncheckedIcon","checkedIcon","activeBoxShadow","SearchResultItem","extra","setRedirect","redirectPath","SearchResultContainer","Search","searchText","setSearchText","searchResults","setSearchResults","supportedFilters","setSupportedFilters","groupsResult","setGroupResult","tempGroupValues","handleOnSearchClick","element","SectionType","ExtraData","CustomerServices","whatsupNumber","phonCallNumber","bottom","PurchaseAlertPage","PrivacyPage","baseInfo","setBaseInfo","Agreement","intro","explaination","WebsitePolicyPage","AgreementPage","Agreements","setAgreements","agreements","ProtectionAndShadingAgreementPage","HeaderLandengPage","Stype","setStype","pageID","dynamicMenu","setDynamicMenu","isTransferlink","transferlink","Counter","counterData","subTitel","scrollSpyOnce","titelAr","LandengPage","dynamicPages","setDynamicPages","dynamicPagesSections","setDynamicPagesSections","sortingSections","setSortingSections","setDynamicCounters","Body2","sec","pageFun","RequsetDynamicCounters","counterBackImage","counterBackOpecity","counterTitelAr","counterTitel","counterDescAr","counterDesc","viewMainBanner","MainBannerTitelAr","MainBannerTitel","MainBannerSubTitelAr","MainBannerSubTitel","MainBannerBtnTextAr","MainBannerBtnText","MainBannerDescAr","MainBannerDesc","MainBannerBackOpicity","MainBannerBackImageAr","MainBannerBackImage","viewMainBannerSocialIcons","viewGreatMessage","GreatMessageBackIcon","GreatMessageBackImage","viewGreatMessageTitelAr","viewGreatMessageTitel","viewGreatMessageDescAr","viewGreatMessageDesc","viewTestimonials","TestimonialsTitelAr","TestimonialsTitel","TestimonialsSubTitelAr","TestimonialsSubTitel","viewWhyChooseUs","WhyChooseUsTitelAr","WhyChooseUsTitel","WhyChooseUsSubTitelAr","WhyChooseUsSubTitel","viewTopicSection","TopicTitelAr","TopicTitel","TopicDescAr","TopicDesc","TopicImageAr","TopicImage","viewMap","viewMainSliders","RequsetMainSliders","viewOurOffers","viewCounter","RequsetSBanner","viewWhatWeServices","RequsetOurServices","viewGallery","RequsetDynamicGallery","OurServices","setOurServices","WeServicesTitelAr","WeServicesTitel","setMainSliders","DynamicGallery","setDynamicGallery","viewMenu","keyName","keyIndex","viewSearchCar","SearchCarTitelAr","SearchCarTitel","CarOverviewPage","popGalleryRef","setLoadingVehicleOffers","showPanel","setShowPanel","activeFilterMenu","setActiveFilterMenu","scrollSnackUp","setScrollSnackUp","vehicleFeatures","fieldName","extraDetails","setExtraDetails","suggestedVehicles","setSuggestedVehicles","setLoadingCars","setJsonColors","DateTimeDelevry","setVehicleOffers","selectcity","setSelectcity","selectBranch","setSelectBranch","setCartData","fetchFinanceSettings","last","totalPrice","finance","setFinance","minBank","setSelectedFinancePeriod","setisToyota","setisLexus","GetSuggestedVehicles","deliveryTimeAccounting","curvehicle","bc","branche","setFilterBranches","dataShippingInfo","setDataShippingInfo","carCategories","newData2","handleOnActive","menuValue","ShippingCities","brancheCities","setBrancheCities","handleFetchBrancheCities","valuesC","filterBranches","showPanelInfo","currentIndexPanel","allImages","animation","shortDescription","bgNone","Branche","Enable","onTouchEnd","GeneralQuestion","isMoreProp","questionProp","answerProp","onClickProp","NewsPageDaynamic","images","original","thumbnail","indexQ","setIndexQ","openQustion","Anser","App","confirmObj","setConfirmObj","contactUsData","setContactUsData","useLayoutEffect","initialCustomerServicesData","whatsApp","WhatsAppPhoneNumber","CallPhoneNumber","StartActiveTime","EndActiveTime","IsOnline","visible","setVisible","scrolled","documentElement","scrollTop","showRegistrationPup","setShowRegistrationPup","paths","baseColor","highlightColor","store","some","newestOnTop","pauseOnFocusLoss","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","Backend","LanguageDetector","initReactI18next","whitelist","nonExplicitWhitelist","supportedLngs","fallbackLng","detection","order","debug","interpolation","escapeValue","pluralSeparator","contextSeparator","initImmediate","ReactDOM","basename","i18next","i18nextLng","fallback","StrictMode"],"mappings":"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","file":"static/js/main.269fd26d.chunk.js","sourcesContent":["import {Link} from \"react-router-dom\";\r\n\r\nexport function NavCarCard({img, name, link,Year, ...prop}) {\r\n return (\r\n \r\n
\r\n {name}\r\n {name} e.target.style.display = 'none'}/>\r\n
\r\n \r\n );\r\n}","const Arabic_Patter = /[\\u0600-\\u06FF]/i;\r\n// this function is used to combine two slugs in url\r\nexport const slugCombine = (SlugPart1,SlugPart2)=>{\r\n return (SlugPart1 + ',' + SlugPart2??'');\r\n};\r\n//this function is used to get the specific slug\r\nexport const getCleanSlug = ()=>{\r\n const url = decodeURI(window.location.href);\r\n const urlLanguage = localStorage.getItem(\"i18nextLng\"); \r\n const urlLastSegment = url.substring(url.lastIndexOf('/') + 1).split(',');\r\n let arIndex = -1 ,enIndex = -1;\r\n urlLastSegment.forEach((item,index)=>{\r\n if(Arabic_Patter.test(item)){\r\n arIndex = index;\r\n } \r\n });\r\n enIndex = arIndex == 0 ? 1 : 0;\r\n if(urlLanguage.toLowerCase() == 'ar' && urlLastSegment[arIndex]){\r\n return urlLastSegment[arIndex];\r\n }\r\n return urlLastSegment[enIndex];\r\n}\r\n// this function is used to get the correct slug based on the language\r\nexport const slugSplitter = (sugments)=>{\r\nconst slugs = sugments.split(',');\r\nconst urlLanguage = localStorage.getItem(\"i18nextLng\"); \r\nlet arIndex = -1 ,enIndex = -1;\r\nslugs.forEach((item,index)=>{\r\n if(Arabic_Patter.test(item)){\r\n arIndex = index;\r\n } \r\n });\r\n enIndex = arIndex == 0 ? 1 : 0;\r\n if(urlLanguage.toLowerCase() == 'ar'){\r\n return slugs[arIndex] ? slugs[arIndex] :sugments ;\r\n }\r\n return slugs[enIndex] ?slugs[enIndex] :sugments;\r\n}\r\n\r\n\r\n","import { NavCarCard } from \"./components/navCarCard\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport { slugCombine } from '../../../utils/slugManager';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function NavCar({ ...prop }) {\r\n const { t: trans } = useTranslation([\"inputs\", \"heading\", \"vehicales\", \"common\"]);\r\n\r\n const [brands, setBrands] = useState([]);\r\n const [vehicles, setVehicles] = useState([]);\r\n const [filteredVehicles, setFilteredVehicles] = useState(vehicles);\r\n\r\n const [filters, setFilters] = useState([\"\"]);\r\n const [CarCategories, setCarCategories] = useState([]);\r\n const [brandFilter, setBrandFilter] = useState(null);\r\n const [typeFilter, setTypeFilter] = useState(trans(\"inputs:all\"));\r\n const [otherBrand, setOtherBrand] = useState(null);\r\n\r\n function _setFilters(filteredBrand) {\r\n const fif = brands?.filter((brand) => {\r\n return (\r\n brand.brand === filteredBrand\r\n )\r\n });\r\n\r\n //سيدان - كوبيه - دفع رباعي - عائلية - تجارية\r\n const filterHasVehicals = fif[0]?.filters?.filter(f => (vehicles?.filter(c => (c?.brand?.toLowerCase() == filteredBrand?.toLowerCase() && c?.category == f?.category)))?.length > 0);\r\n\r\n\r\n const brandCategories = [\r\n { brand: filteredBrand, category: trans(\"inputs:all\") }, ...filterHasVehicals\r\n ]\r\n setFilters(brandCategories);\r\n setTypeFilter(trans(\"inputs:all\"))\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(vehicles?.length> 0)\r\n _filterVehicles(trans(\"common:toyota\"), trans(\"inputs:all\"));\r\n\r\n }, [vehicles])\r\n\r\n function _filterVehicles(brand, type) {\r\n let filterData;\r\n if (brand != null) {\r\n filterData = vehicles?.filter((car) => {\r\n return car.brand.toLowerCase() === brand.toLowerCase() && (car.category === type || type === trans(\"inputs:all\"));\r\n });\r\n }\r\n else {\r\n filterData = vehicles;\r\n }\r\n setFilteredVehicles(filterData);\r\n }\r\n\r\n function fBrandFilter(brand, otherBrand) {\r\n\r\n \r\n setBrandFilter(brand);\r\n _setFilters(brand);\r\n setOtherBrand(otherBrand);\r\n _filterVehicles(brand, trans(\"inputs:all\"))\r\n }\r\n\r\n function fTypeFilter(type) {\r\n\r\n \r\n setTypeFilter(type);\r\n _filterVehicles(brandFilter, type)\r\n }\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n useEffect(async () => {\r\n try {\r\n\r\n\r\n\r\n ////////////////////////////////////////////////////////\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl2 = \"brands-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl2\r\n );\r\n let data = await cachedResponse?.json();\r\n\r\n if (data && data?.brands && data?.brands?.length > 0)\r\n setBrands(data.brands);\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n const res = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/brands/brands\",\r\n method: \"get\",\r\n\r\n });\r\n setBrands(res.data.brands);\r\n const data22 = new Response(JSON.stringify(res.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"brands-\" + lang, data22);\r\n\r\n });\r\n }\r\n\r\n\r\n try {\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"site_FetchCarCategories\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n let data = await cachedResponse?.json();\r\n setCarCategories(data)\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"site_FetchCarCategories\"\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n setCarCategories(response.data)\r\n const data44 = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"site_FetchCarCategories\", data44);\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n } catch (error) {\r\n console.log('error in fetching the countries of SAU', error);\r\n }\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"vehiclesHomeMenu-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n let data = await cachedResponse?.json();\r\n if (data && data?.vehicles && data?.vehicles?.length > 0)\r\n setVehicles(data?.vehicles)\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n console.log(lang);\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/vehiclesHomeMenu\",\r\n method: \"get\",\r\n });\r\n\r\n response?.data?.vehicles?.map((item, index) => {\r\n item[\"id\"] = index\r\n\r\n\r\n })\r\n\r\n setVehicles(response.data.vehicles)\r\n\r\n\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"vehiclesHomeMenu-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (brands?.length > 0 && CarCategories?.length > 0 && vehicles?.length > 0) {\r\n _setFilters(brands[0].brand);\r\n setBrandFilter(brands[0].brand);\r\n setOtherBrand(brands[0].otherBrand);\r\n }\r\n }, [brands,CarCategories,vehicles])\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n brands ?\r\n brands?.map((brand, index) => {\r\n\r\n return (\r\n fBrandFilter(brand.brand, brand.otherBrand)}\r\n className={\"cursor-pointer item \" + (brandFilter === brand.brand && \"active\")}>\r\n e.target.style.display = 'none'} />\r\n {brand.brand}\r\n
\r\n );\r\n })\r\n :\r\n\r\n <>\r\n \r\n \r\n\r\n \r\n }\r\n\r\n
\r\n\r\n {\r\n filteredVehicles && filteredVehicles.length > 0 ?\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n fTypeFilter(trans(\"inputs:all\"))}\r\n className={(typeFilter == trans(\"inputs:all\") ? \"active\" : \"\")}>\r\n {trans(\"inputs:all\")}\r\n
\r\n\r\n {\r\n\r\n\r\n CarCategories?.map((item, index) => {\r\n\r\n if (item && item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"] && filters.filter(a => a.category == item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"])?.length > 0) {\r\n return (\r\n fTypeFilter(item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"])}\r\n className={(typeFilter === item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"] ? \"active\" : \"\")}>\r\n {item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"]}\r\n
);\r\n } else { return null }\r\n })\r\n\r\n\r\n }\r\n
\r\n
\r\n {\r\n filteredVehicles?.map((vehicle, index) => {\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 {trans(\"vehicales:show_more\")}\r\n \r\n
\r\n
\r\n\r\n \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 { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function NavMaintenanceCard({ id, description, price, image, days }) {\r\n const { t: trans } = useTranslation([\"common\", \"navbar\"]);\r\n return (\r\n \r\n
\r\n
{days}
\r\n
{trans(\"navbar:day\")}
\r\n
\r\n
\r\n \"service\"\r\n\r\n
\r\n

{description}

\r\n {\r\n price &&

\r\n {\r\n trans(\"navbar:offer_start\") + price + trans(\"common:rial\")\r\n }\r\n

\r\n }\r\n
\r\n \r\n );\r\n}","import axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport _ from 'lodash';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../../../../configuration/config.json';\r\nimport Skeleton from 'react-loading-skeleton'\r\nexport function NavWorkHours({ department = 12 }) {\r\n const { t: trans } = useTranslation([\"navbar\", \"model\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n //-------------------------------------------------\r\n const [workingHours, setWorkingHours] = useState(null);\r\n const [activeDay, setActiveDay] = useState({});\r\n\r\n const [holidaysList, setHolidaysList] = useState(null);\r\n const [weekDatesList, setWeekDatesList] = useState([]);\r\n //--------------------------------------------------\r\n const days = [\r\n { day: 6, orginal: 'Saturday', name: trans('navbar:sat') },\r\n { day: 0, orginal: 'Sunday', name: trans('navbar:sun') },\r\n { day: 1, orginal: 'Monday', name: trans('navbar:mon') },\r\n { day: 2, orginal: 'Tuesday', name: trans('navbar:tues') },\r\n { day: 3, orginal: 'Wednesday', name: trans('navbar:wed') },\r\n { day: 4, orginal: 'Thursday', name: trans('navbar:thur') },\r\n { day: 5, orginal: 'Friday', name: trans('navbar:fri') }\r\n ];\r\n // -----------------------------------------------\r\n\r\n const getHolidays = async () => {\r\n const body = {\r\n name: \"fun_GetHolidays\",\r\n values: {\r\n lang: lang\r\n }\r\n };\r\n\r\n console.log(\"fun_GetHolidays:body\", body);\r\n\r\n try {\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.info(response.data);\r\n if (response.data.length > 0) {\r\n setHolidaysList(response.data);\r\n }\r\n })\r\n .catch(function (error) {\r\n \r\n setHolidaysList([]);\r\n throw error;\r\n });\r\n\r\n } catch (ex) {\r\n \r\n setHolidaysList([]);\r\n }\r\n };\r\n\r\n // const getWeekDates = () => {\r\n // const now = new Date();\r\n // const dayOfWeek = now.getDay(); // getDay() returns the day of the week (0-6) with Sunday as 0\r\n // const startOfWeek = new Date(now);\r\n //\r\n // startOfWeek.setDate(now.getDate() - dayOfWeek); // set to Sunday (start of the week)\r\n //\r\n // const weekDates = [];\r\n // for (let i = 0; i < 7; i++) {\r\n // const date = new Date(startOfWeek);\r\n // date.setDate(startOfWeek.getDate() + i);\r\n // weekDates.push({\r\n // dayNameAr: date.toLocaleDateString('ar-SA', {weekday: 'long'}),\r\n // dayNameEn: date.toLocaleDateString('en-US', {weekday: 'long'}),\r\n // date: date.toLocaleDateString('en-US'),\r\n // dya: date.getDate(),\r\n // month: date.getMonth(),\r\n //\r\n // });\r\n // }\r\n // console.info(\"weekDates: list: \", weekDates);\r\n // \r\n // if(weekDates.length > 0){\r\n // setWeekDatesList(weekDates);\r\n // }\r\n // // return weekDates;\r\n // };\r\n\r\n const getWeekDates = () => {\r\n const now = new Date();\r\n const dayOfWeek = now.getDay(); // getDay() returns the day of the week (0-6) with Sunday as 0\r\n // Calculate the difference from Saturday\r\n const startOfWeek = new Date(now);\r\n const daysSinceSaturday = (dayOfWeek + 1) % 7;\r\n startOfWeek.setDate(now.getDate() - daysSinceSaturday); // set to Saturday (start of the week)\r\n\r\n const weekDates = [];\r\n for (let i = 0; i < 7; i++) {\r\n const date = new Date(startOfWeek);\r\n date.setDate(startOfWeek.getDate() + i);\r\n weekDates.push({\r\n dayNameAr: date.toLocaleDateString('ar-SA', { weekday: 'long' }),\r\n dayNameEn: date.toLocaleDateString('en-US', { weekday: 'long' }),\r\n date: date.toLocaleDateString('en-US'),\r\n dya: date.getDate(),\r\n get_month: date.getMonth() + 1,\r\n });\r\n }\r\n \r\n\r\n if (weekDates.length > 0) {\r\n setWeekDatesList(weekDates);\r\n }\r\n // return weekDates;\r\n };\r\n\r\n //-------------------------------------------------\r\n // useEffect(() => {\r\n // intialOperationalTimeOfDuty(department);\r\n // }, []);\r\n // to intialize operational department time\r\n useEffect(() => {\r\n getWeekDates();\r\n\r\n\r\n setTimeout(async () => {\r\n await getHolidays();\r\n }, 20);\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n let _holidaysList;\r\n\r\n\r\n\r\n if (holidaysList != null) {\r\n\r\n intialOperationalTimeOfDuty(department);\r\n }\r\n\r\n const now = new Date();\r\n const dayNumber = now.getDate();\r\n const dayName = now.toLocaleDateString('en-US', { weekday: 'long' });\r\n const currentDate = now.toLocaleDateString('en-US');\r\n\r\n\r\n }, [holidaysList]);\r\n\r\n // to intialize operational department time\r\n const intialOperationalTimeOfDuty = (id) => {\r\n let calenders = [];\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetCalenderDetails\",\r\n \"values\": {\r\n \"CalenderType\": id\r\n }\r\n }\r\n ).then(response => {\r\n const now = new Date();\r\n // var dayAfterFind;\r\n\r\n const responseData = response.data;\r\n\r\n const firstPeroid = responseData.find((item) => {\r\n return String(item.Type).toLowerCase() == 'morning'\r\n });\r\n const { StartTime: startOnetPeriodTime, EndTime: endOnePeriodTime } = firstPeroid;\r\n\r\n //-------------------------------------------------------------------------------\r\n const secondPeriod = responseData.find((item) => {\r\n return String(item.Type).toLowerCase() == 'afternoon'\r\n }) ?? {};\r\n\r\n const { StartTime: startPeriodTime, EndTime: endPeriodTime } = secondPeriod;\r\n\r\n delete firstPeroid.StartTime;\r\n delete firstPeroid.EndTime;\r\n delete firstPeroid.Type;\r\n\r\n const items = Object.keys(firstPeroid);\r\n\r\n for (let item of items) {\r\n\r\n const _day = days.find(day => {\r\n return day.orginal == item\r\n });\r\n\r\n if (firstPeroid[`${item}`]) {\r\n\r\n \r\n\r\n var dayAfterFind =\r\n weekDatesList.find(itemDay => (itemDay.dayNameEn.toLowerCase() == _day.orginal.toLowerCase()));\r\n\r\n \r\n\r\n var hasHoliday =\r\n holidaysList.find(itemHoliday => itemHoliday.Day == dayAfterFind.dya && itemHoliday.Month == dayAfterFind.get_month);\r\n\r\n\r\n if (hasHoliday != null) {\r\n\r\n calenders.push({\r\n dayOfWeek: _day.name,\r\n formatValue: hasHoliday.Description == null ? trans(\"navbar:no_work\") : hasHoliday.Description,\r\n day: _day.day\r\n });\r\n\r\n\r\n } else {\r\n calenders.push({\r\n dayOfWeek: _day.name,\r\n formatValue: getTimeFormat(startOnetPeriodTime) + ' - ' +\r\n getTimeFormat(endOnePeriodTime) + (startPeriodTime ? ' & ' +\r\n getTimeFormat(startPeriodTime + ' - ' + getTimeFormat(endPeriodTime)) : ''),\r\n day: _day.day\r\n });\r\n }\r\n\r\n } else {\r\n\r\n calenders.push({\r\n dayOfWeek: _day.name,\r\n formatValue: trans(\"navbar:no_work\"),\r\n day: _day.day\r\n });\r\n }\r\n }\r\n setWorkingHours(calenders);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n const getTimeFormat = (value) => {\r\n if (value) {\r\n if (lang == 'ar') {\r\n return String(value).includes('AM') ? String(value).replace('AM', 'صباحاً') : String(value).includes('PM') ?\r\n String(value).replace('PM', 'مساءً') : value;\r\n }\r\n }\r\n return value ?? '';\r\n };\r\n return (\r\n\r\n\r\n\r\n workingHours != 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}","import { NavMaintenanceCard } from \"./components/navMaintenanceCard\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavWorkHours } from \"./components/navWorkHours\";\r\nimport { useEffect, useState } from \"react\";\r\nimport config from '../../../configuration/config.json';\r\nimport axios from \"axios\";\r\nimport { slice } from 'lodash';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { slugCombine } from '../../../utils/slugManager';\r\nimport Skeleton from 'react-loading-skeleton'\r\nexport function NavMaintenance({ ...prop }) {\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"model\", \"navbar\", \"info\"]);\r\n //----------------------------------------------------------\r\n const [maintenanceOffers, setMaintenanceOffers] = useState(null);\r\n const [categories, setCategories] = useState(null);\r\n //-----------------------------------------------------------\r\n useEffect(() => {\r\n intialOffers();\r\n intialCategories();\r\n }, []);\r\n //-----------------------------------------------------------\r\n // to intialize the offers\r\n const intialOffers = () => {\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"Name\": \"SiteFetchMaintenanceOffers\"\r\n }\r\n ).then(response => {\r\n const responseData = response.data.map((e, index) => {\r\n return {\r\n id: e[`${trans(\"navbar:slug\")}`],\r\n otherSlug: e.slugEn,\r\n slug: e.slugAr,\r\n image: e.image,\r\n description: e[`${trans(\"model:name\")}`],\r\n price: e.price,\r\n days: e.Days\r\n }\r\n });\r\n setMaintenanceOffers(responseData);\r\n }\r\n ).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n };\r\n // get the days number between two days\r\n const getDays = (startDate, endDate) => {\r\n const date1 = new Date(startDate);\r\n const date2 = new Date(endDate);\r\n const diffTime = Math.abs(date2 - date1);\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n return diffDays;\r\n };\r\n // fetch the list of categories\r\n const intialCategories = () => {\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"Name\": \"site_fetchMainService\",\r\n }\r\n ).then(response => {\r\n const responseData = response.data;\r\n const responseDataFiltered = responseData.map(item => {\r\n return { id: item.MainServiceID, description: item[`${trans(\"model:description\")}`], path: item.path, ...item }\r\n });\r\n const _len = responseDataFiltered?.length;\r\n let _values = responseDataFiltered;\r\n if (_len > 5) {\r\n _values = slice(responseDataFiltered, 0, 5)\r\n }\r\n setCategories(_values);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n //-------------------------------------------------------------\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {\r\n trans(\"navbar:man_offer\")\r\n }\r\n

\r\n\r\n {\r\n maintenanceOffers != null ?\r\n\r\n
\r\n {\r\n\r\n\r\n (maintenanceOffers != null && maintenanceOffers.length > 0) ? maintenanceOffers?.map((offer, index) => {\r\n return \r\n }) : (
\r\n \"hassan\r\n

{trans(\"info:no_offer\")}

\r\n
)\r\n\r\n\r\n }\r\n
\r\n :\r\n <>\r\n \r\n\r\n \r\n\r\n }\r\n\r\n
\r\n
\r\n

\r\n {\r\n trans(\"navbar:man_services\")\r\n }\r\n

\r\n\r\n {\r\n\r\n categories != null ?\r\n\r\n
    \r\n {\r\n categories?.map((cat, index) => {\r\n return (\r\n
  • \r\n {cat.description}\r\n
  • \r\n )\r\n })\r\n }\r\n {\r\n categories?.length > 4 &&
  • {trans(\"navbar:show_more\") + '...'}
  • \r\n }\r\n
\r\n\r\n :\r\n <>\r\n \r\n\r\n \r\n\r\n\r\n }\r\n\r\n
\r\n
\r\n

\r\n {\r\n trans(\"navbar:work_hours\")\r\n }\r\n

\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useState, useRef, useEffect} from 'react'\r\nimport { useTranslation } from 'react-i18next';\r\n\r\n\r\nexport function CountDown({Total,start=0,end=0 , showSeconds = true}) {\r\n const { t: trans } = useTranslation([\"info\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n // We need ref in this, because we are dealing\r\n // with JS setInterval to keep track of it and\r\n // stop it when needed\r\n const Ref = useRef(null);\r\n\r\n // The state for our timer\r\n const [timer, setTimer] = useState('00:00:00');\r\n\r\n\r\n const getTimeRemaining = (e) => {\r\n const total = Date.parse(e) - Date.parse(new Date());\r\n const seconds = Math.floor((total / 1000) % 60);\r\n const minutes = Math.floor((total / 1000 / 60) % 60);\r\n const hours = Math.floor((total / 1000 / 60 / 60) % 24);\r\n const days = Math.floor((total / 1000 / 60 / 60/24) % 30);\r\n const month = Math.floor((total / 1000 / 60 / 60/24/30) %12);\r\n return {\r\n total,month,days, hours, minutes, seconds\r\n };\r\n }\r\n\r\n\r\n const startTimer = (e) => {\r\n let { total,month,days, hours, minutes, seconds }\r\n = getTimeRemaining(e);\r\n if (total >= 0) {\r\n // update the timer\r\n // check if less than 10 then we need to \r\n // add '0' at the begining of the variable\r\n const countDownFormat =
\r\n {month > 0 && \r\n {month}\r\n \r\n {trans(\"info:month\")}\r\n \r\n\r\n \r\n }\r\n {month > 0 && ':'}\r\n {\r\n days > 0 && \r\n \r\n {days}\r\n \r\n \r\n {trans(\"info:day\")}\r\n \r\n \r\n }\r\n {days > 0 && ':'}\r\n {\r\n hours > 0 && \r\n \r\n {hours}\r\n \r\n \r\n {trans(\"info:hour\")}\r\n \r\n\r\n \r\n }\r\n {hours > 0 && ':'}\r\n {\r\n minutes > 0 && \r\n \r\n {minutes}\r\n \r\n \r\n {trans(\"info:minute\")}\r\n \r\n\r\n \r\n }\r\n :\r\n {\r\n showSeconds && ( \r\n \r\n {seconds}\r\n \r\n \r\n {trans(\"info:second\")}\r\n \r\n\r\n )\r\n }\r\n
;\r\n setTimer(countDownFormat);\r\n // setTimer((month+\"m/ \")+(days+\"d / h \")+\r\n // (hours > 9 ? hours : '0' + hours) + ':' +\r\n // (minutes > 9 ? minutes : '0' + minutes) + ':'\r\n // + (seconds > 9 ? seconds : '0' + seconds)\r\n // )\r\n }\r\n }\r\n\r\n\r\n const clearTimer = (e) => {\r\n\r\n // If you adjust it you should also need to\r\n // adjust the Endtime formula we are about\r\n // to code next \r\n setTimer('0d 00:00:00');\r\n\r\n // If you try to remove this line the \r\n // updating of timer Variable will be\r\n // after 1000ms or 1sec\r\n if (Ref.current) clearInterval(Ref.current);\r\n const id = setInterval(() => {\r\n startTimer(e);\r\n }, 1000)\r\n Ref.current = id;\r\n }\r\n\r\n const getDeadTime = () => {\r\n let deadline = new Date();\r\n let now= new Date(Date.now());\r\n\r\n // This is where you need to adjust if \r\n // you entend to add more time\r\n\r\n deadline.setSeconds(deadline.getSeconds()-now.getSeconds() );\r\n deadline.setMinutes(deadline.getMinutes()-now.getMinutes() );\r\n deadline.setHours(deadline.getHours()-now.getHours());\r\n deadline.setDate(deadline.getDate() +Total); //(end-start));\r\n\r\n \r\n \r\n \r\n return deadline;\r\n }\r\n\r\n // We can use useEffect so that when the component\r\n // mount the timer will start as soon as possible\r\n\r\n // We put empty array to act as componentDid\r\n // mount only\r\n useEffect(() => {\r\n clearTimer(getDeadTime());\r\n }, []);\r\n\r\n // Another way to call the clearTimer() to start\r\n // the countdown is via action event from the\r\n // button first we create function to be called\r\n // by the button\r\n const onClickReset = () => {\r\n clearTimer(getDeadTime());\r\n }\r\n\r\n return (\r\n
\r\n

{timer}

\r\n
\r\n )\r\n}\r\n\r\n","import { concat } from \"lodash\";\r\n// this function is used to format the number based on the contry currency code\r\nexport const numberFormat = (number ,lang,showZero,classNameCurrency,displayCurrencyLiter = true, syntax = {code : 'SAR' , locale : 'en'})=>{\r\nconst {locale} = syntax;\r\nconst code = lang == 'en' ? ' SAR ' : ' ر.س ';\r\nconst suffixCode = (locale == 'en' ? 'IN' : 'EG');\r\nif (number == null || number == undefined || number == 'null' || number === '' || ((number == '0' || number == 0) && showZero == false)){\r\n\r\n return null;\r\n}\r\n\r\nif(displayCurrencyLiter) {\r\n // return concat(Intl.NumberFormat(locale + `-${suffixCode}`).format(number),code);\r\n return concat(Intl.NumberFormat().format(number), classNameCurrency ? {code} : code);\r\n} \r\n\r\nreturn Intl.NumberFormat().format(number);\r\n// return concat(Intl.NumberFormat().format(number),code);\r\n\r\n// return concat(Intl.NumberFormat().format(number), {code});\r\n};","import {Fragment} from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { numberFormat } from \"../../utils/currencyFormatter\";\r\nexport function Price({price,showZero=false,displayCurrencyLiter=true}) {\r\n const { i18n } = useTranslation([]);\r\n let lang =i18n.language;\r\n\r\n if (price === null || price === undefined || price === 'null' || price === '' || (price === '0' || price === 0 && showZero == false)){\r\n return null;\r\n }\r\n \r\n return (\r\n \r\n {numberFormat(parseFloat(price),lang,showZero,\"\",displayCurrencyLiter)}\r\n \r\n );\r\n}\r\n\r\n","import { Link } from \"react-router-dom\";\r\nimport {CountDown} from \"../../../../pages/eparts/components/countDown\"\r\nimport { Price } from \"../../../__simple/_price\";\r\nimport config from \"../../../../configuration/config.json\";\r\nexport function NavPartCard({title,description,image,to,endDate,startDate,totalTime, total}) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \"service\"\r\n\r\n
\r\n

{title}

\r\n
\r\n

\r\n {description}\r\n

\r\n
\r\n \r\n );\r\n}","import {Link} from \"react-router-dom\";\r\nimport {NavWorkHours} from \"./components/navWorkHours\";\r\nimport {NavPartCard} from \"./components/navPartCard\";\r\nimport { useEffect,useState } from \"react\";\r\nimport config from '../../../configuration/config.json';\r\nimport axios from \"axios\";\r\nimport _ from 'lodash';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nexport function NavParts({...prop}) {\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"model\",\"navbar\",\"info\"]);\r\n //---------------------------------------------------\r\n const[compaign,setCompaign] = useState([]);\r\n const[categories,setCategories] = useState([]);\r\n //---------------------------------------------------\r\n useEffect(()=>{\r\n intialCompaign();\r\n intialEPartsCategories();\r\n },[]);\r\n //---------------------------------------------------\r\n const intialCompaign = ()=>{\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"Web_compaing\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\":\"Column\",\r\n \"Fields\":\"GUID,DescriptionAr,TotalTime,DescriptionEn,DescriptionArTitle,DescriptionEnTitle,image,CreatedDate,DateFrom,DateTo,TotalAmountDiscount\"\r\n }\r\n ).then(response=>{\r\n const responseData = response.data.ApiObjectData;\r\n const responseDataFiltered = _.orderBy(responseData, (e) => {\r\n return new moment(new Date(e.CreatedDate)).format('YYYY-MM-DD')\r\n }, ['desc']);\r\n\r\n const newList = responseDataFiltered.map((e, index) => {\r\n return {\r\n id: e.GUID,\r\n image: e.image,\r\n title: e[`${trans(\"model:description\")}`],\r\n description: e[`${trans(\"model:description\") + 'Title'}`],\r\n startDate:e.DateFrom,\r\n endDate:e.DateTo,\r\n totalTime:e.TotalTime,\r\n total:e.TotalAmountDiscount\r\n }\r\n });\r\n\r\n const firstTwoOffers = newList.filter((ele,index)=>{\r\n return index <= 1;\r\n })\r\n setCompaign(firstTwoOffers);\r\n }).catch(error=>{\r\n console.log(error);\r\n });\r\n };\r\n // fetch the list of categories\r\n const intialEPartsCategories = ()=>{\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"Site_categorySP\",\r\n \"Option\": \"Column\",\r\n \"Fields\": \"GUID,DescriptionAr,DescriptionEn\",\r\n \"ObjectSettings\": {\r\n \"MetaDate\": false,\r\n \"Limit\":{\r\n \"Optional\":\"Top\",\r\n \"Value\":5\r\n }\r\n }\r\n }\r\n ).then(response => {\r\n const responseData = response.data.ApiObjectData;\r\n const responseDataFiltered = responseData.map(cat=>{\r\n return {id : cat.GUID , description : cat[`${trans(\"model:description\")}`]}\r\n });\r\n setCategories(responseDataFiltered);\r\n }).catch(error=>{\r\n console.log(error);\r\n });\r\n };\r\n //---------------------------------------------------\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {trans(\"navbar:compaign\")}\r\n

\r\n
\r\n {\r\n (compaign != null && compaign.length > 0) ? compaign.map((com,index)=>{\r\n return \r\n }):(
\r\n \"hassan\r\n

{trans(\"info:no_compaign\")}

\r\n
)\r\n }\r\n
\r\n
\r\n
\r\n

\r\n {trans(\"navbar:compaign_category\")}\r\n

\r\n
    \r\n {\r\n categories.map((cat,index) => {\r\n return (\r\n
  • \r\n {cat.description}\r\n
  • \r\n )\r\n })\r\n }\r\n {\r\n categories?.length > 4 &&
  • {trans(\"navbar:show_more\") +'...'}
  • \r\n } \r\n
\r\n
\r\n
\r\n

\r\n {trans(\"navbar:work_hours\")}\r\n

\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport {NavWorkHours} from \"./components/navWorkHours\";\r\nimport config from '../../../configuration/config.json';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport { useHistory } from \"react-router\";\r\nexport function NavAbout({...prop}) {\r\n const { t: trans } = useTranslation(\"navbar\");\r\n const aboutList = [\r\n {description:trans(\"navbar:about_hj\"),to:'whyHjElement'},\r\n {description:trans(\"navbar:info_about_us\"),to:'aboutUsElmenet'},\r\n {description:trans(\"navbar:about_rewards\"),to:'rewardsElement'},\r\n {description:trans(\"navbar:about_what_our_cutomers_says\"),to:'customersSaysElement'},\r\n {description:trans(\"navbar:about_principle\"),to:'workPricipleElement'},\r\n ];\r\n const history = useHistory();\r\n //----------------------------------------------------\r\n const [aboutOwner,setAboutOwner] = useState({\r\n title:'',\r\n description:''\r\n });\r\n //---------------------------------------------------\r\n useEffect(()=>{\r\n intial();\r\n },[]);\r\n //---to intialize the hj description from request----\r\n const intial = ()=>{\r\n axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\":\"siteAboutPage\",\r\n \"Option\":\"Column\",\r\n \"Fields\":\"whatTitleAr,whatDescAr,whatTitleEn,whatDescEn\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n }\r\n }\r\n ).then(response=>{\r\n const responseData = response.data.ApiObjectData;\r\n if(responseData.length > 0){\r\n const responseResult = responseData[0];\r\n const finalResult = {...aboutOwner};\r\n finalResult.title = responseResult[`${trans(\"navbar:about_title_model\")}`];\r\n finalResult.description = responseResult[`${trans(\"navbar:about_desc_model\")}`];\r\n setAboutOwner(finalResult);\r\n }\r\n }).catch(error=>{\r\n console.log(error);\r\n });\r\n };\r\n //--- to navigate to about section elements\r\n const navigateToElement = (elementID) =>{\r\n history.push('/about');\r\n try{\r\n setTimeout(()=>{\r\n document.getElementById(elementID).scrollIntoView()\r\n },250);\r\n }catch(error){\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {aboutOwner?.title}\r\n

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

\r\n {aboutOwner?.description}\r\n

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

\r\n {trans(\"navbar:info_about_us\")}\r\n

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

\r\n {trans(\"navbar:work_hours\")}\r\n

\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { GoogleMap, LoadScript, Marker, InfoWindow } from \"@react-google-maps/api\";\r\n\r\n\r\nexport function Map({ latitude, longitude, name, content, markers = [], multiMarkers = false }) {\r\n let googleMapURL = \"https://maps.googleapis.com/maps/api/js?key=AIzaSyAN_OIK0AzQyINgni_VzR23kh-ytSgiku0\";\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n\r\n const [currentPosition, setCurrentPosition] = useState({});\r\n const [multPositions, setMultiPositions] = useState([]);\r\n const [toggle, setToggle] = useState(false);\r\n\r\n\r\n // function changeMapLanguage(){\r\n // return googleMapURL+=`&language=${lang}`;\r\n // }\r\n\r\n const success = position => {\r\n\r\n\r\n const currentPosition = {\r\n lat: parseFloat(latitude) ?? position.coords.latitude,\r\n lng: parseFloat(longitude) ?? position.coords.longitude\r\n }\r\n\r\n if (currentPosition?.lat && currentPosition?.lng)\r\n setCurrentPosition(currentPosition);\r\n };\r\n\r\n useEffect(() => {\r\n navigator.geolocation.getCurrentPosition(success);\r\n }, [latitude, longitude])\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (multiMarkers) {\r\n\r\n const mm = markers.map(e => {\r\n\r\n\r\n var coords = \"\";\r\n try {\r\n const { latitude, longitude } = e;\r\n coords = { lat: parseFloat(latitude), lng: parseFloat(longitude) };\r\n } catch (error) {\r\n\r\n }\r\n\r\n return (\r\n\r\n { lat: e.latitude, lng: e.longitude, coords: coords }\r\n )\r\n\r\n\r\n\r\n })\r\n\r\n setMultiPositions(mm);\r\n }\r\n }, [markers, multiMarkers]);\r\n\r\n useEffect(() => {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n }\r\n\r\n if (currentPosition?.lat && currentPosition?.lng)\r\n setCurrentPosition(currentPosition);\r\n });\r\n }, []);\r\n\r\n const handleToggle = () => {\r\n setToggle(!toggle);\r\n };\r\n\r\n\r\n const locations = [\r\n {\r\n name: \"Location 1\",\r\n location: {\r\n lat: 26.4007915,\r\n lng: 50.0110817\r\n },\r\n },\r\n {\r\n name: \"Location 2\",\r\n location: {\r\n lat: 26.399904,\r\n lng: 50.013982\r\n },\r\n },\r\n\r\n ];\r\n\r\n const mapStyles = {\r\n height: \"100%\",\r\n width: \"100%\"\r\n };\r\n\r\n\r\n const infoWindowStyle = {\r\n backgroundColor: '#fff',\r\n color: '#000',\r\n textAlign: 'center',\r\n minWidth: '100px',\r\n fontSize: 18,\r\n fontWeight: 'bold'\r\n };\r\n\r\n const defaultCenter = {\r\n lat: 41.3851, lng: 2.1734\r\n }\r\n const [selected, setSelected] = useState({});\r\n\r\n const onSelect = item => {\r\n setSelected(item);\r\n }\r\n\r\n return (\r\n\r\n \r\n\r\n {\r\n !multiMarkers &&\r\n (\r\n \r\n {\r\n toggle && \r\n
\r\n {latitude != '' ? content : 'Me'}\r\n
\r\n \r\n }\r\n
\r\n )\r\n }\r\n {\r\n multiMarkers && markers.map((item, index) => {\r\n\r\n return (\r\n\r\n item?.coords &&\r\n \r\n {\r\n toggle && \r\n
\r\n {item?.content}\r\n
\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 ErrorLabel = ({errorTitle , block = false})=>{\r\nlet classes = 'warning-';\r\nclasses+= block?'block':'inline';\r\nreturn errorTitle != null || undefined ?{errorTitle}:'';\r\n}\r\nexport default ErrorLabel;","import ErrorLabel from '../../components/error';\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport function InputField({\r\n name,\r\n id = null,\r\n readOnly = false,\r\n disabled = false,\r\n type = 'text',\r\n onChangeValue,\r\n onKeyDown,\r\n onLeave,\r\n onKeyPress,\r\n title,\r\n errorLabel,\r\n placeholder,\r\n secondary = false,\r\n value,\r\n required = false,\r\n length = 50,\r\n extraClasses = '',\r\n passwordStrength = false,\r\n onAcceptPassword,\r\n searchIcon = false,\r\n onClicksearchIcon,\r\n ...props\r\n}) {\r\n\r\n const { t: trans, i18n } = useTranslation(\"info\");\r\n let lang = i18n.language;\r\n const languageDir = \"language-\" + lang;\r\n const [validationMessage, setValidationMessage] = useState('');\r\n const [strength, setStrength] = useState(\r\n {\r\n weak: false,\r\n middle: false,\r\n powerful: false\r\n }\r\n );\r\n // to handle the password strength \r\n const handlePasswordStrength = (event) => {\r\n const _value = event.target.value;\r\n const _numericPattern = /[0-9]{3,}/g;\r\n const _alphaCapitalPattern = /[A-Z]{1,}/g\r\n const _alphaSamllPattern = /[a-z]{4,}/g;\r\n const _simplePattern = /[!@#\\$%\\^\\&*\\)\\(+=._-]{1,}/g;\r\n try {\r\n const val = { ...strength };\r\n let strengthCount = 0;\r\n let _message = trans(\"info:password_accept_note\");\r\n\r\n if (!_numericPattern.test(_value)) {\r\n _message += ' ' + trans(\"info:password_accept_num\");\r\n } else if (!_alphaCapitalPattern.test(_value)) {\r\n _message += ' ' + trans(\"info:password_accept_capital_alph\");\r\n } else if (!_alphaSamllPattern.test(_value)) {\r\n _message += ' ' + trans(\"info:password_accept_small_alph\");\r\n } else if (!_simplePattern.test(_value)) {\r\n _message += ' ' + trans(\"info:password_accept_simple\");\r\n } else {\r\n _message = '';\r\n }\r\n if (_value?.search(_numericPattern) != -1) {\r\n strengthCount += 1;\r\n }\r\n if (_value?.search(_alphaCapitalPattern) != -1) {\r\n strengthCount += 1;\r\n }\r\n if (_value?.search(_alphaSamllPattern) != -1) {\r\n strengthCount += 1;\r\n } if (_value?.search(_simplePattern) != -1) {\r\n strengthCount += 1;\r\n }\r\n switch (strengthCount) {\r\n case 1:\r\n val.weak = true;\r\n val.middle = false;\r\n val.powerful = false;\r\n break;\r\n case 2:\r\n val.weak = true;\r\n val.middle = true;\r\n val.powerful = false;\r\n break;\r\n case 3:\r\n val.weak = true;\r\n val.middle = true;\r\n val.powerful = false;\r\n break;\r\n case 4:\r\n val.weak = true;\r\n val.middle = true;\r\n val.powerful = true;\r\n break;\r\n default:\r\n val.weak = false;\r\n val.middle = false;\r\n val.powerful = false;\r\n }\r\n setStrength(val);\r\n setValidationMessage(_message);\r\n if (onAcceptPassword) {\r\n if (val.weak && val.middle) {\r\n onAcceptPassword(true);\r\n } else {\r\n onAcceptPassword(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n title &&\r\n \r\n }\r\n\r\n\r\n {\r\n if (onKeyDown)\r\n onKeyDown(event)\r\n }}\r\n onKeyPress={(event) => {\r\n if (onKeyPress)\r\n onKeyPress(event)\r\n }}\r\n onBlur={(event) => {\r\n if (onLeave)\r\n onLeave(event)\r\n }}\r\n id={id}\r\n name={name}\r\n maxLength={length}\r\n readOnly={readOnly}\r\n onChange={(e) => {\r\n if (onChangeValue)\r\n onChangeValue(e);\r\n if (passwordStrength) {\r\n handlePasswordStrength(e);\r\n }\r\n }}\r\n // onLeave={(e) => {\r\n // if (onLeave)\r\n // onLeave(e)\r\n // }}\r\n className={\"input-field \" + extraClasses + \" \" + (disabled && \" bg-gray-light \")}\r\n placeholder={placeholder}\r\n required={required}\r\n type={type}\r\n value={value} />\r\n \r\n\r\n {(searchIcon) &&\r\n\r\n
\r\n \r\n\r\n
\r\n }\r\n\r\n {(type == 'password' && passwordStrength) &&
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{validationMessage}

\r\n
\r\n }\r\n
\r\n );\r\n}\r\n","import ErrorLabel from '../../components/error';\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function TextArea({ title, placeholder, row = 10, onChangeValue, secondary = false, required = false, errorLabel, value, disabled = false, style = null }) {\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n return (\r\n
\r\n {\r\n title &&\r\n \r\n }\r\n\r\n \r\n \r\n
\r\n );\r\n}\r\n","import { Fragment } from \"react\";\r\n\r\nexport function FormButton({ name, type = 'submit', style, onClick, isLoading = false, isPrimary = false, disabled = false, classes = '', icon = false,lang }) {\r\n\r\n return (\r\n\r\n\r\n \r\n );\r\n}\r\n","import {useTranslation} from \"react-i18next\";\r\nexport function GetMessages(){\r\n const {t:trans} = useTranslation(['messages']);\r\n const messages = {\r\n \"any.required\":trans(\"messages:field_required\"), \r\n \"string.base\":trans(\"messages:type_input_field\"),\r\n \"string.email\":trans(\"messages:email_input_field\"),\r\n \"string.empty\":trans(\"messages:empty_field\"),\r\n \"string.min\":trans(\"messages:min_input_field\"),\r\n \"string.max\":trans(\"messages:max_input_field\"),\r\n \"string.pattern.base\":trans(\"messages:flag_input_field\"),\r\n \"object.base\":trans(\"messages:file_input_field\"),\r\n \"binary.max\":trans(\"messages:file_max_input_field\"),\r\n \"date.base\":trans(\"messages:date_input_field\"),\r\n \"any.only\":trans(\"messages:password-not-matched\"),\r\n \"number.base\":trans(\"messages:number_input_field\"),\r\n \"number.positive\":trans(\"messages:number_pos_input_field\"),\r\n \"number.min\":trans(\"messages:number_min_input_field\"),\r\n \"number.max\":trans(\"messages:number_max_input_field\"),\r\n \"string.length\":trans(\"messages:flag_length_field\")\r\n }\r\n return messages;\r\n}\r\nexport function formValidate(schema,data){ \r\nconst {error,value} = schema.validate(data,{abortEarly:false});\r\nif(!error) return null;\r\n//alert(JSON.stringify(error.details));\r\nconst errors ={};\r\nfor(let item of error.details){\r\n if(item.type != 'object.unknown')\r\n errors[item.path[0]] = item.message;\r\n}\r\nreturn errors;\r\n}\r\n\r\nexport function validateProperty({name,value},schema){\r\nconst obj = {[name]:value};\r\nconst {error} = schema.validate(obj,{abortEarly:false});\r\nreturn error ? error.details[0].message : null;\r\n}","import {useEffect , useState } from 'react';\r\nimport ErrorLabel from '../../components/error';\r\nexport function PhoneInput({name,title,enabled , onChangeValue ,errorLabel,defaultValue,prefix = '+966', length = 9}){\r\n const [phonevalue,setPhoneValue] = useState();\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\nuseEffect(()=>{\r\nif(defaultValue!=null&&defaultValue!='')\r\nsetPhoneValue(defaultValue);\r\nelse\r\nsetPhoneValue(prefix);\r\n},[defaultValue]);\r\n\r\nfunction handleChange(event){\r\n let result = (event.target.validity.valid) ? event.target.value : phonevalue;\r\n if(!phonevalue.startsWith(prefix))\r\n result = prefix + phonevalue;\r\n setPhoneValue(result);\r\n}\r\n\r\n\r\nfunction handleUnfocus(){\r\n if(!phonevalue.startsWith(prefix)) \r\n setPhoneValue(prefix);\r\n}\r\n\r\nreturn(\r\n
\r\n \r\n \r\n {handleUnfocus();onChangeValue(phonevalue);}} maxLength={length + 4} onInput={(e)=>{ handleChange(e);onChangeValue(phonevalue)}} value ={phonevalue} name={name} className={\"input-field bg-white\"} type=\"text\"/>\r\n
\r\n);\r\n}\r\n","import { useState, useRef, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport ErrorLabel from \"../error\";\r\nimport axios from \"axios\";\r\nimport config from '../../configuration/config.json';\r\n\r\nconst PhoneDropDown = ({\r\n mandotory = false,\r\n title = '',\r\n onChangeValue,\r\n errorLabel,\r\n defaultValue = '',\r\n defaultFlag = null,\r\n maxLength = 9,\r\n disabled = false,\r\n countriesListCode,\r\n placeholderProp,\r\n isLoginProp = false\r\n}) => {\r\n const countriesCode = [\r\n { code: '966', DescriptionAr: 'السعودية', DescriptionEn: 'Saudi Arabia', flag: 'saudiFlag.png' },\r\n { code: '49', DescriptionAr: 'المانيا', DescriptionEn: 'Germany', flag: 'germanyFlag.png' },\r\n { code: '55', DescriptionAr: 'البرازيل', DescriptionEn: 'Brazil', flag: 'brazilFlag.png' }\r\n ];\r\n\r\n const defaultFlagPath = '/assets/flags/';\r\n const { t: trans, i18n } = useTranslation([\"form\", \"model\", \"new\"]);\r\n const [isOpened, setIsOpened] = useState(false);\r\n\r\n const [isFocus, setIsFocus] = useState(false);\r\n const [currentcountriesCode, setCurrentcountriesCode] = useState(countriesCode);\r\n const [activeFlag, setActiveFlag] = useState(defaultFlag ? {\r\n flagText: defaultFlag,\r\n flag: defaultFlagPath + 'saudiFlag.png'\r\n } : {\r\n flagText: '966',\r\n flag: defaultFlagPath + 'saudiFlag.png'\r\n });\r\n const [phoneValue, setPhoneValue] = useState(defaultValue);\r\n const flagRef = useRef();\r\n const inputRef = useRef();\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n\r\n useEffect(() => {\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [flagRef, isOpened]);\r\n\r\n const [Country, setCountry] = useState([]);\r\n\r\n async function FillAllCountries() {\r\n\r\n const Body = { \"name\": \"site_AllCountries\" }\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data);\r\n if (response?.data && response.data.length > 0)\r\n setCountry(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n const handleChangeCountryCodeStatus = () => {\r\n if(disabled == false){\r\n const newStatus = !isOpened;\r\n setIsOpened(newStatus);\r\n }\r\n \r\n };\r\n const handleClickOutside = (event) => {\r\n if (flagRef.current && !flagRef.current.contains(event.target) && isOpened === true) {\r\n setIsOpened(false);\r\n setIsFocus(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (defaultValue)\r\n setPhoneValue(defaultValue);\r\n }, [defaultValue]);\r\n\r\n\r\n useEffect(() => {\r\n FillAllCountries();\r\n }, []);\r\n useEffect(() => {\r\n\r\n if (Country && Country?.length > 0) {\r\n\r\n var bb = Country.map(a => {\r\n return (a?.DialingCode && a?.DialingCode != \"001\") && {\r\n code: parseInt(a?.DialingCode, 10)?.toString(),\r\n DescriptionAr: a?.DescriptionAr,\r\n DescriptionEn: a?.DescriptionEn,\r\n flag: \"\"\r\n }\r\n\r\n\r\n })\r\n\r\n setCurrentcountriesCode(bb);\r\n }\r\n }, [Country]);\r\n const handleChangeCountryCode = (item) => {\r\n let { code, flag } = item;\r\n setActiveFlag({\r\n flagText: code,\r\n flag: defaultFlagPath + flag\r\n });\r\n setIsOpened(false);\r\n onChangeValue(code, phoneValue);\r\n inputRef.current.focus();\r\n };\r\n const handleInputChange = (event) => {\r\n if (event.target.validity.valid) {\r\n setPhoneValue(event.target.value);\r\n if (onChangeValue) {\r\n onChangeValue(activeFlag.flagText, event.target.value);\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 {'+(' + activeFlag.flagText + ')'}\r\n \r\n
\r\n
\r\n\r\n
\r\n \"arrow\"\r\n
\r\n
\r\n\r\n
\r\n {\r\n setIsFocus(true)\r\n }} onBlur={() => {\r\n setIsFocus(false)\r\n }}\r\n value={phoneValue}\r\n onInput={(e) => {\r\n handleInputChange(e)\r\n }} type=\"phoneNumber\" ref={inputRef} className={(isLoginProp == false\r\n ? \"phone-selectable-input text-16 text-right\"\r\n : \"phone-selectable-input-from-login text-16 text-left\")+ (disabled && \" bg-gray-light \") }\r\n style={{ right: (lang == 'en' ? '-9rem' : 'auto') }}\r\n placeholder={`${placeholderProp ? placeholderProp : trans(\"form:5xx xxx xxx\")} ${mandotory ? '*' : ''} `} />\r\n
\r\n {\r\n isOpened && (
\r\n
    \r\n {\r\n currentcountriesCode?.map((item, index) => {\r\n\r\n return item?.code != null && item?.code != undefined ?\r\n
  • {\r\n handleChangeCountryCode(item);\r\n }}>\r\n \r\n {item[`${trans(\"model:description\")}`]}\r\n \r\n
    \r\n \r\n {'+(' + (item.code) + ')'}\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\nexport default PhoneDropDown;\r\n","/**\r\n * this function is used to reset the drop down and choose which array\r\n// you really want to return \r\n * @param {func} callback \r\n * @param {Array} values \r\n * @param {Boolean} forceReturn \r\n */\r\nexport default function dropDownResetter(callback,values,forceReturn = false){\r\n if(callback){\r\n callback();\r\n }\r\n if(forceReturn){\r\n return values\r\n }\r\n };","import React, {Fragment, useEffect, useRef, useState} from 'react'\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport config from \"../../../configuration/config.json\";\r\n\r\nconst CustomPopover = ({listMain, level2, level3}) => {\r\n const [lang, setLang] = useState(localStorage.getItem('i18nextLng'));\r\n\r\n const [isShowIndex, setIsShowIndex] = useState(null);\r\n\r\n const [CatMain, setCatMain] = useState(null);\r\n const [SuPCat, setSupCat] = useState(null);\r\n const [SSuPCat, setSSupCat] = useState(null);\r\n\r\n const [fCatSup1, setoptionCatSup] = useState([]);\r\n const [fCatSup2, setoptionCatSup2] = useState([]);\r\n\r\n const dropdownRef = useRef(null);\r\n const show = ({val}) => {\r\n setIsShowIndex(null);\r\n setIsShowIndex(val);\r\n };\r\n\r\n const [imageTitle, setImageTitle] = useState(null);\r\n const [imageTitleLevel1, setImageTitleLevel1] = useState(null);\r\n const [imageTitleLevel2, setImageTitleLevel2] = useState(null);\r\n\r\n\r\n // Function to handle click outside of dropdown\r\n const handleClickOutside = (event) => {\r\n if (dropdownRef.current && !dropdownRef.current.contains(event.target) && !dropdownRef.current.parentNode.contains(event.target)) {\r\n // Click occurred outside of dropdown, close it\r\n setIsShowIndex(null);\r\n }\r\n };\r\n\r\n function filterCatSup1(option) {\r\n setCatMain(option);\r\n setSupCat(null);\r\n var filter = level2.filter(a => a.GroupIDMain == option);\r\n setoptionCatSup(level2.filter(a => a.GroupIDMain == option));\r\n }\r\n\r\n function filterCatSup2(option) {\r\n setSupCat(option);\r\n var filter = level3.filter(a => a.GroupIDMainSup1 === option.GroupIDMainSup1);\r\n setoptionCatSup2(level3.filter(a => a.GroupIDMainSup1 === option.GroupIDMainSup1));\r\n console.log(\"filter\", filter);\r\n }\r\n\r\n function adjustDropdownPosition(button, drId, indexP) {\r\n const dropdown = document.getElementById(drId);\r\n\r\n var customPopover = document.getElementById(\"CustomPopover\");\r\n // console.log(\"CustomPopover:offsetLeft\",customPopover.target.offsetLeft)\r\n\r\n const {right, left} = customPopover.getBoundingClientRect();\r\n console.log('CustomPopover:offsetRight:', right);\r\n console.log('CustomPopover:offsetLeft:', left);\r\n // console.log(\"CustomPopover:offsetLeft\",customPopover.target.offsetLeft)\r\n\r\n console.log(\"dropdown:\", dropdown);\r\n\r\n const dropdownContent = document.getElementById(`dropdown-content-${indexP}`);\r\n console.info(\"dropdownContent\", dropdownContent)\r\n const rect = dropdownContent.getBoundingClientRect();\r\n const rightSpace = right - rect.right;\r\n const leftSpace = left - rect.left;\r\n\r\n console.log(\"rect.right \", rect.right);\r\n console.log(\"rect.left \", rect.left);\r\n\r\n console.log(\"rightSpace \", rightSpace);\r\n console.log(\"leftSpace \", leftSpace);\r\n if (rightSpace < -1) {\r\n dropdownContent.style.left = `${rightSpace}px`;\r\n }\r\n\r\n if (leftSpace > 1) {\r\n // Dropdown is beyond right edge, move it left\r\n dropdownContent.style.right = `${leftSpace * -1}px`;\r\n }\r\n }\r\n \r\n const funcSetImage= ({typeLevel})=>{\r\n try {\r\n switch (typeLevel) {\r\n case \"level1\": \r\n setImageTitle(imageTitleLevel1);\r\n break; \r\n case \"level2\":\r\n setImageTitle(imageTitleLevel2);\r\n break;\r\n default:\r\n setImageTitle(\"/assets/images/car-bg.png\");\r\n break;\r\n }\r\n }catch (ex) {\r\n console.log(\"funcSetImage:catch:>>>\",ex);\r\n }\r\n };\r\n\r\n // Add event listener when component mounts\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n // Cleanup: Remove event listener when component unmounts\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n return (\r\n // (showNav === \"vehicle\" || \"hidden\")\r\n
\r\n \r\n\r\n {listMain.map((val, i) => {\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 fCatSup2.map((valLevel2, indexLevel2) => {\r\n return (\r\n
  • \r\n setIsShowIndex(null)}\r\n to={\"/eparts/sereach?\" + \"CatMain=\" + CatMain + \"&SuPCat=\" + SuPCat?.GroupIDMainSup1 + \"&SSuPCat=\" + valLevel2.GroupIDMainSup2}\r\n className=\"text-gray-900 my-3 cursor-pointer text-3xl sm:text-4xl lg:text-2xl hover:text-green-500\"\r\n >\r\n {lang.toLowerCase() == \"en\" ? valLevel2?.DescriptionEn : valLevel2?.DescriptionAr}\r\n \r\n
  • \r\n );\r\n })\r\n }\r\n
    \r\n \r\n }\r\n \r\n
    \r\n \r\n {\r\n imageTitle && (\r\n \r\n )\r\n }\r\n {\r\n !imageTitle && (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\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 CustomPopover;","import { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport React, { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { InputField } from \"../../../components/_input/_input\";\r\nimport config from '../../../configuration/config.json';\r\nimport dropDownResetter from \"../../../utils/resetDropDown\";\r\nimport { reverse } from \"lodash\";\r\nimport { useLocation } from \"react-router\";\r\nimport CustomPopover from \"./customPopover\";\r\n\r\nconst PartSearch = forwardRef((\r\n { search, isIndex = false, isLoadingFuncProp, onChangValuesProp, activePage, passEngineGroups}, ref) => {\r\n\r\n\r\n //\r\n // export function PartSearch({\r\n // search, isIndex = false, isLoadingFuncProp, onChangValuesProp, clearFilterProp\r\n // }) {\r\n //public verb\r\n const { t: trans } = useTranslation([\"common\", \"eparts\", 'inputs', \"info\", \"new\"]);\r\n const [vehicle, setVehicle] = useState(\"\");\r\n const [vin, setVin] = useState(\"hidden\");\r\n const [part, setPart] = useState(\"hidden\");\r\n const [category, setCategory] = useState(\"hidden\");\r\n\r\n let query = new URLSearchParams(useLocation().search);\r\n const [brand, setBrand] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [year, setYear] = useState(null);\r\n const [Stype, setStype] = useState(null);\r\n const [queryProduct, setQueryProduct] = useState(query.get(\"Product\") ?? null);\r\n\r\n\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + lang;\r\n const [Brands, setBrands] = useState([]);\r\n const [ProductGroups, setProductGroups] = useState([]);\r\n const [ProductModel, setProductModel] = useState([]);\r\n const [ProductModelTypes, setProductModelTypes] = useState([]);\r\n\r\n const [engineGroups, setEngineGroups] = useState([]);\r\n const [engineGroupsSup, setEngineGroupsSup] = useState([]);\r\n const [engineGroupsSup2, setEngineGroupsSup2] = useState([]);\r\n\r\n //values for filter dropdown\r\n useEffect(() => {\r\n\r\n if (query && Brands.length > 0) {\r\n setBrand(query.get(\"brand\"));\r\n setResGroup(query.get(\"group\"));\r\n setResProductType(query.get(\"type\"));\r\n setResProductModel(query.get(\"year\"));\r\n // setQueryProduct (query.get(\"Product\"))\r\n if (query.get(\"brand\") != null) {\r\n setTimeout(() => {\r\n refreshPage(\"Vehicle\", query.get(\"brand\"), query.get(\"type\"), query.get(\"group\"), query.get(\"year\"));\r\n }, 1500)\r\n }\r\n }\r\n }, [Brands]);\r\n\r\n\r\n const [FProductGroups, setFProductGroups] = useState([]);\r\n\r\n const [FProductModelTypes, setFProductModelTypes] = useState([]);\r\n\r\n //values for filter dropdown\r\n\r\n const [fCatSup1, setoptionCatSup] = useState([{ value: \"0\", text: \"الكل\" }]);\r\n const [fCatSup2, setoptionCatSup2] = useState([{ value: \"0\", text: \"الكل\" }]);\r\n\r\n\r\n //values for search of Vichals\r\n // const [brand, setBrand] = useState(0);\r\n // const [group, setGroup] = useState( null);\r\n // const [year, setYear] = useState(null);\r\n // const [Stype, setStype] = useState(null);\r\n\r\n const [CatMain, setCatMain] = useState(null);\r\n const [SuPCat, setSupCat] = useState(null);\r\n const [SSuPCat, setSSupCat] = useState(null);\r\n\r\n const [Product, setPro] = useState(\"0\");\r\n\r\n const GetUrl = config.baseURL + 'details';\r\n\r\n // const [inputPro, setInputPro] = useState('');\r\n const [filterShow, setFilterShow] = useState(\"\")\r\n\r\n function SetProduct(data) {\r\n setPro(data.target.value);\r\n }\r\n\r\n const SendRequset = async () => {\r\n\r\n try {\r\n\r\n // if (\"caches\" in window) {\r\n // let url = \"Settings\";\r\n //\r\n // // Opening that particular cache\r\n // const cacheStorage = await caches.open(\"HJWeb\");\r\n // ;\r\n // // Fetching that particular cache data\r\n // const cachedResponse = await cacheStorage.match(\r\n // url\r\n // );\r\n // let data = await cachedResponse?.json();\r\n // setBrands(data.brands)\r\n // setProductGroups(data?.groups)\r\n // setTimeout(setProductModel(reverse(data?.models)), 1000);\r\n // setTimeout(setProductModelTypes(data?.productModels), 1000);\r\n // }\r\n\r\n } catch (error) {\r\n }\r\n\r\n try {\r\n axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n }).then(settingResponse => {\r\n\r\n setBrands(settingResponse?.data?.brands)\r\n setProductGroups(settingResponse.data?.groups)\r\n // setTimeout(setProductModel(reverse(settingResponse?.data?.models)), 1000);\r\n // setTimeout(setProductModelTypes(settingResponse?.data?.productModels), 1000);\r\n setProductModelTypes(settingResponse?.data?.productModels);\r\n setProductModel(reverse(settingResponse?.data?.models));\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings\", data);\r\n\r\n });\r\n }\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n\r\n });\r\n\r\n\r\n //---------------------------------------------------------------\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n const BodyBrands = {\r\n \"object\": \"InvBrands\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n , \"option\": \"column\",\r\n \"Fields\": \"BrandID,DescriptionAr,DescriptionEn\",\r\n \"filters\": \" where IsEnabled =1\"\r\n\r\n };\r\n const requestBrands = axios.request({\r\n url: GetUrl,\r\n data: BodyBrands, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyProductGroups = {\r\n \"object\": \"InvProductGroups\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"DescriptionAr,DescriptionEn,ProductGroupID,BrandID\"\r\n };\r\n const requestProductGroups = axios.request({\r\n url: GetUrl,\r\n data: BodyProductGroups, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyProductModel = {\r\n \"object\": \"InvProductModel\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n const requestProductModel = axios.request({\r\n url: GetUrl,\r\n data: BodyProductModel, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyProductModelTypes = {\r\n \"object\": \"InvProductModelTypes\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n const requestProductModelTypes = axios.request({\r\n url: GetUrl,\r\n data: BodyProductModelTypes, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n // const BodyEngineGroups = {\r\n // \"object\": \"Site_categorySP\",\r\n // \"ObjectSettings\": {\r\n // \"MetaData\": false\r\n // }\r\n // };\r\n const BodyEngineGroups = {\r\n \"name\": \"fun_Site_categorySP\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n const requestEngineGroups = axios.request({\r\n url: config.baseURL + \"func\",\r\n data: BodyEngineGroups, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyEngineGroupsSUP = {\r\n // \"object\": \"Site_SupCategory\",\r\n \"name\": \"fun_Site_SupCategory\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n const requestEngineGroupsSUP = axios.request({\r\n url: config.baseURL + \"func\",\r\n data: BodyEngineGroupsSUP, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyEngineGroupsSUP2 = {\r\n // \"object\": \"Site_ItemsSupCategory\",\r\n \"name\": \"fun_Site_ItemsSupCategory\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n const requestEngineGroupsSUP2 = axios.request({\r\n url: config.baseURL + \"func\",\r\n data: BodyEngineGroupsSUP2, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n\r\n await axios.all([requestEngineGroups, requestEngineGroupsSUP, requestEngineGroupsSUP2])\r\n .then(\r\n axios.spread(\r\n function (\r\n // Brands, \r\n // ProductGroups,\r\n // ProductModel,\r\n // ProductModelTypes,\r\n EngineGroups,\r\n EngineGroupsSup,\r\n EngineGroupsSup2\r\n ) {\r\n\r\n // setTimeout(setBrands(Brands.data.ApiObjectData),1000);\r\n // setTimeout(setProductGroups(ProductGroups.data.ApiObjectData),1000);\r\n // setTimeout(setProductModel(reverse(ProductModel.data.ApiObjectData)),1000);\r\n // setTimeout(setProductModelTypes(ProductModelTypes.data.ApiObjectData),1000);\r\n\r\n // setTimeout(setEngineGroups(EngineGroups.data.ApiObjectData), 1000);\r\n\r\n setEngineGroups(EngineGroups?.data);\r\n\r\n setTimeout(setEngineGroupsSup(EngineGroupsSup?.data), 500);\r\n setTimeout(setEngineGroupsSup2(EngineGroupsSup2?.data), 900);\r\n\r\n if(passEngineGroups){\r\n\r\n passEngineGroups({\r\n EngineGroups:EngineGroups?.data,\r\n EngineGroupsSup : EngineGroupsSup?.data,\r\n EngineGroupsSup2 :EngineGroupsSup2?.data\r\n })\r\n }\r\n\r\n })).catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n function filterGroup(option) {\r\n\r\n\r\n console.log(\"filterGroup>>>>>>>>>>>>>>>:\", option);\r\n console.log(\"brabd>>>>>>>>>>>>>>>:\", brand);\r\n // setBrand(option);\r\n if (option == '0' || option == '') {\r\n dropDownResetter(() => {\r\n setFProductGroups([]);\r\n setFProductModelTypes([]);\r\n });\r\n return;\r\n }\r\n\r\n setFProductGroups(ProductGroups.filter(a => a.brandID == option));\r\n console.log(\"filterGroup>>>>>>>>>>>>>>>:\", FProductGroups);\r\n }\r\n\r\n function filterModelType(option) {\r\n // setResProductType(null);\r\n setResProductModel(null);\r\n\r\n setResGroup(option);\r\n if (option == '0' || option == '') {\r\n dropDownResetter(() => {\r\n setFProductModelTypes([]);\r\n });\r\n return;\r\n }\r\n setFProductModelTypes(ProductModelTypes.filter(a => a.productGroupID == option));\r\n }\r\n\r\n function filterYear(option) {\r\n setResProductModel(option.value);\r\n setIsHeadingBtn(false);\r\n }\r\n\r\n function filterModel(option) {\r\n setResProductModel(null); // 2000\r\n setResProductType(option);\r\n\r\n if (option == '0' || option == '') {\r\n dropDownResetter(() => {\r\n setResProductModel(null);\r\n });\r\n return;\r\n }\r\n }\r\n\r\n function filterCatSup1(option) {\r\n setCatMain(option);\r\n setoptionCatSup(engineGroupsSup.filter(a => a.GroupIDMain == option));\r\n // console.log(filterCatSup1);\r\n }\r\n\r\n function filterCatSup2(option) {\r\n setSupCat(option.value);\r\n setoptionCatSup2(engineGroupsSup2.filter(a => a.GroupIDMainSup1 === option.value));\r\n // console.log(filterCatSup1);\r\n }\r\n\r\n\r\n\r\n\r\n //for the search \r\n //query select Cat\r\n let Engine_Groups = CatMain;\r\n let Engine_GroupsSup = SuPCat;\r\n let Engine_GroupsSup2 = SSuPCat;\r\n\r\n useEffect(() => {\r\n // requestBrands(); requestProductGroups();requestProductModel();requestProductModelTypes();\r\n\r\n SendRequset();\r\n console.log(engineGroups);\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // }, [engineGroups]);\r\n\r\n function getResultAll() {\r\n const Body = {\r\n // \"name\": \"Site_FeatchPartByAll\",\r\n // \"values\": {\r\n // \"search\": ''\r\n // }\r\n\r\n \"name\": \"Site_FeatchPartByTypeVehicle\",\r\n \"values\": {\r\n \"brand\": parseInt(brand),\r\n \"group\": resGroup,\r\n \"type\": resProductType,\r\n \"year\": resProductModel?.toString() ?? null,\r\n \"pageNumber\": 1,\r\n \"freeText\": \"\",\r\n \"productNo\": \"\",\r\n \"cat\": null,\r\n \"subCat\": null,\r\n \"subSubCat\": null\r\n }\r\n }\r\n const request = axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n axios.all([request])\r\n .then(\r\n axios.spread(\r\n function (ProductsWithDetails) {\r\n // setTimeout(setItems(ProductsWithDetails.data), 500);\r\n })\r\n )\r\n .catch(function (error) {\r\n // setItems([])\r\n console.log(error);\r\n });\r\n }\r\n\r\n function refreshPage(type, brandID = brand, resProductTypeQuery = resProductType, resGroupQuery = resGroup, resProductModelQuery = resProductModel) {\r\n // setTimeout(()=>{\r\n // window.location.reload(false);\r\n // }, 500);\r\n // console.log('page to reload')\r\n\r\n if (search) {\r\n if (type == \"Cat\") {\r\n setQueryProduct('');\r\n search.FunCat(Engine_Groups, Engine_GroupsSup, Engine_GroupsSup2);\r\n }\r\n if (type == \"Vehicle\") {\r\n setQueryProduct(null);\r\n search.FunVech(parseInt(brandID), resProductTypeQuery, resGroupQuery, resProductModelQuery);\r\n // isLoadingFuncProp(true);\r\n }\r\n if (type == \"ProductID\") {\r\n search.FunPro(Product);\r\n }\r\n isLoadingFuncProp(true);\r\n\r\n\r\n // console.log(\"fun search\",search)\r\n }\r\n }\r\n\r\n\r\n function show(section) {\r\n\r\n\r\n setVehicle(\"hidden\");\r\n setVin(\"hidden\");\r\n setPart(\"hidden\");\r\n setCategory(\"hidden\");\r\n\r\n switch (section) {\r\n case \"vehicle\":\r\n setVehicle(\"\");\r\n break;\r\n case \"vin\":\r\n setVin(\"\");\r\n break;\r\n case \"part\":\r\n setPart(\"\");\r\n break;\r\n case \"category\":\r\n setCategory(\"\");\r\n break;\r\n default:\r\n setVehicle(\"\");\r\n }\r\n }\r\n\r\n function getvalue(e) {\r\n console.log(e.target.value);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (brand != null && brand != undefined && Brands.length > 0)\r\n filterGroup(brand)\r\n }, [brand, Brands]);\r\n\r\n // useEffect(() => {\r\n // try {\r\n //\r\n // if (Brands && Brands.length > 0) {\r\n //\r\n // setTimeout(() => {\r\n //\r\n // var bbr = query.get(\"brand\") ?? null;\r\n // console.log(\"MMM>>>>>>>>>>>>>>>>:\", bbr);\r\n // setBrand(bbr);\r\n // if (bbr) {\r\n //\r\n // filterGroup(bbr);\r\n // refreshPage(\"Vehicle\", bbr);\r\n // }\r\n //\r\n //\r\n // }, 1000)\r\n //\r\n // }\r\n //\r\n //\r\n // } catch (error) {\r\n //\r\n // }\r\n // }, [Brands]);\r\n\r\n // vehicle\r\n const [resGroup, setResGroup] = useState(null);\r\n useEffect(() => {\r\n if (FProductGroups.length != 0) {\r\n let resVal = resGroup;\r\n setResGroup(null);\r\n setTimeout(() => {\r\n setResGroup(resVal);\r\n filterModelType(resVal);\r\n }, 1000);\r\n }\r\n }, [FProductGroups]);\r\n\r\n const [resProductType, setResProductType] = useState(null);\r\n useEffect(() => {\r\n if (FProductModelTypes.length != 0) {\r\n let resVal = resProductType;\r\n setResProductType(null);\r\n setTimeout(() => {\r\n setResProductType(resVal);\r\n }, 1200);\r\n // setResProductType(Stype);\r\n }\r\n }, [FProductModelTypes]);\r\n\r\n const [resProductModel, setResProductModel] = useState(null);\r\n useEffect(() => {\r\n if (ProductModel.length != 0) {\r\n let resVal = resProductModel;\r\n setResProductModel(null);\r\n console.log(\"resVal: >>>>>>>>>>>>>>>>\", resVal);\r\n setTimeout(() => {\r\n setResProductModel(resVal);\r\n }, 1300);\r\n }\r\n }, [ProductModel]);\r\n // end\r\n\r\n // ProductID\r\n const [resProduct, setResProduct] = useState('');\r\n useEffect(() => {\r\n if (Product)\r\n setResProduct(Product);\r\n }, [Product]);\r\n\r\n // end\r\n\r\n useEffect(() => {\r\n let body = {\r\n \"brand\": brand,\r\n 'group': resGroup,\r\n 'type': resProductType,\r\n 'year': resProductModel\r\n };\r\n if (onChangValuesProp)\r\n onChangValuesProp(body);\r\n }, [brand, resGroup, resProductType, resProductModel]);\r\n\r\n const [isHeadingBtn, setIsHeadingBtn] = useState(false);\r\n\r\n // Define the function to be called from the parent\r\n const clearFiltersFunc = () => {\r\n console.log('Function called in child component!');\r\n // Add your functionality here\r\n setBrand(null);\r\n setResGroup(null);\r\n setResProductType(null);\r\n setResProductModel(null);\r\n // setYear(null);\r\n\r\n setResProduct(null);\r\n\r\n console.info(queryProduct);\r\n setQueryProduct(null);\r\n setPro(null);\r\n console.info(queryProduct);\r\n\r\n\r\n // clearFilterProp = false;\r\n setBrand(null);\r\n setIsHeadingBtn(true);\r\n\r\n setCatMain(null);\r\n setSupCat(null);\r\n setSSupCat(null);\r\n\r\n };\r\n\r\n // Expose the function to the parent component using useImperativeHandle\r\n useImperativeHandle(ref, () => ({\r\n clearFiltersFunc,\r\n }));\r\n\r\n useEffect(() => {\r\n if (resProductModel) {\r\n }\r\n }, [resProductModel]);\r\n\r\n return (\r\n <>\r\n\r\n {\r\n engineGroups.length != 0 && engineGroupsSup.length != 0 && engineGroupsSup2.length != 0 &&\r\n\r\n (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n {/*
    */}\r\n {/*
    */}\r\n {/* /!* {*!/*/}\r\n {/* /!* show(\"vehicle\");*!/*/}\r\n {/* /!* setFilterShow(\"vehicle\");*!/*/}\r\n {/* /!* }}*!/*/}\r\n {/* /!* className={\"text-20 \" + vehicle}*!/*/}\r\n {/* /!*>*!/*/}\r\n {/* /!* {trans(\"eparts:vehicle\")}*!/*/}\r\n {/* /!**!/*/}\r\n\r\n {/* /!**!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* show(\"part\");*!/*/}\r\n {/* /!* setFilterShow(\"part\");*!/*/}\r\n {/* /!* }}*!/*/}\r\n {/* /!* className={\"text-20 \" + part}*!/*/}\r\n {/* /!*>*!/*/}\r\n {/* /!* {trans(\"eparts:product_id\")}*!/*/}\r\n {/* /!**!/*/}\r\n {/* /!* show(\"category\")}*!/*/}\r\n {/* /!* className={\"text-20 \" + category}*!/*/}\r\n {/* /!*>*!/*/}\r\n {/* /!* {trans(\"eparts:category\")}*!/*/}\r\n {/* /!**!/*/}\r\n {/*
    */}\r\n\r\n\r\n {/*
    */}\r\n\r\n {/* /!*{\"المركبات\"}*!/*/}\r\n {/* /!*
    *!/*/}\r\n {/* /!*
    *!/*/}\r\n\r\n\r\n {/* /!* filterGroup(option.value)}*!/*/}\r\n {/* /!* onfilter={(option) => {*!/*/}\r\n {/* /!* setResProductType(null);*!/*/}\r\n {/* /!* setResProductModel(null);*!/*/}\r\n {/* /!* setResGroup(null);*!/*/}\r\n\r\n {/* /!* setBrand(option.value.toString());*!/*/}\r\n {/* /!* }}*!/*/}\r\n {/* /!* isepart={true}*!/*/}\r\n {/* /!* options={[*!/*/}\r\n {/* /!* ...Brands?.map(B => {*!/*/}\r\n {/* /!* return {value: B.brandID.toString(), text: B.description};*!/*/}\r\n\r\n\r\n {/* /!* })]}*!/*/}\r\n {/* /!* />*!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* setResProductType(null);*!/*/}\r\n {/* /!* setResProductModel(null);*!/*/}\r\n\r\n {/* /!* filterModelType(option.value);*!/*/}\r\n {/* /!* }*!/*/}\r\n {/* /!* }*!/*/}\r\n {/* /!* isepart={true}*!/*/}\r\n {/* /!* options={[*!/*/}\r\n {/* /!* ...FProductGroups.map(B => {*!/*/}\r\n\r\n {/* /!* return {value: B.productGroupID, text: B.description};*!/*/}\r\n\r\n\r\n {/* /!* })]}*!/*/}\r\n {/* /!* />*!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* filterModel(e.value)*!/*/}\r\n {/* /!* }}*!/*/}\r\n {/* /!* isepart={true}*!/*/}\r\n {/* /!* options={[*!/*/}\r\n {/* /!* ...FProductModelTypes.map(B => {*!/*/}\r\n\r\n\r\n {/* /!* return {value: B.productTypeID, text: B.description};*!/*/}\r\n\r\n\r\n {/* /!* })]}*!/*/}\r\n {/* /!* />*!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* // console.log(parseInt(B.modelID));*!/*/}\r\n\r\n {/* /!* return {value: B.modelID, text: B.modelID};*!/*/}\r\n {/* /!* })*!/*/}\r\n\r\n {/* /!* // ...[2015, 2016, 2020, 2030].map(B=>{*!/*/}\r\n {/* /!* //*!/*/}\r\n {/* /!* // return { value: B, text: B };*!/*/}\r\n {/* /!* // })*!/*/}\r\n {/* /!* ]}*!/*/}\r\n\r\n {/* /!* />*!/*/}\r\n\r\n {/* /!*
    *!/*/}\r\n\r\n {/* /!* /!*{Stype +\" ||&& :\"+ group +\" ||&& :\"+ year}*!/*!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* isHeadingBtn == false && (*!/*/}\r\n {/* /!* resProductType && resGroup && resProductModel && (*!/*/}\r\n {/* /!* refreshPage(\"Vehicle\", brand)}*!/*/}\r\n {/* /!* to={\"/eparts/sereach?\" + \"brand=\" + brand + (resGroup ? \"&group=\" + resGroup : \"\") + (resProductType ? \"&type=\" + resProductType : \"\") + (resProductModel ? \"&year=\" + resProductModel : \"\")}*!/*/}\r\n {/* /!* className={\"btn btn-primary text-16 py-3 px-10 mr-4\"}*!/*/}\r\n {/* /!* >*!/*/}\r\n {/* /!* {trans(\"eparts:search\")}*!/*/}\r\n {/* /!* *!/*/}\r\n\r\n {/* /!* )*!/*/}\r\n {/* /!* )*!/*/}\r\n {/* /!* }*!/*/}\r\n\r\n {/* /!* {*!/*/}\r\n {/* /!* // isHeadingBtn == true && (*!/*/}\r\n {/* /!* // Stype && group && year && (*!/*/}\r\n {/* /!* // refreshPage(\"Vehicle\", brand)}*!/*/}\r\n {/* /!* // to={\"/eparts/sereach?\" + \"brand=\" + brand + (group ? \"&group=\" + group : \"\") + (Stype ? \"&type=\" + Stype : \"\") + (year ? \"&year=\" + year : \"\")}*!/*/}\r\n {/* /!* // className={\"btn btn-primary text-16 py-3 px-10 mr-4\"}*!/*/}\r\n {/* /!* // >*!/*/}\r\n {/* /!* // {trans(\"eparts:search\")}*!/*/}\r\n {/* /!* // *!/*/}\r\n {/* /!* //*!/*/}\r\n {/* /!* // )*!/*/}\r\n {/* /!* // )*!/*/}\r\n {/* /!* }*!/*/}\r\n {/* /!*
    *!/*/}\r\n\r\n {/* /!*
    *!/*/}\r\n {/* /!*
    *!/*/}\r\n {/* /!* *!/*/}\r\n {/* /!* *!/*/}\r\n {/* /!*
    *!/*/}\r\n {/* /!* {trans(\"eparts:search\")}*!/*/}\r\n {/* /!*
    *!/*/}\r\n\r\n {/* /!*{\"رقم الصنف\"}*!/*/}\r\n {/* /!*
    *!/*/}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n {/* {*/}\r\n {/* setQueryProduct(null);*/}\r\n {/* SetProduct(e);*/}\r\n {/* }*/}\r\n {/* }*/}\r\n {/* value={queryProduct}*/}\r\n {/* />*/}\r\n {/*
    */}\r\n\r\n {/* {*/}\r\n {/* resProduct && resProduct != null && resProduct != '' && resProduct != 0 ? (*/}\r\n {/* refreshPage(\"ProductID\")}*/}\r\n {/* to={\"/eparts/sereach?Product=\" + resProduct}*/}\r\n {/* className={\"btn btn-primary text-16 py-3 px-10 mr-4\"}*/}\r\n {/* >*/}\r\n {/* {trans(\"eparts:search\")}*/}\r\n {/* */}\r\n {/* ) : <>*/}\r\n {/* }*/}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n {/* /!*{\"الفئات\"}*!/*/}\r\n {/* {*/}\r\n {/* isIndex == false && (*/}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n {/* {*/}\r\n {/* if (lang === \"ar\") {*/}\r\n {/* return {value: H.GroupIDMain, text: H.DescriptionAr};*/}\r\n {/* } else {*/}\r\n {/* return {value: H.GroupIDMain, text: H.DescriptionEn};*/}\r\n {/* }*/}\r\n {/* }*/}\r\n {/* )*/}\r\n {/* ]*/}\r\n\r\n {/* }*/}\r\n {/* onfilter={(e) => {*/}\r\n {/* filterCatSup1(e.value)*/}\r\n {/* }}*/}\r\n {/* />*/}\r\n\r\n {/* {*/}\r\n\r\n {/* if (lang === \"ar\") {*/}\r\n {/* return {value: B.GroupIDMainSup1, text: B.DescriptionAr};*/}\r\n {/* } else {*/}\r\n {/* return {value: B.GroupIDMainSup1, text: B.DescriptionEn};*/}\r\n {/* }*/}\r\n\r\n {/* })*/}\r\n {/* ]}*/}\r\n {/* onfilter={filterCatSup2}*/}\r\n\r\n {/* />*/}\r\n\r\n {/* {*/}\r\n\r\n {/* if (lang === \"ar\") {*/}\r\n {/* return {value: B.GroupIDMainSup2, text: B.DescriptionAr};*/}\r\n {/* } else {*/}\r\n {/* return {value: B.GroupIDMainSup2, text: B.DescriptionEn};*/}\r\n {/* }*/}\r\n\r\n {/* })]}*/}\r\n {/* onfilter={setCatSup3}*/}\r\n {/* />*/}\r\n\r\n\r\n {/* {*/}\r\n {/* (Engine_Groups || Engine_GroupsSup || Engine_GroupsSup2) ? (*/}\r\n {/* refreshPage(\"Cat\")}*/}\r\n {/* // to={\"/eparts/sereach?\" + \"CatMain=\" + CatMain + \"&SuPCat=\" + SuPCat + \"&SSuPCat=\" + SSuPCat}*/}\r\n {/* onClick={async () => {*/}\r\n {/* setCatMain(null);*/}\r\n {/* setSupCat(null);*/}\r\n {/* setSSupCat(null);*/}\r\n\r\n {/* if (filterShow.toLowerCase() == 'part') {*/}\r\n {/* await refreshPage(\"ProductID\");*/}\r\n {/* } else if (filterShow.toLowerCase() == \"vehicle\") {*/}\r\n {/* await refreshPage(\"Vehicle\", brand);*/}\r\n {/* }*/}\r\n\r\n {/* // await refreshPage(\"Vehicle\", brand);*/}\r\n {/* // getResultAll()*/}\r\n {/* }}*/}\r\n {/* to={filterShow.toLowerCase() != '' ?*/}\r\n {/* (*/}\r\n {/* filterShow.toLowerCase() == 'part'*/}\r\n {/* ? \"/eparts/sereach?Product=\" + resProduct*/}\r\n {/* : \"/eparts/sereach?\" + \"brand=\" + brand + (resGroup ? \"&group=\" + resGroup : \"\") + (resProductType ? \"&type=\" + resProductType : \"\") + (resProductModel ? \"&year=\" + resProductModel : \"\")*/}\r\n {/* ) : \"/eparts/sereach\"*/}\r\n {/* }*/}\r\n {/* className={\"btn btn-primary text-16 py-3 px-10 mr-4 \"}*/}\r\n {/* >*/}\r\n {/* /!*{trans(\"eparts:search\")}*!/*/}\r\n {/* {\"جميع الفئات\"}*/}\r\n {/* */}\r\n {/* ) : <>*/}\r\n {/* }*/}\r\n {/*
    */}\r\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 PartSearch;\r\n","import { Fragment, useEffect, useRef, useState, useContext } from \"react\";\r\nimport { DropDownContext } from \"../../pages/eparts/components/partSearch\";\r\nimport ErrorLabel from '../../components/error';\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport { InputField } from \"../_input/_input\"\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function DropDownInput({\r\n styles,\r\n title,\r\n placeholder,\r\n disabled = false,\r\n className,\r\n isSecondary,\r\n inputName,\r\n options = [],\r\n onSelect,\r\n fieldTextClass,\r\n classDropdownField,\r\n defaultOption = null,\r\n onfilter,\r\n isepart,\r\n isLoading = false,\r\n selectedValue = null,\r\n errorLabel,\r\n force = false, roundedFull = ''\r\n}) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n const optionsRef = useRef(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState((defaultOption != null && defaultOption != undefined) ? defaultOption : { text: '', value: '' });\r\n const [filterOptions, setfilterOptions] = useState(options);\r\n\r\n useEffect(() => {\r\n\r\n // console.log(\">>>>>>>>>>>>>>>>>>options:\",options);\r\n setfilterOptions(options);\r\n\r\n if (options != null && options.length > 0) {\r\n funSelectValueOption();\r\n }\r\n\r\n }, [options]);\r\n useEffect(() => {\r\n\r\n /**\r\n * if clicked on outside of element\r\n */\r\n function handleClickOutside(event) {\r\n if (optionsRef.current && !optionsRef.current.contains(event.target) && isOpen === true) {\r\n setIsOpen(false);\r\n }\r\n }\r\n // if(placeholder != null || placeholder != undefined){\r\n // alert(placeholder);\r\n // let resultValue = options.find((e)=>e.value === placeholder);\r\n // selectOption(resultValue); \r\n // }\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [optionsRef, isOpen]);\r\n\r\n\r\n\r\n function selectOption(option) {\r\n if (onSelect) {\r\n const val = option.value !== '0' ? option.value : '';\r\n onSelect(val);\r\n }\r\n setIsOpen(false);\r\n setSelectedOption(option);\r\n if (onfilter)\r\n if (defaultOption != option.text)\r\n onfilter(option);\r\n // if (isepart)\r\n //onfilter(option);\r\n\r\n }\r\n\r\n const funSelectValueOption = () => {\r\n // console.log(\"options>>>>>>>>>>>>>\",title ,\": \",options);\r\n // console.log(\"selectedValue>>>>>>>>>>>>>\",selectedValue);\r\n\r\n if (selectedValue == null || selectedValue == undefined || selectedValue == '') {\r\n setSelectedOption((defaultOption != null && defaultOption != undefined)\r\n ? defaultOption\r\n : { value: \"0\", text: placeholder ? placeholder : (lang == 'en' ? 'Choose value' : 'إختيار قيمة') }\r\n\r\n );\r\n } else {\r\n\r\n var vv = options.find(item => item?.value == selectedValue) ?? null;\r\n setSelectedOption(vv ? vv : { text: '', value: '' });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n funSelectValueOption();\r\n\r\n }, [selectedValue]);\r\n\r\n return (\r\n\r\n \r\n\r\n {\r\n inputName ? (\r\n \r\n ) : null\r\n }\r\n\r\n
    \r\n\r\n {\r\n title &&\r\n
    {title}\r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    {\r\n if (!disabled)\r\n setIsOpen(!isOpen);\r\n }}>\r\n
    \r\n {\r\n\r\n selectedOption.text\r\n\r\n }\r\n\r\n\r\n
    \r\n {\r\n\r\n isLoading ? \r\n {\"\"}\r\n \r\n : null\r\n }\r\n
    \r\n \"arrow\"\r\n
    \r\n\r\n
    \r\n \r\n {\r\n\r\n isLoading ?\r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n\r\n
    \r\n
    \r\n :\r\n\r\n !disabled &&
    \r\n\r\n {\r\n filterOptions && options && options.length > 10 &&\r\n < InputField\r\n extraClasses={\"\"}\r\n placeholder={trans(\"info:search_now\")}\r\n onChangeValue={(value) => {\r\n if (value.target.value) {\r\n const filterData = options?.filter(a => a.text.includes(value.target.value));\r\n setfilterOptions(filterData);\r\n } else {\r\n setfilterOptions(options);\r\n }\r\n\r\n }} />\r\n\r\n }\r\n
      \r\n {\r\n filterOptions?.map((option, index) => {\r\n\r\n return (\r\n
    • {\r\n selectOption(option);\r\n // const val = option.value !== '0'? option.value : '';\r\n // onSelect(val);\r\n }} className={(((index % 2) == 0) ? \" bg-gray-lighter \" : \"\") + ((option && selectedOption && option?.value == selectedOption?.value) ? \" bg-gray-light \" : \"\")} >\r\n {option.text}\r\n {(option?.buyOnline == true || option?.buyOnline == 1) && {trans(\"info:Available_for_purchase_online\")}}\r\n
    • \r\n );\r\n\r\n }\r\n )\r\n }\r\n\r\n
    \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 { Base64 } from 'js-base64';\r\nimport config from '../../../configuration/config.json';\r\nexport default function ContactTile({ icon, name, value, type }) {\r\n\r\n return (\r\n \r\n );\r\n}","import { useEffect, useState } from 'react';\r\nimport { Map } from \"../../../pages/contact/components/map\";\r\nimport { InputField } from \"../../_input/_input\";\r\nimport { TextArea } from \"../../_input/_textArea\";\r\nimport { FormButton } from \"../../_input/_button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {formValidate } from '../../../utils/validation';\r\nimport config from '../../../configuration/config.json';\r\nimport { PhoneInput } from \"../../../components/_input/_phoneInput\";\r\nimport PhoneDropDown from \"../../../components/_input/_phoneDropDown\";\r\nimport { DropDownInput } from '../../../components/_input/_dropdown';\r\nimport axios from \"axios\";\r\nimport ContactTile from '../../../pages/contact/components/contactTile';\r\nimport { toast } from 'react-toastify';\r\n\r\n\r\n\r\nexport function NavContact({ ...prop }) {\r\n\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"info\", \"inputs\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n const [message, setMessage] = useState({\r\n fullName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n messageContent: ''\r\n });\r\n\r\n const [branches, setBranches] = useState([]);\r\n const [contacts, setContacts] = useState([{}]);\r\n const [selectedBranch, setSelectedBranch] = useState(null);\r\n const [subjects, setSubjects] = useState([]);\r\n function rad(x) { return x * Math.PI / 180; }\r\n\r\n function find_closest_marker() {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n };\r\n var lat = currentPosition.lat;\r\n var lng = currentPosition.lng;\r\n var R = 6371; // radius of earth in km\r\n var distances = [];\r\n var closest = -1;\r\n for (let i = 0; i < branches.length; i++) {\r\n var mlat = parseFloat(branches.latitude);\r\n var mlng = parseFloat(branches.longitude);\r\n var dLat = rad(mlat - lat);\r\n var dLong = rad(mlng - lng);\r\n var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(rad(lat)) * Math.cos(rad(lat)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c;\r\n distances[i] = d;\r\n if (closest == -1 || d < distances[closest]) {\r\n closest = i;\r\n }\r\n }\r\n setSelectedBranch(branches[closest]);\r\n });\r\n }\r\n\r\n useEffect(async () => {\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/contact/contact/\",\r\n method: \"get\",\r\n });\r\n setBranches(response.data.branches);\r\n setContacts(response.data.contacts);\r\n setSubjects(response.data.subjects.map(item => { return { text: item.description, value: item.id } }));\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n\r\n\r\n useEffect(async () => {\r\n find_closest_marker();\r\n }, [branches]);\r\n\r\n useEffect(async () => {\r\n if (selectedBranch != null) {\r\n const allContects = contacts.filter(e =>\r\n e.branchId == selectedBranch.name\r\n );\r\n setContacts(allContects);\r\n }\r\n }, [selectedBranch]);\r\n\r\n\r\n const schema = prop.schema;\r\n\r\n const [error, setError] = useState({});\r\n\r\n const submitRequest = async (e) => {\r\n e.preventDefault();\r\n\r\n\r\n const result = formValidate(schema, message) ?? {};\r\n setError(result);\r\n try {\r\n if (Object.keys(result).length === 0) {\r\n console.log(Object.keys(error).length);\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteContactMessages\",\r\n \"values\": {\r\n \"name\": message.fullName,\r\n \"email\": message.email,\r\n \"phoneNumber\": message.phone,\r\n \"subject\": Number(message.subject),\r\n \"message\": message.messageContent,\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n const defaultValue = { ...message };\r\n setMessage({\r\n fullName: '',\r\n phone: defaultValue.phone,\r\n email: '',\r\n subject: '',\r\n messageContent: ''\r\n });\r\n setError({});\r\n toast.success(trans(\"info:message_sent_successfully\"));\r\n }\r\n }\r\n } catch (e) {\r\n\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    submitRequest(e)\r\n }>\r\n

    \r\n {trans(\"common:contact-us\")}\r\n

    \r\n\r\n
    \r\n
    \r\n {\r\n const val = { ...message };\r\n val.fullName = e.target.value;\r\n setMessage(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...message };\r\n val.phone = `+${countryCode}${phoneNumber}`;\r\n setMessage(val);\r\n }}\r\n />\r\n\r\n {\r\n const val = { ...message };\r\n val.email = e.target.value;\r\n setMessage(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...message };\r\n val.subject = String(e);\r\n setMessage(val);\r\n }}\r\n name='subject'\r\n // className={\"flex-grow-1\"}\r\n defaultOption={{ text: trans(\"form:subject\"), value: 0 }}\r\n options={[...subjects]}\r\n errorLabel={error?.subject}\r\n />\r\n {\r\n console.log(e);\r\n const val = { ...message };\r\n val.messageContent = e;\r\n setMessage(val);\r\n }\r\n }\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"common:contact-info\")}\r\n

    \r\n\r\n
    \r\n {\r\n contacts?.map((contact, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n

    console.log(find_closest_marker())}>\r\n {trans(\"common:locations\")}\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","export default function Popup (props){\r\n return (\r\n props.show ?
    \r\n {\r\n props.children\r\n }\r\n
    : null\r\n );\r\n}","import {createSlice} from '@reduxjs/toolkit'\r\n\r\nexport const cartSlice = createSlice({\r\n name: 'cart',\r\n initialState: {\r\n count: 0,\r\n },\r\n reducers: {\r\n changeCount: (nav, action) => {\r\n nav.count = action.payload.count;\r\n },\r\n \r\n\r\n }\r\n})\r\n\r\n// Action creators are generated for each case reducer function\r\nexport const {changeCount} = cartSlice.actions\r\n\r\nexport default cartSlice.reducer","export default function PopupHeader({welcomeTitle , subTitle , closePopUp}){\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n return(\r\n
    \r\n closePopUp()}>×\r\n
    \r\n {\r\n lang==\"ar\" ?\r\n \r\n :\r\n \r\n\r\n }\r\n \r\n
    \r\n

    {welcomeTitle}

    \r\n

    {subTitle}

    \r\n
    \r\n
    \r\n );\r\n}","import config from '../configuration/config.json';\r\nimport crypto from 'crypto-js';\r\nexport const User_Data_Key = 'USER_DATA_KEY';\r\nexport const saveData = (key,value , encryptData = true)=>{\r\n let transformedValue = value; \r\nif(encryptData){\r\n transformedValue = crypto.AES.encrypt(JSON.stringify(value),config.cryptoKey).toString();\r\n}\r\nwindow.localStorage.setItem(key,transformedValue);\r\n};\r\nexport const getData = (key,descryptData = false)=>{\r\n let keyData = window.localStorage.getItem(key);\r\n if(descryptData){\r\n return crypto.AES.decrypt(keyData, config.cryptoKey).toString(crypto.enc.Utf8);\r\n }\r\n return keyData;\r\n}","import {add} from \"cart-localstorage\";\r\nimport {toast} from \"react-toastify\";\r\nimport {Translation} from 'react-i18next';\r\n\r\n\r\nexport function addToCart({id,MiniDownPayment=0, name=\"\",nameEn=\"\",modelTypeID, modelCode=\"\",price=1, brand,brandEn,\r\n image,Tax=0,Discount=0,colorId=\"\",Type,modelTypes=\"\",modelTypesEn,year=\"\",Engine_Groups=\"\",productID=\"\",group,groupEn,BrandID,colorName=\"\",colorNameEn,packageId=\"\",Orderdate=\"\"}) {\r\n const success = \r\n {\r\n (t, {i18n}) =>

    {t('add_to_cart')}

    \r\n }\r\n
    \r\n\r\n const error = \r\n {\r\n (t, {i18n}) =>

    {t('unexpected_errer')}

    \r\n }\r\n
    \r\n \r\n if (id != null ) {\r\n\r\n var objectCart ={\r\n id: id,\r\n name: name,\r\n nameEn: nameEn,\r\n price:price, \r\n brand: brand, \r\n brandEn: brandEn,\r\n image: image,\r\n Tax:Tax,\r\n Discount:Discount,\r\n Type:Type,\r\n colorID:colorId,\r\n BrandID:BrandID,\r\n colorName:colorName,\r\n colorNameEn:colorNameEn,\r\n groupID:group,\r\n groupEn:groupEn,\r\n modelTypes:modelTypes,\r\n modelTypesEn:modelTypesEn,\r\n year:year,\r\n modelTypeID:modelTypeID,\r\n Engine_Groups:Engine_Groups,\r\n ProductID:productID\r\n ,MiniDownPayment:MiniDownPayment\r\n ,modelCode:modelCode\r\n ,packageId:packageId\r\n ,Orderdate:Orderdate\r\n \r\n }\r\n console.log(\"addToCart>>>>>>>>>>>>:\",objectCart);\r\n add(objectCart);\r\n\r\n toast.success(success, {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n\r\n try {\r\n window.dispatchEvent(new Event(\"storage\"));\r\n } catch (error) {\r\n\r\n }\r\n \r\n } else {\r\n toast.error(
    {error}
    , {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n}","import axios from \"axios\";\r\nimport { groupBy, includes, mapValues, omit } from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../../configuration/config.json';\r\nimport { toast } from \"react-toastify\";\r\nimport { Translation } from 'react-i18next';\r\nimport { quantity as addQuantityCart, remove, exists, list } from \"cart-localstorage\";\r\nimport { addToCart } from \"../../_functions/cart\";\r\nimport { getData, saveData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nexport const useUserCart = () => {\r\n const { t: trans, i18n } = useTranslation(['info', 'new']);\r\n let lang = i18n.language;\r\n const USER_CART_ITEMS = '__cart';\r\n const [cartItems, setcartItems] = useState(() => {\r\n return JSON.parse(getData(USER_CART_ITEMS, false)) ?? []\r\n });\r\n const [itemsLength, setItemslength] = useState(cartItems?.length ?? 0);\r\n\r\n useEffect(() => {\r\n setcartItems(JSON.parse(getData(USER_CART_ITEMS, false)) ?? []);\r\n\r\n }, [itemsLength]);\r\n\r\n const success = \r\n {\r\n (t, { i18n }) =>

    {t('add_to_cart')}

    \r\n }\r\n
    \r\n\r\n const error = \r\n {\r\n (t, { i18n }) =>

    {t('unexpected_errer')}

    \r\n }\r\n
    \r\n\r\n\r\n const initSignIN = async () => {\r\n try {\r\n const guid = getData('secretKey');\r\n console.log('initSignIN guid!!!', guid);\r\n if (guid) {\r\n\r\n const res = await list().map(async (item, index) => {\r\n\r\n\r\n\r\n await changecartItem(item?.ProductID, item?.colorID, item?.modelTypeID, item?.quantity, item?.modelCode, item?.packageId, null, item?.Orderdate, item?.year, false);\r\n\r\n\r\n\r\n\r\n if (index + 1 == list().length) {\r\n await init();\r\n\r\n }\r\n })\r\n\r\n if (list().length == 0) {\r\n await init();\r\n\r\n }\r\n\r\n\r\n console.log('after changecartItem goo to >>>>>>>>>:');\r\n\r\n } else {\r\n // toast.error(trans(\"info:login_first\"));\r\n await init();\r\n }\r\n } catch (error) {\r\n console.log('sorry there is an error happened !!!', error);\r\n await init();\r\n }\r\n };\r\n // to initailize the user favorite items\r\n const init = async () => {\r\n\r\n console.log('init >>>>>>>>>>>.:');\r\n try {\r\n const guid = getData('secretKey');\r\n console.log('guid!!!', guid);\r\n if (guid) {\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserCartItems\",\r\n \"Values\": {\r\n \"UserID\": String(guid)\r\n }\r\n }\r\n ).then(async response => {\r\n console.log('SiteFetchUserCartItems response:', response);\r\n var _products = response.data.map(item => {\r\n return {\r\n id: item?.ProductID + (item?.colorID ? \"-\" + item?.colorID : \"\") + (item?.Type ? \"-\" + item?.Type : \"\") + (item?.modelCode ? \"-\" + item?.modelCode : \"\") + (item?.packageId ? \"-\" + item?.packageId : \"\"),\r\n name: item?.DescriptionAr,\r\n nameEn: item?.DescriptionEn,\r\n price: item?.SalesPrice,\r\n brand: item?.BrandDescriptionAr,\r\n brandEn: item?.BrandDescriptionEn,\r\n group: item?.Group,\r\n year: item?.year,\r\n groupEn: item?.[\"Group English\"],\r\n image: item?.ProductImage,\r\n Tax: 0,\r\n year: item?.year,\r\n Discount: item?.SalesPriceDiscount,\r\n Type: item?.packageId ? \"Bouquet\" : (item?.ItemType == \"SpareParts\" ? \"part\" : (item?.ItemType == \"MaintenanceService\" ? \"service\" : item?.ItemType)),\r\n colorId: item?.colorID,\r\n colorID: item?.colorID,\r\n colorName: item?.colorNameAr,\r\n colorNameEn: item?.colorNameEn,\r\n BrandID: item?.BrandID,\r\n groupID: item?.CarGroupID,\r\n modelTypes: item?.modelTypesAr,\r\n modelTypesEn: item?.modelTypesEn,\r\n engineGroups: 0,\r\n modelTypeID: item?.Type,\r\n productNo: item?.ProductNo,\r\n ProductID: item?.ProductID,\r\n quantity: item?.QTY ? item?.QTY : 1\r\n , modelCode: item?.modelCode\r\n , packageId: item?.packageId,\r\n MiniDownPayment: item?.MiniDownPayment,\r\n Orderdate: item?.Orderdate\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n saveData(USER_CART_ITEMS, JSON.stringify(_products), false);\r\n console.log('USER_CART_ITEMS !!!', _products);\r\n setcartItems(_products);\r\n\r\n try {\r\n window.dispatchEvent(new Event(\"storage\"));\r\n } catch (error) {\r\n\r\n }\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n saveData(USER_CART_ITEMS, JSON.stringify([]), false);\r\n console.log('USER_CART_ITEMS !!!', []);\r\n setcartItems([]);\r\n try {\r\n window.dispatchEvent(new Event(\"storage\"));\r\n } catch (error) {\r\n\r\n }\r\n });\r\n } else {\r\n // toast.error(trans(\"info:login_first\"));\r\n }\r\n } catch (error) {\r\n console.log('sorry there is an error happened !!!', error);\r\n }\r\n\r\n };\r\n // to check if the item is favorite or not\r\n const isCartItem = (item) => {\r\n try {\r\n return includes(cartItems, item);\r\n } catch (error) {\r\n console.log('Has an error when checking the favorite item,', error);\r\n }\r\n };\r\n // to change the state of the favorite item [add-delete of found]\r\n const changecartItem = async (productID, colorID = null, modelTypeID = null, quantity = 1, modelCode = null, packageId = null, objectProduct = {}, Orderdate = null, year = null, isGetInitData = true) => {\r\n let returnValue = null;\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n console.log(\"userID:\", userID);\r\n\r\n console.log(\"ProductID:\", productID);\r\n console.log(\"quantity:\", quantity);\r\n var colorIDSelect = colorID ? ` and colorID='${colorID}' ` : \" \";\r\n var modelTypeIDSelect = modelTypeID ? ` and modelTypeID='${modelTypeID}' ` : \" \";\r\n var modelCodeSelect = modelCode ? ` and modelCode='${modelCode}' ` : \" \";\r\n var packageIdSelect = packageId ? ` and packageId='${packageId}' ` : \" \";\r\n var yearSelect = year ? ` and year='${year}' ` : \" \";\r\n const itemsDetails = await cartItemsDetails(userID, productID, colorID, modelTypeID, modelCode, packageId);\r\n\r\n\r\n if (itemsDetails && itemsDetails?.length > 0) {\r\n\r\n var newQTY = (quantity + itemsDetails[0]?.QTY) ? (quantity + itemsDetails[0]?.QTY) : 1;\r\n\r\n newQTY = newQTY > 0 ? newQTY : 1;\r\n\r\n returnValue = await axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"WebUserCart\",\r\n \"values\": {\r\n \"QTY\": newQTY\r\n }\r\n ,\r\n \"Filters\": `where WebUserID = '${userID}' and ProductID = '${productID}' ${colorIDSelect} ${modelTypeIDSelect} ${modelCodeSelect} ${yearSelect} ${packageIdSelect} `\r\n }\r\n ).then(async response => {\r\n console.log(\"response update:\", response);\r\n\r\n if (quantity > 0 && isGetInitData == true)\r\n toast.success(success, {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n\r\n //----------------------\r\n if (isGetInitData == true)\r\n return await init();\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n\r\n\r\n if (isGetInitData == true) {\r\n\r\n toast.error(
    {error}
    , {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n\r\n\r\n });\r\n } else {\r\n returnValue = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"Object\": \"WebUserCart\",\r\n \"values\": {\r\n \"WebUserID\": userID,\r\n \"ProductID\": productID,\r\n \"ColorID\": colorID,\r\n \"modelTypeID\": modelTypeID,\r\n \"QTY\": quantity,\r\n \"modelCode\": modelCode,\r\n \"year\":year,\r\n \"packageId\": packageId ? packageId + \"\" : null,\r\n \"Orderdate\": Orderdate,\r\n }\r\n }\r\n ).then(async response => {\r\n console.log(\"response add:\", response);\r\n\r\n\r\n if (isGetInitData == true) {\r\n\r\n toast.success(success, {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n\r\n\r\n //--------------------------\r\n if (isGetInitData == true)\r\n return await init();\r\n\r\n }).catch(err => {\r\n console.log(\"catch add WebUserCart>>:\", err);\r\n\r\n if (isGetInitData == true) {\r\n toast.error(
    {error}
    , {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n\r\n });\r\n }\r\n } else {\r\n // toast.error(trans(\"info:login_first\"));\r\n console.log(\"add cart objectProduct:\", objectProduct);\r\n if (objectProduct?.id && exists(objectProduct?.id)) {\r\n console.log(\"addQuantityCart\", objectProduct);\r\n addQuantityCart(objectProduct?.id, quantity);\r\n\r\n toast.success(success, {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n\r\n } else {\r\n console.log(\"addToCart\");\r\n addToCart(objectProduct);\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n\r\n }\r\n\r\n\r\n\r\n console.log(\"returnValue:\", returnValue);\r\n return returnValue;\r\n };\r\n\r\n\r\n const removecartItems = async (productID, colorID = null, modelTypeID = null, modelCode = null, cartID, packageId = null) => {\r\n\r\n let returnValue = null;\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n console.log(\"userID:\", userID);\r\n\r\n console.log(\"ProductID:\", productID);\r\n var colorIDSelect = colorID ? ` and colorID='${colorID}' ` : \" \";\r\n var modelTypeIDSelect = modelTypeID ? ` and modelTypeID='${modelTypeID}' ` : \" \";\r\n var modelCodeSelect = modelCode ? ` and modelCode='${modelCode}' ` : \" \";\r\n var packageIdSelect = packageId ? ` and packageId='${packageId}' ` : \" \";\r\n returnValue = await axios.request({\r\n url: config.baseURL + 'delete',\r\n data: {\r\n \"Object\": \"WebUserCart\",\r\n \"Filters\": `where WebUserID = '${userID}' and ProductID = '${productID}' ${colorIDSelect} ${modelTypeIDSelect} ${modelCodeSelect} ${packageIdSelect} `\r\n },\r\n method: \"delete\"\r\n , responseType: \"json\"\r\n }).then(async response => {\r\n console.log(\"response update:\", response);\r\n\r\n\r\n return await init();\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n\r\n });\r\n\r\n } else {\r\n // toast.error(trans(\"info:login_first\"));\r\n remove(cartID ? cartID : productID);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n\r\n }\r\n\r\n console.log(\"returnValue:\", returnValue);\r\n return returnValue;\r\n };\r\n\r\n\r\n const removeAllcartItems = async () => {\r\n\r\n let returnValue = null;\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n console.log(\"userID:\", userID);\r\n\r\n returnValue = await axios.request({\r\n url: config.baseURL + 'delete',\r\n data: {\r\n \"Object\": \"WebUserCart\",\r\n \"Filters\": `where WebUserID = '${userID}' `\r\n },\r\n method: \"delete\"\r\n , responseType: \"json\"\r\n }).then(async response => {\r\n console.log(\"response update:\", response);\r\n\r\n\r\n return await init();\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n\r\n });\r\n\r\n } else {\r\n toast.error(trans(\"info:login_first\"));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n\r\n }\r\n\r\n console.log(\"returnValue:\", returnValue);\r\n return returnValue;\r\n };\r\n\r\n // to fetch favorite items with details\r\n const cartItemsDetails = async (userID, productID, colorID = null, modelTypeID = null, modelCode = null, packageId = null) => {\r\n\r\n console.log('cartItemsDetails!!', productID);\r\n var colorIDSelect = colorID ? ` and colorID='${colorID}' ` : \" \";\r\n var modelTypeIDSelect = modelTypeID ? ` and modelTypeID='${modelTypeID}' ` : \" \";\r\n var modelCodeSelect = modelCode ? ` and modelCode='${modelCode}' ` : \" \";\r\n var packageIdSelect = packageId ? ` and packageId='${packageId}' ` : \" \";\r\n var result = [];\r\n await axios.request({\r\n url: config.baseURL + 'details',\r\n data: {\r\n \"Object\": \"WebUserCart\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \" * \",\r\n\r\n \"Filters\": `where WebUserID = '${userID}' and ProductID = '${productID}' ${colorIDSelect} ${modelTypeIDSelect} ${modelCodeSelect} ${packageIdSelect} `\r\n },\r\n method: \"post\"\r\n , responseType: \"json\"\r\n }).then(response => {\r\n console.log(\"response delete:\", response);\r\n result = response?.data?.ApiObjectData;\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n\r\n });\r\n\r\n\r\n console.log('cartItemsDetails result !!', result);\r\n return result;\r\n\r\n };\r\n return { initCartItems: init, isCartItem, changecartItem, cartItemsDetails, removecartItems, removeAllcartItems, initSignIN };\r\n};\r\n\r\n","import axios from \"axios\";\r\nimport { groupBy, includes, mapValues, omit } from \"lodash\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../../configuration/config.json';\r\nimport { toast } from \"react-toastify\";\r\nimport { useUserCart } from './useUserCart';\r\nimport { getData, saveData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nexport const useUserFavorite = () => {\r\n const { t: trans } = useTranslation(['info', 'new']);\r\n const { initCartItems,initSignIN } = useUserCart();\r\n const USER_FAVORITE_ITEMS = 'USER_FAVORITE_ITEMS';\r\n const [favoriteItems, setFavoriteItems] = useState(() => {\r\n return JSON.parse(getData(USER_FAVORITE_ITEMS, false)) ?? []\r\n });\r\n const [itemsLength, setItemslength] = useState(favoriteItems?.length ?? 0);\r\n\r\n useEffect(() => {\r\n setFavoriteItems(JSON.parse(getData(USER_FAVORITE_ITEMS, false)) ?? []);\r\n }, [itemsLength]);\r\n\r\n // to initailize the user favorite items\r\n const init = () => {\r\n\r\n try {\r\n initSignIN();\r\n } catch (error) {\r\n console.log('sorry there is an error happened !!!', error);\r\n }\r\n try {\r\n const userID = getData('secretKey');\r\n if (userID) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavoriteSpareParts\",\r\n \"Values\": {\r\n \"UserID\": String(userID)\r\n }\r\n }\r\n ).then(response => {\r\n\r\n const _products = response.data.map(item => {\r\n return item.ProductID\r\n });\r\n saveData(USER_FAVORITE_ITEMS, JSON.stringify(_products), false);\r\n setFavoriteItems(_products);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n } else {\r\n toast.error(trans(\"info:login_first\"));\r\n }\r\n } catch (error) {\r\n console.log('sorry there is an error happened !!!', error);\r\n }\r\n };\r\n // to check if the item is favorite or not\r\n const isFavoriteItem = (item) => {\r\n try {\r\n return includes(favoriteItems, item);\r\n } catch (error) {\r\n console.log('Has an error when checking the favorite item,', error);\r\n }\r\n };\r\n // to change the state of the favorite item [add-delete of found]\r\n const changeFavoriteItemState = (item) => {\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const isFavorite = isFavoriteItem(item);\r\n if (isFavorite) {\r\n axios.request({\r\n url: config.baseURL + 'delete',\r\n data: {\r\n \"Object\": \"WebUserFavorites\",\r\n \"Filters\": `where WebUserID = ${userID} and ProductID = '${item}'`\r\n },\r\n method: \"delete\"\r\n , responseType: \"json\"\r\n }).then(response => {\r\n const currentItems = JSON.parse(getData(USER_FAVORITE_ITEMS, false));\r\n const newItems = currentItems.filter(value => {\r\n return value !== item;\r\n });\r\n saveData(USER_FAVORITE_ITEMS, JSON.stringify(newItems), false);\r\n setFavoriteItems(newItems);\r\n setItemslength(newItems?.length);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n } else {\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"Object\": \"WebUserFavorites\",\r\n \"values\": {\r\n \"webuserID\": userID,\r\n \"productID\": item\r\n }\r\n }\r\n ).then(response => {\r\n const currentItems = JSON.parse(getData(USER_FAVORITE_ITEMS, false));\r\n currentItems.push(item);\r\n saveData(USER_FAVORITE_ITEMS, JSON.stringify(currentItems), false);\r\n setFavoriteItems(currentItems);\r\n setItemslength(currentItems?.length);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n } else {\r\n toast.error(trans(\"info:login_first\"));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // to fetch favorite items with details\r\n const favoriteItemsDetails = async (withGroup = false) => {\r\n let result = [];\r\n try {\r\n const userID = getData('secretKey');\r\n if (userID) {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavoriteSpareParts\",\r\n \"Values\": {\r\n \"UserID\": String(userID)\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const _data = response.data;\r\n if (withGroup) {\r\n const groupResult = mapValues(groupBy(_data, 'ItemType'), fList => fList.map(items => omit(items, 'ItemType')));\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n for (let item in groupValues) {\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n let type = '';\r\n const result = item;\r\n switch (result.toLowerCase()) {\r\n case 'spareparts':\r\n title = trans(\"new:favorite_spare_parts\");\r\n type = 'spare';\r\n break;\r\n\r\n case 'car':\r\n title = trans(\"new:favorite_cars\");\r\n type = 'car';\r\n break;\r\n }\r\n obj.heading = title;\r\n obj.type = type;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n }\r\n result = finalResults;\r\n } else {\r\n result = _data;\r\n }\r\n }\r\n } else {\r\n toast.error('لم يتم تسجيل الدخول !!');\r\n }\r\n } catch (error) {\r\n console.log('sorry there is an error happened !!!', error);\r\n }\r\n return result;\r\n };\r\n return { init, isFavoriteItem, changeFavoriteItemState, favoriteItemsDetails };\r\n};\r\n\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport PhoneDropDown from '../components/_input/_phoneDropDown';\r\nimport { useState, useRef } from \"react\";\r\nimport crypto from 'crypto-js';\r\nimport Joi from \"joi\";\r\nimport { toast } from \"react-toastify\";\r\nimport { formValidate, GetMessages } from \"../utils/validation\";\r\nimport axios from \"axios\";\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport config from '../configuration/config.json';\r\nimport { Tab, TabList, TabPanel, Tabs } from \"react-tabs\";\r\nimport { saveData, User_Data_Key, getData } from \"../utils/localStorageManager\";\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { useUserFavorite } from \"./hooks/useUserFavorite\";\r\nexport default function SignIn({ onTabChange, onLogin }) {\r\n const { init } = useUserFavorite();\r\n const bodyRef = useRef(null);\r\n const { t: trans, i18n } = useTranslation([\"common\", \"form\", \"model\", \"error2\"]);\r\n let lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n const tabsList = [{\r\n tab: 1, title: 'sign-in'\r\n }, {\r\n tab: 2, title: 'sign-up'\r\n }, {\r\n tab: 3, title: 'reset-password'\r\n }, {\r\n tab: 4, title: 'login-validation'\r\n }\r\n ];\r\n const [isSending, setIsSending] = useState(false);\r\n const EMAIL_KEY = 'Email', PHONE_KEY = 'PhoneNumber', IDENTITY_KEY = 'IdentityNo';\r\n const history = useHistory();\r\n const [requestForm, setRequestForm] = useState({\r\n email: null,\r\n phoneNumber: null,\r\n identityNo: null,\r\n password: null,\r\n confirm: null\r\n });\r\n const [enterType, setEnterType] = useState(PHONE_KEY);\r\n const [confirmPhoneNumber, setConfirmPhoneNumber] = useState(false);\r\n\r\n let schema = Joi.object().keys({\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).messages(GetMessages()).optional(),\r\n phoneNumber: Joi.string().min(13).messages(GetMessages()).optional(),\r\n // identityNo: Joi.string().min(8).messages(GetMessages()).optional(),\r\n password: Joi.string().required().messages(GetMessages()),\r\n confirm: Joi.string().required().messages(GetMessages())\r\n }).or('email', 'phoneNumber'\r\n , 'identityNo'\r\n ).required();\r\n\r\n let schemaphoneNumber = Joi.object().keys({\r\n phoneNumber: Joi.string().min(13).messages(GetMessages())\r\n })\r\n\r\n let schemaidentityNo = Joi.object().keys({\r\n identityNo: Joi.string().min(8).messages(GetMessages())\r\n })\r\n let schemaConfirm = Joi.object().keys({\r\n phoneNumber: Joi.string().min(13).messages(GetMessages()),\r\n confirm: Joi.string().min(8).messages(GetMessages()),\r\n });\r\n\r\n const [error, setError] = useState({});\r\n const handleChangeEnteringType = (position) => {\r\n let type;\r\n switch (position) {\r\n case 0:\r\n type = PHONE_KEY;\r\n break;\r\n case 1:\r\n type = EMAIL_KEY;\r\n\r\n break;\r\n case 2:\r\n type = IDENTITY_KEY;\r\n break;\r\n }\r\n setConfirmPhoneNumber(false);\r\n setEnterType(type);\r\n setRequestForm({\r\n email: null,\r\n phoneNumber: null,\r\n identityNo: null,\r\n password: null,\r\n confirm: null\r\n });\r\n };\r\n\r\n // We need ref in this, because we are dealing\r\n // with JS setInterval to keep track of it and\r\n // stop it when needed\r\n const Ref = useRef(null);\r\n const [timer, setTimer] = useState('00:00:00');\r\n const getTimeRemaining = (e) => {\r\n const total = Date.parse(e) - Date.parse(new Date());\r\n const seconds = Math.floor((total / 1000) % 60);\r\n const minutes = Math.floor((total / 1000 / 60) % 60);\r\n const hours = Math.floor((total / 1000 / 60 / 60) % 24);\r\n return {\r\n total, hours, minutes, seconds\r\n };\r\n }\r\n const startTimer = (e) => {\r\n let { total, hours, minutes, seconds }\r\n = getTimeRemaining(e);\r\n if (total >= 0) {\r\n\r\n // update the timer\r\n // check if less than 10 then we need to \r\n // add '0' at the beginning of the variable\r\n setTimer(\r\n (hours > 9 ? hours : '0' + hours) + ':' +\r\n (minutes > 9 ? minutes : '0' + minutes) + ':'\r\n + (seconds > 9 ? seconds : '0' + seconds)\r\n )\r\n }\r\n }\r\n\r\n\r\n const clearTimer = (e) => {\r\n\r\n // If you adjust it you should also need to\r\n // adjust the Endtime formula we are about\r\n // to code next \r\n setTimer('00:02:00');\r\n\r\n // If you try to remove this line the \r\n // updating of timer Variable will be\r\n // after 1000ms or 1sec\r\n if (Ref.current) clearInterval(Ref.current);\r\n const id = setInterval(() => {\r\n startTimer(e);\r\n }, 1000)\r\n Ref.current = id;\r\n }\r\n const getDeadTime = () => {\r\n let deadline = new Date();\r\n\r\n // This is where you need to adjust if \r\n // you entend to add more time\r\n deadline.setSeconds(deadline.getSeconds() + 120);\r\n return deadline;\r\n }\r\n const handleRequest = () => {\r\n console.log(\"handleRequest\");\r\n const result = formValidate(schema, requestForm) ?? {};\r\n const errorResult = removeUnspecificError(result);\r\n setError(errorResult);\r\n try {\r\n if (Object.keys(errorResult).length === 0) {\r\n setIsSending(true);\r\n axios.post(\r\n config.controllURL + \"api/Administration/\" + \"SignInValidate1\",\r\n {\r\n \"AccessType\": `${enterType}`,\r\n \"Access\": (enterType == EMAIL_KEY ? requestForm.email.trim().toLowerCase() : enterType == PHONE_KEY ? requestForm.phoneNumber : requestForm.identityNo.trim().toLowerCase()),\r\n \"Password\": crypto.MD5(requestForm.password).toString(),\r\n }\r\n ).then((response) => {\r\n setIsSending(false);\r\n if (response.status == 200) {\r\n // const encodedData = crypto.AES.encrypt(JSON.stringify(response.data),config.cryptoKey).toString();\r\n saveData(User_Data_Key, response.data, true);\r\n saveData('isAuthenticated', true, false);\r\n saveData('secretKey', response.data.id.toString().split('_')[0], false);\r\n // history.push('/');\r\n // window.location.reload();\r\n if (onLogin)\r\n onLogin();\r\n init();\r\n }\r\n }).catch((error) => {\r\n setIsSending(false);\r\n if (error.response && error.response.status === 400) {\r\n toast.error(trans(\"common:failed-access\"));\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const removeUnspecificError = (errorList) => {\r\n let errorResult = {};\r\n Object.assign(errorResult, errorList);\r\n if (errorList) {\r\n for (let index = 0; index < Object.keys(errorList).length; index++) {\r\n const key = Object.keys(errorList)[index];\r\n if (enterType.toLowerCase() == key.toLowerCase()) {\r\n continue;\r\n } else {\r\n if (key.toLowerCase() == 'password')\r\n continue;\r\n delete errorResult[key];\r\n }\r\n }\r\n }\r\n return errorResult;\r\n };\r\n const removeUnspecific2Error = (errorList) => {\r\n let errorResult = {};\r\n Object.assign(errorResult, errorList);\r\n if (errorList) {\r\n for (let index = 0; index < Object.keys(errorList).length; index++) {\r\n const key = Object.keys(errorList)[index];\r\n if (enterType.toLowerCase() == key.toLowerCase()) {\r\n continue;\r\n } else {\r\n delete errorResult[key];\r\n }\r\n }\r\n }\r\n return errorResult;\r\n };\r\n const handleSendVerificationCode = () => {\r\n console.log(\"handleSendVerificationCode\");\r\n\r\n var sch = schemaidentityNo;\r\n if (enterType == PHONE_KEY) {\r\n sch = schemaphoneNumber;\r\n }\r\n const result = formValidate(sch, requestForm) ?? {};\r\n const errorResult = removeUnspecific2Error(result);\r\n\r\n console.log(\"errorResult:\", errorResult);\r\n console.log(\"requestForm:\", requestForm);\r\n setError(errorResult);\r\n var codeValid = false;\r\n if (Object.keys(errorResult).length === 0) {\r\n\r\n setIsSending(true);\r\n axios.post(\r\n config.controllURL + \"api/Administration/\" + \"SendSms\",\r\n {\r\n \"AccessType\": enterType,\r\n \"Access\": enterType == PHONE_KEY ? requestForm.phoneNumber : requestForm.identityNo\r\n }\r\n ).then(response => {\r\n setIsSending(false);\r\n console.log(\"SendSms response.data \", response);\r\n\r\n if (response?.data == false) {\r\n\r\n toast.error(trans(\"common:failed-access\"));\r\n } else {\r\n\r\n if (response.data) {\r\n\r\n codeValid = true;\r\n clearTimer(getDeadTime());\r\n if (enterType == IDENTITY_KEY) {\r\n\r\n const val = { ...requestForm };\r\n val.phoneNumber = response.data;\r\n setRequestForm(val);\r\n }\r\n\r\n\r\n } else {\r\n toast.error(trans(\"error2:no_phone_number_error\"));\r\n }\r\n }\r\n\r\n if (codeValid) {\r\n setConfirmPhoneNumber(true);\r\n\r\n console.log(\"after validate phoneNumber error\");\r\n }\r\n\r\n }).catch(err => {\r\n setIsSending(false);\r\n toast.error(trans(\"common:failed-access\"));\r\n console.log(err);\r\n });\r\n console.log(\"after validate phoneNumber \");\r\n\r\n }\r\n };\r\n const handleLogin = () => {\r\n console.log(\"handleLogin\");\r\n\r\n const result = formValidate(schemaConfirm, requestForm) ?? {};\r\n const errorResult = removeUnspecific2Error(result);\r\n\r\n console.log(\"errorResult>>>>>>>>>>>>>>>:\", errorResult);\r\n console.log(\"requestForm:\", requestForm);\r\n setError(errorResult);\r\n if (Object.keys(errorResult).length == 0) {\r\n\r\n setIsSending(true);\r\n axios.post(\r\n config.controllURL + \"api/Administration/\" + \"MatchedKeysNoValidationKey\",\r\n {\r\n \"AccessType\": PHONE_KEY,\r\n \"Access\": requestForm.phoneNumber,\r\n \"ValidationKey\": requestForm.confirm\r\n }\r\n ).then(response => {\r\n setIsSending(false);\r\n // if (response.data) {\r\n if (response.status === 200) {\r\n var cookies = null;\r\n\r\n\r\n let userrespons = response?.data;\r\n userrespons[\"identityImage\"] = \"\";\r\n saveData(User_Data_Key, userrespons, true);\r\n saveData('isAuthenticated', true, false);\r\n saveData('secretKey', response.data.id.toString().split('_')[0], false);\r\n // history.push('/');\r\n // window.location.reload();\r\n if (onLogin)\r\n onLogin();\r\n init();\r\n\r\n }\r\n else {\r\n\r\n toast.error(trans(\"error2:validation_error\"));\r\n }\r\n\r\n\r\n }).catch(err => {\r\n setIsSending(false);\r\n toast.error(trans(\"error2:validation_error\"));\r\n console.log(err);\r\n })\r\n }\r\n };\r\n return (\r\n\r\n
    \r\n

    {trans(\"info:select-sign-in\")}

    \r\n
    \r\n {\r\n handleChangeEnteringType(position);\r\n }}>\r\n
    \r\n\r\n \r\n \r\n {trans(\"form:phone\")}\r\n \r\n {/* */}\r\n \r\n\r\n\r\n {trans(\"form:email\")}\r\n \r\n {/* */}\r\n \r\n {trans(\"form:identity-no\")}\r\n \r\n \r\n
    \r\n
    \r\n \r\n {!confirmPhoneNumber &&\r\n (\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n />\r\n )\r\n }\r\n \r\n \r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:email\")}\r\n />\r\n \r\n\r\n \r\n {\r\n\r\n !confirmPhoneNumber &&\r\n {\r\n const val = { ...requestForm };\r\n val.identityNo = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:identity-no\")}\r\n />\r\n }\r\n\r\n \r\n
    \r\n\r\n
    \r\n {enterType == EMAIL_KEY ?\r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.password = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"common:password\")}\r\n />\r\n\r\n\r\n onTabChange(tabsList[2])}>\r\n {trans(\"common:forget-password\")}\r\n \r\n
    \r\n : (confirmPhoneNumber) && {\r\n const val = { ...requestForm };\r\n val.confirm = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:validation-key\")}\r\n />\r\n }\r\n\r\n
    \r\n\r\n\r\n {\r\n\r\n if (isSending == false) {\r\n\r\n setTimeout(() => {\r\n if (enterType == EMAIL_KEY) {\r\n handleRequest();\r\n } else if (enterType == PHONE_KEY || enterType == IDENTITY_KEY) {\r\n if (confirmPhoneNumber == false) {\r\n handleSendVerificationCode();\r\n\r\n } else {\r\n if (timer == \"00:00:00\") {\r\n handleSendVerificationCode();\r\n } else {\r\n handleLogin();\r\n }\r\n\r\n }\r\n }\r\n\r\n }, 500)\r\n\r\n }\r\n\r\n }}\r\n isLoading={isSending}\r\n classes={\" px-10 py-5 text-20 border-sm\"}\r\n\r\n />\r\n\r\n {\r\n (confirmPhoneNumber) &&\r\n

    {timer}

    \r\n\r\n }\r\n\r\n\r\n\r\n onTabChange(tabsList[1])}>\r\n {trans(\"common:no-account\")}\r\n \r\n
    \r\n\r\n\r\n {/*
    \r\n
    \r\n (\r\n \r\n \r\n {trans(\"form:sign-in-google\")}\r\n\r\n \"google\r\n \r\n )}\r\n onSuccess={(e) => onSuccess('Google', e)}\r\n onFailure={(e) => onFailure('Google', e)}\r\n cookiePolicy={window.location.origin}\r\n />\r\n
    \r\n
    \r\n\r\n onSuccess(\"Facebook\", e)}\r\n fields=\"name,email\"\r\n cssClass='nice-btn nice-btn-primary p-5 flex flex-row'\r\n textButton={
    \r\n {trans(\"form:sign-in-facebook\")}\r\n \"facebook
    }\r\n render={renderProps => (\r\n )}\r\n />\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n );\r\n}","import {useEffect, useRef, useState} from \"react\";\r\n\r\nexport function CheckInput({checked, oncheng, Name, className = '',id, title, ...props}) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const get = (e) => {\r\n if (oncheng)\r\n oncheng(e.target);\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import {useEffect, useRef, useState} from \"react\";\r\nimport ErrorLabel from '../../components/error';\r\nexport function FileInput({name,errorLabel,title, onPicker,mimeType = '.doc,.docx,application/pdf'}) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n return (\r\n
    \r\n \r\n \r\n onPicker(e)} className={\"input-field bg-white\"} type=\"file\"/>\r\n \r\n
    \r\n );\r\n}\r\n","let db,status;\r\nconst createDbRequest = (dbName , dbVersion)=>{\r\nif(!indexedDB){\r\n console.log('Current browser is\\'t supported the IndexedDb!!!');\r\n return;\r\n}\r\nlet dbRequest = indexedDB.open(dbName,dbVersion);\r\ndbRequest.onupgradeneeded = (event)=>{\r\nlet db = event.target.result;\r\nlet userStore = db.createObjectStore(\"UserProfile\",{keyPath:\"uId\"});\r\n};\r\ndbRequest.onsuccess = (event)=>{\r\ndb = dbRequest.result;\r\nconsole.log(`The Database ${db.name} with version (${db.version}) was created successfully.`);\r\n};\r\ndbRequest.onerror = (event)=>{\r\nconsole.log(`Something wrong happened, and the error code : ${event.target.errorCode}`)\r\n};\r\n}; \r\nconst proccessUserData = (data)=>{\r\n if(data){\r\n let trans = db.transaction(\"UserProfile\",\"readwrite\");\r\n let userStore = trans.objectStore(\"UserProfile\");\r\n userStore.clear();\r\n let query = userStore.put(data); \r\n query.onsuccess = (event)=>{\r\n status = 1;\r\n console.log('The user was added successfully',event);\r\n };\r\n query.onerror = (event)=>{\r\n status = -1;\r\n console.log('The user wasn\\'t added',event);\r\n };\r\n trans.oncomplete = (event)=>{\r\n console.log('The db was closed.'); \r\n db.close();\r\n };\r\n }\r\n return status;\r\n};\r\nconst getUserDataByID = (id)=>{\r\n\r\n \r\n \r\n let trans = db.transaction(\"UserProfile\",\"readwrite\");\r\n let userStore = trans.objectStore(\"UserProfile\");\r\n let query = userStore.get(id);\r\n query.onsuccess = (event)=>{\r\n if(!event.target.result){\r\n console.log(`The user with this id (${id}) is not existing.`); \r\n }\r\n };\r\n trans.oncomplete = (event)=>{\r\n db.close();\r\n }; \r\n return query;\r\n};\r\n\r\n\r\nconst clearStorage = (dbName)=>{\r\ntry{\r\n// localStorage.removeItem(\"isAuthenticated\");\r\n// localStorage.removeItem('secretKey');\r\n// localStorage.removeItem(\"userData\");\r\n// localStorage.removeItem('extra');\r\nlocalStorage.clear();\r\nlet dbDeleteRequest = indexedDB.deleteDatabase(dbName);\r\ndbDeleteRequest.onsuccess = (event)=>{\r\nconsole.log('Database was removed' , event);\r\n};\r\ndbDeleteRequest.onerror = (event)=>{\r\nconsole.log('Database was not existed!' , event);\r\n};\r\n}catch(err){\r\nconsole.log('Something wrong happened!' , err);\r\n}\r\n};\r\n\r\nexport {\r\n db,\r\n clearStorage,\r\n createDbRequest,\r\n proccessUserData,\r\n getUserDataByID\r\n};","import { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport default function SectionHeading({ title, hasRuler = true, onEdit, editable = false, infoText = null,className, ...props }) {\r\n const { t: trans,i18n } = useTranslation(\"info\");\r\n const [status,SetStatus] = useState(0);\r\n let lang =i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n return (\r\n
    \r\n
    \r\n

    {title}

    \r\n { editable &&
    {\r\n const newStatus = status == 0 ? 1:0;\r\n SetStatus(newStatus);\r\n if(onEdit){\r\n onEdit(newStatus);\r\n }\r\n }}>\r\n {trans(`info:${status == 0 ? 'edit' : 'back'}`)}\r\n
    \r\n }\r\n
    \r\n\r\n {\r\n infoText &&
    \r\n \r\n

    {infoText}

    \r\n
    \r\n }\r\n {\r\n props.children\r\n }\r\n {hasRuler &&
    }\r\n
    \r\n )\r\n}","import { useTranslation } from \"react-i18next\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport PhoneDropDown from '../components/_input/_phoneDropDown';\r\nimport { CheckInput } from \"../components/_input/_checkInput\";\r\nimport { FileInput } from \"../components/_input/_fileInput\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from '../configuration/config.json';\r\nimport { DropDownInput } from \"../components/_input/_dropdown\";\r\nimport crypto from 'crypto-js';\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate } from '../utils/validation';\r\nimport { getData, saveData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport { toast } from \"react-toastify\";\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport { includes } from \"lodash\";\r\nimport { useUserFavorite } from \"./hooks/useUserFavorite\";\r\nexport default function SignUp({ onTabChange, onLogin }) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const { init } = useUserFavorite();\r\n const languageDir = 'language-' + lang;\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"inputs\", \"model\", \"error\", \"info\", \"hints\", \"error2\", \"new\"]);\r\n const tabsList = [{\r\n tab: 1, title: 'sign-in'\r\n }, {\r\n tab: 2, title: 'sign-up'\r\n }];\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [steps, setSteps] = useState(0);\r\n const [requestForm, setRequestForm] = useState({\r\n arFirstName: '',\r\n arMiddleName: '',\r\n arLastName: '',\r\n enFirstName: '',\r\n enMiddleName: '',\r\n enLastName: '',\r\n validation: '',\r\n email: '',\r\n phoneNumber: '',\r\n genderID: '',\r\n password: '',\r\n identity: '',\r\n accountType: '',\r\n commercialIdentity: '',\r\n commercialIdentityImage: null,\r\n identityImage: null,\r\n address: '',\r\n confirmPassword: ''\r\n });\r\n const schema = Joi.object({\r\n arFirstName: Joi.string().max(50).required().messages(GetMessages()),\r\n arMiddleName: Joi.string().max(50).required().messages(GetMessages()),\r\n arLastName: Joi.string().max(50).required().messages(GetMessages()),\r\n enFirstName: Joi.string().max(50).required().messages(GetMessages()),\r\n enMiddleName: Joi.string().max(50).required().messages(GetMessages()),\r\n enLastName: Joi.string().max(50).required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(13).required().messages(GetMessages()),\r\n accountType: Joi.string().required().messages(GetMessages()),\r\n commercialIdentity: Joi.string().length(10).required().messages(GetMessages()),\r\n validation: Joi.string().required().messages(GetMessages()),\r\n password: Joi.string().min(8).max(20).alphanum().required().messages(GetMessages()),\r\n confirmPassword: Joi.string().valid(Joi.ref('password')).required().messages(GetMessages())\r\n });\r\n const [accountTypes, setAccountTypes] = useState([]);\r\n const [error, setError] = useState({});\r\n const [selectedPrivacy, setSelectedPrivacy] = useState(false);\r\n const [confirmValidation, setConfirmValidation] = useState(false);\r\n const [codeValidation, setCodeValidation] = useState('');\r\n const [signUpObject, setSignUpObject] = useState({});\r\n useEffect(() => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetUserAccountTypes\"\r\n }\r\n ).then(response => {\r\n console.log(\"accountType\", response.data);\r\n setAccountTypes(response.data);\r\n\r\n }).catch(err => {\r\n console.log(err);\r\n })\r\n }, []);\r\n\r\n const [isClientAccount, setIsClientAccount] = useState(null);\r\n const submitRequest = async () => {\r\n const result = formValidate(schema, requestForm) ?? {};\r\n setError(result);\r\n try {\r\n if (Object.keys(result).length === 0) {\r\n if (selectedPrivacy) {\r\n const md5Password = crypto.MD5(requestForm.password);\r\n axios.post(\r\n config.controllURL + \"api/Administration/\" + \"SignUp\",\r\n {\r\n \"ArFirstName\": requestForm.arFirstName.trim(),\r\n \"ArMiddlename\": requestForm.arMiddleName,\r\n \"ArLastname\": requestForm.arLastName.trim(),\r\n \"EnFirstName\": requestForm.enFirstName.trim(),\r\n \"EnMiddlename\": requestForm.enMiddleName.trim(),\r\n \"EnLastname\": requestForm.enLastName.trim(),\r\n \"Email\": requestForm.email,\r\n \"Phone\": requestForm.phoneNumber,\r\n \"GenderID\": requestForm.genderID != '' ? Number(requestForm.genderID) : null,\r\n \"Password\": md5Password.toString(),\r\n \"Identity\": requestForm?.identity ?? null,\r\n \"Address\": requestForm.address,\r\n \"IdentityImage\": requestForm.identityImage,\r\n \"ConfirmPassword\": md5Password.toString()\r\n }\r\n ).then(response => {\r\n if (response.data) {\r\n setError({});\r\n const { genderID } = { ...requestForm };\r\n setRequestForm({\r\n arFirstName: '',\r\n arMiddleName: '',\r\n arLastName: '',\r\n enFirstName: '',\r\n enMiddleName: '',\r\n enLastName: '',\r\n email: '',\r\n phoneNumber: '',\r\n genderID: '',\r\n password: '',\r\n identity: '',\r\n identityImage: null,\r\n address: '',\r\n confirmPassword: ''\r\n });\r\n toast.success(trans(\"common:account-created-successfully\"));\r\n onTabChange(tabsList[0]);\r\n }\r\n }).catch(error => {\r\n if (error.response && error.response.status === 400) {\r\n toast.error(error.response.data[`${trans(\"model:description3\")}`]);\r\n }\r\n });\r\n } else {\r\n toast.error(trans(\"common:not-agree\"));\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const [shortRequestForm, setShortRequestForm] = useState({\r\n phoneNumber: '',\r\n password: '',\r\n identity: '',\r\n confirmPassword: ''\r\n });\r\n const onSuccess = (type, res) => {\r\n switch (type.toLocaleLowerCase()) {\r\n case 'google':\r\n const { givenName, familyName, email } = res.profileObj;\r\n axios.post(\r\n config.controllURL + \"api/Administration/OAuthSignUp\",\r\n {\r\n \"FirstName\": givenName,\r\n \"LastName\": familyName,\r\n \"Email\": email,\r\n \"AccountType\": type,\r\n }\r\n ).then((response) => {\r\n saveData(User_Data_Key, response.data, true);\r\n saveData('isAuthenticated', true, false);\r\n saveData('secretKey', response.data.id.toString().split('_')[0], false);\r\n // history.push('/');\r\n // window.location.reload();\r\n if (onLogin)\r\n onLogin();\r\n init();\r\n }).catch((err) => {\r\n if (err.response && err.response.status === 400) {\r\n toast.error(err.response.data[`${trans(\"model:description3\")}`]);\r\n }\r\n });\r\n break;\r\n\r\n case 'facebook':\r\n try {\r\n\r\n const { name, email: em } = res;\r\n const fullNames = name.split(' ');\r\n const firstName = fullNames[0];\r\n const lastName = fullNames[1];\r\n axios.post(\r\n config.controllURL + \"api/Administration/OAuthSignUp\",\r\n {\r\n \"FirstName\": firstName,\r\n \"LastName\": lastName,\r\n \"Email\": em,\r\n \"AccountType\": type,\r\n }\r\n ).then((response) => {\r\n saveData(User_Data_Key, response.data, true);\r\n saveData('isAuthenticated', true, false);\r\n saveData('secretKey', response.data.id.toString().split('_')[0], false);\r\n // history.push('/');\r\n // window.location.reload();\r\n if (onLogin)\r\n onLogin();\r\n init();\r\n }).catch((err) => {\r\n if (err.response && err.response.status === 400) {\r\n toast.error(err.response.data[`${trans(\"model:description3\")}`]);\r\n }\r\n });\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n break;\r\n }\r\n };\r\n const onFailure = (type, res) => {\r\n console.log(type);\r\n };\r\n const [signUpClicked, setSignUpClicked] = useState({\r\n clicked: false,\r\n index: null\r\n });\r\n const handleSaveObject = (obj, index) => {\r\n setSignUpObject(obj);\r\n setSignUpClicked({\r\n clicked: true,\r\n index: index\r\n });\r\n };\r\n const schema2 = Joi.object({\r\n phoneNumber: Joi.string().length(13).required().messages(GetMessages()),\r\n identity: Joi.string().min(8).required().messages(GetMessages()),\r\n password: Joi.string().min(8).max(20).alphanum().required().messages(GetMessages()),\r\n confirmPassword: Joi.string().valid(Joi.ref('password')).required().messages(GetMessages())\r\n });\r\n const externalSubmitRequest = () => {\r\n const result = formValidate(schema2, shortRequestForm) ?? {};\r\n setError(result);\r\n setIsLoading(true);\r\n if (Object.keys(result).length == 0) {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"Web_users\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"GUID\",\r\n \"Filters\": `where IdentityNumber = '${shortRequestForm.identity}' or phone = '${shortRequestForm.phoneNumber}'`\r\n }\r\n ).then((response) => {\r\n if (response.data.ApiObjectData.length == 0) {\r\n setSignUpClicked({\r\n index: 0,\r\n clicked: false\r\n });\r\n setError({});\r\n localStorage.setItem('externalInfo', JSON.stringify(shortRequestForm));\r\n setShortRequestForm({});\r\n signUpObject.onClick();\r\n } else {\r\n toast.error(trans(\"common:existed-data\"));\r\n }\r\n }).catch((err) => {\r\n toast.error(trans(\"error:unknown_failure\"));\r\n });\r\n }\r\n setIsLoading(false);\r\n };\r\n const toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n const handleChangeImage = async (event) => {\r\n const files = event.target.files;\r\n const val = { ...requestForm };\r\n if (files.length > 0) {\r\n let file = files[0];\r\n const size = file.size;\r\n const finalCheck = Math.round((size / 1024));\r\n if (finalCheck >= 4096) {\r\n toast.error(trans('new:file_size_error'));\r\n return;\r\n }\r\n const fileBase64 = await toBase64(file);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.identityImage = finalFile;\r\n } else {\r\n val.identityImage = null;\r\n }\r\n setRequestForm(val);\r\n };\r\n const handleChangeImage2 = async (event) => {\r\n const files = event.target.files;\r\n const val = { ...requestForm };\r\n if (files.length > 0) {\r\n let file = files[0];\r\n const size = file.size;\r\n const finalCheck = Math.round((size / 1024));\r\n if (finalCheck >= 4096) {\r\n toast.error(trans('new:file_size_error'));\r\n return;\r\n }\r\n const fileBase64 = await toBase64(file);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.commercialIdentityImage = finalFile;\r\n } else {\r\n val.commercialIdentityImage = null;\r\n }\r\n setRequestForm(val);\r\n };\r\n const removeUnspecificError = (errorList, values = []) => {\r\n let errorResult = {};\r\n const lowerValues = values.map(item => {\r\n return item.toLowerCase()\r\n });\r\n Object.assign(errorResult, errorList);\r\n if (errorList) {\r\n for (let index = 0; index < Object.keys(errorList).length; index++) {\r\n const key = Object.keys(errorList)[index];\r\n if (includes(lowerValues, key.toLowerCase())) {\r\n continue;\r\n } else {\r\n delete errorResult[key];\r\n }\r\n }\r\n }\r\n return errorResult;\r\n };\r\n const handleNextStep = async () => {\r\n try {\r\n const result = formValidate(schema, requestForm) ?? {};\r\n let specifics;\r\n switch (steps) {\r\n case 0:\r\n specifics = removeUnspecificError(result, ['phoneNumber']);\r\n setError(specifics);\r\n var codeValid = false;\r\n if (Object.keys(specifics).length === 0) {\r\n axios.post(\r\n config.controllURL + \"api/Administration/SendFreeSms\",\r\n {\r\n phoneNumber: requestForm.phoneNumber\r\n }\r\n ).then(response => {\r\n\r\n\r\n if (response.data) {\r\n setError({});\r\n saveData(\"validationCode\", response.data, true)\r\n setConfirmValidation(true);\r\n codeValid = true;\r\n\r\n console.log(\"after validate codeWWW \");\r\n setSteps(1);\r\n }\r\n if (codeValid) {\r\n\r\n // console.log(\"codeValid\");\r\n // axios.post(\r\n // config.baseURL + 'func',\r\n // {\r\n // \"Name\": \"Site_SendSmsCodeFormAppFunction\",\r\n // \"Values\": {\r\n // \"to\": requestForm.phoneNumber\r\n // }\r\n // }\r\n // ).then(response1 => {\r\n // if (response1.data) {\r\n // setError({});\r\n // console.log(\"after validate code \",response1.data[0].Code);\r\n // saveData(\"validationCode\", response1.data[0].Code, true)\r\n // setSteps(1);\r\n // }\r\n // }).catch(err => {\r\n // if (err.response1 && err.response1.status === 400) {\r\n // toast.error(err.response1.data[`${trans('model:description3')}`]);\r\n // }\r\n // console.log(err);\r\n // })\r\n console.log(\"after validate phoneNumber error\");\r\n }\r\n }).catch(err => {\r\n if (err.response && err.response.status === 400) {\r\n toast.error(err.response.data[`${trans('model:description3')}`]);\r\n }\r\n console.log(err);\r\n })\r\n\r\n\r\n\r\n\r\n }\r\n break;\r\n\r\n case 1:\r\n specifics = removeUnspecificError(result, ['validation']);\r\n setError(specifics);\r\n\r\n if (Object.keys(specifics).length == 0) {\r\n\r\n var cookies = null;\r\n try {\r\n\r\n cookies = getData(\"validationCode\", true);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n let cookieValue = cookies.replaceAll(\"\\\"\", \"\");\r\n\r\n if (cookieValue == null) {\r\n toast.error(trans(\"error2:validation_code_finish_time_error\"));\r\n setSteps(0);\r\n setError({});\r\n } else if (cookieValue == requestForm.validation) {\r\n setSteps(2);\r\n } else {\r\n setSteps(1);\r\n toast.error(trans(\"error2:validation_error\"));\r\n }\r\n\r\n }\r\n break;\r\n\r\n case 2:\r\n let otherProperities = [];\r\n const val = { ...requestForm };\r\n if (isClientAccount == null) {\r\n otherProperities = ['accountType'];\r\n } else if (isClientAccount) {\r\n val.commercialIdentity = '';\r\n val.commercialIdentityImage = null;\r\n otherProperities = ['accountType', 'identity'];\r\n } else {\r\n otherProperities = ['accountType', 'commercialIdentity'];\r\n val.identity = '';\r\n val.identityImage = null;\r\n }\r\n setRequestForm(val);\r\n specifics = removeUnspecificError(result, [`${lang}FirstName`, `${lang}MiddleName`, `${lang}LastName`, ...otherProperities]);\r\n setError(specifics);\r\n if (Object.keys(specifics).length == 0) {\r\n if (selectedPrivacy) {\r\n axios.post(\r\n config.controllURL + \"api/Administration/\" + \"SignUp\",\r\n {\r\n \"ArFirstName\": requestForm.arFirstName ?? null,\r\n \"ArMiddlename\": requestForm.arMiddleName ?? null,\r\n \"ArLastname\": requestForm.arLastName ?? null,\r\n \"EnFirstName\": requestForm.enFirstName ?? null,\r\n \"EnMiddlename\": requestForm.enMiddleName ?? null,\r\n \"EnLastname\": requestForm.enLastName ?? null,\r\n \"Phone\": requestForm.phoneNumber,\r\n \"Identity\": requestForm.identity,\r\n \"IdentityImage\": requestForm.identityImage,\r\n \"TradeNo\": requestForm.commercialIdentity,\r\n \"TradeNoImage\": requestForm.commercialIdentityImage,\r\n \"CustGroupID\": requestForm.accountType,\r\n \"IsClient\": isClientAccount\r\n }\r\n ).then(response => {\r\n if (response.data) {\r\n setError({});\r\n setRequestForm({\r\n arFirstName: '',\r\n arMiddleName: '',\r\n arLastName: '',\r\n enFirstName: '',\r\n enMiddleName: '',\r\n enLastName: '',\r\n phoneNumber: '',\r\n validation: '',\r\n identity: '',\r\n identityImage: null,\r\n commercialIdentity: '',\r\n commercialIdentityImage: null\r\n });\r\n toast.success(trans(\"common:account-created-successfully\"));\r\n onTabChange(tabsList[0]);\r\n }\r\n }).catch(error => {\r\n if (error.response && error.response.status === 400) {\r\n toast.error(error.response.data[`${trans(\"model:description3\")}`]);\r\n }\r\n });\r\n } else {\r\n toast.error(trans(\"common:not-agree\"));\r\n }\r\n }\r\n break;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const getCookie = async (cname) => {\r\n let name = cname + \"=\";\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n const getCorrectSection = () => {\r\n switch (steps) {\r\n case 0:\r\n return (\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n );\r\n case 1:\r\n return (\r\n {\r\n const val = { ...requestForm };\r\n val.validation = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:validation-key\")}\r\n />\r\n );\r\n case 2:\r\n let components;\r\n if (lang === 'ar') {\r\n components = (\r\n <>\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.arFirstName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:first-name\")}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.arMiddleName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"info:middle-name\")}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.arLastName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.arLastName}\r\n placeholder={trans(\"info:surname\")}\r\n />\r\n\r\n\r\n \r\n )\r\n }\r\n else {\r\n components = (\r\n <>\r\n {\r\n const val = { ...requestForm };\r\n val.enFirstName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.enFirstName}\r\n placeholder={trans(\"form:first-name\")}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.enMiddleName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.enMiddleName}\r\n placeholder={trans(\"info:middle-name\")}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.enLastName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.enLastName}\r\n placeholder={trans(\"info:surname\")}\r\n />\r\n \r\n )\r\n }\r\n\r\n return (\r\n
    \r\n \r\n\r\n {\r\n components\r\n }\r\n {\r\n if (lang === 'ar') {\r\n return { text: item.DescriptionAr, value: item.ID, isClient: item.NeedIdentity }\r\n } else {\r\n return { text: item.DescriptionEn, value: item.ID, isClient: item.NeedIdentity }\r\n }\r\n })\r\n ]}\r\n onfilter={(item) => {\r\n if (item.isClient == undefined) {\r\n setIsClientAccount(null);\r\n return;\r\n }\r\n setIsClientAccount(item.isClient);\r\n }}\r\n onSelect={(value => {\r\n const val = { ...requestForm };\r\n val.accountType = value;\r\n setRequestForm(val);\r\n })}\r\n />\r\n {isClientAccount != null && isClientAccount == true ?\r\n <>\r\n {\r\n const val = { ...requestForm };\r\n val.identity = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:identity-no\")}\r\n />\r\n {\r\n await handleChangeImage(file);\r\n }}\r\n />\r\n \r\n : isClientAccount != null && isClientAccount == false ? <>\r\n {\r\n const val = { ...requestForm };\r\n val.commercialIdentity = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"info:trade_no\")}\r\n />\r\n {\r\n await handleChangeImage2(file);\r\n }}\r\n />\r\n : null\r\n }\r\n {\r\n setSelectedPrivacy(e.checked);\r\n }}\r\n >\r\n \r\n {trans(\"common:agree-on\")}\r\n \r\n \r\n {trans(\"common:policy\")}\r\n \r\n \r\n \r\n\r\n
    \r\n );\r\n }\r\n };\r\n return (\r\n
    \r\n

    {trans(\"common:no-account\")}

    \r\n
    \r\n\r\n\r\n\r\n {\r\n getCorrectSection()\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n {/*

    {trans(\"common:or\")}

    */}\r\n\r\n {/*
    \r\n
    \r\n (\r\n \r\n {trans(\"form:sign-up-google\")}\r\n \"google\r\n \r\n )}\r\n onSuccess={(e) => onSuccess('Google', e)}\r\n onFailure={(e) => onFailure('Google', e)}\r\n cookiePolicy={window.location.origin}\r\n />\r\n
    \r\n
    \r\n onSuccess(\"Facebook\", e)}\r\n fields=\"name,email\"\r\n cssClass='nice-btn nice-btn-primary pl-14 '\r\n textButton={
    {trans(\"form:sign-up-facebook\")}\"facebook
    }\r\n render={renderProps => (\r\n )}\r\n />\r\n
    \r\n
    */}\r\n onTabChange(tabsList[0])}>\r\n {trans(\"common:existing-account\")}\r\n \r\n\r\n
    \r\n
    \r\n );\r\n}","import React, { useState, useRef, useEffect } from 'react'\r\n\r\n\r\nexport function CountDown({Total,contM=0 , onFinish}) {\r\n\r\n // We need ref in this, because we are dealing\r\n // with JS setInterval to keep track of it and\r\n // stop it when needed\r\n const Ref = useRef(null);\r\n\r\n // The state for our timer\r\n const [timer, setTimer] = useState('00:00');\r\n\r\n\r\n const getTimeRemaining = (e) => {\r\n const total = Date.parse(e) - Date.parse(new Date());\r\n const seconds = Math.floor((total / 1000) % 60);\r\n const minutes = Math.floor((total / 1000 / 60) % 60);\r\n return {\r\n total, minutes, seconds\r\n };\r\n }\r\n\r\n\r\n const startTimer = (e) => {\r\n let { total, minutes, seconds }\r\n = getTimeRemaining(e);\r\n if (total >= 0) {\r\n setTimer(\r\n (minutes > 9 ? minutes : '0' + minutes) + ':'\r\n + (seconds > 9 ? seconds : '0' + seconds)\r\n )\r\n }else{\r\n clearInterval(Ref.current);\r\n if(onFinish)\r\n onFinish();\r\n }\r\n }\r\n\r\n\r\n const clearTimer = (e) => {\r\n\r\n // If you adjust it you should also need to\r\n // adjust the Endtime formula we are about\r\n // to code next \r\n setTimer('00:00');\r\n\r\n // If you try to remove this line the \r\n // updating of timer Variable will be\r\n // after 1000ms or 1sec\r\n if (Ref.current) clearInterval(Ref.current);\r\n const id = setInterval(() => {\r\n startTimer(e);\r\n }, 1000)\r\n Ref.current = id;\r\n }\r\n\r\n const getDeadTime = () => {\r\n let deadline = new Date();\r\n let now= new Date(Date.now());\r\n\r\n // This is where you need to adjust if \r\n // you entend to add more time\r\n\r\n deadline.setSeconds(deadline.getSeconds()-now.getSeconds());\r\n deadline.setMinutes(deadline.getMinutes()+contM);\r\n \r\n\r\n\r\n \r\n \r\n \r\n return deadline;\r\n }\r\n\r\n // We can use useEffect so that when the component\r\n // mount the timer will start as soon as possible\r\n\r\n // We put empty array to act as componentDid\r\n // mount only\r\n useEffect(() => {\r\n clearTimer(getDeadTime());\r\n }, [contM]);\r\n\r\n // Another way to call the clearTimer() to start\r\n // the countdown is via action event from the\r\n // button first we create function to be called\r\n // by the button\r\n const onClickReset = () => {\r\n clearTimer(getDeadTime());\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n timer\r\n }\r\n
    \r\n )\r\n}\r\n\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from '../configuration/config.json';\r\nimport crypto from 'crypto-js';\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate, validateProperty } from '../utils/validation';\r\nimport { toast } from \"react-toastify\";\r\nimport { CountDown } from \"./components/countDown\";\r\nimport PhoneDropDown from \"../components/_input/_phoneDropDown\";\r\nexport default function ResetPassword({ onTabChange }) {\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"inputs\", \"model\", \"error2\", \"finance\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const tabsList = [{\r\n tab: 1, title: 'sign-in'\r\n }, {\r\n tab: 2, title: 'sign-up'\r\n }, {\r\n tab: 3, title: 'reset-password'\r\n }];\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [requestForm, setRequestForm] = useState({\r\n phoneNumber: '',\r\n identityNo: '',\r\n validationKey: '',\r\n password: '',\r\n confirmPassword: ''\r\n });\r\n const [ticker, setTicker] = useState(1);\r\n const [clicked, setClicked] = useState(false);\r\n const notes = [\r\n trans(\"common:reset-password-step-1-note\"),\r\n trans(\"info:reset-password-step-2-note\"),\r\n trans(\"common:reset-password-step-2-note\"),\r\n trans(\"common:reset-password-step-3-note\"),\r\n ];\r\n const [identityType, setIdentityType] = useState(null);\r\n\r\n const schema = Joi.object({\r\n validationKey: Joi.string().required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(13).required().messages(GetMessages()),\r\n identityNo: Joi.string().length(10).required().messages(GetMessages()),\r\n password: Joi.string().required().messages(GetMessages()),\r\n confirmPassword: Joi.string().valid(Joi.ref('password')).required().messages(GetMessages())\r\n });\r\n const [error, setError] = useState({});\r\n const [passwordStrength, setPasswordStrength] = useState(false);\r\n const handleSteps = () => {\r\n const result = formValidate(schema, requestForm);\r\n setError(result);\r\n switch (activeStep) {\r\n case 0:\r\n if (!result?.phoneNumber) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteCheckPhoneBeforeResetPassword\",\r\n \"Values\": {\r\n \"phone\": requestForm.phoneNumber\r\n }\r\n }\r\n ).then(response => {\r\n if (response.data.length > 0) {\r\n const { NeedIdentity } = { ...response.data[0] };\r\n setActiveStep(activeStep + 1);\r\n if (NeedIdentity) {\r\n setIdentityType(1);\r\n } else {\r\n setIdentityType(0);\r\n }\r\n }\r\n }).catch(error => {\r\n toast.error(trans(\"common:invaild-phonenumber\"));\r\n });\r\n }\r\n break;\r\n\r\n case 1:\r\n if (!result?.identityNo) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteCheckMatchedPhoneWithIdentity\",\r\n \"Values\": {\r\n \"phone\": requestForm.phoneNumber,\r\n \"Identity\": requestForm.identityNo,\r\n \"Type\": identityType\r\n }\r\n }\r\n ).then(response => {\r\n if (response.data == true) {\r\n axios.post(\r\n \"/api/Administration/\" + \"SendSms\",\r\n {\r\n \"AccessType\": \"PhoneNumber\",\r\n \"Access\": requestForm.phoneNumber\r\n }\r\n ).then(response => {\r\n if (response.status) {\r\n if (response.data) {\r\n setActiveStep(activeStep + 1);\r\n setError({});\r\n }\r\n }\r\n }).catch(error => {\r\n toast.error(trans(\"error2:unknown_identity_or_custType_not\"));\r\n });\r\n } else {\r\n toast.error(trans(\"error2:not_matched_identity_with_phone\"))\r\n }\r\n }\r\n ).catch(err => {\r\n toast.error(trans(\"error2:not_matched_identity_with_phone\"))\r\n });\r\n }\r\n break;\r\n case 2:\r\n if (!result?.validationKey) {\r\n axios.post(\r\n config.controllURL + \"/api/Administration/\" + \"MatchedKeys\",\r\n {\r\n \"AccessType\": \"PhoneNumber\",\r\n \"Access\": requestForm.phoneNumber,\r\n \"ValidationKey\": requestForm.validationKey\r\n }\r\n ).then(response => {\r\n if (response.status == 200) {\r\n setActiveStep(activeStep + 1);\r\n setError({});\r\n }\r\n }).catch(error => {\r\n toast.error(trans(\"common:invaild-validation-key\"));\r\n });\r\n }\r\n break;\r\n case 3:\r\n if (!result?.password && !result?.confirmPassword) {\r\n if (passwordStrength) {\r\n axios.post(\r\n config.controllURL + \"/api/Administration/\" + \"ForgetPassword\",\r\n {\r\n \"AccessType\": \"PhoneNumber\",\r\n \"Access\": requestForm.phoneNumber,\r\n \"ValidationKey\": requestForm.validationKey,\r\n \"Password\": crypto.MD5(requestForm.password).toString()\r\n }\r\n ).then(response => {\r\n if (response.status == 200) {\r\n if (response.data) {\r\n toast.success(trans(\"common:reset-password-successfully\"));\r\n setError({});\r\n setActiveStep(0);\r\n setTicker(1);\r\n setIdentityType(null);\r\n setRequestForm({});\r\n if (onTabChange)\r\n onTabChange(tabsList[0]);\r\n }\r\n }\r\n }).catch(error => {\r\n toast.error(trans(\"common:invaild-validation-key\"));\r\n });\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n const handleResendSms = () => {\r\n axios.post(\r\n config.controllURL + \"/api/Administration/\" + \"SendSms\",\r\n {\r\n \"AccessType\": \"PhoneNumber\",\r\n \"Access\": requestForm.phoneNumber\r\n }\r\n ).then(response => {\r\n if (response.status == 200) {\r\n if (response.data) {\r\n toast.success(trans(\"common:validation-key-sent\"));\r\n }\r\n }\r\n }).catch(error => {\r\n toast.error(trans(\"common:invaild-phonenumber\"));\r\n });\r\n };\r\n return (\r\n
    \r\n

    \r\n {notes[activeStep] + ((activeStep == 1) ? identityType == true ? trans(\"form:identity-no\") : identityType == false ? trans(\"finance:cn\") : '' : '')}\r\n

    \r\n\r\n
    \r\n \r\n {activeStep == 0 && (\r\n <>\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n />\r\n \r\n )\r\n }\r\n \r\n \r\n {activeStep == 1 && ( {\r\n const val = { ...requestForm };\r\n val.identityNo = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={identityType == 1 ? trans(\"form:identity-no\") : trans(\"finance:cn\")}\r\n />)\r\n }\r\n \r\n \r\n {activeStep == 2 &&\r\n \r\n {\r\n const val = { ...requestForm };\r\n val.validationKey = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n \r\n {\r\n trans(\"common:countdown-note\")\r\n }\r\n \r\n {\r\n setClicked(true);\r\n }} />\r\n {clicked && {\r\n setTicker(ticker + 3);\r\n setClicked(false);\r\n handleResendSms();\r\n }\r\n }>\r\n {\r\n trans(\"common:resend\")\r\n }\r\n \r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n {activeStep == 3 && \r\n {\r\n setPasswordStrength(e);\r\n }}\r\n length={20}\r\n errorLabel={error?.password}\r\n placeholder={trans(\"form:password\")}\r\n name='password'\r\n passwordStrength={true}\r\n onChangeValue={\r\n (e) => {\r\n const val = { ...requestForm };\r\n val.password = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.confirmPassword = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n \r\n }\r\n \r\n
    \r\n handleSteps()} />\r\n
    \r\n\r\n onTabChange(tabsList[0])}>\r\n {trans(\"form:main-page\")}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import {useTranslation} from \"react-i18next\";\r\nimport {Link,useHistory} from \"react-router-dom\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport { Fragment, useEffect , useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport crypto from 'crypto-js';\r\nimport Joi from \"joi\";\r\nimport {GetMessages , formValidate,validateProperty} from '../utils/validation';\r\nimport { PhoneInput } from \"../components/_input/_phoneInput\";\r\nimport { toast } from \"react-toastify\";\r\nimport { CountDown } from \"./components/countDown\";\r\nimport * as db from '../utils/localDB';\r\nimport config from '../configuration/config.json';\r\nexport default function LoginValidation({onTabChange,onLogin}){\r\n const {t: trans} = useTranslation([\"common\",\"form\",\"inputs\",\"model\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const tabsList = [{\r\n tab : 1 , title : 'sign-in'\r\n },{\r\n tab : 2 , title : 'sign-up'\r\n }, {\r\n tab : 3 , title : 'reset-password'\r\n }];\r\n const [requestForm,setRequestForm] = useState({\r\n validationKey:'',\r\n });\r\n const history = useHistory();\r\n const schema = Joi.object({\r\n validationKey:Joi.string().required().messages(GetMessages())\r\n });\r\n const [error,setError] = useState({});\r\n const handleRequest = async ()=>{\r\n const result = formValidate(schema,requestForm) ?? {};\r\n setError(result);\r\n try{\r\n if(Object.keys(result).length == 0){\r\n const secretKey = \"secretKey\"; \r\n const secretKeyValue = localStorage.getItem(secretKey); \r\n if(secretKeyValue){\r\n db.createDbRequest(\"UserDB\",1);\r\n axios.post(\r\n \"/api/Administration/\"+ \"SignInValidate2\",\r\n {\r\n \"AccessType\": \"Global\",\r\n \"Access\": String(secretKeyValue),\r\n \"ValidationKey\":requestForm.validationKey\r\n }\r\n ).then((response)=>{\r\n if(response.status == 200){\r\n const encodedData = crypto.AES.encrypt(JSON.stringify(response.data),config.cryptoKey).toString();\r\n localStorage.setItem(\"userData\",JSON.stringify({ email : response.data.email , phone : response.data.phone , \r\n id:response.data.id.toString() ,descriptionAr:response.data.descriptionAr , descriptionEn : response.data.descriptionEn\r\n , logo : response.data.logo}));\r\n localStorage.setItem(\"userId\",response.data.id.split(\"_\")[1]);\r\n localStorage.setItem(\"custId\",response.data.custID);\r\n const status = db.proccessUserData({uId:1,data:encodedData});\r\n db.getUserDataByID(1).onsuccess = (event)=>{\r\n const result = event.target.result;\r\n if(result){\r\n localStorage.setItem(\"isAuthenticated\",true); \r\n history.push('/user');\r\n if(onLogin)\r\n onLogin();\r\n }\r\n }; \r\n }\r\n }).catch((err)=>{\r\n if(err.response && err.response.status == 400){\r\n toast.error(trans(\"common:invaild-validation-key\"));\r\n }\r\n });\r\n }\r\n }\r\n }catch(err){\r\n console.log(err);\r\n }\r\n };\r\n\r\n\r\n\r\n return (\r\n
    \r\n

    \r\n {trans(\"common:reset-password-step-2-note\")}\r\n

    \r\n {\r\n const val = { ...requestForm };\r\n val.validationKey = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n /> \r\n \r\n\r\n \r\n onTabChange(tabsList[0])}>\r\n {trans(\"form:main-page\")} \r\n \r\n
    \r\n );}\r\n","import axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Popup from \"../../User/popup\";\r\nimport config from '../../configuration/config.json';\r\nimport { DropDownInput } from \"./_dropdown\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router\";\r\nimport {slugCombine} from '../../utils/slugManager';\r\nconst AdvancedSearch = ({onSearchClick , show = false}) => {\r\n const { t: trans } = useTranslation([\"navbar\", \"model\"]);\r\n const sections = [\r\n { text: trans(\"navbar:cars\"), value: '1' },\r\n { text: trans(\"navbar:spare_parts\"), value: '2' },\r\n { text: trans(\"navbar:offer\"), value: '3' },\r\n { text: trans(\"navbar:compaigns\"), value: '4' }\r\n ];\r\n const popRef = useRef(null);\r\n const searchRef = useRef(null);\r\n const history = useHistory();\r\n //----------------------------------------------\r\n const [searchInput, setSearchInput] = useState({description:'',value:''});\r\n const [isOpened, setIsOpened] = useState(false);\r\n const [section, setSection] = useState('');\r\n const [searchResult, setSearchResult] = useState([]);\r\n const [filteredSearchResult, setFilteredSearchResult] = useState([]);\r\n const [showDetailsBox, setShowDetailsBox] = useState('');\r\n const [targetPage,setTargetPage] = useState(''); \r\n const lang = localStorage.getItem('i18nextLng');\r\n const languageDir = 'language-' + lang;\r\n \r\n //-----------------------------------------------\r\n useEffect(() => {\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [show]);\r\n\r\n // to close the popup from outside\r\n const handleClickOutside = (event) => {\r\n if (popRef.current && popRef.current.classList.contains(event.target.classList[0]) && show === true) {\r\n onSearchClick(false);\r\n setSearchInput({\r\n description:'',\r\n value:''\r\n });\r\n setIsOpened(false);\r\n }\r\n };\r\n // fire when the client clicks on the search btn\r\n const handleSearchBtn = () => {\r\n const result = {...searchInput};\r\n if(result.value && targetPage !== ''){\r\n history.push(targetPage + result.value)\r\n onSearchClick(false);\r\n }else{\r\n toast.error(trans(\"navbar:no_search_result\"))\r\n }\r\n };\r\n // filtering the result when the client change the text value\r\n const handleSearchChange = (event) => {\r\n const value = event.target.value;\r\n let filter = [];\r\n const prevousValue = {...searchInput};\r\n prevousValue.description = value;\r\n setSearchInput(prevousValue);\r\n\r\n if (sections != '') {\r\n filter = searchResult.filter((item) => item.source.toLowerCase().includes(value?.toLowerCase() ?? ''));\r\n }\r\n\r\n setFilteredSearchResult(filter);\r\n if (filter && filter?.length > 0)\r\n setIsOpened(true);\r\n else\r\n setIsOpened(false);\r\n };\r\n // choose the option from the searching result\r\n const handleChooseOption = (option) => {\r\n if (option) {\r\n setSearchInput({\r\n description:option.description,\r\n value:option.value\r\n });\r\n }\r\n searchRef.current.focus();\r\n setIsOpened(false);\r\n };\r\n // select the section and populate the list\r\n const handleSearchResult = async (option) => {\r\n const descriptionModel = trans(\"model:description\");\r\n let result = [];\r\n let target = '';\r\n if (option == null || option == '' || option == '0') {\r\n setSearchInput({description:'',value:''});\r\n setIsOpened(false);\r\n setTargetPage(target);\r\n return;\r\n }\r\n try {\r\n switch (Number(option)) {\r\n case 1:\r\n result = await handleRequest('SiteVehiclesAdvancedSearch');\r\n result = result.map((item) => {\r\n return {\r\n uniqueID: String(item.GUID), source: [item[`${trans(\"model:brandDescription\")}`], item[`${trans(\"model:description\")}`],\r\n item[`${trans(\"model:groupDescription\")}`], String(item.Model)].join(), description: item[`${trans(\"model:description\")}`],\r\n value: item[`${trans(\"navbar:slug\")}`] ? (slugCombine(item.BrandAr,item.BrandEn) + '/' + slugCombine(item.slugAr,item.slugEn)) : null\r\n }\r\n });\r\n target = '/vehicles/';\r\n break;\r\n case 2:\r\n result = await handleRequest('SiteSparePartsAdvancedSearch');\r\n result = result.map((item)=>{\r\n return {\r\n description:item[`${trans(\"model:description\")}`],source:[item[`${trans(\"model:description\")}`],item[`${trans(\"navbar:category\")}`],\r\n String(item.Discount), item.Price , item.Weight , item.Length , item.Height , item.Width ].join(),\r\n value:String(item.ID)\r\n } \r\n });\r\n target = '/eparts/detail/';\r\n break;\r\n case 3:\r\n result = await handleRequest('SiteOffersAdvancedSearch');\r\n result = result.map((item)=>{\r\n return {\r\n description:item[`${descriptionModel}`],source:[item[`${descriptionModel}`],item.Price,\r\n item[`Small${descriptionModel}`],item[`Offer${descriptionModel}`],item[`Terms${descriptionModel}`]].join(),\r\n value: slugCombine(item.slugAr,item.slugEn)\r\n }\r\n });\r\n target = '/offers/detail/'\r\n break;\r\n case 4:\r\n result = await handleRequest('SiteCompainsAdvancedSearch');\r\n result = result.map((item)=>{\r\n return {\r\n description:item[`${descriptionModel}`],source:[item.Model,item.Price,item.Discount,\r\n item[`Small${descriptionModel}`],item[`${trans(\"model:brandDescription\")}`],\r\n ,item[`Com${descriptionModel}`]].join(),\r\n value:item.ID\r\n }\r\n });\r\n target = '/eparts/compaigndetails/';\r\n break;\r\n }\r\n setTargetPage(target);\r\n setSearchResult(result);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // it's used to send http request to fetch the result\r\n const handleRequest = async (options) => {\r\n let responseResult = [];\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"Name\": `${options}`\r\n }\r\n );\r\n responseResult = response.data;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return responseResult;\r\n };\r\n // to show the more details about the item\r\n const handleShowDetails = (event, id) => {\r\n event.stopPropagation();\r\n setShowDetailsBox(id);\r\n };\r\n // to close the details box about the item\r\n const handleCloseDetailsBox = (event) => {\r\n event.stopPropagation();\r\n setShowDetailsBox('');\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 if(event.code === 'Enter'){\r\n handleSearchBtn();\r\n }\r\n }}\r\n onChange={handleSearchChange}\r\n className={`search-input p-5 text-size-18r ${languageDir}`}\r\n placeholder={trans(\"navbar:search_place_holder\")} />\r\n
    \r\n
    \r\n {\r\n setSection(e);\r\n handleSearchResult(e);\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n {\r\n\r\n isOpened && (
    \r\n
      \r\n {\r\n filteredSearchResult.length > 0 && filteredSearchResult.map((item, index) => {\r\n return (\r\n
    • handleChooseOption(item)}>\r\n {item?.description}\r\n {/* {\r\n (showDetailsBox == item.uniqueID) &&
      handleCloseDetailsBox(event)}>\r\n تفاصيل اكثر\r\n
      \r\n }\r\n
      handleShowDetails(event, item.uniqueID)}>\r\n تفاصيل\r\n
      */}\r\n
    • \r\n )\r\n })\r\n }\r\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 AdvancedSearch;","import { useTranslation } from \"react-i18next\";\r\nconst CallCenter = ({servicePhone = '00966920018996' , phoneNumber = '920018996'})=>{\r\n const {t:trans} = useTranslation(\"common\");\r\n return (\r\n \r\n {/*

    {trans(\"common:hj\")}

    */}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default CallCenter;","import { useTranslation } from \"react-i18next\";\r\nimport i18next from \"i18next\";\r\nimport { Link, NavLink, useHistory } from \"react-router-dom\";\r\nimport { Fragment, useEffect, useRef, useState, useCallback } from \"react\";\r\nimport { NavCar } from \"./hover/navCar\";\r\nimport { NavMaintenance } from \"./hover/navMaintenance\";\r\nimport { NavParts } from \"./hover/navParts\";\r\nimport { NavAbout } from \"./hover/navAbout\";\r\nimport { NavContact } from \"./hover/navContact\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { list, total, onChange } from \"cart-localstorage\";\r\nimport Popup from '../../User/popup';\r\nimport axios from \"axios\";\r\nimport { changeCount } from \"../../_redux/slices/cartSlice\";\r\nimport PopupHeader from \"../../User/components/popupHeader\";\r\nimport SignIn from \"../../User/signIn\";\r\nimport SignUp from \"../../User/signUp\";\r\nimport ResetPassword from \"../../User/resetPassword\";\r\nimport LoginValidation from \"../../User/loginValidation\";\r\nimport AdvancedSearch from \"../_input/advancedSearch\";\r\nimport CallCenter from \"../__simple/callCenter\";\r\nimport _, { concat, sum } from \"lodash\";\r\nimport { numberFormat } from \"../../utils/currencyFormatter\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { Base64 } from 'js-base64';\r\nimport Joi from \"joi\";\r\nimport { GetMessages } from '../../utils/validation';\r\nfunction Navbar({ popupShow }) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"common\", \"form\", \"language\", \"info\", \"home\", \"cartFile\"]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n const navRef = useRef(null);\r\n const popRef = useRef(null);\r\n const [navTop, setNavTop] = useState(-16);\r\n const [navFlex, setNavFlex] = useState(false);\r\n const [lastScrollY, setLastScrollY] = useState(0);\r\n const [onhamburger, setOnhamburger] = useState(false);\r\n\r\n const [showNav, setShowNav] = useState(null);\r\n const history = useHistory();\r\n const headerFixed = useSelector(state => state.entities.nav.isFixed);\r\n const headerIcons = useSelector(state => state.entities.nav.iconsBlack);\r\n const cartCount = useSelector(state => state.entities.cart.count);\r\n\r\n const [brands, setBrands] = useState([]);\r\n const [searchPopup, setSearchPopup] = useState(false);\r\n const [showCartNotification, setShowCartNotification] = useState(false);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const timerRef = useRef(null);\r\n const [activePopUpModel, setActivePopUpModel] = useState({\r\n tab: 1,\r\n title: 'sign-in'\r\n });\r\n\r\n const handleTabChange = (tab) => {\r\n\r\n setActivePopUpModel(tab);\r\n };\r\n\r\n const handlePopupStatus = (status) => {\r\n setShowPopup(status);\r\n };\r\n\r\n // useEffect(() => {\r\n // console.log('showNav>>>>>>>>>>>>>>>>>>>>>>>', showNav);\r\n\r\n // }, [showNav])\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showCartNotification === true) {\r\n\r\n setShowCartNotification(false);\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showCartNotification]);\r\n\r\n const schemaNavContact = Joi.object({\r\n fullName: Joi.string().required().messages(GetMessages()),\r\n phone: Joi.string().min(12).required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n subject: Joi.string().required().messages(GetMessages()),\r\n messageContent: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n const countlist = list().length;\r\n const [addEvent, setaddEvent] = useState(false);\r\n useEffect(() => {\r\n\r\n window.addEventListener('storage', listenForStorage)\r\n\r\n if (addEvent == true) {\r\n try {\r\n window.dispatchEvent(new Event(\"storage\"));\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n setaddEvent(true);\r\n\r\n return () => {\r\n window.removeEventListener('storage', listenForStorage)\r\n }\r\n\r\n }, [addEvent])\r\n\r\n\r\n const listenForStorage = (v) => {\r\n\r\n\r\n\r\n if (countlist != list().length && showCartNotification != true && list().length > 0) {\r\n\r\n setShowCartNotification(true);\r\n\r\n }\r\n\r\n if (list().length <= 0) {\r\n\r\n setShowCartNotification(false);\r\n\r\n }\r\n Account();\r\n dispatch(\r\n changeCount({ count: list().length })\r\n )\r\n return () => {\r\n dispatch(\r\n changeCount({ count: list().length })\r\n )\r\n };\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n window.addEventListener('storage', listenForStorageToCount)\r\n\r\n try {\r\n window.dispatchEvent(new Event(\"storage\"));\r\n } catch (error) {\r\n\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('storage', listenForStorageToCount)\r\n }\r\n\r\n\r\n\r\n }, [])\r\n const listenForStorageToCount = () => {\r\n Account();\r\n dispatch(\r\n changeCount({ count: list().length })\r\n )\r\n return () => {\r\n dispatch(\r\n changeCount({ count: list().length })\r\n )\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (window.innerWidth < 577) {\r\n setNavTop(-1);\r\n }\r\n }, [window.innerWidth]);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [TotalTax, SetTotalTax] = useState(0)\r\n const [TotalDiscount, SetTotalDiscount] = useState(0);\r\n const [SumItemTotal, setSumItemTotal] = useState(0);\r\n const [SubTotal, setSubTotal] = useState(0);\r\n const [fullTotal, setfullTotal] = useState(0);\r\n const [MiniDownPayment, setMiniDownPayment] = useState(0);\r\n //Accounting for all items \r\n function Account() {\r\n\r\n let currentTotalTax = _.sum(list().map((p) => {\r\n return ((100 / 115) * ((p?.Type?.toLowerCase() == 'car' ? (p.price) : p.price) * p.quantity)) * 0.15;\r\n }));\r\n SetTotalTax(currentTotalTax);\r\n\r\n // let currentTotalDiscount = _.sum(list().map((p) => {\r\n // return calculateDiscount(p);\r\n // }));\r\n // SetTotalDiscount(currentTotalDiscount);\r\n\r\n let currentSumItemTotal = _.sum(list().map((p) => {\r\n return (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setSumItemTotal(currentSumItemTotal);\r\n let currentSumfullTotal = _.sum(list().map((p) => {\r\n return (p.price) * p.quantity;\r\n }));\r\n\r\n setfullTotal(currentSumfullTotal);\r\n let currentSubTotal = _.sum(list().map((p) => {\r\n return (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setSubTotal(currentSubTotal);\r\n\r\n\r\n let currentMiniDownPayment = _.sum(list().map((p) => {\r\n return (p.MiniDownPayment && p.MiniDownPayment != 0) ? p.MiniDownPayment * p.quantity : (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setMiniDownPayment(currentMiniDownPayment);\r\n\r\n };\r\n\r\n\r\n // useEffect(() => {\r\n\r\n\r\n // console.log(\"list().length>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\", list().length)\r\n // console.log(\"getlistCart>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\", getlistCart)\r\n // console.log(\"showCartNotification>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\", showCartNotification)\r\n // if (getlistCart == true && showCartNotification != true) {\r\n\r\n // // setShowCartNotification(true);\r\n\r\n // }\r\n // Account();\r\n // setgetlistCart(true);\r\n // dispatch(\r\n // changeCount({ count: list().length })\r\n // )\r\n // return () => {\r\n // dispatch(\r\n // changeCount({ count: list().length })\r\n // )\r\n // };\r\n\r\n\r\n\r\n\r\n\r\n // }, [cartCount]);\r\n\r\n\r\n useEffect(async () => {\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"brands-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n if (data && data?.brands && data?.brands?.length > 0)\r\n setBrands(data.brands);\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n try {\r\n const res = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/brands/brands\",\r\n method: \"get\",\r\n\r\n })\r\n\r\n setBrands(res.data.brands);\r\n const data22 = new Response(JSON.stringify(res.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"brands-\" + lang, data22);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n }\r\n\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => window.removeEventListener(\"scroll\", handleScroll);\r\n\r\n }, []);\r\n\r\n const handleScroll = () => {\r\n if (headerFixed) {\r\n const currentScrollY = window.scrollY;\r\n if (currentScrollY - 300 > lastScrollY) {\r\n setNavFlex(true)\r\n\r\n setNavTop(-1);\r\n } else {\r\n if (window.innerWidth < 577) {\r\n setNavTop(-1);\r\n } else {\r\n setNavTop(-18);\r\n }\r\n if (currentScrollY <= lastScrollY + 200) {\r\n setNavFlex(false);\r\n }\r\n }\r\n setLastScrollY(currentScrollY);\r\n } else {\r\n setNavFlex(false)\r\n }\r\n };\r\n const [showedListNav, setShowedListNavShowNav] = useState([]);\r\n\r\n function show(section) {\r\n\r\n setShowNav(null);\r\n if (section && !showedListNav.includes(section)) {\r\n timerRef.current = setTimeout(() => {\r\n handleMouseEnter(section);\r\n setShowNav(section);\r\n }, 700); // 2000 milliseconds = 2 \r\n } else {\r\n\r\n setShowNav(section);\r\n }\r\n }\r\n\r\n function onMouseOut() {\r\n setShowNav(null);\r\n handleMouseLeave();\r\n\r\n }\r\n\r\n const handleMouseEnter = (section) => {\r\n\r\n if (section && !showedListNav.includes(section)) {\r\n showedListNav.push(section);\r\n }\r\n\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n if (timerRef.current) {\r\n clearTimeout(timerRef.current);\r\n }\r\n };\r\n return (\r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n navbar holder\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n activePopUpModel.tab == 1 ?\r\n { handleTabChange(tab) }} onLogin={() => handlePopupStatus(false)} />\r\n : activePopUpModel.tab == 2 ?\r\n { handleTabChange(tab) }} onLogin={() => handlePopupStatus(false)} />\r\n : activePopUpModel.tab == 3 ?\r\n { handleTabChange(tab) }} />\r\n : { handleTabChange(tab) }} onLogin={() => handlePopupStatus(false)} />\r\n\r\n }\r\n
    \r\n\r\n handlePopupStatus(false)}>×\r\n {lang == \"ar\" ? \"اغلاق\" : \"close\"}\r\n
    \r\n handlePopupStatus(false)} />\r\n\r\n
    \r\n
    \r\n { setSearchPopup(value) }} />\r\n
    \r\n );\r\n}\r\n\r\n\r\nexport default Navbar;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\nfunction FooterHeading(prop) {\r\n return (\r\n
    \r\n\r\n
    \r\n

    {prop.title}

    \r\n
    \r\n );\r\n}\r\n\r\nexport default FooterHeading;\r\n","import FooterHeading from \"./__simple/_footerHeading\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from '../configuration/config.json';\r\nimport Joi from 'joi';\r\nimport { toast } from \"react-toastify\";\r\n\r\nfunction Footer() {\r\n const { t: trans } = useTranslation(\"common\");\r\n\r\n const [brands, setBrands] = useState([]);\r\n const [socials, setSocials] = useState([]);\r\n const [email, setEmail] = useState('');\r\n const submitEmail = async (e) => {\r\n e.preventDefault();\r\n\r\n const schema = Joi.object({\r\n email: Joi.string().required().email({ minDomainSegments: 2, tlds: { allow: false } })\r\n });\r\n const { error } = schema.validate({ email: email });\r\n if (error == null) {\r\n if (!(await isEmailExisted(email))) {\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"Object\": \"siteNewslettterSub\",\r\n \"Values\": {\r\n \"email\": email\r\n }\r\n }\r\n ).then((response) => {\r\n if (response.status == 200) {\r\n toast.success(trans(\"common:email-register-in-news\"))\r\n setEmail('');\r\n }\r\n });\r\n } else {\r\n toast.error(trans(\"common:email-existed\"));\r\n }\r\n }\r\n };\r\n\r\n async function isEmailExisted(email) {\r\n let isExisted = false;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteNewslettterSub\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `where lower(email) = lower('${email}')`\r\n }\r\n );\r\n isExisted = response.data.ApiObjectData.length > 0;\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return isExisted;\r\n }\r\n\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n useEffect(async () => {\r\n try {\r\n const res = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/brands/brands\",\r\n method: \"get\",\r\n\r\n })\r\n setBrands(res.data.brands);\r\n const social = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/contact/social\",\r\n method: \"get\",\r\n\r\n })\r\n setSocials(social.data);\r\n } catch (error) {\r\n }\r\n\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
    • {trans(\"home\")}
    • \r\n {\r\n brands.map((brand) => {\r\n return (\r\n
    • {brand.brand}\r\n
    • \r\n )\r\n })\r\n }\r\n {/*
    • {trans(\"compare\")}
    • */}\r\n
    • {trans(\"maintenance-services\")}
    • \r\n
    • {trans(\"finance\")}
    • \r\n
    \r\n
      \r\n
    • {trans(\"news\")}
    • \r\n {/*
    • {trans(\"news\")}
    • */}\r\n
    • {trans(\"about-us\")}
    • \r\n
    • {trans(\"employment\")}
    • \r\n
    • {trans('buy-vehicle')}
    • \r\n\r\n
    \r\n
      \r\n\r\n
    • {trans(\"HJ-advises\")}
    • \r\n
    • {trans(\"locations\")}
    • \r\n
    • {trans('contact-us')}
    • \r\n
    • {trans('common:website-policy')}
    • \r\n {/*
    • {trans('agreement-Sale-And-Reservation')}
    • */}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n socials.map((social) => {\r\n return (\r\n \r\n {social.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 submitEmail(e);\r\n }\r\n }>\r\n {\r\n setEmail(e.target.value.trim());\r\n }}\r\n className={\"text-16 border-radius\"} placeholder={trans('enter-your-email')}\r\n type=\"mail\" />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n\r\n lang == \"ar\" ?\r\n \"hassan\r\n :\r\n \"hassan\r\n }\r\n\r\n
    \r\n \r\n
    \r\n \"app\r\n \"play\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {trans('privacy-policy')}\r\n {/* {trans('site-policy')} */}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Footer;","import React from 'react';\r\nconst ConfirmContext = React.createContext();\r\nConfirmContext.displayName = 'ConfirmContext';\r\nexport default ConfirmContext;\r\n","import axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { saveData, getData } from \"./localStorageManager\";\r\nimport config from '../configuration/config.json';\r\nimport { find, forEach, includes, without, findIndex } from \"lodash\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"react-toastify\";\r\nexport const useCompare = (vehicleID = null, maxColumns = 5) => {\r\n const { t: trans} = useTranslation([\"model\",\"compare\"]);\r\n const COMPARE_KEY = \"COMPARE_KEY\";\r\n const COMPARE_FORMAT_KEY = \"COMPARE_FORMAT_KEY\";\r\n const [properities, setProperities] = useState(() => {\r\n return JSON.parse(getData(COMPARE_KEY)) ?? []\r\n });\r\n const [formatProperities, setFormatProperities] = useState(() => {\r\n return JSON.parse(getData(COMPARE_FORMAT_KEY)) ?? []\r\n });\r\n // the following fun is used to fetch the veh properities and reorder them as table\r\n const requestData = (vehID) => {\r\n if (vehID) {\r\n const currentValues = JSON.parse(getData(COMPARE_KEY)) ?? [];\r\n const currentFormatValues = [];\r\n if (currentValues?.length < maxColumns) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetVehicleProperities\",\r\n \"values\": {\r\n \"vehicleID\": vehID\r\n }\r\n }\r\n ).then(response => {\r\n const responseData = response.data;\r\n if (responseData?.length > 0) {\r\n const _image = responseData[0].Image != null ? responseData[0].Image : null;\r\n const _id = responseData[0].ProductID;\r\n\r\n const customizedResult = responseData.map((item) => {\r\n return {\r\n key: {\r\n PropertyID: item.PropertyID,\r\n DescriptionAr: item.ProperityDescriptionAr,\r\n DescriptionEn: item.ProperityDescriptionEn,\r\n },\r\n value: {\r\n DescriptionAr: item.DescriptionAr,\r\n DescriptionEn: item.DescriptionEn,\r\n ProductID: item.ProductID,\r\n PropertyID: item.PropertyID,\r\n }\r\n }\r\n });\r\n\r\n const vehObject = {\r\n ID: _id,\r\n Image: _image,\r\n Values: customizedResult\r\n };\r\n\r\n const _isNotFound = find(currentValues, (ele) => { return ele.ID === vehObject.ID }) == undefined || null ? true : false;\r\n\r\n if (_isNotFound) {\r\n // to check and reorder the keys and values \r\n currentValues.push(vehObject);\r\n const _tempArray = [];\r\n for (let index = 0; index < currentValues.length; index++) {\r\n forEach(currentValues[index].Values, (value) => {\r\n const _propertyObjectValue = value?.key;\r\n const _propertyValue = value?.key?.PropertyID;\r\n const _props = _tempArray.map(item => {\r\n return item.PropertyID\r\n });\r\n if (!includes(_props, _propertyValue)) {\r\n _tempArray.push(_propertyObjectValue);\r\n }\r\n });\r\n }\r\n const customizedVehicalesGroup = [];\r\n // the following code is to order keys and values according to above array\r\n for (let index = 0; index < currentValues.length; index++) {\r\n const { ID, Image, Values } = currentValues[index];\r\n const customizedObj = { ID, Image };\r\n const customizedObjValues = [];\r\n forEach(without(_tempArray, undefined, null), (value) => {\r\n const _valueIndex = findIndex(Values, (item) => { return item.key?.PropertyID == value?.PropertyID });\r\n if (_valueIndex != -1) {\r\n customizedObjValues.push(\r\n {\r\n ...Values[_valueIndex]\r\n }\r\n );\r\n } else {\r\n customizedObjValues.push(\r\n {\r\n key: value,\r\n value: null\r\n }\r\n );\r\n }\r\n });\r\n const _tempValues = { ...customizedObj };\r\n _tempValues.Values = customizedObjValues;\r\n customizedVehicalesGroup.push(_tempValues);\r\n }\r\n // formatting the values\r\n for (let index = 0; index < without(_tempArray, undefined, null).length; index++) {\r\n const _currentValue = without(_tempArray, undefined, null)[index];\r\n _currentValue.Values = [];\r\n for (let index2 = 0; index2 < customizedVehicalesGroup.length; index2++) {\r\n\r\n for (let index3 = 0; index3 < customizedVehicalesGroup[index2].Values.length; index3++) {\r\n const _v = customizedVehicalesGroup[index2].Values[index3];\r\n if (_currentValue.PropertyID === _v?.key?.PropertyID) {\r\n _currentValue.Values.push(_v?.value != null ? {DescriptionAr :_v?.value?.DescriptionAr , DescriptionEn:_v?.value?.DescriptionEn} : null);\r\n break;\r\n }\r\n }\r\n }\r\n currentFormatValues.push(_currentValue);\r\n }\r\n saveData(COMPARE_FORMAT_KEY, JSON.stringify(currentFormatValues), false);\r\n setFormatProperities(currentFormatValues);\r\n saveData(COMPARE_KEY, JSON.stringify(customizedVehicalesGroup), false);\r\n setProperities(JSON.parse(getData(COMPARE_KEY, false)));\r\n toast.success( trans('compare:compare_added_success'));\r\n\r\n }else{\r\n toast.info(trans('compare:compare_added_info'))\r\n }\r\n }\r\n }).catch(error => {\r\n toast.warning(trans('compare:compare_no_properities_found'))\r\n });\r\n }else{\r\n toast.error(trans('compare:compare_added_error'));\r\n }\r\n }\r\n };\r\n // the following fun is used to delete the item from list by [index && vehID]\r\n const onDeleteItem = (position, value) => {\r\n const currentValues = JSON.parse(getData(COMPARE_KEY));\r\n const currentFormatValues = JSON.parse(getData(COMPARE_FORMAT_KEY));\r\n if(currentValues.length == 1){\r\n window.localStorage.removeItem(COMPARE_KEY);\r\n window.localStorage.removeItem(COMPARE_FORMAT_KEY);\r\n setProperities([]);\r\n setFormatProperities([]);\r\n return;\r\n }\r\n const _newCurrentValues = currentValues.filter((item) => {\r\n return item.ID !== value\r\n });\r\n for (let index = 0; index < currentFormatValues.length; index++) {\r\n delete currentFormatValues[index].Values[position];\r\n }\r\n saveData(COMPARE_KEY, JSON.stringify(_newCurrentValues), false);\r\n saveData(COMPARE_FORMAT_KEY, JSON.stringify(currentFormatValues), false);\r\n setProperities(_newCurrentValues);\r\n setFormatProperities(currentFormatValues);\r\n };\r\n //--------------------------------------\r\n useEffect(() => {\r\n requestData(vehicleID);\r\n }, [vehicleID, maxColumns, properities]);\r\n return { properities, formatProperities, onInsert: requestData ,onDeleteItem};\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Link,useHistory } from \"react-router-dom\";\r\nimport { Price } from \"./__simple/_price\";\r\nimport ConfirmContext from \"../utils/confirmContext\";\r\nimport { useContext } from \"react\";\r\nimport { slugCombine } from \"../utils/slugManager\";\r\nimport { useCompare } from \"../utils/compareProvider\";\r\nimport config from \"../configuration/config.json\"\r\nfunction Slide({ id, modelTypes, img, bg, type, seats, name, brand, year, slug, minPrice, HP, cylinders, petrol, colorID,\r\n\r\n RateCareDiscount, group, Tax, ProductId, otherBrand, end_Offer, NewCar_DateEnd, NewCar, Hybird, showPric, hybridImage,\r\n viewSliderIcon,\r\n viewSliderDetails,\r\n viewBtns,\r\n sliderBackOpasity,\r\n brandID,\r\n}) {\r\n\r\n const { t: trans } = useTranslation([\"car\", \"common\", \"vehicales\", \"info\"]);\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + localStorage.getItem(\"i18nextLng\");\r\n const context = useContext(ConfirmContext);\r\n let history = useHistory();\r\n const { onInsert } = useCompare(null);\r\n function handleRequest() {\r\n try {\r\n context.onShow(\r\n {\r\n displayConfirm: true,\r\n title: name,\r\n image: img,\r\n brand: brand,\r\n isHyper: Hybird,\r\n isNew: NewCar,\r\n type: type,\r\n brandID: brandID,\r\n defaultColorID: colorID,\r\n modelYear: year,\r\n cartDetails: {\r\n id: ProductId,\r\n name: name,\r\n price: minPrice,\r\n brand: brand,\r\n image: img,\r\n Tax: Tax,\r\n Discount: RateCareDiscount,\r\n Type: \"car\",\r\n modelTypes: modelTypes\r\n },\r\n carOrder: {\r\n vehicle: ProductId,\r\n group: group\r\n },\r\n }\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n }\r\n function getpric() {\r\n if (RateCareDiscount > 0) {\r\n return (\r\n\r\n
    \r\n {trans(\"info:price\")}:\r\n \r\n {minPrice}{trans(\"common:rial\")}\r\n\r\n
    );\r\n } else {\r\n return (\r\n
    \r\n {trans(\"info:price\")}:\r\n \r\n
    );\r\n }\r\n }\r\n function getEndDate() {\r\n if (end_Offer) {\r\n return (\r\n
    \r\n \"info\"\r\n {trans(\"common:End-Date-view\")} {new Date(end_Offer).toLocaleDateString()}\r\n
    \r\n );\r\n }\r\n\r\n }\r\n\r\n // the following function is used to add the card to compare list\r\n const handleAddToCompare = (value) => {\r\n onInsert(value);\r\n };\r\n \r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \"slide e.target.style.display = 'none'} />
    \r\n\r\n
    \r\n \r\n {\r\n viewSliderIcon &&\r\n e.target.style.display = 'none'} alt=\"Slider Icon\" />\r\n }\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n {\r\n\r\n viewSliderDetails &&\r\n
    \r\n

    \r\n {name}\r\n

    \r\n {showPric && getpric()}\r\n
    \r\n }\r\n\r\n\r\n {\r\n viewBtns &&\r\n <>\r\n {getEndDate()}\r\n
    \r\n {\r\n handleRequest();\r\n }}\r\n className={\"btn btn-primary text-24 w-full py-5\"}>{trans(\"common:buy\")}\r\n
    \r\n \r\n\r\n \r\n {trans(\"car:overview\")}\r\n \"overview\"\r\n \r\n \r\n {trans(\"car:features\")}\r\n \"features\"\r\n \r\n \r\n {trans(\"car:gallery\")}\r\n \"gallery\"\r\n \r\n {\r\n // \r\n }\r\n\r\n
    \r\n \r\n }\r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {\r\n viewSliderDetails &&\r\n
    \r\n
    \r\n \r\n {petrol}\r\n {trans(\"vehicales:veh-petrol\")}\r\n \r\n
    \r\n \"petrol\"\r\n
    \r\n
    \r\n
    \r\n \r\n {cylinders}\r\n {trans(\"car:cylinders\")}\r\n \r\n
    \r\n \"cylinders\"\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {HP}\r\n {trans(\"car:horse\")}\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n
    \r\n \r\n {seats}\r\n {trans(\"car:seats\")}\r\n \r\n
    \r\n \"seat\"\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n\r\n\r\n\r\n {\r\n Hybird && (
    \r\n \"hybrid\"\r\n
    )\r\n }\r\n\r\n\r\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 Slide;","import axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../configuration/config.json'\r\nfunction Info({ hjData=null }) {\r\n const [hjGallery, setHjGallery] = useState(hjData);\r\n const { t: trans } = useTranslation(\"info\");\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n\r\n useEffect(async () => {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"siteHomePage\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n if(data)\r\n setHjGallery({\r\n title: data[`section1${trans(\"info:title\")}`],\r\n description: data[`section1${trans(\"info:description\")}`],\r\n image: data.section1Image\r\n });\r\n \r\n }\r\n if (hjData == null) {\r\n \r\n axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\": \"siteHomePage\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"section1TitleAr,section1TitleEn,section1DescAr,section1DescEn,section1Image\"\r\n }\r\n ).then(response => {\r\n const responseData = response.data.ApiObjectData;\r\n if (responseData.length > 0) {\r\n const firstResult = responseData[0];\r\n setHjGallery({\r\n title: firstResult[`section1${trans(\"info:title\")}`],\r\n description: firstResult[`section1${trans(\"info:description\")}`],\r\n image: firstResult.section1Image\r\n });\r\n\r\n const data = new Response(JSON.stringify(firstResult));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"siteHomePage\", data );\r\n \r\n });\r\n }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n }else{\r\n var newhjData = {...hjData};\r\n setHjGallery(newhjData);\r\n }\r\n }, [hjData]);\r\n\r\n function showImg() {\r\n if (hjGallery.image != null && hjGallery.image != \"null\") {\r\n return (\r\n
    \r\n {hjGallery.title}\r\n
    \r\n )\r\n }\r\n }\r\n\r\n return (\r\n hjGallery &&
    \r\n
    \r\n

    {hjGallery.title}

    \r\n

    {hjGallery.description}

    \r\n
    \r\n {\r\n showImg()\r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default Info;\r\n","import {Link} from \"react-router-dom\";\r\n\r\nfunction IconText({title, icon, link=\"./\"}) {\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {title}/\r\n
    \r\n
    \r\n\r\n\r\n

    {title}

    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default IconText;","function PageHeading(prop) {\r\n // const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const languageDir = '' + localStorage.getItem('i18nextLng');\r\n return (\r\n
    \r\n\r\n
    \r\n
    \r\n

    {prop.subtitle}

    \r\n {prop.children}\r\n
    \r\n

    \r\n

    \r\n {\r\n prop.text != null ?\r\n
    {prop.text}
    \r\n : null\r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default PageHeading;\r\n","function Testimonial({name, content, image}) {\r\n\r\n return (\r\n
    \r\n
    \r\n {name} e.target.style.display = 'none'} />\r\n
    \r\n
    \r\n\r\n

    \r\n {content}\r\n

    \r\n\r\n

    {name}

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Testimonial;","import PageHeading from \"../components/__simple/_pageheading\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport Testimonial from \"../components/testimonial\";\r\nimport { useEffect, useState } from \"react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { saveData, User_Data_Key, getData } from \"../utils/localStorageManager\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function TestimonialSection({ title, subtitle }) {\r\n const { t: trans } = useTranslation(\"heading\");\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const [testimoinals, setTestimoinals] = useState([]);\r\n useEffect(async () => {\r\n\r\n var testimonials;\r\n try {\r\n let data = [];\r\n data = await JSON.parse(getData(\"testimonials-\" + lang, true));\r\n if (data && data.length > 0) {\r\n setTestimoinals(data);\r\n testimonials = data;\r\n }\r\n } catch (error) {\r\n\r\n\r\n }\r\n\r\n\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/sections/testimonials\",\r\n method: \"get\",\r\n });\r\n\r\n if (JSON.stringify(testimonials) != JSON.stringify(response.data)) {\r\n saveData(\"testimonials-\" + lang, response.data, true);\r\n setTestimoinals(response.data)\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n\r\n return (\r\n\r\n testimoinals?.length > 0 ?\r\n
    \r\n \r\n = 640px\r\n 576: {\r\n slidesPerView: 4,\r\n },\r\n\r\n }}\r\n resizeObserver={\"true\"}\r\n navigation\r\n >\r\n {\r\n testimoinals?.map((testimonial) => {\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 : null\r\n );\r\n}","function WhyHJBox({icon, title, subtitle,secondTheme}) {\r\n return (\r\n
    \r\n
    \r\n e.target.style.display = 'none'} alt={title}/>\r\n
    \r\n
    \r\n

    {title}

    \r\n

    {subtitle}

    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default WhyHJBox;\r\n","import PageHeading from \"../components/__simple/_pageheading\";\r\n\r\nimport WhyHJBox from \"../components/__simple/_whyBox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\n\r\nexport function WhyHJSection({ secondTheme = false, subtitle, title }) {\r\n const { t: trans } = useTranslation([\"eparts\", \"info\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [whyInfo, setWhyInfo] = useState([]);\r\n useEffect(async () => {\r\n try {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"WhyHj-\"+lang;\r\n \r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n setWhyInfo(data.data);\r\n \r\n }\r\n \r\n } catch (error) {\r\n }\r\n\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/sections/WhyHj\",\r\n method: \"get\",\r\n });\r\n setWhyInfo(response.data)\r\n\r\n const data = new Response(JSON.stringify(response));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"WhyHj-\"+lang, data);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n\r\n }\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 whyInfo.map((item,index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Price } from \"./__simple/_price\";\r\nimport { CountDown } from '../pages/eparts/components/countDown';\r\nimport config from \"../configuration/config.json\";\r\nimport { Base64 } from 'js-base64';\r\nfunction Offer({\r\n img = \"/assets/images/offers/1.png\",\r\n name = \"اسم العرض هنا\",\r\n type,\r\n excerpt,\r\n showSeconds = true,\r\n slug,\r\n price,\r\n endDate,\r\n startDate,\r\n totalDays = 0\r\n}) {\r\n const { t: trans } = useTranslation([\"common\", \"new\"]);\r\n const languageDir = \"language-\" + localStorage.getItem(\"i18nextLng\");\r\n return (\r\n \r\n
    \r\n
    \r\n {\r\n\r\n (img && Base64.isValid(img) == 1 ?\r\n\r\n {name} e.target.style.display = 'none'} /> :\r\n {name} e.target.style.display = 'none'} />)\r\n }\r\n
    \r\n
    \r\n

    {name}

    \r\n
    \r\n
    \r\n \r\n {trans(\"new:expire_date\")}\r\n \r\n \r\n
    \r\n {price ?

    \r\n \r\n

    :null\r\n }\r\n

    \r\n {excerpt ?excerpt :null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default Offer;","export function FilterButton({isActive, name, onclick, ...prop}) {\r\n return (\r\n
    \r\n {name}\r\n
    \r\n );\r\n}","import {Fragment, useEffect, useState} from \"react\";\r\nimport SwiperCore, {Pagination, Navigation, Autoplay, EffectFade, EffectCoverflow, EffectFlip} from \"swiper\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport PageHeading from \"../../../components/__simple/_pageheading\";\r\nimport Offer from \"../../../components/offer\";\r\nimport {FilterButton} from \"../../../components/__simple/_filterButton\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {getCleanSlug,slugCombine} from '../../../utils/slugManager';\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade,]);\r\n\r\nexport default function HomeOfferSection({offers, filters, type}) {\r\n const {t: trans} = useTranslation([\"common\", \"inputs\",'offers']);\r\n\r\n const [filteredOffers, setFilteredOffers] = useState(offers);\r\n const [offersFilter, setOfferFilter] = useState(null);\r\n\r\n useEffect(() => {\r\n setFilteredOffers(offers);\r\n }, [offers])\r\n\r\n\r\n function filterOfferVehicle(offer) {\r\n setOfferFilter(offer);\r\n let filterData;\r\n if (offer != null)\r\n filterData = offers.filter((off) => {\r\n return off.type === offer;\r\n });\r\n else {\r\n filterData = offers;\r\n }\r\n setFilteredOffers(filterData);\r\n }\r\n\r\n return (\r\n\r\n
    \r\n \r\n
    \r\n {\r\n filters?.map((filter,index) => {\r\n return (\r\n filterOfferVehicle(filter.content)}/>\r\n )\r\n })\r\n }\r\n filterOfferVehicle(null)}/>\r\n
    \r\n \r\n \r\n {\r\n filteredOffers?.map((offer,index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n \r\n {trans(\"common:show-more\")}\r\n \r\n
    \r\n
    \r\n\r\n );\r\n}","// to build the object share component\r\nexport const shareMaker = (url,title,hashTag = '#Hassen Jameel') =>{\r\nlet baseUrl = /*window.location.host*/ 'https://hassanjameel.com.sa/' + '/' + localStorage.getItem(\"i18nextLng\"); \r\nconst shareObject = {\r\n url:(baseUrl + url),\r\n title:title,\r\n hashTag:hashTag\r\n}; \r\nif(url)\r\nreturn shareObject;\r\n\r\nreturn null;\r\n}","import { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function LikeButton({long, onToggle ,favorite = false, titleStyle= '', btnStyle = '', ...prop}) {\r\n const {t : trans} = useTranslation('info');\r\n return (\r\n
    {\r\n if(onToggle){\r\n onToggle()\r\n }\r\n }}\r\n className={(btnStyle == '' ? \"btn-like \" : btnStyle + \" \" ) + (long && \"long\")}>\r\n

    {trans('info:add_favorite')}

    \r\n {\"favorite\"}/\r\n
    \r\n );\r\n}","import { useTranslation } from \"react-i18next\";\r\nimport { Price } from \"./__simple/_price\";\r\nimport { Fragment, useContext } from \"react\";\r\nimport { shareMaker } from \"../utils/shareDataMaker\";\r\nimport ConfirmContext from \"../utils/confirmContext\";\r\nimport { useCompare } from \"../utils/compareProvider\";\r\nimport { useUserCart } from '../User/hooks/useUserCart';\r\nimport {\r\n EmailShareButton,\r\n EmailIcon,\r\n FacebookShareButton,\r\n FacebookIcon,\r\n TelegramShareButton,\r\n TelegramIcon,\r\n TwitterShareButton,\r\n TwitterIcon,\r\n WhatsappShareButton,\r\n WhatsappIcon\r\n} from \"react-share\";\r\nimport { useHistory } from \"react-router\";\r\nimport { useState } from \"react\";\r\nimport { numberFormat } from \"../utils/currencyFormatter\";\r\nimport { LikeButton } from \"./__simple/_likeButton\";\r\nimport { useUserFavorite } from '../User/hooks/useUserFavorite';\r\nimport config from \"../configuration/config.json\";\r\nfunction Car({\r\n year,\r\n slug,\r\n colorID,\r\n type,\r\n id,\r\n qty,\r\n img,\r\n name = \"\",\r\n category,\r\n brand,\r\n group,\r\n brandID,\r\n brandIcon,\r\n brandImage,\r\n gifts = 0,\r\n miniDownPayment,\r\n colorName = \"\",\r\n minPrice,\r\n link,\r\n showDetails = true,\r\n hybird = false,\r\n newCar = false,\r\n ProductId,\r\n Tax = 0,\r\n RateCareDiscount = 0,\r\n modelTypes,\r\n sharable = true,\r\n hybridImage,\r\n discountPrice,\r\n isOnline = false,\r\n showPric = false,\r\n buyOnline = false,\r\n goBuyDerict = false,\r\n carData = {},\r\n onClickShowSN,\r\n btnShowSN = false,\r\n className = \"\"\r\n\r\n}) {\r\n const { t: trans } = useTranslation([\"common\", \"info\", \"vehicales\", \"compare\", \"car\"]);\r\n const context = useContext(ConfirmContext);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [shareOpened, setShareOpened] = useState(false);\r\n const isToyota = (brand === \"تويوتا\" || brand.toLowerCase() === \"toyota\");\r\n const { title, hashTag, url } = link ? shareMaker(link, `${brand},${modelTypes},${numberFormat(minPrice)}`) : {};\r\n const { onInsert } = useCompare(null);\r\n const history = useHistory();\r\n const { isFavoriteItem, changeFavoriteItemState } = useUserFavorite();\r\n const { changecartItem } = useUserCart();\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 {/* {(isToyota */}\r\n {(isToyota\r\n {/*

    {brand}

    */}\r\n
    \r\n {\r\n true && (
    \r\n {(isToyota e.target.style.display = 'none'} />\r\n {/*

    {trans(\"vehicales:veh-hybrid\")}

    */}\r\n
    )\r\n }\r\n {\r\n (gifts != null && gifts > 0) &&\r\n (
    \r\n {(isToyota e.target.style.display = 'none'} />\r\n\r\n
    {gifts}
    \r\n
    )\r\n }\r\n\r\n {(buyOnline == true) &&
    \r\n {trans(\"info:Available_for_purchase_online\")}\r\n \r\n
    }\r\n\r\n
    \r\n\r\n\r\n {\r\n // history.push(link);\r\n window.location.href = link;\r\n }}>\r\n\r\n
    \r\n {name} e.target.style.display = 'none'} />\r\n
    \r\n e.target.style.display = 'none'} alt={(isToyota ? \"toyota\" : \"lexus\")} />\r\n {/* src={config.mainURL + brandImage} /> */}\r\n
    \r\n\r\n\r\n {\r\n (discountPrice != null && discountPrice > 0) &&\r\n (
    \r\n {trans(\"info:price_discount\")}\r\n \r\n
    )\r\n }\r\n
    \r\n\r\n
    \r\n\r\n\r\n {sharable &&
    { event.stopPropagation() }} style={{ right: (shareOpened ? 0 : '-50rem'), flexDirection: (lang === 'en' ? 'row-reverse' : 'row') }}>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    }\r\n\r\n\r\n
    \r\n {\r\n\r\n (btnShowSN == true) ?\r\n
    {\r\n event.stopPropagation();\r\n\r\n if (onClickShowSN)\r\n onClickShowSN(carData?.sn);\r\n }}\r\n >\r\n {/*
    */}\r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n\r\n {trans(\"info:Preview\")}\r\n\r\n
    \r\n :\r\n
    \r\n }\r\n\r\n\r\n {/* {
    \r\n\r\n {(colorName && colorName?.split(\"/\")[0]) &&
    \r\n {trans(\"car:exterior_color\")}\r\n {colorName?.split(\"/\")[0]}\r\n
    }\r\n {(colorName && colorName?.split(\"/\")[1]) &&
    \r\n {trans(\"car:interior_color\")}\r\n {colorName?.split(\"/\")[1]}\r\n
    }\r\n
    } */}\r\n
    \r\n
    \r\n {\r\n event.stopPropagation();\r\n setShareOpened(!shareOpened);\r\n }}>\r\n e.target.style.display = 'none'} alt={\"share icon\"} />\r\n
    \r\n
    \r\n { changeFavoriteItemState(ProductId) }}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {colorName &&
    \r\n\r\n {/* This text will bounce */}\r\n {(colorName && colorName?.split(\"/\")[0]) &&
    \r\n {trans(\"car:exterior_color\")}\r\n {colorName?.split(\"/\")[0]}\r\n
    }\r\n {(colorName && colorName?.split(\"/\")[1]) &&
    \r\n {trans(\"car:interior_color\")}\r\n {colorName?.split(\"/\")[1]}\r\n
    }\r\n
    }\r\n\r\n
    \r\n\r\n

    {name}

    \r\n\r\n
    \r\n {\r\n showDetails && \r\n {newCar && {trans(\"info:new\")}}\r\n\r\n {hybird && {trans(\"vehicales:veh-hybrid\")}}\r\n\r\n \r\n\r\n\r\n }\r\n\r\n {category}\r\n\r\n
    \r\n\r\n
    \r\n\r\n {showDetails &&
    \r\n\r\n
    \r\n
    \r\n {\r\n (showPric || goBuyDerict) &&\r\n <>\r\n {(showPric || goBuyDerict) && trans(\"info:product_price\")}\r\n\r\n

    {(showPric || goBuyDerict) && }

    \r\n \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n {/* {trans(\"show\")} */}\r\n {/* {\r\n onInsert(ProductId);\r\n }} className={\"text-14 text-bold\"}>{trans(\"compare:compare_btn\")} */}\r\n {/* \r\n {\r\n\r\n (btnShowSN == true) &&\r\n
    {\r\n event.stopPropagation();\r\n\r\n if (onClickShowSN)\r\n onClickShowSN(carData?.sn);\r\n }}\r\n >\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n\r\n {trans(\"info:Preview\")}\r\n\r\n
    \r\n } */}\r\n {\r\n try {\r\n\r\n if (goBuyDerict == true) {\r\n var obb =\r\n {\r\n id: slug,\r\n Type: 'car',\r\n colorId: colorID\r\n , name: carData?.descriptionAr\r\n , nameEn: carData?.descriptionEn\r\n , price: minPrice\r\n , brand: carData?.brandAr\r\n , brandEn: carData?.brandEn\r\n , Tax: Tax\r\n , image: img\r\n , Discount: RateCareDiscount\r\n , productID: ProductId\r\n , group: carData?.groupAr\r\n , groupEn: carData?.groupEn\r\n , BrandID: brandID\r\n , modelTypes: carData?.descriptionAr\r\n , modelTypesEn: carData?.descriptionEn\r\n , colorName: carData?.colorNameAr\r\n , colorNameEn: carData?.colorNameEn\r\n , SN: carData?.sn\r\n , year: year\r\n , modelTypeID: type\r\n , MiniDownPayment: miniDownPayment\r\n }\r\n\r\n changecartItem(ProductId, colorID, type, 1, null, null, obb, null, year);\r\n\r\n } else {\r\n\r\n context.onShow(\r\n {\r\n modelYear: year,\r\n displayConfirm: true,\r\n title: name,\r\n image: img,\r\n backGround: brandImage,\r\n brand: brand,\r\n brandID: brandID,\r\n isHyper: hybird,\r\n isNew: newCar,\r\n defaultColorID: colorID,\r\n cartDetails: {\r\n id: ProductId,\r\n name: name,\r\n price: minPrice,\r\n brand: brand,\r\n image: img,\r\n Tax: Tax,\r\n Discount: RateCareDiscount,\r\n Type: \"car\",\r\n modelTypes: modelTypes\r\n },\r\n carOrder: {\r\n vehicle: ProductId,\r\n group: group\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }}\r\n // href=\"./\" \r\n className={\"text-30\"}>\r\n {trans(\"buy\")} e.target.style.display = 'none'} />\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 Car;","import {Fragment, useEffect, useState} from \"react\";\r\nimport SwiperCore, {Pagination, Navigation, Autoplay, EffectFade} from \"swiper\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport PageHeading from \"../../../components/__simple/_pageheading\";\r\nimport {FilterButton} from \"../../../components/__simple/_filterButton\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Car from \"../../../components/car\";\r\nimport {slugSplitter,slugCombine} from '../../../utils/slugManager';\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade,]);\r\n\r\nexport default function HomeVehicleSection({cars, brands}) {\r\n const {t: trans} = useTranslation([\"common\", \"inputs\", 'cars', \"home\",\"info\"]);\r\n\r\n const [filteredCars, setFilteredCars] = useState(cars);\r\n const [carFilter, setCarFilter] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n setFilteredCars(cars);\r\n }, [cars])\r\n\r\n\r\n function filterCars(brand) {\r\n setCarFilter(brand);\r\n let filterData = [];\r\n if (brand != null)\r\n filterData = cars.filter((car) => {\r\n return car.brand === brand;\r\n });\r\n else {\r\n filterData = cars;\r\n }\r\n setFilteredCars(filterData);\r\n };\r\n\r\n return (\r\n\r\n
    \r\n \r\n
    \r\n {\r\n brands?.map((brand , index) => {\r\n return (\r\n filterCars(brand.name)}/>\r\n );\r\n })\r\n }\r\n\r\n filterCars(null)}/>\r\n
    \r\n \r\n \r\n {\r\n filteredCars.map((car,index)=>{\r\n if(parseFloat(car.minPrice) != '0'){\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}","import SwiperCore, { Pagination, Navigation, Autoplay } from \"swiper\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport config from '../configuration/config.json';\r\nimport { useHistory, useRouteMatch } from \"react-router\";\r\nimport { saveData, User_Data_Key, getData } from \"../utils/localStorageManager\";\r\nimport { forEach } from \"lodash\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay]);\r\nconst AdsBanner = () => {\r\n const [adsBanners, setAdsBanners] = useState([]);\r\n const { url } = useRouteMatch();\r\n const history = useHistory();\r\n useEffect(() => {\r\n async function fetchData() {\r\n\r\n var SiteFetchAdsBanners = [];\r\n\r\n // for (var i = 0; i <= 10; i++) {\r\n // try {\r\n // let data = [];\r\n // data = await JSON.parse(getData(\"SiteFetchAdsBanners-\" + i, true));\r\n // console.log(\"getData SiteFetchAdsBanners\", data);\r\n // if (data && data.length > 0) {\r\n // SiteFetchAdsBanners.push(data);\r\n // }\r\n // } catch (error) {\r\n // break;\r\n\r\n // }\r\n // }\r\n\r\n // if (SiteFetchAdsBanners && SiteFetchAdsBanners.length > 0) {\r\n // setAdsBanners(SiteFetchAdsBanners);\r\n // }\r\n\r\n\r\n try {\r\n const response = await axios.post(config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchAdsBanners\"\r\n });\r\n\r\n // if (JSON.stringify(SiteFetchAdsBanners) != JSON.stringify(response.data)) {\r\n console.log(\"axios SiteFetchAdsBanners\", response.data);\r\n\r\n setAdsBanners(response.data);\r\n\r\n // response.data.map((item,index2)=>{\r\n // console.log(\"SiteFetchAdsBanners-\"+index2, response.data.filter((item,index3) => index2 == index3));\r\n // saveData(\"SiteFetchAdsBanners-\"+index2, response.data.filter((item,index3) => index3 == 0), true);\r\n\r\n // })\r\n\r\n\r\n // }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n fetchData();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {\r\n adsBanners && (\r\n
    \r\n \r\n {\r\n adsBanners?.map((item, index) => {\r\n return (\r\n \r\n {\r\n if (item?.HasRedirect && item?.AdsUrl) {\r\n history.push(`${url}${item?.AdsUrl}`)\r\n }\r\n }}\r\n >\r\n
    \r\n \r\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 AdsBanner;","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport Slide from \"../../components/slide\";\r\nimport Info from \"../../components/_info\";\r\nimport IconText from \"../../components/iconText\";\r\nimport { TestimonialSection } from \"../../sections/testimonialSection\";\r\nimport { WhyHJSection } from \"../../sections/whyHJSection\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport HomeOfferSection from \"./sections/homeOfferSection\";\r\nimport HomeVehicleSection from \"./sections/homeVehicleSection\";\r\nimport AdsBanner from \"../../components/adsBanner\";\r\nimport { Loading } from '../loading/index';\r\nimport config from \"../../configuration/config.json\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport { saveData, User_Data_Key, getData } from \"../../utils/localStorageManager\";\r\nimport { Helmet } from \"react-helmet\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function Home() {\r\n const { t: trans, i18n } = useTranslation([\"common\", \"inputs\", \"offers\", \"home\", \"info\"]);\r\n\r\n const [cars, setCars] = useState([]);\r\n const [brands, setBrands] = useState([]);\r\n const [home, setHome] = useState({});\r\n const [offerPart, setOfferPart] = useState([]);\r\n const [offerPartFilters, setOfferPartFilters] = useState([]);\r\n const [offerVehicle, setOfferVehicle] = useState([]);\r\n const [offerVehicleFilters, setOfferVehicleFilters] = useState([]);\r\n const [slides, setSlides] = useState([]);\r\n const [hjInfo, setHjInfo] = useState(null);\r\n const lang = i18n.language;\r\n const [AddVich, setAddVich] = useState(false);\r\n // const [pageLOading, setPageLoading] = useState(true);\r\n const [isLoadingslides, setLoadingslides] = useState(true);\r\n const [isLoadingInfo, setLoadingInfo] = useState(true);\r\n const FetchAttachmentImage = async (GUIDList, FieldNameList) => {\r\n try {\r\n\r\n\r\n\r\n if (GUIDList)\r\n GUIDList = GUIDList.toString();\r\n\r\n\r\n\r\n\r\n if (FieldNameList)\r\n FieldNameList = FieldNameList.toString().replace(\"[,]\", \"\");\r\n\r\n\r\n const Body = {\r\n \"name\": \"App_FetchAttachmentImage\",\r\n \"values\": {\r\n \"GUIDList\": GUIDList,\r\n \"FieldNameList\": FieldNameList\r\n }\r\n }\r\n\r\n var respons = await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n }\r\n\r\n\r\n return respons;\r\n };\r\n useEffect(() => {\r\n callback();\r\n }, []);\r\n\r\n const callback = useCallback(async () => {\r\n // axios.defaults.timeout = 150000;\r\n\r\n var curentSlides;\r\n setLoadingslides(true);\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"slides\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n setSlides(data);\r\n curentSlides = data;\r\n setLoadingslides(false);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/slides\",\r\n method: \"get\",\r\n }).then(response => {\r\n\r\n setSlides(response.data.slides);\r\n curentSlides = response.data.slides;\r\n setLoadingslides(false);\r\n const data = new Response(JSON.stringify(curentSlides));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"slides\", data);\r\n\r\n });\r\n }\r\n\r\n }).catch(error => {\r\n setLoadingslides(false);\r\n });\r\n\r\n\r\n let curentInfo;\r\n try {\r\n\r\n\r\n setLoadingInfo(true);\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"siteHomePage\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n console.log(\"vcacheStorage\", cacheStorage);\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n console.log(\"data\", data);\r\n curentInfo = {\r\n title: data[`section1${trans(\"info:title\")}`],\r\n description: data[`section1${trans(\"info:description\")}`],\r\n image: data.section1Image\r\n }\r\n\r\n setHjInfo({ ...curentInfo });\r\n setLoadingInfo(false);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\": \"siteHomePage\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"section1TitleAr,section1TitleEn,section1DescAr,section1DescEn\"\r\n }\r\n ).then(response => {\r\n setLoadingInfo(false);\r\n const responseData = response.data.ApiObjectData;\r\n if (responseData.length > 0) {\r\n const firstResult = responseData[0];\r\n\r\n curentInfo = {\r\n title: firstResult[`section1${trans(\"info:title\")}`],\r\n description: firstResult[`section1${trans(\"info:description\")}`],\r\n image: firstResult.section1Image\r\n }\r\n\r\n setHjInfo({ ...curentInfo });\r\n const data = new Response(JSON.stringify(firstResult));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"siteHomePage\", data);\r\n\r\n });\r\n }\r\n }\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n setLoadingInfo(false);\r\n });\r\n\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n setLoadingInfo(false);\r\n }\r\n\r\n\r\n try {\r\n let homedata = [];\r\n if (\"caches\" in window) {\r\n var curl = \"/api/home/home\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n homedata = await cachedResponse?.json();\r\n\r\n }\r\n\r\n if(homedata){\r\n setBrands(homedata)\r\n\r\n }else{\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/home\",\r\n method: \"get\",\r\n }).then(response => {\r\n \r\n \r\n try {\r\n // setHome(response.data.home);\r\n setBrands(response.data.brands);\r\n \r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"/api/home/home\", new Response(JSON.stringify(response.data.brands)));\r\n \r\n });\r\n }\r\n } catch (error) {\r\n \r\n }\r\n \r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n \r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"vehicles-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n console.log(\"vcacheStorage\", cacheStorage);\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n console.log(\"data\", data);\r\n setCars(data.data.vehicles);\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/vehicles\",\r\n method: \"get\",\r\n }).then(response => {\r\n setCars(response?.data?.vehicles);\r\n const data = new Response(JSON.stringify(response));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"vehicles-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"HomeExtra-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n console.log(\"vcacheStorage\", cacheStorage);\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var response = await cachedResponse?.json();\r\n\r\n setOfferPart(response.data.offerPart);\r\n\r\n setOfferVehicle(response.data.offerVehicle);\r\n\r\n setOfferPartFilters(response.data.offerPartTypes);\r\n\r\n setOfferVehicleFilters(response.data.offerVehicleTypes);;\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeExtra\",\r\n method: \"get\",\r\n }).then(response => {\r\n\r\n\r\n setOfferPart(response.data.offerPart);\r\n\r\n setOfferVehicle(response.data.offerVehicle);\r\n\r\n setOfferPartFilters(response.data.offerPartTypes);\r\n\r\n\r\n setOfferVehicleFilters(response.data.offerVehicleTypes);\r\n\r\n const data = new Response(JSON.stringify(response));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"HomeExtra-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n try {\r\n\r\n if (curentInfo) {\r\n await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\": \"siteHomePage\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"section1Image\"\r\n }\r\n ).then(response => {\r\n const responseData = response.data.ApiObjectData;\r\n if (responseData.length > 0) {\r\n const firstResult = { ...curentInfo }\r\n\r\n firstResult.image = responseData[0].section1Image;\r\n\r\n setHjInfo(firstResult);\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n\r\n });\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n\r\n }\r\n\r\n\r\n\r\n }, [lang]);\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"Home\"\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n \r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n
    \r\n
    \r\n\r\n {\r\n isLoadingslides ? (\r\n\r\n <>\r\n \r\n\r\n \r\n\r\n\r\n ) : (\r\n\r\n {\r\n slide.update();\r\n }}\r\n >\r\n {\r\n slides?.map((slide, index) => {\r\n\r\n return (\r\n \r\n {\r\n setAddVich(true)\r\n }}\r\n end_Offer={slide.end_at}\r\n NewCar_DateEnd={slide.newCar_DateEnd}\r\n NewCar={slide.newCar}\r\n Hybird={slide.hybird}\r\n showPric={slide.showPric}\r\n viewSliderIcon={slide.viewSliderIcon}\r\n viewSliderDetails={slide.viewSliderDetails}\r\n viewBtns={slide.viewBtns}\r\n sliderBackOpasity={slide.sliderBackOpasity}\r\n />\r\n \r\n )\r\n })\r\n }\r\n\r\n \r\n\r\n )\r\n\r\n }\r\n
    \r\n\r\n\r\n {/*
    \r\n\r\n\r\n \r\n
    */}\r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n \r\n\r\n {\r\n cars &&\r\n \r\n }\r\n\r\n \r\n\r\n {/*----------------------Start offers sections------------------*/}\r\n {\r\n offerPart?.length > 0 && \r\n }\r\n {\r\n offerVehicle?.length > 0 && \r\n }\r\n {/*----------------------End offers sections------------------*/}\r\n\r\n
    \r\n\r\n\r\n {\r\n isLoadingInfo ? (\r\n\r\n <>\r\n \r\n\r\n \r\n\r\n\r\n ) : (\r\n (hjInfo) &&\r\n \r\n\r\n )\r\n\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 SimpleButton = ({ title = '', iconPath = null, hint = '', onClick, classes = 'bg-primary' , alt = \"\"}) => {\r\n return (\r\n
    {\r\n if (onClick) {\r\n onClick(e)\r\n }\r\n }}>\r\n\r\n {title}\r\n {iconPath && {title}\r\n
    \r\n )\r\n};\r\nexport default SimpleButton;","import { Link } from \"react-router-dom\";\r\nimport Moment from \"react-moment\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { now } from \"moment\";\r\nimport { Base64 } from 'js-base64';\r\nimport SimpleButton from \"./_input/SimpleButton\";\r\nimport config from \"../configuration/config.json\";\r\nimport { Price } from \"./__simple/_price\";\r\nfunction Banner({ background, subtitle, title, desc, secondImage, btn, offerDate, overlay = true, backOpasity, isOffer = false, handelButton, handelActicePackage, packages }) {\r\n const { t: trans } = useTranslation([\"offers\"]);\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const lang = localStorage.getItem('i18nextLng');\r\n const [acticePackage, setActicePackage] = useState(null);\r\n function showBtn() {\r\n if (btn != null) {\r\n return (\r\n \r\n {btn.text}\r\n \r\n )\r\n }\r\n }\r\n\r\n function onhandelActicePackage(data) {\r\n\r\n setActicePackage(data);\r\n handelActicePackage(data);\r\n\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n overlay ?
    \r\n\r\n
    : null\r\n }\r\n
    \r\n {\r\n (Base64.isValid(background) == 1 ?\r\n\r\n e.target.style.display = 'none'}\r\n alt={\"\"} /> :\r\n e.target.style.display = 'none'}\r\n alt={\"\"} />\r\n\r\n )\r\n // background ?\r\n // {title}\r\n // : null\r\n }\r\n
    \r\n\r\n
    \r\n\r\n {\r\n secondImage &&\r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    \r\n

    \r\n {subtitle}\r\n

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

    \r\n {title}\r\n

    \r\n

    \r\n {desc}\r\n

    \r\n\r\n {\r\n offerDate ?\r\n
    \r\n

    {trans(\"offers:end-in\")}

    \r\n \r\n

    {trans(\"offers:day\")}

    \r\n

    |

    \r\n

    {trans(\"offers:date\")}

    \r\n \r\n
    \r\n : null\r\n }\r\n\r\n
    \r\n {\r\n showBtn()\r\n }\r\n\r\n
    \r\n\r\n {\r\n packages && packages.length > 0 &&\r\n packages?.map((data, index) => {\r\n\r\n return (\r\n\r\n
    {\r\n if (acticePackage?.id == data?.id) {\r\n onhandelActicePackage(null);\r\n return;\r\n }\r\n onhandelActicePackage(data);\r\n\r\n }}\r\n\r\n >\r\n
    \r\n

    {data?.title}

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

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    \r\n\r\n {\r\n (isOffer == true) &&\r\n
    \r\n\r\n
    \r\n {\r\n if (handelButton)\r\n handelButton(\"reserve\");\r\n }}\r\n />\r\n\r\n
    \r\n
    \r\n {\r\n\r\n if (handelButton)\r\n handelButton(\"cart\");\r\n }} />\r\n
    \r\n
    \r\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 Banner;","import Offer from \"../components/offer\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {slugCombine} from '../utils/slugManager';\r\nexport function OfferSections({title, offersList, type, showMore = true}) {\r\n const {t: trans} = useTranslation([\"common\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n\r\n if (offersList == null || offersList.length === 0)\r\n return null;\r\n return (\r\n
    \r\n

    {title}

    \r\n
    \r\n {\r\n offersList?.map((offer,index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
    \r\n {\r\n showMore ?\r\n offersList?.length === 4 ?\r\n
    \r\n \r\n {trans(\"common:show-more\")}\r\n \r\n
    \r\n : null\r\n : null\r\n }\r\n\r\n
    \r\n );\r\n}","import {Link} from \"react-router-dom\";\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\nexport default function Breadcrumb({links, className}) {\r\n const {t: trans} = useTranslation(\"common\");\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n\r\n return (\r\n
    \r\n\r\n {trans(\"common:home\")}\r\n {\r\n links?.map((link,index) => {\r\n if(link != null&& link != \"null\") \r\n return ({link.name});\r\n })\r\n }\r\n
    \r\n );\r\n}\r\n\r\n","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport Banner from \"../../components/banner\";\r\nimport { OfferSections } from \"../../sections/offersSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function OfferPage() {\r\n\r\n const { t: trans } = useTranslation([\"common\"]);\r\n const [banner, setBanner] = useState({});\r\n const [offers, setOffers] = useState([]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n useEffect(() => {\r\n callback();\r\n }, []);\r\n\r\n const callback = useCallback(async () => {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"offers\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setBanner(data?.banner);\r\n setOffers(data?.offers);\r\n\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/offers/offers\",\r\n method: \"get\",\r\n });\r\n\r\n setBanner(response.data.banner);\r\n setOffers(response.data.offers);\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"offers\", Responsedata);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang]);\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"offers\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n \r\n
    \r\n \r\n
    \r\n {\r\n offers?.map(({ key, value }, index) => {\r\n return (\r\n \r\n\r\n );\r\n })\r\n }\r\n
    \r\n );\r\n}\r\n\r\n","import React, { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport ErrorLabel from '../error';\r\nexport function DateInput3({ name, title, placeholder = '', errorLabel, onSelect, type = \"date\", extraClasses = \"\", value, ...props }) {\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n const ref = useRef();\r\n return (\r\n\r\n
    \r\n {/* */}\r\n
    \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Fragment, useCallback, useEffect, useState, useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { useParams, useHistory, useLocation } from \"react-router\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { toast } from \"react-toastify\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { Price } from \"../../components/__simple/_price\";\r\n\r\nimport Joi from \"joi\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nexport function OfferServiceReservationByID() {\r\n const popRef = useRef(null);\r\n let { slug } = useParams();\r\n const { t: trans, i18n } = useTranslation([\"common\", \"offers\", \"extra\", \"eparts\",\"cartFile\"]);\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const [isLogin, setLogin] = useState(false);\r\n const [Branches, setBranches] = useState([]);\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [indexPanel, setIndexPanel] = useState(\"0000\");\r\n const [banner, setBanner] = useState({});\r\n const [orderReservation, setOrderReservation] = useState(null);\r\n const [Note, setNote] = useState(\"\");\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const [packages, setPackages] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [error, setError] = useState({});\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const location = useLocation();\r\n const history = useHistory();\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n name: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n name: Joi.string().required().messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = i18n.language;\r\n useEffect(() => {\r\n callback();\r\n FetchOfferSupportedServicesSacondry();\r\n FetchOfferSupportedVehicles();\r\n GetBranch();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n window.tamaraWidgetConfig = {\r\n lang: lang,\r\n country: \"SA\",\r\n publicKey: \"71258997-64ec-418a-9cba-0d3849fa219f\"\r\n }\r\n\r\n\r\n window.TamaraFAQsFrame.render({ lang: lang })\r\n } catch (error) {\r\n\r\n }\r\n\r\n let data = {};\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n } catch (error) {\r\n\r\n }\r\n try {\r\n\r\n if (getData('isAuthenticated'))\r\n setLogin(true);\r\n } catch (err) {\r\n //console.log(err);\r\n setLogin(false);\r\n }\r\n\r\n }, [lang]);\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showFinalPopup === true) {\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n setOrderReservation(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showFinalPopup]);\r\n\r\n const [fullDatetime, setFullDatetime] = useState(null);\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n var datetime = new moment(md).format('yyyy-MM-DD HH:mm:ss')\r\n // var datetime = md.toLocaleDateString(\"en-US\", { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }).replaceAll(',', '').replaceAll('/', '-');\r\n setFullDatetime(datetime);\r\n console.log(\"datetime:\", datetime);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n useEffect(() => {\r\n\r\n var ly = [];\r\n\r\n try {\r\n if (acticeCar?.fromYear && acticeCar?.toYear) {\r\n\r\n ly.push({ value: acticeCar.fromYear, text: acticeCar.fromYear });\r\n var newy = parseInt(acticeCar.fromYear);\r\n for (var i = 0; i <= 30; i++) {\r\n\r\n newy = parseInt(newy) + 1;\r\n\r\n ly.push({ value: newy, text: newy });\r\n\r\n if (newy >= acticeCar?.toYear) {\r\n\r\n break;\r\n }\r\n }\r\n setYears(ly);\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, [acticeCar]);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"detail-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setBanner(data?.banner)\r\n setPackages(data?.packages)\r\n setOffer(data?.offer)\r\n setOfferSupportedCars(data?.offerSupportedCars)\r\n setPackageSupportedCars(data?.packagesSupportedCars)\r\n\r\n if (data?.packages.length == 1) {\r\n\r\n setActicePackage(data?.packages[0]);\r\n }\r\n\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/offers/detail/\" + getCleanSlug(),\r\n method: \"get\",\r\n });\r\n setBanner(response.data.banner)\r\n setPackages(response.data.packages)\r\n setOffer(response.data.offer)\r\n setOfferSupportedCars(response.data.offerSupportedCars)\r\n setPackageSupportedCars(response.data.packagesSupportedCars)\r\n\r\n if (response.data.packages.length == 1) {\r\n\r\n setActicePackage(response.data.packages[0]);\r\n }\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"detail-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang, slug])\r\n\r\n const FetchOfferSupportedServicesSacondry = useCallback(async () => {\r\n try {\r\n const cslug = await getCleanSlug();\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //Site_FetchOfferSupportedServices\r\n \"name\": \"Site_FetchOfferSupportedServices\",\r\n \"values\": {\r\n \"slug\": cslug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n });\r\n\r\n } catch (error) {\r\n }\r\n\r\n }, []);\r\n const [SupportedServices, setSupportedServices] = useState([]);\r\n const [SupportedMainServices, setSupportedMainServices] = useState([]);\r\n const [SupportedLastsServices, setSupportedLastsServices] = useState([]);\r\n const [isLoadingSupportedServices, setLoadingSupportedServices] = useState(true);\r\n\r\n const [SupportedVehicles, setSupportedVehicles] = useState([]);\r\n const [isLoadingSupportedVehicles, setLoadingSupportedVehicles] = useState(true);\r\n const FetchOfferSupportedVehicles = useCallback(async () => {\r\n try {\r\n setLoadingSupportedVehicles(true);\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_FetchOfferSupportedVehicles-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setSupportedVehicles(data);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FetchOfferSupportedVehicles\",\r\n \"values\": {\r\n \"slug\": getCleanSlug()\r\n\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n setSupportedVehicles(response.data);\r\n setLoadingSupportedVehicles(false);\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedVehicles-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n\r\n }, []);\r\n\r\n\r\n function SendResreve(VIN, MainServiceID, subServiceID, TypeServiceID, ServecID, ModelCode, UserID, Amount) {\r\n var thisSchema = null;\r\n\r\n thisSchema = notLoginSchema;\r\n\r\n const result = formValidate(thisSchema, requestForm) ?? {};\r\n\r\n setError(result);\r\n\r\n console.log(\"result:>>>>:\", result);\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n if (SupportedLastsServices?.length <= 0) {\r\n\r\n toast.warn(trans(\"offers:services_supported\") + \" (0)\");\r\n return;\r\n }\r\n\r\n setIsSendeng(true);\r\n\r\n var ServicesList = \"\";\r\n SupportedLastsServices.map((a) => {\r\n\r\n ServicesList += a.ServiceID + \",\"\r\n\r\n\r\n });\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": requestForm?.VIN,\r\n \"Model\": acticeCar?.type,\r\n \"Year\": requestForm?.year ? requestForm?.year + \"\" : null,\r\n \"CarType\": acticeCar?.modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"MainServiceID\": MainServiceID,\r\n \"subServiceID\": subServiceID,\r\n \"TypeServiceID\": TypeServiceID,\r\n \"ServiceID\": ServecID,\r\n \"RequiredServicesList\": ServicesList,\r\n \"Note\": Note,\r\n\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.name,\r\n \"phone\": requestForm?.phone,\r\n \"Email\": requestForm?.email,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n \"PackageId\": acticeCar?.packageId ? acticeCar?.packageId + \"\" : null\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n if (response?.data?.OrderID) {\r\n setResOrderID(response?.data?.OrderID);\r\n setOrderReservation(raw);\r\n }\r\n\r\n\r\n setShowFinalPopup(true);\r\n\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n if (acticeCar?.packageId && SupportedLastsServices && SupportedLastsServices.length > 0 &&\r\n requestForm?.year && requestForm?.name && requestForm?.time && requestForm?.date) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, SupportedLastsServices, acticeCar?.packageId]);\r\n\r\n\r\n return (\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n (acticeCar?.brandID == 1) ?\r\n <>\r\n {acticeCar?.brandID}\r\n \r\n :\r\n (\r\n (acticeCar?.brandID == 2) ?\r\n <>\r\n {acticeCar?.brandID}\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 if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"offer-service-reservation-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {banner?.type}

    \r\n\r\n

    {banner?.title}

    \r\n

    {banner?.excerpt}

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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 val = { ...requestForm };\r\n val.name = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\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 val = { ...requestForm };\r\n if (phoneNumber)\r\n val.phone = `+${countryCode}${phoneNumber}`;\r\n else\r\n val.phone = \"\";\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n {\r\n packages && packages.length > 0 &&\r\n packages?.map((data, _index) => {\r\n return (\r\n
    \r\n
    \r\n
    {\r\n\r\n\r\n setIndexPanel(null);\r\n setActicePackage(null);\r\n if (indexPanel != data?.id) {\r\n setIndexPanel(data?.id);\r\n setActicePackage(data);\r\n const val = { ...requestForm };\r\n val.model = null;\r\n val.year = null;\r\n setRequestForm(val);\r\n setActiceCar(null);\r\n }\r\n }}\r\n\r\n\r\n >\r\n
    \r\n

    \r\n {data?.title}

    \r\n\r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n \r\n\r\n }\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n );\r\n })\r\n\r\n }\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n a.packageId == acticePackage?.id)).map(B => {\r\n return { value: B.slug, text: ((lang == \"ar\" ? B?.brand : B?.brandEn) + \" \" + (lang == \"ar\" ? B?.group : B?.groupEn)) };\r\n })]}\r\n onSelect={(value) => {\r\n\r\n console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.model = value;\r\n val.year = null;\r\n setRequestForm(val);\r\n\r\n var car = (SupportedVehicles.filter(a => a.slug == value))[0];\r\n\r\n\r\n if (car) {\r\n\r\n setActiceCar(car);\r\n }\r\n\r\n }}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.year = value + \"\";\r\n setRequestForm(val);\r\n }}\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 val = { ...requestForm };\r\n val.VIN = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n
    \r\n\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n //////console.log(\"onSelect:\", value);\r\n const val = {};\r\n val.SiteID = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n\r\n\r\n />\r\n\r\n \r\n
    \r\n \"user\r\n
    \r\n
    \r\n\r\n
    \r\n\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 val = { ...requestForm };\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm(val);\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = { ...requestForm };\r\n val.time = value;\r\n setRequestForm(val);\r\n }}\r\n className=\"w-100\"\r\n\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n // withPortal\r\n dateFormat=\"hh:mm aa\"\r\n // showTimeInput\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n\r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n {\r\n\r\n <>\r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")} onClick={() => {\r\n\r\n var cleanData = {};\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(acticeCar?.type, acticeService?.mainService, acticeService?.subService1, acticeService?.subService2, acticeService?.ServiceID, null, cleanData?.custID, acticePackage?.price);\r\n\r\n }}>\r\n {\r\n trans(\"info:reserve\")\r\n\r\n }\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n }\r\n\r\n \r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n\r\n {acticeCar &&\r\n
    \r\n \r\n {((lang == \"ar\" ? acticeCar?.brand : acticeCar?.brandEn) + \" \" + (lang == \"ar\" ? acticeCar?.group : acticeCar?.groupEn))}\r\n {` (${orderReservation?.Year}) `}\r\n
    \r\n }\r\n\r\n\r\n
    \r\n {trans(\"form:maintenance-date\")}: \r\n {orderReservation?.DateIn ?\r\n moment(orderReservation?.DateIn).format('YYYY-MM-DD')\r\n : moment(requestForm?.date).format('YYYY-MM-DD')} \r\n
    \r\n
    \r\n {trans(\"form:maintenance-time\")}: \r\n \r\n {\r\n orderReservation?.DateIn ? moment(orderReservation?.DateIn).format('hh:mm A')\r\n : moment(requestForm?.time).format('hh:mm A')} \r\n
    \r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \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 {Link} from \"react-router-dom\";\r\nimport Moment from \"react-moment\";\r\nimport { Trans, useTranslation } from \"react-i18next\";\r\n\r\nfunction News({image, title, date, desc, link, brand}) {\r\n const {t: trans} = useTranslation([\"common\"]);\r\n function tag(brand) {\r\n if (brand === \"toyota\" || brand === \"تويوتا\") {\r\n return ({brand});\r\n } else {\r\n return ({brand});\r\n }\r\n }\r\n\r\n return (\r\n \r\n\r\n\r\n
    \r\n
    \r\n \"\"/\r\n {tag(brand)}\r\n
    \r\n
    \r\n

    {title}

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

    \r\n {desc}\r\n

    \r\n\r\n
    \r\n
    \r\n {trans(\"common:show-more\")}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default News;","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nfunction NewsBanner({background, title, desc, link}) {\r\n const {t: trans} = useTranslation(\"common\");\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-'+lang;\r\n return (\r\n
    \r\n \r\n
    \r\n {title}/\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {title}\r\n

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

    \r\n {desc}\r\n

    \r\n
    \r\n
    \r\n\r\n \r\n {trans('read-more')}\r\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 NewsBanner;","import {Fragment, useEffect, useState} from \"react\";\r\nimport News from \"./components/news\";\r\nimport NewsBanner from \"./components/newsBanner\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport Loader from \"react-loader-spinner\";\r\nimport {useHistory, useParams} from \"react-router\";\r\nimport Pagination from \"react-js-pagination\";\r\nimport SwiperCore, {Pagination as SlidePagination, Navigation, Autoplay, EffectFade} from \"swiper\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {FilterButton} from \"../../components/__simple/_filterButton\";\r\nimport axios from \"axios\";\r\nimport {slugCombine} from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nSwiperCore.use([SlidePagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function NewsPage() {\r\n const {page = 1} = useParams();\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n \r\n const [activePage, setActivePage] = useState(0);\r\n let history = useHistory();\r\n\r\n const {t: trans} = useTranslation([\"inputs\", \"heading\",\"info\"]);\r\n // const news = useSelector(state => state.entities.news.items);\r\n\r\n const [news, setNews] = useState([]);\r\n // news shown in the slider\r\n const [sliderNews, setSliderNews] = useState([]);\r\n\r\n // the news filters\r\n const [newsFilter, setNewsFilter] = useState([]);\r\n\r\n const [filter, setFilter] = useState(null);\r\n\r\n const [filteredNews, setFilteredNews] = useState(news);\r\n\r\n const [dataStatus, setDataStatus] = useState(0);\r\n const [itemCount, setItemCount] = useState(0);\r\n\r\n useEffect(async () => {\r\n setDataStatus(1);\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/news/news/\" + page,\r\n method: \"get\",\r\n });\r\n\r\n setItemCount(response.data.totalItemsCount);\r\n setNews(response.data.news);\r\n setSliderNews(response.data.sliderNews);\r\n setNewsFilter(response.data.filters);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n setActivePage(parseInt(page));\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n setFilteredNews(news);\r\n }, [news])\r\n\r\n function filterNews(brand) {\r\n setFilter(brand);\r\n let filterData;\r\n if (brand != null)\r\n filterData = news.filter((data) => {\r\n return data.brand === brand;\r\n });\r\n else {\r\n filterData = news;\r\n }\r\n setFilteredNews(filterData);\r\n }\r\n\r\n if (itemCount === 0)\r\n return (\r\n
    \r\n {/**/}\r\n
    \r\n );\r\n else if (dataStatus === 1)\r\n return (\r\n\r\n \r\n \r\n {\r\n sliderNews.map((data) => {\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 newsFilter?.map((_filter) => {\r\n return (\r\n filterNews(_filter.content)}\r\n />\r\n );\r\n })\r\n }\r\n\r\n filterNews(null)}/>\r\n
    \r\n \r\n\r\n
    \r\n\r\n {\r\n filteredNews.map((data) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
    \r\n {itemCount > 4 && {\r\n history.push('/news/' + number);\r\n }}\r\n />\r\n}\r\n
    \r\n
    \r\n );\r\n else\r\n return (\"error happened\");\r\n}","import {Fragment, useEffect, useState} from \"react\";\r\nimport News from \"./components/news\";\r\nimport SwiperCore, {Pagination, Navigation, Autoplay, EffectFade} from \"swiper\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport axios from \"axios\";\r\nimport {useParams, useHistory} from \"react-router\";\r\nimport Moment from \"react-moment\";\r\nimport {slugSplitter,slugCombine} from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\n// import { useHistory } from 'react-router-dom';\r\n\r\nexport function NewsDetailPage() {\r\n const {t: trans} = useTranslation([\"heading\",\"info\"]);\r\n let {slug} = useParams();\r\n const [detail, setDetail] = useState({title: \"\"});\r\n const [news, setNews] = useState([{},{}]);\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n\r\n // // let history = useHistory();\r\n // // let history = window.history;\r\n //\r\n // useEffect(() => {\r\n // console.log(\"history.url.includes(): \", window.location.pathname);\r\n // // console.log(\"history: \", history.location.pathname);\r\n //\r\n // // history.push('/news',['Test'])\r\n // if(window.location.pathname.includes(\"/news/detail/\")){\r\n // window.history.pushState([slugSplitter(slug)],'/news', '/news1');\r\n // }\r\n // }, [slug]);\r\n //\r\n // const handlePopstate = () => {\r\n // // يتم تحديث العنوان عند الرجوع في المتصفح\r\n // window.history.pushState([slug], '/news1', '/news');\r\n // window.location.reload();\r\n // };\r\n // // استمع لحدث popstate عند الرجوع في المتصفح\r\n // window.addEventListener('popstate', handlePopstate);\r\n \r\n \r\n useEffect(async () => {\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang+\"/api/news/detail/\" + slugSplitter(slug),\r\n method: \"get\",\r\n });\r\n \r\n setDetail(response.data.detail)\r\n setNews(response.data.latestNews)\r\n \r\n } catch (error) {\r\n\r\n }\r\n }, [slugSplitter(slug)])\r\n \r\n return (\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {news.title}/\r\n
    \r\n \r\n
    \r\n \r\n

    \r\n {detail.title}\r\n

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

    \r\n {detail?.content}\r\n

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

    {trans('info:last-news')}

    \r\n
    \r\n {\r\n news?.map((data) => {\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}","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function Job({title, location, job, desc, link, titleLink}) {\r\n const {t: trans, i18n} = useTranslation(\"common\");\r\n const languageDir = 'language-' + i18n.language;\r\n return (\r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    {title}

    \r\n
    \r\n \r\n
    {location}
    \r\n \r\n
    {job}
    \r\n
    \r\n {/*
    */}\r\n {/*

    {title}

    */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    {location}
    */}\r\n {/*
    {job}
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n
    \r\n\r\n

    \r\n {desc}\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n {titleLink ?? trans(\"show-more\")}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\n\r\nexport function JobFilters({ jobDepartments, jobBranches, departmentFilter, branchFilter, onSearchClick }) {\r\n const { t: trans } = useTranslation([\"form\", \"new\", \"employment\"]);\r\n return (\r\n
    \r\n {\r\n }}\r\n title={trans(\"new:job\")}\r\n className={\"flex-grow-1 job-dropdown\"}\r\n inputName={\"job-department\"}\r\n options={\r\n jobDepartments ?\r\n [\r\n ...jobDepartments?.map((job) => {\r\n return {\r\n text: job.content,\r\n value: job.name\r\n }\r\n })\r\n ]\r\n : []\r\n }\r\n isSecondary={true}\r\n onfilter={departmentFilter}\r\n />\r\n\r\n {\r\n }}\r\n title={trans('employment:branch')}\r\n className={\"flex-grow-1 job-dropdown\"}\r\n options={\r\n jobBranches ?\r\n [\r\n ...jobBranches.map((job) => {\r\n return {\r\n text: job.content,\r\n value: job.name\r\n }\r\n })\r\n ]:[]}\r\n isSecondary={true}\r\n onfilter={branchFilter}\r\n />\r\n \r\n {trans(\"form:search\")}\r\n \r\n
    \r\n\r\n\r\n );\r\n}\r\n\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport { Job } from \"./components/job\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport axios from \"axios\";\r\nimport { useHistory, useLocation, useParams } from \"react-router\";\r\nimport Pagination from \"react-js-pagination\";\r\nimport { JobFilters } from \"./components/filters\";\r\nimport { slugCombine } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function EmploymentPage() {\r\n const { t: trans, i18n } = useTranslation([\"common\", \"heading\", \"inputs\", \"employment\"]);\r\n const { page = 1 } = useParams();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const query = new URLSearchParams(location.search);\r\n\r\n const [itemCount, setItemCount] = useState(0);\r\n const [banner, setBanner] = useState({});\r\n const [jobs, setJobs] = useState([]);\r\n const [jobDepartments, setJobDepartments] = useState([])\r\n const [jobBranches, setJobBranches] = useState([]);\r\n const [activePage, setActivePage] = useState(0);\r\n const lang = i18n.language;\r\n\r\n const [dept, setDept] = useState(query.get(\"dept\") ?? \"\");\r\n const [branch, setBranch] = useState(query.get(\"branch\") ?? \"\");\r\n\r\n useEffect(async () => {\r\n try {\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"employment-\" + page + dept + branch;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash) {\r\n setItemCount(datacash.totalItemsCount);\r\n setBanner(datacash.banner);\r\n setJobs(datacash.employments);\r\n setJobDepartments(datacash.jobDepartments);\r\n setJobBranches(datacash.jobBranches);\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/employment/\" + page + \"?dept=\" + dept + \"&branch=\" + branch,\r\n method: \"get\",\r\n });\r\n setItemCount(response.data.totalItemsCount);\r\n setBanner(response.data.banner);\r\n setJobs(response.data.employments);\r\n setJobDepartments(response.data.jobDepartments);\r\n setJobBranches(response.data.jobBranches);\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"employment-\" + page + dept + branch, dataResponse);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n setActivePage(parseInt(page));\r\n }, [lang, page, location]);\r\n\r\n function departmentFilter(option) {\r\n setDept(option.value);\r\n }\r\n\r\n function branchFilter(option) {\r\n setBranch(option.value);\r\n }\r\n\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"Employment\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n \r\n\r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n \r\n\r\n {\r\n history.push(\"/employment/\" + page + \"?dept=\" + dept + \"&branch=\" + branch);\r\n }}\r\n />\r\n
    \r\n\r\n \r\n
    \r\n\r\n {\r\n jobs?.map((job) => {\r\n return (\r\n \r\n\r\n );\r\n })\r\n }\r\n
    \r\n {\r\n itemCount > 10 &&\r\n {\r\n console.log('Page number', number);\r\n history.push(\"/employment/\" + number + \"?dept=\" + dept + \"&branch=\" + branch,);\r\n }}\r\n />\r\n\r\n }\r\n\r\n\r\n
    \r\n
    \r\n );\r\n}","import React, { useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport ErrorLabel from '../../components/error';\r\nexport function DateInput2({ name, title, placeholder = '', errorLabel, onSelect, type = \"date\", extraClasses = \"\", value, ...props }) {\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n const ref = useRef();\r\n return (\r\n\r\n
    \r\n\r\n {\r\n title &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport function RadioInput({ name, title, groupName, selectValue,value1, text1, value2, text2, errorLabel, onChangeValue, disabled = false }) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const [radioSelectValue, setRadioSelectValue] = useState(selectValue);\r\n useEffect(() => {\r\n setRadioSelectValue(selectValue);\r\n }, [selectValue]);\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\r\n value1 != null ?\r\n \r\n :null\r\n }\r\n\r\n {\r\n value2 != null ?\r\n \r\n :null\r\n }\r\n\r\n
    \r\n
    \r\n );\r\n}\r\n","export function UploadControl({ name, errorLabel, title, value, onPicker, accept = '*', placeholder ,extraClasses}) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n return (\r\n \r\n );\r\n}\r\n","import { Fragment, useEffect, useState, useCallback } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { FileInput } from \"../../components/_input/_fileInput\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { RadioInput } from \"../../components/_input/_radioInput\";\r\nimport { UploadControl } from \"../../components/_input/_uploadControl\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { toast } from 'react-toastify';\r\nimport ErrorLabel from '../../components/error';\r\nimport axios from \"axios\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate, } from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { reverse } from \"lodash\";\r\nimport moment from 'moment';\r\n\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function EmploymentDetailPage() {\r\n const { t: trans, i18n } = useTranslation([\"common\", \"employment\", \"heading\", \"inputs\", \"model\", \"new\"]);\r\n const [requestForm, setRequestForm] = useState({\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n email: '',\r\n selectedGender: '',\r\n selectedNationality: '',\r\n chooseDateOfBirth: '',\r\n selectedStatus: '',\r\n selectedLanguageLevel: '',\r\n selectedComputerLevel: '',\r\n selectedDegree: '',\r\n chooseGraduation: '',\r\n file: '',\r\n note: ''\r\n });\r\n const [skillsList, setSkillsList] = useState([{}]);\r\n const [certificationList, setCertificationList] = useState([{}]);\r\n const [statusList, setStatusList] = useState({});\r\n const schema = Joi.object({\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n chooseDateOfBirth: Joi.string().required().messages(GetMessages()),\r\n chooseGraduation: Joi.string().required().messages(GetMessages()),\r\n selectedGender: Joi.string().required().messages(GetMessages()),\r\n selectedNationality: Joi.string().required().messages(GetMessages()),\r\n selectedLanguageLevel: Joi.string().required().messages(GetMessages()),\r\n selectedComputerLevel: Joi.string().required().messages(GetMessages()),\r\n selectedDegree: Joi.string().required().messages(GetMessages()),\r\n selectedStatus: Joi.string().required().messages(GetMessages()),\r\n file: Joi.string().required().messages(GetMessages()),\r\n });\r\n const [error, setError] = useState({});\r\n const [nationalitiesList, setNationalities] = useState([{}]);\r\n const [gender, setGender] = useState({});\r\n const [employment, setEmployment] = useState({ title: \"\" });\r\n const lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n const toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n const getYears = (start, end) => {\r\n let result = [];\r\n for (let index = start; index <= end; index++) {\r\n result.push({\r\n value: String(index), text: String(index)\r\n });\r\n }\r\n return reverse(result);\r\n };\r\n\r\n const [isLoadingBtnSend, setIsLoadingBtnSend] = useState(false);\r\n const submitRequest = async (e) => {\r\n e.preventDefault();\r\n const result = formValidate(schema, requestForm) ?? {};\r\n setError(result);\r\n try {\r\n if (Object.keys(result).length === 0 && isLoadingBtnSend ==false) {\r\n setIsLoadingBtnSend(true);\r\n if (!(await isDataSentBefore(requestForm.email, requestForm.phoneNumber))) {\r\n \r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteEmployment_applyments\",\r\n \"values\": {\r\n \"employmentId\": parseInt(employment.id),\r\n \"firstName\": requestForm.firstName,\r\n \"lastName\": requestForm.lastName,\r\n \"phoneNumber\": requestForm.phoneNumber,\r\n \"email\": requestForm.email,\r\n \"nationality\": requestForm.selectedNationality,\r\n \"brithDate\": requestForm.chooseDateOfBirth,\r\n \"gender\": requestForm.selectedGender,\r\n \"maritalStatus\": requestForm.selectedStatus,\r\n \"englishLevel\": requestForm.selectedLanguageLevel,\r\n \"computerLevel\": requestForm.selectedComputerLevel,\r\n \"degree\": requestForm.selectedDegree,\r\n \"graduationYear\": parseInt(requestForm.chooseGraduation),\r\n \"notes\": requestForm.note,\r\n \"cvFile\": requestForm.file,\r\n \"PositionID\":employment.positionId ? parseInt(employment.positionId):null\r\n // \"ApplyDate\": moment().format('YYYY-MM-DD HH:mm:ss.SSS')\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n setIsLoadingBtnSend(false);\r\n const defaultValue = { ...requestForm };\r\n setRequestForm({\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n email: '',\r\n selectedGender: defaultValue.selectedGender,\r\n selectedNationality: defaultValue.selectedNationality,\r\n chooseDateOfBirth: '',\r\n selectedStatus: defaultValue.selectedStatus,\r\n selectedLanguageLevel: defaultValue.selectedLanguageLevel,\r\n selectedComputerLevel: defaultValue.selectedComputerLevel,\r\n selectedDegree: defaultValue.selectedDegree,\r\n chooseGraduation: defaultValue.chooseGraduation,\r\n file: defaultValue.file,\r\n note: ''\r\n });\r\n setError({});\r\n toast.success(trans(\"employment:success_employment_success\"));\r\n //alert(trans(\"employment:success_employment_success\"));\r\n }else {\r\n setIsLoadingBtnSend(false);\r\n }\r\n } else {\r\n setIsLoadingBtnSend(false);\r\n toast.error(trans(\"employment:data-sent-before\"));\r\n }\r\n }\r\n } catch (e) {\r\n setIsLoadingBtnSend(false);\r\n console.log(e);\r\n }\r\n\r\n };\r\n const isDataSentBefore = async (email, phone) => {\r\n let isExisted = false;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_applyments\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n // \"Filters\": `Where employmentId = ${parseInt(employment.id)} and (email = '${email}' or phoneNumber = '${phone}') and PositionID =${parseInt(employment.positionId)} `\r\n \"Filters\": `Where (email = '${email}' or phoneNumber = '${phone}') `\r\n }\r\n );\r\n if (response.status == 200) {\r\n isExisted = response.data.ApiObjectData.length > 0;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return isExisted;\r\n };\r\n useEffect(() => {\r\n callback();\r\n }, []);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/detail/\" + getCleanSlug(),\r\n method: \"get\",\r\n });\r\n\r\n console.log('res', response);\r\n\r\n setEmployment(response.data)\r\n\r\n const nationalitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"Sys_Nationalities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n if (nationalitiesResponse?.data?.ApiObjectData[0])\r\n setNationalities(nationalitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Gender' \"\r\n }\r\n );\r\n //*************************************************************************************************************************\r\n if (genderResponse?.data?.ApiObjectData[0])\r\n setGender({ value1: genderResponse.data.ApiObjectData[0].ID, value2: genderResponse.data.ApiObjectData[1].ID });\r\n\r\n const skillsResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteSkillsLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n console.log('skills', skillsResponse);\r\n //***************************************************************************************************************************\r\n if (skillsResponse?.data?.ApiObjectData)\r\n setSkillsList(skillsResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteCertificateLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n setCertificationList(certificationResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Marital Status'\"\r\n }\r\n );\r\n setStatusList({ value1: statusResponse.data.ApiObjectData[0].ID, value2: statusResponse.data.ApiObjectData[1].ID });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang]);\r\n\r\n return (\r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {trans(\"employment:roles\")}\r\n
    \r\n {\r\n\r\n employment?.role &&\r\n
      \" + employment.role?.replaceAll(\"\\n\", \"
    • \") + \"
    • \"\r\n }}>\r\n\r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {trans(\"employment:skills\")}\r\n
    \r\n\r\n {\r\n employment?.skill &&\r\n
      \" + employment.skill?.replaceAll(\"\\n\\n\", \"\\n\").replaceAll(\"\\n\", \"
    • \") + \"
    • \"\r\n }}>\r\n\r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {trans(\"employment:additional\")}\r\n
    \r\n\r\n {\r\n employment?.additional &&\r\n
      \" + employment.additional?.replaceAll(\"\\n\\n\", \"\\n\").replaceAll(\"\\n\", \"
    • \") + \"
    • \"\r\n }}>\r\n\r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {\r\n submitRequest(e);\r\n }}>\r\n {\r\n const val = { ...requestForm };\r\n val.firstName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='firstName'\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.lastName = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.lastName}\r\n name='lastName'\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.email}\r\n name='email'\r\n />\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.selectedGender = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }}\r\n name=\"selectedGender\"\r\n groupName=\"Gender\"\r\n title={trans(\"employment:type\")}\r\n value1={gender.value1}\r\n text1={trans(\"employment:man\")}\r\n text2={trans(\"employment:female\")}\r\n value2={gender.value2}\r\n errorLabel={error.selectedGender}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.selectedStatus = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }\r\n }\r\n name=\"selectedStatus\"\r\n groupName=\"SocialStatus\"\r\n title={trans(\"employment:state\")}\r\n text1={trans(\"employment:marred\")}\r\n value1={statusList.value1}\r\n text2={trans(\"employment:single\")}\r\n value2={statusList.value2}\r\n errorLabel={error.selectedStatus}\r\n />\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.selectedNationality = String(e);\r\n console.log(e);\r\n setRequestForm(val);\r\n }}\r\n name='selectedNationality'\r\n className={\"flex-grow-1\"}\r\n placeholder={trans(\"employment:nationalte\")}\r\n options={[...nationalitiesList]}\r\n errorLabel={error.selectedNationality}\r\n defaultOption={{ value: \"SAU\", text: lang == \"ar\" ? \"سعودي / سعودية\" : \"Kingdom of Saudi Arabia\" }}\r\n\r\n\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.chooseDateOfBirth = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='chooseDateOfBirth'\r\n placeholder={trans(\"employment:birthday\")}\r\n\r\n errorLabel={error.chooseDateOfBirth}\r\n />\r\n\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedLanguageLevel = String(e);\r\n setRequestForm(val);\r\n }}\r\n name='selectedLanguageLevel'\r\n className={\"flex-grow-1\"}\r\n options={[...skillsList]}\r\n errorLabel={error.selectedLanguageLevel}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedComputerLevel = String(e);\r\n setRequestForm(val);\r\n }}\r\n name='selectedComputerLevel'\r\n className={\"flex-grow-1 \"}\r\n options={[...skillsList]}\r\n errorLabel={error.selectedComputerLevel}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.selectedDegree = String(e);\r\n setRequestForm(val);\r\n }}\r\n name='selectedDegree'\r\n className={\"flex-grow-1\"}\r\n options={[...certificationList]}\r\n errorLabel={error.selectedDegree}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.chooseGraduation = String(e);\r\n setRequestForm(val);\r\n }}\r\n className={\"flex-grow-1\"}\r\n errorLabel={error.chooseGraduation}\r\n name='chooseGraduation'\r\n options={[...getYears(1960, new Date().getFullYear())]}\r\n />\r\n {/* {\r\n if (e.target.value.length > 0) {\r\n let file = e.target.files[0];\r\n const size = file.size;\r\n const finalCheck = Math.round((size / 1024));\r\n if (finalCheck >= 4096) {\r\n toast.error(trans('new:file_size_error'));\r\n return;\r\n }\r\n const val = { ...requestForm };\r\n const fileBase64 = await toBase64(file);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.file = finalFile;\r\n setRequestForm(val);\r\n }\r\n }\r\n }\r\n name='file'\r\n title={trans(\"employment:fileCV\")}\r\n /> */}\r\n\r\n\r\n
    \r\n\r\n {/* */}\r\n {\r\n const { target } = e;\r\n const { files } = target;\r\n const loadedImage = files[0];\r\n\r\n // loadedImage will be a image file.\r\n if (target.value && loadedImage?.name) {\r\n const size = loadedImage.size;\r\n const finalCheck = Math.round((size / 1024));\r\n if (finalCheck >= 4096) {\r\n toast.error(trans('new:file_size_error'));\r\n return;\r\n }\r\n\r\n const val = { ...requestForm };\r\n val.fileName = loadedImage?.name;\r\n const fileBase64 = await toBase64(loadedImage);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.file = finalFile;\r\n setRequestForm(val);\r\n } else {\r\n const val = { ...requestForm };\r\n val.file = \"\";\r\n val.fileName = \"\";\r\n setRequestForm(val);\r\n }\r\n }} accept=\"*\" />\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.note = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='note'\r\n placeholder={trans(\"employment:note\")}\r\n />\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}\r\n","import ErrorLabel from '../../components/error';\r\nimport { useEffect, useState } from \"react\";\r\nexport function RadioInputDynamic({ name, title, selectValue, groupName, ListValues, errorLabel, onChangeValue, disabled = false }) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const [radioSelectValue, setRadioSelectValue] = useState(selectValue);\r\n useEffect(() => {\r\n setRadioSelectValue(selectValue);\r\n }, [selectValue]);\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {ListValues?.map((item, index) => (\r\n item && (\r\n \r\n )\r\n ))}\r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { Fragment, useEffect, useState, useCallback } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useParams, useHistory, useLocation } from \"react-router-dom\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { RadioInput } from \"../../components/_input/_radioInput\";\r\nimport { RadioInputDynamic } from \"../../components/_input/_radioInputDynamic\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { toast } from 'react-toastify';\r\nimport axios from \"axios\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport Popup from \"../../User/popup\";\r\nimport Joi from \"joi\";\r\nimport moment from \"moment\";\r\nimport { GetMessages, formValidate, } from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { reverse } from \"lodash\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function EmploymentApplicationFormPage() {\r\n const { id } = useParams();\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n const { t: trans, i18n } = useTranslation([\"common\", \"employment\", \"heading\", \"inputs\", \"model\", \"new\"]);\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const [showFinalPopupMessage, setShowFinalPopupMessage] = useState(\"\");\r\n const [requestForm, setRequestForm] = useState({ selectedNationality: \"SAU\" });\r\n const [skillsList, setSkillsList] = useState([{}]);\r\n const [certificationList, setCertificationList] = useState([{}]);\r\n const [statusList, setStatusList] = useState({});\r\n const [phoneNumberApplicants, setPhoneNumberApplicants] = useState([]);\r\n const [emailApplicants, setEmailApplicants] = useState([]);\r\n const [reject, setReject] = useState(true);\r\n const history = useHistory();\r\n const formatDate = { year: 'numeric', month: '2-digit', day: '2-digit', weekday: \"long\", hour: '2-digit', hour12: true, minute: '2-digit' };\r\n const schema_Reject = Joi.object({\r\n note: Joi.string().required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n });\r\n const schema_1 = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n cardNumber: Joi.string().min(10).required().messages(GetMessages()),\r\n cardExpiryDate: Joi.string().required().messages(GetMessages()),\r\n placeResidence: Joi.string().required().messages(GetMessages()),\r\n numberWives: Joi.string().required().messages(GetMessages()),\r\n numberChildren: Joi.string().required().messages(GetMessages()),\r\n chooseDateOfBirth: Joi.string().required().messages(GetMessages()),\r\n selectedStatus: Joi.string().required().messages(GetMessages()),\r\n selectedGender: Joi.string().required().messages(GetMessages()),\r\n selectedjob: Joi.string().required().messages(GetMessages()),\r\n dateReadyToJob: Joi.string().required().messages(GetMessages()),\r\n workedOurCompany: Joi.string().required().messages(GetMessages()),\r\n salaryToFrenchBank: Joi.string().required().messages(GetMessages()),\r\n socialSecurity: Joi.string().required().messages(GetMessages()),\r\n medicalInsurance: Joi.string().required().messages(GetMessages()),\r\n applyVia: Joi.string().required().messages(GetMessages()),\r\n selectedNationality: Joi.string().required().messages(GetMessages()),\r\n City: Joi.string().required().messages(GetMessages()),\r\n\r\n });\r\n const schema_2 = Joi.object({\r\n\r\n durationStudy: Joi.string().required().messages(GetMessages()),\r\n specialty: Joi.string().required().messages(GetMessages()),\r\n yearOuter: Joi.string().required().messages(GetMessages()),\r\n scientificCertificate: Joi.string().required().messages(GetMessages()),\r\n });\r\n const schema_3 = Joi.object({\r\n\r\n });\r\n const schema_4 = Joi.object({\r\n chooseGraduation: Joi.string().required().messages(GetMessages()),\r\n selectedLanguageLevel: Joi.string().required().messages(GetMessages()),\r\n selectedComputerLevel: Joi.string().required().messages(GetMessages()),\r\n selectedDegree: Joi.string().required().messages(GetMessages()),\r\n DealingWithOthers: Joi.string().required().messages(GetMessages()),\r\n\r\n });\r\n const [error, setError] = useState({});\r\n const [nationalitiesList, setNationalities] = useState([{}]);\r\n const [SYS_Cities, setSYS_Cities] = useState([]);\r\n const [filteredCities, setFilteredCities] = useState([]);\r\n const [gender, setGender] = useState({});\r\n const [employment, setEmployment] = useState(null);\r\n const lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [stepNum, setStepNum] = useState(1);\r\n\r\n const getYears = (start, end) => {\r\n let result = [];\r\n for (let index = start; index <= end; index++) {\r\n result.push({\r\n value: String(index), text: String(index)\r\n });\r\n }\r\n return reverse(result);\r\n };\r\n const [allYear, setAllYear] = useState(getYears(1960, new Date().getFullYear()));\r\n const [isLoadingBtnSend, setIsLoadingBtnSend] = useState(false);\r\n const [interviewData, setInterviewData] = useState({});\r\n const [interviewApplicantsData, setInterviewApplicantsData] = useState([]);\r\n useEffect(async () => {\r\n GetinterviewApplicants();\r\n }, []);\r\n useEffect(async () => {\r\n if (phoneNumberApplicants && phoneNumberApplicants.length > 0 && query.get(\"ph\")) {\r\n const val = { ...requestForm };\r\n\r\n\r\n var queryPhone = query.get(\"ph\").trim();\r\n val.phoneNumber = queryPhone.startsWith('+') ? queryPhone : \"+\" + queryPhone;\r\n setDefultEmailandName(val.phoneNumber);\r\n }\r\n }, [phoneNumberApplicants]);\r\n const [OTP, setOTP] = useState(\"\");\r\n const submitRequest = async (e) => {\r\n e.preventDefault();\r\n\r\n var seccessSteps = await checkStepsErrors();\r\n\r\n try {\r\n if (seccessSteps >= 4) {\r\n if (!(await isDataSentBefore(requestForm.email, requestForm.phoneNumber))) {\r\n\r\n const employmentId = jobs.find(j => j.positionId == requestForm.selectedjob)?.id;\r\n\r\n const OTPNumber = Math.floor(100 + Math.random() * 900);\r\n const OTPString = interviewData?.interviewID + OTPNumber.toString();\r\n setOTP(OTPString);\r\n setIsLoadingBtnSend(true);\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteEmployment_application\",\r\n \"values\": {\r\n \"name\": requestForm.name,\r\n \"phoneNumber\": requestForm.phoneNumber,\r\n \"email\": requestForm.email,\r\n \"nationality\": requestForm.selectedNationality,\r\n \"city\": requestForm.City,\r\n \"cardNumber\": requestForm.cardNumber,\r\n \"cardExpiryDate\": requestForm.cardExpiryDate,\r\n \"placeResidence\": requestForm.placeResidence,\r\n \"numberWives\": parseInt(requestForm.numberWives),\r\n \"numberChildren\": parseInt(requestForm.numberChildren),\r\n \"brithDate\": requestForm.chooseDateOfBirth,\r\n \"gender\": requestForm.selectedGender,\r\n \"maritalStatus\": requestForm.selectedStatus,\r\n \"employmentId\": parseInt(employmentId),\r\n \"dateReadyToJob\": requestForm.dateReadyToJob,\r\n \"applyVia\": requestForm.applyVia,\r\n \"workedOurCompany\": requestForm.workedOurCompany == 1 ? true : false,\r\n \"salaryToFrenchBank\": requestForm.salaryToFrenchBank == 1 ? true : false,\r\n \"socialSecurity\": requestForm.socialSecurity == 1 ? true : false,\r\n \"medicalInsurance\": requestForm.medicalInsurance == 1 ? true : false,\r\n //---------------------------------------------------\r\n \"englishLevel\": requestForm.selectedLanguageLevel,\r\n \"computerLevel\": requestForm.selectedComputerLevel,\r\n \"degree\": requestForm.selectedDegree,\r\n \"graduationYear\": parseInt(requestForm.chooseGraduation),\r\n \"dealingWithOthers\": requestForm.DealingWithOthers,\r\n \"PositionID\": requestForm.selectedjob ? parseInt(requestForm.selectedjob) : null,\r\n \"interviewID\": interviewData?.interviewID,\r\n \"OTP\": OTPString\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n\r\n var maxID = await getMaxData(requestForm.email, requestForm.phoneNumber);\r\n\r\n\r\n if (maxID) {\r\n inputFields_2?.forEach((val, index) => {\r\n\r\n submitRequestCertificates(val, maxID);\r\n });\r\n\r\n inputFields?.forEach((val, index) => {\r\n\r\n submitRequestworkExperience(val, maxID);\r\n });\r\n\r\n }\r\n\r\n setIsLoadingBtnSend(false);\r\n setRequestForm({ selectedNationality: \"SAU\" });\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n setError({});\r\n setInputFields([{}]);\r\n setInputFields_2([{}]);\r\n toast.success(trans(\"employment:success_employment_success\"));\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:success_employment_success\"));\r\n //alert(trans(\"employment:success_employment_success\"));\r\n } else {\r\n setIsLoadingBtnSend(false);\r\n }\r\n } else {\r\n setIsLoadingBtnSend(false);\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:data-sent-before\"));\r\n }\r\n }\r\n } catch (e) {\r\n setIsLoadingBtnSend(false);\r\n console.log(e);\r\n }\r\n\r\n };\r\n const submitRejectRequest = async (e) => {\r\n e.preventDefault();\r\n var result = formValidate(schema_Reject, requestForm) ?? {};\r\n\r\n setError(result);\r\n\r\n if (Object.keys(result).length === 0) {\r\n\r\n if (requestForm.phoneNumber != null && !phoneNumberApplicants.includes(requestForm.phoneNumber)) {\r\n setError({ ...result, phoneNumber: trans(\"employment:The_mobile_number_not_on_list\") });\r\n return;\r\n }\r\n\r\n\r\n try {\r\n\r\n const response = await axios.put(\r\n\r\n config.baseURL + 'update',\r\n {\r\n \"object\": \"siteEmployment_interview_applicants\",\r\n \"values\": {\r\n \"isRejection\": true,\r\n \"rejectionReason\": requestForm?.note\r\n // attendanceDateTime\r\n\r\n },\r\n \"Filters\": `Where phoneNumber = '${requestForm.phoneNumber}' `\r\n }\r\n );\r\n if (response.status == 200) {\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:Rejection_confirmed\"));\r\n } else {\r\n setIsLoadingBtnSend(false);\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n setIsLoadingBtnSend(false);\r\n }\r\n }\r\n };\r\n const submitRequestCertificates = async (CertificateObject, applicationID) => {\r\n\r\n try {\r\n if (CertificateObject.scientificCertificate && CertificateObject.yearOuter && CertificateObject.specialty) {\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteEmployment_application_certificates\",\r\n \"values\": {\r\n \"scientificCertificate\": CertificateObject.scientificCertificate,\r\n \"yearOuter\": CertificateObject.yearOuter,\r\n \"specialty\": CertificateObject.specialty,\r\n \"durationStudy\": CertificateObject.durationStudy,\r\n \"applicationID\": parseInt(applicationID)\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n\r\n\r\n\r\n } else {\r\n }\r\n }\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n };\r\n\r\n const submitRequestworkExperience = async (workExperienceObject, applicationID) => {\r\n\r\n try {\r\n if (workExperienceObject.employer && workExperienceObject.durationemploy && workExperienceObject.JobTitle\r\n && workExperienceObject.JobTitle\r\n ) {\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteEmployment_application_workExperience\",\r\n \"values\": {\r\n \"employer\": workExperienceObject.employer,\r\n \"durationemploy\": workExperienceObject.durationemploy,\r\n \"JobTitle\": workExperienceObject.JobTitle,\r\n \"lastSalary\": workExperienceObject.lastSalary,\r\n \"reasonLeaving\": workExperienceObject.reasonLeaving,\r\n \"applicationID\": parseInt(applicationID)\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n\r\n\r\n\r\n } else {\r\n }\r\n }\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n };\r\n const getMaxData = async (email, phone) => {\r\n let maxID = null;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_application\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Fields \": \"*\",\r\n \"Filters\": `Where employmentId = ${parseInt(employment?.id)} and (email = '${email}' or phoneNumber = '${phone}') and PositionID =${parseInt(employment?.positionId)} and applicationID = (\r\n SELECT MAX(applicationID)\r\n FROM siteEmployment_application\r\n) `\r\n }\r\n );\r\n if (response.status == 200) {\r\n if (response.data.ApiObjectData.length > 0) {\r\n\r\n maxID = response.data.ApiObjectData[0].applicationID;\r\n }\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n return maxID;\r\n };\r\n\r\n const GetinterviewApplicants = async () => {\r\n try {\r\n\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"name\": \"SiteGetinterview_applicants\",\r\n \"Values\": {\r\n \"GUID\": id,\r\n\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n\r\n var interviewData = {};\r\n if (result && result.length > 0) {\r\n setInterviewApplicantsData(result);\r\n interviewData = result[0];\r\n try {\r\n interviewData[\"interviewDateFormat\"] = new Date(interviewData?.interviewDate).toLocaleDateString(lang + '-US', formatDate);\r\n } catch (error) {\r\n\r\n }\r\n setInterviewData(interviewData);\r\n const date = new Date();\r\n\r\n const stardate = new Date(interviewData.startDate);\r\n const diffTime22 = date - stardate;\r\n const diffDays22 = Math.ceil(diffTime22 / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays22 <= 0 && diffTime22 <= 0) {\r\n setShowFinalPopupMessage(trans(\"employment:The_application_deadline_has_not_yet_begun\"));\r\n setShowFinalPopup(true);\r\n return;\r\n }\r\n const date1 = new Date(interviewData.endDate);\r\n const diffTime = date1 - date;\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= 0 && diffTime <= 0) {\r\n setShowFinalPopupMessage(trans(\"employment:Application_deadline_has_expired\"));\r\n setShowFinalPopup(true);\r\n return;\r\n }\r\n var phoneNumberApplicants = result.map(i => { return i.phoneNumber });\r\n setPhoneNumberApplicants(phoneNumberApplicants);\r\n\r\n callback();\r\n } else {\r\n setShowFinalPopupMessage(trans(\"employment:The_page_link_is_incorrect\"));\r\n setShowFinalPopup(true);\r\n }\r\n\r\n }).catch(error => {\r\n setShowFinalPopupMessage(trans(\"employment:The_page_link_is_incorrect\"));\r\n setShowFinalPopup(true);\r\n });\r\n\r\n\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n };\r\n const [applymentsData, setApplymentsData] = useState({});\r\n const GetEmployment_applymentsData = async (mobile, val) => {\r\n try {\r\n setApplymentsData({});\r\n axios.post(config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_applyments\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `Where phoneNumber = '${mobile}' `\r\n }\r\n ).then(response => {\r\n const result = response?.data?.ApiObjectData;\r\n if (result && result.length > 0) {\r\n\r\n var appData = result[0];\r\n val.selectedStatus = appData.maritalStatus;\r\n val.name = appData.firstName + \" \" + appData.lastName;\r\n val.email = appData.email;\r\n val.nationality = appData.nationality;\r\n val.brithDate = appData.brithDate;\r\n val.selectedGender = appData.gender;\r\n val.selectedjob = interviewData?.PositionID ? interviewData?.PositionID.toString() : appData?.positionId?.toString();\r\n val.selectedLanguageLevel = appData.englishLevel;\r\n val.selectedComputerLevel = appData.computerLevel;\r\n val.selectedDegree = appData.degree;\r\n val.chooseGraduation = appData.graduationYear?.toString();\r\n\r\n val.medicalInsurance = appData.maritalStatus == 1029 ? \"0\" : undefined;;\r\n val.numberChildren = appData.maritalStatus == 1029 ? \"0\" : \"\";\r\n val.numberWives = appData.maritalStatus == 1029 ? \"0\" : \"\";\r\n\r\n setRequestForm(val);\r\n setApplymentsData(appData);\r\n }\r\n\r\n }).catch(error => {\r\n\r\n });\r\n\r\n\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n };\r\n\r\n const isDataSentBefore = async (email, phone) => {\r\n let isExisted = true;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_application\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `Where interviewID = ${interviewData?.interviewID} and phoneNumber = '${phone}' `\r\n }\r\n );\r\n if (response.status == 200) {\r\n isExisted = response.data.ApiObjectData.length > 0;\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n return isExisted;\r\n };\r\n const [jobs, setJobs] = useState([]);\r\n\r\n\r\n const callback = useCallback(async () => {\r\n\r\n\r\n try {\r\n var page = 1;\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"employment-\" + page;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash) {\r\n setJobs(datacash.employments);\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/employment/\" + page,\r\n method: \"get\",\r\n });\r\n\r\n setJobs(response.data.employments);\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"employment-\" + page, dataResponse);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n\r\n try {\r\n\r\n const SYS_CitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_Cities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,CountryID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n if (SYS_CitiesResponse?.data?.ApiObjectData[0]) {\r\n const Cities = SYS_CitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`], ...e }));\r\n setSYS_Cities(Cities);\r\n setFilteredCities(Cities?.filter(item => {\r\n return item.CountryID == \"SAU\"\r\n }));\r\n }\r\n //********************\r\n const nationalitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"Sys_Nationalities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n if (nationalitiesResponse?.data?.ApiObjectData[0])\r\n setNationalities(nationalitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Gender' \"\r\n }\r\n );\r\n //*************************************************************************************************************************\r\n if (genderResponse?.data?.ApiObjectData[0])\r\n setGender({ value1: genderResponse.data.ApiObjectData[0].ID, value2: genderResponse.data.ApiObjectData[1].ID });\r\n\r\n const skillsResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteSkillsLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n\r\n //***************************************************************************************************************************\r\n if (skillsResponse?.data?.ApiObjectData)\r\n setSkillsList(skillsResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteCertificateLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n setCertificationList(certificationResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Marital Status'\"\r\n }\r\n );\r\n setStatusList({\r\n value1: statusResponse.data.ApiObjectData[0].ID\r\n , value2: statusResponse.data.ApiObjectData[1].ID, value3: statusResponse.data.ApiObjectData[2].ID\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang]);\r\n\r\n const [inputFields_2, setInputFields_2] = useState([\r\n { firstName: '', lastName: '' }\r\n ]);\r\n // Handle input changes\r\n const handleInputChange_2 = (index, e) => {\r\n const { name, value } = e.target;\r\n const newInputFields = [...inputFields_2];\r\n newInputFields[index][name] = value;\r\n setInputFields_2(newInputFields);\r\n };\r\n const handleDropDownChange_2 = (index, e) => {\r\n const { name, value } = e;\r\n const newInputFields = [...inputFields_2];\r\n newInputFields[index][name] = value;\r\n\r\n\r\n setInputFields_2(newInputFields);\r\n };\r\n // Add a new set of input fields\r\n const handleAddMore_2 = () => {\r\n\r\n var lastGroupindex = inputFields_2.length - 1;\r\n\r\n if (lastGroupindex >= 0 && !inputFields_2[lastGroupindex][\"specialty\"]\r\n || !inputFields_2[lastGroupindex][\"yearOuter\"]\r\n || !inputFields_2[lastGroupindex][\"scientificCertificate\"]) {\r\n\r\n return;\r\n }\r\n\r\n setInputFields_2([...inputFields_2, { firstName: '', lastName: '' }]);\r\n };\r\n // Initial state for input fields\r\n const [inputFields, setInputFields] = useState([\r\n { firstName: '', lastName: '' }\r\n ]);\r\n\r\n // Handle input changes\r\n const handleInputChange = (index, e) => {\r\n const { name, value } = e.target;\r\n const newInputFields = [...inputFields];\r\n newInputFields[index][name] = value;\r\n setInputFields(newInputFields);\r\n };\r\n\r\n // Add a new set of input fields\r\n const handleAddMore = () => {\r\n\r\n var lastGroupindex = inputFields.length - 1;\r\n\r\n if (lastGroupindex >= 0 && !inputFields[lastGroupindex][\"reasonLeaving\"]) {\r\n\r\n return;\r\n }\r\n\r\n setInputFields([...inputFields, { firstName: '', lastName: '' }]);\r\n };\r\n\r\n const checkStepsErrors = async () => {\r\n\r\n setOTP(\"\");\r\n var result = formValidate(schema_1, requestForm) ?? {};\r\n\r\n if (stepNum == 1)\r\n setError(result);\r\n\r\n\r\n var srempNumber = 0\r\n\r\n if (requestForm.phoneNumber != null && !phoneNumberApplicants.includes(requestForm.phoneNumber)) {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n setError({ ...result, phoneNumber: trans(\"employment:The_mobile_number_not_on_list\") });\r\n return srempNumber;\r\n }\r\n\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 1;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n result = formValidate(schema_2, requestForm) ?? {};\r\n if (stepNum == 2)\r\n setError(result);\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 2;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n result = formValidate(schema_3, requestForm) ?? {};\r\n if (stepNum == 3)\r\n setError(result);\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 3;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n\r\n result = formValidate(schema_4, requestForm) ?? {};\r\n\r\n if (stepNum == 4)\r\n setError(result);\r\n console.log(\"result\", result);\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 4;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n\r\n setDataFullNum(srempNumber);\r\n return srempNumber;\r\n }\r\n const cheangeSteps = async (step) => {\r\n\r\n if (step > 0 && step <= 4 && step != stepNum) {\r\n\r\n const statusStep = await checkStepsErrors();\r\n if (statusStep >= step) {\r\n setStepNum(step);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n const setDefultEmailandName = async (mobile) => {\r\n if (!requestForm?.email || !requestForm?.name) {\r\n\r\n const def = interviewApplicantsData.filter(a => a.phoneNumber == mobile);\r\n\r\n console.log(\"interviewApplicantsData:\", def);\r\n if (def && def.length > 0) {\r\n\r\n if (def[0].isRejection == true) {\r\n setIsLoadingBtnSend(false);\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:The_appointment_was_previously_rejected\"));\r\n return;\r\n }\r\n const val = { ...requestForm };\r\n val.phoneNumber = mobile;\r\n val.phoneNumberOnly = val.phoneNumber.slice(-9);\r\n val.phoneNumberCode = val.phoneNumber.startsWith('+') ? val.phoneNumber.slice(1, -9) : val.phoneNumber.slice(0, -9);\r\n if (!requestForm?.name)\r\n val.name = def[0]?.name;\r\n if (!requestForm?.email)\r\n val.email = def[0]?.email;\r\n\r\n if (interviewData?.PositionID)\r\n val.selectedjob = interviewData?.PositionID.toString();\r\n setRequestForm(val);\r\n\r\n if (!(await isDataSentBefore(requestForm.email, mobile))) {\r\n\r\n GetEmployment_applymentsData(mobile, val);\r\n } else {\r\n\r\n setIsLoadingBtnSend(false);\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:data-sent-before\"));\r\n }\r\n\r\n } else {\r\n const val = { ...requestForm };\r\n val.phoneNumber = mobile;\r\n setRequestForm(val);\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n useEffect(async () => {\r\n if(jobs && jobs.length> 0 && applymentsData?.positionId || interviewData?.PositionID && employment==null){\r\n const currentEmploy = jobs.filter(j => j.positionId ==(interviewData?.PositionID ?? applymentsData?.positionId ))[0];\r\n setEmployment(currentEmploy);\r\n }\r\n }, [jobs,interviewData,applymentsData,employment]);\r\n return (\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {/*

    {trans(\"employment:job_application_form\")}

    */}\r\n

    {lang == \"ar\" ? interviewData.titel : interviewData.titelEn}

    \r\n
    \r\n\r\n\r\n
    \r\n <>\r\n {\r\n reject == true ?\r\n <>\r\n
    \r\n \r\n {lang == \"ar\" ? interviewData.subTitelAr : interviewData.subTitelEn}\r\n {/* {trans(\"employment:Welcome\") + (requestForm.name ?? \"\") + trans(\"employment:You_have_job_interview\")} */}\r\n \r\n\r\n
    \r\n
    {\r\n submitRejectRequest(e);\r\n }}>\r\n\r\n {\r\n !applymentsData?.phoneNumber &&\r\n < PhoneDropDown\r\n mandotory={true}\r\n name='phoneNumber'\r\n disabled={applymentsData?.phoneNumber}\r\n defaultFlag={requestForm.phoneNumberCode}\r\n defaultValue={requestForm.phoneNumberOnly}\r\n errorLabel={error?.phoneNumber}\r\n onChangeValue={(countryCode, phoneNumber) => {\r\n const val = { ...requestForm };\r\n val.phoneNumberOnly = phoneNumber;\r\n val.phoneNumberCode = countryCode;\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n setDefultEmailandName(val.phoneNumber);\r\n }}\r\n\r\n />\r\n }\r\n\r\n
    \r\n {trans(\"employment:The_appointment\") + \":\"}\r\n \r\n\r\n {interviewData?.interviewDateFormat ?\r\n interviewData?.interviewDateFormat\r\n :\r\n moment(interviewData?.interviewDate).format('dddd,YYYY-MM-DD hh:mm A')\r\n\r\n }\r\n \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.selectedReject = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }}\r\n\r\n selectValue={!requestForm.selectedReject ? 1 : requestForm.selectedReject}\r\n name=\"selectedReject\"\r\n groupName=\"selectedReject\"\r\n title={trans(\"employment:Please_confirm_interview_date\")}\r\n value1={1}\r\n text1={trans(\"employment:Confirm_the_appointment_and_continue_filling_form\")}\r\n text2={trans(\"employment:Reject_the_appointment\")}\r\n value2={0}\r\n errorLabel={error.selectedReject}\r\n />\r\n {\r\n requestForm.selectedReject == 1 || !requestForm.selectedReject ?\r\n <>\r\n\r\n
    {\r\n\r\n setReject(false);\r\n\r\n }}>\r\n {trans(\"employment:Confirm_appointment\")}\r\n
    \r\n\r\n \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 val = { ...requestForm };\r\n val.note = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='note'\r\n placeholder={trans(\"employment:Please_state_the_reason\")}\r\n />\r\n \r\n \r\n }\r\n\r\n\r\n\r\n \r\n \r\n\r\n : (\r\n <>\r\n
    \r\n
    0 ? \"active\" : \" \")}\r\n onClick={() => cheangeSteps(1)}\r\n >\r\n
    \r\n
  • {\"1\"}
  • {trans(\"employment:personal_information\")}\r\n
    \r\n
    \r\n
    \r\n
    1 ? \"active\" : \" \")}\r\n onClick={() => cheangeSteps(2)}\r\n >\r\n
  • {\"2\"}
  • \r\n {trans(\"employment:education_academic_background_training\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    2 ? \"active\" : \" \")}\r\n onClick={() => cheangeSteps(3)}\r\n >\r\n
  • {\"3\"}\r\n
  • {trans(\"employment:work_experience\")}
    \r\n
    \r\n
    \r\n\r\n
    3 ? \"active\" : \" \")}\r\n onClick={() => cheangeSteps(4)}\r\n >\r\n
    \r\n
  • {\"4\"}
  • {trans(\"employment:acquired_skills\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    {\r\n submitRequest(e);\r\n }}>\r\n\r\n {\r\n stepNum == 1 &&\r\n <>\r\n

    {trans(\"employment:personal_information\")}

    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumberOnly = phoneNumber;\r\n val.phoneNumberCode = countryCode;\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n setDefultEmailandName(val.phoneNumber);\r\n }}\r\n\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.name = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='name'\r\n />\r\n\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.email}\r\n name='email'\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedNationality = String(e);\r\n val.City = null;\r\n console.log(e);\r\n setRequestForm(val);\r\n\r\n setFilteredCities(SYS_Cities?.filter(item => {\r\n return item.CountryID == val.selectedNationality\r\n }));\r\n }}\r\n selectedValue={requestForm.selectedNationality}\r\n name='selectedNationality'\r\n className={\"flex-grow-1\"}\r\n placeholder={trans(\"employment:nationalte\")}\r\n options={[...nationalitiesList]}\r\n errorLabel={error.selectedNationality}\r\n defaultOption={requestForm.selectedNationality ? null : { value: \"SAU\", text: lang == \"ar\" ? \"سعودي / سعودية\" : \"Kingdom of Saudi Arabia\" }}\r\n\r\n\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.City = String(e);\r\n console.log(e);\r\n setRequestForm(val);\r\n\r\n }}\r\n selectedValue={requestForm.City}\r\n name='City'\r\n className={\"flex-grow-1\"}\r\n placeholder={trans(\"form:city\")}\r\n options={[...filteredCities]}\r\n errorLabel={error.City}\r\n\r\n\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.cardNumber = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.cardNumber}\r\n name='cardNumber'\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.cardExpiryDate = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='cardExpiryDate'\r\n placeholder={trans(\"employment:end_date\")}\r\n\r\n errorLabel={error.cardExpiryDate}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.chooseDateOfBirth = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='chooseDateOfBirth'\r\n placeholder={trans(\"employment:birthday\")}\r\n\r\n errorLabel={error.chooseDateOfBirth}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.placeResidence = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.placeResidence}\r\n name='placeResidence'\r\n />\r\n\r\n\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 val = { ...requestForm };\r\n\r\n val.selectedStatus = String(e);\r\n if (val.selectedStatus == statusList.value2) {\r\n val.numberChildren = \"0\";\r\n val.numberWives = \"0\";\r\n val.medicalInsurance = \"0\";\r\n } else {\r\n val.numberChildren = \"\";\r\n val.numberWives = \"\";\r\n val.medicalInsurance = undefined;\r\n }\r\n setRequestForm(val);\r\n console.log(e);\r\n\r\n }\r\n }\r\n selectValue={requestForm.selectedStatus}\r\n name=\"selectedStatus\"\r\n groupName=\"SocialStatus\"\r\n title={trans(\"employment:state\")}\r\n ListValues={[{ text: trans(\"employment:marred\"), value: statusList.value1 }, {\r\n text: trans(\"employment:single\"),\r\n value: statusList.value2\r\n }, { text: trans(\"employment:other\"), value: statusList.value3 }]}\r\n errorLabel={error.selectedStatus}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.selectedGender = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }}\r\n selectValue={requestForm.selectedGender}\r\n name=\"selectedGender2\"\r\n groupName=\"Gender\"\r\n title={trans(\"employment:type\")}\r\n value1={gender.value1}\r\n text1={trans(\"employment:man\")}\r\n text2={trans(\"employment:female\")}\r\n value2={gender.value2}\r\n errorLabel={error.selectedGender}\r\n />\r\n\r\n
    \r\n
    \r\n {\r\n (statusList.value2 == null || (requestForm?.selectedStatus != statusList.value2)) &&\r\n <>\r\n {\r\n const val = { ...requestForm };\r\n val.numberWives = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.numberWives}\r\n name='numberWives'\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.numberChildren = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.numberChildren}\r\n name='numberChildren'\r\n />\r\n\r\n \r\n }\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.applyVia = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }\r\n }\r\n selectValue={requestForm.applyVia}\r\n name=\"applyVia\"\r\n groupName=\"applyVia\"\r\n title={trans(\"employment:apply_through\")}\r\n ListValues={[{ text: trans(\"employment:TAQAT\"), value: trans(\"employment:TAQAT\") }, { text: \"Twitter\", value: \"Twitter\" }, { text: \"snapchat\", value: \"snapchat\" },\r\n { text: trans(\"employment:email\"), value: trans(\"employment:email\") },\r\n { text: trans(\"employment:other\"), value: trans(\"employment:other\") }]}\r\n errorLabel={error.applyVia}\r\n />\r\n\r\n\r\n
    \r\n
    \r\n {\r\n (statusList.value2 == null || requestForm?.selectedStatus != statusList.value2) &&\r\n <>\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.medicalInsurance = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }\r\n }\r\n selectValue={requestForm.medicalInsurance}\r\n name=\"medicalInsurance\"\r\n groupName=\"medicalInsurance\"\r\n title={trans(\"employment:health_insurance_spouse_children\")}\r\n text1={trans(\"employment:yes\")}\r\n value1={1}\r\n text2={trans(\"employment:no\")}\r\n value2={0}\r\n errorLabel={error.medicalInsurance}\r\n />\r\n\r\n \r\n }\r\n {\r\n const val = { ...requestForm };\r\n val.socialSecurity = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }}\r\n selectValue={requestForm.socialSecurity}\r\n name=\"socialSecurity\"\r\n groupName=\"socialSecurity\"\r\n title={trans(\"employment:registered_with_social_insurance\")}\r\n value1={1}\r\n text1={trans(\"employment:yes\")}\r\n text2={trans(\"employment:no\")}\r\n value2={0}\r\n errorLabel={error.socialSecurity}\r\n />\r\n\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.salaryToFrenchBank = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }\r\n }\r\n selectValue={requestForm.salaryToFrenchBank}\r\n name=\"salaryToFrenchBank\"\r\n groupName=\"salaryToFrenchBank\"\r\n title={trans(\"employment:transfer_salary_objections\")}\r\n text1={trans(\"employment:yes\")}\r\n value1={1}\r\n text2={trans(\"employment:no\")}\r\n value2={0}\r\n errorLabel={error.salaryToFrenchBank}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.workedOurCompany = String(e);\r\n setRequestForm(val);\r\n console.log(e);\r\n }}\r\n selectValue={requestForm.workedOurCompany}\r\n name=\"workedOurCompany\"\r\n groupName=\"workedOurCompany\"\r\n title={trans(\"employment:worked_for_hassan_jameel\")}\r\n value1={1}\r\n text1={trans(\"employment:yes\")}\r\n text2={trans(\"employment:no\")}\r\n value2={0}\r\n errorLabel={error.workedOurCompany}\r\n />\r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.dateReadyToJob = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='dateReadyToJob'\r\n placeholder={trans(\"employment:available_to_start_job_date\")}\r\n\r\n errorLabel={error.dateReadyToJob}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.selectedjob = String(e);\r\n setRequestForm(val);\r\n\r\n const currentEmploy = jobs.filter(j => j.positionId == val.selectedjob)[0];\r\n console.log(\"currentEmploy:\",currentEmploy);\r\n setEmployment(currentEmploy);\r\n }}\r\n selectedValue={requestForm.selectedjob}\r\n name='selectedjob'\r\n className={\"flex-grow-1\"}\r\n options={[...jobs?.map(job => { return { text: job.position, value: job.positionId, ...job } })]}\r\n errorLabel={error.selectedjob}\r\n />\r\n
    \r\n \r\n\r\n }\r\n {\r\n stepNum == 2 &&\r\n <>\r\n

    {trans(\"employment:education_academic_background_training\")}

    \r\n {inputFields_2.map((field, index) => (\r\n \r\n
    \r\n {\r\n handleInputChange_2(index, e);\r\n const val = { ...requestForm };\r\n val.scientificCertificate = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='scientificCertificate'\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.yearOuter = String(e);\r\n setRequestForm(val);\r\n handleDropDownChange_2(index, { name: \"yearOuter\", value: val.yearOuter });\r\n }}\r\n selectValue={field.yearOuter}\r\n className={\"flex-grow-1\"}\r\n errorLabel={error.yearOuter}\r\n\r\n name='yearOuter'\r\n options={allYear}\r\n />\r\n\r\n {\r\n handleInputChange_2(index, e);\r\n const val = { ...requestForm };\r\n val.specialty = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='specialty'\r\n />\r\n {\r\n handleInputChange_2(index, e);\r\n const val = { ...requestForm };\r\n val.durationStudy = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.durationStudy}\r\n name='durationStudy'\r\n />\r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n }\r\n\r\n {\r\n stepNum == 3 &&\r\n <>\r\n

    {trans(\"employment:work_experience\")}

    \r\n {inputFields.map((field, index) => (\r\n \r\n
    \r\n {\r\n handleInputChange(index, e);\r\n const val = { ...requestForm };\r\n val.employer = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='employer'\r\n />\r\n {\r\n handleInputChange(index, e);\r\n const val = { ...requestForm };\r\n val.durationemploy = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.durationemploy}\r\n name='durationemploy'\r\n />\r\n\r\n {\r\n handleInputChange(index, e);\r\n const val = { ...requestForm };\r\n val.JobTitle = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='JobTitle'\r\n />\r\n {\r\n handleInputChange(index, e);\r\n const val = { ...requestForm };\r\n val.lastSalary = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.lastSalary}\r\n name='lastSalary'\r\n />\r\n {\r\n handleInputChange(index, e);\r\n const val = { ...requestForm };\r\n val.reasonLeaving = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error.reasonLeaving}\r\n name='reasonLeaving'\r\n />\r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n }\r\n\r\n {\r\n stepNum == 4 &&\r\n <>\r\n

    {trans(\"employment:acquired_skills\")}

    \r\n <>\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedLanguageLevel = String(e);\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm.selectedLanguageLevel}\r\n name='selectedLanguageLevel'\r\n className={\"flex-grow-1\"}\r\n options={[...skillsList]}\r\n errorLabel={error.selectedLanguageLevel}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedComputerLevel = String(e);\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm.selectedComputerLevel}\r\n name='selectedComputerLevel'\r\n className={\"flex-grow-1 \"}\r\n options={[...skillsList]}\r\n errorLabel={error.selectedComputerLevel}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.DealingWithOthers = String(e);\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm.DealingWithOthers}\r\n name='DealingWithOthers'\r\n className={\"flex-grow-1 \"}\r\n options={[...skillsList]}\r\n errorLabel={error.DealingWithOthers}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.selectedDegree = String(e);\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm.selectedDegree}\r\n name='selectedDegree'\r\n className={\"flex-grow-1\"}\r\n options={[...certificationList]}\r\n errorLabel={error.selectedDegree}\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.chooseGraduation = String(e);\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm.chooseGraduation}\r\n className={\"flex-grow-1\"}\r\n errorLabel={error.chooseGraduation}\r\n name='chooseGraduation'\r\n options={[...getYears(1960, new Date().getFullYear())]}\r\n />\r\n
    \r\n\r\n \r\n \r\n\r\n \r\n\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n
    \r\n {\r\n\r\n <>\r\n
    \r\n\r\n {\r\n\r\n
    \r\n\r\n {\r\n stepNum > 1 &&\r\n
    {\r\n if (stepNum > 1)\r\n setStepNum(stepNum - 1);\r\n }}>\r\n\r\n\r\n {trans(\"info:back\")}\r\n\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n }\r\n\r\n {\r\n\r\n
    \r\n\r\n {\r\n stepNum < 4 &&\r\n
    {\r\n\r\n const num = await checkStepsErrors();\r\n\r\n if (num >= (stepNum)) {\r\n\r\n if (stepNum < 4)\r\n setStepNum(stepNum + 1);\r\n\r\n if (Object.keys(error).length > 0) {\r\n // setError({});\r\n\r\n }\r\n } else {\r\n // checkErrors();\r\n }\r\n\r\n }}>\r\n {trans(\"form:next\")}\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n }\r\n\r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n \r\n }\r\n\r\n \r\n )\r\n\r\n }\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n <>\r\n
    \r\n {showFinalPopupMessage}\r\n
    \r\n\r\n \r\n\r\n }\r\n\r\n\r\n {\r\n\r\n OTP &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(OTP);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"employment:Your_OTP\") + \" :\"}\r\n {OTP && OTP}\r\n \r\n
    \r\n }\r\n {\r\n OTP &&\r\n
    \r\n {\"الموعد :\"}\r\n \r\n\r\n {interviewData?.interviewDateFormat ?\r\n interviewData?.interviewDateFormat\r\n :\r\n moment(interviewData?.interviewDate).format('dddd,YYYY-MM-DD hh:mm A')\r\n\r\n }\r\n \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\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 { Fragment, useEffect, useState, useCallback } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport { useParams,useHistory } from \"react-router\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport config from '../../configuration/config.json';\r\nimport Popup from \"../../User/popup\";\r\nimport moment from \"moment\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nexport function EmploymentInterviewAttendance() {\r\n const { t: trans, i18n } = useTranslation([\"common\", \"heading\", \"inputs\", \"employment\"]);\r\n const { id = 1 } = useParams();\r\n const [requestForm, setRequestForm] = useState({});\r\n const [isLoadingBtnSend, setIsLoadingBtnSend] = useState(false);\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const [interviewData, setInterviewData] = useState({});\r\n const [showFinalPopupMessage, setShowFinalPopupMessage] = useState(\"\");\r\n const [interviewApplicantsData, setInterviewApplicantsData] = useState([]);\r\n const [phoneNumberApplicants, setPhoneNumberApplicants] = useState([]);\r\n const [error, setError] = useState({});\r\n const lang = i18n.language;\r\n const history = useHistory();\r\n const schema = Joi.object({\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n OTP: Joi.string().required().messages(GetMessages()),\r\n\r\n });\r\n useEffect(async () => {\r\n GetinterviewApplicants();\r\n }, []);\r\n\r\n const GetinterviewApplicants = async () => {\r\n try {\r\n\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"name\": \"SiteGetinterview_applicants\",\r\n \"Values\": {\r\n \"GUID\": id,\r\n\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n\r\n var interviewData = {};\r\n if (result && result.length > 0) {\r\n setInterviewApplicantsData(result);\r\n interviewData = result[0];\r\n setInterviewData(interviewData);\r\n const date = new Date();\r\n\r\n\r\n const stardate = new Date(interviewData.startDate);\r\n const diffTime22 = date - stardate;\r\n const diffDays22 = Math.ceil(diffTime22 / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays22 <= 0 && diffTime22 <= 0) {\r\n setShowFinalPopupMessage(trans(\"employment:The_application_deadline_has_not_yet_begun\"));\r\n setShowFinalPopup(true);\r\n return;\r\n\r\n }\r\n\r\n\r\n const date1 = new Date(interviewData.endDate);\r\n const diffTime = date1 - date;\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= 0 && diffTime <= 0) {\r\n setShowFinalPopupMessage(trans(\"employment:Application_deadline_has_expired\"));\r\n setShowFinalPopup(true);\r\n return;\r\n\r\n }\r\n var phoneNumberApplicants = result.map(i => { return i.phoneNumber });\r\n setPhoneNumberApplicants(phoneNumberApplicants);\r\n } else {\r\n\r\n setShowFinalPopup(true);\r\n }\r\n\r\n }).catch(error => {\r\n setShowFinalPopup(true);\r\n });\r\n\r\n\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n };\r\n const submitRequest = async (e) => {\r\n e.preventDefault();\r\n var result = formValidate(schema, requestForm) ?? {};\r\n\r\n if (requestForm.phoneNumber != null && !phoneNumberApplicants.includes(requestForm.phoneNumber)) {\r\n result.phoneNumber =trans(\"employment:The_mobile_number_not_on_list\");\r\n }\r\n\r\n setError(result);\r\n if (Object.keys(result).length === 0) {\r\n const match = (await isDataOTPMatch(requestForm.phoneNumber))\r\n if (match == 1) {\r\n\r\n\r\n try {\r\n var datetime = new moment(new Date()).format('yyyy-MM-DDTHH:mm:ss');\r\n\r\n const response = await axios.put(\r\n\r\n config.baseURL + 'update',\r\n {\r\n \"object\": \"siteEmployment_application\",\r\n \"values\": {\r\n \"attendanceDateTime\": datetime\r\n // attendanceDateTime\r\n\r\n },\r\n \"Filters\": `Where interviewID = ${interviewData?.interviewID} and phoneNumber = '${requestForm.phoneNumber}' and OTP = '${requestForm.OTP}' `\r\n }\r\n );\r\n if (response.status == 200) {\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:Attendance_has_been_confirmed_successfully\"));\r\n } else {\r\n setIsLoadingBtnSend(false);\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n\r\n setIsLoadingBtnSend(false);\r\n\r\n } else if (match == 2) {\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:Attendance_has_already_been_confirmed\"));\r\n } else {\r\n\r\n setError({ ...result, OTP: trans(\"employment:The_confirmation_code_incorrect_application_not_exist\")});\r\n setIsLoadingBtnSend(false);\r\n }\r\n }\r\n\r\n };\r\n const [applicationData, setApplicationData] = useState({});\r\n const isDataOTPMatch = async (phone) => {\r\n let isExisted = 0;\r\n try {\r\n\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_application\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `Where interviewID = ${interviewData?.interviewID} and phoneNumber = '${phone}' and OTP = '${requestForm.OTP}' `\r\n }\r\n\r\n\r\n );\r\n if (response.status == 200) {\r\n if (response.data.ApiObjectData.length > 0) {\r\n if (response.data.ApiObjectData[0].attendanceDateTime) {\r\n setApplicationData(response.data.ApiObjectData[0]);\r\n isExisted = 2;\r\n } else {\r\n isExisted = 1;\r\n }\r\n\r\n\r\n }\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n return isExisted;\r\n };\r\n return (\r\n \r\n\r\n\r\n
    \r\n\r\n\r\n
    {\r\n submitRequest(e);\r\n }}>\r\n\r\n\r\n

    {trans(\"employment:Confirm_attendance\")}

    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumberOnly = phoneNumber;\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n\r\n\r\n />\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.OTP = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n name='OTP'\r\n />\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n <>\r\n\r\n
    \r\n {showFinalPopupMessage}\r\n
    \r\n\r\n\r\n\r\n \r\n\r\n }\r\n {\r\n applicationData?.attendanceDateTime &&\r\n
    \r\n \r\n {moment(applicationData?.attendanceDateTime).format('YYYY-MM-DD hh:mm A')}\r\n \r\n \r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setIsLoadingBtnSend(false);\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \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 {useState} from \"react\";\r\n\r\nexport default function InfoCircle({key=null,icon = null, titleEn,titleAr, subtitle}) {\r\n\r\n const [lang,setlang]=useState( localStorage.getItem('i18nextLng'));\r\n let title= lang===\"en\"?titleEn:titleAr;\r\n const _icon = icon ? (icon) : \"/assets/icons/why/why1.svg\";\r\n return (\r\n
    \r\n
    \r\n
    \r\n {title}/\r\n
    \r\n
    \r\n

    {title}

    \r\n\r\n
    \r\n );\r\n}\r\n","import {createSlice} from '@reduxjs/toolkit'\r\n\r\nexport const navSlice = createSlice({\r\n name: 'nav',\r\n initialState: {\r\n isFixed: true,\r\n iconsBlack: false,\r\n },\r\n reducers: {\r\n changeHeader: (nav, action) => {\r\n nav.isFixed = action.payload.isFixed;\r\n },\r\n changeIcons: (nav, action) => {\r\n nav.iconsBlack = action.payload.iconsBlack;\r\n },\r\n\r\n isFixedHeader: (nav) => {\r\n return nav.isFixed;\r\n }\r\n\r\n }\r\n})\r\n\r\n// Action creators are generated for each case reducer function\r\nexport const {changeHeader, isFixedHeader,changeIcons} = navSlice.actions\r\n\r\nexport default navSlice.reducer","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CarSecondary } from \"./components/carSecondary\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport Car from \"../../components/car\";\r\nimport { FilterButton } from \"../../components/__simple/_filterButton\";\r\nimport { OfferSections } from \"../../sections/offersSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport InfoCircle from \"../../components/__simple/_infoCirclejsx\";\r\nimport Info from \"../../components/_info\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { changeIcons } from \"../../_redux/slices/navSlice\";\r\nimport { useParams } from \"react-router\";\r\nimport axios from \"axios\";\r\nimport AdvancedSearch from \"../../components/_input/advancedSearch\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { slugSplitter, slugCombine } from \"../../utils/slugManager\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { Helmet } from \"react-helmet\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function VehiclePage() {\r\n const { t: trans, i18n } = useTranslation([\"inputs\", \"heading\", \"vehicales\", \"info\"]);\r\n const [brandInfo, setBrandInfo] = useState({});\r\n const [vehicles, setVehicles] = useState([]);\r\n const [filteredVehicles, setFilteredVehicles] = useState(vehicles);\r\n const [vehiclesFilter, setVehiclesFilter] = useState(null);\r\n const [Featured, setFeatured] = useState([]);\r\n const GetUrl = config.baseURL + 'details';\r\n const [filters, setFilters] = useState([]);\r\n const [offerVehicle, setOfferVehicle] = useState([]);\r\n const dispatch = useDispatch();\r\n const [searchPopup, setSearchPopup] = useState(false);\r\n let { brand } = useParams();\r\n const [CarCategories, setCarCategories] = useState([]);\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n let lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n\r\n function RequsetFeatured() {\r\n const Body = {\r\n \"object\": \"SiteVehicleSpecial\",\r\n \"ObjectSettings\": { \"MetaData\": false }\r\n };\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setFeatured(response.data.ApiObjectData);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n callback();\r\n }, [brand]);\r\n\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n setFilteredVehicles([]);\r\n setVehicles([]);\r\n setOfferVehicle([]);\r\n setFilters([]);\r\n setBrandInfo({});\r\n\r\n\r\n try {\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"site_FetchCarCategories\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n let data = await cachedResponse?.json();\r\n setCarCategories(data)\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"site_FetchCarCategories\"\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n setCarCategories(response.data)\r\n const data44 = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"site_FetchCarCategories\", data44);\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n } catch (error) {\r\n console.log('error in fetching the countries of SAU', error);\r\n }\r\n\r\n\r\n const res = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/vehicles/\" + slugSplitter(brand),\r\n method: \"get\",\r\n });\r\n\r\n setVehicles(res.data.vehicles);\r\n const brands = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/vehicles/brand/\" + slugSplitter(brand),\r\n method: \"get\",\r\n });\r\n const homeExtraRes = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeExtra\",\r\n method: \"get\",\r\n });\r\n setOfferVehicle(homeExtraRes.data.offerVehicle);\r\n\r\n const allCategories = brands?.data?.categories;\r\n var filterHasVehicals = brands?.data?.categories;\r\n try {\r\n\r\n\r\n filterHasVehicals = allCategories?.filter(f => (res?.data?.vehicles?.filter(c => (c?.category == f?.category))).length > 0);\r\n\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n console.log(\"filterHasVehicals:\", filterHasVehicals);\r\n setFilters(filterHasVehicals);\r\n setBrandInfo(brands?.data?.brandInfo);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n RequsetFeatured();\r\n }, [brand]);\r\n\r\n // to change the icons color on the navbar\r\n useEffect(() => {\r\n dispatch(\r\n changeIcons({ iconsBlack: true })\r\n )\r\n\r\n return () => {\r\n dispatch(\r\n changeIcons({ iconsBlack: false })\r\n )\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (vehicles && vehicles.length > 0)\r\n filterVehicles(vehiclesFilter);\r\n }, [vehicles]);\r\n\r\n function filterVehicles(category) {\r\n setVehiclesFilter(category);\r\n let filterData;\r\n if (category != null)\r\n filterData = vehicles.filter((car) => {\r\n return car.category === category;\r\n });\r\n else {\r\n filterData = vehicles;\r\n }\r\n setFilteredVehicles(filterData);\r\n console.log(\"filteredVehicles\", filteredVehicles);\r\n }\r\n\r\n\r\n useEffect(async () => {\r\n\r\n var page = \"\"\r\n\r\n if (brand?.includes(\"Toyota\")) {\r\n\r\n page = \"Toyota cars\"\r\n } else {\r\n page = \"Lexus Cars\"\r\n\r\n };\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, [brand]);\r\n\r\n return (\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n \r\n {\r\n seoPageInfo?.title &&\r\n {lang.toLowerCase() == 'ar' ? seoPageInfo?.title : seoPageInfo?.titleEn?? seoPageInfo?.title }\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/*
    \r\n \r\n {\r\n vehicles?.map((vehicle, index) => {\r\n if (vehicle.showOnHomePage && parseFloat(vehicle.minPrice) != 0) {\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 {brandInfo.name}\r\n
    \r\n
    \r\n

    {trans(\"info:advance_search_note\")}

    \r\n \r\n {trans(\"info:advance_note\")}\r\n \"\"/\r\n \r\n
    \r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n\r\n filterVehicles(null)}\r\n name={trans(\"inputs:all\")} isActive={vehiclesFilter === null} />\r\n\r\n {\r\n // filters?.map(({ category }) => {\r\n // return (\r\n // filterVehicles(category)}\r\n // name={category} isActive={vehiclesFilter === category} />\r\n // );\r\n // })\r\n\r\n CarCategories && filters && CarCategories.length > 0 && filters?.length > 0 &&\r\n CarCategories?.map((item, index) => {\r\n\r\n if (item && item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"] && filters.filter(a => a.category == item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"])?.length > 0) {\r\n return (\r\n filterVehicles(item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"])}\r\n name={item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"]} isActive={vehiclesFilter == item[lang == \"ar\" ? \"NameAr\" : \"NameEn\"]} />);\r\n } else { return null }\r\n })\r\n\r\n }\r\n\r\n
    \r\n
    \r\n {\r\n filteredVehicles?.map((vehicle, index) => {\r\n // if (parseFloat(vehicle.minPrice) != '0')\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 offerVehicle &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n {Featured?.map(a => (\r\n\r\n \r\n ))}\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { Fragment, useCallback, useEffect, useState, useRef } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Car from \"../../components/car\";\r\nimport { FilterButton } from \"../../components/__simple/_filterButton\";\r\nimport { OfferSections } from \"../../sections/offersSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport InfoCircle from \"../../components/__simple/_infoCirclejsx\";\r\nimport Info from \"../../components/_info\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { changeIcons } from \"../../_redux/slices/navSlice\";\r\nimport axios from \"axios\";\r\nimport { slugCombine } from \"../../utils/slugManager\";\r\nimport config from \"../../configuration/config.json\";\r\nimport ImageGallery from \"react-image-gallery\";\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { Helmet } from \"react-helmet\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function VehicleOnlinePage() {\r\n const { t: trans } = useTranslation([\"inputs\", \"heading\", \"vehicales\", \"info\"]);\r\n const [isFullScreen, setIsFullScreen] = useState(false);\r\n const popRef = useRef(null);\r\n const [gallery, setGallery] = useState([]);\r\n const [brandInfo, setBrandInfo] = useState({});\r\n const [vehicles, setVehicles] = useState([]);\r\n const [filteredVehicles, setFilteredVehicles] = useState(vehicles);\r\n const [Featured, setFeatured] = useState([]);\r\n const GetUrl = config.baseURL + 'details';\r\n const [offerVehicle, setOfferVehicle] = useState([]);\r\n const [brands, setBrands] = useState([]);\r\n const dispatch = useDispatch();\r\n const [carFilter, setCarFilter] = useState(null);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n function RequsetFeatured() {\r\n const Body = {\r\n \"object\": \"SiteVehicleSpecial\",\r\n \"ObjectSettings\": { \"MetaData\": false }\r\n };\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setFeatured(response.data.ApiObjectData);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n const [cachSNImages, setCachSNImages] = useState({});\r\n async function FetchCarSNImages(SN) {\r\n\r\n try {\r\n\r\n console.log(\"cachSNImages:\", cachSNImages);\r\n if (cachSNImages[SN]) {\r\n\r\n const filterG = cachSNImages[SN];\r\n setGallery(filterG);\r\n\r\n if (popRef && filterG && filterG?.length > 0) {\r\n popRef.current.toggleFullScreen();\r\n }\r\n\r\n } else {\r\n\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"siteFetchCarSNImages\",\r\n \"Values\": {\r\n \"SN\": SN\r\n }\r\n }\r\n );\r\n\r\n if (response.status == 200) {\r\n\r\n\r\n const filterG = [];\r\n\r\n response.data?.map((item, index) => {\r\n item[\"original\"] = config.mainURL + item.Image;\r\n item[\"thumbnail\"] = config.mainURL + item.Image;\r\n item[\"originalHeight\"] = \"50\";\r\n item[\"originalWidth\"] = \"50\";\r\n item[\"sizes\"] = \"50\";\r\n item[\"fullscreen\"] = config.mainURL + item.Image;\r\n filterG.push(item);\r\n\r\n\r\n });\r\n\r\n setGallery(filterG);\r\n\r\n if (popRef && filterG && filterG?.length > 0) {\r\n popRef.current.toggleFullScreen();\r\n }\r\n\r\n var cuCachSNImages = { ...cachSNImages };\r\n cuCachSNImages[SN] = filterG;\r\n\r\n setCachSNImages(cuCachSNImages);\r\n\r\n\r\n } else {\r\n\r\n var cuCachSNImages = { ...cachSNImages };\r\n cuCachSNImages[SN] = [];\r\n setCachSNImages(cuCachSNImages);\r\n }\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n\r\n var cuCachSNImages = { ...cachSNImages };\r\n cuCachSNImages[SN] = [];\r\n setCachSNImages(cuCachSNImages);\r\n\r\n }\r\n }\r\n\r\n\r\n useEffect(async () => {\r\n\r\n callback();\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"siteFetchCarSNImages\",\r\n \"Values\": {\r\n \"SN\": null\r\n }\r\n }\r\n );\r\n\r\n if (response.status == 200) {\r\n\r\n\r\n const filterG = [];\r\n\r\n response.data?.map((item, index) => {\r\n item[\"original\"] = config.mainURL + item.Image;\r\n item[\"thumbnail\"] = config.mainURL + item.Image;\r\n item[\"originalHeight\"] = \"50\";\r\n item[\"originalWidth\"] = \"50\";\r\n item[\"sizes\"] = \"50\";\r\n item[\"fullscreen\"] = config.mainURL + item.Image;\r\n filterG.push(item);\r\n\r\n\r\n });\r\n\r\n\r\n console.log(\"filterG:\", filterG);\r\n const groupResult = mapValues(groupBy(filterG, 'SN'), fList => fList.map(items => omit(items, 'SN')));\r\n\r\n\r\n console.log(\"groupResult:\", groupResult);\r\n\r\n setCachSNImages(groupResult);\r\n\r\n\r\n } else {\r\n\r\n var cuCachSNImages = { ...cachSNImages };\r\n setCachSNImages(cuCachSNImages);\r\n }\r\n\r\n }, []);\r\n\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n setFilteredVehicles([]);\r\n setVehicles([]);\r\n setOfferVehicle([]);\r\n setBrands([]);\r\n setBrandInfo({});\r\n var res = null;\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"OnlineVehicles-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var dataVehicles = await cachedResponse?.json();\r\n\r\n if (dataVehicles?.vehicles)\r\n setVehicles(dataVehicles.vehicles);\r\n if (dataVehicles?.brands)\r\n setBrands(dataVehicles.brands);\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl22 = \"HomeExtra-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage22 = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse22 = await cacheStorage22?.match(\r\n curl22\r\n );\r\n let homeExtraRescach = await cachedResponse22?.json();\r\n\r\n setOfferVehicle(homeExtraRescach?.offerVehicle);\r\n\r\n }\r\n\r\n } catch (error) {\r\n\r\n }\r\n res = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/vehicles/OnlineVehicles\",\r\n method: \"get\",\r\n });\r\n\r\n\r\n setVehicles(res.data.vehicles);\r\n setBrands(res.data.brands);\r\n const resdataVehicles = new Response(JSON.stringify(res.data));\r\n\r\n if (\"caches\" in window) {\r\n try {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"OnlineVehicles-\" + lang, resdataVehicles);\r\n\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n\r\n const homeExtraRes = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeExtra\",\r\n method: \"get\",\r\n });\r\n\r\n\r\n setOfferVehicle(homeExtraRes.data.offerVehicle);\r\n const data2 = new Response(JSON.stringify(homeExtraRes.data));\r\n\r\n if (\"caches\" in window) {\r\n try {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"HomeExtra-\" + lang, data2);\r\n\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n RequsetFeatured();\r\n }, []);\r\n\r\n function filterCars(brand) {\r\n setCarFilter(brand);\r\n let filterData = [];\r\n if (brand != null)\r\n filterData = vehicles.filter((car) => {\r\n return car.brand === brand;\r\n });\r\n else {\r\n filterData = vehicles;\r\n }\r\n setFilteredVehicles(filterData);\r\n };\r\n // to change the icons color on the navbar\r\n useEffect(() => {\r\n dispatch(\r\n changeIcons({ iconsBlack: true })\r\n )\r\n\r\n return () => {\r\n dispatch(\r\n changeIcons({ iconsBlack: false })\r\n )\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (vehicles && vehicles.length > 0)\r\n setFilteredVehicles(vehicles);\r\n }, [vehicles]);\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"Online Cars Store\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n\r\n return (\r\n\r\n <>\r\n\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n
    \r\n \r\n\r\n
    \r\n {lang == \"ar\" ? \"اصدار تجريبي\" : \"BETA\"}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n filterCars(null)} />\r\n {\r\n brands.map((brand, index) => {\r\n return (\r\n filterCars(brand.name)} />\r\n );\r\n })\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n filteredVehicles?.map((vehicle, index) => {\r\n // if (parseFloat(vehicle.minPrice) != '0')\r\n return (\r\n
    \r\n FetchCarSNImages(vehicle?.sn)}\r\n btnShowSN={(cachSNImages && cachSNImages[vehicle?.sn]) ? true : false}\r\n />\r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n offerVehicle &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n {Featured?.map(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\r\n\r\n\r\n
    \r\n\r\n
    \r\n {\r\n\r\n setIsFullScreen(e);\r\n }} />\r\n
    \r\n \r\n );\r\n}","import React from 'react';\r\nconst OverViewContext = React.createContext();\r\nOverViewContext.displayName = 'OverViewContext';\r\nexport default OverViewContext;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Link, NavLink, useRouteMatch } from \"react-router-dom\";\r\nimport { Fragment, useEffect, useRef, useState, useContext } from \"react\";\r\nimport Banner from \"../../../components/banner\";\r\nimport Breadcrumb from \"../../../components/__simple/breadcrumb\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { changeHeader } from \"../../../_redux/slices/navSlice\";\r\nimport OverViewContext from \"../overviewContext\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function CarBanner({ name, desc, bg, url, brand, onBuyClick, pdf = null, hasOffers = false, breadcrumb, setSectionActive, logo, siteDesc }) {\r\n const { t: trans } = useTranslation([\"common\", \"vehicales\", \"info\"]);\r\n const [onHamburger, setOnHamburger] = useState(false);\r\n const navRef = useRef(null);\r\n const [navFlex, setNavFlex] = useState(false);\r\n const [navTop, setNavTop] = useState(0);\r\n const [lastScrollY, setLastScrollY] = useState(0);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const dispatch = useDispatch();\r\n const context = useContext(OverViewContext);\r\n const [pageName, setPageName] = useState(breadcrumb ?? trans(\"vehicales:veh-d-home-public\"));\r\n useEffect(() => {\r\n dispatch(\r\n changeHeader({ isFixed: false })\r\n )\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll)\r\n dispatch(\r\n changeHeader({ isFixed: true })\r\n )\r\n };\r\n }, [url]);\r\n\r\n useEffect(() => {\r\n setPageName(breadcrumb ?? trans(\"vehicales:veh-d-home-public\"));\r\n\r\n }, [breadcrumb]);\r\n\r\n const handleScroll = () => {\r\n\r\n const currentScrollY = window.scrollY;\r\n\r\n if (currentScrollY - 540 > lastScrollY) {\r\n setNavFlex(true)\r\n\r\n setNavTop(1);\r\n } else {\r\n if (currentScrollY <= lastScrollY + 540) {\r\n setNavFlex(false);\r\n }\r\n setNavTop(0);\r\n }\r\n setLastScrollY(currentScrollY);\r\n\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n navbar holder\r\n
    \r\n\r\n
    \r\n
    \r\n
    setOnHamburger(!onHamburger)}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {name}

    \r\n
    \r\n { setSectionActive(\"public\"); setOnHamburger(false); setPageName(`${trans(\"vehicales:veh-d-home-public\")}`) }}\r\n to={`${url}/public`}>{trans(\"vehicales:veh-d-home-public\")}\r\n { setSectionActive(\"gallery\"); setOnHamburger(false); setPageName(`${trans(\"vehicales:veh-d-home-gallery\")}`) }}\r\n to={`${url}/gallery`}\r\n >{trans(\"vehicales:veh-d-home-gallery\")}\r\n { setSectionActive(\"feature\"); setOnHamburger(false); setPageName(`${trans(\"vehicales:veh-d-home-feature\")}`) }}\r\n to={`${url}/feature`}\r\n >{trans(\"vehicales:veh-d-home-feature\")}\r\n { setSectionActive(\"specs\"); setOnHamburger(false); setPageName(`${trans(\"vehicales:veh-d-home-specs\")}`) }}\r\n to={`${url}/specs`}\r\n >{trans(\"vehicales:veh-d-home-specs\")}\r\n {/* {\r\n hasOffers ?\r\n { setSectionActive(\"offers\"); setOnHamburger(false); setPageName(`${trans(\"vehicales:veh-d-home-offers\")}`) }} to={`${url}/offers`}>{trans(\"vehicales:veh-d-home-offers\")}\r\n : null\r\n } */}\r\n\r\n
    \r\n {/* { \r\n {\r\n onBuyClick()\r\n }} className={\"btn btn-primary\"}>{trans(\"vehicales:veh-d-home-Purchase\")}\r\n } */}\r\n\r\n {(logo) &&\r\n
    \r\n \"\"\r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n

    {context.vehicleInfo?.name ?? name}

    \r\n
    \r\n {\r\n context.vehicleInfo?.isNew && {trans(\"info:new\")}\r\n }\r\n {\r\n context.vehicleInfo?.isHybird && {trans(\"vehicales:veh-hybrid\")}\r\n }\r\n {/* سيدان */}\r\n
    \r\n
    \r\n

    \r\n {\r\n siteDesc\r\n }\r\n

    \r\n {\r\n pdf && ()\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useEffect, useRef, useState, useContext } from \"react\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport axios from \"axios\";\r\nimport config from '../../../configuration/config.json';\r\nimport { union } from \"lodash\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { groupBy, mapValues, omit, trimEnd } from \"lodash\";\r\nimport ConfirmContext from \"../../../utils/confirmContext\";\r\nexport function CarSpecsTile({ modelslug = null, group, type, showPric, name, price, image, buyOnline, spec, backupImage, hp, cylinders, liter, seats, petrol, offerIndex = 0, productID, colorID, productTarget, brand, hybird, newCar, modelYear }) {\r\n const { t: trans } = useTranslation([\"common\", \"car\", \"offers\", \"vehicales\", \"model\", \"info\"]);\r\n const specRef = useRef(null);\r\n const [specHeight, setHeight] = useState(0);\r\n const lang = localStorage.getItem(\"i18nextLng\");;\r\n const languageDir = 'language-' + localStorage.getItem(\"i18nextLng\");\r\n const context = useContext(ConfirmContext);\r\n\r\n function showData() {\r\n\r\n let vx = document.getElementsByClassName(\"is-show\");\r\n \r\n // vx.map((ev)=> {\r\n // ev.style.height= '0px'\r\n // });\r\n\r\n Array.from(vx).forEach((ev) => {\r\n ev.style.height = '0px';\r\n });\r\n\r\n setTimeout(()=>{\r\n setHeight(specHeight <= 0 ? specRef.current.scrollHeight : 0);\r\n }, 5);\r\n\r\n \r\n }\r\n const [features, setFeatures] = useState([]);\r\n useEffect(() => {\r\n formatFeatures();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (modelslug != null && productTarget != null) {\r\n if (productTarget?.toLowerCase() == modelslug?.toLowerCase() && specHeight <= 0) {\r\n showData();\r\n if (specRef?.current?.scrollHeight) {\r\n\r\n window.scrollTo({\r\n top: specRef?.current?.offsetTop - 200,\r\n behavior: 'smooth'\r\n /* you can also use 'auto' behaviour\r\n in place of 'smooth' */\r\n });\r\n }\r\n\r\n }\r\n }\r\n }, [modelslug, productTarget, specRef?.current?.scrollHeight]);\r\n // to format the features\r\n const formatFeatures = async () => {\r\n try {\r\n const splittedValues = spec?.split('\\n');\r\n if (productTarget) {\r\n // axios.post(\r\n // config.baseURL + 'func',\r\n // {\r\n // \"name\": \"SiteGetCarModelProperities\",\r\n // \"values\": {\r\n // \"ID\": `${productID}`\r\n // }\r\n // }\r\n // ).then(response => {\r\n // const values = response.data.map(item => {\r\n // return item[`${trans(\"model:description\")}`]\r\n // });\r\n // const unionValues = union(splittedValues, values);\r\n // setFeatures(unionValues);\r\n // }).catch(error => {\r\n // setFeatures(splittedValues);\r\n // console.log('Error no values were coming by request', error);\r\n // });\r\n\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Fetch_InvProductsEquipments\",\r\n \"values\": {\r\n \"GUID\": `${productTarget}`\r\n }\r\n }\r\n ).then(response => {\r\n\r\n const groupResult = mapValues(groupBy(response.data, 'ID'), fList => fList.map(items => omit(items, 'ID')));\r\n\r\n var dataFinal = [];\r\n Object.keys(groupResult)?.map((key, index) => {\r\n\r\n var data = [];\r\n var note = \"\";\r\n groupResult[key].forEach((a, i) => {\r\n if (lang == \"ar\") {\r\n note = note + a.DescriptionAr + \"\\n\" + a.NoteAr + \"\\n\";\r\n a.note = note;\r\n } else {\r\n note = note + a.DescriptionEn + \"\\n\" + a.NoteEn + \"\\n\";\r\n a.note = note;\r\n }\r\n\r\n if (i == (groupResult[key].length - 1))\r\n data = [...data, a];\r\n\r\n })\r\n dataFinal = [...dataFinal, ...data];\r\n\r\n })\r\n\r\n // const unionValues = union(splittedValues, values);\r\n setFeatures(dataFinal);\r\n }).catch(error => {\r\n // setFeatures(splittedValues);\r\n console.log('Error no values were coming by request', error);\r\n });\r\n\r\n\r\n }\r\n } catch (error) {\r\n console.log(`Error in spliting values ${error}`);\r\n }\r\n };\r\n function sendRequest() {\r\n try {\r\n context.onShow({\r\n\r\n displayConfirm: true,\r\n title: name,\r\n image: image,\r\n brand: brand,\r\n type: type,\r\n isHyper: hybird,\r\n isNew: newCar,\r\n defaultColorID: colorID,\r\n modelYear: modelYear,\r\n cartDetails: {\r\n id: productID,\r\n name: name,\r\n brand: brand,\r\n image: image,\r\n Type: \"car\",\r\n },\r\n carOrder: {\r\n vehicle: productID,\r\n group: group\r\n },\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {name}\r\n\r\n {/*
    \r\n {trans(\"offers:offer\") + ' ' + offerIndex}\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {name}\r\n

    \r\n {showPric &&
    \r\n {trans(\"info:product_price\")}\r\n

    \r\n \r\n

    \r\n
    }\r\n
    \r\n
    \r\n {(buyOnline == true) && {trans(\"info:Available_for_purchase_online\")}}\r\n \r\n
    \r\n \r\n {trans(\"info:buy\")}\r\n \"hassan\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {cylinders}\r\n {trans(\"car:cylinders\")}\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {seats}\r\n {trans(\"car:seats\")}\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n
    \r\n \r\n {hp}\r\n {trans(\"car:horse\")}\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {liter}\r\n {trans(\"car:liter\")}\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {petrol}\r\n {trans(\"vehicales:veh-petrol\")}\r\n \r\n
    \r\n \"petrol\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n {\r\n features?.map((details, index) => {\r\n return (\r\n (details[\"note\"] && details[\"note\"].split('\\n').length > 0 && details[\"note\"].split('\\n')[0] != \"null\" && trimEnd(details[\"note\"]).toString() != \"\") ?\r\n
    \r\n

    {lang == \"ar\" ? details?.sectionAr : details?.sectionEn}

    \r\n\r\n
      \r\n {\r\n details[\"note\"].split('\\n').map((note, index) => {\r\n\r\n return (\r\n\r\n trimEnd(note) ?\r\n
    • \r\n {note}\r\n
    • \r\n : null\r\n\r\n );\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 features?.map((item, index) => {\r\n return (\r\n
    • \r\n {\r\n item\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 { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport { CarSpecsTile } from \"../components/carSpecsTile\";\r\nimport { useParams } from \"react-router\";\r\nimport axios from \"axios\";\r\nimport { slugSplitter } from \"../../../utils/slugManager\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function VehicleSpecsPage({ modelslug, vehicle }) {\r\n\r\n const { slug, brand } = useParams();\r\n const [models, setModels] = useState([]);\r\n const [backUpImage, setBackUpImage] = useState(\"\");\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n useEffect(() => {\r\n\r\n setModels([]);\r\n setBackUpImage(\"\");\r\n\r\n if (vehicle?.group)\r\n callback(vehicle);\r\n }, [slug, vehicle]);\r\n const callback = useCallback(async (vehicle) => {\r\n try {\r\n setModels([]);\r\n setBackUpImage(\"\");\r\n\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = lang + \"/api/VehicleSpecs/\" + slugSplitter(vehicle?.group) + \"/\" + vehicle?.year + \"/specs\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"VehicleSpecsPage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash) {\r\n setModels(datacash.models);\r\n setBackUpImage(datacash.backupImage);\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/VehicleSpecs/\" + slugSplitter(vehicle?.group) + \"/\" + vehicle?.year + \"/specs\",\r\n method: \"get\",\r\n });\r\n\r\n setModels(response.data.models);\r\n setBackUpImage(response.data.backupImage);\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"VehicleSpecsPage\").then((cache) => {\r\n cache.put(lang + \"/api/VehicleSpecs/\" + slugSplitter(vehicle?.group) + \"/\" + vehicle?.year + \"/specs\", dataResponse);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n }\r\n }, [slug, brand]);\r\n return (\r\n \r\n\r\n
    \r\n\r\n {\r\n models?.map((model, index) => {\r\n return (\r\n\r\n \r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n );\r\n}","import { useTranslation } from \"react-i18next\";\r\nimport config from \"../../../configuration/config.json\"\r\n\r\nexport const FeatureCard = ({ image = null, title = '', description = '' }) => {\r\n const {i18n} = useTranslation();\r\n const languageDir = \"language-\" + i18n.language;\r\n const dir = i18n.language == 'en' ? 'l' :'r';\r\n return (\r\n
    \r\n
    \r\n
    \r\n e.target.style.display = 'none'}/>\r\n
    \r\n
    \r\n

    \r\n {title}\r\n

    \r\n

    \r\n {description}\r\n

    \r\n
    \r\n
    \r\n
    \r\n )\r\n};","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router\";\r\nimport axios from \"axios\";\r\nimport { slugSplitter } from \"../../../utils/slugManager\";\r\nimport { FeatureCard } from \"../components/featureCard\";\r\nimport config from \"../../../configuration/config.json\";\r\n\r\nexport function VehicleFeaturePage() {\r\n\r\n const { slug,group,year, brand } = useParams();\r\n const [features, setFeatures] = useState([]);\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n useEffect(() => {\r\n setFeatures([]);\r\n callback();\r\n }, [group, year]);\r\n const callback = useCallback(async () => {\r\n try {\r\n setFeatures([]);\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/VehicleFeature/\" + slugSplitter(brand) + \"/\" + group + \"/\"+ year +\"/feature\",\r\n method: \"get\",\r\n });\r\n\r\n setFeatures(response.data);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [group,year, brand]);\r\n return (\r\n \r\n
    \r\n
    \r\n {\r\n features?.map((feature, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { Fragment, useCallback, useEffect, useState, useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FilterButton } from \"../../../components/__simple/_filterButton\";\r\nimport { useParams } from \"react-router\";\r\nimport axios from \"axios\";\r\nimport { slugSplitter } from \"../../../utils/slugManager\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport ImageGallery from \"react-image-gallery\";\r\nexport function VehicleGalleryPage() {\r\n const { t: trans, i18n } = useTranslation([\"car\", \"new\"]);\r\n const { slug, brand, group,year } = useParams();\r\n const [gallery, setGallery] = useState([]);\r\n const [types, setTypes] = useState([]);\r\n const [filteredGallery, setFilteredGallery] = useState([]);\r\n const [filter, setFilter] = useState();\r\n const [innerCarImages, setInnerCarImages] = useState([]);\r\n const [outerCarImages, setOuterCarImages] = useState([]);\r\n const [wheels, setWheels] = useState([]);\r\n const [activePart, setActivePart] = useState(0);\r\n const popRef = useRef(null);\r\n const [activeImage, setActiveImage] = useState(0);\r\n const [isFullScreen, setIsFullScreen] = useState(false);\r\n let lang = i18n.language;\r\n\r\n useEffect(() => {\r\n setFilteredGallery([]);\r\n setInnerCarImages([]);\r\n setOuterCarImages([]);\r\n setWheels([]);\r\n\r\n callback();\r\n }, [group,year]);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n\r\n const innerImages = [];\r\n const outerImages = [];\r\n const wheelsImages = [];\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/VehicleGallery/\" + slugSplitter(brand) + \"/\" + group +\"/\" + year + \"/gallery\",\r\n method: \"get\",\r\n });\r\n\r\n setTypes(response.data.types);\r\n setGallery(response.data.gallery);\r\n\r\n if (Array.isArray(response?.data?.gallery)) {\r\n const responseData = response.data;\r\n response?.data?.gallery?.map((item, index) => {\r\n item[\"original\"] = config.mainURL + item.imagePath;\r\n item[\"thumbnail\"] = config.mainURL + item.imagePath;\r\n item[\"originalHeight\"] = \"50\";\r\n item[\"originalWidth\"] = \"50\";\r\n item[\"sizes\"] = \"50\";\r\n item[\"fullscreen\"] = config.mainURL + item.imagePath;\r\n if (item?.type?.toLowerCase().includes(\"inner\")) {\r\n\r\n innerImages.push(item);\r\n\r\n } else if (item?.type?.toLowerCase().includes(\"wheel\")) {\r\n\r\n wheelsImages.push(item);\r\n } else {\r\n\r\n outerImages.push(item);\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n\r\n setInnerCarImages(innerImages);\r\n setOuterCarImages(outerImages);\r\n setWheels(wheelsImages);\r\n\r\n\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [group,year, brand]);\r\n\r\n\r\n useEffect(() => {\r\n // setFilteredGallery(gallery)\r\n\r\n const ap = outerCarImages.length > 0 ? 0 : (innerCarImages.length > 0 ? 1 : 2)\r\n if (wheels.length > 0 || outerCarImages.length > 0 || innerCarImages.length > 0) {\r\n filterImage(ap);\r\n setActivePart(ap);\r\n }\r\n\r\n\r\n }, [wheels, outerCarImages, innerCarImages])\r\n\r\n // useEffect(() => {\r\n // if (types.length > 0)\r\n // setFilter(types[0].name)\r\n // }, [types])\r\n\r\n function filterImage(filter) {\r\n // setFilter(filter);\r\n\r\n // let data = gallery.filter((img) => {\r\n // return img.type === filter;\r\n // });\r\n // console.log(\"outerImages>>>>>>>>>filterImage>>>>>>>>>>>>>>>>:\", filter);\r\n if (filter == 0) {\r\n setFilteredGallery(outerCarImages);\r\n } else if (filter == 1) {\r\n setFilteredGallery(innerCarImages);\r\n } else {\r\n setFilteredGallery(wheels);\r\n\r\n }\r\n setActiveImage(0);\r\n\r\n\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {\r\n\r\n setIsFullScreen(e);\r\n }} />\r\n
    \r\n
    \r\n {/* {\r\n types.map(({ name }) => {\r\n return (\r\n filterImage(name)}\r\n isActive={filter === name}\r\n />\r\n )\r\n })\r\n } */}\r\n\r\n\r\n
    \r\n\r\n {\r\n outerCarImages?.length > 0 && {\r\n setActivePart(0);\r\n filterImage(0);\r\n\r\n }} name={trans(\"car:external-images\")} isActive={activePart == 0} />\r\n }\r\n {\r\n innerCarImages?.length > 0 && {\r\n setActivePart(1);\r\n filterImage(1);\r\n }} name={trans(\"car:internal-images\")} isActive={activePart == 1} />\r\n }\r\n {\r\n wheels?.length > 0 && {\r\n setActivePart(2);\r\n filterImage(2);\r\n }} name={trans(\"info:wheels\")} isActive={activePart == 2} />\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n filteredGallery?.map((img, index) => {\r\n return {\r\n\r\n setActiveImage(index);\r\n\r\n try {\r\n if (popRef) {\r\n\r\n // console.log(\">>>>>>>>>>>>>>>>>>>>>>>>>>:\", popRef.current.toggleFullScreen());\r\n popRef.current.toggleFullScreen();\r\n popRef.current.slideToIndex(index)\r\n }\r\n\r\n } catch (error) {\r\n\r\n }\r\n }}\r\n >\r\n\r\n e.target.style.display = 'none'}\r\n className={\"object-full object-cover \"\r\n // + (filter !== img.type ? \"hidden\" : \"\")\r\n\r\n }\r\n\r\n alt={img.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}","import config from \"../../../configuration/config.json\"\r\nexport function CarColorPicker({ color, active, imageBase64 = null, urlImageColor,name,...prop }) {\r\n let isActive = (color === active);\r\n if (imageBase64) {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n e.target.style.display = 'none'}/>\r\n
    \r\n
    \r\n );\r\n } else if (urlImageColor) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n e.target.style.display = 'none'}/>\r\n
    \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n {color}\r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n
    \r\n );\r\n}\r\n","import axios from \"axios\";\r\nimport { useState, useEffect, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link,useHistory } from \"react-router-dom\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport config from '../../../configuration/config.json';\r\nimport { union } from \"lodash\";\r\nimport ConfirmContext from \"../../../utils/confirmContext\";\r\nexport function CarModel({ group, type, image, name, spec, price, backupImage,\r\n offerIndex, extraSpecsTo = \"#\", productID, colorID, productTarget, brand, hybird, newCar,\r\n modelYear, showPric, brandID, buyOnline }) {\r\n const { t: trans } = useTranslation([\"common\", \"offers\", \"model\", \"info\"]);\r\n const [features, setFeatures] = useState([]);\r\n let langaugeDir = 'language-' + localStorage.getItem(\"i18nextLng\");\r\n const context = useContext(ConfirmContext);\r\n let history = useHistory();\r\n const isToyota = (brand == \"تويوتا\" || brand.toLowerCase() == \"toyota\");\r\n useEffect(() => {\r\n formatFeatures();\r\n console.log(\"CarModel brand:\", brand)\r\n }, []);\r\n // to format the features\r\n const formatFeatures = () => {\r\n try {\r\n const splittedValues = spec?.split('\\n');\r\n setFeatures(splittedValues);\r\n\r\n\r\n } catch (error) {\r\n console.log(`Error in spliting values ${error}`);\r\n }\r\n };\r\n function sendRequest() {\r\n try {\r\n context.onShow(\r\n {\r\n displayConfirm: true,\r\n title: name,\r\n image: image,\r\n brand: brand,\r\n type: type,\r\n brandID: brandID,\r\n isHyper: hybird,\r\n isNew: newCar,\r\n defaultColorID: colorID,\r\n modelYear: modelYear,\r\n cartDetails: {\r\n id: productID,\r\n name: name,\r\n brand: brand,\r\n image: image,\r\n Type: \"car\",\r\n },\r\n carOrder: {\r\n vehicle: productID,\r\n group: group\r\n }\r\n }\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n function gotoextraSpecs() {\r\n const url = extraSpecsTo ? extraSpecsTo : \"#\";\r\n history.push(url);\r\n }\r\n return (\r\n
    \r\n\r\n
    \r\n\r\n {\r\n gotoextraSpecs();\r\n }} className={\"\"} src={image !== \"null\" ? config.mainURL + image : backupImage} alt={\"\"} />\r\n\r\n {/*
    \r\n {trans(\"offers:offer\") + ' ' + offerIndex}\r\n
    */}\r\n
    \r\n {(buyOnline == true) && {trans(\"info:Available_for_purchase_online\")}}\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n
    \r\n

    {name}

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

    \r\n {showPric && }\r\n

    \r\n {\r\n sendRequest();\r\n }}>\r\n\r\n
    \r\n {trans(\"info:buy\")}\r\n \"hassan\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n (features?.length > 0) && (\r\n
      \r\n {\r\n features?.map((item, index) => {\r\n if (++index <= 5)\r\n return
    • \r\n {item}\r\n
    • \r\n })\r\n }\r\n {/*
    • */}\r\n {/* */}\r\n {/*
    • */}\r\n
    )\r\n }\r\n\r\n\r\n {\r\n // features?.length > 6 &&\r\n //
    \r\n // \r\n // {trans(\"common:show-more\")}\r\n // \r\n //
    \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n {/*
    */}\r\n {/*
    00
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n \r\n {trans(\"common:show-more\")}\r\n \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\n","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function PageLink({title, link, className}) {\r\n const {t: trans} = useTranslation(\"common\")\r\n return (\r\n
    \r\n

    {title}

    \r\n \r\n {trans(\"show-more\")}\r\n \r\n
    \r\n );\r\n}\r\n","import {useTranslation} from \"react-i18next\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function CarFeature({title, desc, image}) {\r\n\r\n return (\r\n
    \r\n
    \r\n {title}/\r\n
    \r\n
    \r\n

    {title}

    \r\n

    \r\n {desc}\r\n

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\n","import { Fragment, useEffect, useState, useContext, useCallback, useRef } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { FilterButton } from \"../../../components/__simple/_filterButton\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport { CarColorPicker } from \"../components/colorPicker\";\r\nimport { CarModel } from \"../components/carModel\";\r\nimport { PageLink } from \"../../../components/__simple/_pageLink\";\r\nimport Offer from \"../../../components/offer\";\r\nimport { CarFeature } from \"../components/carFeature\";\r\nimport Info from \"../../../components/_info\";\r\nimport axios from \"axios\";\r\nimport { useParams, useRouteMatch } from \"react-router\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport config from '../../../configuration/config.json';\r\nimport _ from \"lodash\";\r\nimport { toast } from 'react-toastify';\r\nimport ImageGallery from \"react-image-gallery\";\r\nimport OverViewContext from \"../overviewContext\";\r\nimport { slugCombine, slugSplitter } from '../../../utils/slugManager';\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport PageHeading from \"../../../components/__simple/_pageheading\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function VehicleOverViewPage({ setSectionActive, mainurl, setIsLoding, currntvehicle }) {\r\n const { t: trans } = useTranslation([\"car\", \"heading\", \"vehicales\", \"model\", \"navbar\", \"finance\", \"inputs\", \"info\"]);\r\n const [selectedColor, setSelectedColor] = useState(null);\r\n const dispatch = useDispatch();\r\n const { slug, group, year, brand } = useParams();\r\n const [vehicle, setVehicle] = useState({});\r\n const [models, setModels] = useState([]);\r\n const [features, setFeatures] = useState([]);\r\n const [gallery, setGallery] = useState([]);\r\n const [isLoadingImages, setIsLoadingImages] = useState(false);\r\n const [vehicleOffers, setVehicleOffers] = useState([]);\r\n const [innerCarImages, setInnerCarImages] = useState([]);\r\n const [outerCarImages, setOuterCarImages] = useState([]);\r\n const [wheels, setWheels] = useState([]);\r\n const [carColors, setCarColors] = useState([]);\r\n const [activePart, setActivePart] = useState(0);\r\n const [carModels, setCarModels] = useState([]);\r\n const [selectedModel, setSelectedModel] = useState(null);\r\n const [allImagesCount, setAllImagesCount] = useState(0);\r\n const [activeColor, setActiveColor] = useState(\"\");\r\n const [activeModel, setActiveModel] = useState({});\r\n const [isFullScreen, setIsFullScreen] = useState(false);\r\n const [activeImage, setActiveImage] = useState(0);\r\n //---------------------------------------------------------\r\n const popRef = useRef(null);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const { handleChangeOverViewContent } = useContext(OverViewContext);\r\n\r\n useEffect(() => {\r\n\r\n if (currntvehicle && currntvehicle?.productID != vehicle?.productID) {\r\n setIsLoding(true);\r\n setActiveModel({});\r\n setActiveOutColor(\"\");\r\n setActiveINColor(\"\");\r\n setSelectedColor(\"\");\r\n resetColorsValues();\r\n resetValues();\r\n setVehicle({});\r\n setModels([]);\r\n setFeatures([]);\r\n setGallery([]);\r\n setCarModels([]);\r\n setCarColors([]);\r\n setINCarColors([]);\r\n setOUTCarColors([]);\r\n setTimeout(() => {\r\n if (currntvehicle?.productID)\r\n callback(currntvehicle);\r\n }, 1000)\r\n }\r\n\r\n }, [currntvehicle]);\r\n\r\n useEffect(() => {\r\n if (activeModel && activeModel?.productID) {\r\n\r\n afterChangeDataType(activeModel);\r\n }\r\n\r\n }, [activeModel]);\r\n\r\n const callback = useCallback(async (currntvehicle) => {\r\n\r\n var curentCars;\r\n var firstItem = {};\r\n\r\n // try {\r\n // const response = await axios.request({\r\n // baseURL: config.controllURL,\r\n // url: lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + slug + \"/overview\",\r\n // method: \"get\",\r\n // });\r\n\r\n // setVehicle(response.data.vehicle);\r\n // firstItem = response.data.vehicle;\r\n\r\n // await afterChangeDataType(firstItem);\r\n\r\n\r\n\r\n\r\n // } catch (error) {\r\n // console.log(error);\r\n\r\n // }\r\n\r\n // setVehicle(currntvehicle);\r\n firstItem = currntvehicle;\r\n\r\n // await afterChangeDataType(firstItem);\r\n //---------------------\r\n\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = lang + \"/api/VehicleOverview/\" + slugSplitter(currntvehicle?.group) + \"/\" + currntvehicle?.year + \"/models\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"VehicleOverViewPage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash && datacash?.length > 0) {\r\n setModels(datacash);\r\n if (datacash && datacash.length > 0) {\r\n\r\n afterChangeDataType(datacash[0]);\r\n setActiveModel(datacash[0]);\r\n }\r\n await getCarModels(datacash);\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n try {\r\n const responsemodels = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/VehicleOverview/\" + slugSplitter(currntvehicle?.group) + \"/\" + currntvehicle?.year + \"/models\",\r\n method: \"get\",\r\n });\r\n\r\n curentCars = responsemodels.data.models;\r\n setModels(responsemodels.data.models);\r\n \r\n if (curentCars && curentCars.length > 0) {\r\n setActiveModel(curentCars[0]);\r\n }\r\n await getCarModels(responsemodels.data.models);\r\n\r\n const dataResponse = new Response(JSON.stringify(curentCars));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"VehicleOverViewPage\").then((cache) => {\r\n cache.put(lang + \"/api/VehicleOverview/\" + slugSplitter(currntvehicle?.group) + \"/\" + currntvehicle?.year + \"/models\", dataResponse);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n\r\n }\r\n\r\n //---------------------\r\n var getCach = false;\r\n try {\r\n if (\"caches\" in window) {\r\n // var curl = lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + slug + \"/overviewextra\";\r\n var curl = lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + group + \"/\" + year + \"/overviewextra\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"VehicleOverViewPage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash2 = await cachedResponse?.json();\r\n\r\n if (datacash2) {\r\n\r\n setFeatures(datacash2.features);\r\n const filterG = [];\r\n\r\n datacash2?.gallery?.map((item, index) => {\r\n item[\"original\"] = config.mainURL + item.imagePath;\r\n item[\"thumbnail\"] = config.mainURL + item.imagePath;\r\n item[\"originalHeight\"] = \"50\";\r\n item[\"originalWidth\"] = \"50\";\r\n item[\"sizes\"] = \"50\";\r\n item[\"fullscreen\"] = config.mainURL + item.imagePath;\r\n filterG.push(item);\r\n\r\n\r\n });\r\n\r\n if (filterG && filterG.length > 0)\r\n setGallery(filterG);\r\n\r\n if (setIsLoding) {\r\n setIsLoding(false);\r\n getCach = true;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n try {\r\n const response2 = await axios.request({\r\n baseURL: config.controllURL,\r\n // url: lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + slug + \"/overviewextra\",\r\n url: lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + group + \"/\" + year + \"/overviewextra\",\r\n method: \"get\",\r\n });\r\n\r\n setFeatures(response2.data.features);\r\n const filterG = [];\r\n\r\n response2?.data?.gallery?.map((item, index) => {\r\n item[\"original\"] = config.mainURL + item.imagePath;\r\n item[\"thumbnail\"] = config.mainURL + item.imagePath;\r\n item[\"originalHeight\"] = \"50\";\r\n item[\"originalWidth\"] = \"50\";\r\n item[\"sizes\"] = \"50\";\r\n item[\"fullscreen\"] = config.mainURL + item.imagePath;\r\n filterG.push(item);\r\n\r\n\r\n });\r\n\r\n setGallery(filterG);\r\n\r\n if (setIsLoding && getCach == false) {\r\n setIsLoding(false);\r\n }\r\n\r\n\r\n const dataResponse2 = new Response(JSON.stringify(response2.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"VehicleOverViewPage\").then((cache) => {\r\n // cache.put(lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + slug + \"/overviewextra\", dataResponse2);\r\n cache.put(lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + group + \"/\" + year + \"/overviewextra\", dataResponse2);\r\n\r\n });\r\n }\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n if (setIsLoding && getCach == false) {\r\n setIsLoding(false);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n }, [group]);\r\n const [INcolors, setINCarColors] = useState([]);\r\n const [OUTcolors, setOUTCarColors] = useState([]);\r\n const [INcolorsCode, setINCarColorsCode] = useState([]);\r\n const [OUTcolorsCode, setOUTCarColorsCode] = useState([]);\r\n const [cashCarImages, setCashCarImages] = useState({});\r\n const [innerCarImagesJson, setInnerCarImagesJson] = useState(null);\r\n const [outerCarImagesJson, setOuterCarImagesJson] = useState(null);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (OUTcolors && OUTcolors.length > 0 && outerCarImagesJson && !outerCarImagesJson[activeOutColor]) {\r\n var colornew = OUTcolors.find(c => outerCarImagesJson[c.ColorID] != null);\r\n if (colornew && colornew.ColorID && activeOutColor != colornew.ColorID) {\r\n setSelectedColor(null);\r\n setActiveOutColor(colornew.ColorID);\r\n }\r\n }\r\n\r\n }, 1000)\r\n\r\n }, [outerCarImagesJson, OUTcolors]);\r\n\r\n\r\n const fetchCarDesign = async (activeColor, model, partnum = activePart) => {\r\n\r\n if (isLoadingImages == false) {\r\n\r\n setIsLoadingImages(true);\r\n setFilterCarImages([]);\r\n var codeColor = partnum == 0 ? activeColor?.split(\"/\")[0] : activeColor?.split(\"/\")[1];\r\n var codeColorIN = activeColor?.split(\"/\")[1];\r\n var codeColorOUT = activeColor?.split(\"/\")[0];\r\n\r\n setAllImagesCount(0);\r\n\r\n var imagesPart = [];\r\n const prefix = 'data:image/png;base64,';\r\n if (model) {\r\n if (cashCarImages[model + \"-part-\" + partnum]) {\r\n setIsLoadingImages(false);\r\n var AllCarImages = cashCarImages[model + \"-part-\" + partnum];\r\n var AllCarImagesIN = cashCarImages[model + \"-part-\" + 1];\r\n var AllCarImagesOUT = cashCarImages[model + \"-part-\" + 0];\r\n\r\n setOuterCarImagesJson(AllCarImagesOUT);\r\n setInnerCarImagesJson(AllCarImagesIN);\r\n if (AllCarImagesIN) {\r\n\r\n setInnerCarImages(AllCarImagesIN[codeColorIN]);\r\n } else {\r\n setInnerCarImages([]);\r\n\r\n }\r\n\r\n if (AllCarImagesOUT) {\r\n\r\n setOuterCarImages(AllCarImagesOUT[codeColorOUT]);\r\n } else {\r\n setOuterCarImages([]);\r\n\r\n }\r\n\r\n } else {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //SiteFetchCarColorImages\r\n \"Name\": \"SiteFetchCarColorCodeImages\",\r\n \"Values\": {\r\n \"Id\": model,\r\n \"year\": year,\r\n // \"ColorID\": String(codeColor),\r\n \"ColorID\": null,\r\n \"FieldNameList\": null\r\n }\r\n }\r\n ).then(response => {\r\n setIsLoadingImages(false);\r\n var maincolorimageIndex = 0;\r\n if (Array.isArray(response.data)) {\r\n const responseData = response.data;\r\n // console.log(\"SiteFetchCarColorCodeImages responseData>>>>>>>>>>>>>>>>>>>>>>>>>:\", responseData);\r\n const groupResult = mapValues(groupBy(response.data, 'ColorCode'), fList => fList.map(items => omit(items, 'ColorCode')));\r\n\r\n var allcolor = [...OUTcolorsCode, ...INcolorsCode];\r\n\r\n\r\n allcolor?.map((key, index) => {\r\n var colorCodeItems = groupResult[key];\r\n if (colorCodeItems?.length > 0) {\r\n\r\n if (OUTcolorsCode?.includes(key)) {\r\n\r\n\r\n\r\n var cimage = cashCarImages[model + \"-part-\" + 0];\r\n\r\n if (!cimage) {\r\n\r\n cimage = {}\r\n }\r\n\r\n cimage[key] = colorCodeItems;\r\n cashCarImages[model + \"-part-\" + 0] = cimage;\r\n // cashCarImages[model + \"-\" + key + \"-part-\" + 0] = colorCodeItems;\r\n if (codeColorOUT == key) {\r\n imagesPart = colorCodeItems;\r\n setOuterCarImages(colorCodeItems);\r\n\r\n }\r\n\r\n } else if (INcolorsCode?.includes(key)) {\r\n\r\n var cimage = cashCarImages[model + \"-part-\" + 1];\r\n\r\n if (!cimage) {\r\n\r\n cimage = {}\r\n }\r\n\r\n cimage[key] = colorCodeItems;\r\n cashCarImages[model + \"-part-\" + 1] = cimage;\r\n // cashCarImages[model + \"-\" + key + \"-part-\" + 1] = colorCodeItems;\r\n if (codeColorIN == key) {\r\n\r\n imagesPart = colorCodeItems;\r\n setInnerCarImages(colorCodeItems);\r\n }\r\n\r\n\r\n } else {\r\n\r\n var cimage = cashCarImages[model + \"-part-\" + 2];\r\n\r\n if (!cimage) {\r\n\r\n cimage = {}\r\n }\r\n\r\n cimage[key] = colorCodeItems;\r\n cashCarImages[model + \"-part-\" + 2] = cimage;\r\n\r\n // cashCarImages[model + \"-\" + key + \"-part-\" + 2] = colorCodeItems;\r\n if (codeColor == key) {\r\n\r\n imagesPart = colorCodeItems;\r\n setWheels(colorCodeItems);\r\n }\r\n\r\n\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n\r\n\r\n // console.log(\"cashCarImages>>>>>>>>>>>>>>>>>>>>>>>>>:\", cashCarImages);\r\n\r\n\r\n const imagesCount = imagesPart?.length;\r\n setAllImagesCount(imagesCount);\r\n\r\n var AllCarImagesIN = cashCarImages[model + \"-part-\" + 1];\r\n var AllCarImagesOUT = cashCarImages[model + \"-part-\" + 0];\r\n setOuterCarImagesJson(AllCarImagesOUT);\r\n setInnerCarImagesJson(AllCarImagesIN);\r\n // console.log(\"fetchCarDesign AllCarImagesIN:\", AllCarImagesIN);\r\n // console.log(\"fetchCarDesign AllCarImagesOUT:\", AllCarImagesOUT);\r\n\r\n if (AllCarImagesIN) {\r\n\r\n setInnerCarImages(AllCarImagesIN[codeColorIN]);\r\n } else {\r\n setInnerCarImages([]);\r\n\r\n }\r\n\r\n if (AllCarImagesOUT) {\r\n\r\n setOuterCarImages(AllCarImagesOUT[codeColorOUT]);\r\n } else {\r\n setOuterCarImages([]);\r\n\r\n }\r\n\r\n // setAllCarImages([...outerImages, ...innerImages, ...wheelsImages])\r\n setIsLoadingImages(false);\r\n\r\n\r\n\r\n\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n setIsLoadingImages(false);\r\n cashCarImages[model + \"-part-\" + partnum] = {};\r\n });\r\n\r\n }\r\n\r\n }\r\n }\r\n };\r\n\r\n\r\n\r\n // to change the overview of the vehicle\r\n const handleRequestChangeOverview = (data, productID) => {\r\n let result = [];\r\n const finalItem = {\r\n name: null,\r\n isNew: false,\r\n isHybird: false,\r\n product: null,\r\n group: null,\r\n price: null,\r\n tax: null,\r\n discount: 0,\r\n modelTypes: null\r\n };\r\n try {\r\n if (data) {\r\n result = data.filter(item => {\r\n return String(item.productID) == productID\r\n });\r\n } else {\r\n result = models.filter(item => {\r\n return String(item.productID) == productID\r\n });\r\n }\r\n if (result.length > 0) {\r\n const itemValue = result[0];\r\n finalItem.modelTypes = itemValue?.type;\r\n finalItem.isHybird = itemValue?.hybird;\r\n finalItem.isNew = itemValue?.newCar;\r\n finalItem.product = itemValue?.productID;\r\n finalItem.name = itemValue?.name\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n handleChangeOverViewContent(finalItem);\r\n };\r\n // to get the active part of section\r\n const [filterCarImages, setFilterCarImages] = useState([]);\r\n const getActivePartSection = async (activePart, thisSelectedColorID = selectedColor?.ColorID, Model = activeModel) => {\r\n\r\n\r\n setFilterCarImages([]);\r\n setActivePart(activePart);\r\n let result = [];\r\n\r\n if (activePart === 0) {\r\n\r\n if (outerCarImages?.length > 0) {\r\n result = outerCarImages;\r\n\r\n }\r\n\r\n } else if (activePart === 1) {\r\n\r\n\r\n if (innerCarImages?.length > 0) {\r\n result = innerCarImages;\r\n\r\n }\r\n\r\n } else if (activePart === 2) {\r\n\r\n if (wheels?.length > 0) {\r\n result = wheels;\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n setFilterCarImages(result);\r\n return result;\r\n };\r\n\r\n\r\n const [cashColors, setCashColors] = useState({});\r\n const handleFetchModelAvaliableColors = async (productTypeID, currentColorID, year, thisSelectedColorID = selectedColor?.ColorID) => {\r\n let _colors = [];\r\n\r\n\r\n try {\r\n\r\n if (cashColors[productTypeID]) {\r\n _colors = cashColors[productTypeID];\r\n setCarColors(_colors);\r\n let _default = null;\r\n\r\n _default = _colors.find(item => item.ColorID == thisSelectedColorID) ?? _colors.find(item => item.ColorID == currentColorID);\r\n\r\n\r\n setSelectedColor(_default);\r\n\r\n } else {\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"site_fetchColorOfTypeWithOutImages\",\r\n \"Values\": {\r\n \"Type\": productTypeID,\r\n \"model\": year\r\n }\r\n }\r\n );\r\n\r\n if (response.status == 200) {\r\n\r\n var cc = { ...cashColors };\r\n cc[productTypeID] = response.data;\r\n setCashColors(cc);\r\n\r\n\r\n\r\n\r\n _colors = response.data;\r\n setCarColors(_colors);\r\n let _default = null;\r\n\r\n _default = _colors.find(item => item.ColorID === thisSelectedColorID) ?? _colors.find(item => item.ColorID === currentColorID);\r\n if (_default) {\r\n // filterPriceoffColor(_default);\r\n }\r\n\r\n setSelectedColor(_default);\r\n }\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n\r\n return _colors;\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n var currentInColor = [];\r\n var IN_colors = [];\r\n var currentOutColor = [];\r\n var Out_colors = [];\r\n\r\n var jsoncolors = {};\r\n try {\r\n\r\n carColors?.forEach((item, i) => {\r\n\r\n jsoncolors[item.ColorID] = item;\r\n\r\n if (!currentOutColor.includes(item.ColorID?.split(\"/\")[0])) {\r\n\r\n Out_colors = [...Out_colors, { ColorDescription: item[lang == \"ar\" ? `ColorDescriptionAr` : `ColorDescriptionEn`]?.split(\"/\")[0], ColorID: item.ColorID?.split(\"/\")[0], ColorImage: item?.siteOutColorImage }]\r\n\r\n currentOutColor = [...currentOutColor, item.ColorID?.split(\"/\")[0]]\r\n }\r\n\r\n\r\n if (!currentInColor.includes(item.ColorID?.split(\"/\")[1])) {\r\n\r\n IN_colors = [...IN_colors, { ColorDescription: item[lang == \"ar\" ? `ColorDescriptionAr` : `ColorDescriptionEn`]?.split(\"/\")[1], ColorID: item.ColorID?.split(\"/\")[1], ColorImage: item?.siteInColorImage }]\r\n\r\n currentInColor = [...currentInColor, item.ColorID?.split(\"/\")[1]]\r\n }\r\n\r\n\r\n })\r\n\r\n\r\n setOUTCarColorsCode(currentOutColor);\r\n setINCarColorsCode(currentInColor);\r\n //---------------\r\n\r\n setINCarColors(IN_colors);\r\n setOUTCarColors(Out_colors);\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }, [carColors]);\r\n const afterChangeDataType = async (firstItem, thisSelectedColorID = selectedColor?.ColorID, partnum = activePart) => {\r\n\r\n handleRequestChangeOverview(null, firstItem?.productID);\r\n const colors = await handleFetchModelAvaliableColors(firstItem?.type ?? firstItem?.Type, firstItem?.colorID ?? firstItem?.ColorID, firstItem?.year);\r\n var currentSelectedColor = colors?.filter(item => item.ColorID == thisSelectedColorID)?.length > 0 ? thisSelectedColorID : colors[0]?.ColorID;\r\n try {\r\n if (currentSelectedColor && currentSelectedColor?.split(\"/\")[0] && currentSelectedColor?.split(\"/\")[1]) {\r\n setActiveOutColor(currentSelectedColor?.split(\"/\")[0]);\r\n setActiveINColor(currentSelectedColor?.split(\"/\")[1]);\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n if (firstItem) {\r\n setCarColors(colors);\r\n // if (allImagesCount == null)\r\n fetchCarDesign(currentSelectedColor, firstItem?.productID);\r\n }\r\n }\r\n\r\n\r\n // to fetch the car models\r\n const getCarModels = async (allModels) => {\r\n let models = [];\r\n try {\r\n models = allModels?.map((item) => {\r\n return {\r\n text: item.modelDescription, value: item.type\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n setCarModels(models);\r\n\r\n\r\n };\r\n // to reset all the state objects\r\n const resetValues = () => {\r\n setOuterCarImagesJson(null);\r\n setInnerCarImagesJson(null);\r\n setAllImagesCount(0);\r\n setInnerCarImages([]);\r\n setOuterCarImages([]);\r\n setWheels([]);\r\n };\r\n\r\n const resetColorsValues = () => {\r\n setOUTCarColors([]);\r\n setINCarColors([]);\r\n\r\n };\r\n\r\n const [activeINColor, setActiveINColor] = useState(\"\");\r\n const [activeOutColor, setActiveOutColor] = useState(\"\");\r\n useEffect(() => {\r\n\r\n if (vehicle?.type)\r\n setActiveModel(vehicle);\r\n\r\n if (vehicle?.colorID)\r\n setActiveColor(vehicle.colorID);\r\n\r\n if (vehicle?.colorID && vehicle?.colorID?.split(\"/\")[0] && vehicle?.colorID?.split(\"/\")[1]) {\r\n setActiveOutColor(vehicle?.colorID?.split(\"/\")[0]);\r\n setActiveINColor(vehicle?.colorID?.split(\"/\")[1]);\r\n }\r\n }, [vehicle]);\r\n\r\n\r\n useEffect(() => {\r\n // setActivePart(0);\r\n if (activeOutColor && activeINColor)\r\n setSelectedColor(carColors.filter(a => a.ColorID == (activeOutColor + \"/\" + activeINColor))[0]);\r\n\r\n if (INcolorsCode?.length > 0 && INcolorsCode?.length > 0 && activeOutColor && activeINColor && activeModel?.productID) {\r\n fetchCarDesign((activeOutColor + \"/\" + activeINColor), activeModel?.productID);\r\n // getActivePartSection(activePart);\r\n\r\n }\r\n }, [activeINColor, activeOutColor, INcolorsCode, OUTcolorsCode, activePart]);\r\n\r\n useEffect(() => {\r\n\r\n // setActivePart(activePart);\r\n getActivePartSection(activePart);\r\n\r\n }, [outerCarImages, innerCarImages, wheels, activePart]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (isLoadingImages == false)\r\n getActivePartSection(activePart);\r\n\r\n }, [isLoadingImages]);\r\n\r\n //---------------------------render----------------------------------\r\n return (\r\n \r\n\r\n
    \r\n\r\n {\r\n outerCarImagesJson &&\r\n {\r\n if (activePart != 0) {\r\n\r\n setActivePart(0);\r\n setFilterCarImages([]);\r\n }\r\n\r\n // getActivePartSection(0);\r\n }} name={trans(\"car:external-images\")} isActive={activePart == 0} />\r\n }\r\n {\r\n innerCarImagesJson &&\r\n {\r\n if (activePart != 1) {\r\n setActivePart(1);\r\n setFilterCarImages([]);\r\n }\r\n // getActivePartSection(1);\r\n }} name={trans(\"car:internal-images\")} isActive={activePart == 1} />\r\n }\r\n {\r\n wheels?.length > 0 &&\r\n {\r\n if (activePart != 2) {\r\n setActivePart(2);\r\n setFilterCarImages([]);\r\n }\r\n // getActivePartSection(2);\r\n }} name={trans(\"info:wheels\")} isActive={activePart == 2} />\r\n }\r\n\r\n\r\n
    \r\n {\r\n // allImagesCount > 0 &&\r\n
    \r\n \r\n {\r\n\r\n filterCarImages?.map((image, index) => {\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 activePart == 0 &&\r\n <>\r\n {\r\n\r\n

    {selectedColor && (lang == \"ar\" ? selectedColor?.ColorDescriptionAr?.split(\"/\")[0] : selectedColor?.ColorDescriptionEn?.split(\"/\")[0])}

    \r\n\r\n }\r\n
    \r\n\r\n {/* {\r\n OUTcolors.length > 0 &&\r\n

    {trans(\"car:exterior_color\")}:

    \r\n } */}\r\n\r\n {\r\n OUTcolors.length > 0 && OUTcolors.map((color, index) => {\r\n return (\r\n outerCarImagesJson && outerCarImagesJson[color.ColorID] &&\r\n {\r\n if (color.ColorID != activeOutColor) {\r\n setSelectedColor([]);\r\n setActiveOutColor(color.ColorID);\r\n\r\n }\r\n\r\n }}\r\n active={activeOutColor} />\r\n\r\n );\r\n })\r\n }\r\n\r\n\r\n
    \r\n \r\n\r\n\r\n }\r\n\r\n {\r\n activePart == 1 &&\r\n\r\n <>\r\n\r\n {\r\n\r\n

    {selectedColor && (lang == \"ar\" ? selectedColor?.ColorDescriptionAr?.split(\"/\")[1] : selectedColor?.ColorDescriptionEn?.split(\"/\")[1])}

    \r\n\r\n }\r\n
    \r\n\r\n {/* {\r\n INcolors.length > 0 &&\r\n

    {trans(\"car:interior_color\")}:

    \r\n } */}\r\n\r\n {\r\n\r\n INcolors.length > 0 && INcolors.map((color, index) => {\r\n return (\r\n innerCarImagesJson && innerCarImagesJson[color.ColorID] &&\r\n {\r\n if (color.ColorID != activeINColor) {\r\n // resetValues();\r\n setSelectedColor([]);\r\n setActiveINColor(color.ColorID);\r\n // setActiveColor(color.ColorID);\r\n // setSelectedColor(color);\r\n // handleChangeCarColor(color.ColorID);\r\n }\r\n\r\n }}\r\n active={activeINColor} />\r\n\r\n );\r\n })\r\n }\r\n\r\n\r\n
    \r\n \r\n\r\n\r\n }\r\n\r\n\r\n {/* \r\n {\r\n\r\n selectedColor &&\r\n

    {selectedColor?.ColorDescriptionAr?.split(\"/\")[1]}

    \r\n\r\n } */}\r\n {\r\n carModels && carModels?.length > 0 &&
    \r\n

    {trans(\"info:price_note\")}

    \r\n {\r\n if (value != activeModel.type) {\r\n setSelectedColor(null);\r\n resetValues();\r\n resetColorsValues();\r\n var mo = models.filter(a => a.type == value)[0]\r\n\r\n afterChangeDataType(mo);\r\n setActiveModel(mo)\r\n }\r\n ;\r\n }}\r\n />\r\n
    \r\n }\r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n {\r\n models?.map((model, index) => {\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 vehicleOffers?.length > 0 &&
    \r\n \r\n \r\n {\r\n\r\n vehicleOffers?.map((item, index) => {\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 features?.length > 0 &&
    \r\n \r\n\r\n
    \r\n {\r\n features?.map((feature, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n }\r\n {\r\n gallery?.length > 0 &&
    \r\n \r\n\r\n
    \r\n {\r\n gallery?.map((img, index) => {\r\n return {\r\n\r\n setActiveImage(index);\r\n\r\n try {\r\n if (popRef) {\r\n\r\n\r\n popRef.current.toggleFullScreen();\r\n popRef.current.slideToIndex(index)\r\n }\r\n\r\n } catch (error) {\r\n\r\n }\r\n }}\r\n\r\n >\r\n e.target.style.display = 'none'}\r\n className={\"object-full object-cover\"}\r\n alt={\"car gellary\"}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n })\r\n }\r\n\r\n
    \r\n \r\n }\r\n {/*
    \r\n \r\n
    */}\r\n\r\n\r\n
    \r\n {\r\n\r\n setIsFullScreen(e);\r\n }} />\r\n
    \r\n\r\n
    \r\n );\r\n}","import {useEffect, useState} from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {CarBanner} from \"../components/carBanner\";\r\nimport axios from \"axios\";\r\nimport {Route, Switch, useLocation, useParams, useRouteMatch} from \"react-router\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {VehicleOfferPage} from \"./offers\";\r\nimport {VehicleSpecsPage} from \"./specs\";\r\nimport {VehicleFeaturePage} from \"./features\";\r\nimport {VehicleGalleryPage} from \"./gallery\";\r\nimport {VehicleOverViewPage} from \"./overview\";\r\nimport ConfirmContext from \"../../../utils/confirmContext\";\r\nimport {useContext, useCallback} from \"react\";\r\nimport OverViewContext from \"../overviewContext\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport {slugSplitter} from '../../../utils/slugManager';\r\nimport {Helmet} from \"react-helmet\";\r\n\r\nexport function VehicleDetailPage() {\r\n const {t: trans} = useTranslation([\"heading\", \"info\", \"vehicales\"]);\r\n let {path, url} = useRouteMatch();\r\n const dispatch = useDispatch();\r\n const {slug, brand, section, modelslug, group, year} = useParams();\r\n const [vehicle, setVehicle] = useState({});\r\n const [isLoding, setIsLoding] = useState(true);\r\n const [sectionActive, setSectionActive] = useState(\"public\");\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const context = useContext(ConfirmContext);\r\n const [vehicleInfo, setVehicleInfo] = useState({\r\n name: null,\r\n isNew: false,\r\n isHybird: false,\r\n product: null,\r\n group: null,\r\n price: null,\r\n tax: null,\r\n discount: 0,\r\n modelTypes: null\r\n });\r\n\r\n\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n\r\n const handleChangeOverViewContent = (data) => {\r\n setVehicleInfo(data);\r\n };\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n setVehicle(null)\r\n\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n // var curl = lang + \"/api/VehicleOverview/\" + 'يارس' + \"/\" + '2024' + \"/overview\";\r\n const curl = lang + \"/api/VehicleOverview/\" + group + \"/\" + year + \"/overview\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"VehicleDetailPage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash) {\r\n\r\n setVehicle(datacash)\r\n }\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n // url: lang + \"/api/VehicleOverview/\" + 'YARIS' + \"/\" + '2024' + \"/overview\",\r\n url: lang + \"/api/VehicleOverview/\" + group + \"/\" + year + \"/overview\",\r\n method: \"get\",\r\n })\r\n setVehicle(response.data.vehicle)\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data.vehicle));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"VehicleDetailPage\").then((cache) => {\r\n // cache.put(lang + \"/api/VehicleOverview/\" + slugSplitter(brand) + \"/\" + slug + \"/overview\", dataResponse);\r\n cache.put(lang + \"/api/VehicleOverview/\" + group + \"/\" + year + \"/overview\", dataResponse);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [group]);\r\n\r\n const handleSetSectionActive = (section) => {\r\n setSectionActive(section);\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n console.log(\"section>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\", section);\r\n if (section)\r\n setSectionActive(section);\r\n }, [section]);\r\n\r\n useEffect(() => {\r\n callback();\r\n }, [group]);\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n const siteFetchSeoCars = async () => {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoCars\",\r\n \"Values\": {\r\n \"GroupID\": group,\r\n \"Year\": year\r\n }\r\n }\r\n );\r\n\r\n if (response.status == 200) {\r\n const resData = response.data[0];\r\n setSeoPageInfo(resData);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n siteFetchSeoCars()\r\n }, [group, year]);\r\n\r\n\r\n return (\r\n <>\r\n { seoPageInfo &&\r\n \r\n \r\n {\r\n seoPageInfo?.title &&\r\n {lang.toLowerCase() == 'ar' ? seoPageInfo?.title : seoPageInfo?.titleEn?? seoPageInfo?.title }\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n {\r\n\r\n handleSetSectionActive(section);\r\n\r\n }}\r\n />\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n\r\n {\r\n <>\r\n
    \r\n setIsLoding(v)}\r\n setSectionActive={(section) => {\r\n\r\n handleSetSectionActive(section);\r\n\r\n }}\r\n currntvehicle={vehicle}\r\n />\r\n
    \r\n\r\n {\r\n\r\n isLoding == false &&\r\n <>\r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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 { Fragment, useEffect, useRef, useState, useContext } from \"react\";\r\nimport { DropDownContext } from \"../../pages/eparts/components/partSearch\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { InputField } from \"../_input/_input\"\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function DropDownInput1({\r\n prps,\r\n styles,\r\n title,\r\n placeholder,\r\n disabled = false,\r\n className,\r\n isSecondary,\r\n inputName,\r\n options = [{ value: \"0\", text: (prps?.lang == 'en' ? 'Choose value' : 'إختيار قيمة') }],\r\n onSelect,\r\n defaultOption = null,\r\n onfilter,\r\n isepart,\r\n errorLabel,\r\n force = false\r\n}) {\r\n const { t: trans, i18n } = useTranslation([]);\r\n let lang = i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n\r\n const optionsRef = useRef(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState(defaultOption != null || defaultOption != undefined ? defaultOption : { value: \"0\", text: (lang == 'en' ? 'Choose value' : 'إختيار قيمة') });\r\n const [filterOptions, setfilterOptions] = useState(options);\r\n useEffect(() => {\r\n\r\n /**\r\n * if clicked on outside of element\r\n */\r\n function handleClickOutside(event) {\r\n if (optionsRef.current && !optionsRef.current.contains(event.target) && isOpen === true) {\r\n setIsOpen(false);\r\n }\r\n }\r\n // if(placeholder != null || placeholder != undefined){\r\n // alert(placeholder);\r\n // let resultValue = options.find((e)=>e.value === placeholder);\r\n // selectOption(resultValue); \r\n // }\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [optionsRef, isOpen]);\r\n\r\n useEffect(() => {\r\n setfilterOptions(options);\r\n\r\n }, [options]);\r\n\r\n function selectOption(option) {\r\n if (onSelect) {\r\n const val = option.value !== '0' ? option.value : '';\r\n onSelect(val);\r\n }\r\n setIsOpen(false);\r\n setSelectedOption(option);\r\n if (onfilter)\r\n if (defaultOption !== option.text)\r\n onfilter(option);\r\n // if (isepart)\r\n //onfilter(option);\r\n\r\n }\r\n\r\n return (\r\n\r\n \r\n\r\n {\r\n inputName ? (\r\n \r\n ) : null\r\n }\r\n\r\n
    \r\n\r\n {\r\n title &&\r\n
    {title}\r\n
    \r\n\r\n }\r\n\r\n\r\n
    \r\n
    {\r\n setIsOpen(!isOpen);\r\n }}>\r\n
    \r\n {\r\n\r\n selectedOption.text\r\n\r\n }\r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n\r\n
    \r\n {\r\n !disabled &&
    \r\n\r\n {\r\n filterOptions && options && options.length > 10 &&\r\n < InputField\r\n extraClasses={\"\"}\r\n placeholder={trans(\"info:search_now\")}\r\n onChangeValue={(value) => {\r\n if (value.target.value) {\r\n const filterData = options?.filter(a => a.text.includes(value.target.value));\r\n setfilterOptions(filterData);\r\n } else {\r\n setfilterOptions(options);\r\n }\r\n\r\n }} />\r\n\r\n }\r\n\r\n
      \r\n {\r\n\r\n filterOptions?.map((option, index) => {\r\n\r\n return (\r\n
    • {\r\n selectOption(option);\r\n // const val = option.value !== '0'? option.value : '';\r\n // onSelect(val);\r\n }} className={option.value + (((index % 2) == 0) ? \" bg-gray-lighter \" : \"\") + ((option?.value == selectedOption?.value) ? \" bg-gray-light \" : \"\")}>\r\n {option.text}\r\n
    • \r\n );\r\n\r\n }\r\n )\r\n }\r\n\r\n
    \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\n\r\nfunction CustomItemServices({moreLink, img, title, borderCSS = \"\",key}) {\r\n\r\n return (\r\n <>\r\n
    \r\n

    {title}

    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default CustomItemServices;\r\n","import axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Price } from \"../../components/__simple/_price\"\r\nimport config from \"../../configuration/config.json\";\r\nfunction CarUser({\r\n id,\r\n img,\r\n name = \"إل سي 2020\",\r\n brand,\r\n brandIcon,\r\n brandImage,\r\n link,\r\n inputDate,\r\n onUpdate,\r\n minPrice,\r\n fromToYear,\r\n showDetails = true,\r\n withMoreLinke = true,\r\n active = false,\r\n onclick\r\n}) {\r\n const { t: trans } = useTranslation([\"common\", \"info\"]);\r\n\r\n const isToyota = (brand?.toLowerCase() === \"تويوتا\" || brand?.toLowerCase() === \"toyota\");\r\n const handleRemoveUserCar = () => {\r\n if (window.confirm('هل ترغب بحث المركبة الحالة؟')) {\r\n try {\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"object\": \"siteUserCars\",\r\n \"values\": {\r\n \"IsDelete\": true\r\n },\r\n \"filters\": `where GUID = '${id}'`\r\n }\r\n ).then(response => {\r\n window.location.reload();\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n } catch (err) {\r\n console.log('error in deleting the vehicle', err);\r\n }\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n

    {name}

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n {\r\n minPrice &&\r\n <>\r\n {(minPrice) && trans(\"info:product_price\")}\r\n\r\n

    {(minPrice) && }

    \r\n \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n {true &&
    \r\n {\r\n inputDate &&\r\n
    \r\n {trans(\"info:input_date\")}\r\n\r\n

    {inputDate}

    \r\n
    \r\n\r\n }\r\n\r\n {showDetails &&
    \r\n {\r\n handleRemoveUserCar(id);\r\n }}\r\n className={\"text-14 icon-btn\"}>\r\n \r\n \r\n {\r\n if (onUpdate) {\r\n onUpdate(id);\r\n }\r\n }}\r\n className={\"text-14 icon-btn\"}>\r\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 CarUser;","import { Link, useHistory } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useState } from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination as SlidePagination } from \"swiper\";\r\nimport OfferSupportedCar from \"../pages/offers/compontents/car\";\r\nimport axios from 'axios';\r\nimport config from '../configuration/config.json';\r\nimport { Price } from \"./__simple/_price\";\r\nimport { toast } from \"react-toastify\";\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport CustomMoreServices from \"./CustomMoreServices\";\r\nimport Car from \"./car\";\r\nimport CustomItemServices from \"./CustomItemServices\";\r\nimport { slugCombine } from '../utils/slugManager';\r\nimport CarUser from \"../User/components/CarUser\";\r\nSwiperCore.use([SlidePagination, Navigation, Autoplay, EffectFade]);\r\n\r\n\r\nexport function OfferDetail({ desc, terms, slug, supportedCars, offerId, SupportedServices, SupportedMainServices, SupportedLastsServices, packages, handelActiceCar, handleActicePackage, handelActiceService,acticePackage }) {\r\n const { t: trans } = useTranslation([\"offers\", \"common\", \"error\", \"info\", \"extra\", \"global\"]);\r\n const history = useHistory();\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [id, setId] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n // const [acticePackage, setActicePackage] = useState(null);\r\n const handleOrderRequest = async () => {\r\n\r\n\r\n const _isLogin = getData('isAuthenticated');\r\n if (_isLogin) {\r\n const userData = JSON.parse(getData(User_Data_Key, true));\r\n const userId = userData.id.toString().split('_')[1];\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"SiteOfferReservation\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `where offerId = ${offerId} and userId = ${userId}`\r\n });\r\n\r\n if (response.status == 200) {\r\n if (response.data.ApiObjectData.length != 0) {\r\n toast.error(trans(\"common:request-repeated\"));\r\n } else {\r\n axios.post(\r\n config.baseURL + \"add\",\r\n {\r\n \"Object\": \"SiteOfferReservation\",\r\n \"Values\": {\r\n \"UserID\": Number(userId),\r\n \"OfferID\": offerId,\r\n \"DescriptionAr\": userData.descriptionAr,\r\n \"DescriptionEn\": userData.descriptionEn,\r\n \"Email\": userData.email,\r\n \"Phone\": userData.phone\r\n }\r\n }\r\n ).then((response) => {\r\n toast.success(trans(\"common:order-request-success\"));\r\n }).catch((err) => {\r\n if (err.response && err.response.status == 400) {\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n history.push(\"/offers/order/\" + slug);\r\n };\r\n\r\n const OnhandleActicePackage = async (Package) => {\r\n\r\n if (handleActicePackage)\r\n handleActicePackage(Package);\r\n\r\n }\r\n return (\r\n
    \r\n\r\n
    \r\n\r\n {/* {\r\n desc ?\r\n
    \r\n

    {trans(\"offers:offer\")}:

    \r\n

    \r\n {desc}\r\n

    \r\n
    \r\n : null\r\n } */}\r\n {/*
    \r\n\r\n\r\n
    \r\n {\r\n (desc || packages && packages.length > 0) &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n

    {trans(\"offers:offer\")}

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n desc ?\r\n
    \r\n
      \r\n {\r\n desc?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item}\r\n
    • \r\n })\r\n }\r\n
    \r\n\r\n
    \r\n : null\r\n }\r\n\r\n\r\n {\r\n packages && packages.length > 0 &&\r\n packages?.map((data, index) => {\r\n\r\n return (\r\n
    \r\n
    {\r\n\r\n OnhandleActicePackage(data);\r\n setActicePackage(data);\r\n }}\r\n\r\n >\r\n

    {data?.title}

    \r\n
    \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?.desc ?\r\n
    \r\n
      \r\n {\r\n data?.desc?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item}\r\n
    • \r\n })\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 {\r\n supportedCars != null && supportedCars.length > 0 ?\r\n\r\n <>
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}

    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n supportedCars?.map((data, index) => {\r\n return (\r\n \r\n {\r\n\r\n setActiceCar(data.slug);\r\n if (handelActiceCar)\r\n handelActiceCar(data);\r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={(data?.modelTypes + \" \" + data?.year)}\r\n brand={data.brand}\r\n\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n \r\n : null\r\n }\r\n
    \r\n \r\n
    */}\r\n\r\n\r\n\r\n\r\n\r\n {/* {\r\n SupportedLastsServices != null && SupportedLastsServices.filter(a => a.packageId == acticePackage?.id).length > 0 &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"3000\" ? \"000\" : \"3000\")}\r\n\r\n >\r\n
    \r\n

    {trans(\"offers:services_supported\")}

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

    {SupportedLastsServices?.length}

    \r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n
    \r\n
    \r\n

    \r\n \r\n\r\n {SupportedLastsServices.filter(a => a.packageId == acticePackage?.id)?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n // setId(_val.ServiceID);\r\n if (handelActiceService) {\r\n\r\n // handelActiceService(_val);\r\n }\r\n\r\n }}>\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n } */}\r\n\r\n {\r\n terms &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"2000\" ? \"000\" : \"2000\")}\r\n\r\n >\r\n

    {trans(\"offers:terms\")}

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n terms ?\r\n
    \r\n
      \r\n {\r\n terms?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item}\r\n
    • \r\n })\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 // SupportedMainServices != null && SupportedMainServices.length > 0 ?\r\n // SupportedMainServices.map((ccItem, ccIndex) => {\r\n // return (\r\n\r\n // ccItem?.subService2GUID &&\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //

    \r\n // {lang == \"ar\" ? ccItem?.DescriptionAr : ccItem?.DescriptionEn}\r\n //

    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n //
    \r\n // {\r\n\r\n // setId(serviceId);\r\n\r\n\r\n // }}\r\n\r\n // activeID={id}\r\n // />
    \r\n\r\n //
    \r\n\r\n // )\r\n // })\r\n // : null\r\n }\r\n\r\n\r\n {/* {trans(\"extra:order\")} */}\r\n
    \r\n \r\n );\r\n}\r\n","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport { useParams } from \"react-router\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { DropDownInput1 } from \"../../components/_input/_dropdown1\";\r\nimport { OfferDetail } from \"../../components/offerDetail\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport Popup from \"../../User/popup\";\r\nimport CarUser from \"../../User/components/CarUser\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { toast } from \"react-toastify\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { useUserCart } from '../../User/hooks/useUserCart';\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { now } from \"moment\";\r\nimport Moment from \"react-moment\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport Joi from \"joi\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function OfferDetailPage() {\r\n\r\n const { t: trans, i18n } = useTranslation([\"common\", \"offers\", \"extra\"]);\r\n let { slug } = useParams();\r\n const { changecartItem } = useUserCart();\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const [isLogin, setLogin] = useState(false);\r\n const [Branches, setBranches] = useState([]);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showPopupPay, setShowPopupPay] = useState(null);\r\n const [banner, setBanner] = useState({});\r\n const [Note, setNote] = useState(\"\");\r\n const [packages, setPackages] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [error, setError] = useState({});\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n // email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = i18n.language;\r\n useEffect(() => {\r\n callback();\r\n FetchOfferSupportedServicesSacondry();\r\n FetchOfferSupportedVehicles();\r\n GetBranch();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n window.tamaraWidgetConfig = {\r\n lang: lang,\r\n country: \"SA\",\r\n publicKey: \"71258997-64ec-418a-9cba-0d3849fa219f\"\r\n }\r\n\r\n\r\n window.TamaraFAQsFrame.render({ lang: lang })\r\n } catch (error) {\r\n\r\n }\r\n\r\n let data = {};\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n } catch (error) {\r\n\r\n }\r\n try {\r\n\r\n if (getData('isAuthenticated'))\r\n setLogin(true);\r\n } catch (err) {\r\n //console.log(err);\r\n setLogin(false);\r\n }\r\n\r\n }, [lang]);\r\n\r\n var tamarFAQsConfig = {\r\n lang: 'ar', // Language. Default is Arabic\r\n styles: { // Custome style - Ignore this if you don't have any custome style\r\n width: '100%',\r\n height: '100%'\r\n },\r\n autoRender: false, // Auto render after the script is loaded. Default is 'true'\r\n tamaraLogo: false // Display tamara logo during loading content page. Default is 'true'\r\n }\r\n\r\n const [fullDatetime, setFullDatetime] = useState(null);\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n var datetime = new moment(md).format('yyyy-MM-DD HH:mm:ss')\r\n // var datetime = md.toLocaleDateString(\"en-US\", { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }).replaceAll(',', '').replaceAll('/', '-');\r\n setFullDatetime(datetime);\r\n console.log(\"datetime:\", datetime);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n useEffect(() => {\r\n\r\n var ly = [];\r\n\r\n try {\r\n if (acticeCar?.fromYear && acticeCar?.toYear) {\r\n\r\n ly.push({ value: acticeCar.fromYear, text: acticeCar.fromYear });\r\n var newy = parseInt(acticeCar.fromYear);\r\n for (var i = 0; i <= 30; i++) {\r\n\r\n newy = parseInt(newy) + 1;\r\n\r\n ly.push({ value: newy, text: newy });\r\n\r\n if (newy >= acticeCar?.toYear) {\r\n\r\n break;\r\n }\r\n }\r\n setYears(ly);\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, [acticeCar]);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"detail-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setBanner(data?.banner)\r\n setPackages(data?.packages)\r\n setOffer(data?.offer)\r\n setOfferSupportedCars(data?.offerSupportedCars)\r\n setPackageSupportedCars(data?.packagesSupportedCars)\r\n\r\n if (data?.packages.length == 1) {\r\n\r\n setActicePackage(data?.packages[0]);\r\n }\r\n\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/offers/detail/\" + getCleanSlug(),\r\n method: \"get\",\r\n });\r\n setBanner(response.data.banner)\r\n setPackages(response.data.packages)\r\n setOffer(response.data.offer)\r\n setOfferSupportedCars(response.data.offerSupportedCars)\r\n setPackageSupportedCars(response.data.packagesSupportedCars)\r\n\r\n if (response.data.packages.length == 1) {\r\n\r\n setActicePackage(response.data.packages[0]);\r\n }\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"detail-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang, slug])\r\n\r\n const FetchOfferSupportedServicesSacondry = useCallback(async () => {\r\n try {\r\n const cslug = await getCleanSlug();\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //Site_FetchOfferSupportedServices\r\n \"name\": \"Site_FetchOfferSupportedServices\",\r\n \"values\": {\r\n \"slug\": cslug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n });\r\n\r\n } catch (error) {\r\n }\r\n\r\n }, []);\r\n const [SupportedServices, setSupportedServices] = useState([]);\r\n const [SupportedMainServices, setSupportedMainServices] = useState([]);\r\n const [SupportedLastsServices, setSupportedLastsServices] = useState([]);\r\n const [isLoadingSupportedServices, setLoadingSupportedServices] = useState(true);\r\n const FetchOfferSupportedServices = useCallback(async () => {\r\n try {\r\n setLoadingSupportedServices(true);\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(data);\r\n setLoadingSupportedServices(false);\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n const cslug = await getCleanSlug();\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //Site_FetchOfferSupportedServices\r\n \"name\": \"Site_FetchOfferSupportedCampaignTransServices\",\r\n \"values\": {\r\n \"slug\": cslug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n FetchOfferSupportedServicesSacondry();\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n }\r\n\r\n }, []);\r\n\r\n\r\n const [SupportedVehicles, setSupportedVehicles] = useState([]);\r\n const [isLoadingSupportedVehicles, setLoadingSupportedVehicles] = useState(true);\r\n const FetchOfferSupportedVehicles = useCallback(async () => {\r\n try {\r\n setLoadingSupportedVehicles(true);\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_FetchOfferSupportedVehicles-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setSupportedVehicles(data);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FetchOfferSupportedVehicles\",\r\n \"values\": {\r\n \"slug\": getCleanSlug()\r\n\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n setSupportedVehicles(response.data);\r\n setLoadingSupportedVehicles(false);\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedVehicles-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n\r\n }, []);\r\n\r\n const handelshowPup = (type) => {\r\n\r\n\r\n setShowPopup(true);\r\n }\r\n function SendResreve(VIN, MainServiceID, subServiceID, TypeServiceID, ServecID, ModelCode, UserID, Amount) {\r\n var thisSchema = null;\r\n\r\n if (isLogin) {\r\n\r\n thisSchema = LoginSchema;\r\n } else {\r\n thisSchema = notLoginSchema;\r\n\r\n }\r\n\r\n const result = formValidate(thisSchema, requestForm) ?? {};\r\n\r\n setError(result);\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n if (SupportedLastsServices?.length <= 0) {\r\n\r\n toast.warn(trans(\"offers:services_supported\") + \" (0)\");\r\n return;\r\n }\r\n\r\n setIsSendeng(true);\r\n\r\n var ServicesList = \"\";\r\n SupportedLastsServices.map((a) => {\r\n\r\n ServicesList += a.ServiceID + \",\"\r\n\r\n\r\n });\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": requestForm?.VIN,\r\n \"Model\": acticeCar?.type,\r\n \"Year\": requestForm?.year ? requestForm?.year + \"\" : null,\r\n \"CarType\": acticeCar?.modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"MainServiceID\": MainServiceID,\r\n \"subServiceID\": subServiceID,\r\n \"TypeServiceID\": TypeServiceID,\r\n \"ServiceID\": ServecID,\r\n \"RequiredServicesList\": ServicesList,\r\n \"Note\": Note,\r\n\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.firstName,\r\n \"LastName\": requestForm?.lastName,\r\n \"phone\": requestForm?.phone,\r\n \"Email\": requestForm?.email,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n \"PackageId\": acticeCar?.packageId ? acticeCar?.packageId + \"\" : null\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n\r\n\r\n\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n\r\n setShowPopup(false);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n //console.log('Error', response);\r\n setIsSendeng(false);\r\n })\r\n .catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n return (\r\n \r\n {/* \r\n {\r\n\r\n setActicePackage(value);\r\n setActiceCar(null);\r\n\r\n }}\r\n handelButton={(type) => {\r\n\r\n handelshowPup(type);\r\n }}\r\n /> */}\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}

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

    {(acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.length}

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={((lang == \"ar\" ? data?.brand : data?.brandEn) + \" \" + (lang == \"ar\" ? data?.group : data?.groupEn))}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear + \"-\" + data?.toYear}\r\n\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n
    \r\n : null\r\n }\r\n
    \r\n\r\n {\r\n offer &&\r\n
    \r\n
    \r\n

    \r\n {banner?.type}\r\n

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

    \r\n {banner?.title}\r\n

    \r\n

    \r\n {banner?.excerpt}\r\n

    \r\n\r\n {\r\n banner?.endDate ?\r\n
    \r\n

    {trans(\"offers:end-in\")}

    \r\n \r\n

    {trans(\"offers:day\")}

    \r\n

    |

    \r\n

    {trans(\"offers:date\")}

    \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 packages && packages.length > 0 &&\r\n packages?.map((data, index) => {\r\n\r\n return (\r\n\r\n
    {\r\n\r\n setActiceCar(null);\r\n if (acticePackage?.id == data?.id) {\r\n setActicePackage(null);\r\n return;\r\n }\r\n setActicePackage(data);\r\n\r\n\r\n }}\r\n\r\n >\r\n
    \r\n

    {data?.title}

    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n \r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    \r\n\r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}

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

    {(acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.length}

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={((lang == \"ar\" ? data?.brand : data?.brandEn) + \" \" + (lang == \"ar\" ? data?.group : data?.groupEn))}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear + \"-\" + data?.toYear}\r\n\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n
    \r\n : null\r\n }\r\n\r\n {\r\n offer &&\r\n
    \r\n\r\n
    \r\n {\r\n\r\n handelshowPup(\"reserve\");\r\n }}\r\n />\r\n\r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n <>\r\n :\r\n
    \r\n {\r\n\r\n\r\n // handelshowPup(\"cart\");\r\n\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n // toast.warning(trans(\"info:can_reserve_service\"));\r\n\r\n toast.info(trans(\"info:select_car\"), {\r\n // style: { left: evt.target.offsetLeft ,top: evt.target.offsetTop },\r\n toastId: \"1\",\r\n // transition: \"Zoom\",\r\n // bodyStyle:{ top: \"10em\" ,left:\"5em\"}\r\n });\r\n\r\n // update a toast\r\n // toast.update(\"1\", {\r\n // content:trans(\"info:select_car\")\r\n // });\r\n\r\n }\r\n }} />\r\n
    \r\n }\r\n\r\n
    \r\n }\r\n\r\n {\r\n offer?.allowInstallments &&\r\n
    \r\n

    {trans(\"info:buy-now-pay-later\")}

    \r\n
    \r\n\r\n\r\n
    {\r\n\r\n\r\n setShowPopupPay(\"tabby\");\r\n }}\r\n\r\n >\r\n \r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : 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 setShowPopupPay(\"tamara\");\r\n }}\r\n >\r\n\r\n {\r\n\r\n }\r\n \r\n\r\n\r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n \r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : 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 {\r\n (offer?.content) &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n

    {trans(\"offers:offer\")}

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n offer?.content ?\r\n
    \r\n
      \r\n {\r\n offer?.content?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item}\r\n
    • \r\n })\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\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {/* */}\r\n {\r\n // packages?.length === 0 ?\r\n {\r\n setActiceCar(value);\r\n var pac = packages?.filter(a => a.id == value?.packageId)[0];\r\n if (pac) {\r\n setActicePackage(pac);\r\n }\r\n setShowPopup(true);\r\n\r\n }}\r\n handelActiceService={(value) => {\r\n // setActiceService(value)\r\n }}\r\n\r\n handleActicePackage={(value) => {\r\n setActicePackage(value);\r\n setActiceCar(null);\r\n setShowPopup(true);\r\n\r\n }}\r\n\r\n />\r\n // : null\r\n }\r\n {/* {\r\n packages?.map((data, index) => {\r\n var cars = [];\r\n if (packageSupportedCars != null)\r\n packageSupportedCars\r\n .map((car) => {\r\n if (car.packageId == data.id)\r\n cars.push(car);\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

    {trans(\"info:request-offer\")}

    \r\n {\r\n setShowPopup(false)\r\n }}>×\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n {banner?.type}\r\n

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

    \r\n {banner?.title}\r\n

    \r\n

    \r\n {banner?.excerpt}\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {\r\n\r\n !isLogin ?\r\n\r\n <>\r\n\r\n\r\n <>\r\n
    \r\n <>\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.firstName = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n \r\n <>\r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.lastName = e.target.value;\r\n setRequestForm(val);\r\n }\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 val = { ...requestForm };\r\n if (phoneNumber)\r\n val.phone = `+${countryCode}${phoneNumber}`;\r\n else\r\n val.phone = \"\";\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n \r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.email}\r\n placeholder={trans(\"form:email\")}\r\n name='email'\r\n />\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 (isLogin || (requestForm?.phone && requestForm?.lastName && requestForm?.firstName)) &&\r\n\r\n <>\r\n
    \r\n\r\n\r\n
    \r\n\r\n a.packageId == acticePackage?.id)).map(B => {\r\n return { value: B.slug, text: ((lang == \"ar\" ? B?.brand : B?.brandEn) + \" \" + (lang == \"ar\" ? B?.group : B?.groupEn)) };\r\n })]}\r\n onSelect={(value) => {\r\n\r\n console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.model = value;\r\n val.year = null;\r\n setRequestForm(val);\r\n\r\n var car = (SupportedVehicles.filter(a => a.slug == value))[0];\r\n\r\n\r\n if (car) {\r\n\r\n setActiceCar(car);\r\n }\r\n\r\n }}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.year = value + \"\";\r\n setRequestForm(val);\r\n }}\r\n\r\n />\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 val = { ...requestForm };\r\n val.meterReading = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.VIN = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n
    \r\n \r\n }\r\n\r\n {\r\n\r\n ((requestForm?.meterReading && requestForm?.year && requestForm?.model)) &&\r\n <>\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm(val);\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = { ...requestForm };\r\n val.time = value;\r\n setRequestForm(val);\r\n }}\r\n className=\"w-100\"\r\n\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n // withPortal\r\n dateFormat=\"hh:mm aa\"\r\n // showTimeInput\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {\r\n <>\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n console.log(\"requestForm:\", requestForm);\r\n console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.SiteID = value;\r\n setRequestForm(val);\r\n }}\r\n\r\n />\r\n\r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n {\r\n packages && packages.length > 0 &&\r\n packages?.filter(a => a?.id == acticePackage?.id).map((data, index) => {\r\n\r\n return (\r\n\r\n
    {\r\n\r\n setActicePackage(data);\r\n\r\n }}\r\n\r\n >\r\n
    \r\n

    {data?.title}

    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n \r\n
    \r\n\r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    \r\n {/* \r\n {\r\n SupportedVehicles != null && (SupportedVehicles.filter(a => a.packageId == acticePackage?.id))?.length > 0 ?\r\n\r\n <>
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}

    \r\n
    \r\n

    {(acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.length}

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n\r\n\r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={(data?.brand + \" \" + data?.group)}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear + \"-\" + data?.toYear}\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n \r\n : null\r\n } */}\r\n\r\n\r\n {/* {\r\n SupportedLastsServices != null && SupportedLastsServices.length > 0 ?\r\n <>\r\n
    \r\n\r\n

    {trans(\"offers:services_supported\")}

    \r\n
    \r\n

    {SupportedLastsServices?.length} {\" \"} {trans(\"global:services\")}

    \r\n\r\n
    \r\n
    \r\n {\r\n
    \r\n
    \r\n

    \r\n \r\n\r\n {SupportedLastsServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n // setActiceService(_val);\r\n\r\n }}>\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n }\r\n \r\n : null\r\n } */}\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n // const isLogin = getData('isAuthenticated')\r\n // if(!isLogin){\r\n // setVehicales([]);\r\n // toast.error(\"يرجى تسجيل الدخول اولا لجلب المركبات الخاصة بك\");\r\n // return;\r\n // }\r\n\r\n var cleanData = {};\r\n try {\r\n cleanData = JSON.parse(getData(User_Data_Key, true));\r\n } catch (e) {\r\n\r\n\r\n }\r\n\r\n // if (acticePackage?.price && acticeCar?.type)\r\n SendResreve(acticeCar?.type, acticeService?.mainService, acticeService?.subService1, acticeService?.subService2, acticeService?.ServiceID, null, cleanData?.custID, acticePackage?.price);\r\n\r\n\r\n\r\n }}>\r\n {trans(\"info:reserve\")}\r\n
    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n
    {\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime, requestForm?.year);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n toast.warning(trans(\"info:select_car\"));\r\n\r\n }\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")} \"hassan\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowPopupPay(null)\r\n }}>×\r\n
    \r\n\r\n {\r\n showPopupPay == \"tabby\" ?\r\n //
    \r\n \r\n //
    \r\n :\r\n\r\n //
    \r\n \r\n //
    \r\n\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 { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport { useParams, useHistory } from \"react-router\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { DropDownInput1 } from \"../../components/_input/_dropdown1\";\r\nimport { OfferDetail } from \"../../components/offerDetail\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport Popup from \"../../User/popup\";\r\nimport CarUser from \"../../User/components/CarUser\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { toast } from \"react-toastify\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { useUserCart } from '../../User/hooks/useUserCart';\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { now } from \"moment\";\r\nimport Moment from \"react-moment\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport Joi from \"joi\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function OfferVehiclesPage() {\r\n\r\n const { t: trans, i18n } = useTranslation([\"common\", \"offers\", \"extra\"]);\r\n let { slug } = useParams();\r\n const { changecartItem } = useUserCart();\r\n const history = useHistory();\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const [isLogin, setLogin] = useState(false);\r\n const [Branches, setBranches] = useState([]);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showPopupPay, setShowPopupPay] = useState(null);\r\n const [banner, setBanner] = useState({});\r\n const [Note, setNote] = useState(\"\");\r\n const [packages, setPackages] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [error, setError] = useState({});\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n // email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = i18n.language;\r\n useEffect(() => {\r\n callback();\r\n FetchOfferSupportedServicesSacondry();\r\n FetchOfferSupportedVehicles();\r\n GetBranch();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n window.tamaraWidgetConfig = {\r\n lang: lang,\r\n country: \"SA\",\r\n publicKey: \"71258997-64ec-418a-9cba-0d3849fa219f\"\r\n }\r\n\r\n\r\n window.TamaraFAQsFrame.render({ lang: lang })\r\n } catch (error) {\r\n\r\n }\r\n\r\n let data = {};\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n } catch (error) {\r\n\r\n }\r\n try {\r\n\r\n if (getData('isAuthenticated'))\r\n setLogin(true);\r\n } catch (err) {\r\n //console.log(err);\r\n setLogin(false);\r\n }\r\n\r\n }, [lang]);\r\n\r\n var tamarFAQsConfig = {\r\n lang: 'ar', // Language. Default is Arabic\r\n styles: { // Custome style - Ignore this if you don't have any custome style\r\n width: '100%',\r\n height: '100%'\r\n },\r\n autoRender: false, // Auto render after the script is loaded. Default is 'true'\r\n tamaraLogo: false // Display tamara logo during loading content page. Default is 'true'\r\n }\r\n\r\n const [fullDatetime, setFullDatetime] = useState(null);\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n var datetime = new moment(md).format('yyyy-MM-DD HH:mm:ss')\r\n // var datetime = md.toLocaleDateString(\"en-US\", { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }).replaceAll(',', '').replaceAll('/', '-');\r\n setFullDatetime(datetime);\r\n console.log(\"datetime:\", datetime);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n useEffect(() => {\r\n\r\n var ly = [];\r\n\r\n try {\r\n if (acticeCar?.fromYear && acticeCar?.toYear) {\r\n\r\n if (acticeCar?.fromYear == acticeCar?.toYear) {\r\n ly.push({ value: acticeCar.fromYear, text: acticeCar.fromYear });\r\n setYears(ly);\r\n const val = { ...requestForm };\r\n val.year = acticeCar.fromYear + \"\";\r\n setRequestForm(val);\r\n return;\r\n }\r\n ly.push({ value: acticeCar.fromYear, text: acticeCar.fromYear });\r\n var newy = parseInt(acticeCar.fromYear);\r\n for (var i = 0; i <= 30; i++) {\r\n\r\n newy = parseInt(newy) + 1;\r\n\r\n ly.push({ value: newy, text: newy });\r\n\r\n if (newy >= acticeCar?.toYear) {\r\n\r\n break;\r\n }\r\n }\r\n setYears(ly);\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, [acticeCar]);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"detail-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setBanner(data?.banner)\r\n setPackages(data?.packages)\r\n setOffer(data?.offer)\r\n setOfferSupportedCars(data?.offerSupportedCars)\r\n setPackageSupportedCars(data?.packagesSupportedCars)\r\n\r\n if (data?.packages.length == 1) {\r\n\r\n setActicePackage(data?.packages[0]);\r\n }\r\n\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/offers/detail/\" + getCleanSlug(),\r\n method: \"get\",\r\n });\r\n setBanner(response.data.banner)\r\n setPackages(response.data.packages)\r\n setOffer(response.data.offer)\r\n setOfferSupportedCars(response.data.offerSupportedCars)\r\n setPackageSupportedCars(response.data.packagesSupportedCars)\r\n\r\n if (response.data.packages.length == 1) {\r\n\r\n setActicePackage(response.data.packages[0]);\r\n }\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"detail-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang, slug])\r\n\r\n const FetchOfferSupportedServicesSacondry = useCallback(async () => {\r\n try {\r\n const cslug = await getCleanSlug();\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //Site_FetchOfferSupportedServices\r\n \"name\": \"Site_FetchOfferSupportedServices\",\r\n \"values\": {\r\n \"slug\": cslug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n });\r\n\r\n } catch (error) {\r\n }\r\n\r\n }, []);\r\n const [SupportedServices, setSupportedServices] = useState([]);\r\n const [SupportedMainServices, setSupportedMainServices] = useState([]);\r\n const [SupportedLastsServices, setSupportedLastsServices] = useState([]);\r\n const [isLoadingSupportedServices, setLoadingSupportedServices] = useState(true);\r\n const FetchOfferSupportedServices = useCallback(async () => {\r\n try {\r\n setLoadingSupportedServices(true);\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(data);\r\n setLoadingSupportedServices(false);\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n const cslug = await getCleanSlug();\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //Site_FetchOfferSupportedServices\r\n \"name\": \"Site_FetchOfferSupportedCampaignTransServices\",\r\n \"values\": {\r\n \"slug\": cslug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n if (Lastservice[0])\r\n setActiceService(Lastservice[0]);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedCampaignTransServices-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n FetchOfferSupportedServicesSacondry();\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n }\r\n\r\n }, []);\r\n\r\n\r\n const [SupportedVehicles, setSupportedVehicles] = useState([]);\r\n const [isLoadingSupportedVehicles, setLoadingSupportedVehicles] = useState(true);\r\n const FetchOfferSupportedVehicles = useCallback(async () => {\r\n try {\r\n setLoadingSupportedVehicles(true);\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_FetchOfferSupportedAllTypesVehicles-\" + getCleanSlug();\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"OfferPage\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var data = await cachedResponse?.json();\r\n if (data) {\r\n setSupportedVehicles(data);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FetchOfferSupportedAllTypesVehicles\",\r\n \"values\": {\r\n \"slug\": getCleanSlug()\r\n\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n setSupportedVehicles(response.data);\r\n setLoadingSupportedVehicles(false);\r\n\r\n const Responsedata = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"OfferPage\").then((cache) => {\r\n cache.put(\"Site_FetchOfferSupportedAllTypesVehicles-\" + getCleanSlug(), Responsedata);\r\n\r\n });\r\n }\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedVehicles(false);\r\n }\r\n\r\n }, []);\r\n\r\n const handelshowPup = (type) => {\r\n\r\n\r\n setShowPopup(true);\r\n }\r\n function SendResreve(VIN, MainServiceID, subServiceID, TypeServiceID, ServecID, ModelCode, UserID, Amount) {\r\n var thisSchema = null;\r\n\r\n if (isLogin) {\r\n\r\n thisSchema = LoginSchema;\r\n } else {\r\n thisSchema = notLoginSchema;\r\n\r\n }\r\n\r\n const result = formValidate(thisSchema, requestForm) ?? {};\r\n\r\n setError(result);\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n if (SupportedLastsServices?.length <= 0) {\r\n\r\n toast.warn(trans(\"offers:services_supported\") + \" (0)\");\r\n return;\r\n }\r\n\r\n setIsSendeng(true);\r\n\r\n var ServicesList = \"\";\r\n SupportedLastsServices.map((a) => {\r\n\r\n ServicesList += a.ServiceID + \",\"\r\n\r\n\r\n });\r\n\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": requestForm?.VIN,\r\n \"Model\": acticeCar?.type,\r\n \"Year\": requestForm?.year ? requestForm?.year + \"\" : null,\r\n \"CarType\": acticeCar?.modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"MainServiceID\": MainServiceID,\r\n \"subServiceID\": subServiceID,\r\n \"TypeServiceID\": TypeServiceID,\r\n \"ServiceID\": ServecID,\r\n \"RequiredServicesList\": ServicesList,\r\n \"Note\": Note,\r\n\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.firstName,\r\n \"LastName\": requestForm?.lastName,\r\n \"phone\": requestForm?.phone,\r\n \"Email\": requestForm?.email,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n \"PackageId\": acticeCar?.packageId ? acticeCar?.packageId + \"\" : null\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n\r\n\r\n\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n\r\n setShowPopup(false);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n //console.log('Error', response);\r\n setIsSendeng(false);\r\n })\r\n .catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n return (\r\n \r\n {\r\n banner &&\r\n\r\n \r\n\r\n \r\n {\r\n banner?.title &&\r\n {banner?.title}\r\n }\r\n {\r\n \r\n\r\n }\r\n {\r\n banner?.excerpt &&\r\n \r\n }\r\n {\r\n banner?.type &&\r\n \r\n }\r\n\r\n{\r\n banner?.image &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"info:Vehicle-must-be-selected\")}

    \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n minPrice={data.MinPrice}\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={(lang == \"ar\" ? data.shortDescriptionEn : data.shortDescriptionEn)}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear}\r\n\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n
    \r\n : null\r\n }\r\n
    \r\n\r\n {\r\n offer &&\r\n
    \r\n
    \r\n

    \r\n {banner?.type}\r\n

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

    \r\n {banner?.title}\r\n

    \r\n

    \r\n {banner?.excerpt}\r\n

    \r\n\r\n {\r\n banner?.endDate ?\r\n
    \r\n

    {trans(\"offers:end-in\")}

    \r\n \r\n

    {trans(\"offers:day\")}

    \r\n

    |

    \r\n

    {trans(\"offers:date\")}

    \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 packages && packages.length > 0 &&\r\n packages?.map((data, index) => {\r\n\r\n return (\r\n\r\n
    {\r\n\r\n setActiceCar(null);\r\n if (acticePackage?.id == data?.id) {\r\n setActicePackage(null);\r\n return;\r\n }\r\n setActicePackage(data);\r\n\r\n\r\n }}\r\n\r\n >\r\n
    \r\n

    {data?.title}

    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n \r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    */}\r\n\r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"info:Vehicle-must-be-selected\")}

    \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n minPrice={data.MinPrice}\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={(lang == \"ar\" ? data.shortDescriptionEn : data.shortDescriptionEn)}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear}\r\n\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n
    \r\n : null\r\n }\r\n\r\n {\r\n offer &&\r\n
    \r\n\r\n
    \r\n {\r\n\r\n if (acticeCar && acticeCar?.ProductID)\r\n history.push(`/order-car?vehicle=${acticeCar?.ProductID}&model=${acticeCar.fromYear}&type=${acticeCar.type}&color=${acticeCar?.ColorID}`);\r\n else\r\n toast.info(trans(\"info:select_car\"));\r\n }}\r\n />\r\n\r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n <>\r\n :\r\n
    \r\n {\r\n\r\n\r\n // handelshowPup(\"cart\");\r\n\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n // toast.warning(trans(\"info:can_reserve_service\"));\r\n\r\n toast.info(trans(\"info:select_car\"), {\r\n // style: { left: evt.target.offsetLeft ,top: evt.target.offsetTop },\r\n toastId: \"1\",\r\n // transition: \"Zoom\",\r\n // bodyStyle:{ top: \"10em\" ,left:\"5em\"}\r\n });\r\n\r\n // update a toast\r\n // toast.update(\"1\", {\r\n // content:trans(\"info:select_car\")\r\n // });\r\n\r\n }\r\n }} />\r\n
    \r\n }\r\n\r\n
    \r\n }\r\n
    \r\n {\r\n // packages?.length === 0 ?8\r\n\r\n {\r\n setActiceCar(value);\r\n var pac = packages?.filter(a => a.id == value?.packageId)[0];\r\n if (pac) {\r\n setActicePackage(pac);\r\n }\r\n setShowPopup(true);\r\n\r\n }}\r\n handelActiceService={(value) => {\r\n // setActiceService(value)\r\n }}\r\n\r\n handleActicePackage={(value) => {\r\n setActicePackage(value);\r\n setActiceCar(null);\r\n setShowPopup(true);\r\n\r\n }}\r\n\r\n />\r\n // : null\r\n\r\n\r\n }\r\n
    \r\n {\r\n offer?.allowInstallments &&\r\n
    \r\n

    {trans(\"info:buy-now-pay-later\")}

    \r\n
    \r\n\r\n\r\n
    {\r\n\r\n\r\n setShowPopupPay(\"tabby\");\r\n }}\r\n\r\n >\r\n \r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : 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 setShowPopupPay(\"tamara\");\r\n }}\r\n >\r\n\r\n {\r\n\r\n }\r\n \r\n\r\n\r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n \r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : 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 {\r\n (offer?.content) &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n

    {trans(\"offers:offer\")}

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n offer?.content ?\r\n
    \r\n
      \r\n {\r\n offer?.content?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item}\r\n
    • \r\n })\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\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {/* */}\r\n\r\n {/* {\r\n packages?.map((data, index) => {\r\n var cars = [];\r\n if (packageSupportedCars != null)\r\n packageSupportedCars\r\n .map((car) => {\r\n if (car.packageId == data.id)\r\n cars.push(car);\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

    {trans(\"info:request-offer\")}

    \r\n {\r\n setShowPopup(false)\r\n }}>×\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n {banner?.type}\r\n

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

    \r\n {banner?.title}\r\n

    \r\n

    \r\n {banner?.excerpt}\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {\r\n\r\n !isLogin ?\r\n\r\n <>\r\n\r\n\r\n <>\r\n
    \r\n <>\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.firstName = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n \r\n <>\r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.lastName = e.target.value;\r\n setRequestForm(val);\r\n }\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 val = { ...requestForm };\r\n if (phoneNumber)\r\n val.phone = `+${countryCode}${phoneNumber}`;\r\n else\r\n val.phone = \"\";\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n \r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.email}\r\n placeholder={trans(\"form:email\")}\r\n name='email'\r\n />\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 (isLogin || (requestForm?.phone && requestForm?.lastName && requestForm?.firstName)) &&\r\n\r\n <>\r\n
    \r\n\r\n\r\n
    \r\n\r\n a.packageId == acticePackage?.id)).map(B => {\r\n return { value: B.slug, text: (lang == \"ar\" ? B.DescriptionAr : B.DescriptionEn)\r\n };\r\n })]}\r\n onSelect={(value) => {\r\n\r\n console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.model = value;\r\n\r\n if (years && years.length > 1) {\r\n val.year = null;\r\n }\r\n\r\n setRequestForm(val);\r\n\r\n var car = (SupportedVehicles.filter(a => a.slug == value))[0];\r\n\r\n\r\n if (car) {\r\n\r\n setActiceCar(car);\r\n }\r\n\r\n }}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.year = value + \"\";\r\n setRequestForm(val);\r\n }}\r\n\r\n />\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 val = { ...requestForm };\r\n val.meterReading = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.VIN = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n
    \r\n \r\n }\r\n\r\n {\r\n\r\n ((requestForm?.meterReading && requestForm?.year && requestForm?.model)) &&\r\n <>\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm(val);\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = { ...requestForm };\r\n val.time = value;\r\n setRequestForm(val);\r\n }}\r\n className=\"w-100\"\r\n\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n // withPortal\r\n dateFormat=\"hh:mm aa\"\r\n // showTimeInput\r\n customInput={}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n {\r\n <>\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n console.log(\"requestForm:\", requestForm);\r\n console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.SiteID = value;\r\n setRequestForm(val);\r\n }}\r\n\r\n />\r\n\r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n {\r\n packages && packages.length > 0 &&\r\n packages?.filter(a => a?.id == acticePackage?.id).map((data, index) => {\r\n\r\n return (\r\n\r\n
    {\r\n\r\n setActicePackage(data);\r\n\r\n }}\r\n\r\n >\r\n
    \r\n

    {data?.title}

    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n \r\n
    \r\n\r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}:

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    \r\n {/* \r\n {\r\n SupportedVehicles != null && (SupportedVehicles.filter(a => a.packageId == acticePackage?.id))?.length > 0 ?\r\n\r\n <>
    \r\n\r\n

    {trans(\"offers:vehicles_supported\")}

    \r\n
    \r\n

    {(acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.length}

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n (acticePackage?.id ? SupportedVehicles.filter(a => a.packageId == acticePackage?.id) : SupportedVehicles)?.map((data, index) => {\r\n return (\r\n \r\n\r\n\r\n {\r\n\r\n setActiceCar(data);\r\n\r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n // inputDate={data.InputDate}\r\n showDetails={false}\r\n active={data.slug == acticeCar?.slug}\r\n id={data.slug}\r\n img={data.image ? data.image : '/assets/images/eparts/default.png'}\r\n name={(data?.brand + \" \" + data?.group)}\r\n brand={data.brand}\r\n fromToYear={data?.fromYear + \"-\" + data?.toYear}\r\n // link={\"/user/vehicles/privateVehicles/\" + data.CarID + \"/\" + data.FetchType}\r\n />\r\n\r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n \r\n : null\r\n } */}\r\n\r\n\r\n {/* {\r\n SupportedLastsServices != null && SupportedLastsServices.length > 0 ?\r\n <>\r\n
    \r\n\r\n

    {trans(\"offers:services_supported\")}

    \r\n
    \r\n

    {SupportedLastsServices?.length} {\" \"} {trans(\"global:services\")}

    \r\n\r\n
    \r\n
    \r\n {\r\n
    \r\n
    \r\n

    \r\n \r\n\r\n {SupportedLastsServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n // setActiceService(_val);\r\n\r\n }}>\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n }\r\n \r\n : null\r\n } */}\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n // const isLogin = getData('isAuthenticated')\r\n // if(!isLogin){\r\n // setVehicales([]);\r\n // toast.error(\"يرجى تسجيل الدخول اولا لجلب المركبات الخاصة بك\");\r\n // return;\r\n // }\r\n\r\n var cleanData = {};\r\n try {\r\n cleanData = JSON.parse(getData(User_Data_Key, true));\r\n } catch (e) {\r\n\r\n\r\n }\r\n\r\n // if (acticePackage?.price && acticeCar?.type)\r\n SendResreve(acticeCar?.type, acticeService?.mainService, acticeService?.subService1, acticeService?.subService2, acticeService?.ServiceID, null, cleanData?.custID, acticePackage?.price);\r\n\r\n\r\n\r\n }}>\r\n {trans(\"info:reserve\")}\r\n
    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n
    {\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime, requestForm?.year);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n toast.warning(trans(\"info:select_car\"));\r\n\r\n }\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")} \"hassan\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowPopupPay(null)\r\n }}>×\r\n
    \r\n\r\n {\r\n showPopupPay == \"tabby\" ?\r\n //
    \r\n \r\n //
    \r\n :\r\n\r\n //
    \r\n \r\n //
    \r\n\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 { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CountDown } from \"./countDown\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\n// import {addToCart} from \"../../../_functions/cart\";\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\nimport { useEffect } from \"react\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function Campaign({ TotalAmountDiscount, TotalTime, startDate = new Date(), endDate = new Date(), CampaignType, Photo, Title, Description, DateFrom, DateTo, Type, DiscountAmount, BrandID, DiscountID, GUID, toyota = true, to = '/eparts/campaignorder', onChooseCompaign }) {\r\n const { t: trans, i18n } = useTranslation([\"eparts\", \"form\", \"info\"]);\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const dir = i18n.language == 'en' ? 'l' : 'r';\r\n const image = Photo ? Photo : \"/assets/images/offers/bg.png\";\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n

    {(CampaignType === 1) ? trans(\"eparts:bauget\") : trans(\"eparts:discount\")}

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

    {Title}

    \r\n

    \r\n
    \r\n
    {Description}
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n {\r\n if (onChooseCompaign)\r\n onChooseCompaign(true, DiscountID);\r\n }\r\n }>\r\n {trans(\"eparts:order-now\")}\r\n \r\n {\r\n\r\n var objectCart = \r\n {\r\n id: DiscountID,\r\n name:Title,\r\n price: TotalAmountDiscount,\r\n image: Photo,\r\n Type:\"Campaign\",\r\n\r\n }\r\n\r\n changecartItem(DiscountID, null, null, 1,null,null,objectCart);\r\n\r\n // addToCart(\r\n // {\r\n // id: DiscountID,\r\n // name:Title,\r\n // price: TotalAmountDiscount,\r\n // image: Photo,\r\n // Type:\"Campaign\",\r\n\r\n // }\r\n // )\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")}\r\n \"hassan\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n );\r\n}","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {LikeButton} from \"../../../components/__simple/_likeButton\";\r\nimport {Price} from \"../../../components/__simple/_price\";\r\nimport {useState} from \"react\";\r\n// import { addToCart } from \"../../../_functions/cart\";\r\nimport _ from \"lodash\";\r\nimport {useUserFavorite} from '../../../User/hooks/useUserFavorite';\r\nimport config from \"../../../configuration/config.json\";\r\nimport {useUserCart} from '../../../User/hooks/useUserCart';\r\n\r\nexport function Part(props) {\r\n const {t: trans} = useTranslation([\"common\", \"eparts\", \"info\"]);\r\n const {changeFavoriteItemState, isFavoriteItem} = useUserFavorite();\r\n const {removecartItems, changecartItem} = useUserCart();\r\n\r\n function getpric(SalesPriceBefor) {\r\n if (SalesPriceBefor > 0) {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n {props.SalesPriceBefor}{trans(\"common:rial\")}\r\n
    );\r\n } else {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n
    );\r\n }\r\n }\r\n\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n let Description = \"Description....\";\r\n\r\n Description = lang === \"ar\" ? props.DescriptionAr : props.DescriptionEn;\r\n let imagePath = lang == \"ar\" ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\" : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\";\r\n imagePath = (props.ProductImage) ? config.mainURL + props.ProductImage : imagePath;\r\n return (\r\n\r\n
    \r\n\r\n {\r\n changeFavoriteItemState(props.ProductID)\r\n }}\r\n />\r\n \r\n
    \r\n \"def\"\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n \r\n
    \r\n {\r\n\r\n var objectCart =\r\n {\r\n id: props?.ProductID,\r\n productID: props?.ProductID,\r\n name: props?.DescriptionAr,\r\n nameEn: props?.DescriptionEn,\r\n price: props?.NetSalePrice,\r\n image: imagePath,\r\n Type: \"part\",\r\n }\r\n\r\n changecartItem(props?.ProductID, null, null, 1, null, null, objectCart);\r\n // addToCart(\r\n // {\r\n // id: props.ProductID,\r\n // name: props.DescriptionAr,\r\n // price: props.NetSalePrice,\r\n // image: imagePath,\r\n // Type: \"part\",\r\n // })\r\n }}\r\n className=\"part-card-info-cart text-16 btn btn-primary\">\r\n {trans(\"add-to-cart\")}\r\n {trans(\"buy\")}\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n\r\n \r\n\r\n
    \r\n

    \r\n {trans(\"eparts:product_id\")} : {props.ProductNo}\r\n

    \r\n
    \r\n

    {Description}

    \r\n
    \r\n
    \r\n {getpric(props.SalesPriceBefor)}\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 { Fragment, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport config from \"../configuration/config.json\";\r\n\r\nexport function ServiceBox({ key = null, titlebtn, categoryId, small = true, link, img, imgUrl = \"\", titleEn = \" \", subtitleEn = \" \", titleAr = \" \", subtitleAr = \" \" }) {\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n let titel = lang === \"en\" ? titleEn : titleAr;\r\n let subtitel = lang === \"en\" ? subtitleEn : subtitleAr;\r\n let image = img !== null || img !== 'null' ? \"data:image/png;base64,\" + img : \"/assets/images/car-bg.png\";\r\n\r\n let imageUrl = (imgUrl !== null && imgUrl != 'null' && imgUrl != '') ? config.controllURL + imgUrl : (lang == \"ar\" ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\" : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\");\r\n\r\n return (\r\n \r\n {\r\n\r\n if (link == null || link == undefined)\r\n e.preventDefault();\r\n\r\n }}\r\n >\r\n\r\n \r\n \r\n \r\n );\r\n}","export function SimpleBanner({ banner = \"/assets/images/eparts/2.png\", icon, title, subtitle, borderRadius = true }) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n

    {title}

    \r\n

    {subtitle}

    \r\n
    \r\n\r\n
    \r\n {\r\n icon &&\r\n \"\"\r\n }\r\n
    \r\n\r\n\r\n
    \r\n );\r\n}\r\n\r\n","export function AboutBox({icon, title, subtitle}) {\r\n return (\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {title}

    \r\n

    {subtitle}

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\n","import PageHeading from \"../components/__simple/_pageheading\";\r\n\r\nimport { AboutBox } from \"../components/__simple/_aboutBox\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nexport function AboutHJSection() {\r\n const { t: trans } = useTranslation(\"eparts\");\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [about, setAbout] = useState([]);\r\n\r\n useEffect(async () => {\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/sections/aboutHj\",\r\n method: \"get\",\r\n });\r\n setAbout(response.data)\r\n } catch (error) {\r\n\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n\r\n
    \r\n\r\n {\r\n\r\n about?.length > 0 &&\r\n \r\n }\r\n \r\n {\r\n\r\n about?.length > 0 &&\r\n
    \r\n {\r\n\r\n about?.map((item, index) => {\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}","import { useTranslation } from \"react-i18next\";\r\nimport config from \"../../../configuration/config.json\";\r\nfunction LandengSlide({ Titel, SubTitel, Desc, BtnText, BackOpicity, backImage,backImageUrl, viewSocialIcons }) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"car\", \"common\", \"vehicales\", \"info\"]);\r\n const languageDir = 'language-' + localStorage.getItem(\"i18nextLng\");\r\n\r\n const lang = i18n.language;\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n backImageUrl && !backImage && (\r\n {Titel.toString()}\r\n e.target.style.display = 'none'}/>\r\n )\r\n }\r\n {\r\n backImage && !backImageUrl && (\r\n \"\"\r\n e.target.style.display = 'none'}/>\r\n )\r\n }\r\n
    \r\n\r\n\r\n
    \r\n\r\n {\r\n viewSocialIcons &&\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {SubTitel ? SubTitel : \" \"}\r\n \r\n

    \r\n\r\n {Titel ? Titel : \"\"}\r\n

    \r\n

    \r\n {Desc ? Desc : \"\"}\r\n

    \r\n { }\r\n
    \r\n { }\r\n
    \r\n\r\n {\r\n\r\n BtnText &&\r\n {\r\n // const section = document.querySelector('#search-car');\r\n // // section.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n\r\n var top = document.getElementById('search-car').offsetTop - 30;\r\n\r\n console.log(\"top>>>>>>>>>>>>>>>>\", top);\r\n // window.scrollTo(0, top);\r\n window.scrollTo({\r\n top: top,\r\n left: 0,\r\n behavior: \"smooth\",\r\n });\r\n\r\n }}\r\n className={\"bg-gray text-24 py-5\"}>{BtnText}\r\n }\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\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 LandengSlide;","import { useTranslation } from \"react-i18next\";\r\nimport config from \"../../../configuration/config.json\";\r\nfunction PartSlide({ Titel, SubTitel, Desc, BtnText, BackOpicity, backImage,backImageUrl, viewSocialIcons }) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"car\", \"common\", \"vehicales\", \"info\"]);\r\n const languageDir = 'language-' + localStorage.getItem(\"i18nextLng\");\r\n\r\n const lang = i18n.language;\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n backImageUrl && !backImage && (\r\n {Titel.toString()}\r\n e.target.style.display = 'none'}/>\r\n )\r\n }\r\n {\r\n backImage && !backImageUrl && (\r\n \"\"\r\n e.target.style.display = 'none'}/>\r\n )\r\n }\r\n
    \r\n\r\n\r\n
    \r\n\r\n {\r\n viewSocialIcons &&\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {SubTitel ? SubTitel : \" \"}\r\n \r\n

    \r\n\r\n {Titel ? Titel : \"\"}\r\n

    \r\n

    \r\n {Desc ? Desc : \"\"}\r\n

    \r\n { }\r\n
    \r\n { }\r\n
    \r\n\r\n {\r\n\r\n BtnText &&\r\n {\r\n // const section = document.querySelector('#search-car');\r\n // // section.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n\r\n var top = document.getElementById('search-car').offsetTop - 30;\r\n\r\n console.log(\"top>>>>>>>>>>>>>>>>\", top);\r\n // window.scrollTo(0, top);\r\n window.scrollTo({\r\n top: top,\r\n left: 0,\r\n behavior: \"smooth\",\r\n });\r\n\r\n }}\r\n className={\"bg-gray text-24 py-5\"}>{BtnText}\r\n }\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\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 PartSlide;","import React, {useEffect, useState} from 'react';\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport PartSlide from \"./partSlide\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\n\r\nconst SectionSlideEpart = () => {\r\n\r\n const {t: trans, i18n} = useTranslation([\"common\", \"inputs\", \"offers\", \"home\"]);\r\n const lang = i18n.language;\r\n\r\n const [slidEPartsList, setSlidEPartsList] = useState([]);\r\n\r\n const getSparePartsSlide = () => {\r\n const body = {\"name\": \"func_getSparePartsSlide\", \"values\": {\"lang\": lang.toLowerCase()}};\r\n\r\n axios.request({\r\n url: config.baseURL + \"func\",\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then((response) => {\r\n console.info(\"func_getSparePartsSlide:Coach > \", response.data);\r\n\r\n if (response.data && response.data.length > 0) {\r\n setSlidEPartsList(response.data);\r\n }\r\n\r\n })\r\n .catch((error) => {\r\n console.info(\"func_getSparePartsSlide:Coach > \", error);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n getSparePartsSlide();\r\n }, []);\r\n\r\n\r\n return (\r\n 0 ? \" \" : \" hidden \"} `}>\r\n {\r\n slide.update();\r\n }}\r\n >\r\n {\r\n slidEPartsList.map((slide, index) => {\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\nexport default SectionSlideEpart;\r\n","import react, { Fragment, useState, useEffect } from \"react\";\r\nimport Banner from \"../../components/banner\";\r\nimport { Campaign } from \"./components/campaign\";\r\nimport { Part } from \"./components/part\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport { ServiceBox } from \"../../components/serviceBox\";\r\nimport { TestimonialSection } from \"../../sections/testimonialSection\";\r\nimport { WhyHJSection } from \"../../sections/whyHJSection\";\r\nimport PartSearch from \"./components/partSearch\";\r\nimport { SimpleBanner } from \"../../components/__simple/_simpleBanner\";\r\nimport { AboutHJSection } from \"../../sections/aboutHJ\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Popup from \"../../User/popup\";\r\nimport PopupHeader from \"../../User/components/popupHeader\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport { useHistory } from 'react-router';\r\nimport CustomPopover from \"./components/customPopover\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { Link } from \"react-router-dom\";\r\nimport React from \"react\";\r\nimport LandengSlide from \"../landengPage/sections/landengSlide\";\r\nimport SectionSlideEpart from \"./components/sectionSlideEpart\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function EpartsPage() {\r\n const GetUrl = config.baseURL + 'details';\r\n const GetUrlfunc = config.baseURL + 'func';\r\n const [PWD, setPWD] = useState([]);\r\n const [EngineGroups, setEngineGroups] = useState([]);\r\n const [isPopUpOpened, setIsPopUpOpened] = useState(false);\r\n const [selectedCompaign, setSelectedCompagin] = useState(0);\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const { t: trans } = useTranslation([\"eparts\", \"common\", \"form\", \"info\"]);\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng')\r\n //start_abbas_alburaee\r\n const history = useHistory();\r\n const schema = Joi.object({\r\n userPhoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n });\r\n\r\n const [error, setError] = useState({});\r\n\r\n async function handleCompaignRequest() {\r\n try {\r\n const result = formValidate(schema, userForm) ?? {};\r\n setError(result);\r\n console.log(result);\r\n if (Object.keys(result).length === 0) {\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"Web_Users\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"column\",\r\n \"Fields\": \"GUID,Web_UserID,FirstNameEn,FirstNameAr,LastNameEn,LastNameAr,Phone,Email,IdentityNumber\",\r\n \"Filters\": `where phone = '${userForm.userPhoneNumber}'`\r\n }\r\n );\r\n\r\n if (response.status === 200) {\r\n let urlParms = `?compaign=${selectedCompaign}`;\r\n\r\n if (response.data.ApiObjectData.length > 0) {\r\n\r\n const {\r\n GUID,\r\n Web_UserID,\r\n FirstNameEn,\r\n FirstNameAr,\r\n LastNameEn,\r\n LastNameAr,\r\n Phone,\r\n Email,\r\n IdentityNumber\r\n } = response.data.ApiObjectData[0];\r\n\r\n urlParms += `&ur_gid=${GUID + '_' + String(Web_UserID)}&ur_id=${Web_UserID}&ur_en=${FirstNameEn + ' ' + LastNameEn} \r\n &ur_ar=${FirstNameAr + ' ' + LastNameAr}&ur_phone=${Phone}&ur_email=${Email}&ur_iden=${IdentityNumber} \r\n `;\r\n }\r\n history.push({\r\n pathname: '/eparts/campaignorder',\r\n search: urlParms\r\n });\r\n setUserForm({});\r\n setSelectedCompagin(0);\r\n setError({});\r\n }\r\n }\r\n\r\n } catch (err) {\r\n console.log('Error in eparts compaign', err)\r\n }\r\n }\r\n\r\n const [CompaignLuxes, setCompaignLuxes] = useState([]);\r\n const [CompaignToYota, setCompaignToYota] = useState([]);\r\n\r\n const [queryProduct, setQueryProduct] = useState(\"\");\r\n\r\n async function RequsetCompaign() {\r\n const BodyToYota = {\r\n \"object\": \"Web_compaing\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": \"where BrandID=1 \"\r\n\r\n };\r\n const GetToYota = axios.request({\r\n url: GetUrl,\r\n data: BodyToYota, method: \"POST\", responseType: \"json\"\r\n })\r\n const BodyLuxes = {\r\n \"object\": \"Web_compaing\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }, \"Filters\": \"where BrandID=2\"\r\n\r\n };\r\n const GetLuxes = axios.request({\r\n url: GetUrl,\r\n data: BodyLuxes, method: \"POST\", responseType: \"json\"\r\n })\r\n\r\n await axios.all([GetLuxes, GetToYota]).then(\r\n axios.spread(function (Luxes, ToYota) {\r\n\r\n setCompaignLuxes(Luxes.data.ApiObjectData);\r\n setCompaignToYota(ToYota.data.ApiObjectData);\r\n console.log(\"Luxes\", Luxes.data.ApiObjectData);\r\n console.log(\"ToYota\", ToYota.data.ApiObjectData);\r\n\r\n })).catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n //End_Compaign\r\n function RequsetProductsWithDetails() {\r\n const Body = {\r\n \"name\": \"Site_FeatchSparePartMain\"\r\n };\r\n axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(() => {\r\n setPWD(response?.data)\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.error(error);\r\n });\r\n\r\n\r\n }\r\n\r\n async function RequsetsetSite_categorySP() {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"Site_categorySP\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse.json();\r\n setTimeout(() => {\r\n setEngineGroups(data)\r\n }, 1000);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n const BodyEngineGroups = {\r\n \"object\": \"Site_categorySP\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n axios.request({\r\n url: GetUrl,\r\n data: BodyEngineGroups, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(async () => {\r\n setEngineGroups(response.data.ApiObjectData);\r\n await site_SupCategory();\r\n }, 10);\r\n\r\n const data = new Response(JSON.stringify(response.data.ApiObjectData));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Site_categorySP\", data);\r\n\r\n });\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [engineGroupsSup, setEngineGroupsSup] = useState([]);\r\n const [engineGroupsSup2, setEngineGroupsSup2] = useState([]);\r\n const site_SupCategory = async () => {\r\n try {\r\n const BodyEngineGroupsSUP = {\r\n \"object\": \"Site_SupCategory\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n\r\n const requestEngineGroupsSUP = axios.request({\r\n url: GetUrl,\r\n data: BodyEngineGroupsSUP, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n const BodyEngineGroupsSUP2 = {\r\n \"object\": \"Site_ItemsSupCategory\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n\r\n const requestEngineGroupsSUP2 = axios.request({\r\n url: GetUrl,\r\n data: BodyEngineGroupsSUP2, method: \"POST\", responseType: \"json\"\r\n });\r\n\r\n await axios.all([requestEngineGroupsSUP, requestEngineGroupsSUP2])\r\n .then(\r\n axios.spread(\r\n (EngineGroupsSup, EngineGroupsSup2) => {\r\n setTimeout(() => {\r\n setEngineGroupsSup(EngineGroupsSup?.data?.ApiObjectData)\r\n }, 500);\r\n setTimeout(() => {\r\n setEngineGroupsSup2(EngineGroupsSup2?.data?.ApiObjectData)\r\n }, 700);\r\n }\r\n )\r\n ).catch((err) => {\r\n throw err;\r\n })\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n // ------------------\r\n const [banner, setbanner] = useState([]);\r\n\r\n function RequsetBanner() {\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Maintenance/BannerSP\",\r\n method: \"get\",\r\n })\r\n\r\n .then(function (response) {\r\n\r\n console.log(\"response >>>>>>>>>>>>>>>>>>>>>>>>>:\", response.data.banner);\r\n setTimeout(setbanner(response.data.banner), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [Sbanner, setSbanner] = useState([]);\r\n\r\n function RequsetSBanner() {\r\n const Body = {\r\n \"object\": \"siteSimpleBanner_eperts\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setTimeout(setSbanner(response.data.ApiObjectData), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [userForm, setUserForm] = useState({\r\n userPhoneNumber: ''\r\n });\r\n\r\n\r\n function handlePopupStatus(status, id) {\r\n setIsPopUpOpened(status);\r\n setSelectedCompagin(id);\r\n setError({});\r\n };\r\n\r\n const [featuredProductsList, setFeaturedProductsList] = useState([]);\r\n const [featuredCatList, setFeaturedCatList] = useState([]);\r\n\r\n const funFeaturedProductsAndCat = async () => {\r\n try {\r\n const BodyFeaturedProduct = {\r\n \"name\": \"funFeaturedProducts\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n\r\n const requestFeaturedProduct = axios.request({\r\n url: config.baseURL + 'func',\r\n data: BodyFeaturedProduct, method: \"POST\", responseType: \"json\"\r\n })\r\n\r\n\r\n const BodyFeaturedCat = {\r\n \"name\": \"Site_FeatchPartSparePartSpecial\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n };\r\n\r\n const requestFeaturedCat = axios.request({\r\n url: config.baseURL + 'func',\r\n data: BodyFeaturedCat, method: \"POST\", responseType: \"json\"\r\n })\r\n\r\n\r\n await axios.all([requestFeaturedProduct, requestFeaturedCat])\r\n .then(\r\n axios.spread(\r\n (responseFeaturedProduct, responseFeaturedCat) => {\r\n console.log(\"responseFeaturedProduct: \", responseFeaturedProduct.data);\r\n // setTimeout(() => {\r\n setFeaturedProductsList(responseFeaturedProduct?.data);\r\n setFeaturedCatList(responseFeaturedCat.data);\r\n // }, 500);\r\n }\r\n )\r\n ).catch((err) => {\r\n throw err;\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n const [favoriteProducts, setFavoriteProducts] = useState([]);\r\n // to fetch the user favorites\r\n const fetchUserFavorites = async () => {\r\n let _favorites = [];\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavorites\",\r\n \"values\": {\r\n \"userID\": userID\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const favorites = response.data;\r\n _favorites = _favorites.concat(favorites);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return _favorites;\r\n };\r\n useEffect(() => {\r\n const results = fetchUserFavorites();\r\n setFavoriteProducts(results);\r\n }, []);\r\n\r\n useEffect(() => {\r\n RequsetBanner();\r\n RequsetCompaign();\r\n RequsetProductsWithDetails();\r\n RequsetsetSite_categorySP();\r\n RequsetSBanner();\r\n\r\n funFeaturedProductsAndCat();\r\n }, []);\r\n\r\n return (\r\n \r\n {\r\n // \r\n }\r\n\r\n\r\n
    \r\n {\r\n // \r\n }\r\n\r\n {\r\n \r\n
    \r\n {/* {\r\n \r\n } */}\r\n
    \r\n \r\n {lang.toLowerCase() == \"ar\" ? \"جميع الفئات\" : \"Categories\"}\r\n \r\n
    \r\n
    \r\n \r\n {lang.toLowerCase() == \"ar\" ? \" العروض\" : \" Categories\"}\r\n \r\n
    \r\n
    \r\n\r\n {/*
    2
    */}\r\n
    \r\n \r\n
    \r\n {\r\n
    \r\n
    \r\n\r\n {\r\n setQueryProduct(null);\r\n // SetProduct(e);\r\n console.warn(e.target.value);\r\n setQueryProduct(e.target.value);\r\n }\r\n }\r\n onClicksearchIcon={(value) => {\r\n\r\n if (queryProduct)\r\n history.push(\"/eparts/sereach?Product=\" + queryProduct);\r\n }}\r\n value={queryProduct}\r\n />\r\n
    \r\n
    \r\n }\r\n
    \r\n {/* \r\n {\r\n queryProduct && (\r\n {\r\n // refreshPage(\"ProductID\")\r\n }}\r\n to={\"/eparts/sereach?Product=\" + queryProduct}\r\n className={\"btn btn-primary text-16 w-full sm:w-full md:w-80 h-[2rem] sm:mb-10 md:h-20 lg:h-16\"}\r\n >\r\n {trans(\"eparts:search\")}\r\n \r\n\r\n )\r\n }\r\n
    */}\r\n\r\n
    \r\n \r\n \r\n }\r\n \r\n {\r\n // EngineGroups.length != 0 && engineGroupsSup.length!= 0 && engineGroupsSup2.length!=0 && (\r\n //
    \r\n // \r\n //
    \r\n // )\r\n }\r\n\r\n \r\n\r\n\r\n {\r\n \r\n }\r\n\r\n
    \r\n\r\n {\r\n CompaignToYota?.length > 0 &&\r\n <>\r\n \r\n\r\n\r\n
    \r\n
    \r\n \"toyota\"\r\n

    {trans(\"eparts:ToytaTitel\")}

    \r\n
    \r\n \r\n\r\n\r\n {CompaignToYota?.map(ToYota => {\r\n if (lang === \"en\") {\r\n\r\n return (\r\n \r\n
    \r\n {\r\n handlePopupStatus(true, id)\r\n }} />\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {\r\n handlePopupStatus(true, 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 CompaignLuxes?.length > 0 &&\r\n
    \r\n\r\n
    \r\n \"toyota\"\r\n

    {trans(\"eparts:lxcTitel\")}

    \r\n
    \r\n \r\n\r\n {CompaignLuxes?.map(Luxes => {\r\n if (lang === \"en\") {\r\n\r\n return (\r\n \r\n
    \r\n {\r\n handlePopupStatus(true, id)\r\n }} />\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n\r\n\r\n \r\n
    \r\n {\r\n handlePopupStatus(true, 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 {\r\n // الفئات المميزة\r\n featuredProductsList.length > 0 && (\r\n
    \r\n \r\n \r\n\r\n {featuredProductsList?.map((proValue, prodIndex) => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n\r\n
    \r\n )\r\n }\r\n\r\n {\r\n // القطع المميزة\r\n featuredCatList.length > 0 && (\r\n
    \r\n \r\n \r\n\r\n {featuredCatList?.map((catValue, catIndex) => (\r\n \r\n {\r\n catValue.SalesPriceDiscount > 0\r\n ? \r\n\r\n : \r\n\r\n }\r\n \r\n ))}\r\n\r\n \r\n\r\n
    \r\n )\r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n \r\n\r\n {EngineGroups?.map(H => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n {Sbanner?.map(b => {\r\n if (lang === \"en\") {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n })}\r\n\r\n
    \r\n\r\n
    \r\n {\r\n PWD?.length > 0 &&\r\n <>\r\n \r\n
    \r\n\r\n\r\n \r\n\r\n\r\n {PWD?.map(P => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n
    \r\n\r\n \r\n }\r\n
    \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n handlePopupStatus(false, 0)} />\r\n
    \r\n {\r\n const val = { ...userForm };\r\n val.userPhoneNumber = `+${countryCode}${phoneNumber}`;\r\n setUserForm(val);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}","import Rating from \"react-rating\";\r\nexport function PartRating({onChange , readonly = false , intialValue = 0}) {\r\n return (\r\n {\r\n if(onChange){\r\n onChange(value);\r\n }\r\n }}\r\n emptySymbol={}\r\n fullSymbol={}\r\n />\r\n );\r\n}","import axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { PartRating } from \"./rate\";\r\nimport config from '../../../configuration/config.json'\r\nexport function RatingSection({ productID }) {\r\n const { t: trans } = useTranslation([\"common\", \"model\"]);\r\n const [comments, setComments] = useState([]);\r\n useEffect(() => {\r\n handleFetchComments();\r\n }, []);\r\n\r\n // to fetch comments\r\n const handleFetchComments = () => {\r\n try {\r\n if (productID) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSparePartEvaluations\",\r\n \"Values\": {\r\n \"GUID\": `${productID}`\r\n }\r\n }\r\n ).then(response => {\r\n console.log(\"response.data:\",response.data)\r\n setComments(response.data);\r\n }).catch(error => {\r\n console.log('rating section has error request', error);\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n <>\r\n {\r\n comments.map((item, index) => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {item[`${trans(\"model:description\")}`]}\r\n
    \r\n
    \r\n

    {item[`${trans(\"model:description\")}`]}

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

    \r\n {\r\n item.Comment\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 {useTranslation} from \"react-i18next\";\r\nimport config from \"../configuration/config.json\";\r\n\r\nfunction SimpleCardCar(\r\n {\r\n brandID = \"1\",\r\n titleAr = \"Title 1\", title2Ar = \"Title 2\", subTitleListAr = [],\r\n titleEn = \"Title 1\", title2En = \"Title 2\", subTitleListEn = [],\r\n imageFull = \"/assets/images/default.png\"\r\n }) {\r\n\r\n const {t: trans} = useTranslation([\"common\", \"eparts\"]);\r\n const [lang, setLang] = useState(localStorage.getItem('i18nextLng'));\r\n\r\n return (\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n {lang.toLowerCase() == 'ar' ? titleAr ?? \"\" : titleEn ?? \"\"}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n lang.toLowerCase() == 'ar' && (\r\n subTitleListAr.length > 0 && (\r\n subTitleListAr.map((titleValue, titleIndex) => {\r\n return (\r\n titleValue && (\r\n \r\n {titleValue ?? \"\"}\r\n
    \r\n )\r\n )\r\n })\r\n )\r\n )\r\n }\r\n\r\n {\r\n lang.toLowerCase() == 'en' && (\r\n subTitleListEn.length > 0 && (\r\n subTitleListEn.map((titleValue, titleIndex) => {\r\n return (\r\n titleValue && (\r\n \r\n {titleValue ?? \"\"}\r\n
    \r\n )\r\n )\r\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 SimpleCardCar;","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {LikeButton} from \"../../../components/__simple/_likeButton\";\r\nimport {PartRating} from \"./rate\";\r\nimport {useEffect, useState} from \"react\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport SimpleCardCar from \"../../../components/simpleCardCar\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\n\r\nexport function CarSection({guidProductId}, props) {\r\n const {t: trans} = useTranslation([\"common\", \"eparts\"]);\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n\r\n const GetUrl = config.baseURL + 'details';\r\n const [PWD, setPWD] = useState([]);\r\n const [PWDT, setPWDT] = useState([]);\r\n\r\n const [compatibilityList, setCompatibilityList] = useState([]);\r\n\r\n function RequsetPISM() {\r\n\r\n const Body = {\r\n \"name\": \"site_FeatchPartCompatiblity\",\r\n \"values\": {\r\n \"ProductID\": props.productid\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n setTimeout(setPWD(response.data), 100);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetPIDitals(data) {\r\n\r\n const Body = {\r\n \"name\": \"site_FeatchPartCompatiblityTrans\",\r\n \"values\": {\r\n \"ProductID\": data.ID.toString()\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n setTimeout(setPWDT(response.data), 100);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n return;\r\n }\r\n\r\n function Compatiblity() {\r\n\r\n PWD.map((pd) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {pd.group}

    \r\n {pd.type}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n PWDT.map(p => {\r\n return (\r\n
    \r\n
    {p.FromYear}
    \r\n
    {p.ToYear}
    \r\n
    {p.Note}
    \r\n
    \r\n )\r\n }\r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n },\r\n data => RequsetPIDitals(data));\r\n }\r\n\r\n const getCompatibility = ({guid}) => {\r\n const body = {\r\n \"name\": \"Site_FeatchPartCompatiblity\",\r\n \"values\": {\r\n \"GUID\": guid\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n if (response?.data && response?.data.length > 0) {\r\n setCompatibilityList(response?.data);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n // RequsetPISM();\r\n\r\n if (guidProductId) {\r\n getCompatibility({guid: guidProductId});\r\n }\r\n }, [guidProductId]);\r\n\r\n return (\r\n <>\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:model\")}
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:from-year\")}
    */}\r\n {/*
    {trans(\"eparts:to-year\")}
    */}\r\n {/*
    {trans(\"eparts:note\")}
    */}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/*
    */}\r\n {/* {Compatiblity()}*/}\r\n {/*
    */}\r\n\r\n\r\n \r\n {\r\n\r\n compatibilityList?.map((catValue, catIndex) => (\r\n \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 {useTranslation} from \"react-i18next\";\r\nimport {Price} from \"./__simple/_price\";\r\nimport Popup from \"../User/popup\";\r\n\r\nfunction CustomTabbyTamara({price}) {\r\n\r\n const {t: trans, i18n} = useTranslation([\"common\", \"offers\", \"extra\"]);\r\n let lang = i18n.language;\r\n\r\n const [showPopupPay, setShowPopupPay] = useState(null);\r\n\r\n\r\n return (\r\n <>\r\n
    \r\n

    {trans(\"info:buy-now-pay-later\")}

    \r\n
    \r\n {\r\n\r\n\r\n setShowPopupPay(\"tabby\");\r\n }}\r\n\r\n >\r\n \r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n {(price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")}\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 setShowPopupPay(\"tamara\");\r\n }}\r\n >\r\n\r\n {\r\n\r\n }\r\n \r\n\r\n\r\n
    \r\n

    {trans(\"info:pay-4-interest-free-payments\")}\r\n \r\n {(price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")}\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 \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowPopupPay(null)\r\n }}>×\r\n
    \r\n\r\n {\r\n showPopupPay == \"tabby\" ?\r\n //
    \r\n \r\n //
    \r\n :\r\n\r\n //
    \r\n \r\n //
    \r\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 CustomTabbyTamara;","import {Fragment, useEffect, useRef, useState} from \"react\";\r\nimport {Part} from \"./components/part\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport SwiperCore, {Autoplay, EffectFade, Navigation, Pagination} from \"swiper\";\r\nimport {PartRating} from \"./components/rate\";\r\nimport config from '../../configuration/config.json'\r\nimport {DropDownInput} from \"../../components/_input/_dropdown\";\r\nimport {LikeButton} from \"../../components/__simple/_likeButton\";\r\nimport {RatingSection} from \"./components/ratingSection\";\r\nimport {CarSection} from \"./components/carSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {changeIcons} from \"../../_redux/slices/navSlice\";\r\nimport {useParams} from \"react-router\";\r\nimport axios from \"axios\";\r\nimport {useTranslation} from \"react-i18next\";\r\n// import { addToCart } from \"../../_functions/cart\";\r\nimport {useUserCart} from '../../User/hooks/useUserCart';\r\nimport {quantity} from \"cart-localstorage\";\r\nimport {Price} from \"../../components/__simple/_price\";\r\nimport {toast} from \"react-toastify\";\r\nimport _ from 'lodash';\r\nimport {useUserFavorite} from '../../User/hooks/useUserFavorite';\r\nimport {\r\n EmailShareButton,\r\n EmailIcon,\r\n FacebookShareButton,\r\n FacebookIcon,\r\n TelegramShareButton,\r\n TelegramIcon,\r\n TwitterShareButton,\r\n TwitterIcon,\r\n WhatsappShareButton,\r\n WhatsappIcon\r\n} from \"react-share\";\r\nimport {shareMaker} from \"../../utils/shareDataMaker\";\r\nimport {numberFormat} from \"../../utils/currencyFormatter\";\r\nimport CustomTabbyTamara from \"../../components/customTabbyTamara\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport {ServiceBox} from \"../../components/serviceBox\";\r\nimport {getData, User_Data_Key} from \"../../utils/localStorageManager\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function EpartsDetailPage(props) {\r\n const {changeFavoriteItemState, isFavoriteItem} = useUserFavorite();\r\n\r\n const {removecartItems, changecartItem} = useUserCart();\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + lang;\r\n const rateRef = useRef(null);\r\n const carRef = useRef(null);\r\n const [car, setCar] = useState(\"active\");\r\n const [rate, setRate] = useState(\"hidden\");\r\n const [Ava, SetAva] = useState([]);\r\n const [Dilev, SetDilev] = useState([]);\r\n const [counter, setCounter] = useState(1);\r\n const [sharerInfo, setSharerInfo] = useState({\r\n url: '',\r\n hashTage: '',\r\n title: ''\r\n });\r\n\r\n let {ProductId} = useParams();\r\n const {t: trans} = useTranslation([\"eparts\", \"inputs\", \"info\", \"model\", \"new\"]);\r\n const GetUrl = config.baseURL + 'details';\r\n const [PWD, setPWD] = useState([]);\r\n const [PWR, setPWR] = useState([]);\r\n const [AttachImg, setiAttch] = useState([]);\r\n //-------------------------------------------------------------------------\r\n const [favorite, setFavorite] = useState(false);\r\n\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [terms, setTerms] = useState(\"\");\r\n const [checkCompatibility, setCheckCompatibility] = useState({});\r\n\r\n function getpric(NetSalePrice, SalesPriceBefor) {\r\n if (SalesPriceBefor) {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n {SalesPriceBefor}{trans(\"common:rial\")}\r\n
    );\r\n } else {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n
    );\r\n }\r\n }\r\n\r\n const getPrice = (NetSalePrice, SalesPriceDiscount) => {\r\n if (SalesPriceDiscount) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {SalesPriceDiscount}{trans(\"common:rial\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {trans(\"eparts:price-includes-VAT\")}\r\n
    \r\n
    \r\n );\r\n } else {\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 {trans(\"eparts:price-includes-VAT\")}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n const getCatNameUrl = ({guid}) => {\r\n // func_GetCatNameByGuidEPart\r\n try {\r\n const body = {\r\n \"name\": \"func_GetCatNameByGuidEPart\",\r\n \"values\": {\r\n \"guid\": guid\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n if (response.data && response.data.length > 0) {\r\n console.info(\"func_GetCatNameByGuidEPart:data\", response.data[0]);\r\n setCatNameUrl(response?.data[0]);\r\n }\r\n })\r\n .catch(function (error) {\r\n // console.warn(\"func_GetNameCatsByIdEPart:catch\", error);\r\n throw error;\r\n });\r\n } catch (ex) {\r\n console.warn(\"func_GetCatNameByGuidEPart:catch\", ex);\r\n debugger\r\n }\r\n };\r\n\r\n\r\n function RequsetProductsWithDetails() {\r\n const Body = {\r\n \"name\": \"site_FeatchPartsDetails\",\r\n \"values\": {\r\n \"GUID\": ProductId\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(() => (setPWD(response.data)), 100);\r\n\r\n if (response.data[0].ProductImage) {\r\n SetImgMain(response.data[0].ProductImage\r\n // ? \"data:image/png;base64,\" + response.data[0].ProductImage\r\n ? config.mainURL + response.data[0].ProductImage\r\n : lang.toLowerCase() === 'ar'\r\n ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\"\r\n : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\"\r\n );\r\n }\r\n\r\n const epartsInfo = response.data[0];\r\n const _sharerInfo = {...sharerInfo};\r\n\r\n if (epartsInfo) {\r\n const {DescriptionAr, DescriptionEn, CategiorAr, CategiorEn, NetSalePrice, ProductID} = epartsInfo;\r\n const {\r\n url,\r\n title,\r\n hashTag\r\n } = shareMaker(`/eparts/details/${ProductId}`, `${(DescriptionAr ?? '') + '-' + numberFormat(NetSalePrice ?? 0)}`, '');\r\n _sharerInfo.title = title;\r\n _sharerInfo.url = url;\r\n _sharerInfo.hashTage = hashTag;\r\n setSharerInfo(_sharerInfo);\r\n setProductNo(ProductID);\r\n }\r\n getCatNameUrl({guid: ProductId});\r\n // setTimeout(() => (RequsetProductsWithAlternatives(response.data[0].ProductID)), 100);\r\n setTimeout(() => (RequsetProductsWithAlternatives(ProductId)), 100);\r\n getTermsPart({guid: ProductId});\r\n getCheckCompatiblityEPart({guid: ProductId});\r\n setTimeout(() => (RequsetAttch(response.data[0].ProductID)), 100);\r\n setTimeout(() => (RequsetAva(response.data[0].ProductID)), 100);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetProductsWithAlternatives(ID) {\r\n // const Body = {\r\n // \"name\": \"Site_FeatchPartAlternative\",\r\n // \"values\": {\r\n // \"ProductID\": ID\r\n // }\r\n // }\r\n const Body = {\r\n \"name\": \"Site_FeatchPartSpecial\",\r\n \"values\": {\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n \"GUID\": ID\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setPWR(response.data), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const getTermsPart = ({guid}) => {\r\n let body = {\r\n \"name\": \"func_getTermsPart\",\r\n \"values\": {\r\n \"GUID\": guid\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n if (response?.data && response?.data.length > 0) {\r\n\r\n console.log(\"func_getTermsPart: \", response.data);\r\n\r\n if (lang.toLowerCase() == \"ar\") {\r\n if (response?.data[0] && response?.data[0]?.termsAr)\r\n setTerms(response?.data[0]?.termsAr);\r\n } else {\r\n if (response?.data[0] && response?.data[0]?.termsEn)\r\n setTerms(response?.data[0]?.termsEn);\r\n }\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n const getCheckCompatiblityEPart = ({guid}) => {\r\n let body = {\r\n \"name\": \"func_CheckCompatiblityEPart\",\r\n \"values\": {\r\n \"GUID\": guid\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n if (response?.data && response.data.length > 0) {\r\n\r\n console.log(\"getCheckCompatiblityEPart: \", response.data);\r\n setCheckCompatibility(response?.data[0]);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(\"getCheckCompatiblityEPart: \", error);\r\n });\r\n };\r\n\r\n function RequsetAttch(ID) {\r\n const Body = {\r\n \"name\": \"Site_FeatchPartImage\",\r\n \"values\": {\r\n \"productID\": ID\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setiAttch(response.data), 1000);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n setiAttch([]);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetAva(ID) {\r\n const Body = {\r\n \"name\": \"site_FeatchPartLocations\",\r\n \"values\": {\r\n \"productID\": ProductId\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(SetAva(response.data), 100);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetDilevaryTime() {\r\n const Body = {\r\n \"object\": \"Web_DeliveryTime\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n\r\n }\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(SetDilev(response.data.ApiObjectData), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [DilevryTime, SetDilevry] = useState(\"\");\r\n\r\n function DilevryTimeAccounting(option) {\r\n console.log(option);\r\n let dateNow = new Date();\r\n const Div = Dilev.find(f => f.DeliveryTimeId === option.value);\r\n if (option && option.value !== \"0\") {\r\n dateNow.setDate(Div.NumberDays);\r\n }\r\n\r\n if (lang === \"en\") {\r\n\r\n\r\n SetDilevry(\"day/s:\" + dateNow.getDate() + \":hour:\" + Div.NumbeHours);\r\n\r\n } else {\r\n SetDilevry(dateNow.getDate() + \"ايام/يوم:\" + \":\" + Div.NumbeHours + \"-ساعة\");\r\n }\r\n\r\n }\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n handleCalculateRatingStars();\r\n RequsetProductsWithDetails();\r\n RequsetDilevaryTime();\r\n }, [ProductId]);\r\n\r\n useEffect(() => {\r\n\r\n dispatch(\r\n changeIcons({iconsBlack: true})\r\n )\r\n\r\n return () => {\r\n dispatch(\r\n changeIcons({iconsBlack: false})\r\n )\r\n }\r\n }, []);\r\n\r\n const [favoriteProducts, setFavoriteProducts] = useState([]);\r\n // to fetch the user favorites\r\n const fetchUserFavorites = async () => {\r\n let _favorites = [];\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const {id} = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavorites\",\r\n \"values\": {\r\n \"userID\": userID\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const favorites = response.data;\r\n _favorites = _favorites.concat(favorites);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return _favorites;\r\n };\r\n\r\n useEffect(() => {\r\n const results = fetchUserFavorites();\r\n setFavoriteProducts(results);\r\n }, []);\r\n\r\n\r\n function show(section) {\r\n setCar(\"hidden\");\r\n setRate(\"hidden\");\r\n switch (section) {\r\n case \"car\":\r\n setCar(\"active\");\r\n break;\r\n case \"rate\":\r\n setRate(\"active\");\r\n break;\r\n default:\r\n setCar(\"active\");\r\n }\r\n }\r\n\r\n function count(num) {\r\n if (num === -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num === 1 && counter < 100)\r\n setCounter(counter + num);\r\n }\r\n\r\n const [imagePath, SetImgMain] = useState(lang.toLowerCase() == 'ar'\r\n ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\"\r\n : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\"\r\n );\r\n //-------------------------------------------------------------------\r\n const [locationName, setLocationName] = useState('');\r\n const [locationDistance, setLocationDistance] = useState(null);\r\n const [showSharers, setShowSharers] = useState(false);\r\n const [productNo, setProductNo] = useState('');\r\n const [ratingValues, setRatingValues] = useState({\r\n stars: 0,\r\n comments: 0\r\n });\r\n\r\n const [catNameUrl, setCatNameUrl] = useState({});\r\n // to calculate the distance bewtten two coordinates points\r\n const handleGetDistance = (value) => {\r\n try {\r\n if (value == '' || value == '0') {\r\n setLocationName('');\r\n setLocationDistance(null);\r\n return;\r\n }\r\n const {Address, Longitude, Latitude} = Ava.find((item) => {\r\n return item.GUID == value\r\n });\r\n if (navigator.onLine) {\r\n if (Latitude != null && Longitude != null) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n }\r\n const result = getDistance(Latitude, currentPosition.lat, Longitude, currentPosition.lng).toFixed(5);\r\n setLocationDistance(result);\r\n });\r\n } else {\r\n setLocationDistance(null);\r\n }\r\n } else {\r\n toast.warning(trans('info:no_internet_connect'))\r\n }\r\n setLocationName(Address ?? '');\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // to calculate the distance \r\n const getDistance = (lat1, lat2, long1, long2) => {\r\n const y = Math.abs(lat2 - lat1);\r\n const x = Math.abs(long2 - long1);\r\n return Math.sqrt((x * x + y * y));\r\n };\r\n // to share the product\r\n const handleShareItem = () => {\r\n setShowSharers(!showSharers);\r\n };\r\n // to calculate ratings\r\n const handleCalculateRatingStars = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchRatingStarsBySparePartProduct\",\r\n \"Values\": {\r\n \"GUID\": `${ProductId}`\r\n }\r\n }\r\n ).then(response => {\r\n const value = {...ratingValues};\r\n const ratingsGroupsData = response.data;\r\n const results = ratingsGroupsData.map(item => {\r\n return {star: item.Stars, total: item.Total, spe: (item.Stars * item.Total), comments: item.Comments}\r\n });\r\n const totalComments = Math.ceil((_.sum(results.map(item => {\r\n return item.comments\r\n })) / 2));\r\n const totalOfSpe = _.sum(results.map(item => {\r\n return item.spe\r\n }));\r\n const totalOfStars = _.sum(results.map(item => {\r\n return item.total\r\n }));\r\n const finalTotal = Math.floor(totalOfSpe / totalOfStars);\r\n value.stars = finalTotal;\r\n value.comments = totalComments;\r\n setRatingValues(value);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const handelAddToCart = ({part}) => {\r\n\r\n let objectCart =\r\n {\r\n id: part.ProductID,\r\n productID: part.ProductID,\r\n name: part.DescriptionAr,\r\n nameEn: part.DescriptionEn,\r\n price: part.NetSalePrice,\r\n image: imagePath,\r\n Type: \"part\",\r\n };\r\n\r\n console.log(\"objectCart: \", objectCart)\r\n\r\n changecartItem(part?.ProductID, null, null, 1, null, null, objectCart);\r\n\r\n //\r\n // let objectCart =\r\n // part.SalesPriceDiscount > 0\r\n // ?\r\n // {\r\n // id: part?.ProductID,\r\n // productID: part?.ProductID,\r\n // name: part?.DescriptionAr,\r\n // nameEn: part?.DescriptionEn,\r\n // price: part?.SalesPriceDiscount,\r\n // image: part?.imagePath,\r\n // Type: \"part\",\r\n // } :\r\n // {\r\n // id: part?.ProductID,\r\n // productID: part?.ProductID,\r\n // name: part?.DescriptionAr,\r\n // price: part?.NetSalePrice,\r\n // image: imagePath,\r\n // Type: \"part\"\r\n // }\r\n // changecartItem(part?.ProductID, null, null, 1, null, null, objectCart);\r\n }\r\n\r\n return (\r\n \r\n\r\n
    \r\n\r\n {\r\n (catNameUrl?.catId && catNameUrl?.catSubId && catNameUrl?.catSubSubIdd\r\n && catNameUrl?.catAr && catNameUrl.catEn\r\n && catNameUrl?.subCatAr && catNameUrl?.subCatEn\r\n && catNameUrl?.subSubCatAr && catNameUrl?.subSubCatEn\r\n )\r\n ? \r\n : (catNameUrl?.catId && catNameUrl?.catSubId\r\n && catNameUrl?.catAr && catNameUrl?.catEn\r\n && catNameUrl?.subCatAr && catNameUrl?.subCatEn\r\n )\r\n ? \r\n : (catNameUrl?.catId\r\n && catNameUrl?.catAr && catNameUrl?.catEn\r\n )\r\n ? \r\n : \r\n }\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && catNameUrl?.catSubId && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && catNameUrl?.catSubId && catNameUrl.catSubSubIdd && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n\r\n {/**/}\r\n\r\n {/*
    */}\r\n \r\n {/*الصورة*/}\r\n
    \r\n
    \r\n
    \r\n {imagePath.toString()}\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n
    \r\n
    \r\n {AttachImg.map(Att => (\r\n
    \r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n )\r\n )}\r\n\r\n
    \r\n
    \r\n\r\n {\r\n // \r\n PWD.map(D => {\r\n return (\r\n <>\r\n {\r\n
    \r\n\r\n {/*
    */}\r\n {/* {trans(\"eparts:product_id\")}: */}\r\n {/*

    {D.ProductNo}

    */}\r\n\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/*

    {lang.toLowerCase() == \"en\" ? D.DescriptionEn : D.DescriptionAr}

    */}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n {/* {ratingValues.stars}*/}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/* {ratingValues.comments} {trans(\"eparts:mkj\")}*/}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/* {getpric(D.NetSalePrice, D.SalesPriceDiscount)}*/}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/*

    {trans(\"eparts:Specifications\")}

    */}\r\n {/*
    */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:length\")}:
    */}\r\n\r\n {/* {D.length} {trans(\"eparts:mm\")}
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:wheth\")}:
    */}\r\n {/* {D.width} {trans(\"eparts:mm\")}
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:height\")}:
    */}\r\n {/* {D.height} {trans(\"eparts:mm\")}
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n {/*
    {trans(\"eparts:Weight\")}:
    */}\r\n {/* {D.Weight} {trans(\"eparts:mm\")}
    */}\r\n {/*
    */}\r\n\r\n {/*
    */}\r\n {/**/}\r\n\r\n
    \r\n {\r\n !D?.BrandID && (\r\n
    \r\n {\r\n D?.BrandID == '2'\r\n ? trans(\"eparts:lexus-key\")\r\n : D?.BrandID == '1'\r\n ? trans(\"eparts:toyota-key\")\r\n : trans(\"eparts:toyota-key\")\r\n }\r\n
    \r\n )\r\n }\r\n\r\n
    \r\n \r\n {lang.toLowerCase() == \"en\" ? D.DescriptionEn : D.DescriptionAr}\r\n \r\n\r\n {\r\n D.ProductNo && (\r\n \r\n {\"[ \" + D.ProductNo.toString() + \" ]\"}\r\n \r\n )\r\n }\r\n
    \r\n\r\n
    \r\n {getPrice(D.NetSalePrice, D.SalesPriceDiscount)}\r\n
    \r\n\r\n \r\n
    \r\n {\r\n handelAddToCart({part: D});\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n changeFavoriteItemState(productNo);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {ratingValues.stars}\r\n
    \r\n\r\n
    \r\n {ratingValues.comments} {trans(\"eparts:mkj\")}\r\n
    \r\n
    \r\n
    \r\n\r\n <>\r\n {\r\n (D.length && D.width && D.height && D.Weight) && (\r\n \r\n \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n {/*

    {trans(\"offers:offer\")}

    */}\r\n

    {trans(\"eparts:Specifications\")}

    \r\n {\"arrow\"}\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n // offer?.content ?\r\n \r\n\r\n
      \r\n\r\n {\r\n (D.length && D.length != 0 && D.length != 0.0) && (\r\n
    • \r\n \r\n {trans(\"eparts:length\")}:\r\n
    \r\n {D.length} {trans(\"eparts:mm\")}
    \r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n (D.width && D.width != 0 && D.width != 0.0) && (\r\n
  • \r\n \r\n {trans(\"eparts:wheth\")}:\r\n \r\n {D.width} {trans(\"eparts:mm\")}\r\n \r\n
  • \r\n )\r\n }\r\n\r\n {\r\n (D.height && D.height != 0 && D.height != 0.0) && (\r\n
  • \r\n \r\n {trans(\"eparts:height\")}:\r\n \r\n {D.height} {trans(\"eparts:mm\")}\r\n \r\n
  • \r\n )\r\n }\r\n\r\n {\r\n (D.Weight && D.Weight != 0 && D.Weight != 0.0) && (\r\n
  • \r\n D.Weight\r\n \r\n {trans(\"eparts:Weight\")}:\r\n \r\n {D.Weight} {trans(\"eparts:mm\")}\r\n \r\n
  • \r\n )\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 // todo: الشروط والاحكام \r\n\r\n terms && terms != \"\" && (\r\n
    \r\n \r\n
    setIndexPanel(indexPanel == \"2000\" ? \"000\" : \"2000\")}\r\n\r\n >\r\n {/*

    {trans(\"offers:offer\")}

    */}\r\n

    {trans(\"offers:terms\")}

    \r\n {\"arrow\"}\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n \r\n\r\n
      \r\n {\r\n terms.split('\\n')?.map((item, index) => {\r\n\r\n return \r\n {item}\r\n \r\n })\r\n }\r\n
    \r\n\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n \r\n \r\n )\r\n\r\n }\r\n \r\n\r\n \r\n }\r\n \r\n );\r\n\r\n\r\n // if (lang === \"en\") {\r\n // return (\r\n //
    \r\n //
    \r\n // {trans(\"eparts:product_id\")}: \r\n //

    {D.ProductNo}

    \r\n //\r\n //
    \r\n //\r\n //
    \r\n //

    {D.DescriptionEn}

    \r\n //
    \r\n //\r\n //
    \r\n // \r\n //
    \r\n // {ratingValues.stars}\r\n //
    \r\n //\r\n //
    \r\n // {ratingValues.comments} {trans(\"eparts:mkj\")}\r\n //
    \r\n //
    \r\n //
    \r\n //\r\n //
    \r\n //\r\n // {getpric(D.NetSalePrice, D.SalesPriceDiscount)}\r\n //
    \r\n //\r\n //
    \r\n //

    {trans(\"eparts:Specifications\")}

    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:length\")}:
    \r\n //\r\n // {D.length} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:wheth\")}:
    \r\n // {D.width} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:height\")}:
    \r\n // {D.height} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:Weight\")}:
    \r\n // {D.Weight} {trans(\"eparts:mm\")}
    \r\n // \r\n // \r\n // \r\n //\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n //
    \r\n // \r\n //
    \r\n // {trans(\"eparts:product_id\")}: \r\n //

    {D.ProductNo}

    \r\n //\r\n //
    \r\n // \r\n //
    \r\n //

    {D.DescriptionAr}

    \r\n //
    \r\n // \r\n // {\r\n // // التقييم\r\n //
    \r\n //\r\n // \r\n //\r\n //
    \r\n // {ratingValues.stars}\r\n //
    \r\n //\r\n //
    \r\n // {ratingValues.comments} {trans(\"eparts:mkj\")}\r\n //
    \r\n //
    \r\n //
    \r\n // }\r\n //
    \r\n //
    \r\n // {getpric(D.NetSalePrice, D.SalesPriceDiscount)}\r\n //
    \r\n //\r\n //
    \r\n //
    \r\n //

    {trans(\"eparts:Specifications\")}

    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:length\")}:
    \r\n //\r\n // {D.length} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:wheth\")}:
    \r\n // {D.width} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:height\")}:
    \r\n // {D.height} {trans(\"eparts:mm\")}
    \r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:Weight\")}:
    \r\n // {D.Weight} {trans(\"eparts:mm\")}
    \r\n // \r\n // \r\n // \r\n //\r\n // \r\n // );\r\n // }\r\n }\r\n )\r\n }\r\n\r\n {\r\n //
    \r\n //
    \r\n //
    \r\n // {\r\n // changeFavoriteItemState(productNo)\r\n // }}\r\n // />\r\n //
    \r\n //
    \r\n //
    {trans(\"eparts:dateNithing\")}
    \r\n // {\r\n // if (lang === \"ar\") {\r\n // return {value: A.DeliveryTimeId, text: A.SIteNameAr};\r\n // } else {\r\n // return {value: A.DeliveryTimeId, text: A.SiteNameEn};\r\n // }\r\n //\r\n // })]}\r\n // onfilter={DilevryTimeAccounting}\r\n //\r\n // />\r\n //

    \r\n // {trans(\"eparts:AccessTo\")} {DilevryTime}\r\n //

    \r\n //
    \r\n //\r\n //\r\n // {PWD.map(WD => (\r\n //
    \r\n //\r\n //
    \r\n // \r\n //
    {counter}
    \r\n // \r\n //
    \r\n // {\r\n //\r\n // var objectCart =\r\n // WD.SalesPriceDiscount > 0 ?\r\n // {\r\n //\r\n //\r\n // id: WD?.ProductID,\r\n // productID: WD?.ProductID,\r\n // name: WD?.DescriptionAr,\r\n // price: WD?.SalesPriceDiscount,\r\n // image: imagePath,\r\n // Type: \"part\"\r\n //\r\n //\r\n // // quantity( WD.ProductID,counter)\r\n // }\r\n // :\r\n // {\r\n //\r\n // id: WD?.ProductID,\r\n // productID: WD?.ProductID,\r\n // name: WD?.DescriptionAr,\r\n // price: WD?.NetSalePrice,\r\n // image: imagePath,\r\n // Type: \"part\"\r\n //\r\n //\r\n // // quantity( WD.ProductID,counter)\r\n // }\r\n //\r\n // changecartItem(WD.ProductID, null, null, counter, null, null, objectCart);\r\n //\r\n //\r\n // }}\r\n //\r\n // className={\"btn btn-primary text-14 px-4\"}>\r\n // {trans(\"eparts:AddToCart\")}\r\n // \"hassan\r\n //
    \r\n //
    \r\n // ))}\r\n //\r\n //\r\n //
    \r\n //
    {trans(\"eparts:AvaAtView\")}
    \r\n // {\r\n //\r\n // {\r\n // if (lang === \"ar\") {\r\n // return {value: A.GUID, text: A.SitesDescriptionAr};\r\n // } else {\r\n // return {value: A.GUID, text: A.SitesDescriptionEn};\r\n // }\r\n //\r\n // })]}\r\n // onSelect={handleGetDistance}\r\n //\r\n // />\r\n //\r\n // }\r\n //\r\n //
    \r\n //

    {trans(\"eparts:locations-title\")}

    \r\n //
    \r\n //
    \r\n //
    \r\n // \"location\"/\r\n //

    {locationName}

    \r\n //
    \r\n // \r\n //

    \r\n // {\r\n // trans(\"info:ditance_note\") + ' ' + (locationDistance ? (String(locationDistance) + ' ' + trans('info:km')) : '')\r\n // }\r\n //

    \r\n // \r\n // \"\"/\r\n // \r\n //\r\n //
    \r\n // {showSharers &&\r\n //
    \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
    }\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \"\"/\r\n //
    \r\n //

    {trans(\"new:locations-shop\")}

    \r\n // {\"info\"}/\r\n //
    \r\n //
    \r\n //
    \r\n // \"\"/\r\n //
    \r\n //

    {trans(\"new:locations-Replace\")}

    \r\n // {\"info\"}/\r\n //
    \r\n //
    \r\n //
    \r\n // \"\"/\r\n //
    \r\n //

    {trans(\"new:locations-Advice\")}

    \r\n // {\"info\"}/\r\n //
    \r\n //
    \r\n //
    \r\n // \"\"/\r\n //
    \r\n //

    {trans(\"new:locations-Send\")}

    \r\n // {\"info\"}/\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n }\r\n \r\n \r\n\r\n {\r\n /*التوافق*/\r\n (checkCompatibility?.CheckCompatibility == true) && (\r\n
    \r\n\r\n
    \r\n \r\n\r\n {/*todo: التقييم */}\r\n {/**/}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n {\r\n /*منتجات مماثلة*/\r\n (PWR && PWR.length > 0) && (\r\n
    \r\n \r\n\r\n \r\n {\r\n PWR?.map((catValue, catIndex) => (\r\n \r\n {\r\n // \r\n\r\n\r\n \r\n }\r\n \r\n ))\r\n }\r\n \r\n {/*
    */\r\n }\r\n {/* {PWR.map(P => (*/\r\n }\r\n {/* */\r\n }\r\n\r\n {/* */\r\n }\r\n {/* */\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 {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {Price} from \"../../../components/__simple/_price\";\r\nimport {useState} from \"react\";\r\n// import {addToCart} from \"../../../_functions/cart\";\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\n\r\nexport function Item({hasLike = false , ...props}) {\r\n const {t: trans} = useTranslation([\"common\", \"eparts\"]);\r\n let imagePath = \"/assets/images/eparts/defulte.png\";\r\n\r\n const { removecartItems, changecartItem } = useUserCart();\r\n imagePath = (props.ProductImage) ? \"data:image/png;base64,\" + props.ProductImage : imagePath;\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n let Description = \"Description....\";\r\n Description = lang === \"ar\" ? props.DescriptionAr : props.DescriptionEn;\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 var objectCart =\r\n {\r\n id: props?.ProductID,\r\n name: props?.DescriptionAr,\r\n price: props?.NetSalePrice,\r\n image: imagePath, \r\n Type:\"accessories\",\r\n Engine_Groups:props?.Engine_Groups\r\n }\r\n changecartItem(props?.ProductID, null, null, 1,null,null,objectCart);\r\n // addToCart(\r\n // {\r\n // id: props.ProductID,\r\n // name: props.DescriptionAr,\r\n // price: props.NetSalePrice,\r\n // image: imagePath, \r\n // Type:\"accessories\",\r\n // Engine_Groups:props.Engine_Groups\r\n // }\r\n // )\r\n window.location.reload();\r\n\r\n }}\r\n className=\"part-card-info-cart text-16 btn btn-primary\">\r\n {trans(\"add-to-cart\")}\r\n {trans(\"buy\")}/\r\n
    \r\n\r\n \r\n\r\n
    \r\n

    \r\n {trans(\"eparts:product_id\")} : {props.ProductID}\r\n

    \r\n
    \r\n

    {Description}

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

    \r\n \r\n

    \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 {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {LikeButton} from \"../../../components/__simple/_likeButton\";\r\nimport {Price} from \"../../../components/__simple/_price\";\r\nimport {add, total, list} from 'cart-localstorage'\r\nimport {useState} from \"react\";\r\nimport {addToCart} from \"../../../_functions/cart\";\r\n\r\nexport function Gift({hasLike = false , ...props}) {\r\n const {t: trans} = useTranslation([\"common\", \"eparts\"]);\r\n\r\n let imagePath = \"/assets/images/eparts/defulte.png\";\r\n\r\n\r\n imagePath = (props.ProductImage) ? \"data:image/png;base64,\" + props.ProductImage : imagePath;\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n let Description = \"Description....\";\r\n Description = lang === \"ar\" ? props.DescriptionAr : props.DescriptionEn;\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 {trans(\"eparts:product_id\")} : {props.ProductID}\r\n

    \r\n
    \r\n

    {Description}

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

    \r\n \r\n

    \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 { useRef, useState } from \"react\";\r\nimport { quantity } from 'cart-localstorage'\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport axios from \"axios\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Item } from \"./Item\";\r\nimport { Gift } from \"./gift\";\r\nimport { useUserFavorite } from \"../../../User/hooks/useUserFavorite\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport { LikeButton } from \"../../../components/__simple/_likeButton\";\r\nimport _ from \"lodash\";\r\nimport { Base64 } from 'js-base64';\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\nimport { toast } from \"react-toastify\";\r\nimport { getData } from \"../../../utils/localStorageManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\nexport function Cart(\r\n { slug, img, brand, name, price, count, id, onDelete, modelTypes,\r\n Tax, Discount, Pay, Account, colorID, CategoryCar, productID, year, modelTypeID, colorName, modelCode, carErrorCount }\r\n) {\r\n const { isFavoriteItem, changeFavoriteItemState } = useUserFavorite();\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const [LodingDelate, setLodingDelate] = useState(false);\r\n const { t: trans } = useTranslation([\"cartFile\", \"info\"]);\r\n const GetUrl = config.baseURL + 'details';\r\n const [counter, setCounter] = useState(count);\r\n const [Accessories, setAccessories] = useState([]);\r\n const [GiftS, setGifts] = useState([]);\r\n let lang = localStorage.getItem('i18nextLng');\r\n const specRef = useRef(null);\r\n // to show and hide the accessories box\r\n const [hasAccessories, setHasAccessories] = useState(false);\r\n const [hasGift, setHasGift] = useState(false);\r\n const [CartInfo, setCartInfo] = useState({ id: \"\", brand: \"\", modelTypes: \"\", Color: \"\", CountGifts: 0, MinPrice: 0, Discount: 0, img: \"\", CategoryCar: 0 });\r\n //----------------------------------------------------------\r\n const countF = async (num) => {\r\n\r\n const countSN = await getSerialsBuyOnlineCount(modelTypeID, year, colorID);\r\n\r\n console.log(\"countSN>>>>>>>>>>>>>>>>>>>>>>:\", countSN);\r\n console.log(\"num>>>>>>>>>>>>>>>>>>>>>>:\", num);\r\n if (countSN == null || (num != -1 && countSN != null && (countSN < (counter + num)))) {\r\n\r\n toast.warn(trans(\"cartFile:quantity_is_not_available\"), {\r\n position: \"top-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n return;\r\n }\r\n\r\n\r\n if (num == -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num == 1 && counter < 100)\r\n setCounter(counter + num);\r\n if (num == -1 && counter == 1) {\r\n // onDelete();\r\n\r\n return;\r\n }\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const resultchangecartItem = await changecartItem(productID, colorID, modelTypes, num, modelCode);\r\n Account()\r\n } else {\r\n quantity(id, num);\r\n Account()\r\n }\r\n\r\n\r\n console.log(\">>>>>>>>>countF>>>>>>>>>>>>>:\");\r\n\r\n\r\n }\r\n\r\n const getSerialsBuyOnlineCount = async (Type, Model, ColorID) => {\r\n var count = 0;\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"siteInvProductSerialsBuyOnlineCount\",\r\n \"Values\": {\r\n \"Type\": `${Type}`,\r\n \"Model\": `${Model}`,\r\n \"ColorID\": `${ColorID}`\r\n }\r\n }\r\n );\r\n\r\n\r\n count = response.data[0].countSN;\r\n console.log(\"getSerialsBuyOnlineCount>>>>return>>>>>\", count);\r\n return count;\r\n };\r\n\r\n //SiteAccessories_Cart;\r\n async function CarCartInfo() {\r\n const Body = {\r\n \"name\": \"Site_CarCartInfoAr\",\r\n \"values\": {\r\n \"slug\": `${slug}`, \"colorId\": `${colorID}`\r\n }\r\n }\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n var CuurentValue = CartInfo;\r\n CuurentValue.brand = response.data[0].Brand\r\n CuurentValue.modelTypes = response.data[0].ModelTypes\r\n CuurentValue.MinPrice = response.data[0].MinPrice\r\n CuurentValue.Discount = response.data[0].Discount\r\n CuurentValue.CountGifts = response.data[0].CountGifts\r\n CuurentValue.Color = response.data[0].Color\r\n CuurentValue.year = response.data[0].Model\r\n CuurentValue.img = response.data[0].img ? response.data[0].img : \"/assets/images/eparts/default.png\";\r\n CuurentValue.CategoryCar = response.data[0].CategoryCar\r\n setCartInfo(CuurentValue)\r\n CategoryCar(CuurentValue.CategoryCar)\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n async function Accessories_Car(ProductsId) {\r\n const Body = {\r\n \"name\": \"Site_Accessories_CartCar\",\r\n \"values\": {\r\n \"ProductID\": `${ProductsId}`\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data);\r\n setAccessories(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n async function Gifts_Car(ProductsId) {\r\n const Body = {\r\n \"name\": \"Site_Gifts_CartCar\",\r\n \"values\": {\r\n \"ProductID\": `${ProductsId}`\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data);\r\n setGifts(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n useState(() => {\r\n if (id) {\r\n CarCartInfo();\r\n // Accessories_Car(id);\r\n // Gifts_Car(id);\r\n }\r\n }, []);\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n {\r\n\r\n (carErrorCount == true) &&\r\n
    {trans(\"cartFile:quantity_is_not_available\")}
    \r\n }\r\n
    \r\n
    \r\n\r\n {\r\n (Base64.isValid(img) == 1 ?\r\n\r\n {\"\"} :\r\n {\"\"})\r\n\r\n }\r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"cartFile:trade\")}

    \r\n

    {brand}

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

    {trans(\"cartFile:vehicle_type\")}

    \r\n

    {modelTypes}

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

    {trans(\"info:vehicle_year\")}

    \r\n

    {year}

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

    {trans(\"cartFile:color\")}

    \r\n

    \r\n {colorName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n\r\n LodingDelate ?\r\n \r\n \r\n \r\n\r\n : \r\n }\r\n { changeFavoriteItemState(productID) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    {trans(\"cartFile:product_price\")}
    \r\n
    \r\n
    \r\n {\r\n Discount ?\r\n
    \r\n
    {trans(\"cartFile:discount_amount\")}
    \r\n
    \r\n
    \r\n : null\r\n }\r\n\r\n {\r\n Discount ?\r\n
    \r\n
    {trans(\"cartFile:discount_rate\")}
    \r\n
    %{(Discount / (price + Discount)) * 100}
    \r\n
    \r\n : null\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"cartFile:amount\")}

    \r\n
    \r\n \r\n
    {counter}
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {/* */}\r\n \r\n
    \r\n\r\n {hasAccessories &&
    \r\n
    \r\n {\r\n \r\n\r\n\r\n\r\n {Accessories.map(P => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n // Accessories.map((Acc)=>{\r\n // return(
    \r\n // \"\"/\r\n //
    {Acc.DescriptionAr}
    \r\n // {\"info\"}/\r\n //
    ); \r\n // })\r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n }\r\n\r\n {hasGift &&
    \r\n
    \r\n {\r\n \r\n\r\n\r\n\r\n {GiftS.map(P => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n //Accessories.map((Acc)=>{\r\n // return(
    \r\n // \"\"/\r\n //
    {Acc.DescriptionAr}
    \r\n // {\"info\"}/\r\n //
    ); \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 { useEffect, useRef, useState } from \"react\";\r\nimport { quantity } from 'cart-localstorage'\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport { LikeButton } from \"../../../components/__simple/_likeButton\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useUserFavorite } from \"../../../User/hooks/useUserFavorite\";\r\nimport _ from \"lodash\";\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\nimport { getData } from \"../../../utils/localStorageManager\";\r\nexport function CartItems(\r\n { Account, img, brand, name, price, count, id, favorites, onFavoriteItemsChange, onDelete, Categior, Discount, Tax, Pay, favoriteItems, showCategor = true, productNo }\r\n) {\r\n const { t: trans } = useTranslation([\"cartFile\", \"new\"]);\r\n const { isFavoriteItem, changeFavoriteItemState } = useUserFavorite();\r\n const [counter, setCounter] = useState(count);\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const specRef = useRef(null);\r\n const [specHeight, setHeight] = useState(0);\r\n\r\n const countF = async (num) => {\r\n if (num === -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num === 1 && counter < 100)\r\n setCounter(counter + num);\r\n if (num === -1 && counter === 1) {\r\n // onDelete();\r\n\r\n return;\r\n }\r\n console.log(\"part id:\" + id);\r\n\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const resultchangecartItem = await changecartItem(id, null, null, num, null);\r\n Account()\r\n } else {\r\n quantity(id, num);\r\n Account()\r\n }\r\n \r\n\r\n }\r\n\r\n function showData() {\r\n\r\n setHeight(specHeight <= 0 ? specRef.current.scrollHeight : 0);\r\n }\r\n\r\n const [isFavorite, setIsFavorite] = useState(false);\r\n const [tempFavorites, setTempFavorites] = useState(favoriteItems);\r\n\r\n const [CartInfo, setCartInfo] = useState(null);\r\n async function PartCartInfo() {\r\n\r\n const Body = {\r\n \"name\": \"Site_FeatchCartPartInfo\",\r\n \"values\": {\r\n \"ProductID\": `${id}`\r\n }\r\n }\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n var CuurentValue = {};\r\n CuurentValue.Brand = lang === \"ar\" ? response.data[0].BrandAr : response.data[0].BrandEn;\r\n CuurentValue.category = lang === \"ar\" ? response.data[0].categoryAr : response.data[0].categoryEn;\r\n CuurentValue.Description = lang === \"ar\" ? response.data[0].DescriptionAr : response.data[0].DescriptionEn;\r\n\r\n // CuurentValue.img = response.data[0].img ? \"data:image/png;base64,\" + response.data[0].img : \"/assets/images/eparts/default.png\";\r\n CuurentValue.img = response.data[0].img \r\n ? \"data:image/png;base64,\" + response.data[0].img \r\n : lang.toLowerCase() === \"ar\" ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\" : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\";\r\n\r\n CuurentValue.ProductNo = response.data[0].ProductNo;\r\n\r\n console.log(\"CuurentValue>>>>>>>>>>>>>>>>>>>>>>>>:\",CuurentValue);\r\n setCartInfo(CuurentValue);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n //handleFavoriteState();\r\n PartCartInfo();\r\n }, []);\r\n\r\n return (
    \r\n\r\n
    \r\n
    \r\n {productNo.toString()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"new:category_no\")}

    \r\n

    {productNo}

    \r\n
    \r\n {\r\n showCategor &&
    \r\n

    {trans(\"new:category\")}

    \r\n

    {CartInfo?.category}

    \r\n
    \r\n }\r\n\r\n
    \r\n

    {trans(\"new:description\")}

    \r\n

    {CartInfo?.Description}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { changeFavoriteItemState(id) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    {trans(\"new:single_price\")}
    \r\n
    \r\n
    \r\n
    \r\n
    {trans(\"cartFile:discount_rate\")}
    \r\n
    {Discount}%
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"cartFile:amount\")}

    \r\n
    \r\n \r\n
    {counter}
    \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 { useRef, useState, useEffect } from \"react\";\r\nimport { quantity } from 'cart-localstorage'\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { LikeButton } from \"../../../components/__simple/_likeButton\";\r\nimport { DateInput2 as DateInput } from \"../../../components/_input/_dateInput_2\";\r\nimport { getData, User_Data_Key } from \"../../../utils/localStorageManager\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport { slugCombine, slugSplitter } from '../../../utils/slugManager';\r\nimport moment from \"moment\";\r\nexport function BouquetCart(\r\n { Account, img, brand, name, price, year, count, Desc, id, productID, onDelete, Categior, Discount, Tax, Pay, packageId, ErrorDate, Orderdate, refrechDate }\r\n) {\r\n const { t: trans, i18n } = useTranslation([\"cartFile\", \"new\", \"form\",\"info\", \"eparts\"]);\r\n const [counter, setCounter] = useState(count);\r\n const specRef = useRef(null);\r\n const [specHeight, setHeight] = useState(0);\r\n const [editDate, setEditDate] = useState(false);\r\n const [editCarType, setEditCarType] = useState(false);\r\n const [models, setModels] = useState([]);\r\n const [CartInfo, setCartInfo] = useState({ id: \"\", brand: \"\", DiscountRate: 0, img: \"\", Description: \"\", Titel: 0, ItemsNumer: 0, Price: 0.000 });\r\n const [ServiceInfo, setServiceInfo] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [formGroup, setFormGroup] = useState(null);\r\n const [formModelTypeID, setFormModelTypeID] = useState(null);\r\n const [formYear, setFormYear] = useState(null);\r\n const [requestForm, setRequestForm] = useState({\r\n date: '',\r\n time: '',\r\n });\r\n let lang = i18n.language;\r\n function countF(num) {\r\n if (num === -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num === 1 && counter < 100)\r\n setCounter(counter + num);\r\n if (num === -1 && counter === 1) {\r\n // onDelete();\r\n\r\n return;\r\n }\r\n console.log(\"part id:\" + id);\r\n quantity(id, num);\r\n Account();\r\n }\r\n\r\n const [LodingDelate, setLodingDelate] = useState(false);\r\n const [LodingEditDate, setLodingEditDate] = useState(false);\r\n const [LodingEditCarType, setLodingEditCarType] = useState(false);\r\n const [SupportedVehicles, setSupportedVehicles] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [filteredProductModels, setFilteredProductModels] = useState([]);\r\n async function updateDateService() {\r\n setLodingEditDate(true);\r\n var fullDatetime = Orderdate;\r\n var userID = null;\r\n try {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n userID = Number(id.toString().split('_')[1]);\r\n } catch (error) {\r\n\r\n }\r\n\r\n if (userID) {\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n var datetime = new moment(md).format('yyyy-MM-DD HH:mm:ss');\r\n fullDatetime = datetime;\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n await axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"WebUserCart\",\r\n \"values\": {\r\n \"Orderdate\": fullDatetime\r\n },\r\n \"Filters\": `where WebUserID = '${userID}' and ProductID= '${productID}' and packageId=${packageId} `\r\n }\r\n ).then(async response => {\r\n\r\n await refrechDate();\r\n setEditDate(false);\r\n setLodingEditDate(false);\r\n console.log(\"response update:\", response);\r\n\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setEditDate(false);\r\n setLodingEditDate(false);\r\n });\r\n } else {\r\n setLodingEditDate(false);\r\n setEditDate(false);\r\n }\r\n }\r\n\r\n async function updateCarTypeService() {\r\n setLodingEditCarType(true);\r\n var userID = null;\r\n try {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n userID = Number(id.toString().split('_')[1]);\r\n } catch (error) {\r\n\r\n }\r\n\r\n if (userID) {\r\n\r\n\r\n await axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"WebUserCart\",\r\n \"values\": {\r\n \"modelTypeID\": requestForm?.modelTypeID,\r\n \"year\": requestForm?.year\r\n },\r\n \"Filters\": `where WebUserID = '${userID}' and ProductID= '${productID}' and packageId=${packageId} `\r\n }\r\n ).then(async response => {\r\n\r\n await refrechDate();\r\n setEditCarType(false);\r\n setLodingEditCarType(false);\r\n console.log(\"response update:\", response);\r\n\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setEditCarType(false);\r\n setLodingEditCarType(false);\r\n });\r\n } else {\r\n setLodingEditCarType(false);\r\n setEditCarType(false);\r\n }\r\n }\r\n\r\n function GetCartInfo() {\r\n\r\n const Body = {\r\n \"name\": \"site_fetchPackageDetails\",\r\n \"values\": {\r\n \"lang\": lang,\r\n \"packageId\": packageId ? packageId + \"\" : null\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n var CuurentValue = response.data[0];\r\n CuurentValue.offerName = response.data[0].Offer;\r\n CuurentValue.packageName = response.data[0].Title;\r\n CuurentValue.Price = response.data[0].Price;\r\n CuurentValue.img = response.data[0].image;\r\n setCartInfo(CuurentValue);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n\r\n function GetServiceInfo() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchInfoService\",\r\n \"values\": {\r\n \"ServiceID\": productID\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n var CuurentValue = {};\r\n\r\n CuurentValue.ServiceName = lang == \"ar\" ? response.data[0].ServiceNameAR : response.data[0].ServiceName;\r\n\r\n setServiceInfo(CuurentValue);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n function showData() {\r\n\r\n setHeight(specHeight <= 0 ? specRef.current.scrollHeight : 0);\r\n }\r\n useState(() => {\r\n GetCartInfo();\r\n GetServiceInfo();\r\n })\r\n\r\n useEffect(() => {\r\n\r\n if (CartInfo && CartInfo?.slugAr) {\r\n\r\n FetchOfferSupportedServices(CartInfo?.slugAr);\r\n FetchOfferSupportedVehicles(CartInfo?.slugAr);\r\n FetchModels();\r\n }\r\n\r\n }, [CartInfo])\r\n\r\n useEffect(() => {\r\n\r\n var ly = [];\r\n\r\n try {\r\n if (acticeCar?.fromYear && acticeCar?.toYear) {\r\n\r\n ly.push({ value: acticeCar.fromYear, text: acticeCar.fromYear });\r\n var newy = parseInt(acticeCar.fromYear);\r\n for (var i = 0; i <= 30; i++) {\r\n\r\n newy = parseInt(newy) + 1;\r\n\r\n ly.push({ value: newy, text: newy });\r\n\r\n if (newy >= acticeCar?.toYear) {\r\n\r\n break;\r\n }\r\n }\r\n setYears(ly);\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, [acticeCar]);\r\n\r\n function setDefultDate() {\r\n\r\n var date = null\r\n var time = null;\r\n\r\n if (Orderdate) {\r\n console.log(\"Orderdate>>>>>>>>>>>>>>>>>>>>>>>>:\", Orderdate);\r\n try {\r\n var all = Orderdate.split(\" \");\r\n console.log(\"all:\", all);\r\n date = all[0];\r\n time = all[1];\r\n\r\n\r\n\r\n } catch (error) {\r\n }\r\n\r\n }\r\n\r\n const val = { ...requestForm };\r\n val.date = date;\r\n val.time = time;\r\n setRequestForm(val);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setDefultDate();\r\n\r\n }, [Orderdate])\r\n\r\n\r\n const handleFilteredModels = (option) => {\r\n\r\n\r\n const fModels = models?.filter(a => a.productGroupID == option);\r\n\r\n setFilteredProductModels(fModels);\r\n\r\n };\r\n\r\n const FetchModels = async () => {\r\n try {\r\n try {\r\n const responsemodels = await axios.request({\r\n baseURL: config.controllURL,\r\n url: config.controllURL + lang + \"/api/Maintenance/ProductModels\",\r\n method: \"get\",\r\n });\r\n setModels(responsemodels.data);\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n };\r\n\r\n const FetchOfferSupportedVehicles = async (Slug) => {\r\n try {\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FetchOfferSupportedVehicles\",\r\n \"values\": {\r\n \"slug\": Slug\r\n\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n setSupportedVehicles(response.data);\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n };\r\n\r\n const [SupportedServices, setSupportedServices] = useState([]);\r\n const [SupportedMainServices, setSupportedMainServices] = useState([]);\r\n const [SupportedLastsServices, setSupportedLastsServices] = useState([]);\r\n const [isLoadingSupportedServices, setLoadingSupportedServices] = useState(true);\r\n const FetchOfferSupportedServices = async (Slug) => {\r\n try {\r\n setLoadingSupportedServices(true);\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FetchOfferSupportedServices\",\r\n \"values\": {\r\n \"slug\": Slug\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n var Mainservice = [];\r\n var Lastservice = [];\r\n var MainserviceIDS = [];\r\n response.data?.map((item, index) => {\r\n\r\n if (item?.packageId == packageId) {\r\n\r\n\r\n\r\n if (item?.ServiceID) {\r\n if (!Lastservice.includes(item)) {\r\n Lastservice.push(item);\r\n MainserviceIDS.push(item?.subService2);\r\n }\r\n } else if (item?.subService2) {\r\n\r\n if (!Mainservice.includes(item)) {\r\n\r\n Mainservice.push(item);\r\n }\r\n }\r\n\r\n }\r\n\r\n });\r\n Mainservice = Mainservice.filter(item => !MainserviceIDS.includes(item?.subService2))\r\n setSupportedMainServices(Mainservice);\r\n setSupportedLastsServices(Lastservice);\r\n\r\n setSupportedServices(response.data);\r\n setLoadingSupportedServices(false);\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingSupportedServices(false);\r\n }\r\n\r\n };\r\n return (
    \r\n\r\n {\r\n\r\n (ErrorDate == true) &&\r\n
    {trans(\"cartFile:service_date_isMandatory\")}
    \r\n }\r\n\r\n
    \r\n
    \r\n {\r\n CartInfo?.img &&\r\n < img className={\"object-full product-cart-image object-contain\"} src={config.mainURL + CartInfo?.img} />\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"new:package\")} :

    \r\n

    {CartInfo?.offerName}

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

    {trans(\"new:vehicle\")}:

    \r\n

    {Desc}

    \r\n\r\n {\r\n editCarType == false && getData('isAuthenticated') ?\r\n\r\n <>\r\n\r\n {\r\n setEditCarType(true);\r\n\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 SupportedLastsServices && SupportedLastsServices.length > 0 &&\r\n
    \r\n

    {trans(\"new:items_count\")}:

    \r\n

    {SupportedLastsServices.length}

    \r\n
    \r\n }\r\n\r\n\r\n\r\n {\r\n SupportedLastsServices && SupportedLastsServices.length > 0 &&\r\n
    \r\n

    {trans(\"new:description\")} :

    \r\n

    {SupportedLastsServices.map((a, index) => {\r\n\r\n return (\r\n

  • {a.ServiceNameAR}
  • \r\n )\r\n })}

    \r\n
    \r\n\r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n\r\n LodingDelate ?\r\n \r\n \r\n \r\n\r\n : \r\n }\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    {trans(\"new:package_price\")}
    \r\n
    \r\n
    \r\n\r\n {\r\n // Orderdate &&\r\n
    \r\n
    {trans(\"form:maintenance-date\")}
    \r\n
    {Orderdate && new moment(Orderdate).format('yyyy/MM/DD hh:mm:ss a')}
    \r\n\r\n {\r\n editDate == false && getData('isAuthenticated') ?\r\n\r\n <>\r\n\r\n {\r\n setEditDate(true);\r\n\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 {false &&
    \r\n
    {trans(\"cartFile:discount_rate\")}
    \r\n
    {CartInfo.DiscountRate}%
    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"cartFile:amount\")}

    \r\n
    \r\n \r\n
    {counter}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {\r\n editDate == true ?\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n //////console.log(\">>>>>>>>>>>>>:\", e.target.value);\r\n if (e.target.value >= (new Date().toJSON().slice(0, 10)) || !e.target.value) {\r\n const val = { ...requestForm };\r\n val.date = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.time = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n {\r\n\r\n LodingEditDate ?\r\n \r\n \r\n \r\n\r\n :\r\n <>\r\n {\r\n\r\n updateDateService();\r\n\r\n\r\n }}\r\n />\r\n\r\n {\r\n\r\n setDefultDate();\r\n setEditDate(false);\r\n setLodingEditDate(false);\r\n\r\n\r\n }}\r\n />\r\n \r\n\r\n }\r\n
    \r\n
    \r\n\r\n :\r\n\r\n null\r\n\r\n\r\n }\r\n\r\n\r\n {\r\n editCarType == true ?\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n a.packageId == packageId)).map(B => {\r\n return { value: B.slug, text: ((lang == \"ar\" ? B?.brand : B?.brandEn) + \" \" + (lang == \"ar\" ? B?.group : B?.groupEn)), carGroupID: B.carGroupID };\r\n })]}\r\n selectedValue={requestForm?.slug}\r\n onSelect={(value) => {\r\n\r\n console.log(\"onSelect:\", value);\r\n\r\n var car = (SupportedVehicles.filter(a => a.slug == value))[0];\r\n if (car) {\r\n setActiceCar(car);\r\n const val = { ...requestForm };\r\n val.slug = value;\r\n val.carGroupID = car?.carGroupID;\r\n val.year = null;\r\n val.modelTypeID = null;\r\n setFormGroup(val.carGroupID);\r\n setFormYear(null);\r\n setFormModelTypeID(null);\r\n setRequestForm(val);\r\n handleFilteredModels(val.carGroupID);\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 val = { ...requestForm };\r\n val.year = value + \"\";\r\n setRequestForm(val);\r\n setFormYear(val.year);\r\n handleFilteredModels(requestForm?.carGroupID);\r\n }}\r\n\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {\r\n return { value: B.productTypeID, text: B.description };\r\n })]}\r\n selectedValue={formModelTypeID}\r\n onSelect={(value) => {\r\n const val = { ...requestForm };\r\n val.modelTypeID = value + \"\";\r\n setRequestForm(val);\r\n setFormModelTypeID(val.modelTypeID);\r\n }}\r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {\r\n LodingEditCarType ?\r\n \r\n \r\n \r\n\r\n :\r\n <>\r\n {\r\n\r\n updateCarTypeService();\r\n\r\n\r\n }}\r\n />\r\n\r\n {\r\n\r\n setDefultDate();\r\n setEditCarType(false);\r\n setLodingEditCarType(false);\r\n\r\n\r\n }}\r\n />\r\n \r\n }\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n :\r\n\r\n null\r\n\r\n\r\n }\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n );\r\n}\r\n","import { useRef, useState } from \"react\";\r\nimport { quantity } from 'cart-localstorage'\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport { LikeButton } from \"../../../components/__simple/_likeButton\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\nimport { getData } from \"../../../utils/localStorageManager\";\r\nexport function ServiceBox(\r\n { Account, img, brand, name, price, count, id, onDelete, Categior, Discount, Tax, Pay, modelCode, modelTypes,Orderdate }\r\n) {\r\n const { t: trans, i18n } = useTranslation([\"cartFile\", \"new\"]);\r\n const [counter, setCounter] = useState(count);\r\n const specRef = useRef(null);\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const [specHeight, setHeight] = useState(0);\r\n const [CartInfo, setCartInfo] = useState(null);\r\n let lang = i18n.language;\r\n const countF = async (num) => {\r\n if (num === -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num === 1 && counter < 100)\r\n setCounter(counter + num);\r\n if (num === -1 && counter === 1) {\r\n // onDelete();\r\n\r\n return;\r\n }\r\n console.log(\"part id:\" + id);\r\n\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const resultchangecartItem = await changecartItem(id, null, null, num, modelCode);\r\n Account()\r\n } else {\r\n quantity(id, num);\r\n Account()\r\n }\r\n }\r\n function GetCartInfo() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchInfoService\",\r\n \"values\": {\r\n \"ServiceID\": id\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n var CuurentValue = {};\r\n\r\n try {\r\n CuurentValue.Description = lang == \"ar\" ? response.data[0].ServiceNameAR : response.data[0].ServiceName;\r\n CuurentValue.DiscountRate = response.data[0].DiscountAmount;\r\n CuurentValue.name = name;\r\n CuurentValue.img = response.data[0].img ? \"data:image/png;base64,\" + response.data[0].img : \"/assets/images/toolMaintenance.gif\";\r\n CuurentValue.price = price;\r\n } catch (error) {\r\n \r\n }\r\n \r\n\r\n setCartInfo(CuurentValue);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n function showData() {\r\n\r\n setHeight(specHeight <= 0 ? specRef.current.scrollHeight : 0);\r\n }\r\n useState(() => {\r\n GetCartInfo();\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 modelTypes &&\r\n
    \r\n

    {trans(\"new:vehicle\")}:

    \r\n

    {modelTypes}

    \r\n
    \r\n\r\n }\r\n\r\n\r\n
    \r\n

    {trans(\"new:service\")}

    \r\n

    {CartInfo?.Description}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    {trans(\"new:service_price\")}
    \r\n
    \r\n
    \r\n {false &&
    \r\n
    {trans(\"cartFile:discount_rate\")}
    \r\n
    {CartInfo?.DiscountRate}%
    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"cartFile:amount\")}

    \r\n
    \r\n \r\n
    {counter}
    \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 { useMemo } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport SectionHeading from \"../../../components/sectionHeading\";\r\n// to fetch all the branches info\r\nconst BranchesInfo = ({headingTitle = null , values = []})=>{\r\nconst { t: trans } = useTranslation(\"new\");\r\nreturn (\r\n \r\n {\r\n values?.length > 0 &&\r\n
    \r\n {\r\n values.map((item,index)=>{\r\n return(\r\n \r\n )\r\n })\r\n }\r\n
    \r\n } \r\n \r\n)\r\n};\r\n\r\nexport default BranchesInfo;\r\n// to fetch branch info card\r\nexport const BranchInfoCard = ({ title = '', details = '', lat = null, long = null}) => {\r\n const { t: trans } = useTranslation(\"new\");\r\n const googleMapPoints = useMemo(() => {\r\n let url = null;\r\n if (lat !== null && long !== null) {\r\n url = `https://www.google.com/maps/?q=${lat},${long}`;\r\n }\r\n return url;\r\n }, [lat, long]);\r\n return (\r\n
    \r\n
    \r\n

    {title}

    \r\n
    \r\n

    {details}

    \r\n { \r\n googleMapPoints &&
    \r\n \r\n {trans(\"new:show_location\")}
    \r\n }\r\n
    \r\n
    \r\n )\r\n};\r\n\r\n\r\n","import { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FormButton } from \"../../../components/_input/_button\";\r\nimport { InputField } from \"../../../components/_input/_input\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nconst CouponControl = ({ couponCode = null, discountPrice = null, reset = false, onReset, onSubmit }) => {\r\n const { t: trans } = useTranslation(\"new\");\r\n const [codeValue, setCodeValue] = useState('');\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (onSubmit) {\r\n onSubmit(codeValue);\r\n }\r\n }} />\r\n
    \r\n\r\n
    \r\n {\r\n setCodeValue(e.target.value);\r\n }} />\r\n
    \r\n {reset &&\r\n {\r\n if (onReset) {\r\n onReset();\r\n setCodeValue('');\r\n }\r\n }}>\r\n ×\r\n
    \r\n }\r\n
    \r\n {reset &&
    \r\n
    \r\n \r\n {couponCode ?? ''}\r\n
    \r\n

    {trans(\"new:disscount_done\")}

    \r\n
    {trans(\"new:disccount_note\")}
    \r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n )\r\n};\r\nexport default CouponControl;","import { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useState } from \"react\";\r\nimport SimpleButton from \"../../../components/_input/SimpleButton\";\r\nimport { toast } from \"react-toastify\";\r\nconst PaymentPlatforms = ({ title, isFreeze = true, onPaytabsClick, onSadadClick, isToggle = false, onPaymentClick, isTamara = false }) => {\r\n\r\n const { t: trans, i18n } = useTranslation([\"new\"]);\r\n const [paymentType, setPaymentType] = useState(null);\r\n let lang = i18n.language;\r\n return (\r\n (isToggle &&
    \r\n

    {title}

    \r\n {/*
    \r\n {\r\n if (onPaymentClick) {\r\n !isFreeze && onPaymentClick(\"CashByBranch\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n\r\n {\r\n\r\n\r\n isTamara == true &&\r\n {\r\n if (onPaymentClick) {\r\n !isFreeze && onPaymentClick(\"Tamara\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n }\r\n\r\n\r\n {\r\n if (onPaymentClick) {\r\n !isFreeze && onPaymentClick(\"Online\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n {\r\n\r\n
    \r\n \r\n
    \r\n {\"master\"}\r\n {\"visa\"}\r\n {\"mada\"}\r\n\r\n {\r\n !isTamara ?\r\n {\"SADAD\"}\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\r\n isTamara ?\r\n\r\n
    \r\n \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 if (paymentType) {\r\n if (onPaymentClick) {\r\n onPaymentClick(paymentType);\r\n }\r\n } else {\r\n\r\n toast.warning(trans(\"new:please_define_pay_method\"));\r\n }\r\n\r\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 PaymentPlatforms;","import { useTranslation } from \"react-i18next\";\r\nimport { numberFormat } from \"../../../utils/currencyFormatter\";\r\nconst CartDetails = ({ fullTotal, shippingTime, shippingUnitTime, subTotal, shippingCost, totalTax, totalDiscount, sumItemTotal, miniDownPayment }) => {\r\n const { t: trans, i18n } = useTranslation([\"cartFile\", \"new\"]);\r\n\r\n const lang = i18n.language;\r\n return (\r\n <>\r\n
    \r\n {\r\n shippingTime ?\r\n
    \r\n
    {trans(\"cartFile:receive_peroid\")}
    \r\n
    {shippingTime} {shippingUnitTime}
    \r\n
    \r\n : null\r\n }\r\n {\r\n shippingCost ?\r\n
    \r\n
    {trans(\"cartFile:shipping_costs\")}
    \r\n
    {numberFormat(shippingCost, lang)}
    \r\n
    \r\n : null\r\n\r\n }\r\n {\r\n totalDiscount ?\r\n
    \r\n
    {trans(\"cartFile:discount_total\")}
    \r\n
    {numberFormat(totalDiscount, lang)}
    \r\n
    : null\r\n }\r\n\r\n\r\n {\r\n
    \r\n
    {trans(\"new:total\")} {trans(\"new:total_include_tax\")}
    \r\n
    {numberFormat((fullTotal + shippingCost) - totalDiscount, lang)}
    \r\n
    \r\n \r\n\r\n }\r\n\r\n\r\n\r\n {\r\n subTotal &&\r\n
    \r\n
    {trans(\"cartFile:Downpayment\")}
    \r\n
    {numberFormat(subTotal, lang)}
    \r\n
    \r\n }\r\n\r\n\r\n\r\n\r\n {/*
    \r\n
    {trans(\"cartFile:tax_amount\")}
    \r\n
    {numberFormat(totalTax)}
    \r\n
    */}\r\n\r\n\r\n
    \r\n
    {trans(\"new:min_down_payment\")}
    \r\n
    {numberFormat(miniDownPayment, lang)}
    \r\n
    \r\n \r\n )\r\n};\r\nexport default CartDetails;","import { Fragment, useContext, useEffect, useState, useCallback } from \"react\";\r\nimport { list, total, update } from 'cart-localstorage'\r\nimport Banner from \"../../components/banner\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { Cart } from \"./component/cart\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport { toast } from \"react-toastify\";\r\nimport { CartItems } from \"./component/CartEpart\";\r\nimport SectionHeading from \"../../components/sectionHeading\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { getData, User_Data_Key, saveData } from \"../../utils/localStorageManager\";\r\nimport { CampaignCart } from \"./component/campaignCart\";\r\nimport _, { concat, sum } from \"lodash\";\r\nimport { BouquetCart } from \"./component/BouquetCart\";\r\nimport { RadioInput } from \"../../components/_input/_radioInput\";\r\nimport { ServiceBox } from \"./component/ServiceBox\";\r\nimport BranchesInfo from \"./component/BranchInfo\";\r\nimport CouponControl from \"./component/CouponControl\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport PaymentPlatforms from \"./component/PaymentsPlatforms\";\r\nimport CartDetails from \"./component/CartDetails\";\r\nimport { useUserCart } from \"../../User/hooks/useUserCart\";\r\nimport ConfirmContext from \"../../utils/confirmContext\";\r\nexport function CartPage() {\r\n\r\n const { initCartItems, removecartItems, removeAllcartItems } = useUserCart();\r\n const { t: trans, i18n } = useTranslation([\"messages\", \"cart\", \"cartFile\", \"model\", \"new\", \"info\", \"extra\"]);\r\n const [banner, setBanner] = useState({});\r\n const [currentDeliveryMethod, setcurrentDeliveryMethod] = useState({\r\n branchMethod: false,\r\n locationMethod: false\r\n });\r\n const thisConfirmContext = useContext(ConfirmContext);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [carErrors, setCarErrors] = useState([]);\r\n const [develviryType, setDeleviryType] = useState(null);\r\n const [Shipp, setShipp] = useState(false);\r\n const GetUrl = config.baseURL + 'details';\r\n const [Code, setCode] = useState(\"0000-0000-0000-0000\");\r\n const [UsedCode, setUsedCode] = useState(\"\");\r\n let lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n const [CodeInfo, setCodeInfo] = useState([]);\r\n const [isGetCartData, setIsGetCartData] = useState(false);\r\n async function DiscountPayment(CodeDisc) {\r\n\r\n const _userCodeDiscount = JSON.parse(window.localStorage.getItem(\"UsedCodeDiscountID\"));\r\n\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"site_FetchInfoCodeDisount\",\r\n \"Values\": {\r\n \"Code\": CodeDisc\r\n }\r\n\r\n };\r\n\r\n axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setCodeInfo(response.data);\r\n window.localStorage.setItem('UsedCodeDiscountID', response.data[0].DiscountCartID);\r\n // console.log(\"CodeInfo\", response.data);\r\n // console.log(\"UsedCodeDiscountID\", localStorage['UsedCodeDiscountID']);\r\n })\r\n .catch(function (error) {\r\n setCodeInfo([]);\r\n console.log(error);\r\n toast.error(\" خطأ:قد يكون الكود غير صحيح او تم استخدامه مسبقا\");\r\n });\r\n\r\n\r\n };\r\n const [Branches, setBranches] = useState([]);\r\n const [branchesDetails, setBranchesDetails] = useState([]);\r\n const GetUrlfunc = config.baseURL + 'func';\r\n async function GetBranch() {\r\n const Body = {\r\n \"name\": \"site_FetchBranches\"\r\n };\r\n axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n const result = response.data;\r\n setBranches(result);\r\n const formatResult = result.map(item => {\r\n return {\r\n title: concat(item[`${trans(\"model:description\")}`], item.Address ? concat('-', item.Address) : ''),\r\n details: item.WorkingHoursFormat,\r\n lat: item.Latitude,\r\n long: item.Longitude\r\n }\r\n });\r\n setBranchesDetails(formatResult);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n async function Discount_change(UsedCount, DiscountCartID, DiscountCartTypeID, ProductModelTypeID, BrandID) {\r\n\r\n const Body = {\r\n \"Object\": \"Site_CodeDiscontTrans\",\r\n \"Values\": {\r\n \"UsedCount\": UsedCount\r\n },\r\n \"filters\": `where DiscountCartID = ${DiscountCartID} and DiscountCartTypeID = ${DiscountCartTypeID} and ProductModelTypeID= '${ProductModelTypeID}' and BrandID= ${BrandID}`\r\n };\r\n axios.request({\r\n url: config.baseURL + \"update\",\r\n data: Body, method: \"PUT\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n // toast.success(\"success\");\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n // toast.error(\"خطأ:100024\");\r\n });\r\n\r\n\r\n };\r\n async function appLy_discount() {\r\n\r\n CodeInfo.map(a => {\r\n\r\n if (a.CartItemsTypeID === 1)//خصم المركبات\r\n {\r\n\r\n list().filter(a => a.Type === \"car\").forEach(function (part, index, list) {\r\n if ((list[index].BrandID === list[index].BrandID && list[index].modelTypes === a.ProductModelTypeID) && a.DiscountCartTypeID === 1) {\r\n update(list[index].id, \"price\", list[index].price - (list[index].price * (a.DiscountCartRate / 100)))\r\n update(list[index].id, \"Discount\", list[index].Discount + (list[index].price * (a.DiscountCartRate / 100)))\r\n\r\n\r\n }\r\n else if ((list[index].BrandID === list[index].BrandID && list[index].modelTypes === a.ProductModelTypeID) && a.DiscountCartTypeID === 2) {\r\n update(list[index].id, \"price\", list[index].price - (list[index].price * (a.DiscountCartRate / 100)))\r\n update(list[index].id, \"Discount\", list[index].Discount + a.DiscountCartAmount)\r\n }\r\n });\r\n\r\n toast.success(\"تمة عملية الخصم للمركبات بنجاح\", {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n };\r\n const [TotalTax, SetTotalTax] = useState(0)\r\n const [TotalDiscount, SetTotalDiscount] = useState(0);\r\n const [SumItemTotal, setSumItemTotal] = useState(0);\r\n const [SubTotal, setSubTotal] = useState(0);\r\n const [fullTotal, setfullTotal] = useState(0);\r\n const [MiniDownPayment, setMiniDownPayment] = useState(0);\r\n //Accounting for all items \r\n function Account() {\r\n\r\n\r\n console.log(\"Account\")\r\n\r\n let currentTotalTax = _.sum(list().map((p) => {\r\n return ((100 / 115) * ((p?.Type?.toLowerCase() == 'car' ? (p.price) : p.price) * p.quantity)) * 0.15;\r\n }));\r\n SetTotalTax(currentTotalTax);\r\n\r\n let currentTotalDiscount = _.sum(list().map((p) => {\r\n return calculateDiscount(p);\r\n }));\r\n SetTotalDiscount(currentTotalDiscount);\r\n\r\n let currentSumItemTotal = _.sum(list().map((p) => {\r\n return (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setSumItemTotal(currentSumItemTotal);\r\n let currentSumfullTotal = _.sum(list().map((p) => {\r\n return (p.price) * p.quantity;\r\n }));\r\n\r\n setfullTotal(currentSumfullTotal);\r\n let currentSubTotal = _.sum(list().map((p) => {\r\n return (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setSubTotal(currentSubTotal);\r\n\r\n\r\n let currentMiniDownPayment = _.sum(list().map((p) => {\r\n return (p.MiniDownPayment && p.MiniDownPayment != 0) ? p.MiniDownPayment * p.quantity : (p?.Type?.toLowerCase() == 'car' ? (p.MiniDownPayment ? p.MiniDownPayment : p.price) : p.price) * p.quantity;\r\n }));\r\n setMiniDownPayment(currentMiniDownPayment);\r\n\r\n };\r\n\r\n //RequsetBanner\r\n async function RequsetBanner() {\r\n\r\n try {\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Cart/Cart\",\r\n method: \"get\",\r\n }).then(function (response) {\r\n\r\n\r\n console.log('response.data.banner:', response.data.banner);\r\n setBanner(response.data.banner)\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n } catch (error) {\r\n\r\n }\r\n }\r\n //PaymentMAin\r\n async function PaymentMAin(status, RefrancePayment, CAmount, CID,\r\n CCode, InfoLocation, InfoBranch, ByLocation, ByBranch,\r\n IsReservation, IsPayment, PaymentAmount, FinalTotal, AmountShipping,\r\n SubAmountTotal, TotalTaxAmount, TotalDiscount, Product, UserID, MiniDownPayment, MethodPayment) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n const { ipv4 } = await getUserIpAddress();\r\n var raw = {\r\n \"URL\": \"https://hassanjameel.com.sa/purchaseMsg/\",\r\n \"Lang\": lang,\r\n \"Product\": Product,\r\n \"UserID\": UserID,\r\n \"customerDetails\": {\r\n \"IP\": ipv4\r\n },\r\n \"DataAmount\": {\r\n \"FinalTotal\": FinalTotal,\r\n \"AmountShipping\": AmountShipping,\r\n \"SubAmountTotal\": SubAmountTotal,\r\n \"TotalTaxAmount\": TotalTaxAmount,\r\n \"TotalDiscount\": TotalDiscount,\r\n \"MiniDownPayment\": MiniDownPayment\r\n },\r\n \"PaymentAmount\": PaymentAmount,\r\n \"TypePaymnet\": {\r\n \"IsReservation\": IsReservation,\r\n \"IsPayment\": IsPayment,\r\n \"PaymnetTypeID\": MethodPayment == \"Financing\" ? \"Credit\" : \"Cash\",//Credit - Cash\r\n \"MethodPayment\": MethodPayment\r\n },\r\n \"DeliveryType\": {\r\n \"ByBranch\": ByBranch,\r\n \"ByLocation\": ByLocation\r\n },\r\n \"DeliveryData\": {\r\n \"InfoBranch\": InfoBranch,\r\n \"InfoLocation\": InfoLocation\r\n },\r\n \"CobonData\": {\r\n \"Code\": couponDetail?.coupon?.code ?? null,\r\n \"ID\": couponDetail?.coupon?.id ?? null,\r\n \"Amount\": CAmount\r\n },\r\n \"RefrancePayment\": RefrancePayment,\r\n \"status\": status\r\n };\r\n\r\n var requestOptions = {\r\n method: 'POST',\r\n headers: myHeaders,\r\n body: raw,\r\n redirect: 'follow'\r\n };\r\n\r\n console.log(\"Payment\", raw);\r\n axios.request({\r\n url: config.paymentURL + \"/api/Payment/Payment\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n console.log('response1', response);\r\n // console.log(response.data.URL_Paytabs);\r\n console.log('MethodPayment', MethodPayment);\r\n if (MethodPayment == \"Online\" || MethodPayment == \"Tamara\") {\r\n\r\n if (response?.data?.CartID) {\r\n\r\n saveData('currentCartID', response?.data?.CartID, false);\r\n }\r\n\r\n\r\n if (response?.data?.URL_Paytabs) {\r\n\r\n\r\n try {\r\n localStorage.removeItem(\"__cart\");\r\n removeAllcartItems();\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n window.location.href = response.data.URL_Paytabs;\r\n\r\n\r\n } else {\r\n\r\n // try {\r\n // localStorage.removeItem(\"__cart\");\r\n // removeAllcartItems();\r\n // } catch (error) {\r\n\r\n // }\r\n\r\n // setShowFinalPopup(true);\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n } else {\r\n\r\n\r\n try {\r\n localStorage.removeItem(\"__cart\");\r\n removeAllcartItems();\r\n } catch (error) {\r\n\r\n }\r\n\r\n window.location.href = \"https://hassanjameel.com.sa/purchaseMsg/\" + response?.data?.GUID;\r\n // setShowFinalPopup(true);\r\n\r\n }\r\n\r\n\r\n // window.open(response.data.callback);\r\n // window.location.href = response.data.callback;\r\n // window.location.href = (`/${lang}/purchaseMsg?q=${response.data.URL_Paytabs}`)\r\n //clear();\r\n //console.log('response1',response);\r\n }\r\n ).then((response2) => {\r\n console.log('response2', response2);\r\n })\r\n .catch(error => console.log('error', error));\r\n }\r\n\r\n useEffect(async () => {\r\n try {\r\n await RequsetBanner();\r\n await GetBranch();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n }, []);\r\n\r\n const handlePayment = async (MethodPayment) => {\r\n\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n\r\n if (list()?.filter(a => a.Type == \"car\") > 0 && MethodPayment == 'Tamara') {\r\n toast.warn(trans(\"new:cant_use_tamata\"));\r\n return;\r\n }\r\n\r\n\r\n console.log(\"handlePayment:\");\r\n const cleanData = JSON.parse(getData(User_Data_Key, true));\r\n console.log(\"handlePayment:\", cleanData);\r\n const user_id = cleanData.id.toString().split('_')[1];\r\n if (user_id) {\r\n if ((!currentDeliveryMethod?.locationMethod) && (!currentDeliveryMethod?.branchMethod)) {\r\n toast.warn(trans(\"new:not_delivery_selected\"));\r\n } else if (currentDeliveryMethod?.locationMethod && (ValueCitie == '' || ValueCitie == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_loc\"));\r\n } else if (currentDeliveryMethod?.branchMethod && (ValueBranch == '' || ValueBranch == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_branch\"));\r\n } else {\r\n await PaymentMAin(\r\n 1,\r\n null,\r\n null,\r\n null,\r\n null,\r\n (currentDeliveryMethod?.locationMethod ?? false) ? ValueCitie : null,\r\n (currentDeliveryMethod?.branchMethod) ?? false ? ValueBranch : null,\r\n currentDeliveryMethod?.locationMethod ?? false,\r\n currentDeliveryMethod?.branchMethod ?? false,\r\n false,\r\n true,\r\n PaymentAmount, SumItemTotal, Shipping.Cost, SubTotal, TotalTax, TotalDiscount,\r\n list().map(a => {\r\n if (a.Type === \"Bouquet\")\r\n return {\r\n id: a.id,\r\n quantity: a.quantity,\r\n colorID: a.colorID ? a.colorID : null,\r\n Type: 7,\r\n price: a.price,\r\n CartID: null,\r\n VIN: null,\r\n MiniDownPayment: null,\r\n packageId:a.packageId\r\n };\r\n if (a.Type === \"car\")\r\n return {\r\n id: a.ProductID,\r\n quantity: a.quantity,\r\n colorID: a.colorID ? a.colorID : null,\r\n Type: 1,\r\n price: (a.MiniDownPayment ? a.MiniDownPayment : (a.price > 5000 ? 5000 : a.price)),\r\n CartID: null,\r\n VIN: null,\r\n MiniDownPayment: a.MiniDownPayment ? a.MiniDownPayment : 5000\r\n };\r\n if (a.Type === \"Campaign\")\r\n return {\r\n id: a.id,\r\n quantity: a.quantity,\r\n colorID: a.colorID ? a.colorID : null,\r\n Type: 4,\r\n price: a.price,\r\n CartID: null,\r\n VIN: null,\r\n MiniDownPayment: a.MiniDownPayment\r\n\r\n\r\n };\r\n if (a.Type === \"part\")\r\n return {\r\n id: a.id,\r\n quantity: a.quantity,\r\n colorID: a.colorID ? a.colorID : null,\r\n Type: 2,\r\n price: a.price,\r\n CartID: null,\r\n VIN: null,\r\n MiniDownPayment: a.MiniDownPayment\r\n\r\n };\r\n if (a.Type === \"service\")\r\n return {\r\n id: a.ProductID,\r\n quantity: a.quantity,\r\n colorID: a.colorID ? a.colorID : null,\r\n Type: 3,\r\n price: a.price,\r\n CartID: null,\r\n VIN: a.name,\r\n MiniDownPayment: a.MiniDownPayment\r\n };\r\n })\r\n , parseInt(user_id), MiniDownPayment, MethodPayment);\r\n }\r\n } else {\r\n toast.error(trans(\"new:login_first\"), {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n } else {\r\n thisConfirmContext.onShowRegistrationPup(true);\r\n\r\n }\r\n };\r\n\r\n const [Shipping, setShipping] = useState({ UnitTime: trans(\"new:day\"), CountTime: 0, Cost: 0 });\r\n\r\n const [ValueCitie, setValueCitie] = useState(\"\");\r\n const [ValueBranch, setValueBranch] = useState(\"\");\r\n\r\n function getValueBranch(option) {\r\n setValueBranch(option.value);\r\n }\r\n const [Size, SetSize] = useState(0);\r\n var currentSize = 0;\r\n const CategoryCar = (Category) => {\r\n\r\n if (Size != currentSize) {\r\n currentSize = Category;\r\n SetSize(Category);\r\n }\r\n }\r\n async function CarShippingInfo(Citey, mSize) {\r\n setValueCitie(Citey.value)\r\n const Body = {\r\n \"name\": \"Site_CarShippingInfo\",\r\n \"values\": {\r\n \"City\": `${Citey.value}`,\r\n \"categore\": `${mSize}`\r\n }\r\n }\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n var currentvalue = { ...Shipping };\r\n currentvalue.Cost = response.data[0].CostShipping\r\n currentvalue.UnitTime = response.data[0].Type\r\n currentvalue.CountTime = response.data[0].TimeDelivary\r\n setShipping(currentvalue);\r\n console.log(currentvalue);\r\n setShipp(true);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n var currentvalue = { ...Shipping };\r\n currentvalue.Cost = 0\r\n currentvalue.UnitTime = trans(\"new:not_avilable\");\r\n currentvalue.CountTime = null\r\n setShipping(currentvalue);\r\n console.log(currentvalue);\r\n });\r\n\r\n }\r\n\r\n const [PaymentAmount, setPaymentAmount] = useState(0.0);\r\n const refrechDateCartItems = async () => {\r\n const data = await initCartItems();\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\", data);\r\n\r\n setIsGetCartData(true);\r\n\r\n Account();\r\n\r\n\r\n }\r\n\r\n useEffect(async () => {\r\n\r\n await refrechDateCartItems();\r\n\r\n await handleFetchCountries();\r\n }, []);\r\n\r\n // useEffect(async () => {\r\n\r\n // await refrechDateCartItems();\r\n\r\n // }, [list().length]);\r\n //-----------------------------------------------\r\n const [couponDetail, setCouponDetail] = useState(null);\r\n const [clearCoupon, setClearCoupont] = useState(false);\r\n const [test, setTest] = useState(list());\r\n\r\n //to apply the coupon discount on the cart\r\n const applyCoupon = (code) => {\r\n const _id = getData(\"secretKey\");\r\n if (code) {\r\n if (_id) {\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/cart/CouponDetails\",\r\n method: \"post\",\r\n data: {\r\n \"couponCode\": code,\r\n \"id\": _id\r\n }\r\n }).then(response => {\r\n const responseData = response.data;\r\n if (responseData?.items?.length > 0) {\r\n setCouponDetail(responseData);\r\n setClearCoupont(true);\r\n } else {\r\n setCouponDetail(null);\r\n setClearCoupont(false);\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n } else {\r\n toast.error(trans(\"new:login_first\"));\r\n thisConfirmContext.onShowRegistrationPup(true);\r\n }\r\n } else {\r\n SetTotalDiscount(0);\r\n }\r\n };\r\n\r\n // calculate discount\r\n const calculateDiscount = (itemInfo) => {\r\n let discountResult = [];\r\n try {\r\n if (couponDetail?.items) {\r\n console.log(itemInfo);\r\n discountResult = couponDetail?.items.map((item) => {\r\n let result = 0;\r\n switch (item?.itemType?.toLowerCase()) {\r\n case 'car':\r\n const { BrandID: brand, groupID, modelTypes, MiniDownPayment, price, quantity } = itemInfo;\r\n if (brand == item?.brandID && groupID === item?.productGroupID && modelTypes === item?.productModelTypeID) {\r\n result = getDiscountValueByType(item, price, quantity);\r\n }\r\n break;\r\n case 'part': case 'service': case 'bouquet': case 'gift': case 'campaign':\r\n result = getDiscountValueByType(item, price, quantity);\r\n break;\r\n }\r\n return result;\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return sum(discountResult) ?? 0;\r\n };\r\n\r\n // apply discount by type\r\n const getDiscountValueByType = (item, price, quantity) => {\r\n let result = 0;\r\n const { discountType, discountAmount, discountRate } = item;\r\n if (discountType?.toLowerCase() === 'amount') {\r\n const discountValue = discountAmount * quantity;\r\n result = discountValue;\r\n } else if (discountType?.toLowerCase() === 'rate') {\r\n const priceRateValue = ((price * quantity) * (discountRate / 100));\r\n result = priceRateValue;\r\n }\r\n return result;\r\n };\r\n\r\n // to get info of current ipv4\r\n const getUserIpAddress = async () => {\r\n let currentIpv4Info = {};\r\n try {\r\n const response = await axios.get('https://geolocation-db.com/json/');\r\n if (response.status === 200) {\r\n const { IPv4, country_code, country_name } = response.data;\r\n currentIpv4Info.ipv4 = IPv4;\r\n currentIpv4Info.countryCode = country_code;\r\n currentIpv4Info.countryName = country_name;\r\n }\r\n } catch (error) {\r\n toast.error(trans(\"extra:not_connection\"))\r\n console.log(error);\r\n }\r\n return currentIpv4Info;\r\n };\r\n\r\n\r\n // to apply discount based on the btn clicked\r\n useEffect(() => {\r\n Account();\r\n }, [clearCoupon]);\r\n\r\n\r\n\r\n //-------------------------------------------\r\n const [cities, setCities] = useState([]);\r\n // to fetch all SAU countries\r\n const handleFetchCountries = async () => {\r\n let countries = [];\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"site_ShippingCities\"\r\n }\r\n );\r\n if (response.status == 200) {\r\n countries = response.data.map(item => {\r\n return { value: item.ID, text: item[`${trans(\"model:description\")}`] }\r\n });\r\n }\r\n } catch (error) {\r\n console.log('error in fetching the countries of SAU', error);\r\n }\r\n setCities(countries);\r\n };\r\n\r\n const handleCheckCarsCount = async () => {\r\n\r\n const listError = [];\r\n\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n\r\n await list().forEach(async (a, index) => {\r\n if (a.Type == \"car\") {\r\n\r\n // console.log(\"MMMMMMMMMMMM\");\r\n const cSN = await getSerialsBuyOnlineCount(a.modelTypeID, a.year, a.colorID);\r\n // console.log(\"MMMMMMMMMMMM\", cSN);\r\n if (cSN < a.quantity) {\r\n listError.push(a.id);\r\n // console.log(\"MMMMMlistErrorMMMMMMM\", listError);\r\n }\r\n\r\n\r\n\r\n\r\n } else if (a.Type == \"service\" || a.Type == \"Bouquet\") {\r\n\r\n if (!a.Orderdate)\r\n listError.push(a.id);\r\n\r\n }\r\n if ((index + 1) == list().length) {\r\n setCarErrors(listError);\r\n\r\n if (listError.length <= 0) {\r\n\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n setIsOpen(!isOpen);\r\n } else {\r\n thisConfirmContext.onShowRegistrationPup(true);\r\n\r\n }\r\n } else {\r\n setIsGetCartData(false);\r\n setTimeout(() => {\r\n setIsGetCartData(true);\r\n }, 100);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n } else {\r\n thisConfirmContext.onShowRegistrationPup(true);\r\n\r\n }\r\n\r\n\r\n\r\n return listError;\r\n\r\n };\r\n const getSerialsBuyOnlineCount = async (Type, Model, ColorID) => {\r\n var count = 0;\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"siteInvProductSerialsBuyOnlineCount\",\r\n \"Values\": {\r\n \"Type\": `${Type}`,\r\n \"Model\": `${Model}`,\r\n \"ColorID\": `${ColorID}`\r\n }\r\n }\r\n );\r\n\r\n\r\n count = response.data[0].countSN;\r\n console.log(\"getSerialsBuyOnlineCount>>>>return>>>>>\", count);\r\n return count;\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 // isGetCartData &&\r\n // getCartList()\r\n\r\n (list() != null && list().length > 0) ?\r\n\r\n \r\n
    \r\n
    \r\n {list().filter(a => a.Type === \"car\").length > 0 && }\r\n\r\n {\r\n list().filter(a => a.Type === \"car\").map((data, index) => {\r\n return (\r\n {\r\n // remove(data.id);\r\n await removecartItems(data.ProductID, data.colorID, data.modelTypeID, null, data?.id)\r\n refrechDateCartItems();\r\n\r\n }\r\n }\r\n Account={Account}\r\n CategoryCar={CategoryCar(data?.groupID)}\r\n\r\n carErrorCount={carErrors.includes(data.id)}\r\n\r\n />\r\n\r\n );\r\n })\r\n }\r\n {/* {list().filter(a => a.Type === \"accessories\").length > 0 && }\r\n {\r\n list().filter(a => a.Type === \"accessories\").map((part, index) => {\r\n return (\r\n \r\n {\r\n // remove(part.id);\r\n await removecartItems(part.id, null, null)\r\n window.location.reload();\r\n \r\n }\r\n }\r\n Account={Account}\r\n />\r\n \r\n );\r\n })\r\n } */}\r\n { \r\n list().filter(a => a.Type === \"part\").length > 0 && \r\n \r\n }\r\n \r\n {\r\n list().filter(a => a.Type === \"part\").map((part, index) => {\r\n return (\r\n \r\n {\r\n // remove(part.id);\r\n await removecartItems(part?.ProductID, null, null)\r\n window.location.reload();\r\n \r\n }\r\n }\r\n Account={Account}\r\n />\r\n \r\n );\r\n })\r\n }\r\n {/* {list().filter(a => a.Type === \"Campaign\").length > 0 && }\r\n {\r\n list().filter(a => a.Type === \"Campaign\").map((c, index) => {\r\n return (\r\n \r\n {\r\n // remove(c.id);\r\n await removecartItems(c?.id, null, null)\r\n window.location.reload();\r\n \r\n }\r\n }\r\n Account={Account}\r\n \r\n \r\n />\r\n \r\n );\r\n })\r\n } */}\r\n {list().filter(a => a.Type === \"Bouquet\").length > 0 && }\r\n {\r\n list().filter(a => a.Type === \"Bouquet\").map((c, index) => {\r\n return (\r\n\r\n {\r\n // remove(c.id);\r\n await removecartItems(c.ProductID, null, c.modelTypeID, null, c.id, c.packageId)\r\n refrechDateCartItems();\r\n\r\n }\r\n }\r\n Account={Account}\r\n\r\n ErrorDate={carErrors.includes(c.id)}\r\n\r\n refrechDate={() => refrechDateCartItems()}\r\n />\r\n\r\n );\r\n })\r\n }\r\n {list().filter(a => a.Type === \"service\").length > 0 && }\r\n {\r\n list().filter(a => a.Type === \"service\").map((c, index) => {\r\n return (\r\n\r\n {\r\n // remove(c.id);\r\n await removecartItems(c?.ProductID, null, null, c?.modelCode, c.id)\r\n refrechDateCartItems();\r\n\r\n }\r\n }\r\n Account={Account}\r\n ErrorDate={carErrors.includes(c.id)}\r\n\r\n />\r\n\r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n a.Type === \"car\").length > 0 ? 1 : null}\r\n value2={2}\r\n name='recieveMethod'\r\n text1={list().filter(a => a.Type === \"car\").length > 0 ? trans(\"new:delivery\") : null}\r\n text2={trans(\"new:branch\")}\r\n onChangeValue={(value) => {\r\n const cunrrentvalue = currentDeliveryMethod;\r\n setDeleviryType(value);\r\n cunrrentvalue.branchMethod = value === 2 ? true : false;\r\n cunrrentvalue.locationMethod = value === 1 ? true : false;\r\n setcurrentDeliveryMethod(cunrrentvalue);\r\n }}\r\n />\r\n {\r\n <>\r\n {develviryType == 2 && <> {\r\n }}\r\n options={[\r\n ...Branches.map(A => {\r\n if (lang === \"ar\") {\r\n return { value: A.SiteID, text: A.DescriptionAr };\r\n }\r\n else {\r\n return { value: A.SiteID, text: A.DescriptionEn };\r\n }\r\n\r\n })]}\r\n onfilter={getValueBranch}\r\n />\r\n\r\n \r\n\r\n \r\n\r\n }\r\n {develviryType == 1 && <>\r\n CarShippingInfo(Citey, Size)}\r\n />\r\n \r\n }\r\n \r\n }\r\n
    \r\n {\r\n setClearCoupont(false);\r\n SetTotalDiscount(0);\r\n setCouponDetail(null);\r\n }}\r\n onSubmit={(codeValue) => {\r\n applyCoupon(codeValue);\r\n }}\r\n reset={clearCoupon}\r\n discountPrice={TotalDiscount}\r\n couponCode={couponDetail?.coupon?.description}\r\n />\r\n\r\n\r\n\r\n\r\n
    \r\n a.Type == \"car\").length > 0 ? SubTotal : null}\r\n shippingCost={Shipping.Cost}\r\n totalTax={TotalTax}\r\n totalDiscount={TotalDiscount}\r\n sumItemTotal={SumItemTotal - TotalDiscount}\r\n miniDownPayment={MiniDownPayment}\r\n fullTotal={fullTotal}\r\n />\r\n\r\n \r\n\r\n\r\n
    \r\n
    \r\n\r\n {/* \r\n {\r\n\r\n }}\r\n iconPath='/assets/icons/apple-pay.png'\r\n /> */}\r\n\r\n\r\n\r\n {\r\n\r\n const mm = await handleCheckCarsCount();\r\n console.log(\"handleCheckCarsCount>>>>>:\", mm);\r\n // paymentTest();\r\n // Payment(SubTotal.toString());\r\n }}\r\n />\r\n\r\n\r\n
    \r\n a.Type == \"car\")?.length <= 0) ? true : false}\r\n onPaytabsClick={async () => {\r\n // await handlePayment();\r\n }}\r\n onSadadClick={async () => {\r\n // await handlePayment();\r\n }}\r\n\r\n onPaymentClick={async (type) => {\r\n await handlePayment(type);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n :\r\n\r\n
    \r\n \"empty\r\n

    {trans(\"messages:empty_cart\")}

    \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 { useState, useEffect, useCallback } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { getTrackBackground, Range } from \"react-range\";\r\nimport _ from 'lodash'; // Only if using lodash for debounce\r\nexport function FinanceRange({ placeHolder, min, max, step, suffix, firstValue, onChangeValue }) {\r\n const { i18n } = useTranslation();\r\n let lang = i18n.language;\r\n const [values, setValues] = useState([firstValue]);\r\n const [valueInput, setValueInput] = useState(firstValue);\r\n const [Lastvalues, setLastValues] = useState([firstValue]);\r\n\r\n useEffect(() => {\r\n setValues([firstValue]);\r\n setLastValues([firstValue]);\r\n setValueInput(firstValue);\r\n }, [firstValue]);\r\n const RTL = lang == \"ar\" ? true : false;\r\n\r\n // Debounce the function to set the value\r\n const debouncedSave = useCallback(\r\n _.debounce((value) => {\r\n \r\n setFinalChangeValue(value);\r\n \r\n // Here you would normally save the value to a server or similar\r\n }, 500), // 1000 ms debounce time\r\n []\r\n );\r\n\r\n const setFinalChangeValue = (value) => {\r\n if (value <= max && value >= min) {\r\n\r\n setLastValues([value]);\r\n setValues([value]);\r\n if (onChangeValue) {\r\n onChangeValue([value]);\r\n }\r\n } else {\r\n if(Lastvalues){\r\n setValues(Lastvalues);\r\n setValueInput(Lastvalues);\r\n }\r\n \r\n \r\n }\r\n }\r\n const handleChangeValue = (value) => {\r\n\r\n setValueInput(value);\r\n // debouncedSave(value);\r\n };\r\n const handleChangeValueRange = (value) => {\r\n if (value[0] <= max) {\r\n setValues(value);\r\n if (onChangeValue) {\r\n onChangeValue(value);\r\n }\r\n } else {\r\n }\r\n };\r\n return (\r\n
    \r\n
    \r\n {placeHolder}\r\n
    \r\n \r\n handleChangeValueRange(values)}\r\n renderTrack={({ props, children }) => (\r\n \r\n \r\n {children}\r\n
    \r\n \r\n )}\r\n renderThumb={({ props, isDragged }) => (\r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeValue(e.target.value)} onBlur={(e)=>setFinalChangeValue(e.target.value)} type=\"text\" value={valueInput}\r\n />\r\n
    \r\n
    \r\n {suffix}\r\n
    \r\n\r\n
    \r\n \r\n );\r\n}\r\n\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { FinanceRange } from \"./financeRange\";\r\nimport axios from \"axios\";\r\nimport _ from 'lodash';\r\nimport config from '../../../configuration/config.json';\r\nimport { InputField } from \"../../../components/_input/_input\";\r\nimport dropDownResetter from \"../../../utils/resetDropDown\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { toast } from \"react-toastify\";\r\nexport function FinanceSearch({ onBankSelected, onQuantitySearchClick, onActiveMenu, onSelectedProduct, onBudgetChange, onSetBanks, onsetDefaultperiod, selectionBank, ...props }) {\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const BANK_KEY = 'Bank_ID';\r\n const STATUS_KEY = 'Status';\r\n const { t: trans } = useTranslation([\"common\", \"inputs\", \"finance\", \"model\"]);\r\n const [active, setActive] = useState('');\r\n const [model, setModel] = useState(\"hidden\");\r\n const [balance, setPart] = useState(\"hidden\");\r\n const [monthly, setMonthly] = useState(\"\");\r\n const [activeMenu, setActiveMenu] = useState(1);\r\n const [banks, setBanks] = useState([]);\r\n const [brands, setBrands] = useState([]);\r\n const [groups, setGroups] = useState([]);\r\n const [fGroups, setFGroups] = useState([]);\r\n const [isLoadingBanks, setLoadingBanks] = useState(true);\r\n const [modelSearch, setModelSearch] = useState({\r\n brandID: '',\r\n groupID: '',\r\n subCategoryID: ''\r\n });\r\n const [subCategories, setSubCategories] = useState([]);\r\n const [fSubCategories, setFSubCategories] = useState([]);\r\n const [budget, setBudget] = useState({});\r\n const [quantityRange, setQuantityRange] = useState({\r\n maxFinanceAmount: 5000,\r\n maxFinancePeriod: 24,\r\n lastBatch: 40000\r\n });\r\n\r\n const [selectOneBankDefoliate, setSelectOneBankDefoliate] = useState({});\r\n\r\n\r\n const initialBanksData = async (active = true) => {\r\n\r\n setLoadingBanks(true);\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"SiteFetchActiveBankWithFinanceSettings\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n setBanks(data);\r\n setSelectOneBankDefoliate(data[0])\r\n\r\n setLoadingBanks(false);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"name\": \"SiteFetchActiveBankWithFinanceSettings\"\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n //console.log(\"result\", result)\r\n setBanks(result);\r\n setSelectOneBankDefoliate(result[0]);\r\n\r\n setLoadingBanks(false);\r\n if (onSetBanks)\r\n onSetBanks(result);\r\n\r\n const data = new Response(JSON.stringify(result));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"SiteFetchActiveBankWithFinanceSettings\", data);\r\n\r\n });\r\n }\r\n }).catch(error => {\r\n //console.log(error);\r\n setLoadingBanks(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if(selectOneBankDefoliate && selectOneBankDefoliate.GUID){\r\n handleActiveBank(selectOneBankDefoliate);\r\n }\r\n }, [banks, selectOneBankDefoliate]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n initialBanksData();\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/finance/index\",\r\n method: \"get\",\r\n }).then(response => {\r\n const result = response.data;\r\n\r\n const customizedResult = result?.brands?.map(row => {\r\n return {\r\n value: row.BrandID,\r\n text: row.Description\r\n }\r\n });\r\n setBrands(customizedResult);\r\n //------------------------------------------------\r\n setGroups(result?.groups);\r\n //------------------------------------------------\r\n setSubCategories(result?.modelTypes);\r\n }).catch(err => {\r\n //console.log(err);\r\n })\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (selectionBank) {\r\n\r\n show(activeMenu == 1 ? \"monthly\" : (activeMenu == 2 ? \"model\" : \"balance\"), activeMenu);\r\n }\r\n }, [selectionBank]);\r\n\r\n const handleRefechData = () => {\r\n\r\n //console.log(\"handleRefechData>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.\");\r\n if (selectionBank) {\r\n\r\n show(activeMenu == 1 ? \"monthly\" : (activeMenu == 2 ? \"model\" : \"balance\"), activeMenu);\r\n }\r\n };\r\n props.onHandleRefechData(handleRefechData);\r\n\r\n const handleActiveBank = (bankSelected) => {\r\n\r\n if (active != bankSelected?.GUID) {\r\n //console.log(\"active:\" + active)\r\n localStorage.setItem(BANK_KEY, bankSelected?.GUID);\r\n setActive((prevState) => {\r\n return prevState !== bankSelected?.GUID ? bankSelected?.GUID : null\r\n });\r\n localStorage.setItem(STATUS_KEY, active !== bankSelected?.GUID ? bankSelected?.GUID : '')\r\n if (onBankSelected) {\r\n const status = localStorage.getItem(STATUS_KEY);\r\n onBankSelected(bankSelected);\r\n }\r\n //------------------------\r\n var DefaultFinancePeriod =24;\r\n if(bankSelected?.DefaultFinancePeriod){\r\n DefaultFinancePeriod =bankSelected?.DefaultFinancePeriod;\r\n \r\n\r\n }\r\n const val = { ...quantityRange };\r\n val.maxFinancePeriod = DefaultFinancePeriod;\r\n setQuantityRange(val);\r\n if (onsetDefaultperiod)\r\n onsetDefaultperiod(val.maxFinancePeriod)\r\n\r\n }\r\n };\r\n\r\n\r\n\r\n // It's used to initialize the products\r\n const handleFilterGroups = (option) => {\r\n if (groups) {\r\n const filteredValues = groups.filter(e => e.BrandId === option.value);\r\n setFGroups(filteredValues.map(e => {\r\n return { value: e.ProductGroupId, text: e.Description }\r\n }));\r\n }\r\n };\r\n // It's used to initialize the sub categories\r\n const handleFilterSubGategories = (option) => {\r\n if (subCategories) {\r\n const filteredValues = subCategories.filter(e => e.ProductGroupId == option.value);\r\n setFSubCategories(filteredValues.map(e => {\r\n return { value: e.ProductTypeId, text: e.Description }\r\n }));\r\n }\r\n };\r\n function show(section, index) {\r\n\r\n\r\n setMonthly(\"hidden\");\r\n setModel(\"hidden\");\r\n setPart(\"hidden\");\r\n switch (section) {\r\n case \"monthly\":\r\n setMonthly(\"\");\r\n break;\r\n case \"model\":\r\n setModel(\"\");\r\n break;\r\n case \"balance\":\r\n setPart(\"\");\r\n break;\r\n default:\r\n setMonthly(\"\");\r\n }\r\n\r\n setActiveMenu(index);\r\n\r\n if (onActiveMenu)\r\n onActiveMenu(index);\r\n\r\n // setTimeout(() => {\r\n\r\n if (index == 1) {\r\n if (onQuantitySearchClick) {\r\n // onLoadingInfo(true);\r\n onQuantitySearchClick(quantityRange, index, null);\r\n }\r\n\r\n } else if (index == 2) {\r\n if (onSelectedProduct) {\r\n // onLoadingInfo(true);\r\n onSelectedProduct(modelSearch, index, null)\r\n }\r\n\r\n } else if (index == 3) {\r\n\r\n if (onBudgetChange) {\r\n // onLoadingInfo(true);\r\n onBudgetChange(budget, index, null);\r\n }\r\n }\r\n\r\n // }, 1000)\r\n\r\n\r\n\r\n }\r\n\r\n\r\n return (\r\n
    \r\n\r\n

    {trans(\"finance:choose_bank\")}

    \r\n\r\n
    \r\n \r\n {\r\n banks?.map((bank, index) => {\r\n return (\r\n \r\n
    { handleActiveBank(bank) }} title={lang == \"ar\" ? bank.DescriptionAr : bank.DescriptionEn}>\r\n \r\n \r\n {lang{er.target.style.display = 'none'}}\r\n />\r\n\r\n \r\n {lang == \"ar\" ? bank.DescriptionAr : bank.DescriptionEn}\r\n
    \r\n
    \r\n );\r\n })\r\n }\r\n\r\n\r\n \r\n
    \r\n\r\n {/*
    \r\n\r\n {\r\n banks.map((bank, index) => {\r\n return (\r\n
    { handleActiveBank(bank) }} title={lang == \"ar\" ? bank.DescriptionAr : bank.DescriptionEn}>\r\n \r\n \r\n {lang\r\n \r\n
    \r\n );\r\n })\r\n }\r\n\r\n
    */}\r\n
    \r\n \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 val = { ...quantityRange };\r\n val.maxFinanceAmount = value[0];\r\n setQuantityRange(val);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...quantityRange };\r\n val.maxFinancePeriod = value[0];\r\n setQuantityRange(val);\r\n if (onsetDefaultperiod)\r\n onsetDefaultperiod(val.maxFinancePeriod)\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...quantityRange };\r\n val.lastBatch = value[0];\r\n setQuantityRange(val);\r\n }}\r\n />\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 val = { ...modelSearch };\r\n val.brandID = value;\r\n if (value == '' || value == '0' || value == null) {\r\n dropDownResetter(() => {\r\n setFGroups([]);\r\n setFSubCategories([]);\r\n });\r\n val.groupID = '';\r\n val.subCategoryID = '';\r\n }\r\n setModelSearch(val);\r\n }}\r\n\r\n selectedValue={modelSearch?.brandID}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...modelSearch };\r\n if (value == '' || value == '0' || value == null) {\r\n dropDownResetter(() => {\r\n setFSubCategories([]);\r\n });\r\n val.subCategoryID = '';\r\n }\r\n val.groupID = value;\r\n setModelSearch(val);\r\n }}\r\n\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...modelSearch };\r\n val.subCategoryID = value;\r\n setModelSearch(val);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const val = e.target.value;\r\n setBudget({\r\n budget: val\r\n });\r\n }}\r\n />\r\n
    \r\n\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 { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\n\r\nexport function FinanceCar({\r\n groupColor,\r\n onApplay,\r\n offerID,\r\n productID,\r\n image,\r\n modelType,\r\n name,\r\n hasOffer,\r\n brand,\r\n brandImage,\r\n brandIcon,\r\n offerTitle,\r\n group,\r\n model,\r\n brandID,\r\n price,\r\n showPric,\r\n colorName = \"\"\r\n}) {\r\n const { t: trans } = useTranslation([\"finance\", \"model\", \"common\", \"info\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const isToyota = brand && brand.toLowerCase() == trans(\"common:toyota\").toLowerCase() ? true : false;\r\n return (\r\n\r\n
    \r\n
    \r\n
    \r\n {/* \"toyota\" */}\r\n \r\n {/*

    {(isToyota ? trans(\"common:toyota\") : trans(\"common:toyota\"))}

    */}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {name}\r\n\r\n
    \r\n {/* {(isToyota */}\r\n \r\n
    \r\n\r\n < div className={\"car-card-top-btn\"}>\r\n {colorName &&
    \r\n\r\n {/* This text will bounce */}\r\n {(colorName) && {colorName}}\r\n\r\n
    }\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    {name}

    \r\n {/* {\r\n hasOffer ?
    \r\n \"\"\r\n
    : null\r\n } */}\r\n
    \r\n
    \r\n {/*
    \r\n

    {trans(\"finance:group\")}

    \r\n

    {group}

    \r\n
    */}\r\n
    \r\n

    {trans(\"info:vehicle_year\")}

    \r\n

    {model}

    \r\n
    \r\n
    \r\n {\r\n showPric && <>\r\n

    {trans(\"finance:price\")}

    \r\n

    {showPric && }

    \r\n \r\n\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n if (onApplay) {\r\n onApplay({\r\n productID,\r\n offerID,\r\n name,\r\n price,\r\n group,\r\n model,\r\n brand,\r\n brandID,\r\n image,\r\n brandIcon,\r\n brandImage,\r\n modelType,\r\n groupColor,\r\n showPric\r\n });\r\n }\r\n }\r\n }>\r\n {\r\n trans(\"finance:apply\")\r\n }\r\n \r\n
    \r\n
    \r\n \r\n\r\n );\r\n}\r\n","import { Fragment, useEffect, useRef, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FilterButton } from \"../../components/__simple/_filterButton\";\r\nimport { FinanceSearch } from \"./components/financeSearch\";\r\nimport { FinanceCar } from \"./components/financeCar\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport SectionHeading from \"../../components/sectionHeading\";\r\nimport Banner from \"../../components/banner\";\r\nimport { OfferSections } from \"../../sections/offersSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport config from '../../configuration/config.json';\r\nimport axios from 'axios';\r\nimport Popup from \"../../User/popup\";\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport Joi from \"joi\";\r\nimport { formValidate, GetMessages } from \"../../utils/validation\";\r\nimport { includes } from \"lodash\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function FinancePage() {\r\n const { t: trans, i18n } = useTranslation([\"heading\", \"finance\", \"model\", \"navbar\", \"form\", \"error2\", \"common\", \"info\", \"error\"]);\r\n let lang = i18n.language;\r\n const languageDir = 'language-' + lang;\r\n const popRef = useRef();\r\n const [products, setProducts] = useState([]);\r\n const [filteredCars, setFilteredCars] = useState(products);\r\n const [filteredCarsByBrand, setFilteredCarsByBrand] = useState(products);\r\n const [carBrandFilter, setCarFilter] = useState(null);\r\n const [activeMenu, setActiveMenu] = useState(1);\r\n const [banner, setbanner] = useState({});\r\n const [financeOffers, setFinanceOffers] = useState([]);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [carInfo, setCarInfo] = useState({});\r\n const [isLoadingVehicles, setLoadingVehicles] = useState(false);\r\n const [banks, setBanks] = useState([]);\r\n const [accountTypes, setAccountTypes] = useState([]);\r\n const [financeSettings, setFinanceSettings] = useState(null);\r\n const [profitRates, setProfitRates] = useState([]);\r\n const [isLoadingInfo, setLoadingInfo] = useState(true);\r\n const [isLoadingSendOrder, setLoadingSendOrder] = useState(false);\r\n const [selectionBank, setSelectionBank] = useState({});\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n const [approximateResult, setApproximateResult] = useState({\r\n period: '',\r\n mangFees: null,\r\n monthPay: null,\r\n firstPay: null,\r\n lastPay: null,\r\n annualRate: '',\r\n total: null\r\n });\r\n\r\n const [requestForm, setRequestForm] = useState({\r\n custType: null,\r\n identityNo: '',\r\n cn: '',\r\n fullNameAr: '',\r\n fullNameEn: '',\r\n phoneNumber: '',\r\n email: '',\r\n bankID: '',\r\n income: '',\r\n period: '60',\r\n groupColor: '',\r\n colorID: '',\r\n advancedPayment: '',\r\n monthlyPayment: '',\r\n note: ''\r\n });\r\n const [defaultBank, setDefaultBank] = useState(null);\r\n const [defaultperiod, setDefaultperiod] = useState(24);\r\n const [error, setError] = useState({});\r\n const [identityType, setIdentityType] = useState(null);\r\n const [colors, setColors] = useState([]);\r\n const schema = Joi.object({\r\n custType: Joi.string().required().messages(GetMessages()),\r\n identityNo: Joi.string().min(10).required().messages(GetMessages()),\r\n cn: Joi.string().min(10).required().messages(GetMessages()),\r\n fullNameAr: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(13).required().messages(GetMessages()),\r\n income: Joi.string().required().messages(GetMessages()),\r\n period: Joi.number().min(24).max(60).required().messages(GetMessages()),\r\n });\r\n\r\n\r\n\r\n useEffect(() => {\r\n initialBanner();\r\n initialFinanceoffers();\r\n // initialProducts();\r\n // initialBanksData();\r\n initialCustGroups();\r\n initalSettings();\r\n intialProfitRates();\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // setFilteredCars(products);\r\n // }, [products]);\r\n\r\n useEffect(() => {\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showPopup === true) {\r\n resetControls();\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showPopup]);\r\n\r\n let handleRefechData;\r\n const fn = function (sayHelloFromComp1) {\r\n handleRefechData = sayHelloFromComp1;\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (products && products?.length > 0) {\r\n\r\n handleRefechData();\r\n }\r\n\r\n // if (activeMenu == 1)\r\n // handleFilterByActiveMenu({\r\n // maxFinanceAmount: 5000,\r\n // maxFinancePeriod: 24,\r\n // lastBatch: 40000\r\n // }, activeMenu, carBrandFilter);\r\n\r\n }, [products]);\r\n // filter cars\r\n function filterCars(carsData, brand) {\r\n\r\n // //console.log(\"getCarsByBrand:\", carsData);\r\n // //console.log(\"getCarsByBrand:\", brand);\r\n\r\n setCarFilter(brand);\r\n setFilteredCars(carsData);\r\n let filterData;\r\n if (brand != null) {\r\n switch (brand.toLowerCase()) {\r\n\r\n case trans(\"finance:brand_toyota\").toLowerCase():\r\n filterData = getCarsByBrand(carsData, trans(\"finance:brand_toyota\").toLowerCase());\r\n break;\r\n\r\n case trans(\"finance:brand_lexus\").toLowerCase():\r\n filterData = getCarsByBrand(carsData, trans(\"finance:brand_lexus\").toLowerCase());\r\n break;\r\n }\r\n } else {\r\n filterData = carsData;\r\n }\r\n setFilteredCarsByBrand(filterData);\r\n };\r\n\r\n const initialProductsByBank = async (thisBankID) => {\r\n setLoadingVehicles(true);\r\n try {\r\n setProducts([]);\r\n //console.log(\" initialProductsByBank:\", thisBankID);\r\n var res = null;\r\n var dataVehicles = null;\r\n // try {\r\n // if (\"caches\" in window) {\r\n // var curl = \"VehiclesByPriceListTypeOnlin-\" + lang + \"_\" + thisBankID;\r\n\r\n // // Opening that particular cache\r\n // const cacheStorage = await caches.open(\"FinancePage\");\r\n\r\n // // Fetching that particular cache data\r\n // const cachedResponse = await cacheStorage.match(\r\n // curl\r\n // );\r\n // dataVehicles = await cachedResponse?.json();\r\n\r\n // if (dataVehicles) {\r\n\r\n // setProducts(dataVehicles);\r\n // setLoadingVehicles(false);\r\n // }\r\n\r\n // }\r\n\r\n // } catch (error) {\r\n // ////console.log(error);\r\n // }\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {//site_FetchVehiclesByPriceListTypeIDOnlineAr\r\n \"name\": lang == \"ar\" ? \"site_FetchVehiclesByPriceListTypeIDOnlineAr\" : \"site_FetchVehiclesByPriceListTypeOnlineEn\",\r\n // \"name\": \"SiteFetchSupportedCarsInFinance\",\r\n \"Values\": {\r\n \"PriceListTypeID\": thisBankID\r\n // \"PriceListTypeID\": \"Al Rajhi Rental\"\r\n }\r\n }\r\n ).then(response => {\r\n setLoadingVehicles(false);\r\n const result = response.data;\r\n const customizedResult = result.map(e => {\r\n return {\r\n id: e.OfferID,\r\n brandID: e.BrandID,\r\n brandTitle: e.Brand,\r\n brandImage: e.BrandImage ? \"data:image/png;base64,\" + e.BrandImage : null,\r\n productID: e.ProductID,\r\n productImage: e.Image ? config.mainURL + e.Image : null,\r\n groupID: e.CarGroupID,\r\n groupTitle: e.Group,\r\n model: e.Year,\r\n modelTypeID: e.Type,\r\n modelTypeTitle: e.DescriptionEn,\r\n colorID: e.ColorID,\r\n colorGroupID: e.ColorGroupID,\r\n colorName: e.ColorName,\r\n colorImage: e.ColorImage ? \"data:image/png;base64,\" + e.ColorImage : null,\r\n price: e.MinPrice,\r\n showPric: true,\r\n buyOnline: e.BuyOnline\r\n }\r\n\r\n\r\n });\r\n\r\n if (dataVehicles != customizedResult) {\r\n setProducts(customizedResult);\r\n\r\n\r\n // const resdataVehicles = new Response(JSON.stringify(customizedResult));\r\n\r\n // if (\"caches\" in window) {\r\n // // Opening given cache and putting our data into it\r\n // caches.open(\"FinancePage\").then((cache) => {\r\n // cache.put(\"VehiclesByPriceListTypeOnlin-\" + lang + \"_\" + thisBankID, resdataVehicles);\r\n\r\n // });\r\n // }\r\n }\r\n }).catch(error => {\r\n //////console.log(error);\r\n setLoadingVehicles(false);\r\n });\r\n\r\n } catch (error) {\r\n ////console.log(error);\r\n setLoadingVehicles(false);\r\n }\r\n };\r\n\r\n\r\n // It's used to initialize the products\r\n const initialProducts = async () => {\r\n\r\n // try {\r\n\r\n // var res = null;\r\n // if (\"caches\" in window) {\r\n // var curl = \"OnlineVehicles-\" + lang;\r\n\r\n // // Opening that particular cache\r\n // const cacheStorage = await caches.open(\"FinancePage\");\r\n\r\n // // Fetching that particular cache data\r\n // const cachedResponse = await cacheStorage.match(\r\n // curl\r\n // );\r\n // var dataVehicles = await cachedResponse?.json();\r\n\r\n // setProducts(dataVehicles);\r\n\r\n // }\r\n\r\n // const response = await axios.request({\r\n // baseURL: config.controllURL,\r\n // url: lang + \"/api/vehicles/OnlineVehicles\",\r\n // method: \"get\",\r\n // });\r\n\r\n // const modelTrns = trans(\"model:description\");\r\n // const result = response.data.vehicles;\r\n // const customizedResult = result.map(e => {\r\n // return {\r\n // id: e.OfferID,\r\n // brandID: e.brandID,\r\n // brandTitle: e.brand,\r\n // brandIcon: e.BrandIcon ? \"data:image/png;base64,\" + e.BrandIcon : null,\r\n // brandImage: e.BrandImage ? \"data:image/png;base64,\" + e.BrandImage : null,\r\n // productID: e.ProductID,\r\n // productImage: e.image ? config.mainURL + e.image : null,\r\n // groupID: e.carGroupID,\r\n // groupTitle: e.group,\r\n // model: e.year,\r\n // modelTypeID: e.type,\r\n // modelTypeTitle: e.modelDescription,\r\n // colorID: e.colorID,\r\n // colorGroupID: e.ColorGroupID,\r\n // colorName: e.colorName,\r\n // colorImage: e.ColorImage ? \"data:image/png;base64,\" + e.ColorImage : null,\r\n // price: e.minPrice,\r\n // showPric: true,\r\n // buyOnline: e.buyOnline\r\n // }\r\n\r\n\r\n // });\r\n // setProducts(customizedResult);\r\n // const resdataVehicles = new Response(JSON.stringify(customizedResult));\r\n\r\n // if (\"caches\" in window) {\r\n // // Opening given cache and putting our data into it\r\n // caches.open(\"FinancePage\").then((cache) => {\r\n // cache.put(\"OnlineVehicles-\" + lang, resdataVehicles);\r\n\r\n // });\r\n // }\r\n\r\n\r\n // } catch (error) {\r\n // ////console.log(error);\r\n // }\r\n\r\n // const modelTrns = trans(\"model:description\");\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"name\": lang == \"ar\" ? \"site_FetchVehiclesByPriceListTypeOnlineAr\" : \"site_FetchVehiclesByPriceListTypeOnlineEn\",\r\n // \"name\": \"SiteFetchSupportedCarsInFinance\",\r\n \"Values\": {\r\n \"PriceListTypeID\": 'Al Rajhi Bank'\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n const customizedResult = result.map(e => {\r\n return {\r\n id: e.OfferID,\r\n brandID: e.BrandID,\r\n brandTitle: e.Brand,\r\n brandImage: e.BrandImage ? \"data:image/png;base64,\" + e.BrandImage : null,\r\n productID: e.ProductID,\r\n productImage: e.Image ? config.mainURL + e.Image : null,\r\n groupID: e.CarGroupID,\r\n groupTitle: e.Group,\r\n model: e.Year,\r\n modelTypeID: e.Type,\r\n modelTypeTitle: e.DescriptionEn,\r\n colorID: e.ColorID,\r\n colorGroupID: e.ColorGroupID,\r\n colorName: e.ColorName,\r\n colorImage: e.ColorImage ? \"data:image/png;base64,\" + e.ColorImage : null,\r\n price: e.MinPrice,\r\n showPric: true,\r\n buyOnline: e.BuyOnline\r\n }\r\n\r\n\r\n });\r\n setProducts(customizedResult);\r\n }).catch(error => {\r\n //////console.log(error);\r\n });\r\n };\r\n\r\n // It's used to filter the cars by brand\r\n const getCarsByBrand = (carsData, brand) => {\r\n //////console.log(\"getCarsByBrand:\", carsData);\r\n //////console.log(\"getCarsByBrand:\", brand);\r\n\r\n try {\r\n return carsData?.filter(e => {\r\n return (e.brandTitle.toLowerCase() == brand)\r\n })\r\n } catch (error) {\r\n return [];\r\n\r\n }\r\n\r\n };\r\n\r\n\r\n const handleFilterByBank = (activeBank) => {\r\n try {\r\n //console.log(\"handleFilterByBank:\", activeBank);\r\n const val = { ...requestForm };\r\n val.bankID = activeBank.GUID;\r\n setRequestForm(val);\r\n setSelectionBank(activeBank);\r\n setDefaultBank(activeBank?.GUID);\r\n\r\n initialProductsByBank(activeBank?.PriceListTypeID);\r\n } catch (err) {\r\n //////console.log(err);\r\n //console.log(\"err handleFilterByBank:\", activeBank);\r\n }\r\n };\r\n\r\n const initialBanner = async () => {\r\n let result = [];\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Finance/Banner\",\r\n method: \"get\",\r\n });\r\n\r\n //////console.log('response.data.banner:', response.data.banner);\r\n result = response.data.banner;\r\n setTimeout(setbanner(result), 500);\r\n return result;\r\n };\r\n\r\n // to fetch the finance offers\r\n const initialFinanceoffers = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchOffersFinanceWithSettingBank\"\r\n }\r\n ).then(response => {\r\n const descriptionModel = trans(\"model:description\");\r\n const responseData = response.data.map((item, index) => {\r\n return {\r\n key: index,\r\n startDate: item?.StartDate,\r\n endDate: item?.EndDate,\r\n title: item[`Title${descriptionModel}`],\r\n excerpt: item[`${lang == \"ar\" ? 'excerptAr' : 'excerptEn'}`],\r\n slug: item?.slugAr,\r\n otherLink: item?.slugEn,\r\n totalDays: item?.TotalDays,\r\n image: item.Image\r\n }\r\n });\r\n setFinanceOffers(responseData);\r\n }).catch(error => {\r\n //////console.log('Error in fetching the finance offers', error);\r\n })\r\n };\r\n\r\n\r\n\r\n //It's used to fetch all the customer types\r\n const initialCustGroups = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetCustGroupsCollection\"\r\n }\r\n ).then(response => {\r\n setAccountTypes(response.data);\r\n\r\n }).catch(err => {\r\n //////console.log(err);\r\n })\r\n };\r\n\r\n // to handle the specific car order\r\n const handleOnApplay = (car, selectionBank) => {\r\n setShowPopup(true);\r\n setCarInfo({ ...car });\r\n reCountFinanceSettings(car, selectionBank, requestForm?.period);\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteFetchColorsByGroup\",\r\n \"values\": {\r\n \"CroupColorID\": car.groupColor,\r\n \"Type\": car.modelType\r\n }\r\n }\r\n ).then(response => {\r\n setColors(response.data.map(item => {\r\n return { value: item.ColorID, text: item[`${trans(\"model:description\")}`] }\r\n }));\r\n }).catch(err => {\r\n\r\n });\r\n\r\n };\r\n\r\n // to intialize the finance settings\r\n const initalSettings = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteFetchActiveBankWithFinanceSettings\"\r\n }\r\n ).then(response => {\r\n setFinanceSettings(response.data[0]);\r\n }).catch(err => {\r\n //////console.log(err);\r\n })\r\n };\r\n // to intialize the finance profit Rates\r\n const intialProfitRates = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteFetchProfitRates\"\r\n }\r\n ).then(response => {\r\n setProfitRates(response.data);\r\n }).catch(err => {\r\n //////console.log(err);\r\n })\r\n };\r\n\r\n // to reset controls \r\n const resetControls = () => {\r\n setShowPopup(false);\r\n setCarInfo({});\r\n setIdentityType(null);\r\n setError({});\r\n setApproximateResult(\r\n {\r\n period: '',\r\n mangFees: null,\r\n monthPay: null,\r\n firstPay: null,\r\n lastPay: null,\r\n annualRate: '',\r\n total: ''\r\n }\r\n );\r\n setRequestForm({\r\n ...requestForm,\r\n custType: null,\r\n identityNo: '',\r\n cn: '',\r\n fullNameAr: '',\r\n fullNameEn: '',\r\n phoneNumber: '',\r\n email: '',\r\n income: null,\r\n colorID: '',\r\n advancedPayment: null,\r\n lastPayment: null,\r\n note: ''\r\n\r\n });\r\n };\r\n\r\n const countFinancCar = async (priceCar, instance) => {\r\n\r\n const { maxFinancePeriod, maxFinanceAmount, lastBatch } = instance;\r\n var finalAmount = 0;\r\n // try {\r\n const firstPay = (selectionBank?.AdvancedPaymentRate / 100) ?? 0;\r\n const lastPay = (selectionBank?.AdvancedPaymentRate / 100) ?? 0;\r\n const managementFees = financeSettings?.ManagementFees ? (financeSettings?.ManagementFees / 100) : 0; // الرسوم الادارية\r\n const financeRate = (selectionBank?.FinanceRate / 100) ?? 0; //نسبة الفائدة\r\n\r\n\r\n\r\n const firstPayPrice = (firstPay * parseFloat(priceCar))\r\n const lastPayPrice = (lastPay * parseFloat(priceCar));\r\n\r\n const financeAmount = (parseFloat(priceCar) - parseFloat(firstPayPrice));\r\n\r\n var addAmount = (financeAmount * financeRate) * (maxFinancePeriod / 12);\r\n\r\n\r\n if (addAmount && managementFees && managementFees > 0) {\r\n // الرسوم الادارية\r\n var managementFeesAmount = (financeAmount * managementFees);\r\n managementFeesAmount = managementFeesAmount + (managementFeesAmount * 0.15);\r\n addAmount = addAmount + managementFeesAmount;\r\n\r\n }\r\n\r\n\r\n const mounthBrach = ((financeAmount + addAmount) - lastPayPrice) / (maxFinancePeriod - 1);\r\n\r\n finalAmount = ((mounthBrach * (maxFinancePeriod - 1)) + lastPayPrice + firstPayPrice);\r\n\r\n // } catch (error) {\r\n\r\n // }\r\n\r\n\r\n\r\n ////console.log(\"finalAmount>>>>>>>>>>>>>>>>>>>:\", finalAmount);\r\n return parseFloat(finalAmount);\r\n }\r\n\r\n const handleFilterByActiveMenu = async (obj, thisActiveMenu, thiscarBrandFilter = carBrandFilter) => {\r\n //console.log(\"handleFilterByActiveMenu:\", thisActiveMenu);\r\n //console.log(\"handleFilterByActiveMenu:\", obj);\r\n //console.log(\"handleFilterByActiveMenu:\", products);\r\n if (products && products?.length > 0) {\r\n const instance = { ...obj };\r\n setLoadingInfo(true);\r\n setTimeout(() => {\r\n\r\n ////console.log(\"handleFilterByActiveMenu:\", instance);\r\n let filteredData;\r\n //////console.log(\"activeMenu:\", thisActiveMenu);\r\n //////console.log(\"thiscarBrandFilter:\", thiscarBrandFilter);\r\n //////console.log(\"products:\", products);\r\n\r\n switch (thisActiveMenu) {\r\n case 1:\r\n\r\n const { maxFinancePeriod, maxFinanceAmount, lastBatch } = instance;\r\n\r\n // setDefaultperiod(maxFinancePeriod);\r\n //////console.log(\"instance:\", instance);\r\n const total = (((parseFloat(maxFinanceAmount) * maxFinancePeriod) - parseFloat(lastBatch)) / (maxFinancePeriod - 1));\r\n //////console.log(\"total:\", total);\r\n const finalTotal = (parseFloat(total) * (maxFinancePeriod - 1)) + parseFloat(lastBatch);\r\n //////console.log(\"finalTotal>>>>>>>>>>>>>>>>>>>:\", finalTotal);\r\n\r\n // const DatawithFinanc = products?.filter(async car => {\r\n // return (car.finalFinaniceTotal = ((parseFloat(await countFinancCar(car.price, instance)))))\r\n // });\r\n\r\n const DatawithFinanc = products?.filter(async car => {\r\n return (car.finalFinaniceTotal = car.price)\r\n });\r\n ////console.log(\"DatawithFinanc>>>>>>>>>>>>>>>>>>>:\", DatawithFinanc);\r\n setTimeout(() => {\r\n filteredData = DatawithFinanc?.filter(car => {\r\n return (finalTotal >= car.finalFinaniceTotal)\r\n });\r\n ////console.log(\"filteredData>>>>>>>>>>>>>>>>>>>:\", filteredData);\r\n filterCars(filteredData, thiscarBrandFilter);\r\n setLoadingInfo(false);\r\n }, 100);\r\n break;\r\n case 2:\r\n const { brandID, groupID, subCategoryID } = instance;\r\n filteredData = products?.filter(car => {\r\n return (((brandID && brandID.trim().length > 0) ? car.brandID == brandID : 1 == 1) && ((groupID && groupID.trim().length > 0) ? car.groupID == groupID : 1 == 1) && ((subCategoryID && subCategoryID.trim().length > 0) ? car.modelTypeID == subCategoryID : 1 == 1))\r\n });\r\n\r\n filterCars(filteredData, thiscarBrandFilter);\r\n setLoadingInfo(false);\r\n break;\r\n case 3:\r\n const { budget } = instance;\r\n //////console.log(\"budget:\", budget);\r\n if (budget) {\r\n filteredData = products?.filter(car => {\r\n return (budget >= car.price)\r\n });\r\n }\r\n\r\n filterCars(filteredData, thiscarBrandFilter);\r\n setLoadingInfo(false);\r\n break;\r\n }\r\n\r\n //////console.log(\"filteredData:\", filteredData);\r\n\r\n\r\n }, 10);\r\n }\r\n };\r\n // to sumbit finance car order\r\n const handleSubmit = () => {\r\n try {\r\n\r\n if (!isLoadingSendOrder) {\r\n //////console.log(\"handleSubmit:\", requestForm);\r\n setLoadingSendOrder(true);\r\n const result = formValidate(schema, requestForm) ?? {};\r\n let unspesificErrors = null;\r\n let newErrors = {};\r\n if (identityType == 1) {\r\n // identity type is (identity card)\r\n unspesificErrors = ['cn'];\r\n\r\n } else if (identityType == 2) {\r\n\r\n unspesificErrors = ['identityNo'];\r\n\r\n }\r\n newErrors = unspesificErrors ? removeUnspecificError(result, unspesificErrors) : result;\r\n\r\n ////console.log(\"newErrors\", newErrors);\r\n setError(newErrors);\r\n if (Object.keys(newErrors).length === 0) {\r\n const { LastPaymentRate } = { ...financeSettings };\r\n if (requestForm.income > 0) {\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"SiteFinanceOrders\",\r\n \"values\": {\r\n \"OfferID\": carInfo.offerID,\r\n \"ProductID\": carInfo.productID,\r\n \"ModelYear\": carInfo.model,\r\n \"CustType\": requestForm.custType,\r\n \"IdentityNo\": requestForm.identityNo,\r\n \"CN\": requestForm.cn,\r\n \"Email\": requestForm.email,\r\n \"FullNameAr\": requestForm.fullNameAr,\r\n \"FullNameEn\": requestForm.fullNameEn,\r\n \"ColorGroup\": carInfo.groupColor != '' || carInfo.groupColor != undefined || carInfo.groupColor != null ? carInfo.groupColor : null,\r\n \"ColorID\": requestForm.colorID != '' || requestForm.colorID != null || requestForm.colorID != undefined ? requestForm.colorID : null,\r\n \"BankID\": requestForm.bankID != '' ? requestForm.bankID : null,\r\n \"PhoneNumber\": requestForm.phoneNumber,\r\n \"Income\": Number(requestForm.income),\r\n \"FirstPayment\": (requestForm.advancedPayment != '' || requestForm.advancedPayment != null || requestForm.advancedPayment != undefined) ? Number(requestForm.advancedPayment) : 0,\r\n \"MonthlyAmount\": carInfo.price * (LastPaymentRate / 100),\r\n \"Period\": Math.floor(Number(requestForm.period)) ?? financeSettings.FinancePeriod ?? 1,\r\n \"Message\": requestForm.note ?? null\r\n\r\n }\r\n }\r\n ).then(response => {\r\n toast.success(trans(\"common:order-request-success\"));\r\n resetControls();\r\n setLoadingSendOrder(false);\r\n }).catch(err => {\r\n //////console.log(err);\r\n setLoadingSendOrder(false);\r\n });\r\n } else {\r\n toast.error(trans(\"error2:not_accept_less_than_0_error\"));\r\n setLoadingSendOrder(false);\r\n }\r\n } else {\r\n //////console.log(\"newErrors>>:\", newErrors);\r\n setLoadingSendOrder(false);\r\n }\r\n\r\n }\r\n } catch (err) {\r\n //////console.log(err);\r\n setLoadingSendOrder(false);\r\n }\r\n };\r\n\r\n //to select the type of identity\r\n const handleCustType = (option) => {\r\n const val = { ...requestForm };\r\n val.custType = option;\r\n setRequestForm(val);\r\n\r\n try {\r\n if (option == '' || option == null || option == '0') {\r\n setIdentityType(null);\r\n return;\r\n }\r\n\r\n // const currentValue = accountTypes.find(item => {\r\n // return item.ID == option\r\n // }) ?? {};\r\n\r\n let value = null;\r\n if (option == \"G1\") {\r\n value = 1;\r\n val.cn = null;\r\n } else {\r\n value = 2;\r\n val.identityNo = null;\r\n }\r\n\r\n setRequestForm(val);\r\n setIdentityType(value);\r\n\r\n } catch (err) {\r\n //////console.log(err);\r\n }\r\n };\r\n\r\n\r\n const [selectedFinancePeriod, setSelectedFinancePeriod] = useState(24);\r\n const [minFirstPayPrice, setMinFirstPayPrice] = useState(0);\r\n const reCountFinanceSettings = (carInfo, financeSettings, selectedFinancePeriod, currentFirstPayPrice) => {\r\n\r\n try {\r\n //////console.log('reCountFinanceSettings', financeSettings);\r\n if (carInfo && financeSettings) {\r\n let financeData = { ...approximateResult };\r\n if (carInfo?.price && financeSettings?.ManagementFees >= 0) {\r\n\r\n //selectedFinancePeriod = financeSettings?.MaxFinancePeriod;\r\n\r\n const firstPay = (financeSettings?.AdvancedPaymentRate / 100) ?? 0;\r\n const lastPay = (financeSettings?.LastPaymentRate / 100) ?? 0;\r\n const managementFees = (financeSettings?.ManagementFees / 100) ?? 0; // الرسوم الادارية\r\n const financeRate = (financeSettings?.FinanceRate / 100) ?? 0; //نسبة الفائدة\r\n\r\n setMinFirstPayPrice(parseInt(firstPay * carInfo?.price));\r\n\r\n const firstPayPrice = currentFirstPayPrice ? currentFirstPayPrice : (firstPay * parseFloat(carInfo?.price))\r\n const lastPayPrice = (lastPay * parseFloat(carInfo?.price));\r\n\r\n const financeAmount = (parseFloat(carInfo?.price) - parseFloat(firstPayPrice));\r\n\r\n var addAmount = (financeAmount * financeRate) * (selectedFinancePeriod / 12);\r\n var managementFeesAmount = 0;\r\n if (addAmount && managementFees && managementFees > 0) {\r\n // الرسوم الادارية\r\n managementFeesAmount = (financeAmount * managementFees);\r\n managementFeesAmount = managementFeesAmount + (managementFeesAmount * 0.15);\r\n addAmount = addAmount + managementFeesAmount;\r\n\r\n }\r\n\r\n //////console.log('financeAmount', financeAmount);\r\n //////console.log('addAmount', addAmount);\r\n //////console.log('lastPayPrice', lastPayPrice);\r\n //////console.log('financeSettings?.MaxFinancePeriod', selectedFinancePeriod);\r\n const mounthBrach = ((financeAmount + addAmount) - lastPayPrice) / (selectedFinancePeriod - 1)\r\n\r\n const finalAmount = ((mounthBrach * (selectedFinancePeriod - 1)) + lastPayPrice + firstPayPrice)\r\n\r\n financeData.period = selectedFinancePeriod;\r\n financeData.mangFees = managementFeesAmount;\r\n financeData.total = finalAmount;\r\n financeData.firstPay = firstPayPrice;\r\n financeData.lastPay = lastPayPrice;\r\n financeData.monthPay = mounthBrach;\r\n\r\n //////console.log('financeData', financeData);\r\n\r\n setApproximateResult(financeData);\r\n }\r\n }\r\n } catch (error) {\r\n\r\n ////console.log(\"error:\", error.messages);\r\n\r\n }\r\n\r\n }\r\n\r\n // to remove the unneeded props\r\n const removeUnspecificError = (errorList, values = []) => {\r\n let errorResult = {};\r\n if (values?.length > 0) {\r\n const lowerValues = values.map(item => {\r\n return item.toLowerCase()\r\n });\r\n Object.assign(errorResult, errorList);\r\n if (errorList) {\r\n for (let index = 0; index < Object.keys(errorList).length; index++) {\r\n const key = Object.keys(errorList)[index];\r\n if (includes(lowerValues, key.toLowerCase())) {\r\n delete errorResult[key];\r\n } else {\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n return errorResult;\r\n };\r\n\r\n\r\n useEffect(async () => {\r\n\r\n var page = \"finance\"\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n \r\n {/* {banner.map(BN => {\r\n\r\n if (lang === \"en\") {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n })} */}\r\n\r\n
    \r\n \r\n {\r\n\r\n //////console.log(\"Banks>>>>>>>>>>>>>:\", Banks);\r\n setBanks(Banks);\r\n }}\r\n\r\n selectionBank={selectionBank}\r\n onBankSelected={\r\n (activeBank, thisActiveMenu) => {\r\n handleFilterByBank(activeBank);\r\n }}\r\n onActiveMenu={\r\n (index) => {\r\n setActiveMenu(index);\r\n // setCarFilter(null);\r\n filterCars([], null);\r\n }}\r\n onSelectedProduct={\r\n (value, thisActiveMenu, thiscarBrandFilter) => {\r\n //console.log(\"onSelectedProduct>>>>>>>>>>>>>:\", value);\r\n handleFilterByActiveMenu(value, thisActiveMenu, thiscarBrandFilter);\r\n\r\n }\r\n }\r\n onBudgetChange={\r\n (value, thisActiveMenu, thiscarBrandFilter) => {\r\n //console.log(\"onBudgetChange>>>>>>>>>>>>>:\", value);\r\n handleFilterByActiveMenu(value, thisActiveMenu, thiscarBrandFilter);\r\n\r\n }\r\n }\r\n onQuantitySearchClick={(value, thisActiveMenu, thiscarBrandFilter) => {\r\n //console.log(\"onQuantitySearchClick>>>>>>>>>>>>>:\", value);\r\n handleFilterByActiveMenu(value, thisActiveMenu, thiscarBrandFilter);\r\n\r\n }}\r\n\r\n onsetDefaultperiod={(value) => {\r\n\r\n\r\n\r\n var dp = 24;\r\n if (value < 36) {\r\n dp = 24;\r\n } else if (value < 48) {\r\n dp = 36;\r\n\r\n } else if (value < 60) {\r\n\r\n dp = 48;\r\n } else if (value >= 60) {\r\n\r\n dp = 60;\r\n }\r\n //////console.log(\"MMMMMMMMMMMMMMMMMMMMMMM:>>>\", dp);\r\n const val = { ...requestForm };\r\n val.period = dp;\r\n setRequestForm(val);\r\n setDefaultperiod(dp);\r\n\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n filterCars(filteredCars, trans(\"finance:brand_lexus\"))} />\r\n filterCars(filteredCars, trans(\"finance:brand_toyota\"))} />\r\n filterCars(filteredCars, null)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n {\r\n isLoadingVehicles == true ?\r\n\r\n <>\r\n \r\n\r\n \r\n\r\n :\r\n\r\n (
    \r\n {\r\n filteredCarsByBrand?.map((car, index) => {\r\n return (\r\n handleOnApplay(car, selectionBank)}\r\n offerID={car.id}\r\n groupColor={car.colorGroupID}\r\n modelType={car.modelTypeID}\r\n productID={car.productID}\r\n brand={car.brandTitle}\r\n brandImage={car.brandImage}\r\n brandIcon={car.brandIcon}\r\n image={car.productImage}\r\n name={car.modelTypeTitle}\r\n model={car.model}\r\n group={car.groupTitle}\r\n price={car?.finalFinaniceTotal ? car.finalFinaniceTotal : car?.price}\r\n hasOffer={true}\r\n brandID={car.brandID}\r\n showPric={car?.showPric}\r\n colorName={car?.colorName}\r\n />\r\n )\r\n })\r\n\r\n }\r\n\r\n
    \r\n )\r\n }\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"toyota\"\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {(true\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    {carInfo.name}

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

    {trans(\"finance:group\")}

    \r\n

    {carInfo?.group}

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

    {trans(\"info:vehicle_year\")}

    \r\n

    {carInfo?.model}

    \r\n
    \r\n
    \r\n {\r\n carInfo?.showPric &&\r\n <>\r\n

    {trans(\"finance:price\")}

    \r\n

    \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n carInfo?.showPric &&\r\n
    \r\n
    \r\n

    {trans(\"finance:period\")}

    \r\n

    {approximateResult?.period}

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

    {trans(\"finance:management_fees\")}

    \r\n

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

    {trans(\"finance:monthPayment\")}

    \r\n

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

    {trans(\"finance:advance_payment\")}

    \r\n

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

    {trans(\"finance:lastPayment\")}

    \r\n

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

    {trans(\"finance:final_price\")}

    \r\n

    \r\n
    \r\n
    \r\n\r\n }\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {trans(\"finance:cust_type\")}:\r\n
    \r\n
    \r\n {\r\n return { text: item[`${trans(\"model:description\")}`], value: item.CustGroupCollectingID }\r\n })]}\r\n onSelect={handleCustType}\r\n\r\n selectedValue={requestForm?.custType}\r\n />\r\n
    \r\n
    \r\n <>\r\n {\r\n\r\n (identityType && identityType == 1) ?\r\n
    \r\n
    {trans(identityType == 1 ? \"form:identity-no\" : \"finance:cn\")}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.identityNo = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n : (identityType && identityType == 2) ?\r\n
    \r\n
    {trans(identityType == 1 ? \"form:identity-no\" : \"finance:cn\")}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.cn = e.target.value;\r\n setRequestForm(val);\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
    {trans(\"form:name\")}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.fullNameAr = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n />\r\n\r\n
    \r\n
    \r\n {/* {\r\n const val = { ...requestForm };\r\n val.fullNameEn = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n /> */}\r\n\r\n
    \r\n
    {trans(\"form:phone\") + '*'}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${countryCode}${phoneNumber}`;\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    {trans(\"form:email\") + '*'}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n />\r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n
    {trans(\"finance:bank_name\")}:\r\n
    \r\n
    \r\n {\r\n return { text: lang == \"ar\" ? (item.nameAr ? item.nameAr : item.DescriptionAr) : (item.nameEn ? item.nameEn : item.DescriptionEn), value: item.GUID }\r\n })]}\r\n\r\n onSelect={(option) => {\r\n const val = { ...requestForm };\r\n val.bankID = option;\r\n setRequestForm(val);\r\n }}\r\n selectedValue={requestForm?.bankID ? requestForm?.bankID : selectionBank.GUID}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    {trans(\"finance:net_income\") + '*'}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.income = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n {/* {\r\n const val = { ...requestForm };\r\n val.period = e.target.value;\r\n setRequestForm(val);\r\n reCountFinanceSettings(carInfo, selectionBank, val.period);\r\n }}\r\n /> */}\r\n\r\n\r\n
    \r\n
    {trans(\"finance:finance_period\") + \" (\" + trans(\"finance:byMonth\") + \" )\" + '*'}:\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.period = option;\r\n setRequestForm(val);\r\n reCountFinanceSettings(carInfo, selectionBank, val.period);\r\n }}\r\n selectedValue={requestForm.period}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    {trans(\"finance:advance_payment\")}:\r\n
    \r\n
    \r\n {\r\n\r\n // if (e?.target?.value >= minFirstPayPrice) {\r\n\r\n const val = { ...requestForm };\r\n val.advancedPayment = e.target.value;\r\n setRequestForm(val);\r\n\r\n\r\n // }\r\n\r\n }}\r\n\r\n onLeave={(e) => {\r\n if (e?.target?.value >= minFirstPayPrice) {\r\n\r\n reCountFinanceSettings(carInfo, selectionBank, requestForm.period, e.target.value);\r\n\r\n } else {\r\n\r\n const val = { ...requestForm };\r\n val.advancedPayment = minFirstPayPrice;\r\n setRequestForm(val);\r\n reCountFinanceSettings(carInfo, selectionBank, requestForm.period, minFirstPayPrice);\r\n }\r\n\r\n }}\r\n />\r\n
    \r\n
    \r\n {/* {\r\n\r\n colors && {\r\n const val = { ...requestForm };\r\n val.colorID = option;\r\n setRequestForm(val);\r\n }}\r\n />\r\n } */}\r\n {\r\n const val = { ...requestForm };\r\n val.note = e;\r\n setRequestForm(val);\r\n }}\r\n row={3}\r\n />\r\n\r\n \r\n
    \r\n
    \r\n {/*
    {\r\n\r\n // handleCalculate\r\n reCountFinanceSettings(carInfo, selectionBank, requestForm?.period);\r\n }\r\n\r\n\r\n }\r\n >\r\n {trans(\"finance:calculate\")}\r\n
    */}\r\n \r\n {trans(\"finance:apply\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n}","import { Fragment } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nconst BrandImage = ({brand})=>{\r\nconst {t:trans} = useTranslation([\"finance\"]); \r\nconst isLexus = (brand == trans(\"finance:brand_lexus\").toLowerCase());\r\nreturn( \r\n \r\n
    \r\n
    \r\n \"toyota\"\r\n

    {(isLexus ? trans(\"finance:brand_lexus\") : trans(\"finance:brand_toyota\"))}

    \r\n
    \r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n
    \r\n);\r\n};\r\nexport default BrandImage;","import {Fragment , useEffect,useState} from \"react\";\r\nimport SwiperCore, {Pagination, Navigation, Autoplay, EffectFade} from \"swiper\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useLocation} from \"react-router\";\r\nimport Banner from \"../../components/banner\";\r\nimport {DropDownInput} from \"../../components/_input/_dropdown\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport config from '../../configuration/config.json';\r\nimport BrandImage from \"../../components/brandImage\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function FinanceDetailPage() {\r\n const {t: trans} = useTranslation([\"heading\",\"finance\",\"common\",\"inputs\"]);\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n const [financeDetails,setFinanceDetails] = useState({});\r\n const [branches,setBranches] = useState([]);\r\n useEffect(()=>{\r\n try{\r\n initialBranches();\r\n const financeId = query.toString().split('_')[1];\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\":\"siteCarsFinanceView\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n },\r\n \"Filters\":`where BankTermID = '${financeId}'`\r\n }\r\n ).then(response=>{\r\n const fullResult = response.data.ApiObjectData;\r\n if(fullResult.length > 0){\r\n const result = fullResult[0];\r\n const showData = {\r\n id:result.BankTermID,bankId:result.BankID,firstPayment:result.FirstPayment,monthsCount:result.MonthsNumber,model:result.ModelRange,\r\n monthsQuantity:result.MonthlyQuantity,groupId:result.GroupID,groupDescription:result[`${trans(\"finance:groupDescription\")}`],\r\n brandDescription:result[`${trans(\"finance:brandDescription\")}`],image:result.GroupImage,offerId:result.OfferID,rate:result.ManagmentFees\r\n };\r\n setFinanceDetails(showData);\r\n }\r\n });\r\n }catch(error){\r\n console.log(error);\r\n }\r\n },[]);\r\n\r\n\r\n const initialBranches = ()=>{\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\":\"InvSites\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n },\r\n \"Option\":\"Column\",\r\n \"Fields\":\"SiteID,DescriptionAr,DescriptionEn\"\r\n }\r\n ).then(response=>{\r\n const result = response.data.ApiObjectData;\r\n const customizedResult = result.map(e=>{\r\n return {\r\n value:e.SiteID , text:e[`${trans(\"model:description\")}`]\r\n }\r\n });\r\n setBranches(customizedResult);\r\n }).catch(error=>{ \r\n console.log(error);\r\n });\r\n };\r\n \r\n const getFullPrice = ()=>{\r\n let total = (financeDetails?.firstPayment + (financeDetails?.monthsQuantity * financeDetails?.monthsCount));\r\n if(financeDetails.rate){\r\n const totalAfterRate = total * (financeDetails?.rate / 100);\r\n total+=totalAfterRate;\r\n }\r\n return total;\r\n };\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    {financeDetails?.groupDescription}

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

    الدفعة الأولى

    \r\n

    {financeDetails?.firstPayment +' ' + trans(\"common:rial\")}

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

    القسط الشهري

    \r\n

    {financeDetails?.monthsQuantity + ' ' + trans(\"common:rial\")}

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

    مدة التمويل

    \r\n

    {financeDetails?.monthsCount + ' ' + trans(\"finance:month\")}

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

    حساب الاقساط

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    السعر (غير شامل الضريبة)\r\n {\r\n getFullPrice()\r\n } {trans(\"common:rial\")}\r\n
    الدفعة الأولى{financeDetails?.firstPayment +' '} {trans(\"common:rial\")}
    القسط الشهري {financeDetails?.monthsQuantity + ' ' } {trans(\"common:rial\")}
    رسوم إدارية{financeDetails.rate ? (financeDetails.rate + '%') :'لايوجد'}
    عدد الأشهر{financeDetails?.monthsCount + ' ' + trans(\"finance:month\")}
    \r\n تقدم طلب تمويل\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}","import { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport default function AwardsSection({ awards }) {\r\n if (awards == null)\r\n return null;\r\n\r\n return (\r\n
    \r\n\r\n \r\n {\r\n awards.map((award) => {\r\n return (\r\n \r\n
    \r\n

    {award.title}

    \r\n

    {award.description}

    \r\n {\"\"}\r\n
    \r\n
    \r\n );\r\n })\r\n }\r\n\r\n \r\n\r\n {/*
    \r\n\r\n {\r\n awards.map((award) => {\r\n return (\r\n {award.title}\r\n );\r\n })\r\n }\r\n
    */}\r\n
    \r\n );\r\n}","export default function VisionsSection({ visions }) {\r\n if (visions == null)\r\n return null;\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n return (\r\n
    \r\n\r\n {\r\n visions.map((vision) => {\r\n return (\r\n
    \r\n

    {vision.name}

    \r\n

    {vision.content}

    \r\n
    \r\n );\r\n })\r\n }\r\n
    \r\n );\r\n}","import { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport default function CounterSection({ about }) {\r\n if (about?.counter3 == null)\r\n return null;\r\n\r\n return (\r\n\r\n
    \r\n
    \r\n

    {about?.title}

    \r\n

    \r\n {about?.desc}\r\n

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

    {Intl.NumberFormat().format(about?.counter1)}{\"+\"}

    \r\n {about?.counterTitle1}\r\n
    \r\n
    \r\n

    {Intl.NumberFormat().format(about?.counter2)}{\"+\"}

    \r\n {about?.counterTitle2}\r\n
    \r\n
    \r\n

    {Intl.NumberFormat().format(about?.counter3)}{\"+\"}

    \r\n {about?.counterTitle3}\r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}","import { Fragment, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport { WhyHJSection } from \"../../sections/whyHJSection\";\r\nimport { TestimonialSection } from \"../../sections/testimonialSection\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport axios from \"axios\";\r\nimport AwardsSection from \"./components/about-awards\";\r\nimport VisionsSection from \"./components/about-visions\";\r\nimport CounterSection from \"./components/about-counter\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport config from '../../configuration/config.json';\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function AboutPage() {\r\n const { t: trans } = useTranslation([\"common\", \"about\"]);\r\n\r\n const [banner, setBanner] = useState({});\r\n const [awards, setAwards] = useState([]);\r\n const [visions, setVisions] = useState([]);\r\n const [about, setAbout] = useState({});\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n useEffect(async () => {\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/About/index\",\r\n method: \"get\",\r\n });\r\n\r\n setBanner(response.data.banner)\r\n setVisions(response.data.visions)\r\n setAwards(response.data.awards)\r\n setAbout(response.data.about)\r\n\r\n } catch (error) {\r\n\r\n }\r\n }, [])\r\n\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"about us\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n {/*
    */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n\r\n\r\n \r\n\r\n {\r\n about?.bannerPath ?\r\n
    \r\n \"hassan\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

    {about?.lastTitle}

    \r\n
    \r\n {\r\n about?.lastDesc\r\n }\r\n
    \r\n\r\n {trans(\"common:contact-us\")}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}","import { useRef, useState } from \"react\";\r\nimport ContactTile from \"./contactTile\";\r\n\r\nexport default function ContactList({ branch, contacts, onGeo }) {\r\n const height = useRef(null);\r\n const [divHeight, setHeight] = useState(0);\r\n\r\n function showData() {\r\n onGeo(branch)\r\n setHeight(divHeight <= 0 ? height.current.scrollHeight : 0);\r\n }\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n
    {branch.content}
    \r\n\r\n 0 && \"rotate-180\")}\r\n src={\"/assets/icons/arrow.svg\"} alt={\"show\"} />\r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n contacts?.map((contact, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { Map } from \"./map\";\r\nimport ContactList from \"./contactList\";\r\nimport { useEffect, useState } from 'react';\r\n\r\nexport function MapBanner({ branches, contacts, activebranche }) {\r\n\r\n const [geoLocation, setGeoLocation] = useState({\r\n location: {\r\n name: '',\r\n content: '',\r\n latitude: '',\r\n longitude: ''\r\n }\r\n });\r\n\r\n function handleChangeLocation(geo) {\r\n const { latitude, longitude, content, name } = geo;\r\n const newLocation = { ...geoLocation };\r\n newLocation.location.latitude = latitude;\r\n newLocation.location.longitude = longitude;\r\n newLocation.location.content = content;\r\n newLocation.location.name = name;\r\n setGeoLocation(newLocation);\r\n }\r\n\r\n useEffect(() => {\r\n try {\r\n console.log('length', branches.length);\r\n if (branches.length > 0)\r\n handleChangeLocation(branches[0]);\r\n } catch (err) {\r\n }\r\n }, [branches]);\r\n\r\n useEffect(() => {\r\n if (activebranche) {\r\n handleChangeLocation(activebranche);\r\n }\r\n }, [activebranche]);\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n branches?.map((branch, index) => {\r\n return (\r\n handleChangeLocation(e)}\r\n branch={branch}\r\n contacts={contacts.filter((contact) => contact.branchId == branch.name)}\r\n />\r\n );\r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n\r\n}\r\n\r\n","import { MapBanner } from \"./components/mapBanner\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport ContactTile from \"./components/contactTile\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport { changeHeader, changeIcons } from \"../../_redux/slices/navSlice\";\r\nimport axios from \"axios\";\r\nimport { FilterButton } from \"../../components/__simple/_filterButton\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate, validateProperty } from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { toast } from \"react-toastify\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function ContactPage() {\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"messages\", \"inputs\"]);\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n const [paramSubject, setParamSubject] = useState(query.get(\"subject\") ?? null);\r\n\r\n const dispatch = useDispatch();\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [page, setPage] = useState({});\r\n const [branches, setBranches] = useState([]);\r\n const [contacts, setContacts] = useState([]);\r\n const [subjects, setSubjects] = useState([]);\r\n const [selectedBranch, setSelectedBranch] = useState(null);\r\n const [message, setMessage] = useState({\r\n fullName: '',\r\n phone: '',\r\n email: '',\r\n subject: paramSubject,\r\n messageContent: ''\r\n });\r\n\r\n const schema = Joi.object({\r\n fullName: Joi.string().required().messages(GetMessages()),\r\n phone: Joi.string().min(12).required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n subject: Joi.string().required().messages(GetMessages()),\r\n messageContent: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n const [error, setError] = useState({});\r\n\r\n const submitRequest = async (e) => {\r\n e.preventDefault();\r\n const result = formValidate(schema, message) ?? {};\r\n setError(result);\r\n try {\r\n if (Object.keys(result).length === 0) {\r\n console.log(Object.keys(error).length);\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\": \"siteContactMessages\",\r\n \"values\": {\r\n \"name\": message.fullName,\r\n \"email\": message.email,\r\n \"phoneNumber\": message.phone,\r\n \"subject\": Number(message.subject),\r\n \"message\": message.messageContent,\r\n }\r\n }\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n const defaultValue = { ...message };\r\n setMessage({\r\n fullName: '',\r\n phone: defaultValue.phone,\r\n email: '',\r\n subject: '',\r\n messageContent: ''\r\n });\r\n setError({});\r\n toast.success(trans(\"messages:message_sent_successfully\"));\r\n }\r\n }\r\n } catch (e) {\r\n\r\n }\r\n\r\n }\r\n useEffect(async () => {\r\n\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/contact/contact/\",\r\n method: \"get\",\r\n });\r\n\r\n setPage(response.data.page);\r\n setBranches(response.data.branches);\r\n setContacts(response.data.contacts);\r\n setSubjects(response.data.subjects.map(item => { return { text: item.description, value: item.id } }));\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n dispatch(\r\n changeIcons({ iconsBlack: true })\r\n )\r\n return () => {\r\n dispatch(\r\n changeIcons({ iconsBlack: false })\r\n )\r\n }\r\n }, []\r\n );\r\n useEffect(() => {\r\n if (branches.length > 0)\r\n setSelectedBranch(branches[0].name)\r\n }, []);\r\n\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"contact\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n\r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n {\r\n branches?.map((branch, index) => {\r\n return (\r\n setSelectedBranch(branch)}\r\n />\r\n );\r\n })\r\n }\r\n
    \r\n\r\n
    \r\n {\r\n contacts?.map((contact, index) => {\r\n if (contact.branchId == selectedBranch?.name)\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 submitRequest(e);\r\n }\r\n }\r\n\r\n >\r\n {\r\n const val = { ...message };\r\n val.fullName = e.target.value;\r\n setMessage(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...message };\r\n val.phone = `+${countryCode}${phoneNumber}`;\r\n setMessage(val);\r\n }}\r\n />\r\n {\r\n const val = { ...message };\r\n val.email = e.target.value;\r\n setMessage(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...message };\r\n val.subject = String(e);\r\n setMessage(val);\r\n }}\r\n\r\n selectedValue={message.subject}\r\n name='subject'\r\n className={\"flex-grow-1\"}\r\n defaultOption={ { text: trans(\"form:subject\"), value: \"0\" }}\r\n options={[...subjects]}\r\n errorLabel={error?.subject}\r\n />\r\n {\r\n console.log(e);\r\n const val = { ...message };\r\n val.messageContent = e;\r\n setMessage(val);\r\n }\r\n }\r\n row={3}\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 {useEffect} from 'react';\r\nimport {withRouter} from 'react-router-dom';\r\n\r\nfunction ScrollToTop({history}) {\r\n useEffect(() => {\r\n const unlisten = history.listen(() => {\r\n window.scrollTo(0, 0);\r\n });\r\n return () => {\r\n unlisten();\r\n }\r\n }, []);\r\n\r\n return (null);\r\n}\r\n\r\nexport default withRouter(ScrollToTop);","import {configureStore, combineReducers} from '@reduxjs/toolkit'\r\n\r\nimport navReducer from './slices/navSlice';\r\nimport cartReducer from './slices/cartSlice';\r\n\r\n\r\nconst entitiesReducer = combineReducers({\r\n\r\n nav: navReducer,\r\n cart: cartReducer,\r\n\r\n});\r\n\r\nconst reducers = combineReducers({\r\n entities: entitiesReducer,\r\n});\r\n\r\n\r\nexport default configureStore({\r\n reducer: reducers,\r\n\r\n},)","import { useTranslation } from 'react-i18next';\r\nimport { useHistory, useRouteMatch } from 'react-router';\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nexport const ServiceOrderButton = ({ title = '', onClick }) => {\r\n return (\r\n {\r\n if (onClick) {\r\n onClick(true);\r\n }\r\n }}\r\n >\r\n
    \r\n {title}\r\n
    \r\n \r\n );\r\n};\r\nexport const MaintenanceServiceBox = ({ serviceID = '', title = '', to = '', minPrice = 0, maxPrice = 0, image, onServiceOrder }) => {\r\n const history = useHistory();\r\n const { t: trans } = useTranslation(\"info\");\r\n return (\r\n {\r\n\r\n if (to == \"#\") {\r\n\r\n event.stopPropagation();\r\n if (onServiceOrder) {\r\n onServiceOrder(serviceID);\r\n }\r\n } else {\r\n history.push(to);\r\n\r\n }\r\n\r\n }\r\n }\r\n >\r\n
    \r\n {/*
    \r\n

    {title}

    \r\n
    */}\r\n {/*
    \r\n
    {\r\n event.stopPropagation();\r\n if (onServiceOrder) {\r\n onServiceOrder(serviceID);\r\n }\r\n }} className=\"nice-bg-btn-border bg-primary text-white text-14\">\r\n {trans(\"info:order-service\")}\r\n
    \r\n
    */}\r\n {\r\n event.stopPropagation();\r\n if (onServiceOrder) {\r\n onServiceOrder(serviceID);\r\n }\r\n }}\r\n\r\n className=\"mainteance-box-details nice-flex nice-flex-column p-4\">\r\n

    {title}

    \r\n \r\n
    \r\n \r\n \r\n\r\n );\r\n};","import { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../../../configuration/config.json';\r\nimport Banner from \"../../../components/banner\";\r\nimport axios from \"axios\";\r\nconst ServiceHeaderBanner = ({ defaultBanner = 5, bannerDescriptor = null, to = '', hasRedirect = false }) => {\r\n const { t: trans, i18n } = useTranslation(['info']);\r\n const [banner, setBanner] = useState([]);\r\n let lang = localStorage.getItem('i18nextLng');\r\n const requsetBanner = async () => {\r\n let result = [];\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Maintenance/Banner\",\r\n method: \"get\",\r\n });\r\n\r\n console.log('response.data.banner:', response.data.banner);\r\n result = response.data.banner;\r\n\r\n return result;\r\n };\r\n useEffect(async () => {\r\n let bannerObject;\r\n try {\r\n if (bannerDescriptor) {\r\n bannerObject = (\r\n );\r\n } else {\r\n const banner = await requsetBanner();\r\n bannerObject = ;\r\n\r\n\r\n }\r\n setBanner(bannerObject);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {banner}\r\n \r\n );\r\n};\r\n\r\nexport default ServiceHeaderBanner;","import React from 'react';\r\nconst MaintenanceContext = React.createContext();\r\nMaintenanceContext.displayName = 'maintenanceContext';\r\nexport default MaintenanceContext;\r\n","import { Fragment, useEffect, useRef, useState, useContext } from \"react\"; import ErrorLabel from '../../components/error';\r\nimport { InputField } from \"../_input/_input\"\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function DropDownInput2({\r\n styles,\r\n title,\r\n placeholder,\r\n disabled = false,\r\n className,\r\n classDropdownField,\r\n fieldTextClass,\r\n isSecondary,\r\n selectedValue = null,\r\n inputName,\r\n options = null,\r\n onSelect,\r\n defaultOption = null,\r\n currentOption = null,\r\n onfilter,\r\n isepart,\r\n errorLabel,\r\n force = false\r\n}) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"mobileInputs\"]);\r\n const optionsRef = useRef(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState((defaultOption != null && defaultOption != undefined) ? defaultOption : { text: '', value: '' });\r\n const [filterOptions, setfilterOptions] = useState(options);\r\n const lang = i18n.language;\r\n const languageDir = \"language-\" + lang;\r\n useEffect(() => {\r\n setfilterOptions(options);\r\n\r\n }, [options]);\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (optionsRef.current && !optionsRef.current.contains(event.target) && isOpen === true) {\r\n setIsOpen(false);\r\n }\r\n }\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [optionsRef, isOpen]);\r\n function selectOption(option) {\r\n\r\n if (selectedOption.value !== option.value) {\r\n if (onSelect) {\r\n const val = option.value !== '0' ? option.value : '';\r\n onSelect(val);\r\n }\r\n setIsOpen(false);\r\n setSelectedOption(option);\r\n if (onfilter)\r\n if (defaultOption?.value !== option.value)\r\n onfilter(option);\r\n } else {\r\n\r\n setIsOpen(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n // console.log(\"options>>>>>>>>>>>>>\",options);\r\n // console.log(\"selectedValue>>>>>>>>>>>>>\",selectedValue);\r\n if (selectedValue == null || selectedValue == undefined) {\r\n setSelectedOption((defaultOption != null && defaultOption != undefined) ? defaultOption : ((defaultOption != null && defaultOption != undefined) ? defaultOption : { text: '', value: '' }));\r\n } else {\r\n\r\n var vv = options.find(item => item?.value == selectedValue) ?? null;\r\n setSelectedOption(vv ? vv : { text: '', value: '' });\r\n }\r\n\r\n }, [selectedValue]);\r\n\r\n return (\r\n\r\n \r\n\r\n {\r\n inputName ? (\r\n \r\n ) : null\r\n }\r\n\r\n
    \r\n\r\n {\r\n title &&\r\n
    {title}\r\n
    \r\n }\r\n\r\n
    \r\n
    {\r\n setIsOpen(!isOpen);\r\n }}>\r\n
    \r\n\r\n \r\n {\r\n selectedOption.text\r\n }\r\n\r\n\r\n \r\n\r\n {\r\n\r\n selectedOption?.icon &&\r\n < img className={\"dropdown-field-icon \"} src={selectedOption?.icon} alt=\"\" />\r\n }\r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n\r\n
    \r\n {\r\n !disabled &&
    \r\n\r\n {\r\n filterOptions && options && options.length > 10 &&\r\n < InputField\r\n extraClasses={\"\"}\r\n placeholder={trans(\"info:search_now\")}\r\n onChangeValue={(value) => {\r\n if (value.target.value) {\r\n const filterData = options?.filter(a => a.text.includes(value.target.value));\r\n setfilterOptions(filterData);\r\n } else {\r\n setfilterOptions(options);\r\n }\r\n\r\n }} />\r\n\r\n }\r\n\r\n
      \r\n {\r\n filterOptions?.map((option, index) => {\r\n\r\n return (\r\n
    • {\r\n selectOption(option);\r\n }}>\r\n {option.text}\r\n {\r\n\r\n option?.icon &&\r\n < img className={\"dropdown-field-icon \"} src={option?.icon} alt=\"\" />\r\n }\r\n
    • \r\n );\r\n\r\n }\r\n )\r\n }\r\n\r\n
    \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 axios from \"axios\";\r\nimport {useContext, useEffect, useState} from \"react\"\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useRouteMatch,useParams} from \"react-router\";\r\nimport Breadcrumb from \"../../../components/__simple/breadcrumb\";\r\nimport PageHeading from \"../../../components/__simple/_pageheading\"\r\nimport {AboutHJSection} from \"../../../sections/aboutHJ\";\r\nimport {TestimonialSection} from \"../../../sections/testimonialSection\";\r\nimport {WhyHJSection} from \"../../../sections/whyHJSection\";\r\nimport {MaintenanceServiceBox, ServiceOrderButton} from \"../components/maintenance\";\r\nimport ServiceHeaderBanner from \"../components/serviceHeaderBanner\";\r\nimport MaintenanceContext from \"../maintenanceContext\";\r\nimport {DropDownInput2 as DropDownInput} from \"../../../components/_input/_dropdown2\";\r\n// import { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport {Price} from \"../../../components/__simple/_price\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport Offer from \"../../../components/offer\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {slugCombine} from '../../../utils/slugManager';\r\n\r\nconst MainServicePage = ({}) => {\r\n\r\n let {PGroupID,PYear,PSerciveID} = useParams();\r\n const [maintenanceInfo, setMaintenanceInfo] = useState({});\r\n\r\n const {t: trans, i18n} = useTranslation([\"info\", \"navbar\"]);\r\n const {handleServiceOrder} = useContext(MaintenanceContext);\r\n const {path} = useRouteMatch();\r\n const languageDir = 'language-' + i18n.language;\r\n const lang = i18n.language;\r\n const [MainService, setMainService] = useState([]);\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n \r\n const [ServiceOptions, setServiceOptions] = useState([]);\r\n const [Service, setService] = useState([]);\r\n const [lodingService, setLodingService] = useState(false);\r\n const [settings, setSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n\r\n models: [],\r\n productModels: []\r\n });\r\n const [filteredSettings, setFilteredSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n const [firstByLink22, setFirstByLink22] = useState(true);\r\n useEffect(() => {\r\n\r\n if(PGroupID && PYear && PSerciveID && settings && settings?.groups?.length > 0 && firstByLink22 ==true){\r\n setFirstByLink22(false);\r\n // console.log(\">>>>>>>>>>>>>>>>>>>>>>>>>>>:\",PGroupID);\r\n // console.log(\">>>>>>>>>>>>>>>>>>>>>>>>>>>:\",PYear);\r\n // console.log(\">>>>>>>>>>>>>>>>>>>>>>>>>>>:\",PSerciveID);\r\n const ttGroup =settings?.groups?.filter(a => a.productGroupID == PGroupID);\r\n if(ttGroup && ttGroup?.length > 0){\r\n\r\n const PGroupData = ttGroup[0];\r\n\r\n setYear(PGroupData?.Year);\r\n\r\n const val = {...requestForm};\r\n val.year = PGroupData?.Year;\r\n setRequestForm(val);\r\n handelSelectBrand(PGroupData.brandID, PGroupData?.Year);\r\n \r\n }\r\n\r\n }\r\n\r\n }, [PGroupID,PYear,PSerciveID,settings])\r\n\r\n const [firstByLink, setFirstByLink] = useState(true);\r\n useEffect(() => {\r\n if(PGroupID && PYear && PSerciveID && settings && filteredSettings?.groups?.length > 0 && firstByLink ==true ){\r\n setFirstByLink(false);\r\n const ttGroup =settings?.groups?.filter(a => a.productGroupID == PGroupID);\r\n if(ttGroup && ttGroup?.length > 0){\r\n const PGroupData = ttGroup[0];\r\n handleFilteredModels(PGroupData.productGroupID);\r\n\r\n }\r\n\r\n }\r\n\r\n }, [filteredSettings,firstByLink])\r\n\r\n const [firstByLink33, setFirstByLink33] = useState(true);\r\n useEffect(() => {\r\n if(PGroupID && PYear && PSerciveID && settings && filteredSettings?.groups?.length > 0 && ServiceOptions?.length > 0 && firstByLink33 ==true ){\r\n setFirstByLink33(false);\r\n\r\n const val = {...requestForm};\r\n val.SerciveID = PSerciveID;\r\n setRequestForm(val);\r\n\r\n setSerciveID(null);\r\n //console.log(\"setSerciveID>>>>>>>>>>>>>>>>>>>>>>>:\", option.value);\r\n \r\n FetchPrice(modelCode, PSerciveID);\r\n setSerciveID(PSerciveID);\r\n\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: \"sub2\",\r\n main: \"0a5e145a-bf3f-4a8e-aa7b-d8f0a1e0d9b0\",\r\n sub1: \"eb199b7e-55be-4ac8-b465-9a110b415ca8\",\r\n sub2: \"2b995873-d703-47d8-9f58-f1df7f1e3979\",\r\n ServiceID: PSerciveID,\r\n brand: brand,\r\n group: group,\r\n year: year,\r\n modelType: type,\r\n serviceOptions:Service\r\n\r\n });\r\n }\r\n\r\n }, [ServiceOptions])\r\n async function fetchMainService() {\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"site_fetchMainService_Req\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"MainServicePage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n if (datacash && datacash?.length > 0) {\r\n setTimeout(() => {\r\n setMainService(datacash)\r\n }, 1000);\r\n\r\n }\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n const Body = {\r\n \"name\": \"site_fetchMainService\"\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"setMainService:\", response.data);\r\n setTimeout(() => {\r\n setMainService(response.data)\r\n }, 1000);\r\n\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"MainServicePage\").then((cache) => {\r\n cache.put(\"site_fetchMainService_Req\", dataResponse);\r\n\r\n });\r\n }\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(async () => {\r\n\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: i18n.language + \"/api/maintenance/index\",\r\n method: \"get\",\r\n });\r\n setMaintenanceInfo(response.data);\r\n } catch (error) {\r\n //console.log(error);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n fetchMainService();\r\n intialOffers();\r\n\r\n }, [])\r\n\r\n\r\n const [maintenanceOffers, setMaintenanceOffers] = useState([]);\r\n // to intialize the offers\r\n const intialOffers = async () => {\r\n await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Maintenance/MaintenanceOffers\",\r\n method: \"get\",\r\n }).then(response => {\r\n\r\n setMaintenanceOffers(response.data);\r\n\r\n }).catch(error => {\r\n //console.log(error);\r\n });\r\n\r\n };\r\n\r\n\r\n let [modelCode, setModelCode] = useState(\"\");\r\n const [error, setError] = useState({});\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n\r\n\r\n useEffect(() => {\r\n\r\n fetchSettings();\r\n // fetchService();\r\n\r\n }, [])\r\n const fetchSettings = async () => {\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"Settings-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n\r\n const currentSettings = {...settings};\r\n currentSettings.brands = settingResponseCash?.brands;\r\n currentSettings.groups = settingResponseCash?.groups;\r\n currentSettings.models = settingResponseCash?.models;\r\n currentSettings.productModels = settingResponseCash?.productModels;\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n setGroupData(fGroups);\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n\r\n if (item.ModelCode)\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n\r\n })\r\n\r\n // console.log(\"currentvModelCode>>>>>>>:\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n }\r\n\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = {...settings};\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n setGroupData(fGroups);\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode)\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n\r\n })\r\n\r\n ////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n ////console.log(error);\r\n }\r\n\r\n };\r\n \r\n\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [groupData, setGroupData] = useState([]);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option,vYear=year) => {\r\n\r\n setModelCode(vModelCode[option]);\r\n\r\n // FetchPrice(vModelCode[option], SerciveID);\r\n\r\n fetchService(vModelCode[option]);\r\n\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({...filteredSettings, models: [], productModels: []});\r\n setGroup(option);\r\n\r\n var fModels =[];\r\n try{\r\n const currentgroupData =settings?.groups?.filter(a => a.brandID ==brand && a.productGroupID == option && a.Year ==vYear);\r\n const ListTreeGroups =(currentgroupData && currentgroupData?.length > 0 )? currentgroupData[0].ListTreeGroups :option;\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a => \r\n listVArray.includes(a.productGroupID) && a.Model == vYear\r\n );\r\n }catch{\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option && a.Model ==vYear);\r\n }\r\n\r\n // console.log(\"handleFilteredModels fModels:\", fModels);\r\n setFilteredSettings({...filteredSettings, productModels: fModels});\r\n\r\n if (fModels && fModels.length > 0)\r\n setType(fModels[0]?.productTypeID)\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, year) => {\r\n setBrand(null);\r\n setGroup(null);\r\n setType(null);\r\n setSerciveID(null);\r\n setService([]);\r\n setinfoPrice([{Price: 0}]);\r\n setFilteredSettings({...settings, groups: [], models: [], productModels: []});\r\n setGroupData([]);\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year ==year );\r\n \r\n setFilteredSettings({...settings, groups: fGroups});\r\n setGroupData(fGroups);\r\n\r\n };\r\n const [infoPrice, setinfoPrice] = useState([{Price: 0}]);\r\n const [SerciveID, setSerciveID] = useState(null);\r\n\r\n async function FetchPrice(modelC, SID) {\r\n\r\n // console.log(\"FetchPrice>>>>>>>>>:\", modelC)\r\n setinfoPrice([{Price: 0}]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // ////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{Price: 0}]);\r\n\r\n ////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n async function fetchService(mc) {\r\n\r\n var option = \"2b995873-d703-47d8-9f58-f1df7f1e3979\";\r\n setService([]);\r\n setServiceOptions([]);\r\n setinfoPrice([{Price: 0}]);\r\n setSerciveID(null);\r\n setLodingService(true);\r\n\r\n //console.log(\"fetchService?>>>>>>>>>>>>>>>>>>>>>>>>>>\", option);\r\n\r\n const Body = {\r\n \"name\": \"site_FetchServices\",\r\n \"values\": {\r\n \"GUID\": option,\r\n // \"ModelCode\": mc\r\n \"ModelCode\": null\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // ////console.log(response.data.ApiObjectData);\r\n\r\n var vv = response.data?.map(B => {\r\n return {value: B.ServiceID, text: lang === 'ar' ? B.ServiceNameAR : B.ServiceName};\r\n });\r\n setServiceOptions(vv);\r\n setService(response.data);\r\n if (response?.data.length == 1) {\r\n\r\n setSerciveID(response?.data[0].ServiceID);\r\n FetchPrice(modelCode, response?.data[0].ServiceID);\r\n }\r\n\r\n\r\n setLodingService(false);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n\r\n setLodingService(false);\r\n setService([]);\r\n setServiceOptions([]);\r\n setinfoPrice([{Price: 0}]);\r\n setSerciveID(null);\r\n ////console.log(error);\r\n });\r\n\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\n {\r\n return {text: item?.description, value: item?.brandID}\r\n })}\r\n selectedValue={brand}\r\n onSelect={(value) => handelSelectBrand(value, requestForm?.year)}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n // return { text: item?.modelID, value: item?.modelID }\r\n // })}\r\n\r\n options={\r\n settings?.models?.filter(\r\n item => item?.modelID?.startsWith('20')).map(\r\n item => ({\r\n text: item?.modelID,\r\n value: item?.modelID\r\n })\r\n )\r\n }\r\n\r\n selectedValue={year}\r\n onSelect={(value) => {\r\n ////console.log(\"models:\", value)\r\n\r\n setYear(value);\r\n\r\n const val = {...requestForm};\r\n val.year = value;\r\n setRequestForm(val);\r\n handelSelectBrand(brand, value);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n return {text: item?.description, value: item?.productGroupID}\r\n })}\r\n selectedValue={group}\r\n onSelect={handleFilteredModels}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n\r\n const val = {...requestForm};\r\n val.SerciveID = option.value;\r\n setRequestForm(val);\r\n\r\n setSerciveID(null);\r\n //console.log(\"setSerciveID>>>>>>>>>>>>>>>>>>>>>>>:\", option.value);\r\n setSerciveID(option.value);\r\n FetchPrice(modelCode, option.value);\r\n\r\n }}\r\n isepart={true}\r\n isLoading={lodingService}\r\n selectedValue={SerciveID}\r\n defaultOption={SerciveID == null || SerciveID == '0' ? {\r\n value: '0',\r\n text: trans(\"info:servce\")\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 // infoPrice[0].Price ?\r\n
    \r\n {/* السعر */}\r\n {/*
    \r\n
    \r\n

    {trans(\"info:price\")}{\":\"}

    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n infoPrice[0] && \r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n {\r\n
    \r\n \r\n

    {trans(\"info:service_price_head_message\")}

    \r\n
    \r\n } */}\r\n
    \r\n // : null\r\n }\r\n\r\n\r\n {\r\n SerciveID ?\r\n
    \r\n
    {\r\n e.preventDefault();\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: \"sub2\",\r\n main: \"0a5e145a-bf3f-4a8e-aa7b-d8f0a1e0d9b0\",\r\n sub1: \"eb199b7e-55be-4ac8-b465-9a110b415ca8\",\r\n sub2: \"2b995873-d703-47d8-9f58-f1df7f1e3979\",\r\n ServiceID: SerciveID,\r\n brand: brand,\r\n group: group,\r\n year: year,\r\n modelType: type,\r\n serviceOptions:Service\r\n\r\n\r\n });\r\n\r\n }}>\r\n {trans(\"info:reserve\")} {trans(\"info:servce\")}\r\n
    \r\n
    \r\n : null\r\n }\r\n\r\n
    \r\n {\r\n indexPanel != \"2000\" ?\r\n
    \r\n {\r\n Service && Service.find(a => a.ServiceID == SerciveID) && Service.find(a => a.ServiceID == SerciveID)[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"] &&\r\n <>\r\n
      \r\n\r\n {\r\n Service.find(a => a.ServiceID == SerciveID)[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\", \"\\n\")?.split('\\n')?.map((note, index) => {\r\n return (\r\n\r\n note &&\r\n
    • \r\n {note}\r\n
    • \r\n );\r\n })\r\n }\r\n\r\n\r\n
    \r\n\r\n {\"...\"}\r\n\r\n\r\n \r\n\r\n }\r\n\r\n
    \r\n : null\r\n\r\n }\r\n\r\n\r\n
    \r\n
    \r\n\r\n {\r\n Service && Service.find(a => a.ServiceID == SerciveID) && Service.find(a => a.ServiceID == SerciveID)[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"] &&\r\n <>\r\n
      \r\n\r\n {\r\n Service.find(a => a.ServiceID == SerciveID)[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\", \"\\n\")?.split('\\n')?.map((note, index) => {\r\n return (\r\n\r\n note &&\r\n
    • \r\n {note}\r\n
    • \r\n );\r\n })\r\n }\r\n
    \r\n \r\n\r\n }\r\n\r\n
    \r\n
    \r\n\r\n setIndexPanel(indexPanel == \"2000\" ? \"000\" : \"2000\")}\r\n >\r\n\r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n {\r\n maintenanceInfo &&\r\n
    \r\n
    \r\n

    {maintenanceInfo?.title ?? ''}

    \r\n

    \r\n {maintenanceInfo?.desc ?? ''}\r\n

    \r\n
    \r\n
    \r\n {maintenanceInfo && <>\r\n {maintenanceInfo?.image1Path &&
    \r\n {maintenanceInfo.title}/\r\n
    \r\n }\r\n {maintenanceInfo?.image2Path &&
    \r\n {maintenanceInfo.title}/\r\n
    \r\n }\r\n {maintenanceInfo?.image3Path &&
    \r\n {maintenanceInfo.title}/\r\n
    \r\n }\r\n \r\n }\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n \r\n
    \r\n {/* {\r\n\r\n MainService && MainService?.length > 0 &&\r\n
    \r\n {\r\n handleServiceOrder({\r\n showPopup: status,\r\n type: 'order', main: \"\", sub1: \"\", sub2: \"\"\r\n\r\n });\r\n }}\r\n />\r\n
    \r\n } */}\r\n\r\n \r\n {\r\n MainService?.map((item, index) => {\r\n return (\r\n \r\n \r\n {\r\n // //console.log(item.Level);\r\n handleServiceOrder({\r\n showPopup: true,\r\n\r\n type: item.Level,\r\n main: item.MainServiceID,\r\n sub1: item.SubService1ID,\r\n sub2: item.SubService2ID\r\n\r\n });\r\n }}\r\n />\r\n
    \r\n \r\n )\r\n })\r\n }\r\n \r\n
    \r\n \r\n\r\n\r\n
    \r\n\r\n

    \r\n {\r\n trans(\"navbar:man_offer\")\r\n }\r\n

    \r\n \r\n {\r\n maintenanceOffers && maintenanceOffers?.length > 0 &&\r\n maintenanceOffers?.map((offer, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n {/*
    \r\n \r\n {trans(\"common:show-more\")}\r\n \r\n
    */}\r\n
    \r\n \r\n \r\n \r\n );\r\n}\r\nexport default MainServicePage;","import {useEffect} from \"react\";\r\n\r\nconst ServiceFeatureList = ({ title = '', values = [] }) => {\r\n\r\n return (\r\n
    \r\n

    {title}

    \r\n
    \r\n {\r\n values.map((item, index) => {\r\n return (\r\n
    \r\n
    \r\n {item.title}/\r\n
    \r\n

    {item.title}

    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n};\r\nexport default ServiceFeatureList;","import axios from \"axios\";\r\nimport { useContext, useEffect, useState } from \"react\"\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useParams, useRouteMatch } from \"react-router\"\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { Swiper } from 'swiper/react';\r\nimport PageHeading from \"../../../components/__simple/_pageheading\"\r\nimport { WhyHJSection } from \"../../../sections/whyHJSection\";\r\nimport MainSubServiceOffer from \"../components/mainSubServiceOffer\";\r\nimport { MaintenanceServiceBox } from \"../components/maintenance\";\r\nimport ServiceBanner from \"../components/serviceBanner\";\r\nimport ServicesList from \"../components/servicesList\";\r\nimport MaintenanceContext from \"../maintenanceContext\";\r\nimport ServiceFeatureList from \"../components/serviceFeature\";\r\nimport Breadcrumb from \"../../../components/__simple/breadcrumb\";\r\nimport ServiceHeaderBanner from \"../components/serviceHeaderBanner\";\r\nimport config from \"../../../configuration/config.json\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\nconst SubMainServicePage = () => {\r\n const { t: trans, i18n } = useTranslation([\"info\", \"common\"]);\r\n const { handleServiceOrder } = useContext(MaintenanceContext);\r\n const { path } = useRouteMatch()\r\n const languageDir = 'language-' + i18n.language;\r\n let { ID } = useParams();\r\n const [SubService, setSubService] = useState([]);\r\n function fetchSubService(IDMain) {\r\n const Body = {\r\n \"name\": \"site_fetchMntc_SubService1\",\r\n \"values\": {\r\n \"MainID\": IDMain\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSubService(response.data), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n const [MainInfo, setMainInfo] = useState([]);\r\n function fetchMainInfo(IDMain) {\r\n const Body = {\r\n \"name\": \"site_fetchMainService_Info\",\r\n \"values\": {\r\n \"Main\": IDMain\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setMainInfo(response.data), 1000);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n\r\n const [Special, setSpecial] = useState([]);\r\n function fetchFetchMaintenanceSpecial() {\r\n const Body = {\r\n \"name\": \"Site_FetchMaintenanceSpecial\"\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSpecial(response.data), 1000);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n useEffect(() => {\r\n fetchSubService(ID); fetchFetchMaintenanceSpecial();\r\n setTimeout(() => { fetchMainInfo(ID) }, 100);\r\n }, []);\r\n return (\r\n <>\r\n {\r\n\r\n MainInfo.map((p) => {\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 SubService.map(item => {\r\n return
    \r\n {\r\n console.log(item.Level);\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: item.Level, main: item.MainServiceID, sub1: item.SubService1ID, sub2: item.SubService2ID\r\n\r\n });\r\n }}\r\n />\r\n
    \r\n })\r\n }\r\n
    \r\n\r\n {\r\n Special && Special.length > 0 &&\r\n { return { title: lang === \"ar\" ? Sp.titleAr : Sp.titleEn, image: \"data:image/png;base64,\" + Sp.icon } })}\r\n />\r\n\r\n }\r\n\r\n\r\n
    \r\n \r\n \r\n );\r\n}\r\nexport default SubMainServicePage;","import axios from \"axios\";\r\nimport { useContext, useEffect, useState } from \"react\"\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { Swiper } from 'swiper/react';\r\nimport {useParams, useRouteMatch} from \"react-router\"\r\nimport PageHeading from \"../../../components/__simple/_pageheading\"\r\nimport { WhyHJSection } from \"../../../sections/whyHJSection\";\r\nimport { MaintenanceServiceBox } from \"../components/maintenance\";\r\nimport ServiceDescription from \"../components/serviceDescription\";\r\nimport ServicesList from \"../components/servicesList\";\r\nimport MaintenanceContext from \"../maintenanceContext\";\r\nimport ServiceHeaderBanner from \"../components/serviceHeaderBanner\";\r\nimport Breadcrumb from \"../../../components/__simple/breadcrumb\";\r\nimport config from \"../../../configuration/config.json\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\nconst SubServicePage = () => {\r\n const [maintenanceInfo, setMaintenanceInfo] = useState({});\r\n const { t: trans, i18n } = useTranslation([\"info\", \"common\"]);\r\n const { handleServiceOrder } = useContext(MaintenanceContext);\r\n const { path } = useRouteMatch();\r\n const languageDir = 'language-' + i18n.language;\r\n //----------------------------------------------\r\n let { ID } = useParams();\r\n const [SubService, setSubService] = useState([]);\r\n function fetchSubService(SubID){\r\n const Body= {\r\n \"name\":\"site_fetchMntc_SubService2\" ,\r\n \"values\":{\r\n \"SubID\":SubID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSubService(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n const [SubInfo, setSubInfo] = useState([]);\r\n function fetchSubnfo(IDMain){\r\n const Body= {\r\n \"name\":\"site_fetchInfo_SubService1\" ,\r\n \"values\":{\r\n \"Sub1 \":IDMain\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSubInfo(response.data),1000);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n useEffect(async () => {\r\n try {\r\n fetchSubService(ID);\r\n fetchSubnfo(ID);\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: i18n.language + \"/api/maintenance/index\",\r\n method: \"get\",\r\n });\r\n setMaintenanceInfo(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {\r\n\r\n SubInfo.map((p)=>{\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 SubService.map(item => {\r\n return
    \r\n {\r\n handleServiceOrder({\r\n showPopup: true,\r\n type:item.Level,main:item.MainServiceID,sub1:item.SubService1ID,sub2:item.SubService2ID\r\n\r\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 SubServicePage;","import axios from \"axios\";\r\nimport { useContext, useEffect, useState } from \"react\"\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {useParams, useRouteMatch} from \"react-router\"\r\nimport Breadcrumb from \"../../../components/__simple/breadcrumb\";\r\nimport PageHeading from \"../../../components/__simple/_pageheading\"\r\nimport { WhyHJSection } from \"../../../sections/whyHJSection\";\r\nimport { MaintenanceServiceBox } from \"../components/maintenance\";\r\nimport ServiceDescription from \"../components/serviceDescription\";\r\nimport ServiceHeaderBanner from \"../components/serviceHeaderBanner\";\r\nimport ServicesList from \"../components/servicesList\";\r\nimport MaintenanceContext from \"../maintenanceContext\";\r\nimport config from \"../../../configuration/config.json\";\r\nconst ServicePage = () => {\r\n const [maintenanceInfo, setMaintenanceInfo] = useState({});\r\n const { t: trans, i18n } = useTranslation([\"info\", \"common\"]);\r\n const { handleServiceOrder } = useContext(MaintenanceContext);\r\n const { path } = useRouteMatch();\r\n const languageDir = 'language-' + i18n.language;\r\n let { ID } = useParams(); const [SubService, setSubService] = useState([]);\r\n function fetchSubService(IDMain){\r\n const Body= {\r\n \"name\":\"site_FetchServices\" ,\r\n \"values\":{\r\n \"GUID\":IDMain,\r\n \"ModelCode\":null\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSubService(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n\r\n const [SubInfo, setSubInfo] = useState([]);\r\n function fetchSubnfo(IDMain){\r\n const Body= {\r\n \"name\":\"site_fetchInfo_SubService2\" ,\r\n \"values\":{\r\n \"SubID\":IDMain\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setSubInfo(response.data),1000);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n useEffect(async () => {\r\n try {\r\n fetchSubService(ID);\r\n fetchSubnfo(ID);\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: i18n.language + \"/api/maintenance/index\",\r\n method: \"get\",\r\n });\r\n setMaintenanceInfo(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {\r\n SubInfo.map((p)=>{\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 SubService.map(item => {\r\n return
    \r\n {\r\n handleServiceOrder({\r\n type:\"sub2\",\r\n showPopup: true\r\n ,...item\r\n });\r\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 ServicePage;","import { useEffect, useState, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { useParams } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport DatePicker from 'react-datepicker';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport Joi from \"joi\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function ServiceReservation() {\r\n\r\n let { PVIN, PGroupID, PYear, PServiceID } = useParams();\r\n const { t: trans, i18n } = useTranslation([\"info\", \"eparts\", \"common\", \"global\", \"offers\", \"cartFile\"]);\r\n let lang = i18n.language;\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const popRef = useRef(null);\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const history = useHistory();\r\n const [stepNum, setStepNum] = useState(1);\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [VINDetails, setVINDetails] = useState([]);\r\n const [infoPrice, setinfoPrice] = useState([{ Price: 0 }]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [orderReservation, setOrderReservation] = useState(null);\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n ServiceID: ''\r\n });\r\n const [filteredSettings, setFilteredSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n\r\n\r\n const [settings, setSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n FetchOrderReservation();\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (orderReservation) {\r\n setResOrderID(orderReservation?.MaintenanceOrderID);\r\n setShowFinalPopup(true);\r\n\r\n }\r\n fetchSettings();\r\n\r\n\r\n if (PVIN)\r\n GetVINDetails(PVIN);\r\n\r\n\r\n\r\n }, [PVIN, orderReservation])\r\n const [firstByLink22, setFirstByLink22] = useState(true);\r\n useEffect(() => {\r\n\r\n if (VINDetails && VINDetails.length > 0 && PServiceID && settings && settings?.groups?.length > 0 && firstByLink22 == true) {\r\n\r\n setFirstByLink22(false);\r\n PGroupID = VINDetails[0].CarGroup;\r\n PYear = VINDetails[0].Model;\r\n let PBrandID = VINDetails[0].BrandID;\r\n let ttmodelType = VINDetails[0].Type;\r\n var threeDaysFromNow = new Date();\r\n\r\n if (orderReservation) {\r\n\r\n if (orderReservation?.DateIn)\r\n threeDaysFromNow = new Date(orderReservation?.DateIn);\r\n if (orderReservation?.Note)\r\n setNote(orderReservation?.Note);\r\n } else {\r\n\r\n threeDaysFromNow.setDate(threeDaysFromNow.getDate() + 2);\r\n\r\n if (threeDaysFromNow.getDay() == 5) {\r\n threeDaysFromNow.setDate(threeDaysFromNow.getDate() + 1);\r\n }\r\n\r\n\r\n }\r\n if (threeDaysFromNow) {\r\n webAvailableReshours(moment(threeDaysFromNow).format('yyyy-MM-DD'));\r\n }\r\n setRequestForm({\r\n ...requestForm,\r\n name: lang == \"ar\" ? VINDetails[0].CustNameAr : VINDetails[0].CustNameEn,\r\n phone: VINDetails[0].Mobile,\r\n email: VINDetails[0].Email,\r\n myCarID: VINDetails[0].VIN,\r\n date: threeDaysFromNow,\r\n time: orderReservation ? threeDaysFromNow : \"\",\r\n ServiceID: PServiceID\r\n });\r\n\r\n FetchInfoService(PServiceID);\r\n\r\n setTimeout(() => {\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: \"sub2\",\r\n main: \"0a5e145a-bf3f-4a8e-aa7b-d8f0a1e0d9b0\",\r\n sub1: \"eb199b7e-55be-4ac8-b465-9a110b415ca8\",\r\n sub2: \"2b995873-d703-47d8-9f58-f1df7f1e3979\",\r\n ServiceID: PServiceID,\r\n brand: PBrandID,\r\n group: PGroupID,\r\n year: PYear,\r\n modelType: ttmodelType,\r\n name: lang == \"ar\" ? VINDetails[0].CustNameAr : VINDetails[0].CustNameEn,\r\n phone: VINDetails[0].Mobile,\r\n email: VINDetails[0].Email,\r\n myCarID: VINDetails[0].VIN,\r\n\r\n });\r\n }, 2000);\r\n\r\n\r\n }\r\n\r\n }, [PGroupID, PYear, PServiceID, settings, VINDetails, orderReservation])\r\n\r\n\r\n async function GetVINDetails(VIN) {\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"App_GetVINDetails\",\r\n \"values\": {\r\n \"VIN\": VIN\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"App_GetVINDetails:\", response.data);\r\n setVINDetails(response.data);\r\n })\r\n .catch(function (error) {\r\n\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showFinalPopup === true) {\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showFinalPopup]);\r\n\r\n\r\n //--------------------------------------------------\r\n const [maintenanceObj, setMaintenanceObj] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n const [Defult, setDefult] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n\r\n\r\n\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n ServiceID: Joi.string().required().messages(GetMessages()),\r\n name: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n\r\n\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option) => {\r\n\r\n setModelCode(vModelCode[option]);\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({ ...filteredSettings, models: [], productModels: [] });\r\n setGroup(option);\r\n\r\n var fModels = [];\r\n try {\r\n const currentgroupData = settings?.groups?.filter(a => a.brandID == brand && a.productGroupID == option);\r\n\r\n\r\n const ListTreeGroups = (currentgroupData && currentgroupData?.length > 0) ? currentgroupData[0].ListTreeGroups : option;\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a =>\r\n listVArray.includes(a.productGroupID)\r\n );\r\n\r\n\r\n } catch {\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option);\r\n }\r\n\r\n\r\n setFilteredSettings({ ...filteredSettings, productModels: fModels });\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, vYear = year) => {\r\n setBrand(null);\r\n setGroup(null);\r\n setType(null);\r\n\r\n setFilteredSettings({ ...settings, groups: [], models: [], productModels: [] });\r\n\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year == vYear);\r\n\r\n setFilteredSettings({ ...settings, groups: fGroups, models: [], productModels: [] });\r\n\r\n\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && Defult?.first != true\r\n ) {\r\n if (Defult?.year) {\r\n setYear(Defult?.year)\r\n const val = { ...requestForm };\r\n val.year = Defult?.year;\r\n setRequestForm(val);\r\n }\r\n if (Defult?.brand)\r\n handelSelectBrand(Defult?.brand, Defult?.year);\r\n }\r\n\r\n }, [Defult, settings]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && filteredSettings?.groups?.length > 0 && Defult?.first != true) {\r\n\r\n setDefult({ ...Defult, first: true });\r\n if (Defult?.group)\r\n handleFilteredModels(Defult?.group);\r\n\r\n if (Defult?.modelType) {\r\n setType(Defult?.modelType);\r\n }\r\n }\r\n }, [filteredSettings]);\r\n const FetchInfoService = async (PServiceID) => {\r\n\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n setLodingService(true);\r\n const Body = {\r\n \"name\": \"site_FetchInfoService\",\r\n \"values\": {\r\n \"ServiceID\": PServiceID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setService(response?.data[0]);\r\n setServiceID(response?.data[0].ServiceID);\r\n setLodingService(false);\r\n })\r\n .catch(function (error) {\r\n console.log(\"FetchOrderReservation>>>>\", error);\r\n setLodingService(false);\r\n });\r\n };\r\n\r\n const FetchOrderReservation = async () => {\r\n const Body = {\r\n \"name\": \"site_FetchOrderReservationByVIN_ServiceID\",\r\n \"values\": {\r\n \"VIN\": PVIN,\r\n \"ServiceID\": PServiceID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"FetchOrderReservation>>>>\", response.data);\r\n if (response.data && response.data.length > 0)\r\n setOrderReservation(response.data[0]);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(\"FetchOrderReservation>>>>\", error);\r\n });\r\n };\r\n const fetchSettings = async () => {\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"Settings-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n const currentSettings = {};\r\n console.log(\"currentSettings:\", currentSettings);\r\n currentSettings.brands = settingResponseCash?.brands;\r\n currentSettings.groups = settingResponseCash?.groups;\r\n currentSettings.models = settingResponseCash?.models;\r\n currentSettings.productModels = settingResponseCash?.productModels;\r\n if (currentSettings.brands && currentSettings.groups && currentSettings.productModels) {\r\n\r\n setSettings(currentSettings);\r\n\r\n\r\n //---------------------------------------------------------------\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode) {\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n }\r\n })\r\n setVModelCode(currentvModelCode);\r\n }\r\n\r\n }\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n try {\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n\r\n setSettings(currentSettings);\r\n\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n currentvModelCode[item.productGroupID] = item.ModelCode\r\n\r\n })\r\n\r\n //////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n\r\n };\r\n const handleServiceOrder = (data) => {\r\n\r\n try {\r\n data['firstFetchPrice'] = null;\r\n data['first'] = null;\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n const value = { ...maintenanceObj, ...data };\r\n if (data?.main == '') {\r\n\r\n data['main'] = null;\r\n }\r\n if (data?.sub1 == '') {\r\n\r\n data['sub1'] = null;\r\n }\r\n if (data?.sub2 == '') {\r\n\r\n data['sub2'] = null;\r\n\r\n\r\n }\r\n\r\n setDefult(data);\r\n\r\n GetBranch();\r\n\r\n\r\n setTimeout(() => { setMaintenanceObj(value) }, 2000);\r\n\r\n\r\n } catch (e) {\r\n console.error(e)\r\n\r\n }\r\n\r\n };\r\n const [Note, setNote] = useState(\"\");\r\n\r\n const [lodingService, setLodingService] = useState(false);\r\n\r\n const [Branches, setBranches] = useState([]);\r\n let [modelCode, setModelCode] = useState(\"\");\r\n const [ServiceID, setServiceID] = useState(null);\r\n const [Service, setService] = useState(null);\r\n async function FetchPrice(modelC, SID) {\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n if (group && ServiceID && requestForm?.date && requestForm?.time && requestForm?.SiteID && requestForm?.name) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n } else if (group && ServiceID && requestForm?.name) {\r\n\r\n setDataFullNum(1);\r\n return 2;\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n const [error, setError] = useState({});\r\n function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.year = year;\r\n val.ServiceID = ServiceID;\r\n setRequestForm(val);\r\n const result = formValidate(notLoginSchema, val) ?? {};\r\n\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n if (orderReservation == null) {\r\n\r\n setIsSendeng(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": VIN,\r\n \"Model\": type,\r\n \"CarType\": modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"Year\": year,\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"RequiredServicesList\": ServecID,\r\n \"Note\": Note,\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.name,\r\n \"phone\": requestForm?.phone,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n if (response?.data?.OrderID)\r\n setResOrderID(response?.data?.OrderID);\r\n setShowFinalPopup(true);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n })\r\n .catch(error => {\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n\r\n } else {\r\n setIsSendeng(true);\r\n try {\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"object\": \"FleetMaintenanceOrderReservation\",\r\n \"values\": {\r\n \"DateIn\": moment(requestForm?.date).format('YYYY-MM-DD') + \"T\" + moment(requestForm?.time).format('HH:mm:ss')\r\n },\r\n \"filters\": `where GUID = '${orderReservation?.GUID}'`\r\n }\r\n ).then(response => {\r\n window.location.reload();\r\n }).catch(error => {\r\n console.log(error);\r\n setIsSendeng(false);\r\n })\r\n } catch (err) {\r\n console.log('error in deleting the vehicle', err);\r\n setIsSendeng(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n const GetUrlfunc = config.baseURL + 'func';\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (Branches && Branches?.length > 0 && !requestForm?.SiteID) {\r\n\r\n if (Branches?.length == 1) {\r\n let val = {};\r\n val.SiteID = Branches[0]?.SiteID;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n\r\n }\r\n\r\n }, [Branches, requestForm]);\r\n\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, ServiceID, year, type, requestForm.SiteID]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (vModelCode != null && ServiceID && Defult?.firstFetchPrice != true) {\r\n setDefult({ ...Defult, firstFetchPrice: true });\r\n if (Defult?.modelType) {\r\n if (vModelCode[Defult?.modelType] && ServiceID)\r\n FetchPrice(vModelCode[Defult?.modelType], ServiceID);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }, [vModelCode, ServiceID]);\r\n\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n //console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n //console.log(\"ForEach:val\", parseInt(val?.AvailableHour));\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n //console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\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 lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"reservation-head-Logo-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLang')}\r\n \"change\r\n \r\n\r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

    لعمر افتراضي أطول، حافظ على سيارتك

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n\r\n
    \r\n {/*
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

    لعمر افتراضي أطول، حافظ على سيارتك

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n\r\n
    \r\n\r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"info:appointment-booking\") + \" \" + trans(\"global:maintenance\")}

    \r\n\r\n
    \r\n {\r\n (brand == 1) ?\r\n\r\n {brand} e.target.style.display = 'none'} />\r\n :\r\n (\r\n (brand == 2) ?\r\n {brand} e.target.style.display = 'none'} />\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 stepNum == 1 &&\r\n <>\r\n\r\n {\r\n <>\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = {};\r\n val.name = e.target.value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n }\r\n />\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {/* {\r\n return { text: item?.description, value: item?.brandID }\r\n })}\r\n selectedValue={brand}\r\n onSelect={handelSelectBrand}\r\n disabled={true}\r\n\r\n /> */}\r\n\r\n g.brandID == brand)[0]?.description}\r\n length={255}\r\n onChangeValue={\r\n (e) => {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n {/* {\r\n return { text: item?.description, value: item?.productGroupID }\r\n })}\r\n selectedValue={group}\r\n onSelect={handleFilteredModels}\r\n disabled={true}\r\n /> */}\r\n\r\n g.ListTreeGroups?.split(',').includes(group))[0]?.description}\r\n length={255}\r\n onChangeValue={\r\n (e) => {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n {/* {\r\n // return { text: item?.modelID, value: item?.modelID }\r\n // })}\r\n\r\n options={\r\n settings?.models?.filter(\r\n item => item?.modelID?.startsWith('20')).map(\r\n item => ({\r\n text: item?.modelID,\r\n value: item?.modelID\r\n })\r\n )\r\n }\r\n\r\n selectedValue={year}\r\n onSelect={(value) => {\r\n //////console.log(\"models:\", value)\r\n\r\n setYear(value);\r\n\r\n const val = {};\r\n val.year = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n /> */}\r\n\r\n {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n }\r\n \r\n }\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 val = {};\r\n val.ServiceID = e.target.value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n }\r\n />\r\n }\r\n\r\n
    \r\n\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n //////console.log(\"onSelect:\", value);\r\n const val = {};\r\n val.SiteID = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n\r\n\r\n />\r\n\r\n \r\n
    \r\n \"user\r\n
    \r\n
    \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 val = {};\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm({ ...requestForm, ...val });\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n\r\n\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = {};\r\n val.time = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n className=\"w-100\"\r\n\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n dateFormat=\"hh:mm aa\"\r\n customInput={}\r\n\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n {\r\n\r\n <>\r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")} onClick={() => {\r\n\r\n\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN, ServiceID, VINDetails[0]?.CustID, infoPrice[0].Price);\r\n\r\n }}>\r\n {\r\n (orderReservation) ?\r\n trans(\"info:save_changes\")\r\n :\r\n trans(\"info:reserve\")\r\n\r\n }\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n }\r\n\r\n \r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n\r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group).length > 0 &&\r\n
    \r\n \r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group)[0]?.description}\r\n {` (${PVIN}) `}\r\n
    \r\n }\r\n {Service &&\r\n
    \r\n {trans(\"info:servce\")}: \r\n {Service?.ServiceNameAR} \r\n
    \r\n }\r\n\r\n
    \r\n {trans(\"form:maintenance-date\")}: \r\n {orderReservation?.DateIn ?\r\n moment(orderReservation?.DateIn).format('YYYY-MM-DD')\r\n : moment(requestForm?.date).format('YYYY-MM-DD')} \r\n
    \r\n
    \r\n {trans(\"form:maintenance-time\")}: \r\n \r\n {\r\n orderReservation?.DateIn ? moment(orderReservation?.DateIn).format('hh:mm A')\r\n : moment(requestForm?.time).format('hh:mm A')} \r\n
    \r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n\r\n orderReservation && orderReservation?.OrderStatusID && orderReservation?.OrderStatusID == \"Created\" &&\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n var threeDaysFromNow = new Date();\r\n if (orderReservation?.DateIn)\r\n threeDaysFromNow = new Date(orderReservation?.DateIn);\r\n if (orderReservation?.Note)\r\n setNote(orderReservation?.Note);\r\n\r\n setRequestForm({\r\n ...requestForm,\r\n date: threeDaysFromNow,\r\n time: orderReservation ? threeDaysFromNow : \"\"\r\n });\r\n\r\n setShowFinalPopup(false);\r\n\r\n }}>\r\n\r\n\r\n {/* \"\" */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {trans(\"info:edit\") + \" \" + trans(\"info:the_appointment\")}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}","import { useEffect, useState, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { useParams } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport DatePicker from 'react-datepicker';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport Joi from \"joi\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function ServiceReservationByID() {\r\n\r\n let { PVIN, PGroupID, PYear, PServiceID } = useParams();\r\n const { t: trans, i18n } = useTranslation([\"info\", \"eparts\", \"common\", \"global\", \"offers\", \"cartFile\"]);\r\n let lang = i18n.language;\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const popRef = useRef(null);\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const history = useHistory();\r\n const [stepNum, setStepNum] = useState(1);\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [VINDetails, setVINDetails] = useState([]);\r\n const [infoPrice, setinfoPrice] = useState([{ Price: 0 }]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [orderReservation, setOrderReservation] = useState(null);\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n ServiceID: ''\r\n });\r\n const [filteredSettings, setFilteredSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n\r\n\r\n const [settings, setSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n FetchOrderReservation();\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (orderReservation) {\r\n setResOrderID(orderReservation?.MaintenanceOrderID);\r\n setShowFinalPopup(true);\r\n\r\n }\r\n fetchSettings();\r\n\r\n\r\n if (PVIN)\r\n GetVINDetails(PVIN);\r\n\r\n\r\n\r\n }, [PVIN, orderReservation])\r\n const [firstByLink22, setFirstByLink22] = useState(true);\r\n useEffect(() => {\r\n\r\n if (PServiceID && settings && settings?.groups?.length > 0 && firstByLink22 == true) {\r\n\r\n setFirstByLink22(false);\r\n setRequestForm({\r\n ...requestForm,\r\n ServiceID: PServiceID\r\n });\r\n\r\n FetchInfoService(PServiceID);\r\n\r\n setTimeout(() => {\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: \"sub2\",\r\n main: \"0a5e145a-bf3f-4a8e-aa7b-d8f0a1e0d9b0\",\r\n sub1: \"eb199b7e-55be-4ac8-b465-9a110b415ca8\",\r\n sub2: \"2b995873-d703-47d8-9f58-f1df7f1e3979\",\r\n ServiceID: PServiceID,\r\n\r\n });\r\n }, 2000);\r\n\r\n\r\n }\r\n\r\n }, [PGroupID, PYear, PServiceID, settings, VINDetails, orderReservation])\r\n\r\n\r\n async function GetVINDetails(VIN) {\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"App_GetVINDetails\",\r\n \"values\": {\r\n \"VIN\": VIN\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"App_GetVINDetails:\", response.data);\r\n setVINDetails(response.data);\r\n })\r\n .catch(function (error) {\r\n\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showFinalPopup === true) {\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showFinalPopup]);\r\n\r\n\r\n //--------------------------------------------------\r\n const [maintenanceObj, setMaintenanceObj] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n const [Defult, setDefult] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n\r\n\r\n\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n ServiceID: Joi.string().required().messages(GetMessages()),\r\n name: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n\r\n\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option, vYear = year) => {\r\n\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({ ...filteredSettings, models: [], productModels: [] });\r\n setGroup(option);\r\n var fModels = [];\r\n try {\r\n\r\n const currentgroupData = settings?.groups?.filter(a => a.brandID == brand && a.productGroupID == option && a.Year == vYear);\r\n const ListTreeGroups = (currentgroupData && currentgroupData?.length > 0) ? currentgroupData[0].ListTreeGroups : option;\r\n\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a =>\r\n listVArray.includes(a.productGroupID) && a.Model == vYear\r\n );\r\n } catch {\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option && a.Model == vYear);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n setFilteredSettings({ ...filteredSettings, productModels: fModels });\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, vYear = year) => {\r\n setBrand(null);\r\n setType(null);\r\n setGroup(null);\r\n\r\n setFilteredSettings({ ...settings, groups: [], models: [], productModels: [] });\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year == vYear);\r\n\r\n setFilteredSettings({ ...settings, groups: fGroups, models: [], productModels: [] });\r\n\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && Defult?.first != true\r\n ) {\r\n if (Defult?.year) {\r\n setYear(Defult?.year)\r\n const val = { ...requestForm };\r\n val.year = Defult?.year;\r\n setRequestForm(val);\r\n }\r\n if (Defult?.brand)\r\n handelSelectBrand(Defult?.brand, Defult?.year);\r\n }\r\n\r\n }, [Defult, settings]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && filteredSettings?.groups?.length > 0 && Defult?.first != true) {\r\n\r\n setDefult({ ...Defult, first: true });\r\n if (Defult?.group)\r\n handleFilteredModels(Defult?.group);\r\n\r\n if (Defult?.modelType) {\r\n setType(Defult?.modelType);\r\n }\r\n }\r\n }, [filteredSettings]);\r\n const FetchInfoService = async (PServiceID) => {\r\n\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n setLodingService(true);\r\n const Body = {\r\n \"name\": \"site_FetchInfoService\",\r\n \"values\": {\r\n \"ServiceID\": PServiceID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setService(response?.data[0]);\r\n setServiceID(response?.data[0].ServiceID);\r\n setLodingService(false);\r\n })\r\n .catch(function (error) {\r\n console.log(\"FetchOrderReservation>>>>\", error);\r\n setLodingService(false);\r\n });\r\n };\r\n\r\n const FetchOrderReservation = async () => {\r\n const Body = {\r\n \"name\": \"site_FetchOrderReservationByVIN_ServiceID\",\r\n \"values\": {\r\n \"VIN\": PVIN,\r\n \"ServiceID\": PServiceID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"FetchOrderReservation>>>>\", response.data);\r\n if (response.data && response.data.length > 0)\r\n setOrderReservation(response.data[0]);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(\"FetchOrderReservation>>>>\", error);\r\n });\r\n };\r\n const fetchSettings = async () => {\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"Settings-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n const currentSettings = {};\r\n console.log(\"currentSettings:\", currentSettings);\r\n currentSettings.brands = settingResponseCash?.brands;\r\n currentSettings.groups = settingResponseCash?.groups;\r\n currentSettings.models = settingResponseCash?.models;\r\n currentSettings.productModels = settingResponseCash?.productModels;\r\n if (currentSettings.brands && currentSettings.groups && currentSettings.productModels) {\r\n\r\n setSettings(currentSettings);\r\n\r\n\r\n //---------------------------------------------------------------\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode) {\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n }\r\n })\r\n setVModelCode(currentvModelCode);\r\n }\r\n\r\n }\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n try {\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n\r\n setSettings(currentSettings);\r\n\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n currentvModelCode[item.productGroupID] = item.ModelCode\r\n\r\n })\r\n\r\n //////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n\r\n };\r\n const handleServiceOrder = (data) => {\r\n\r\n try {\r\n data['firstFetchPrice'] = null;\r\n data['first'] = null;\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n const value = { ...maintenanceObj, ...data };\r\n if (data?.main == '') {\r\n\r\n data['main'] = null;\r\n }\r\n if (data?.sub1 == '') {\r\n\r\n data['sub1'] = null;\r\n }\r\n if (data?.sub2 == '') {\r\n\r\n data['sub2'] = null;\r\n\r\n\r\n }\r\n\r\n setDefult(data);\r\n\r\n GetBranch();\r\n\r\n\r\n setTimeout(() => { setMaintenanceObj(value) }, 2000);\r\n\r\n\r\n } catch (e) {\r\n console.error(e)\r\n\r\n }\r\n\r\n };\r\n const [Note, setNote] = useState(\"\");\r\n\r\n const [lodingService, setLodingService] = useState(false);\r\n\r\n const [Branches, setBranches] = useState([]);\r\n let [modelCode, setModelCode] = useState(\"\");\r\n const [ServiceID, setServiceID] = useState(null);\r\n const [Service, setService] = useState(null);\r\n async function FetchPrice(modelC, SID) {\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n if (group && type && ServiceID && requestForm?.date && requestForm?.time && requestForm?.SiteID && requestForm?.name) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n } else if (group && ServiceID && requestForm?.name) {\r\n\r\n setDataFullNum(1);\r\n return 2;\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n const [error, setError] = useState({});\r\n function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.year = year;\r\n val.ServiceID = ServiceID;\r\n setRequestForm(val);\r\n const result = formValidate(notLoginSchema, val) ?? {};\r\n\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n if (orderReservation == null) {\r\n\r\n setIsSendeng(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": VIN,\r\n \"Model\": type,\r\n \"CarType\": modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"Year\": year,\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"RequiredServicesList\": ServecID,\r\n \"Note\": Note,\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.name,\r\n \"phone\": requestForm?.phone,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n if (response?.data?.OrderID)\r\n setResOrderID(response?.data?.OrderID);\r\n setShowFinalPopup(true);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n })\r\n .catch(error => {\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n\r\n } else {\r\n setIsSendeng(true);\r\n try {\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"object\": \"FleetMaintenanceOrderReservation\",\r\n \"values\": {\r\n \"DateIn\": moment(requestForm?.date).format('YYYY-MM-DD') + \"T\" + moment(requestForm?.time).format('HH:mm:ss')\r\n },\r\n \"filters\": `where GUID = '${orderReservation?.GUID}'`\r\n }\r\n ).then(response => {\r\n window.location.reload();\r\n }).catch(error => {\r\n console.log(error);\r\n setIsSendeng(false);\r\n })\r\n } catch (err) {\r\n console.log('error in deleting the vehicle', err);\r\n setIsSendeng(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n const GetUrlfunc = config.baseURL + 'func';\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n if (Branches && Branches?.length > 0 && !requestForm?.SiteID) {\r\n\r\n if (Branches?.length == 1) {\r\n let val = {};\r\n val.SiteID = Branches[0]?.SiteID;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n\r\n }\r\n\r\n }, [Branches, requestForm]);\r\n\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, ServiceID, year, group, requestForm.SiteID,type]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (vModelCode != null && ServiceID && Defult?.firstFetchPrice != true) {\r\n setDefult({ ...Defult, firstFetchPrice: true });\r\n if (Defult?.modelType) {\r\n if (vModelCode[Defult?.modelType] && ServiceID)\r\n FetchPrice(vModelCode[Defult?.modelType], ServiceID);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }, [vModelCode, ServiceID]);\r\n\r\n\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n //console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n //console.log(\"ForEach:val\", parseInt(val?.AvailableHour));\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n //console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\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 lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"reservation-head-Logo-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLang')}\r\n \"change\r\n \r\n\r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

    لعمر افتراضي أطول، حافظ على سيارتك

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n\r\n
    \r\n {/*
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

    لعمر افتراضي أطول، حافظ على سيارتك

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n\r\n
    \r\n\r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"info:appointment-booking\") + \" \" + trans(\"global:maintenance\")}

    \r\n\r\n
    \r\n {\r\n (brand == 1) ?\r\n\r\n {brand} e.target.style.display = 'none'} />\r\n :\r\n (\r\n (brand == 2) ?\r\n {brand} e.target.style.display = 'none'} />\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 stepNum == 1 &&\r\n <>\r\n\r\n {\r\n <>\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = {};\r\n val.name = e.target.value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.phone = phoneNumber ? `+${countryCode}${phoneNumber}` : null;\r\n val.codephone = `+${countryCode}`;\r\n setRequestForm(val);\r\n }}\r\n\r\n defaultValue={requestForm?.phone?.replace(`${requestForm?.codephone}`, '')}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n return { text: item?.description, value: item?.brandID }\r\n })}\r\n selectedValue={brand}\r\n onSelect={handelSelectBrand}\r\n\r\n />\r\n\r\n
    \r\n\r\n\r\n
    \r\n {\r\n // return { text: item?.modelID, value: item?.modelID }\r\n // })}\r\n\r\n options={\r\n settings?.models?.filter(\r\n item => item?.modelID?.startsWith('20')).map(\r\n item => ({\r\n text: item?.modelID,\r\n value: item?.modelID\r\n })\r\n )\r\n }\r\n\r\n selectedValue={year}\r\n onSelect={(value) => {\r\n //////console.log(\"models:\", value)\r\n\r\n setYear(value);\r\n\r\n const val = {};\r\n val.year = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n handelSelectBrand(brand, value);\r\n }}\r\n />\r\n\r\n
    \r\n\r\n
    \r\n {\r\n return { text: item?.description, value: item?.productGroupID }\r\n })}\r\n selectedValue={group}\r\n onSelect={handleFilteredModels}\r\n\r\n />\r\n\r\n
    \r\n\r\n\r\n
    \r\n {\r\n return { text: item?.description, value: item?.productTypeID }\r\n })}\r\n selectedValue={type}\r\n onSelect={(value) => {\r\n setType(value);\r\n setModelCode(vModelCode[value]);\r\n\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n }\r\n \r\n }\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 val = {};\r\n val.ServiceID = e.target.value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n }\r\n />\r\n }\r\n\r\n
    \r\n\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n //////console.log(\"onSelect:\", value);\r\n const val = {};\r\n val.SiteID = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n\r\n\r\n />\r\n\r\n \r\n
    \r\n \"user\r\n
    \r\n
    \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 val = {};\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm({ ...requestForm, ...val });\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n\r\n\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = {};\r\n val.time = value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }}\r\n className=\"w-100\"\r\n\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n dateFormat=\"hh:mm aa\"\r\n customInput={}\r\n\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n {\r\n\r\n <>\r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")} onClick={() => {\r\n\r\n\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN, ServiceID, VINDetails[0]?.CustID, infoPrice[0].Price);\r\n\r\n }}>\r\n {\r\n (orderReservation) ?\r\n trans(\"info:save_changes\")\r\n :\r\n trans(\"info:reserve\")\r\n\r\n }\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n }\r\n\r\n \r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n\r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group).length > 0 &&\r\n
    \r\n \r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group)[0]?.description}\r\n {` (${year}) `}\r\n
    \r\n }\r\n {Service &&\r\n
    \r\n {trans(\"info:servce\")}: \r\n {Service?.ServiceNameAR} \r\n
    \r\n }\r\n\r\n
    \r\n {trans(\"form:maintenance-date\")}: \r\n {orderReservation?.DateIn ?\r\n moment(orderReservation?.DateIn).format('YYYY-MM-DD')\r\n : moment(requestForm?.date).format('YYYY-MM-DD')} \r\n
    \r\n
    \r\n {trans(\"form:maintenance-time\")}: \r\n \r\n {\r\n orderReservation?.DateIn ? moment(orderReservation?.DateIn).format('hh:mm A')\r\n : moment(requestForm?.time).format('hh:mm A')} \r\n
    \r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n\r\n orderReservation && orderReservation?.OrderStatusID && orderReservation?.OrderStatusID == \"Created\" &&\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n var threeDaysFromNow = new Date();\r\n if (orderReservation?.DateIn)\r\n threeDaysFromNow = new Date(orderReservation?.DateIn);\r\n if (orderReservation?.Note)\r\n setNote(orderReservation?.Note);\r\n\r\n setRequestForm({\r\n ...requestForm,\r\n date: threeDaysFromNow,\r\n time: orderReservation ? threeDaysFromNow : \"\"\r\n });\r\n\r\n setShowFinalPopup(false);\r\n\r\n }}>\r\n\r\n\r\n {/* \"\" */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {trans(\"info:edit\") + \" \" + trans(\"info:the_appointment\")}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}","import { useState } from \"react\";\r\n\r\nexport const EvaluationType = ({ title = \"\", error = null, countOptions = 6, click, mandatory = false, defultActive =null}) => {\r\n const [activeItem, setActiveItem] = useState(null);\r\n\r\n const handelClik = (_nomC) => {\r\n click(_nomC);\r\n };\r\n\r\n\r\n return (\r\n
    \r\n

    \r\n {title}\r\n {mandatory && {\"*\"}}\r\n {error && {error}}\r\n

    \r\n
    \r\n {/*
    \r\n {[...Array(11)].map((num, index) => {\r\n return (\r\n \r\n {getActualIcon(index)}\r\n
    \r\n );\r\n })}\r\n
    */}\r\n\r\n
    \r\n {[...Array(countOptions)].map((num, index) => {\r\n return (\r\n\r\n \r\n {\r\n handelClik((index / 10));\r\n setActiveItem((index / 10));\r\n }}\r\n >\r\n {(index / 10)}\r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n );\r\n};\r\n","import { useEffect, useState, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { useParams } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport Joi from \"joi\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport { EvaluationType } from \"./components/EvaluationType\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport CustomItemServices from \"../../components/CustomItemServices\";\r\nimport { CheckInput } from \"../../components/_input/_checkInput\";\r\nimport { filter } from \"lodash\";\r\nexport function ProtectionAndShading() {\r\n\r\n let { PVIN, PUser, PGroupID, PYear, PServiceID } = useParams();\r\n const { t: trans, i18n } = useTranslation([\"info\", \"employment\", \"eparts\", \"common\", \"global\", \"offers\", \"cartFile\"]);\r\n let lang = i18n.language;\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n const [paramGUID, setParamGUID] = useState(query.get(\"Id\") ?? null);\r\n const [pSalesorderid, setSalesorderid] = useState(query.get(\"Salesorderid\") ?? null);\r\n const [sadadInfo, setSadadInfo] = useState(null);\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const [showFinalPopupMessage, setShowFinalPopupMessage] = useState(\"\");\r\n const popRef = useRef(null);\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const history = useHistory();\r\n const [stepNum, setStepNum] = useState(1);\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [VINDetails, setVINDetails] = useState(null);\r\n const [infoPrice, setinfoPrice] = useState([{ Price: 0 }]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [orderReservation, setOrderReservation] = useState(null);\r\n const [allselectServices, setAllSelectServices] = useState([]);\r\n const [selectService, setSelectService] = useState({});\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeMenu, setActiceMenu] = useState(\"Saving Packages\");\r\n const [selsub0, setselsub0] = useState({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n const [paymentType, setPaymentType] = useState(null);\r\n const [isToggleSwitch, setIsToggleSwitch] = useState(true);\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [evaluations, setEvaluations] = useState({\r\n evaluation_false_0: 0,\r\n evaluation_false_1: 0.2,\r\n evaluation_false_2: 0.2,\r\n evaluation_false_3: 0.2,\r\n evaluation_true_0: 0.2,\r\n });\r\n const evaluationOptions = [{\r\n titel: \"زجاج أمامي\",\r\n titelEn: \"Windshield\",\r\n mandatory: false,\r\n defultValue: 0\r\n },\r\n {\r\n titel: \"زجاج خلفي\",\r\n titelEn: \"Rear glass\",\r\n mandatory: true,\r\n defultValue: 0.2\r\n },\r\n {\r\n titel: \"زجاج جانبي أمامي \",\r\n titelEn: \"Front side glass\",\r\n mandatory: true,\r\n defultValue: 0.2\r\n },\r\n {\r\n titel: \"زجاج جانبي خلفي\",\r\n titelEn: \"Rear side glass\",\r\n mandatory: true,\r\n defultValue: 0.2\r\n },];\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n ServiceID: ''\r\n });\r\n const [filteredSettings, setFilteredSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n\r\n\r\n const [settings, setSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n\r\n useEffect(() => {\r\n const paymentStatus = new URL(window.location.href).searchParams.get(\"paymentStatus\");\r\n const orderId = new URL(window.location.href).searchParams.get(\"orderId\");\r\n\r\n const paymentMethodCallback = new URL(window.location.href).searchParams.get(\"PaymentMethod\");\r\n const paymentTypeCallback = new URL(window.location.href).searchParams.get(\"PaymentType\");\r\n if (paymentMethodCallback != null && paymentTypeCallback != null) {\r\n if (paymentMethodCallback == 'paytabs') {\r\n StatusPaymentPayTabsSalesOrdersService();\r\n } else if (paymentMethodCallback == 'tamara') {\r\n if (paymentStatus == 'approved') {\r\n StatusPaymentTamaraSalesOrdersService(orderId);\r\n setTimeout(() => {\r\n\r\n StatusPaymentTamaraSalesOrdersService(orderId);\r\n\r\n }, 2000);\r\n\r\n setShowFinalPopup(true);\r\n }\r\n\r\n } else if (paymentMethodCallback == 'sadad') {\r\n StatusPaymentSadadSalesOrdersService();\r\n //site_fetchSadadCode_salesOrdersService\r\n } else {\r\n setIsSendeng(false);\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (orderReservation) {\r\n setResOrderID(orderReservation?.MaintenanceOrderID);\r\n setShowFinalPopup(true);\r\n\r\n }\r\n fetchSettings();\r\n\r\n\r\n if (PVIN)\r\n GetVINDetails(PVIN);\r\n\r\n\r\n\r\n }, [PVIN, orderReservation])\r\n const [firstByLink22, setFirstByLink22] = useState(true);\r\n useEffect(() => {\r\n\r\n if (VINDetails && VINDetails.length > 0 && settings && settings?.groups?.length > 0 && firstByLink22 == true) {\r\n\r\n setFirstByLink22(false);\r\n PGroupID = VINDetails[0].CarGroup;\r\n PYear = VINDetails[0].Model;\r\n let PBrandID = VINDetails[0].BrandID;\r\n let ttmodelType = VINDetails[0].Type;\r\n\r\n\r\n setRequestForm({\r\n ...requestForm,\r\n name: lang == \"ar\" ? VINDetails[0].CustNameAr : VINDetails[0].CustNameEn,\r\n phone: VINDetails[0].Mobile,\r\n email: VINDetails[0].Email,\r\n myCarID: VINDetails[0].VIN\r\n });\r\n\r\n setTimeout(() => {\r\n handleServiceOrder({\r\n showPopup: true,\r\n type: \"sub2\",\r\n main: \"B56D30C7-3AA6-4698-A640-6F392138CB24\",\r\n sub1: \"635F9201-A9F5-404D-9A9A-FD537F32B5A0\",\r\n sub2: \"A82C0550-2A18-44EA-B466-7343BFC45340\",\r\n ServiceID: PServiceID,\r\n brand: PBrandID,\r\n group: PGroupID,\r\n year: PYear,\r\n modelType: ttmodelType,\r\n name: lang == \"ar\" ? VINDetails[0].CustNameAr : VINDetails[0].CustNameEn,\r\n phone: VINDetails[0].Mobile,\r\n email: VINDetails[0].Email,\r\n myCarID: VINDetails[0].VIN,\r\n\r\n });\r\n }, 2000);\r\n\r\n\r\n }\r\n\r\n }, [PGroupID, PYear, settings, VINDetails, orderReservation])\r\n\r\n\r\n async function GetVINDetails(VIN) {\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"App_GetVINDetailsByUserId\",\r\n \"values\": {\r\n \"VIN\": VIN,\r\n \"UserId\": PUser\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"App_GetVINDetails:\", response.data);\r\n setVINDetails(response.data);\r\n })\r\n .catch(function (error) {\r\n\r\n console.log(error);\r\n setVINDetails([]);\r\n setShowFinalPopupMessage(trans(\"employment:The_page_link_is_incorrect\"));\r\n setShowFinalPopup(true);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showFinalPopup === true) {\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showFinalPopup]);\r\n\r\n\r\n //--------------------------------------------------\r\n const [maintenanceObj, setMaintenanceObj] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n const [Defult, setDefult] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n\r\n\r\n\r\n const notLoginSchema = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n\r\n\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option) => {\r\n\r\n setModelCode(vModelCode[option]);\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({ ...filteredSettings, models: [], productModels: [] });\r\n setGroup(option);\r\n\r\n var fModels = [];\r\n try {\r\n const currentgroupData = settings?.groups?.filter(a => a.brandID == brand && a.productGroupID == option);\r\n\r\n\r\n const ListTreeGroups = (currentgroupData && currentgroupData?.length > 0) ? currentgroupData[0].ListTreeGroups : option;\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a =>\r\n listVArray.includes(a.productGroupID)\r\n );\r\n\r\n\r\n } catch {\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option);\r\n }\r\n\r\n\r\n setFilteredSettings({ ...filteredSettings, productModels: fModels });\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, vYear = year) => {\r\n setBrand(null);\r\n setGroup(null);\r\n setType(null);\r\n\r\n setFilteredSettings({ ...settings, groups: [], models: [], productModels: [] });\r\n\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year == vYear);\r\n\r\n setFilteredSettings({ ...settings, groups: fGroups, models: [], productModels: [] });\r\n\r\n\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && Defult?.first != true\r\n ) {\r\n if (Defult?.year) {\r\n setYear(Defult?.year)\r\n const val = { ...requestForm };\r\n val.year = Defult?.year;\r\n setRequestForm(val);\r\n }\r\n if (Defult?.brand)\r\n handelSelectBrand(Defult?.brand, Defult?.year);\r\n }\r\n\r\n }, [Defult, settings]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (settings?.brands && settings?.brands.length > 0 && filteredSettings?.groups?.length > 0 && Defult?.first != true) {\r\n\r\n setDefult({ ...Defult, first: true });\r\n if (Defult?.group)\r\n handleFilteredModels(Defult?.group);\r\n\r\n if (Defult?.modelType) {\r\n setType(Defult?.modelType);\r\n }\r\n }\r\n }, [filteredSettings]);\r\n\r\n\r\n\r\n const fetchSettings = async () => {\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"Settings-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponseCash?.brands;\r\n currentSettings.groups = settingResponseCash?.groups;\r\n currentSettings.models = settingResponseCash?.models;\r\n currentSettings.productModels = settingResponseCash?.productModels;\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n\r\n //---------------------------------------------------------------\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode) {\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n }\r\n })\r\n setVModelCode(currentvModelCode);\r\n }\r\n\r\n\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n currentvModelCode[item.productGroupID] = item.ModelCode\r\n\r\n })\r\n\r\n //////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n\r\n };\r\n const handleServiceOrder = (data) => {\r\n\r\n try {\r\n data['firstFetchPrice'] = null;\r\n data['first'] = null;\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n const value = { ...maintenanceObj, ...data };\r\n if (data?.main == '') {\r\n\r\n data['main'] = null;\r\n }\r\n if (data?.sub1 == '') {\r\n\r\n data['sub1'] = null;\r\n }\r\n if (data?.sub2 == '') {\r\n\r\n data['sub2'] = null;\r\n\r\n }\r\n\r\n setDefult(data);\r\n\r\n var sub2 = { value: data.sub2, ServiceID: data?.ServiceID }\r\n fetchService(sub2);\r\n\r\n\r\n\r\n setTimeout(() => {\r\n\r\n setMaintenanceObj(value)\r\n\r\n }, 2000);\r\n\r\n\r\n } catch (e) {\r\n console.error(e)\r\n\r\n }\r\n\r\n };\r\n const [Note, setNote] = useState(\"\");\r\n\r\n const [lodingService, setLodingService] = useState(false);\r\n\r\n const [Branches, setBranches] = useState([]);\r\n let [modelCode, setModelCode] = useState(\"\");\r\n const [ServiceID, setServiceID] = useState(null);\r\n const [allServiceID, setAllServiceID] = useState([]);\r\n const [Service, setService] = useState(null);\r\n async function fetchService(option) {\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n setLodingService(true);\r\n\r\n\r\n const Body = {\r\n \"name\": \"site_FetchProtectionServiceByVehicleType_forNewCar\",\r\n \"values\": {\r\n \"VehicleType\": \"TOYOTA SMALL VEHICLES\"\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n selectService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.includes(\"Tinting\")\r\n // var filterservice = response?.data?.filter(s => !s.ServiceDetails?.includes(\"تلميع\") && !s.ServiceDetails?.includes(\"الصغيرة\") && !s.ServiceDetails?.includes(\"الصغيره\"))\r\n var filterservice = response?.data;\r\n setTimeout(setService(filterservice), 1000);\r\n\r\n if (option?.ServiceID) {\r\n setServiceID(option?.ServiceID)\r\n const val = { ...requestForm };\r\n val.ServiceID = option?.ServiceID;\r\n setRequestForm(val);\r\n filterservice.map((B) => {\r\n if (B.ServiceID === option?.ServiceID) {\r\n const v = selsub0;\r\n v.desAr = B.ServiceNameAR;\r\n v.desEn = B.ServiceName;\r\n v.ID = B.ServiceID;\r\n setselsub0(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n }\r\n\r\n\r\n setLodingService(false);\r\n\r\n })\r\n .catch(function (error) {\r\n\r\n setLodingService(false);\r\n //////console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n async function FetchPrice(modelC, SID) {\r\n\r\n setinfoPrice([{ Price: 0 }]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n if (group && paymentType && allServiceID && allServiceID.length > 0 && requestForm?.name) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n } else if (group && paymentType && allServiceID && allServiceID.length > 0 && requestForm?.name) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n const [error, setError] = useState({});\r\n async function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.year = year;\r\n val.ServiceID = ServiceID;\r\n setRequestForm(val);\r\n var mainNote = Note;\r\n const result = formValidate(notLoginSchema, val) ?? {};\r\n\r\n const hasTintingService = allselectServices.find(s => allServiceID.includes(s.ServiceID) && (s?.text?.includes(\"تظليل\") || s?.text?.includes(\"Tinting\") || s[\"ServiceDetailsEn\"]?.includes(\"tinting\")\r\n || s[\"ServiceDetails\"]?.includes(\"تظليل\")));\r\n\r\n\r\n var noteTinting = \"\";\r\n if (hasTintingService) {\r\n\r\n if (isToggleSwitch == false) {\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n noteTinting += \"\\\\nزجاج امامي:\" + \"0\";\r\n\r\n } else {\r\n noteTinting += \"\\\\nزجاج امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3];\r\n }\r\n\r\n\r\n\r\n } else {\r\n\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\n كامل زجاج السياره:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>result\", result)\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n let listofServices;\r\n\r\n allServiceID.map((item) => {\r\n\r\n if (listofServices)\r\n listofServices += \",\" + item;\r\n else\r\n listofServices = item;\r\n });\r\n setIsSendeng(false);\r\n\r\n mainNote += noteTinting;\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"paytype\": paymentType,\r\n \"userId\": PUser,\r\n \"VIN\": VIN,\r\n \"note\": mainNote,\r\n \"servicelist\": listofServices,\r\n \"referenceOrderId\": pSalesorderid,\r\n \"callback\": window.location.origin + \"/\" + lang + `/maintenance/ProtectionAndShading/${VIN}${PUser ? '/' + PUser : ''}`\r\n };\r\n\r\n console.log(\"raw>>>>>>>>>>>>>>>>:\", raw);\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/applyPaymentSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n })\r\n\r\n .then(async response => {\r\n console.log('Payment respons data:\\n', response.data);\r\n\r\n\r\n if (response.data.URL_Paytabs) {\r\n window.location.href = response.data.URL_Paytabs;\r\n\r\n } else if (response.data.url_payment) {\r\n window.location.href = response.data.url_payment;\r\n //site_fetchSadadCode_salesOrdersService\r\n } else {\r\n setIsSendeng(false);\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n\r\n\r\n\r\n setIsSendeng(false);\r\n })\r\n .catch(function (error) {\r\n setIsSendeng(false);\r\n });\r\n\r\n } catch (error) {\r\n setIsSendeng(false);\r\n console.log(\"error:\", error);\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n const GetUrlfunc = config.baseURL + 'func';\r\n\r\n\r\n async function StatusPaymentTamaraSalesOrdersService(orderId) {\r\n console.log('StatusPaymentTamaraSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID && orderId) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID,\r\n \"orderId\": orderId ?? \"\"\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentTamaraSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('StatusPaymentTamaraSalesOrdersService respons:', response);\r\n if (response.data) {\r\n\r\n var data = response.data;\r\n console.log('PaymentPaytabsStatusFully data:', data);\r\n if (data.Status == \"success\") {\r\n setShowFinalPopup(true);\r\n if (data.OrderId)\r\n setResOrderID(data.OrderId);\r\n }\r\n }\r\n\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error StatusPaymentTamaraSalesOrdersService:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n async function StatusPaymentPayTabsSalesOrdersService() {\r\n console.log('StatusPaymentPayTabsSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentPayTabsSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('PaymentPaytabsStatusFully respons:', response);\r\n if (response.data && response.data.length > 0) {\r\n\r\n var data = response.data[0];\r\n console.log('PaymentPaytabsStatusFully data:', data);\r\n if (data.Status == \"success\") {\r\n setShowFinalPopup(true);\r\n if (data.OrderId)\r\n setResOrderID(data.OrderId);\r\n }\r\n }\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error PaymentPaytabsStatusFully:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n async function StatusPaymentSadadSalesOrdersService() {\r\n console.log('StatusPaymentSadadSalesOrdersService >>>>>>>', paramGUID);\r\n\r\n if (paramGUID) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentSadadSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('StatusPaymentSadadSalesOrdersService respons:', response);\r\n\r\n var invoiceID = response.data.sadadNumber.replaceAll('\"', \"\");\r\n\r\n try {\r\n if (invoiceID && parseInt(invoiceID)) {\r\n var datasadad = response.data;\r\n datasadad.sadadNumber = invoiceID;\r\n setSadadInfo(datasadad);\r\n } else {\r\n setSadadInfo(response?.data);\r\n }\r\n } catch (error) {\r\n setSadadInfo(response.data);\r\n }\r\n //! اهمم مرحلة في الفحص\r\n if (invoiceID != null && invoiceID != undefined) {\r\n setShowFinalPopup(true);\r\n }\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error StatusPaymentSadadSalesOrdersService:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n\r\n if (Branches && Branches?.length > 0 && !requestForm?.SiteID) {\r\n\r\n if (Branches?.length == 1) {\r\n let val = {};\r\n val.SiteID = Branches[0]?.SiteID;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n\r\n }\r\n\r\n }, [Branches, requestForm]);\r\n\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, ServiceID, allServiceID, year, type, paymentType]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (vModelCode != null && ServiceID && Defult?.firstFetchPrice != true) {\r\n setDefult({ ...Defult, firstFetchPrice: true });\r\n if (Defult?.modelType) {\r\n if (vModelCode[Defult?.modelType] && ServiceID)\r\n FetchPrice(vModelCode[Defult?.modelType], ServiceID);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }, [vModelCode, ServiceID]);\r\n\r\n\r\n\r\n return (\r\n <>\r\n {\r\n (VINDetails && brand) ?\r\n\r\n
    \r\n\r\n {/*
    \r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"protection-and-shading-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    */}\r\n
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n (brand == 1) ?\r\n <>\r\n {brand}\r\n \r\n :\r\n (\r\n (brand == 2) ?\r\n <>\r\n {brand}\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 if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"protection-and-shading-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    \r\n\r\n\r\n
    \r\n {/*
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

    لعمر افتراضي أطول، حافظ على سيارتك

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n\r\n
    */}\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"info:Pamper_your_car_and_dont_skimp_on_it\")}

    \r\n

    {trans(\"info:Congratulations_on_your_new_car\") +\r\n (requestForm?.name?.split(' ')[0] ? (lang == \"ar\" ? \" يا\" : \",\") + requestForm.name.split(' ')[0] : \" \")}

    \r\n

    {trans(\"info:These_are_some_additional_services_to_protect_the_car\")}

    \r\n {/*
    \r\n {\r\n (brand == 1) ?\r\n\r\n {brand} e.target.style.display = 'none'} />\r\n :\r\n (\r\n (brand == 2) ?\r\n {brand} e.target.style.display = 'none'} />\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 stepNum == 1 &&\r\n <>\r\n\r\n {\r\n <>\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = {};\r\n val.name = e.target.value;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n }\r\n />\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n g.brandID == brand)[0]?.description}\r\n length={255}\r\n onChangeValue={\r\n (e) => {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n\r\n g.productGroupID == group)[0]?.description}\r\n length={255}\r\n onChangeValue={\r\n (e) => {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n\r\n }\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n }\r\n \r\n }\r\n\r\n {\r\n
    \r\n\r\n\r\n {\r\n // Service &&\r\n // {\r\n // return { value: B.ServiceID, text: lang === 'ar' ? B.ServiceNameAR : B.ServiceName, ...B };\r\n // })]}\r\n // errorLabel={error?.ServiceID}\r\n // onfilter={(option) => {\r\n\r\n // const val = { ...requestForm };\r\n // val.ServiceID = option.value;\r\n // setRequestForm(val);\r\n\r\n // setServiceID(null);\r\n // setServiceID(option.value);\r\n // setSelectService(option);\r\n // FetchPrice(modelCode, option.value);\r\n\r\n // }}\r\n // isepart={true}\r\n // isLoading={lodingService}\r\n // selectedValue={ServiceID ? ServiceID : requestForm?.ServiceID}\r\n // defaultOption={{ value: selsub0.ID, text: trans(\"info:servce\") }}\r\n\r\n // />\r\n\r\n // {\r\n // const val = {};\r\n // val.ServiceID = e.target.value;\r\n // setRequestForm({ ...requestForm, ...val });\r\n // }\r\n // }\r\n // />\r\n }\r\n\r\n\r\n
    \r\n\r\n }\r\n
    */}\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n {\r\n Service &&\r\n
    \r\n
    \r\n {/* menu tabs */}\r\n
    \r\n \r\n\r\n {[{ name: \"الباقات التوفيرية\", id: \"Saving Packages\" }, { name: \"الحماية والتظليل\", id: \"Protection And Shading\" }, { name: \"خدمات خاصة\", id: \"Special Services\" }]?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n setActiceService(null);\r\n setActiceMenu(_val.id);\r\n setIndexPanel(null);\r\n }}>\r\n\r\n
    \r\n

    {lang == \"ar\" ? _val.name : _val.id}

    \r\n
    \r\n\r\n {/*
    \r\n {\r\n const isChecked = target.checked;\r\n\r\n if (isChecked) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, _val]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, _val.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== _val)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !_val.ServiceID.includes(id))\r\n );\r\n }\r\n\r\n }}\r\n Name={\"23-44\"}\r\n >\r\n \r\n
    \r\n */}\r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n {/* body */}\r\n
    \r\n {\r\n Service?.filter(s => s.MainWebGroup == acticeMenu).map((_Srtvice, _index) => {\r\n return (\r\n
    \r\n
    \r\n
    {\r\n setIndexPanel(null);\r\n setActiceService(null);\r\n if (indexPanel != _Srtvice.ServiceID) {\r\n setIndexPanel(_Srtvice.ServiceID);\r\n setActiceService(_Srtvice);\r\n }\r\n\r\n\r\n }}\r\n\r\n\r\n >\r\n
    \r\n

    \r\n {lang == \"ar\" ? _Srtvice.ServiceNameAR : _Srtvice.ServiceName}

    \r\n\r\n
    \r\n\r\n {\r\n _Srtvice?.PriceExcludeTax && \r\n }\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n\r\n
      \r\n {\r\n _Srtvice[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\\\\n\", \"\\\\n\")?.split('\\n')?.map((note, index) => {\r\n\r\n return (\r\n\r\n note ?\r\n
    • \r\n {/* {note} */}\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 acticeService && (acticeService?.text?.includes(\"تظليل\") || acticeService?.text?.includes(\"Tinting\") || acticeService[\"ServiceDetailsEn\"]?.includes(\"tinting\")\r\n || acticeService[\"ServiceDetails\"]?.includes(\"تظليل\")) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans('info:Degree_of_shading')}\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n {\r\n console.log(\"setIsToggleSwitch:\", isToggleSwitch)\r\n setIsToggleSwitch(isToggleSwitch ? false : true)\r\n\r\n }}\r\n />\r\n \r\n
    \r\n

    {trans('info:multiple_degrees')}

    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n\r\n (isToggleSwitch) ?\r\n\r\n\r\n [trans('info:full_car_glass')].map((item, index) => (\r\n\r\n {\r\n\r\n var evalua = { ...evaluations };\r\n evalua[acticeService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + index] = val;\r\n // avg = avg + val;\r\n setEvaluations(evalua);\r\n\r\n }}\r\n />\r\n ))\r\n\r\n\r\n :\r\n\r\n\r\n acticeService ?\r\n evaluationOptions?.map((item, index) => (\r\n\r\n {\r\n\r\n var evalua = { ...evaluations };\r\n evalua[acticeService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + index] = val;\r\n // avg = avg + val;\r\n console.log(\"evalua\", evalua);\r\n setEvaluations(evalua);\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 if (!allServiceID.includes(_Srtvice.ServiceID)) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, _Srtvice]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, _Srtvice.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== _Srtvice)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !_Srtvice.ServiceID.includes(id))\r\n );\r\n }\r\n }}\r\n className=\"protection-and-shading-menu-addbtn h-full flex justify-center items-center\">\r\n {\r\n\r\n allServiceID.includes(_Srtvice.ServiceID) ?\r\n <>\r\n {\" - \"}\r\n {trans('common:cancel')}\r\n \r\n\r\n :\r\n <>\r\n {\" + \"}\r\n {trans('common:addition')}\r\n \r\n\r\n\r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n );\r\n })\r\n // < div className=\"panel-section panel-white bg-theme-up w-100 \">\r\n // \r\n // {\r\n\r\n //
    \r\n // {\r\n\r\n // acticeService && acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"] &&\r\n // <>\r\n\r\n //
      \r\n\r\n // {\r\n // acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\\\\n\", \"\\\\n\")?.split('\\n').filter(a => a)?.map((note, index) => {\r\n // return (\r\n\r\n\r\n //
    • \r\n // {note}\r\n //
    • \r\n // );\r\n // })\r\n // }\r\n\r\n\r\n //
    \r\n // {\r\n // indexPanel != \"2000\" && acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\\\\n\", \"\\\\n\")?.split('\\n').filter(a => a)?.length > 2 &&\r\n // < span className=\"mx-10 text-30 text-bold text-primary\">\r\n // {\"...\"}\r\n // }\r\n\r\n\r\n\r\n // \r\n\r\n // }\r\n\r\n //
    \r\n\r\n\r\n // }\r\n\r\n\r\n\r\n // setIndexPanel(indexPanel == \"2000\" ? \"000\" : \"2000\")}\r\n // >\r\n\r\n // \r\n //
    \r\n //
    \r\n\r\n\r\n //
    \r\n }\r\n\r\n\r\n
    \r\n \r\n \r\n }\r\n\r\n\r\n {/* menu tabs */}\r\n {\r\n allselectServices && allselectServices.length > 0 &&\r\n
    \r\n\r\n
    \r\n

    \r\n {trans(\"info:الخدمات المضافة \")}

    \r\n
    \r\n
    \r\n \r\n\r\n {allselectServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    \r\n\r\n
    \r\n {\r\n const isChecked = target.checked;\r\n\r\n if (isChecked) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, _val]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, _val.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== _val)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !_val.ServiceID.includes(id))\r\n );\r\n }\r\n\r\n }}\r\n Name={\"23-44\"}\r\n >\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n {\r\n allselectServices && allselectServices.length > 0 &&\r\n
    \r\n\r\n {\r\n allselectServices?.map((_val, _index) => {\r\n return (\r\n\r\n
    \r\n
    {lang == \"ar\" ? _val.ServiceNameAR : _val.ServiceName} 
    \r\n
    {_val?.PriceExcludeTax ? : \"\"}
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n
    \r\n }\r\n\r\n {\r\n allselectServices && allselectServices.length > 0 &&\r\n
    \r\n
    {trans(\"new:total\")} {trans(\"new:total_include_tax\")}
    \r\n
    {allselectServices?.reduce((total, service) => total + service.Price, 0) ? total + service.Price, 0)} className={\"white-space-pre\"} /> : \"\"}
    \r\n
    \r\n }\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n {\r\n setNote(data);\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"new:pay_method\")}

    \r\n\r\n
    \r\n
    \r\n\r\n\r\n {\r\n\r\n
    \r\n \r\n
    \r\n {\"master\"}\r\n {\"visa\"}\r\n {\"mada\"}\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n }\r\n\r\n\r\n\r\n {\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n }\r\n\r\n\r\n
    \r\n \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {\r\n\r\n
    \r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")} onClick={() => {\r\n\r\n setIsSendeng(false);\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN, ServiceID, VINDetails[0]?.CustID, infoPrice[0].Price);\r\n\r\n }}>\r\n {\r\n (orderReservation) ?\r\n trans(\"info:save_changes\")\r\n :\r\n trans(\"cartFile:comlete_buying\")\r\n\r\n }\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n }\r\n\r\n
    \r\n }\r\n\r\n \r\n\r\n :\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n }\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n showFinalPopupMessage &&\r\n <>\r\n
    \r\n {showFinalPopupMessage}\r\n
    \r\n\r\n \r\n\r\n }\r\n {\r\n VINDetails && VINDetails.length > 0 &&\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n\r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group).length > 0 &&\r\n
    \r\n \r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group)[0]?.description}\r\n {` (${PVIN}) `}\r\n
    \r\n }\r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n\r\n orderReservation && orderReservation?.OrderStatusID && orderReservation?.OrderStatusID == \"Created\" &&\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n var threeDaysFromNow = new Date();\r\n if (orderReservation?.DateIn)\r\n threeDaysFromNow = new Date(orderReservation?.DateIn);\r\n if (orderReservation?.Note)\r\n setNote(orderReservation?.Note);\r\n\r\n setRequestForm({\r\n ...requestForm,\r\n date: threeDaysFromNow,\r\n time: orderReservation ? threeDaysFromNow : \"\"\r\n });\r\n\r\n setShowFinalPopup(false);\r\n\r\n }}>\r\n\r\n\r\n {/* \"\" */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {trans(\"info:edit\") + \" \" + trans(\"info:the_appointment\")}\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 { useEffect, useState, useRef,useCallback } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { Route, Switch, useRouteMatch } from \"react-router\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport config from '../../configuration/config.json';\r\nimport MainSericePage from '../maintenance/subpages/mainServicePage';\r\nimport MaintenanceContext from \"./maintenanceContext\";\r\nimport SubMainServicePage from \"./subpages/subMainServicePage\";\r\nimport SubServicePage from \"./subpages/subServicePage\";\r\nimport ServicePage from \"./subpages/servicePage\";\r\nimport { ServiceReservation } from \"./serviceReservation\";\r\nimport { ServiceReservationByID } from \"./serviceReservationByID\";\r\nimport { ProtectionAndShading } from \"./protectionAndShading\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport Joi from \"joi\";\r\nimport { useUserCart } from '../../User/hooks/useUserCart';\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function MaintenancePage() {\r\n const { t: trans, i18n } = useTranslation([\"info\", \"eparts\"]);\r\n const { path } = useRouteMatch();\r\n let lang = i18n.language;\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const popRef = useRef(null);\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const history = useHistory();\r\n const { changecartItem } = useUserCart();\r\n const [stepNum, setStepNum] = useState(1);\r\n const [dataFullNum, setDataFullNum] = useState(0);\r\n const [ServicesDataJson, setServiceDataJson] = useState({});\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n\r\n function handleClickOutside(event) {\r\n if (popRef.current && !popRef.current.contains(event.target) && showFinalPopup === true) {\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showFinalPopup]);\r\n\r\n\r\n //--------------------------------------------------\r\n const [maintenanceObj, setMaintenanceObj] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n const [Defult, setDefult] = useState({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n\r\n const [infoPrice, setinfoPrice] = useState([{ Price: 0 }]);\r\n const [isLogin, setLogin] = useState(false);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SerciveID: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n SerciveID: Joi.string().required().messages(GetMessages()),\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages())\r\n });\r\n\r\n\r\n const [filteredSettings, setFilteredSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n\r\n\r\n const [settings, setSettings] = useState({\r\n brands: [],\r\n groups: [],\r\n models: [],\r\n productModels: []\r\n });\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [groupData, setGroupData] = useState([]);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option, vYear = year) => {\r\n\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({ ...filteredSettings, models: [], productModels: [] });\r\n setGroup(option);\r\n var fModels = [];\r\n try {\r\n\r\n const currentgroupData = settings?.groups?.filter(a => a.brandID == brand && a.productGroupID == option && a.Year == vYear);\r\n const ListTreeGroups = (currentgroupData && currentgroupData?.length > 0) ? currentgroupData[0].ListTreeGroups : option;\r\n\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a =>\r\n listVArray.includes(a.productGroupID) && a.Model == vYear\r\n );\r\n } catch {\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option && a.Model == vYear);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n setFilteredSettings({ ...filteredSettings, productModels: fModels });\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, vYear = year) => {\r\n setBrand(null);\r\n setType(null);\r\n setGroup(null);\r\n\r\n setFilteredSettings({ ...settings, groups: [], models: [], productModels: [] });\r\n setGroupData([]);\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year == vYear);\r\n\r\n setFilteredSettings({ ...settings, groups: fGroups, models: [], productModels: [] });\r\n setGroupData(fGroups);\r\n\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n // && filteredSettings?.groups?.length == 0\r\n if (settings?.brands && settings?.brands.length > 0 && Defult?.first != true\r\n ) {\r\n\r\n if (Defult?.year) {\r\n setYear(Defult?.year)\r\n const val = { ...requestForm };\r\n val.year = Defult?.year;\r\n setRequestForm(val);\r\n }\r\n\r\n if (Defult?.brand)\r\n handelSelectBrand(Defult?.brand, Defult?.year);\r\n }\r\n\r\n }, [Defult, settings]);\r\n\r\n const [fullDatetime, setFullDatetime] = useState(null);\r\n useEffect(() => {\r\n\r\n try {\r\n\r\n if (requestForm?.date) {\r\n\r\n var md = new Date(requestForm?.date);\r\n try {\r\n if (requestForm?.time) {\r\n\r\n var Hours = requestForm?.time.split(\":\");\r\n\r\n md.setHours(Hours[0], Hours[1], 0);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n // var datetime = new moment(md).format('yyyy-MM-DD HH:mm:ss')\r\n var datetime = md.toLocaleDateString(\"en-GB\", { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }).replaceAll(',', '').replaceAll('/', '-');\r\n setFullDatetime(datetime);\r\n console.log();\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n }, [requestForm]);\r\n\r\n useEffect(() => {\r\n if (settings?.brands && settings?.brands.length > 0 && filteredSettings?.groups?.length > 0 && Defult?.first != true) {\r\n\r\n setDefult({ ...Defult, first: true });\r\n if (Defult?.group)\r\n handleFilteredModels(Defult?.group);\r\n // if (Defult?.year) {\r\n // setYear(Defult?.year)\r\n // const val = { ...requestForm };\r\n // val.year = Defult?.year;\r\n // setRequestForm(val);\r\n // }\r\n\r\n if (Defult?.modelType) {\r\n setType(Defult?.modelType);\r\n }\r\n }\r\n }, [filteredSettings]);\r\n\r\n\r\n useEffect(() => {\r\n getMainUserData();\r\n }, []);\r\n const getMainUserData = async () => {\r\n let data = {};\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n } catch (error) {\r\n\r\n }\r\n try {\r\n\r\n if (getData('isAuthenticated'))\r\n setLogin(true);\r\n } catch (err) {\r\n //////console.log(err);\r\n setLogin(false);\r\n }\r\n\r\n\r\n\r\n return data;\r\n };\r\n\r\n const fetchSettings = async () => {\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"Settings-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponseCash?.brands;\r\n currentSettings.groups = settingResponseCash?.groups;\r\n currentSettings.models = settingResponseCash?.models;\r\n currentSettings.productModels = settingResponseCash?.productModels;\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n setGroupData(fGroups);\r\n //---------------------------------------------------------------\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode) {\r\n currentvModelCode[item.productTypeID] = item.ModelCode;\r\n }\r\n })\r\n setVModelCode(currentvModelCode);\r\n }\r\n\r\n\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = { ...settings };\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n setGroupData(fGroups);\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n currentvModelCode[item.productTypeID] = item.ModelCode\r\n\r\n })\r\n\r\n //////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n\r\n };\r\n\r\n \r\n const handleServiceOrder = useCallback(async (data) => {\r\n\r\n try {\r\n data['firstFetchPrice'] = null;\r\n data['first'] = null;\r\n\r\n\r\n var serviceOptions = data.serviceOptions;\r\n var objectservicesJON = {};\r\n if (serviceOptions && serviceOptions.length > 0 && data.sub2) {\r\n objectservicesJON[`${data.sub2}`] = serviceOptions;\r\n setServiceDataJson(objectservicesJON);\r\n }\r\n setSerciveID(null);\r\n\r\n setRequestForm({\r\n lastName: null,\r\n firstName: null,\r\n phone: null,\r\n email: null,\r\n subject: null,\r\n date: null,\r\n time: null,\r\n messageContent: null,\r\n myCarID: null,\r\n });\r\n\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n var value = { ...maintenanceObj, ...data };\r\n if (data?.main == '') {\r\n\r\n data['main'] = null;\r\n }\r\n if (data?.sub1 == '') {\r\n\r\n data['sub1'] = null;\r\n }\r\n if (data?.sub2 == '') {\r\n\r\n data['sub2'] = null;\r\n\r\n\r\n }\r\n\r\n setMainServiceID(data?.main);\r\n setSubServiceID(data?.sub1);\r\n setTypeServiceID(data?.sub2);\r\n setDefult(data);\r\n\r\n if (getData('isAuthenticated') && data?.modelType == null) {\r\n GetVehicales();\r\n\r\n } else {\r\n\r\n fetchSettings();\r\n }\r\n\r\n fetchMainService(data);\r\n GetBranch();\r\n\r\n setSubService1([]);\r\n setSubService2([]);\r\n setService([]);\r\n\r\n if (value.type === \"order\") {\r\n\r\n setselMain({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setselsub1({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setselsub2({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n\r\n }\r\n setTimeout(() => {\r\n if (value.type === 'main') {\r\n var main = { value: data.main, sub1: data.sub1 }\r\n fetchSubService(data);\r\n setselsub2({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n\r\n } else if (value.type === 'sub1') {\r\n var main = { value: data.main }\r\n fetchSubService(data);\r\n var sub1 = { value: data.sub1, ServiceID: data?.ServiceID }\r\n fetchSubService2(data);\r\n\r\n } else if (value.type == 'sub2') {\r\n \r\n var main = { value: data.main }\r\n fetchSubService(data);\r\n var sub1 = { value: data.sub1, ServiceID: data?.ServiceID }\r\n fetchSubService2(data,objectservicesJON);\r\n var sub2 = { value: data.sub2, ServiceID: data?.ServiceID }\r\n \r\n fetchService(sub2, null, objectservicesJON);\r\n\r\n\r\n }\r\n setTimeout(() => { setMaintenanceObj(value) }, 1000);\r\n\r\n }, 0,[ServicesDataJson]);\r\n } catch (e) {\r\n console.error(e)\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n \r\n }, [ServicesDataJson]);\r\n const [Note, setNote] = useState(\"\");\r\n\r\n const [MainServic, setMainServic] = useState([]);\r\n async function fetchMainService(opiton) {\r\n\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"site_fetchMainService_Req\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n if (datacash && datacash?.length > 0) {\r\n\r\n setTimeout(setMainServic(datacash), 1000);\r\n if (opiton.main)\r\n datacash?.map((B) => {\r\n if (B.MainServiceID === opiton.main) {\r\n const v = selMain;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.MainServiceID;\r\n // setselMain(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n const Body = {\r\n \"name\": \"site_fetchMainService_Req\"\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n setTimeout(setMainServic(response.data), 1000);\r\n if (opiton.main)\r\n response.data.map((B) => {\r\n if (B.MainServiceID === opiton.main) {\r\n const v = selMain;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.MainServiceID;\r\n // setselMain(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"site_fetchMainService_Req\", data);\r\n\r\n });\r\n }\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n const [SubService1, setSubService1] = useState([]);\r\n async function fetchSubService(option) {\r\n\r\n\r\n setselsub1({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setselsub2({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setSubService1([]);\r\n setSubService2([]);\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n var SID = option.main ? option.main : option.value;\r\n\r\n // if (SID != \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\") {\r\n\r\n\r\n if (\"caches\" in window) {\r\n var curl = \"site_fetchMntc_SubService1-\" + SID;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n\r\n if (settingResponseCash && settingResponseCash?.length > 0) {\r\n setTimeout(setSubService1(settingResponseCash), 1000);\r\n\r\n if (settingResponseCash.length == 1 || SID == \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\") {\r\n\r\n ////console.log(\"settingResponseCash>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\", settingResponseCash);\r\n if (SID == \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\" && settingResponseCash && settingResponseCash[1]) {\r\n setFirestOptionService1(settingResponseCash[0])\r\n } else {\r\n\r\n setFirestOptionService1(settingResponseCash[0])\r\n }\r\n }\r\n if (option.sub1)\r\n settingResponseCash?.map((B) => {\r\n if (B.SubService1ID === option.sub1) {\r\n const v = selsub1;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.SubService1ID;\r\n setselsub1(v);\r\n\r\n }\r\n }\r\n )\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n const Body = {\r\n \"name\": \"site_fetchMntc_SubService1\",\r\n \"values\": {\r\n \"MainID\": option.main ? option.main : option.value\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n setTimeout(setSubService1(response.data), 1000);\r\n\r\n if (response?.data.length == 1 || SID == \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\") {\r\n\r\n if (SID == \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\") {\r\n setFirestOptionService1(response?.data[0])\r\n } else {\r\n\r\n setFirestOptionService1(response?.data[0])\r\n }\r\n }\r\n if (option.sub1)\r\n response.data.map((B) => {\r\n if (B.SubService1ID === option.sub1) {\r\n const v = selsub1;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.SubService1ID;\r\n setselsub1(v);\r\n\r\n }\r\n }\r\n )\r\n\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"site_fetchMntc_SubService1-\" + SID, data);\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n // }\r\n }\r\n const [SubService2, setSubService2] = useState([]);\r\n async function fetchSubService2(option,objectservicesJON) {\r\n\r\n\r\n setselsub2({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setSubService2([]);\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n var getFirestOption = false;\r\n\r\n var SID = option.sub1 ? option.sub1 : option.value;\r\n\r\n //////console.log(\"fetchSubService2PPPPPPPPPPPPPPPPPPPPPPPPPP?\",SID);\r\n if (\"caches\" in window) {\r\n var curl = \"site_fetchMntc_SubService2-\" + SID;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var settingResponseCash = await cachedResponse?.json();\r\n\r\n if (settingResponseCash && settingResponseCash?.length > 0) {\r\n setTimeout(setSubService2(settingResponseCash), 100);\r\n if (settingResponseCash?.length == 1 || SID == \"a4df3008-2236-4455-854b-da6ddd592364\" || SID == \"22d24d95-04cd-4c88-88ec-317d940231e0\"\r\n || SID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n getFirestOption = true;\r\n\r\n\r\n if (SID == \"a4df3008-2236-4455-854b-da6ddd592364\" || SID == \"22d24d95-04cd-4c88-88ec-317d940231e0\" || SID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n setFirestOption(settingResponseCash[1], SID, option?.SerciveID,objectservicesJON)\r\n\r\n } else {\r\n\r\n setFirestOption(settingResponseCash[0], SID, option?.SerciveID,objectservicesJON)\r\n }\r\n }\r\n\r\n if (option.sub2)\r\n settingResponseCash?.map((B) => {\r\n if (B.SubService2ID === option.sub2) {\r\n const v = selsub2;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.SubService2ID;\r\n setselsub2(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n }\r\n const Body = {\r\n \"name\": \"site_fetchMntc_SubService2\",\r\n \"values\": {\r\n \"SubID\": option.sub1 ? option.sub1 : option.value\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setTimeout(setSubService2(response.data), 100);\r\n if (response?.data.length == 1 || SID == \"a4df3008-2236-4455-854b-da6ddd592364\" || SID == \"22d24d95-04cd-4c88-88ec-317d940231e0\"\r\n || SID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n\r\n if (getFirestOption == false) {\r\n\r\n\r\n if (SID == \"a4df3008-2236-4455-854b-da6ddd592364\" || SID == \"22d24d95-04cd-4c88-88ec-317d940231e0\"\r\n || SID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n setFirestOption(response?.data[1], SID, option?.SerciveID,objectservicesJON)\r\n\r\n } else {\r\n\r\n setFirestOption(response?.data[0], SID, option?.SerciveID,objectservicesJON)\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n if (option.sub2)\r\n response.data.map((B) => {\r\n if (B.SubService2ID === option.sub2) {\r\n const v = selsub2;\r\n v.desAr = B.DescriptionAr;\r\n v.desEn = B.DescriptionEn;\r\n v.ID = B.SubService2ID;\r\n setselsub2(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"site_fetchMntc_SubService2-\" + SID, data);\r\n\r\n });\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n \r\n const [Service, setService] = useState([]);\r\n const [lodingService, setLodingService] = useState(false);\r\n async function fetchService(option, subServiceID, objectservicesJON = ServicesDataJson) {\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n setLodingService(true);\r\n\r\n if (objectservicesJON[option.value]) {\r\n\r\n var responseData = objectservicesJON[option.value];\r\n setTimeout(setService(responseData), 1000);\r\n if (responseData.length == 1 || subServiceID == \"a4df3008-2236-4455-854b-da6ddd592364\" || subServiceID == \"22d24d95-04cd-4c88-88ec-317d940231e0\"\r\n || subServiceID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n setSerciveID(responseData[0].ServiceID);\r\n const val = { ...requestForm };\r\n val.SerciveID = responseData[0].ServiceID;\r\n setRequestForm(val);\r\n\r\n }\r\n\r\n if (option?.ServiceID) {\r\n setSerciveID(option?.ServiceID)\r\n const val = { ...requestForm };\r\n val.SerciveID = option?.ServiceID;\r\n setRequestForm(val);\r\n responseData.map((B) => {\r\n if (B.ServiceID === option?.ServiceID) {\r\n const v = selsub0;\r\n v.desAr = B.ServiceNameAR;\r\n v.desEn = B.ServiceName;\r\n v.ID = B.ServiceID;\r\n setselsub0(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n }\r\n\r\n\r\n setLodingService(false);\r\n } else {\r\n const Body = {\r\n \"name\": \"site_FetchServices\",\r\n \"values\": {\r\n \"GUID\": option.value,\r\n \"ModelCode\": null\r\n // \"ModelCode\": modelCode\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n setTimeout(setService(response.data), 1000);\r\n if (response?.data.length == 1 || subServiceID == \"a4df3008-2236-4455-854b-da6ddd592364\" || subServiceID == \"22d24d95-04cd-4c88-88ec-317d940231e0\"\r\n || subServiceID == \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") {\r\n\r\n setSerciveID(response?.data[0].ServiceID);\r\n\r\n const val = { ...requestForm };\r\n val.SerciveID = response?.data[0].ServiceID;\r\n setRequestForm(val);\r\n ////console.log(\"response?.data[0]?>>>>>>>>>>>>>>>>>>>>>>>>>>\", response?.data[0])\r\n //console.log(\"setRequestForm?>>>>>>>>>>>>>>>>>>>>>>>>>>\", val)\r\n }\r\n\r\n if (option?.ServiceID) {\r\n setSerciveID(option?.ServiceID)\r\n const val = { ...requestForm };\r\n val.SerciveID = option?.ServiceID;\r\n setRequestForm(val);\r\n response.data.map((B) => {\r\n if (B.ServiceID === option?.ServiceID) {\r\n const v = selsub0;\r\n v.desAr = B.ServiceNameAR;\r\n v.desEn = B.ServiceName;\r\n v.ID = B.ServiceID;\r\n setselsub0(v);\r\n ////////console.log(v);\r\n }\r\n })\r\n }\r\n\r\n\r\n setLodingService(false);\r\n\r\n })\r\n .catch(function (error) {\r\n\r\n setLodingService(false);\r\n //////console.log(error);\r\n });\r\n\r\n }\r\n\r\n }\r\n const [Branches, setBranches] = useState([]);\r\n\r\n let [modelCode, setModelCode] = useState(\"\");\r\n let [VIN, setVIN] = useState(\"\");\r\n\r\n const [SerciveID, setSerciveID] = useState(null);\r\n const [MainServiceID, setMainServiceID] = useState(null);\r\n const [subServiceID, setSubServiceID] = useState(null);\r\n const [TypeServiceID, setTypeServiceID] = useState(null);\r\n async function FetchPrice(modelC, SID) {\r\n\r\n ////console.log(\"FetchPrice>>>>>>>>>:\", modelC)\r\n setinfoPrice([{ Price: 0 }]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n\r\n if (((isLogin && requestForm?.VIN) || type) && SerciveID && requestForm?.date && requestForm?.time && requestForm?.SiteID && (isLogin || (requestForm?.firstName && requestForm?.lastName && requestForm?.phone))) {\r\n setDataFullNum(2);\r\n return 2;\r\n } else if (((isLogin && requestForm?.VIN) || type) && SerciveID) {\r\n setDataFullNum(1);\r\n return 2;\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n\r\n const checkErrors = () => {\r\n var thisSchema = null;\r\n\r\n if (isLogin) {\r\n\r\n thisSchema = LoginSchema;\r\n } else {\r\n thisSchema = notLoginSchema;\r\n\r\n }\r\n const result = formValidate(thisSchema, requestForm) ?? {};\r\n\r\n ////console.log(\"formValidate>>>>>>>>>>>>>>:\", result);\r\n setError(result);\r\n\r\n\r\n }\r\n const [error, setError] = useState({});\r\n function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n var thisSchema = null;\r\n\r\n if (isLogin) {\r\n\r\n thisSchema = LoginSchema;\r\n } else {\r\n thisSchema = notLoginSchema;\r\n\r\n }\r\n const val = { ...requestForm };\r\n val.year = year;\r\n setRequestForm(val);\r\n const result = formValidate(thisSchema, val) ?? {};\r\n\r\n setError(result);\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n setIsSendeng(true);\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n\r\n var raw = {\r\n \"VIN\": VIN,\r\n \"Model\": type,\r\n \"CarType\": modelCode,\r\n \"UserID\": UserID ?? \"\",\r\n \"Year\": year,\r\n \"TotalAmount\": Amount ? Amount : 0,\r\n \"RequiredServicesList\": ServecID,\r\n \"Note\": Note,\r\n \"MeterReading\": requestForm?.meterReading,\r\n \"FirstName\": requestForm?.firstName,\r\n \"LastName\": requestForm?.lastName,\r\n \"phone\": requestForm?.phone,\r\n \"StoreID\": requestForm?.SiteID,\r\n \"Email\": requestForm?.email,\r\n \"Orderdate\": moment(requestForm?.date).format('YYYY-MM-DD'),\r\n \"OrderTime\": moment(requestForm?.time).format('HH:mm:ss'),\r\n // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //////console.log(\"Service\", response.data)\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n setSerciveID(null);\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n setRequestForm({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n\r\n setMaintenanceObj({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n //console.log(\"OrderID\", response?.data)\r\n if (response?.data?.OrderID)\r\n setResOrderID(response?.data?.OrderID);\r\n setShowFinalPopup(true);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n //////console.log('Error', response);\r\n setIsSendeng(false);\r\n })\r\n .catch(error => {\r\n //////console.log('error', error);\r\n setIsSendeng(false);\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 GetUrlfunc = config.baseURL + 'func';\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (Branches && Branches?.length > 0 && requestForm?.SerciveID && requestForm?.SerciveID != '' && !requestForm?.SiteID) {\r\n\r\n\r\n if (Branches?.length == 1) {\r\n const val = { ...requestForm };\r\n val.SiteID = Branches[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n\r\n }\r\n\r\n }, [Branches, requestForm]);\r\n\r\n const [Vehicales, setVehicales] = useState([]);\r\n\r\n\r\n async function GetVehicales() {\r\n try {\r\n const isLogin = getData('isAuthenticated')\r\n if (!isLogin) {\r\n setVehicales([]);\r\n toast.error(trans(\"info:login_to_get_my_cars\"));\r\n return;\r\n }\r\n const cleanData = JSON.parse(getData(User_Data_Key, true));\r\n\r\n if (!cleanData.custID) {\r\n setVehicales([]);\r\n toast.error(trans(\"info:approveAccount\"));\r\n return;\r\n }\r\n\r\n const Body = {\r\n \"name\": \"site_fetchMyVehical\",\r\n \"values\": {\r\n \"CustID\": Number(cleanData.custID)\r\n }\r\n };\r\n await axios.request({\r\n url: GetUrlfunc,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setVehicales(response.data);\r\n })\r\n .catch(function (error) {\r\n\r\n toast.error(trans(\"info:pleas_add_your_car\"));\r\n //////console.log(error);\r\n });\r\n } catch (error) {\r\n //////console.log(error);\r\n }\r\n\r\n\r\n\r\n }\r\n //selected option \r\n const [selMain, setselMain] = useState({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n const [selsub1, setselsub1] = useState({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n const [selsub2, setselsub2] = useState({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n const [selsub0, setselsub0] = useState({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n\r\n\r\n function setFirestOption(option, SID, currentServiceID = SerciveID,objectservicesJON=ServicesDataJson) {\r\n fetchService({ value: option.SubService2ID, text: lang === 'ar' ? option.DescriptionAr : option.DescriptionEn, currentServiceID }, SID,objectservicesJON);\r\n\r\n setTypeServiceID(option.SubService2ID);\r\n }\r\n\r\n\r\n function setFirestOptionService1(option) {\r\n fetchSubService2({ value: option.SubService1ID, text: lang === 'ar' ? option.DescriptionAr : option.DescriptionEn });\r\n setSubServiceID(option.SubService1ID);\r\n }\r\n\r\n\r\n function setFirestOptionService(option) {\r\n setSerciveID(option.ServiceID);\r\n }\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, SerciveID, year, type, isLogin]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (vModelCode != null && SerciveID && Defult?.firstFetchPrice != true) {\r\n setDefult({ ...Defult, firstFetchPrice: true });\r\n if (Defult?.modelType) {\r\n if (vModelCode[Defult?.modelType] && SerciveID)\r\n FetchPrice(vModelCode[Defult?.modelType], SerciveID);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }, [vModelCode, SerciveID]);\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"maintenance services\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n\r\n // useEffect(() => {\r\n //\r\n // debugger\r\n // setMaxTime(Math.max(...listTimeAvailable));\r\n // console.log(\"setMaxTime(Math.max(...listTimeAvailable))\", setMaxTime(Math.max(...listTimeAvailable)));\r\n // setMinTime(Math.min(...listTimeAvailable));\r\n // console.log(\"setMaxTime(Math.min(...listTimeAvailable))\", setMaxTime(Math.min(...listTimeAvailable)));\r\n //\r\n // }, [listTimeAvailable]);\r\n\r\n const maxTime = Math.max(...listTimeAvailable);\r\n const minTime = Math.min(...listTimeAvailable);\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"info:request-maintenance-service\")}

    \r\n {\r\n setMaintenanceObj({ showPopup: false })\r\n }}>×\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    0 ? \"active\" : \" \")}>\r\n {/*
  • {\"1\"}
  • {'بيانات المركبة'}
    */}\r\n
    \r\n
    \r\n
    1 ? \"active\" : \" \")}>\r\n {/*
  • {\"2\"}
  • {'بيانات الخدمة'}
    */}\r\n
    \r\n
    \r\n\r\n {/*
    2 ? \"active\" : \" \")}>\r\n
  • {\"3\"}
  • {'البيانات الشخصية'}
    \r\n
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {\r\n stepNum == 1 &&\r\n <>\r\n\r\n {\r\n !isLogin || Defult?.modelType ?\r\n <>\r\n\r\n\r\n\r\n
    \r\n
    \r\n {\r\n return { text: item?.description, value: item?.brandID }\r\n })}\r\n placeholder={trans(\"info:company\")}\r\n selectedValue={brand}\r\n onSelect={handelSelectBrand}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n // return { text: item?.modelID, value: item?.modelID }\r\n // })}\r\n\r\n options={\r\n settings?.models?.filter(\r\n item => item?.modelID?.startsWith('20')).map(\r\n item => ({\r\n text: item?.modelID,\r\n value: item?.modelID\r\n })\r\n )\r\n }\r\n\r\n selectedValue={year}\r\n onSelect={(value) => {\r\n //////console.log(\"models:\", value)\r\n\r\n setYear(value);\r\n\r\n const val = { ...requestForm };\r\n val.year = value;\r\n setRequestForm(val);\r\n handelSelectBrand(brand, value);\r\n // handleFilteredModels(group,value);\r\n }}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n return { text: item?.description, value: item?.productGroupID }\r\n })}\r\n selectedValue={group}\r\n onSelect={handleFilteredModels}\r\n />\r\n
    \r\n
    \r\n {\r\n return { text: item?.description, value: item?.productTypeID }\r\n })}\r\n selectedValue={type}\r\n onSelect={(value) => {\r\n //////console.log(\"setType:\", value)\r\n setType(value);\r\n //////console.log(\"vModelCode[value]:\", vModelCode[value])\r\n setModelCode(vModelCode[value]);\r\n FetchPrice(vModelCode[value], SerciveID);\r\n\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n :\r\n {\r\n return { value: B.SN, text: lang == 'ar' ? B.carAr : B.carEn, ModelCode: B.ModelCode, year: B.Model, type: B.Type };\r\n })]}\r\n onfilter={(option) => {\r\n setModelCode(option.ModelCode);\r\n setVIN(option.value);\r\n setYear(option.year);\r\n setType(option.type);\r\n FetchPrice(option.ModelCode, SerciveID);\r\n\r\n const val = { ...requestForm };\r\n val.VIN = option.value;\r\n setRequestForm(val);\r\n }}\r\n isepart={true}\r\n />\r\n }\r\n\r\n {\r\n\r\n\r\n
    \r\n {\r\n return { value: B.MainServiceID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n onfilter={(option) => {\r\n setMainServiceID(null);\r\n setSubServiceID(null);\r\n setTypeServiceID(null);\r\n setSerciveID(null);\r\n fetchSubService(option);\r\n setMainServiceID(option.value);\r\n }\r\n }\r\n defaultOption={{ value: selMain.ID, text: trans(\"info:main_service\") }}\r\n selectedValue={MainServiceID}\r\n isepart={true}\r\n />\r\n\r\n {\r\n (SubService1?.length > 1 && MainServiceID != \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\") ?\r\n\r\n {\r\n\r\n return ({ value: B.SubService1ID, text: lang === 'ar' ? (B.DescriptionAr ? B.DescriptionAr : B.DescriptionEn) : B.DescriptionEn });\r\n\r\n\r\n })]}\r\n onfilter={(option) => {\r\n setSubServiceID(null);\r\n setTypeServiceID(null);\r\n setSerciveID(null);\r\n fetchSubService2(option);\r\n setSubServiceID(option.value);\r\n }}\r\n isepart={true}\r\n selectedValue={subServiceID}\r\n defaultOption={{ value: selsub1.ID, text: trans(\"info:sub_main_service\") }}\r\n />\r\n : null\r\n\r\n }\r\n\r\n\r\n {\r\n (SubService2?.length > 1 && MainServiceID != \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\" && subServiceID != \"a4df3008-2236-4455-854b-da6ddd592364\" && subServiceID != \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") ?\r\n {\r\n return { value: B.SubService2ID, text: lang === 'ar' ? (B.DescriptionAr ? B.DescriptionAr : B.DescriptionEn) : B.DescriptionEn };\r\n })]}\r\n onfilter={(option) => {\r\n setTypeServiceID(null);\r\n setSerciveID(null);\r\n fetchService(option, subServiceID);\r\n setTypeServiceID(option.value);\r\n\r\n }}\r\n\r\n isepart={true}\r\n selectedValue={TypeServiceID}\r\n defaultOption={{ value: selsub2.ID, text: trans(\"info:main_service_type\") }}\r\n\r\n\r\n />\r\n : null\r\n\r\n\r\n }\r\n {\r\n\r\n (MainServiceID != \"9ceb8b65-14a4-4a61-9223-a06ae0db53cf\" && subServiceID != \"a4df3008-2236-4455-854b-da6ddd592364\" && subServiceID != \"619b5424-1a20-4e01-950a-a8d87f9f1c7e\") ?\r\n {\r\n return { value: B.ServiceID, text: lang === 'ar' ? B.ServiceNameAR : B.ServiceName };\r\n })]}\r\n errorLabel={error?.SerciveID}\r\n onfilter={(option) => {\r\n\r\n const val = { ...requestForm };\r\n val.SerciveID = option.value;\r\n setRequestForm(val);\r\n\r\n setSerciveID(null);\r\n setSerciveID(option.value);\r\n FetchPrice(modelCode, option.value);\r\n\r\n }}\r\n isepart={true}\r\n isLoading={lodingService}\r\n selectedValue={SerciveID ? SerciveID : requestForm?.SerciveID}\r\n defaultOption={{ value: selsub0.ID, text: trans(\"info:servce\") }}\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 // infoPrice[0].Price ?\r\n
    \r\n
    \r\n

    {trans(\"info:price\")}

    \r\n\r\n
    \r\n\r\n {\r\n
    \r\n \r\n

    {trans(\"info:service_price_head_message\")}

    \r\n
    \r\n }\r\n {\r\n
    \r\n {\r\n infoPrice[0] && \r\n }\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 // stepNum == 2 &&\r\n <>\r\n\r\n\r\n {\r\n stepNum == 2 &&\r\n <>\r\n {\r\n\r\n !isLogin &&\r\n <>\r\n
    \r\n <>\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.firstName = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n \r\n <>\r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.lastName = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.phone = phoneNumber ? `+${countryCode}${phoneNumber}` : null;\r\n val.codephone = `+${countryCode}`;\r\n setRequestForm(val);\r\n }}\r\n\r\n defaultValue={requestForm?.phone?.replace(`${requestForm?.codephone}`, '')}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.email}\r\n placeholder={trans(\"form:email\")}\r\n name='email'\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.VIN = e.target.value;\r\n setRequestForm(val);\r\n setVIN(e.target.value);\r\n\r\n\r\n\r\n }} />\r\n
    \r\n\r\n\r\n \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n (\r\n //
    {children}
    \r\n // )}\r\n\r\n className=\" w-100\"\r\n // popperPlacement=\"top-end\"\r\n // icon={\"fa fa-calendar\"}\r\n selected={requestForm.date}\r\n onChange={async (value) => {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.date = value;\r\n val.time = null;\r\n setRequestForm(val);\r\n setListTimeAvailable([]);\r\n\r\n if (val.date) {\r\n await webAvailableReshours(moment(value).format('yyyy-MM-DD'));\r\n }\r\n }}\r\n filterDate={(date) => {\r\n const today = new Date();\r\n const yesterday = new Date(today);\r\n yesterday.setDate(today.getDate() - 1);\r\n const day = date.getDay();\r\n return (day === 0 || day === 1 || day === 2 || day === 3 || day === 4 || day === 6)\r\n && (new Date(date).setHours(0, 0, 0) > yesterday.setHours(0, 0, 0)); // Sunday (0), Saturday (6)\r\n\r\n }}\r\n placeholderText={trans(\"form:maintenance-date\")}\r\n dateFormat=\"yyyy-MM-dd\"\r\n customInput={}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n // const time = new Date();\r\n // time.setHours(val, 0, 0);\r\n // return time;\r\n // })\r\n // }\r\n\r\n includeTimes={listTimeAvailable.map((val) => {\r\n const time = new Date();\r\n let res;\r\n\r\n if (requestForm.date && new Date(requestForm.date).toDateString() === new Date().toDateString()) {\r\n if (val > new Date().getHours()) {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n } else if (requestForm.date && new Date(requestForm.date) > new Date()) {\r\n res = time.setHours(val, 0, 0);\r\n } else {\r\n res = time.setHours(val, 0, 0);\r\n }\r\n\r\n return res;\r\n })}\r\n isClearable={!!requestForm.time}\r\n selected={requestForm.time}\r\n onChange={(value) => {\r\n\r\n const val = { ...requestForm };\r\n val.time = value;\r\n setRequestForm(val);\r\n }}\r\n className=\"w-100\"\r\n // filterTime={(time) => {\r\n // // Define your custom logic to disable specific times\r\n // // For example, disable times before 9:00 AM and after 5:00 PM\r\n // const startTime = new Date().setHours(8, 0, 0); // 9:00 AM\r\n // const endTime = new Date().setHours(18, 0, 0); // 5:00 PM\r\n // return time < startTime || time > endTime;\r\n // }}\r\n placeholderText={trans(\"form:maintenance-time\")}\r\n showTimeSelect\r\n showTimeSelectOnly\r\n timeIntervals={60}\r\n timeInputLabel={trans(\"form:maintenance-time\")}\r\n // minTime={\r\n // (requestForm.date && new Date(requestForm.date).getDate() > new Date().getDate()) \r\n // ? new Date().setHours(8, 0, 0) \r\n // :(new Date().getHours() > 19 \r\n // ? new Date().setHours(18, 55, 0) \r\n // : new Date().setHours(new Date().getHours(), new Date().getMinutes(), 0) ) }\r\n // maxTime={new Date().setHours(18, 59, 0)}\r\n timeCaption={trans(\"form:maintenance-time\")}\r\n // withPortal\r\n dateFormat=\"hh:mm aa\"\r\n // showTimeInput\r\n customInput={}\r\n\r\n // customTimeInput={}\r\n />\r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n\r\n {\r\n //////console.log(\">>>>>>>>>>>>>:\", e.target.value);\r\n if (e.target.value >= (new Date().toJSON().slice(0, 10)) || !e.target.value) {\r\n const val = { ...requestForm };\r\n val.date = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.time = e.target.value;\r\n setRequestForm(val);\r\n }\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 val = { ...requestForm };\r\n val.meterReading = e.target.value;\r\n setRequestForm(val);\r\n\r\n }} />\r\n
    \r\n\r\n {\r\n return { value: B.SiteID, text: lang === 'ar' ? B.DescriptionAr : B.DescriptionEn };\r\n })]}\r\n selectedValue={Branches?.length == 1 ? Branches[0]?.SiteID : requestForm?.SiteID}\r\n onSelect={(value) => {\r\n\r\n //////console.log(\"onSelect:\", value);\r\n const val = { ...requestForm };\r\n val.SiteID = value;\r\n setRequestForm(val);\r\n }}\r\n\r\n />\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {\r\n setNote(data);\r\n }}\r\n />\r\n\r\n \r\n\r\n }\r\n\r\n\r\n\r\n \r\n }\r\n\r\n
    \r\n
    \r\n {\r\n\r\n <>\r\n
    \r\n\r\n\r\n {\r\n\r\n
    \r\n\r\n {\r\n stepNum > 1 &&\r\n
    {\r\n if (stepNum > 1)\r\n setStepNum(stepNum - 1);\r\n }}>\r\n\r\n\r\n {trans(\"info:back\")}\r\n\r\n\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n }\r\n\r\n {\r\n\r\n
    \r\n\r\n {\r\n stepNum < 2 &&\r\n
    {\r\n\r\n const num = await checkDataFullNum();\r\n\r\n if (num >= (stepNum)) {\r\n\r\n if (stepNum < 2)\r\n setStepNum(stepNum + 1);\r\n\r\n if (Object.keys(error).length > 0) {\r\n setError({});\r\n\r\n }\r\n } else {\r\n checkErrors();\r\n }\r\n\r\n }}>\r\n {trans(\"form:next\")}\r\n
    \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n }\r\n\r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n\r\n {\r\n dataFullNum >= 2 &&\r\n
    \r\n
    \r\n
    {\r\n\r\n var cleanData = {};\r\n try {\r\n cleanData = JSON.parse(getData(User_Data_Key, true));\r\n } catch (e) {\r\n\r\n\r\n }\r\n\r\n if (isSendeng == false)\r\n SendResreve(VIN, SerciveID, cleanData?.custID, infoPrice[0].Price);\r\n\r\n }}>\r\n {trans(\"info:reserve\")}\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n {/*
    \r\n
    {\r\n\r\n if (infoPrice[0].Price) {\r\n\r\n setIsSendeng(true);\r\n\r\n\r\n var brandDesc = settings?.brands?.filter(a => a.brandID == brand)[0];\r\n var groupDesc = settings?.groups?.filter(a => a.productGroupID == group)[0];\r\n var typeDesc = settings?.productModels?.filter(a => a.productTypeID == type)[0];\r\n var ServiceDesc = Service?.filter(a => a.ServiceID == SerciveID)[0];\r\n var objectCart =\r\n {\r\n id: modelCode + '-' + SerciveID,\r\n productID: SerciveID,\r\n name: ServiceDesc.ServiceNameAR,\r\n nameEn: ServiceDesc.ServiceName,\r\n // image :img,\r\n modelTypeID: VIN,\r\n modelCode: modelCode,\r\n price: infoPrice[0].Price,\r\n Type: \"service\",\r\n brand: brandDesc?.descriptionAr\r\n , brandEn: brandDesc?.descriptionEn\r\n , group: groupDesc?.descriptionAr\r\n , groupEn: groupDesc?.descriptionen\r\n , BrandID: brand\r\n , modelTypes: typeDesc?.descriptionAr\r\n , modelTypesEn: typeDesc?.descriptionEn\r\n ,Orderdate :fullDatetime\r\n\r\n\r\n }\r\n changecartItem(SerciveID, null, VIN, 1, modelCode, null,objectCart,fullDatetime );\r\n\r\n\r\n setTimeout(() => {\r\n\r\n\r\n setIsSendeng(false);\r\n\r\n\r\n setSerciveID(null);\r\n setselsub0({ ID: \"0\", desAr: \"اختيار قيمة\", desEn: \"chose\" });\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n setRequestForm({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n setStepNum(1);\r\n setDataFullNum(0);\r\n\r\n setMaintenanceObj({\r\n showPopup: false, type: \"Notset\", main: \"\", sub1: \"\", sub2: \"\"\r\n });\r\n\r\n\r\n }, 1000);\r\n\r\n\r\n } else {\r\n toast.warning(trans(\"info:can_reserve_service\"));\r\n setIsSendeng(false);\r\n\r\n }\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")} \r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n
    \r\n
    */}\r\n
    \r\n }\r\n\r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n
    \r\n {trans(\"new:You-will-be-contacted\")}\r\n
    \r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(location.pathname);\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\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 {Fragment, useState} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nexport function SubServiceBox({linkTxt=\"عرض التفاصيل\",small = true, link,img,titleEn=\"not set title\",subtitleEn=\"not set subtitle\",titleAr=\"غيار المحركات\",subtitleAr=\"غيار المحركات\"}) {\r\n const [lang,setlang]=useState( localStorage.getItem('i18nextLng'));\r\n let {titel}=lang===\"en\"?titleEn:titleAr;\r\n let image = \"/assets/images/car-bg.png\";\r\n image = img!== \"null\" ? \"data:image/png;base64,\" +img :image;\r\n return (\r\n \r\n \r\n
    \r\n \"service\"\r\n
    \r\n
    \r\n

    {titel}

    \r\n {linkTxt}\r\n
    \r\n \r\n
    \r\n );\r\n}","import {Fragment, useEffect, useState} from \"react\";\r\nimport Banner from \"../../components/banner\";\r\nimport SwiperCore, {Autoplay, EffectFade, Navigation, Pagination} from \"swiper\";\r\nimport {TestimonialSection} from \"../../sections/testimonialSection\";\r\nimport {WhyHJSection} from \"../../sections/whyHJSection\";\r\nimport {AboutHJSection} from \"../../sections/aboutHJ\";\r\nimport {ServiceBox} from \"../../components/serviceBox\";\r\nimport PageHeading from \"../../components/__simple/_pageheading\";\r\nimport Info from \"../../components/_info\";\r\nimport {OfferSections} from \"../../sections/offersSection\";\r\nimport {SimpleBanner} from \"../../components/__simple/_simpleBanner\";\r\nimport {SubServiceBox} from \"./components/subServiceBox\";\r\nimport InfoCircle from \"../../components/__simple/_infoCirclejsx\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {useParams} from \"react-router\";\r\nimport axios from \"axios\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Offer from \"../../components/offer\";\r\nimport config from \"../../configuration/config.json\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function MaintenanceServicePage() {\r\n let {CATid} = useParams();\r\n const [offers, setOffers] = useState([]);\r\n const {t: trans} = useTranslation([\"maintenance\", \"home\"]);\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + lang;\r\n let content = \"\";\r\n let title = \"\";\r\n let subtitle = \"\";\r\n let excerpt = \"\";\r\n let upDesc = \"\";\r\n let upTitle = \"\";\r\n let categoryId = 0;\r\n let image = \"/assets/images/offers/bg.png\";\r\n let upImage = \"/assets/images/offers/bg.png\";\r\n const GetUrl = config.baseURL + 'details';\r\n const [CAT, setCAT] = useState([]);\r\n\r\n function RequsetCAT() {\r\n const Body = {\r\n \"object\": \"siteMaintenanceCategories\",\r\n \"ObjectSettings\": {\"MetaData\": false},\r\n \"Filters\": \"where GUID='\" + CATid + \"'\"\r\n };\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.ApiObjectData);\r\n setTimeout(setCAT(response.data.ApiObjectData), 1000);\r\n RequsetRCAT(response.data.ApiObjectData[\"0\"].categoryId);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [Featured, setFeatured] = useState([]);\r\n\r\n function RequsetFeatured() {\r\n const Body = {\r\n \"object\": \"SiteMaintenanceSpecial\",\r\n \"ObjectSettings\": {\"MetaData\": false}\r\n };\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.ApiObjectData);\r\n setTimeout(setFeatured(response.data.ApiObjectData), 1000);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n ///////الخدمات الفرعيه\r\n const [RCAT, setRCAT] = useState([]);\r\n\r\n function RequsetRCAT(catId) {\r\n const Body = {\r\n \"object\": \"siteMaintenanceServices\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n\r\n },\r\n \"Filters\": \"where categoryId=\" + catId\r\n\r\n\r\n }\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.ApiObjectData);\r\n setTimeout(setRCAT(response.data.ApiObjectData), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(async () => {\r\n\r\n RequsetCAT();\r\n RequsetFeatured();\r\n\r\n\r\n }, [])\r\n useEffect(async () => {\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/maintenance/offers/\" + RCAT[0].categoryId,\r\n method: \"get\",\r\n });\r\n\r\n setOffers(response.data);\r\n\r\n } catch (error) {\r\n\r\n }\r\n }, [RCAT])\r\n\r\n // console.log(ٌCAT);\r\n if (CAT.length !== 0) {\r\n content = lang === \"en\" ? CAT[\"0\"].contentEn : CAT[\"0\"].contentAr;\r\n title = lang === \"en\" ? CAT[\"0\"].titleEn : CAT[\"0\"].titleAr;\r\n subtitle = lang === \"en\" ? CAT[\"0\"].subtitleEn : CAT[\"0\"].subtitleAr;\r\n excerpt = lang === \"en\" ? CAT[\"0\"].excerptEn : CAT[\"0\"].excerptAr;\r\n upDesc = lang === \"en\" ? CAT[\"0\"].upDescEn : CAT[\"0\"].upDescAr;\r\n upTitle = lang === \"en\" ? CAT[\"0\"].upTitleEn : CAT[\"0\"].upTitleAr;\r\n image = CAT[\"0\"].image !== \"null\" ? \"data:image/png;base64,\" + CAT[\"0\"].image : image;\r\n upImage = CAT[\"0\"].upImage !== \"null\" ? \"data:image/png;base64,\" + CAT[\"0\"].upImage : upImage;\r\n categoryId = CAT[\"0\"].categoryId;\r\n console.log(\"content\", content);\r\n console.log(\"title\", title);\r\n console.log(\"subtitle\", subtitle);\r\n console.log(\"excerpt\", excerpt);\r\n console.log(\"categoryId\", categoryId);\r\n console.log(\"CAT\", CAT);\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\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {RCAT.map(RC => (\r\n\r\n \r\n ))}\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {\r\n CAT.map((BN,index) => {\r\n if (lang === \"en\" && BN != null && BN.bannerEn !== null && BN.bannerEn !== \"null\") {\r\n\r\n return (\"banner\"/);\r\n\r\n } else if (BN != null && BN.bannerAr !== null && BN.bannerAr !== \"null\") {\r\n\r\n return (\"banner\"/)\r\n\r\n }\r\n })\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {Featured.map((a,index) => (\r\n\r\n \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 {Fragment, useEffect, useState} from \"react\";\r\nimport Banner from \"../../components/banner\";\r\nimport SwiperCore, {Autoplay, EffectFade, Navigation, Pagination} from \"swiper\";\r\nimport {WhyHJSection} from \"../../sections/whyHJSection\";\r\nimport Info from \"../../components/_info\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {useParams} from \"react-router\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from \"../../configuration/config.json\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\n\r\nexport function MaintenanceServiceDetailPage() {\r\n let {ServicId} = useParams();\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const langaugeDir = 'language-' + lang;\r\n const {t:trans} = useTranslation(['info'])\r\n /////// تفثاصبل الخدمات الفرعيه\r\n const GetUrl = config.baseURL + 'details';\r\n\r\n const [CAT, setCAT] = useState([]);\r\n\r\n function RequsetRCAT(catId) {\r\n const Body = {\r\n \"object\": \"siteMaintenanceServices\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": \"where GUID='\" + ServicId + \"'\"\r\n\r\n\r\n }\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.ApiObjectData);\r\n setTimeout(setCAT(response.data.ApiObjectData), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n let title = \"\";\r\n let subtitle = \"\";\r\n let excerpt = \"\";\r\n let categoryId = 0;\r\n let image = \"/assets/images/offers/bg.png\";\r\n let content = \"\";\r\n let upDesc = \"\";\r\n let upTitle = \"\";\r\n let upImage = \"/assets/images/offers/bg.png\";\r\n useEffect(() => {\r\n\r\n RequsetRCAT();\r\n\r\n }, [])\r\n if (CAT.length !== 0) {\r\n content = lang === \"en\" ? CAT[\"0\"].contentEn : CAT[\"0\"].contentAr;\r\n title = lang === \"en\" ? CAT[\"0\"].titleEn : CAT[\"0\"].titleAr;\r\n subtitle = lang === \"en\" ? CAT[\"0\"].subtitleEn : CAT[\"0\"].subtitleAr;\r\n excerpt = lang === \"en\" ? CAT[\"0\"].excerptEn : CAT[\"0\"].excerptAr;\r\n image = CAT[\"0\"].image !== \"null\" ? \"data:image/png;base64,\" + CAT[\"0\"].image : image;\r\n upDesc = lang === \"en\" ? CAT[\"0\"].upDescEn : CAT[\"0\"].upDescAr;\r\n upTitle = lang === \"en\" ? CAT[\"0\"].upTitleEn : CAT[\"0\"].upTitleAr;\r\n\r\n upImage = CAT[\"0\"].upImage !== \"null\" ? \"data:image/png;base64,\" + CAT[\"0\"].upImage : upImage;\r\n categoryId = CAT[\"0\"].categoryId;\r\n\r\n }\r\n return (\r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n \r\n );\r\n}"," const CarFeature = ({ value = 0, iconName = 'petrol', text, iconStyle}) => {\r\n return (\r\n
    \r\n \r\n {value}\r\n {text}\r\n \r\n
    \r\n {iconName}\r\n
    \r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default CarFeature;","import { Fragment, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport CarFeature from \"../../components/carFeature\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport axios from \"axios\";\r\nimport config from '../../configuration/config.json';\r\nimport Joi from \"joi\";\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { uniqBy } from \"lodash\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nimport dropDownResetter from \"../../utils/resetDropDown\";\r\n\r\nexport function OrderCarPage() {\r\n const { t: trans } = useTranslation([\"heading\", \"finance\", \"form\", \"model\", \"inputs\", \"info\", \"eparts\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const [error, setError] = useState({});\r\n const [banner, setbanner] = useState([]);\r\n const [product, setproduct] = useState(null);\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n custType: null,\r\n identityNo: '',\r\n cn: '',\r\n address: '',\r\n email: '',\r\n phoneNumber: '',\r\n quantity: 1,\r\n message: '',\r\n note: '',\r\n selectedProduct: '',\r\n selectedModel: '',\r\n selectedColor: ''\r\n });\r\n const [showProductSection, setShowProductSection] = useState(true);\r\n const [brands, setBrands] = useState([]);\r\n const [brand, setBrand] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [year, setYear] = useState(null);\r\n const [fColors, setFColors] = useState([]);\r\n //--------------------------------------------------- \r\n const [fProductGroups, setFProductGroups] = useState([]);\r\n const [productGroups, setProductGroups] = useState([]);\r\n const [products, setProducts] = useState([]);\r\n const [fProducts, setFProduct] = useState(null);\r\n const [fModels, setFModels] = useState([]);\r\n //---------------------------------------------------\r\n const [supportedColors, setSupportedColors] = useState([]);\r\n const [selectedColor, setSelectedColor] = useState(null);\r\n const [selectedObjectColor, setSelectedObjectColor] = useState(null);\r\n //---------------------------------------------------\r\n const [isLoading, setIsLoading] = useState(false);\r\n //---------------------------------------------------\r\n const [vehicleInfo, setVehicleInfo] = useState(null);\r\n //-------------- other declaration------------------\r\n const [defultMobile, setDefultMobile] = useState(\"\");\r\n const schema = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n address: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n quantity: Joi.number().min(1).required().messages(GetMessages()),\r\n selectedProduct: Joi.string().required().messages(GetMessages()),\r\n selectedModel: Joi.string().required().messages(GetMessages()),\r\n custType: Joi.string().required().messages(GetMessages()),\r\n });\r\n\r\n const schemaidentityNo = Joi.object({\r\n identityNo: Joi.string().min(10).required().messages(GetMessages()),\r\n\r\n });\r\n const schemacn = Joi.object({\r\n cn: Joi.string().min(10).required().messages(GetMessages()),\r\n\r\n });\r\n // declarations ver that using in route & searching in url\r\n const history = useHistory();\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n //------------------------------------------------------\r\n const [userTypeList, setUserTypeList] = useState([]);\r\n const [userType, setUserType] = useState(\"\");\r\n const [identityType, setIdentityType] = useState(null);\r\n\r\n const [cnValue, setCnValue] = useState(\"\");\r\n const [identityValue, setIdentityValue] = useState(\"\");\r\n\r\n // ------------\r\n useEffect(() => {\r\n\r\n initialBanner();\r\n getAllUserType();\r\n handleFilterModelsByProduct();\r\n getAllGroups();\r\n getAllBrands();\r\n getAllProducts();\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n let data = {};\r\n\r\n const val = { ...requestForm };\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n console.log(\"_userData:\", data);\r\n\r\n\r\n console.log(\"requestForm:\", val);\r\n val.name = lang == \"ar\" ? (data?.arFirstName ?? \"\") + \" \" + (data?.arMiddleName ?? \"\") + \" \" + (data?.arLastName ?? \"\") : (data?.enFirstName ?? \"\") + \" \" + (data?.enMiddleName ?? \"\") + \" \" + (data?.enLastName ?? \"\");\r\n val.address = data?.address ?? \"\";\r\n val.phoneNumber = data?.phone ?? \"\";\r\n\r\n console.log(\"phone>>>>>>>>>>>>:\", data?.phone.replace(/\\D/g, '').slice(-9).toString());\r\n if (data?.phone)\r\n setDefultMobile(data?.phone.replace(/\\D/g, '').slice(-9).toString());\r\n val.email = data?.email ?? \"\";\r\n\r\n console.log(\"val:\", val);\r\n\r\n setRequestForm(val);\r\n\r\n\r\n } catch (error) {\r\n\r\n\r\n }\r\n\r\n\r\n const productID = query.get('vehicle');\r\n const typeID = query.get('type');\r\n const model = query.get('model');\r\n const color = query.get('color');\r\n if (productID) {\r\n\r\n val.selectedProduct = String(productID);\r\n val.selectedModel = String(model);\r\n val.selectedColor = String(color);\r\n val.selectedTypeID = String(typeID);\r\n setproduct(val);\r\n if (model) {\r\n handleShowVehicleDetails(productID, model);\r\n }\r\n setRequestForm(val);\r\n setShowProductSection(false);\r\n setType(typeID);\r\n handleFetchColors(typeID, model, color);\r\n }\r\n\r\n if (color)\r\n setSelectedColor(color);\r\n\r\n fetchCarDesign(color, productID, model);\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (products && products.length > 0 && product && product.selectedTypeID && fProducts == null) {\r\n\r\n var GroupID = null;\r\n\r\n const filteredProducts = products.filter(e => e.productTypeID == product.selectedTypeID);\r\n\r\n if (filteredProducts[0])\r\n GroupID = filteredProducts[0].productGroupID;\r\n\r\n if (GroupID) {\r\n const filteredProductsbyGroupID = products.filter(e => e.productGroupID == GroupID && e.Model == product.selectedModel);\r\n setFProduct(filteredProductsbyGroupID.map(product => {\r\n return { value: product.productTypeID, text: product[`${trans(\"model:gamelDescription\")}`], ...product }\r\n }));\r\n\r\n setGroup(GroupID);\r\n } else {\r\n setFProduct([]);\r\n }\r\n\r\n\r\n }\r\n\r\n }, [product, products, fProducts]);\r\n //----------------Functions + Methods------------------------\r\n // fetch all brands from db\r\n const getAllBrands = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"InvBrands\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n , \"option\": \"column\",\r\n \"Fields\": \"BrandID,DescriptionAr,DescriptionEn\",\r\n \"filters\": \" where IsEnabled =1\"\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n setBrands(result.map(brand => {\r\n return {\r\n value: brand.BrandID, text: brand[`${trans(\"model:description\")}`]\r\n }\r\n }));\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n //It's used to intialize the banner\r\n const initialBanner = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"sitePageBanners\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"filters\": \"where bannerId=9\"\r\n }\r\n ).then(response => {\r\n setTimeout(setbanner(response.data.ApiObjectData), 500);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n // It's used to filter the groups by brand\r\n const filterModel = (option) => {\r\n\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n setType(null);\r\n setGroup(null);\r\n if (option.value == '0') {\r\n dropDownResetter(() => {\r\n setFProductGroups();\r\n setFModels([]);\r\n setFProduct([]);\r\n setFColors([]);\r\n });\r\n }\r\n setBrand(option.value);\r\n const fGroups = productGroups.filter(a => a.BrandID == option.value);\r\n setFProductGroups(fGroups.map(group => {\r\n return {\r\n value: group.ProductGroupID, text: group[`${trans(\"model:description\")}`]\r\n }\r\n }));\r\n };\r\n // Fetch all groups\r\n const getAllGroups = () => {\r\n\r\n const Body = {\r\n \"name\": \"SiteFetchAvailableGroupsOnSite\"\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setProductGroups(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n\r\n // * siteGetCustGroupsforOrder\r\n const getAllUserType = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"siteGetCustGroupsforOrder\"\r\n }\r\n ).then(response => {\r\n setUserTypeList(response.data);\r\n }).catch(err => {\r\n console.log(err);\r\n })\r\n };\r\n\r\n\r\n const handleCustType = (option) => {\r\n const val = { ...requestForm };\r\n val.custType = option;\r\n setRequestForm(val);\r\n console.log(userType);\r\n setUserType(\"\");\r\n\r\n setCnValue(\"\");\r\n setIdentityValue(\"\");\r\n\r\n try {\r\n if (option == '' || option == null || option == '0') {\r\n setIdentityType(null);\r\n return;\r\n }\r\n\r\n // const currentValue = accountTypes.find(item => {\r\n // return item.ID == option\r\n // }) ?? {};\r\n\r\n let value = null;\r\n if (option == \"G4\") {\r\n value = 1;\r\n val.cn = null;\r\n setUserType(val.cn);\r\n } else {\r\n value = 2;\r\n val.identityNo = null;\r\n setUserType(val.identityNo);\r\n }\r\n\r\n setRequestForm(val);\r\n setIdentityType(value);\r\n\r\n } catch (err) {\r\n //////console.log(err);\r\n }\r\n };\r\n\r\n\r\n //Fetch all products\r\n const getAllProducts = () => {\r\n // SiteFetchAvailableCarsOnSite\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"Name\": \"SiteFetchALLProductModelTypesOnSite\",\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n setProducts(result);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n\r\n\r\n // axios.post(\r\n // config.baseURL + \"details\",\r\n // {\r\n // \"object\": \"InvProducts\",\r\n // \"ObjectSettings\": {\r\n // \"MetaData\": false,\r\n // },\r\n // \"Option\": \"Column\",\r\n // \"Fields\": \"ProductID,DescriptionAr,DescriptionEn,ProductGroupID,Model\",\r\n // \"Filters\": `where ProductID not like 'SP%'`\r\n // }\r\n // ).then(response => {\r\n // const result = response.data.ApiObjectData;\r\n // setProducts(result);\r\n\r\n // }).catch(err => {\r\n // console.log(err);\r\n // });\r\n };\r\n // to get the model of the product\r\n const handleFilterModelsByProduct = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"InvProductModel\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"modelID\",\r\n \"Filters\": `where modelID >='2015' `\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n const models = result.map(item => {\r\n return item.modelID\r\n });\r\n const uniqueModels = uniqBy(models, (mY) => {\r\n return mY;\r\n }).filter((value) => {\r\n return value !== null\r\n }).map(item => {\r\n return { text: item, value: item }\r\n });\r\n setFModels(uniqueModels);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n //Filter the products by group\r\n const filterProductsByGroup = (option) => {\r\n setType(null);\r\n setGroup(null);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n if (option.value == '0') {\r\n dropDownResetter(() => {\r\n setFProduct([]);\r\n setFModels([]);\r\n });\r\n }\r\n setGroup(option.value);\r\n const filteredProducts = products.filter(e => e.productGroupID == option.value && e.Model == requestForm.selectedModel);\r\n setFProduct(filteredProducts.map(product => {\r\n return { value: product.productTypeID, text: product[`${trans(\"model:gamelDescription\")}`], ...product }\r\n }));\r\n };\r\n const handleSendRequest = async () => {\r\n\r\n if (isLoading == true)\r\n return;\r\n\r\n let result = formValidate(schema, requestForm) ?? {};\r\n\r\n // ex:\r\n // const mergedObj = Object.assign({}, obj1, obj2);\r\n if (identityType && identityType == 1) {\r\n const result22 = formValidate(schemaidentityNo, requestForm) ?? {};\r\n result = { ...result, ...result22 }\r\n\r\n } else {\r\n\r\n const result33 = formValidate(schemacn, requestForm) ?? {};\r\n result = { ...result, ...result33 }\r\n\r\n }\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0) {\r\n if (supportedColors?.length > 0 && selectedColor == null) {\r\n toast.error(trans(\"finance:color_not_select\"));\r\n setIsLoading(false);\r\n return;\r\n }\r\n setIsLoading(true);\r\n const basicInfo = await getMainUserData();\r\n\r\n axios.post(\r\n config.baseURL + \"add\",\r\n {\r\n \"Object\": \"SitePurchaseVehicleOrder\",\r\n \"Values\": {\r\n \"Name\": requestForm.name,\r\n \"Phone\": requestForm.phoneNumber,\r\n \"Email\": requestForm.email,\r\n \"Message\": requestForm.message,\r\n \"Address\": requestForm.address,\r\n \"Quantity\": Number(requestForm.quantity),\r\n \"ColorID\": (selectedColor != null || selectedColor != '') ? String(selectedColor) : null,\r\n \"Web_UserID\": basicInfo ? Number(basicInfo.userId) : null,\r\n \"CustID\": basicInfo ? basicInfo.custId ? String(basicInfo.custId) : null : null,\r\n \"ProductID\": requestForm.selectedProduct,\r\n \"ModelYear\": requestForm.selectedModel,\r\n \"CustGroupID\": requestForm.custType,\r\n \"TaxationNumber\": cnValue ?? \"\",\r\n \"AddtionalNo\": identityValue ?? \"\",\r\n }\r\n }\r\n ).then(response => {\r\n toast.success(trans(\"common:order-request-success\"));\r\n setIsLoading(false);\r\n history.push(\"/\");\r\n }).catch(err => {\r\n toast.error(trans(\"finance:error_send_data\"));\r\n setIsLoading(false);\r\n });\r\n\r\n }\r\n };\r\n // get the main essetional info about user [web_user_id & cust_id]\r\n const getMainUserData = async () => {\r\n let data = null;\r\n try {\r\n const _data = JSON.parse(getData(User_Data_Key, true));\r\n if (localStorage.getItem(\"isAuthenticated\")) {\r\n data = {\r\n userId: Number(_data.id.toString().split('_')[1]),\r\n custId: _data.custID\r\n };\r\n } else {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"web_users\",\r\n \"Option\": \"Column\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n \"Limit\": {\r\n \"Value\": 1,\r\n \"Optional\": \"Top\"\r\n }\r\n },\r\n \"Fields\": \"Web_UserId,CustID\",\r\n \"Filters\": `where lower(email) = lower('${requestForm.email}')`\r\n }\r\n );\r\n if (response.status == 200) {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const finalResult = result[0];\r\n data = {\r\n userId: finalResult.Web_UserId,\r\n custId: finalResult.CustID\r\n };\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return data;\r\n };\r\n const handleFetchColors = (productTypeID, modelYear, defultColor) => {\r\n\r\n if (productTypeID != '' && modelYear != '') {\r\n axios.post(\r\n config.baseURL + 'func',\r\n // {\r\n // \"name\": \"SiteGetColorsByProduct\",\r\n // \"values\": {\r\n // \"productID\": `${productID}`,\r\n // \"model\": `${model}`\r\n // }\r\n // }\r\n\r\n {\r\n \"Name\": \"site_fetchColorOfType\",\r\n \"Values\": {\r\n \"Type\": productTypeID,\r\n \"model\": modelYear\r\n }\r\n }\r\n ).then(response => {\r\n const filterColors = response.data.map((item) => {\r\n return {\r\n text: (lang == \"ar\" ? item?.ColorDescriptionAr : item?.ColorDescriptionEn),\r\n value: item.ColorID, ...item\r\n }\r\n });\r\n setFColors(filterColors);\r\n\r\n if (defultColor) {\r\n setSelectedColor(defultColor);\r\n } else {\r\n\r\n if (filterColors && filterColors[0]) {\r\n setSelectedColor(filterColors[0].value);\r\n }\r\n }\r\n if (response.data[0])\r\n handleShowVehicleDetails(response.data[0].ProductID, modelYear);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n\r\n\r\n }\r\n };\r\n //Show the vehicle details[image-features]\r\n const handleShowVehicleDetails = (productID, model) => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetMoreCarInfo\",\r\n \"values\": {\r\n \"productID\": `${productID}`,\r\n \"model\": `${model}`\r\n }\r\n }\r\n ).then(response => {\r\n setVehicleInfo(response.data[0]);\r\n }).catch(err => {\r\n console.log(err);\r\n })\r\n };\r\n\r\n\r\n\r\n const [cashCarImages, setCashCarImages] = useState({});\r\n const [outerCarImagesJson, setOuterCarImagesJson] = useState(null);\r\n const [isLoadingImages, setIsLoadingImages] = useState(false);\r\n const fetchCarDesign = async (activeColor, model, year) => {\r\n\r\n // console.log(\"activeColor>>>>>>>>>>>>>>>>>>>>>>>>>:\", activeColor);\r\n // console.log(\"model>>>>>>>>>>>>>>>>>>>>>>>>>:\", model);\r\n if (isLoadingImages == false) {\r\n\r\n const Namefiled = \"frontImage,leftImage,backImage,sideImage,rightImage,mainColorImage\"\r\n\r\n const prefix = 'data:image/png;base64,';\r\n if (model) {\r\n if (cashCarImages[model + \"-part-\" + 0]) {\r\n setIsLoadingImages(false);\r\n var AllCarImagesOUT = cashCarImages[model + \"-part-\" + 0];\r\n setOuterCarImagesJson(AllCarImagesOUT);\r\n\r\n } else {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //SiteFetchCarColorImages\r\n \"Name\": \"SiteFetchCarColorCodeImages\",\r\n \"Values\": {\r\n \"Id\": model,\r\n \"year\": year,\r\n // \"ColorID\": String(codeColor),\r\n \"ColorID\": null,\r\n \"FieldNameList\": null\r\n }\r\n }\r\n ).then(response => {\r\n setIsLoadingImages(false);\r\n var maincolorimageIndex = 0;\r\n // console.log(\"SiteFetchCarColorCodeImages responseData>>>>>>>>>>>>>>>>>>>>>>>>>:\", response.data);\r\n if (Array.isArray(response.data)) {\r\n const responseData = response.data;\r\n const groupResult = mapValues(groupBy(responseData, 'ColorCode'), fList => fList.map(items => omit(items, 'ColorCode')));\r\n\r\n // console.log(\"responseData groupResult>>>>>>>>>>>>>>>>>>>>>>>>>:\", groupResult);\r\n setOuterCarImagesJson(groupResult);\r\n cashCarImages[model + \"-part-\" + 0] = groupResult;\r\n setCashCarImages(cashCarImages);\r\n setIsLoadingImages(false);\r\n\r\n }\r\n }).catch(error => {\r\n // console.log(error);\r\n setIsLoadingImages(false);\r\n // cashCarImages[model + \"-part-\" + 0] = {};\r\n });\r\n\r\n }\r\n\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n\r\n {/* {banner.map(BN => {\r\n\r\n if (lang === \"en\") {\r\n return ();\r\n } else {\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 const val = { ...requestForm };\r\n val.name = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:name\")}\r\n name='name'\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.address = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:address\")}\r\n name='name'\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${key}${value}`;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.email}\r\n placeholder={trans(\"form:email\")}\r\n name='email'\r\n />\r\n\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.note = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='note'\r\n\r\n row={3}\r\n\r\n />\r\n {/* {\r\n const val = { ...requestForm };\r\n val.message = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='message'\r\n title={trans(\"form:message\")}\r\n /> */}\r\n
    \r\n
    \r\n\r\n {\r\n // \r\n
    \r\n\r\n {\r\n return { text: item.DescriptionAr, value: item.ID }\r\n })]}\r\n onSelect={handleCustType}\r\n\r\n selectedValue={requestForm.custType}\r\n />\r\n\r\n {\r\n (requestForm?.custType == null)\r\n ? <>\r\n :
    \r\n {\r\n const val = { ...requestForm };\r\n if (identityType && identityType == 1) {\r\n\r\n val.identityNo = e.target.value;\r\n setIdentityValue(e.target.value);\r\n\r\n } else {\r\n\r\n val.cn = e.target.value;\r\n setCnValue(e.target.value);\r\n }\r\n setRequestForm(val);\r\n }}\r\n\r\n onLeave={(e) => {\r\n console.log(\"eeeeeeeeeeeeeeeeeeeeeeeeeeeeee\", e);\r\n }}\r\n />\r\n
    \r\n }\r\n\r\n
    \r\n //\r\n }\r\n\r\n {showProductSection && <>\r\n \r\n {\r\n const val = { ...requestForm };\r\n val.selectedModel = String(e);\r\n setYear(e);\r\n setRequestForm(val);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n handleFetchColors(val.selectedProduct, e);\r\n }\r\n }\r\n />\r\n \r\n\r\n \r\n }\r\n {\r\n\r\n if (e.value == '0') {\r\n dropDownResetter(() => {\r\n setFModels([]);\r\n setFColors([]);\r\n });\r\n return;\r\n }\r\n const val = { ...requestForm };\r\n val.productTypeID = String(e.value);\r\n setType(val.productTypeID);\r\n setRequestForm(val);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n handleFetchColors(e.productTypeID, val.selectedModel);\r\n }\r\n }\r\n />\r\n\r\n {\r\n fColors.length > 0 && (\r\n {\r\n setSelectedColor(option);\r\n // setOuterCarImagesJson(null);\r\n console.log(\"fColors:\", fColors);\r\n console.log(\"option:\", option);\r\n const objectColor = fColors.filter(c => c.value == option)[0]?.ProductID;\r\n console.log(\"objectColor:\", objectColor);\r\n fetchCarDesign(option, objectColor, requestForm.selectedModel);\r\n }}\r\n options={[...fColors]}\r\n />\r\n )\r\n }\r\n {\r\n const val = { ...requestForm };\r\n val.quantity = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.quantity}\r\n name='quantity'\r\n />\r\n\r\n\r\n
    \r\n
    \r\n

    {lang == \"ar\" ? vehicleInfo?.brand : vehicleInfo?.brandEn}

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

    {lang == \"ar\" ? vehicleInfo?.ModelTypes : vehicleInfo?.ModelTypesEn}

    \r\n
    \r\n {vehicleInfo &&
    \r\n\r\n\r\n {outerCarImagesJson &&\r\n\r\n outerCarImagesJson[selectedColor?.split(\"/\")[0]] ?\r\n\r\n \"car\"\r\n :\r\n
    \r\n {/* {\r\n trans(\"finance:no_image_set\")\r\n } */}\r\n
    \r\n\r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n {\r\n if (isLoading == false)\r\n await handleSendRequest();\r\n }}\r\n />\r\n
    \r\n
    \r\n );\r\n}","import { Fragment, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { PhoneInput } from \"../../components/_input/_phoneInput\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { CarColorPicker } from \"../vehicles/components/colorPicker\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport axios from \"axios\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate, validateProperty } from '../../utils/validation';\r\nimport { toast } from \"react-toastify\";\r\nimport _ from 'lodash';\r\nexport function OrderFinancePage() {\r\n const history = useHistory();\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n const { t: trans } = useTranslation([\"error\", \"heading\", \"model\", \"vehicales\", \"form\", \"finance\", \"common\"]);\r\n const [selectedColor, setSelectedColor] = useState(null);\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n const [offerId, setOfferId] = useState();\r\n const [terms, setTerms] = useState(null);\r\n const [vehicleDetails, setVehicleDetails] = useState({});\r\n const [supportedColors, setSupportedColors] = useState([]);\r\n const [error, setError] = useState({});\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [banner, setbanner] = useState([]);\r\n const [userData, setUserData] = useState({\r\n name: '',\r\n address: '',\r\n email: '',\r\n phoneNumber: '',\r\n quantity: 1,\r\n message: '',\r\n note: ''\r\n\r\n });\r\n\r\n const schema = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n address: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false} }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().length(13).required().messages(GetMessages()),\r\n quantity: Joi.number().min(1).required().messages(GetMessages())\r\n });\r\n\r\n useEffect(() => {\r\n try {\r\n const id = query.get(\"id\").split(\"_\")[1];\r\n setOfferId(id);\r\n initialBanner();\r\n initialVehicle(id);\r\n initialColors();\r\n initialTerms();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n const initialTerms = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"Financil_Bank_Condations\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `where ShowInWebsite = 1 and bankId = '${query.get(\"b\")}'`\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n setTerms(result.map(e => {\r\n return { description: e[`${trans(\"model:description\")}`] }\r\n })[0]);\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n // initial colors\r\n const initialColors = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"SiteColorView\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const colors = result.filter(ee => {\r\n return (ee.CarGroupID == query.get(\"group\") && (query.get(\"model\") >= ee.StartModel && query.get(\"model\") <= ee.EndModel))\r\n })\r\n setSupportedColors(colors);\r\n };\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n // initilal vehicle values\r\n const initialVehicle = (offerId) => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"SiteCarsFinanceDataView\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"column\",\r\n \"Fields\": \"HorsePower,Cylinder,Liter,Petrol,Seats,GroupImage\",\r\n \"Filters\": `where EndFinance = 0 and BankTermId = ${offerId}`\r\n }\r\n ).then(respone => {\r\n const result = respone.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const info = result[0];\r\n setVehicleDetails({\r\n hoursePower: info.HorsePower,\r\n cylinder: info.Cylinder,\r\n liter: info.Liter,\r\n petrol: info.Petrol,\r\n seats: info.Seats,\r\n image: info.GroupImage\r\n });\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n // send request\r\n const handleRequestOrder = async () => {\r\n const result = formValidate(schema, userData) ?? {};\r\n setError(result);\r\n if (Object.keys(result).length === 0) {\r\n setIsLoading(true);\r\n if (supportedColors?.length > 0 && selectedColor == null) {\r\n toast.error(trans(\"finance:color_not_select\"));\r\n setIsLoading(false);\r\n return;\r\n }\r\n const data = await getNewUserID();\r\n alert(JSON.stringify(data));\r\n if (data.hasAlready) {\r\n const statusOrder = await createOrder(data.id);\r\n alert(JSON.stringify(statusOrder));\r\n if (statusOrder) {\r\n toast.success(trans(\"common:order-request-success\"));\r\n setError({});\r\n history.push(\"/finance\")\r\n } else {\r\n toast.error(trans(\"finance:error_send_data\"));\r\n }\r\n } else {\r\n const status = await createFinancialUser(data.id);\r\n if (status) {\r\n const statusOrder = await createOrder(data.id);\r\n if (statusOrder) {\r\n toast.success(trans(\"common:order-request-success\"));\r\n setError({});\r\n history.push(\"/finance\")\r\n } else {\r\n toast.error(trans(\"finance:error_send_data\"));\r\n }\r\n } else {\r\n toast.error(trans(\"finance:error_send_data\"));\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n // initilaize the new id for the financial user\r\n const getNewUserID = async () => {\r\n let userInfo = {\r\n hasAlready: false,\r\n id: 1\r\n };\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"CustTable_Finance\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"FinancialUserID,Email\"\r\n }\r\n );\r\n if (response.status == 200) {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const userExisting = result.find(e => e.Email.toString().toLowerCase() == userData.email.toLowerCase());\r\n if (userExisting) {\r\n userInfo.hasAlready = true;\r\n userInfo.id = userExisting.FinancialUserID;\r\n } else {\r\n const arr = result.map(e => Number(e.FinancialUserID));\r\n const maxNumber = _.max(arr) + 1;\r\n userInfo.id = maxNumber;\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return userInfo;\r\n };\r\n // get the main essetional info about user [web_user_id & cust_id]\r\n const getMainUserData = async () => {\r\n let data = null;\r\n try {\r\n if (localStorage.getItem(\"isAuthenticated\")) {\r\n data = {\r\n userId: localStorage.getItem(\"userId\"),\r\n custId: localStorage.getItem(\"custId\") != 'null'?localStorage.getItem(\"custId\"):null\r\n };\r\n } else {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"web_users\",\r\n \"Option\": \"Column\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n \"Limit\": {\r\n \"Value\": 1,\r\n \"Optional\": \"Top\"\r\n }\r\n },\r\n \"Fields\": \"Web_UserId,CustID\",\r\n \"Filters\": `where lower(email) = lower('${userData.email}')`\r\n }\r\n );\r\n if (response.status == 200) {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const finalResult = result[0];\r\n data = {\r\n userId: finalResult.Web_UserId,\r\n custId: finalResult.CustID\r\n };\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return data;\r\n };\r\n // create new financial user\r\n const createFinancialUser = async (id) => {\r\n let success = false;\r\n try {\r\n const basicData = await getMainUserData();\r\n const response = await axios.post(\r\n config.baseURL + \"add\",\r\n {\r\n \"Object\": \"CustTable_Finance\",\r\n \"Values\": {\r\n \"FinancialUserID\": id,\r\n \"Web_UserId\": basicData ? Number(basicData.userId) : null,\r\n \"CustID\": basicData ? basicData.custId ? String(basicData.custId) : null : null,\r\n \"Name\": userData.name.trim(),\r\n \"Phone\": userData.phoneNumber,\r\n \"Email\": userData.email,\r\n \"Adderss\": userData.address\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n success = true;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return success;\r\n };\r\n // create new financial order\r\n const createOrder = async (id) => {\r\n let success = false;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"add\",\r\n {\r\n \"Object\": \"FinanceOrdersTable\",\r\n \"Values\": {\r\n \"FinanceUserID\": Number(id),\r\n \"BankOfferID\": Number(offerId),\r\n \"ColorID\": selectedColor ? String(selectedColor.id) : null,\r\n \"Quantity\": Number(userData.quantity),\r\n \"Note\": userData.note,\r\n \"Message\": userData.message\r\n }\r\n }\r\n );\r\n alert(JSON.stringify(response));\r\n if (response.status == 200 || response.status ==201) {\r\n success = true;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return success;\r\n };\r\n //It's used to intialize the banner\r\n const initialBanner = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"sitePageBanners\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"filters\": \"where bannerId=7\"\r\n }\r\n ).then(response => {\r\n setTimeout(setbanner(response.data.ApiObjectData), 500);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n return (\r\n \r\n\r\n {banner.map(BN => {\r\n\r\n if (lang === \"en\") {\r\n return ();\r\n } else {\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 {trans(\"finance:finance_terms\")}\r\n
    \r\n {
      \" + terms?.description.replaceAll(\"\\n\", \"
    • \") + \"
    • \"\r\n }}>\r\n\r\n
    }\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"finance:personal_info\")}

    \r\n {\r\n const val = { ...userData };\r\n val.name = e.target.value;\r\n setUserData(val);\r\n }}\r\n title={trans(\"form:name\")}\r\n name='name'\r\n />\r\n {\r\n const val = { ...userData };\r\n val.address = e.target.value;\r\n setUserData(val);\r\n }}\r\n title={trans(\"form:address\")}\r\n name='address'\r\n />\r\n {\r\n const val = { ...userData };\r\n val.phoneNumber = e;\r\n setUserData(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...userData };\r\n val.email = e.target.value;\r\n setUserData(val);\r\n }}\r\n errorLabel={error?.email}\r\n title={trans(\"form:email\")}\r\n name='email'\r\n />\r\n {\r\n const val = { ...userData };\r\n val.message = e;\r\n setUserData(val);\r\n }\r\n }\r\n name='message'\r\n title={trans(\"form:message\")}\r\n />\r\n
    {trans(\"finance:vehicle_info\")}
    \r\n\r\n {\r\n const val = { ...userData };\r\n val.quantity = e.target.value;\r\n setUserData(val);\r\n }}\r\n errorLabel={error?.quantity}\r\n title={trans(\"finance:quantity\")}\r\n name='quantity'\r\n />\r\n {\r\n const val = { ...userData };\r\n val.note = e;\r\n setUserData(val);\r\n }\r\n }\r\n name='note'\r\n title={trans(\"finance:note\")}\r\n />\r\n
    \r\n {\r\n supportedColors && supportedColors?.map(color => {\r\n return setSelectedColor({\r\n id: color.ColorID,\r\n active: color.HexCode\r\n })}\r\n active={selectedColor?.active} />\r\n })\r\n }\r\n
    \r\n\r\n
    \r\n\r\n \"car\"\r\n\r\n
    \r\n
    \r\n \r\n \r\n {\r\n vehicleDetails.petrol ?? \"0\"\r\n }\r\n \r\n {trans(\"vehicales:veh-petrol\")}\r\n \r\n
    \r\n \"petrol\"\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n vehicleDetails.seats ?? \"0\"\r\n }\r\n \r\n {trans(\"vehicales:veh-seat\")}\r\n \r\n
    \r\n \"seats\"\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n vehicleDetails.cylinder ?? \"0\"\r\n }\r\n \r\n {trans(\"vehicales:veh-cle\")}\r\n \r\n
    \r\n \"cylinders\"\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {\r\n vehicleDetails.hoursePower ?? \"0\"\r\n }\r\n \r\n {trans(\"vehicales:veh-eng\")}\r\n\r\n \r\n
    \r\n \"engine\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleRequestOrder()}\r\n name={trans(\"form:send-order\")}\r\n />\r\n
    \r\n
    \r\n );\r\n}","import ErrorLabel from '../../components/error';\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function DateInput({name,title , errorLabel , onSelect, type = \"date\" , value}) {\r\n const { t: trans,i18n } = useTranslation([\"info\"]);\r\n let lang =i18n.language;\r\n let languageDir = \"language-\" + lang;\r\n return (\r\n
    \r\n \r\n \r\n onSelect(e)} value={value} name={name} className={\"input-field bg-white\"} type={type} lang=\"en\"/>\r\n \r\n
    \r\n );\r\n}\r\n","import {Fragment, useEffect, useState} from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport {InputField} from \"../../components/_input/_input\";\r\nimport {TextArea} from \"../../components/_input/_textArea\";\r\nimport {DropDownInput} from \"../../components/_input/_dropdown\";\r\nimport {FormButton} from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport {DateInput} from \"../../components/_input/_dateInput\";\r\nimport {CheckInput} from \"../../components/_input/_checkInput\";\r\nimport axios from \"axios\";\r\nimport {useLocation, useParams} from \"react-router\";\r\nimport {PhoneInput} from \"../../components/_input/_phoneInput\";\r\nimport Joi from 'joi';\r\nimport {GetMessages , formValidate,validateProperty} from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport { toast } from \"react-toastify\";\r\nimport {getCleanSlug,slugCombine} from '../../utils/slugManager';\r\n\r\nexport function MaintenanceOrderPage() {\r\n const {t: trans} = useTranslation([\"heading\", \"maintenance\", \"form\",\"inputs\",\"eparts\"]);\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n address: '',\r\n phoneNumber: '',\r\n email: '',\r\n message: '',\r\n selectedBrand: '',\r\n selectedGroup: '',\r\n selectedType: '',\r\n selectedBranch: '',\r\n selectedOffer:'',\r\n maintenanceDate: ''\r\n });\r\n const [error, setError] = useState({});\r\n const [selectedPrivacy , setSelectedPrivacy] = useState(false);\r\n const schema = Joi.object({\r\n name:Joi.string().required().messages(GetMessages()),\r\n address:Joi.string().required().messages(GetMessages()),\r\n email:Joi.string().email({minDomainSegments: 2, tlds: { allow: false}}).required().messages(GetMessages()),\r\n phoneNumber:Joi.string().length(13).required().messages(GetMessages()),\r\n message:Joi.string().required().messages(GetMessages()),\r\n selectedBrand:Joi.string().required().messages(GetMessages()),\r\n selectedGroup:Joi.string().required().messages(GetMessages()),\r\n selectedType:Joi.string().required().messages(GetMessages()),\r\n selectedBranch:Joi.string().required().messages(GetMessages()),\r\n maintenanceDate:Joi.string().required().messages(GetMessages()),\r\n });\r\n\r\n let {service} = useParams();\r\n\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [serviceData, setServiceData] = useState({});\r\n const [locations, setLocations] = useState([{text: \"\", value: \"\"}]);\r\n const [offers, setOffers] = useState([{text: \"\", value: \"\"}]);\r\n \r\n const submitRequest = async () => {\r\n const result = formValidate(schema, requestForm)??{};\r\n setError(result);\r\n if(selectedPrivacy){\r\n try { \r\n if (Object.keys(result).length === 0) {\r\n const response = await axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\":\"siteCarMaintenanceRequests\",\r\n \"values\":{\r\n \"name\": requestForm.name,\r\n \"address\":requestForm.address,\r\n \"phoneNumber\":requestForm.phoneNumber,\r\n \"email\":requestForm.email,\r\n \"message\":requestForm.message,\r\n \"brandId\":requestForm.selectedBrand,\r\n \"groupId\":requestForm.selectedGroup,\r\n \"typeId\":requestForm.selectedType,\r\n \"branchId\":requestForm.selectedBranch,\r\n \"categoryId\":parseInt(serviceData.categoryID),\r\n \"serviceId\":parseInt(serviceData.serviceID),\r\n \"offerId\": (requestForm.selectedOffer != '' ? Number(requestForm.selectedOffer) : null), \r\n \"created_at\":requestForm.maintenanceDate\r\n }\r\n }\r\n );\r\n console.log('response' , response);\r\n if(response.status === 200 || response.status === 201){\r\n const defaultValue = {...requestForm}; \r\n setRequestForm({\r\n name: '',\r\n address: '',\r\n phoneNumber: defaultValue.phoneNumber,\r\n email: '',\r\n message: '',\r\n selectedBrand: defaultValue.selectedBrand,\r\n selectedGroup: defaultValue.selectedGroup,\r\n selectedType: defaultValue.selectedType,\r\n selectedBranch: defaultValue.selectedBranch,\r\n selectedOffer:defaultValue.selectedOffer,\r\n maintenanceDate: ''\r\n });\r\n setError({});\r\n toast.success(trans(\"eparts:success-sent\"));\r\n //alert(trans(\"employment:success_employment_success\"));\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }else{\r\n toast.error(trans(\"common:not-agree\"));\r\n } \r\n }\r\n\r\n///starting_code_hamza\r\nconst [Brands,setBrands]=useState([]);\r\nconst [ProductGroups,setProductGroups]=useState([]);\r\nconst [ProductModel,setProductModel]=useState([]);\r\nconst [ProductModelTypes,setProductModelTypes]=useState([]);\r\nconst [brand, setBrand] = useState(\"0\");\r\nconst [group, setGroup] = useState( \"0\");\r\n\r\n\r\n //values for filter dropdown\r\n const [FProductGroups,setFProductGroups]=useState([]);\r\n const [FProductModelTypes,setFProductModelTypes]=useState([]);\r\n\r\n\r\nfunction filterModel(option)\r\n{\r\n setBrand(option.value);\r\n setFProductGroups(ProductGroups.filter(a=>a.BrandID===option.value));\r\n console.log(FProductGroups);\r\n} \r\nfunction filterModelType(option)\r\n{\r\n setGroup(option.value);\r\n setFProductModelTypes(ProductModelTypes.filter(a=>a.ProductGroupID===option.value));\r\n console.log(FProductModelTypes);\r\n} \r\nconst GetUrl= config.baseURL + 'details';\r\nasync function SendRequset()\r\n{\r\n \r\n const BodyBrands={\r\n \"object\":\"InvBrands\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n }\r\n ,\"option\":\"column\",\r\n \"Fields\":\"BrandID,DescriptionAr,DescriptionEn\"\r\n\r\n};\r\n const requestBrands= axios.request({\r\n url: GetUrl,\r\n data: BodyBrands, method:\"POST\",responseType:\"json\"\r\n });\r\n \r\n const BodyProductGroups={\r\n \"object\":\"InvProductGroups\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false,\r\n },\r\n \"Option\":\"Column\",\r\n \"Fields\":\"DescriptionAr,DescriptionEn,ProductGroupID,BrandID\"\r\n };\r\n const requestProductGroups=axios.request({\r\n url: GetUrl,\r\n data: BodyProductGroups, method:\"POST\",responseType:\"json\"\r\n });\r\n \r\n const BodyProductModel={\r\n \"object\":\"InvProductModel\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n }\r\n };\r\n const requestProductModel=axios.request({\r\n url: GetUrl,\r\n data: BodyProductModel, method:\"POST\",responseType:\"json\"\r\n });\r\n \r\n const BodyProductModelTypes={\r\n \"object\":\"InvProductModelTypes\",\r\n \"ObjectSettings\":{\r\n \"MetaData\":false\r\n }\r\n };\r\n const requestProductModelTypes=axios.request({\r\n url: GetUrl,\r\n data: BodyProductModelTypes, method:\"POST\",responseType:\"json\"\r\n});\r\n \r\n \r\n \r\n await axios.all([requestBrands,requestProductGroups,requestProductModel,requestProductModelTypes]).then(axios.spread(function(Brands, ProductGroups, ProductModel, ProductModelTypes) {\r\n \r\n setTimeout(setBrands(Brands.data.ApiObjectData),500);\r\n setTimeout(setProductGroups(ProductGroups.data.ApiObjectData),500);\r\n setTimeout(setProductModel(ProductModel.data.ApiObjectData),500);\r\n setTimeout(setProductModelTypes(ProductModelTypes.data.ApiObjectData),500);\r\n\r\n})).catch(function (error) {\r\n console.log(error);\r\n });\r\n \r\n}\r\n\r\n///Finsh_code_hamza\r\n useEffect(async () => {\r\n try {\r\n SendRequset();\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/maintenance/orderPage/\" + service,\r\n method: \"get\",\r\n });\r\n\r\n setServiceData(response.data.service);\r\n setLocations(response.data.locations);\r\n setOffers(response.data.offers)\r\n // setJobs(response.data.employments);\r\n // setJobDepartments(response.data.jobDepartments);\r\n // setJobBranches(response.data.jobBranches);\r\n\r\n } catch (error) {\r\n\r\n }\r\n }, [service]);\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 {trans(\"maintenance:explanation\")}\r\n
    \r\n

    \r\n

    \r\n\r\n

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

    \r\n {trans(\"form:personal-info\")}\r\n

    \r\n {\r\n const val = {...requestForm};\r\n val.name = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = {...requestForm};\r\n val.address = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = {...requestForm};\r\n val.phoneNumber = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = {...requestForm};\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = {...requestForm};\r\n val.message = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n
    \r\n {trans(\"form:vehicle-info\")}\r\n
    \r\n {\r\n if (lang===\"ar\")\r\n {\r\n return {value: B.BrandID, text:B.DescriptionAr};\r\n }else {\r\n return {value: B.BrandID, text:B.DescriptionEn}; \r\n }\r\n \r\n })]}\r\n onSelect={\r\n (e)=>{\r\n const val = {...requestForm};\r\n val.selectedBrand= String(e); \r\n setRequestForm(val); \r\n }\r\n }\r\n />\r\n\r\n {\r\n\r\n if (lang===\"ar\")\r\n {\r\n return {value: B.ProductGroupID, text:B.DescriptionAr};\r\n }else {\r\n return {value: B.ProductGroupID, text:B.DescriptionEn};\r\n }\r\n \r\n })]}\r\n onfilter={filterModelType}\r\n onSelect={\r\n (e)=>{\r\n const val = {...requestForm};\r\n val.selectedGroup= String(e); \r\n setRequestForm(val); \r\n }\r\n }\r\n />\r\n\r\n {\r\n\r\n if (lang===\"ar\")\r\n {\r\n return {value: B.ProductTypeID, text:B.DescriptionAr};\r\n }else {\r\n return {value: B.ProductTypeID, text:B.DescriptionEn};\r\n }\r\n \r\n })]}\r\n onSelect={\r\n (e)=>{\r\n const val = {...requestForm};\r\n val.selectedType= String(e); \r\n setRequestForm(val); \r\n }\r\n }\r\n />\r\n\r\n\r\n
    {trans(\"form:maintenance-info\")}
    \r\n {\r\n return {\r\n text: job.content,\r\n value: job.name\r\n }\r\n })\r\n ]}\r\n onSelect={\r\n (e)=>{\r\n const val = {...requestForm};\r\n val.selectedBranch= String(e); \r\n setRequestForm(val); \r\n }\r\n }\r\n errorLabel = {error?.selectedBranch}\r\n />\r\n\r\n {/* \r\n\r\n */}\r\n {\r\n const val = {...requestForm};\r\n val.maintenanceDate = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='maintenanceDate'\r\n title={trans(\"form:maintenance-date\")}\r\n errorLabel={error?.maintenanceDate}/>\r\n
    {trans(\"form:maintenance-available-offers\")}
    \r\n\r\n {\r\n return {\r\n text: offer.content,\r\n value: offer.name\r\n }\r\n })\r\n ]}\r\n onSelect={(e)=>{\r\n const val = {...requestForm};\r\n val.selectedOffer= String(e); \r\n setRequestForm(val); \r\n }}\r\n errorLabel = {error.selectedOffer}\r\n />\r\n\r\n {\r\n setSelectedPrivacy(e.checked);\r\n }\r\n }>\r\n
    \r\n\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 {useRef, useState} from \"react\";\r\n\r\nexport default function AdviceTile({key = null ,name, content}) {\r\n const height = useRef(null);\r\n const [divHeight, setHeight] = useState(0);\r\n\r\n function showData() {\r\n setHeight(divHeight <= 0 ? height.current.scrollHeight : 0);\r\n }\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n
    {name}
    \r\n\r\n 0 && \"rotate-180\")}\r\n src={\"/assets/icons/arrow.svg\"} alt={\"show\"}/>\r\n
    \r\n
    \r\n
    \r\n {content}\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import PageHeading from \"../../components/__simple/_pageheading\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport Banner from \"../../components/banner\";\r\nimport AdviceTile from \"./components/adviceTile\";\r\nimport { WhyHJSection } from \"../../sections/whyHJSection\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { Helmet } from \"react-helmet\";\r\nexport function HJAdvisesPage() {\r\n const { t: trans } = useTranslation([\"common\"]);\r\n\r\n const [banner, setBanner] = useState({});\r\n const [advises, setAdvises] = useState([]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = \"language-\" + lang;\r\n\r\n\r\n\r\n useEffect(async () => {\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/hj/advises\",\r\n method: \"get\",\r\n });\r\n setBanner(response.data.banner)\r\n setAdvises(response.data.tips)\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, []);\r\n\r\n\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"hassan jameel tips\"\r\n\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n \r\n\r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {\r\n advises?.map((advise, index) => {\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","import { NavLink } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from \"../../configuration/config.json\";\r\nimport { User_Data_Key, getData, saveData } from \"../../utils/localStorageManager\";\r\nfunction Navlink({ title, to, icon, state, handelonClick, ...props }) {\r\n return (\r\n {\r\n if (handelonClick)\r\n handelonClick();\r\n }}>\r\n {title}\r\n
    {title}
    \r\n
    \r\n );\r\n}\r\n\r\nexport default function UserNav({ url }) {\r\n const defaultProfileImage = '/assets/images/profile.jpg';\r\n const { t: trans } = useTranslation([\"common\", \"model\", \"info\", \"user\", \"home\"]);\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const pageDir = 'language-' + lang;\r\n const handleLayout = () => {\r\n const isLagout = window.confirm(trans(\"common:lagout-confirm\"));\r\n if (isLagout) {\r\n window.localStorage.clear();\r\n saveData(\"i18nextLng\", lang, false);\r\n deleteAllCookies();\r\n window.location = '/';\r\n }\r\n };\r\n const [showItems, setShowItems] = useState(false);\r\n const [userInfo, setUserInfo] = useState({});\r\n const [names, setNames] = useState('');\r\n const [imageProfile, setImageProfile] = useState(defaultProfileImage);\r\n const b64toBlob = (b64Data, contentType = '', sliceSize = 512) => {\r\n const byteCharacters = atob(b64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n const blob = new Blob(byteArrays);\r\n return blob;\r\n };\r\n\r\n useEffect(() => {\r\n try {\r\n const _temp = JSON.parse(getData(User_Data_Key, true));\r\n setUserInfo(_temp);\r\n const firstName = _temp[`${lang}FirstName`];\r\n const lastName = _temp[`${lang}LastName`];\r\n let finalResult = trans(\"info:no_set_names\");\r\n if (firstName)\r\n finalResult = firstName + ' ' + lastName;\r\n setNames(finalResult);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n intialUserData();\r\n }, []);\r\n const intialUserData = async () => {\r\n\r\n\r\n try {\r\n const userKey = getData('secretKey');\r\n console.log(\">>>>>>>>>>>>>>>>>GetUserImage>>>>>>>>userKey>>>>>>>>>>:\", userKey)\r\n const settingsResponse = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/user/GetUserImage\",\r\n method: \"get\",\r\n params: {\r\n ID: userKey\r\n },\r\n });\r\n\r\n if (settingsResponse.status === 200) {\r\n const imgeUser = settingsResponse?.data?.userImage?.Logo;\r\n\r\n if (imgeUser) {\r\n setImageProfile(URL.createObjectURL(b64toBlob(imgeUser)));\r\n } else {\r\n setImageProfile(defaultProfileImage);\r\n }\r\n }\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n const deleteAllCookies = () => {\r\n var cookies = document.cookie.split(\";\");\r\n for (var i = 0; i < cookies.length; i++) {\r\n var cookie = cookies[i];\r\n var eqPos = cookie.indexOf(\"=\");\r\n var name = eqPos > -1 ? cookie.substring(0, eqPos) : cookie;\r\n document.cookie = name + \"=;max-age=-1\";\r\n }\r\n\r\n };\r\n return (\r\n <>\r\n {\r\n\r\n
    \r\n
    { setShowItems(!showItems) }}>\r\n \r\n
    \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n
    \r\n
    { setShowItems(!showItems) }} className=\"text-black nice-flex nice-flex-center nice-pointer user-page-content-phone-items-icon-cancel\">\r\n ×\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \"logout\"\r\n {trans(\"user:logout\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {names}

    \r\n
    \r\n\r\n
    \r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n setShowItems(false)} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport config from '../configuration/config.json';\r\nimport moment from 'moment';\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { getData } from \"../utils/localStorageManager\";\r\nimport { DropDownInput } from \"../components/_input/_dropdown\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function UserNotificationPage() {\r\n //siteusernotifications\r\n const { t: trans } = useTranslation([\"info\", \"model\"]);\r\n const lang = localStorage.getItem('i18nextLng');\r\n const dir = lang == 'en' ? 'left' : 'right';\r\n const languageDir = 'language-' + lang;\r\n const [notifications, setNotifications] = useState([]);\r\n const [filteredNotification, setFilteredNotification] = useState([]);\r\n const Filteredcategories = [\r\n {\r\n text: trans(\"info:all\"), value: \"1\"\r\n },\r\n {\r\n text: trans(\"info:today\"), value: \"2\"\r\n },\r\n {\r\n text: trans(\"info:newer\"), value: \"3\"\r\n }\r\n ];\r\n useEffect(() => {\r\n initialNotificationsAsGroup();\r\n }, []);\r\n\r\n\r\n // to fetch all the user offers\r\n const initialNotificationsAsGroup = () => {\r\n try {\r\n const secretKey = getData('secretKey');\r\n if (secretKey) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteusernotificationsFunc\",\r\n \"values\": {\r\n \"id\": secretKey\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n const groupResult = mapValues(groupBy(result, 'alertType'), fList => fList.map(items => omit(items, 'alertType')));\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n //---------------------------------------------------------------------------- \r\n for (let item in groupValues) {\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n const results = groupValues[item].map(item => item[`${trans(\"model:description\")}`]);\r\n if (results?.length > 0) {\r\n title = results[0];\r\n }\r\n obj.heading = title;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n }\r\n setNotifications(finalResults);\r\n setFilteredNotification(finalResults);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n\r\n // to filter the notification by type\r\n const handleFilterNotification = (option) => {\r\n const type = Number(option);\r\n\r\n let result = [];\r\n switch (type) {\r\n case 1:\r\n result = notifications;\r\n break;\r\n case 2:\r\n\r\n for(let parentItem of notifications){ \r\n const {heading} = parentItem;\r\n const childItemSet = parentItem?.items?.filter(childItem=> {return moment(childItem.createdDate).format('YYYY-MM-DD') == moment().format('YYYY-MM-DD')});\r\n if(childItemSet?.length > 0){\r\n result.push({\r\n heading : heading,\r\n items:childItemSet\r\n });\r\n }\r\n }\r\n break;\r\n case 3:\r\n for(let parentItem of notifications){ \r\n const {heading} = parentItem;\r\n const childItemSet = parentItem?.items?.filter(childItem=> {return moment(childItem.createdDate).format('YYYY-MM-DD') >= moment().subtract(10, 'days').format('YYYY-MM-DD')});\r\n if(childItemSet?.length > 0){\r\n result.push({\r\n heading : heading,\r\n items:childItemSet\r\n });\r\n }\r\n }\r\n break;\r\n }\r\n setFilteredNotification(result ?? []);\r\n };\r\n\r\n return (<>\r\n
    \r\n
    \r\n
    \r\n {\r\n handleFilterNotification(option)\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n filteredNotification?.map((parentItem, parentIndex) => {\r\n return (\r\n

    {parentItem?.heading}

    \r\n <>\r\n
    \r\n {\r\n parentItem?.items?.map((childItem, childIndex) => {\r\n\r\n if (lang === \"en\") {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"notification\"\r\n
    \r\n
    \r\n
    {childItem.titleEn}
    \r\n
    {moment(new Date(childItem.createdDate)).format('YYYY-MM-DD (HH:mm:ss A)')}
    \r\n
    \r\n {childItem.contentEn}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"notification\"\r\n
    \r\n
    \r\n
    {childItem.titleAr}
    \r\n
    {moment(new Date(childItem.createdDate)).format('YYYY-MM-DD (HH:mm:ss A)')}
    \r\n
    \r\n {childItem.contentAr}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n })\r\n }\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 {useEffect, useState } from \"react\";\r\nimport PageHeading from \"../components/__simple/_pageheading\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport Offer from \"../components/offer\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport axios from \"axios\";\r\nimport CarUser from \"./components/CarUser\";\r\nimport config from \"../configuration/config.json\";\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { slugCombine } from \"../utils/slugManager\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport { Link } from \"react-router-dom\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport default function UserHomePage() {\r\n const { t: trans, i18n } = useTranslation([\"global\", \"model\",\"common\"]);\r\n const languageDir = 'language-' + i18n.language;\r\n //-------------------------------------------------\r\n const [cars, setCars] = useState([]);\r\n const [offers,setOffers] = useState([]);\r\n //-------------------------------------------------\r\n useEffect(() => {\r\n getUserCars();\r\n initialUserOffers();\r\n }, []);\r\n // to fetch user cars\r\n const getUserCars = () => {\r\n try {\r\n const _userID = JSON.parse(getData(User_Data_Key, true)).id.toString().split('_')[1];\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetUserCars\",\r\n \"values\": {\r\n \"userID\": Number(_userID)\r\n }\r\n }\r\n ).then(response => {\r\n setCars(response.data);\r\n \r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // to fetch all the user offers\r\n const initialUserOffers = () => {\r\n try {\r\n const isLogin = getData(\"isAuthenticated\");\r\n if(isLogin){\r\n const userID = getData('secretKey');\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchActiveOffers\",\r\n \"values\":{\r\n \"Id\":userID\r\n }\r\n }\r\n ).then(response=>{ \r\n const result = response.data;\r\n const groupResult = mapValues(groupBy(result, 'OfferType'), fList => fList.map(items => omit(items, 'OfferType')));\r\n console.log(groupResult);\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n //---------------------------------------------------------------------------- \r\n for (let item in groupValues) {\r\n\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n const results = groupValues[item].map(item=> item[`Type${trans(\"model:description\")}`]);\r\n \r\n if(results?.length > 0){\r\n title = results[0];\r\n }\r\n obj.heading = title;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n } \r\n \r\n setOffers(finalResults);\r\n }).catch(error=>{\r\n console.log(error);\r\n })\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n {\r\n cars.map((item, index) => {\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 offers.map((parent,index)=>{\r\n return (\r\n
    \r\n \r\n \r\n {\r\n parent.items?.map((item, index2) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n \r\n {\r\n (parent.items?.length > 4 ) && (\r\n
    \r\n \r\n {trans(\"common:show-more\")}\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 {Fragment, useEffect, useState} from \"react\";\r\nimport UserNav from \"./components/sideNavbar\";\r\nimport PageHeading from \"../components/__simple/_pageheading\";\r\nimport {FilterButton} from \"../components/__simple/_filterButton\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport Offer from \"../components/offer\";\r\nimport SwiperCore, {Autoplay, EffectFade, Navigation, Pagination} from \"swiper\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport { slugCombine } from \"../utils/slugManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade,]);\r\n\r\nexport default function UserOfferPage() {\r\n const {t:trans} = useTranslation([\"global\",\"model\"]);\r\n const [offers,setOffers] = useState([]);\r\n useEffect(()=>{\r\n initialUserOffers();\r\n },[]);\r\n // to fetch all the user offers\r\n const initialUserOffers = () => {\r\n try {\r\n const isLogin = getData(\"isAuthenticated\");\r\n if(isLogin){\r\n const userID = getData('secretKey');\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserOffers\",\r\n \"Values\": {\r\n \"UserID\": String(userID)\r\n }\r\n }\r\n ).then(response=>{ \r\n const result = response.data;\r\n const groupResult = mapValues(groupBy(result, 'OfferType'), fList => fList.map(items => omit(items, 'OfferType')));\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n //---------------------------------------------------------------------------- \r\n for (let item in groupValues) {\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n const results = groupValues[item].map(item=> item[`Type${trans(\"model:description\")}`]);\r\n if(results?.length > 0){\r\n title = results[0];\r\n }\r\n obj.heading = title;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n } \r\n setOffers(finalResults);\r\n }).catch(error=>{\r\n console.log(error);\r\n })\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {\r\n offers.map((parent,index)=>{\r\n return (\r\n <>\r\n

    {parent.heading}

    \r\n \r\n {\r\n parent.items?.map((item, index) => {\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}","export default function SectionHeader({title,no,colorClass = 'text-primary-dark'}){\r\n return
    {no +'.'+ title}
    ;\r\n}","import { useEffect, useState, useCallback } from \"react\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Popup from \"./popup\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport PopupHeader from \"./components/popupHeader\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport SectionHeader from \"./components/seactionHeader\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport CarUser from \"./components/CarUser\";\r\nimport { DropDownInput } from \"../components/_input/_dropdown\";\r\nimport Joi, { string } from \"joi\";\r\nimport { formValidate, GetMessages } from \"../utils/validation\";\r\nimport config from \"../configuration/config.json\";\r\nimport { toast } from \"react-toastify\";\r\nimport { CarColorPicker } from \"../pages/vehicles/components/colorPicker\";\r\nimport { findIndex, includes, isEqual, join, reverse, split, uniq, uniqBy, uniqWith } from \"lodash\";\r\nimport ErrorLabel from \"../components/error\";\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport dropDownResetter from \"../utils/resetDropDown\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade,]);\r\nexport default function UserVehicle(props) {\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const langaugeDir = 'language-' + lang;\r\n const dir = lang == 'en' ? 'left' : 'right';\r\n const otherLang = lang == 'en' ? 'ar' : 'en';\r\n const { t: trans } = useTranslation([\"common\", \"inputs\", \"offers\", \"home\", \"eparts\", \"user\", \"info\", \"hints\"]);\r\n const [color, setColor] = useState(null);\r\n const [error, setError] = useState({});\r\n const [standardColors, setStandardColors] = useState([]);\r\n const [selectedBrand, setSelectedBrand] = useState(null);\r\n const [selectedModel, setSelectedModel] = useState(null);\r\n const [isLoadingForAdd, setIsLoadingForAdd] = useState(false);\r\n const [isLoadingForEdit, setIsLoadingForEdit] = useState(false);\r\n\r\n const [requestForm, setRequestForm] = useState({\r\n brand: null,\r\n group: null,\r\n private_name: '',\r\n color: null,\r\n board_No: '',\r\n structure_no: '',\r\n year: null,\r\n productID: null,\r\n selectedColor: null,\r\n image: null\r\n });\r\n const [requestUpdateForm, setRequestUpdateForm] = useState({\r\n id: '',\r\n brand: '',\r\n group: '',\r\n private_name: '',\r\n color: '',\r\n board_No: '',\r\n structure_no: '',\r\n year: null,\r\n productID: '',\r\n selectedColor: '',\r\n image: null\r\n });\r\n const [vehicleCurrentData, setVehicleCurrentData] = useState({\r\n brand: {},\r\n group: {},\r\n model: {},\r\n year: {}\r\n });\r\n const [requestFormNewModel, setRequestFormNewModel] = useState({\r\n newModel: null\r\n });\r\n const schema2 = Joi.object({\r\n newModel: Joi.string().required().messages(GetMessages())\r\n });\r\n const [error2, setError2] = useState(null);\r\n const [carBoardNo, setCarBoardNo] = useState({\r\n ar: '',\r\n en: ''\r\n });\r\n const [otherLangBoardNo, setOtherBoardNo] = useState('');\r\n const schema = Joi.object({\r\n productID: Joi.string().required().messages(GetMessages()),\r\n board_No: Joi.string().required().messages(GetMessages()),\r\n structure_no: Joi.string().length(17).required().messages(GetMessages()),\r\n group: Joi.string().required().messages(GetMessages()),\r\n brand: Joi.string().required().messages(GetMessages())\r\n });\r\n //--------------------------------------------------------\r\n\r\n //values for filter dropdown\r\n const [Brands, setBrands] = useState([]);\r\n const [ProductGroups, setProductGroups] = useState([]);\r\n const [ProductModel, setProductModel] = useState([]);\r\n const [Products, setProducts] = useState([]);\r\n const [ProductModelTypes, setProductModelTypes] = useState([]);\r\n\r\n\r\n\r\n const [FProductGroups, setFProductGroups] = useState([]);\r\n const [FProductModelTypes, setFProductModelTypes] = useState([]);\r\n const [FProducts, setFProducts] = useState([]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (ProductGroups && ProductGroups?.length > 0)\r\n filterModel();\r\n }, [selectedBrand, selectedModel, ProductGroups])\r\n\r\n const filterModel = () => {\r\n\r\n if (selectedBrand && selectedModel) {\r\n setFProductGroups((ProductGroups?.filter(a => (a.brandId == selectedBrand) && (a.model == selectedModel))));\r\n\r\n }\r\n\r\n\r\n };\r\n function filterModelType(option) {\r\n setFProductModelTypes(ProductModelTypes.filter(a => a.productGroupId === option.value));\r\n }\r\n const getUserCars = () => {\r\n try {\r\n const _userID = JSON.parse(getData(User_Data_Key, true)).id.toString().split('_')[1];\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetUserCars\",\r\n \"values\": {\r\n \"userID\": Number(_userID)\r\n }\r\n }\r\n ).then(response => {\r\n setCars(response.data);\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n const [cars, setCars] = useState([]);\r\n useEffect(() => {\r\n getUserCars();\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/user/index\",\r\n method: \"get\",\r\n }).then(response => {\r\n const dataResponse = response.data;\r\n setBrands(dataResponse?.brands);\r\n setProductGroups(dataResponse?.groups);\r\n setProductModel(reverse(dataResponse?.models));\r\n setProductModelTypes(dataResponse?.modelTypes);\r\n console.log('info', dataResponse);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }, [])\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showUpdatePopup, setShowUpdatePopup] = useState(false);\r\n //------------------------------------------------------------------------------\r\n const handlePopupStatus = (status) => {\r\n setError({});\r\n setError2({});\r\n setColor(null);\r\n setRequestFormNewModel({ newModel: null });\r\n setOtherBoardNo('');\r\n setCarBoardNo({\r\n ar: '',\r\n en: ''\r\n });\r\n setShowPopup(status);\r\n\r\n };\r\n const handleUpdatePopupStatus = (status) => {\r\n setVehicleCurrentData({\r\n brand: {},\r\n group: {},\r\n model: {},\r\n year: {}\r\n });\r\n setRequestFormNewModel({ newModel: null });\r\n setError({});\r\n setError2({});\r\n setColor(null);\r\n setOtherBoardNo('');\r\n setCarBoardNo({\r\n ar: '',\r\n en: ''\r\n });\r\n setShowUpdatePopup(status);\r\n };\r\n // to submit the data to server\r\n const submitRequest = async () => {\r\n const result = formValidate(schema, requestForm) ?? {};\r\n const specialResult = formValidate(schema2, requestFormNewModel) ?? {};\r\n setError(result);\r\n setIsLoadingForAdd(true);\r\n if (Object.keys(result).length === 0) {\r\n if (requestForm.productID == 'null') {\r\n setError2(specialResult);\r\n if (Object.keys(specialResult).length != 0)\r\n return;\r\n }\r\n try {\r\n const _userID = JSON.parse(getData(User_Data_Key, true)).id.toString().split('_')[1];\r\n const vehicleImage = await fetchVehicleImage(requestForm.year, requestForm?.productID == 'null' ? null : requestForm?.productID);\r\n const body = {\r\n \"Brand\": requestForm.brand,\r\n \"ProductGroupID\": requestForm.group,\r\n \"UserId\": Number(_userID),\r\n \"carId\": requestForm?.productID == 'null' ? null : requestForm?.productID,\r\n \"ModelID\": requestForm.year == '' || requestForm.year == null ? null : requestForm.year,\r\n \"NewModelType\": requestFormNewModel.newModel != null ? requestFormNewModel.newModel : null,\r\n \"colorCode\": (requestForm?.selectedColor) ? requestForm?.selectedColor : null,\r\n \"alias\": requestForm.private_name,\r\n \"boardNoAr\": join(split(carBoardNo.ar?.replaceAll(' ', ''), ''), ' '),\r\n \"boardNoEn\": join(split(carBoardNo.en?.replaceAll(' ', ''), ''), ' '),\r\n \"structureno\": requestForm.structure_no,\r\n \"Image\": vehicleImage,\r\n \"createdDate\": new Date()\r\n\r\n };\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"Object\": \"SiteUserCars\",\r\n \"Values\": body\r\n }\r\n ).then(response => {\r\n getUserCars();\r\n handlePopupStatus(false);\r\n setRequestForm({});\r\n dropDownResetter(() => {\r\n setFProductGroups([]);\r\n setFProductModelTypes([]);\r\n setVehicleCurrentData({\r\n brand: null,\r\n group: null,\r\n model: null,\r\n year: null\r\n })\r\n });\r\n toast.success(trans('common:vehicle-added'));\r\n }).catch(err => {\r\n toast.error(trans('common:vehicle-added-fail'));\r\n })\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n setIsLoadingForAdd(false);\r\n };\r\n\r\n const fetchVehicleImage = async (model, modelType) => {\r\n let vehicleImage = null;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"FetchImageOfModelCar\",\r\n \"values\": {\r\n \"modelType\": String(modelType),\r\n \"modelYear\": String(model)\r\n }\r\n }\r\n );\r\n if (response.status === 200) {\r\n const responseData = response.data;\r\n vehicleImage = responseData[0]?.productImage;\r\n }\r\n } catch (err) {\r\n console.log('something wrong happened in fetch vehicle image', err);\r\n }\r\n return vehicleImage;\r\n };\r\n // the following fun is used to determine acceptable letters for car's plate no\r\n const handleAcceptCarBoardLetters = (event) => {\r\n const _numKeys = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57];\r\n const _arKeys = [1571, 1575, 1576, 1581, 1583, 1585, 1587, 1589, 1591, 1593, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609];\r\n const _enCapitalKeys = [65, 66, 74, 68, 82, 83, 88, 84, 69, 71, 75, 76, 90, 78, 72, 85, 86];\r\n const _enSmallKeys = [97, 98, 106, 100, 114, 115, 120, 116, 101, 103, 107, 108, 122, 110, 104, 117, 118];\r\n const _key = event.which || event.keyCode;\r\n const _request = { ...requestForm };\r\n const _request2 = { ...requestUpdateForm };\r\n const _letters = { ...carBoardNo };\r\n const _enLetters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'A', 'B', 'J', 'D', 'R', 'S', 'X', 'T', 'E', 'G', 'K', 'L', 'Z', 'N', 'H', 'U', 'V'];\r\n const _arLetters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'ا', 'أ', 'ب', 'ح', 'د', 'ر', 'س', 'ص', 'ط', 'ع', 'ق', 'ك', 'ل', 'م', 'ن', 'ه', 'و', 'ى'];\r\n const _keyChar = String.fromCharCode(_key);\r\n if (lang == 'ar') {\r\n if (includes([..._arKeys], _key)) {\r\n const _index = findIndex(_arLetters, (item) => {\r\n return item.toLowerCase() == _keyChar.toLowerCase()\r\n });\r\n _letters.ar += _arLetters[_index];\r\n _letters.en = _enLetters[_index] + _letters.en;\r\n _request.board_No += _keyChar;\r\n _request2.board_No += _keyChar;\r\n setOtherBoardNo(_letters.en ?? '');\r\n }\r\n else if (includes([..._numKeys], _key)) {\r\n const _index = findIndex(_arLetters, (item) => {\r\n return item.toLowerCase() == _keyChar.toLowerCase()\r\n });\r\n _letters.ar += _arLetters[_index];\r\n _letters.en += _enLetters[_index];\r\n _request.board_No += _keyChar;\r\n _request2.board_No += _keyChar;\r\n setOtherBoardNo(_letters.en ?? '');\r\n }\r\n } else {\r\n\r\n //---------------------------------------------------------\r\n //---------------------------------------------------------\r\n if (includes([..._enCapitalKeys, ..._enSmallKeys], _key)) {\r\n const _index = findIndex(_enLetters, (item) => {\r\n return item.toLowerCase() == _keyChar.toLowerCase()\r\n });\r\n _letters.ar = _arLetters[_index] + _letters.ar;\r\n _letters.en += _enLetters[_index];\r\n _request.board_No += _keyChar;\r\n _request2.board_No += _keyChar;\r\n setOtherBoardNo(_letters.ar ?? '');\r\n }\r\n else if (includes([..._numKeys], _key)) {\r\n const _index = findIndex(_enLetters, (item) => {\r\n return item.toLowerCase() == _keyChar.toLowerCase()\r\n });\r\n _letters.ar += _arLetters[_index];\r\n _letters.en += _enLetters[_index];\r\n _request.board_No += _keyChar;\r\n _request2.board_No += _keyChar;\r\n setOtherBoardNo(_letters.ar ?? '');\r\n }\r\n }\r\n\r\n setRequestForm(_request);\r\n setRequestUpdateForm(_request2);\r\n setCarBoardNo(_letters);\r\n };\r\n // the following fun is used to remove the letters from end\r\n const handleRemoveCarBoardLetters = (event, data) => {\r\n const _request = { ...requestForm };\r\n const _request2 = { ...requestUpdateForm };\r\n const _letters = { ...carBoardNo };\r\n if (event.key == 'Backspace') {\r\n data = data?.replaceAll(' ', '')?.trim();\r\n const _len = data && data?.length;\r\n if (_len > 0) {\r\n\r\n const _enLetters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'A', 'B', 'J', 'D', 'R', 'S', 'X', 'T', 'E', 'G', 'K', 'L', 'Z', 'N', 'H', 'U', 'V'];\r\n const _arLetters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'ا', 'أ', 'ب', 'ح', 'د', 'ر', 'س', 'ص', 'ط', 'ع', 'ق', 'ك', 'ل', 'م', 'ن', 'ه', 'و', 'ى'];\r\n //--------------------------------------\r\n const _valAsArray = data.split('');\r\n const _valAr = _letters.ar.split('');\r\n const _valEn = _letters.en.split('');\r\n const _valTemp = otherLangBoardNo?.replaceAll(' ', '')?.trim().split('');\r\n const _valueDeleted = _valAsArray[_len - 1];\r\n if (lang == 'ar') {\r\n const _indexDeleted = findIndex(_arLetters, (item) => {\r\n return item.toLowerCase() == _valueDeleted\r\n });\r\n delete _valAsArray[_len - 1];\r\n delete _valAr[_len - 1];\r\n\r\n var _indexENDeleted = 0;\r\n _valEn?.map((item, index) => {\r\n if (item.toLowerCase() == _enLetters[_indexDeleted]?.toLowerCase()) {\r\n\r\n _indexENDeleted = index\r\n }\r\n });\r\n if (_valEn.length > 0)\r\n delete _valEn[_indexENDeleted];\r\n if (_valTemp.length > 0)\r\n delete _valTemp[_indexENDeleted];\r\n } else {\r\n //------------------\r\n const _indexDeleted = findIndex(_enLetters, (item) => {\r\n return item.toLowerCase() == _valueDeleted\r\n });\r\n\r\n var _indexARDeleted = 0;\r\n _valAr.map((item, index) => {\r\n if (item.toLowerCase() == _arLetters[_indexDeleted]?.toLowerCase()) {\r\n\r\n _indexARDeleted = index;\r\n }\r\n });\r\n\r\n if (_valTemp.length > 0)\r\n delete _valTemp[_indexARDeleted];\r\n if (_valAr.length > 0)\r\n delete _valAr[_indexARDeleted];\r\n\r\n delete _valAsArray[_len - 1];\r\n delete _valEn[_len - 1];\r\n\r\n }\r\n\r\n //-----------------------------------------\r\n\r\n const _valAsString = _valAsArray.join('');\r\n _request.board_No = _valAsString.trim();\r\n _request2.board_No = _valAsString.trim();\r\n _letters.ar = _valAr.join('').trim();\r\n _letters.en = _valEn.join('').trim();\r\n setOtherBoardNo(_valTemp.join('').trim());\r\n setRequestForm(_request);\r\n setRequestUpdateForm(_request2);\r\n setCarBoardNo(_letters);\r\n return;\r\n }\r\n }\r\n };\r\n // to convert image to base64\r\n const toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n const handleSetStringWithSpaces = useCallback((board_No) => {\r\n if (board_No != null && board_No != \"\") {\r\n // Split the string into an array of characters and then rearrange\r\n let chars = board_No?.split('') || [];\r\n\r\n // Filter out the numbers and letters separately\r\n const numbers = chars.filter(char => /\\d/.test(char)).join(' ');\r\n const letters = chars.filter(char => /[\\u0600-\\u06FF]/.test(char)).join(' ');\r\n const englishLetters = chars.filter(char => /[a-zA-Z]/.test(char)).join(' ');\r\n // Combine numbers and letters with a space between them\r\n return `${numbers} ${letters} ${englishLetters}`.trim();\r\n } else {\r\n console.log(\"handleSetStringWithSpaces>:else \", board_No)\r\n return \"\";\r\n }\r\n }, []);\r\n\r\n // to choose the image\r\n const handleChangeImage = async (event) => {\r\n const files = event.target.files;\r\n if (files.length > 0) {\r\n const fileURL = URL.createObjectURL(files[0]);\r\n const fileBase64 = await toBase64(files[0]);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n const val = { ...requestForm };\r\n const val2 = { ...requestUpdateForm };\r\n val.image = finalFile;\r\n val2.image = finalFile;\r\n setRequestUpdateForm(val2);\r\n setRequestForm(val);\r\n }\r\n };\r\n\r\n const [cashColors, setCashColors] = useState({});\r\n const handleFetchModelAvaliableColors = async (productTypeID, year, deColor) => {\r\n let _colors = [];\r\n setStandardColors([]);\r\n if (deColor?.split(\"/\")[0])\r\n setColor(deColor?.split(\"/\")[0]);\r\n try {\r\n\r\n if (cashColors[productTypeID + \"-\" + year]) {\r\n _colors = cashColors[productTypeID + \"-\" + year];\r\n setStandardColors(_colors);\r\n\r\n\r\n } else {\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"site_fetchColorOfTypeWithOutImages\",\r\n \"Values\": {\r\n \"Type\": productTypeID,\r\n \"model\": year\r\n }\r\n }\r\n );\r\n\r\n if (response.status == 200) {\r\n\r\n var currentOutColor = [];\r\n var Out_colors = [];\r\n\r\n response.data?.forEach((item, i) => {\r\n\r\n\r\n if (!currentOutColor.includes(item.ColorID?.split(\"/\")[0])) {\r\n\r\n Out_colors = [...Out_colors, item];\r\n currentOutColor = [...currentOutColor, item.ColorID?.split(\"/\")[0]];\r\n }\r\n\r\n })\r\n\r\n\r\n var cc = { ...cashColors };\r\n cc[productTypeID + \"-\" + year] = Out_colors;\r\n setCashColors(cc);\r\n\r\n\r\n\r\n\r\n _colors = Out_colors;\r\n setStandardColors(_colors);\r\n\r\n }\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n\r\n return _colors;\r\n };\r\n\r\n // to update the vehicle selected\r\n const onUpdate = (vehID) => {\r\n if (vehID) {\r\n // the following code is to set the user selected data on the controls\r\n axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"siteuserCars\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"carId,Image,alias,ProductGroupID,Brand,NewModelType,ModelID,Carcolor,boardNoAr,boardNoEn,structureno,colorCode\",\r\n \"filters\": `where GUID ='${vehID}'`\r\n }\r\n ).then(response => {\r\n const responseData = response.data.ApiObjectData?.length > 0 ? response.data?.ApiObjectData[0] : null;\r\n const _request = { ...requestUpdateForm };\r\n if (responseData) {\r\n setShowUpdatePopup(true);\r\n const _brand = Brands.find(item => {\r\n return item.brandId == responseData.Brand\r\n });\r\n const _group = ProductGroups.find(item => {\r\n return item.productGroupID == responseData.ProductGroupID\r\n });\r\n const _modelData = { text: '', value: '' };\r\n const _model = ProductModelTypes.find(item => {\r\n return item.productTypeId == responseData.carId\r\n });\r\n if (_model != undefined || _model != null) {\r\n _modelData.text = _model.description;\r\n _modelData.value = _model.productTypeId;\r\n } else {\r\n _modelData.text = trans(\"info:vehicle_add_new\");\r\n _modelData.value = 'null';\r\n }\r\n const _year = ProductModel.find(item => {\r\n return item.modelId == responseData.ModelID\r\n }) ?? null;\r\n if (lang == 'en') {\r\n _request.board_No = responseData.boardNoEn;\r\n setOtherBoardNo(responseData.boardNoAr)\r\n } else {\r\n _request.board_No = responseData.boardNoAr;\r\n setOtherBoardNo(responseData.boardNoEn)\r\n }\r\n _request.id = vehID;\r\n _request.brand = responseData.Brand;\r\n _request.group = responseData.ProductGroupID;\r\n _request.productID = responseData.carId ?? 'null';\r\n _request.year = responseData.ModelID;\r\n _request.structure_no = responseData.structureno;\r\n _request.private_name = responseData.alias ?? '';\r\n _request.image = responseData.Image;\r\n _request.selectedColor = String(responseData.colorCode);\r\n if (responseData.ModelID)\r\n setSelectedModel(responseData.ModelID);\r\n\r\n if (responseData.Brand)\r\n setSelectedBrand(responseData.Brand);\r\n setCarBoardNo({\r\n en: responseData.boardNoEn,\r\n ar: responseData.boardNoAr\r\n })\r\n setColor(responseData?.Carcolor);\r\n setRequestFormNewModel({ newModel: responseData.NewModelType });\r\n filterModel();\r\n filterModelType({ value: _group.productGroupID });\r\n setVehicleCurrentData({\r\n brand: _brand,\r\n group: _group,\r\n model: _modelData,\r\n year: _year\r\n });\r\n setRequestUpdateForm(_request);\r\n\r\n handleFetchModelAvaliableColors(_request.productID, _request.year, responseData?.colorCode);\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n };\r\n // submit to update the vehicle\r\n const submitUpdateRequest = async () => {\r\n const result = formValidate(schema, requestUpdateForm) ?? {};\r\n const specialResult = formValidate(schema2, requestFormNewModel) ?? {};\r\n setError(result);\r\n setIsLoadingForEdit(true);\r\n if (Object.keys(result).length === 0) {\r\n if (requestUpdateForm.productID == 'null') {\r\n setError2(specialResult);\r\n if (Object.keys(specialResult).length != 0)\r\n return;\r\n }\r\n try {\r\n const _userID = JSON.parse(getData(User_Data_Key, true)).id.toString().split('_')[1];\r\n const vehicleImage = await fetchVehicleImage(requestUpdateForm.year, requestUpdateForm?.productID == 'null' ? null : requestUpdateForm?.productID);\r\n const body = {\r\n \"Brand\": requestUpdateForm.brand,\r\n \"ProductGroupID\": requestUpdateForm.group,\r\n \"carId\": requestUpdateForm?.productID == 'null' ? null : requestUpdateForm?.productID,\r\n \"ModelID\": requestUpdateForm.year == '' || requestUpdateForm.year == null ? null : requestUpdateForm.year,\r\n \"NewModelType\": requestFormNewModel.newModel != null ? requestFormNewModel.newModel : null,\r\n \"colorCode\": requestUpdateForm?.selectedColor,\r\n \"alias\": requestUpdateForm.private_name,\r\n \"boardNoAr\": join(split(carBoardNo.ar?.replaceAll(' ', ''), ''), ' '),\r\n \"boardNoEn\": join(split(carBoardNo.en?.replaceAll(' ', ''), ''), ' '),\r\n \"structureno\": requestUpdateForm.structure_no,\r\n \"Image\": vehicleImage,\r\n \"updatedDate\": new Date()\r\n };\r\n\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"SiteUserCars\",\r\n \"Values\": body,\r\n \"filters\": `where GUID = '${requestUpdateForm.id}'`\r\n }\r\n ).then(response => {\r\n getUserCars();\r\n handleUpdatePopupStatus(false);\r\n setRequestUpdateForm({});\r\n toast.success(trans('info:vehicle_was_updated'));\r\n dropDownResetter(() => {\r\n setFProductModelTypes([]);\r\n setVehicleCurrentData({\r\n brand: null,\r\n group: null,\r\n model: null,\r\n year: null\r\n })\r\n });\r\n }).catch(err => {\r\n toast.error(trans('info:vehicle_was_updated_err'));\r\n })\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n setIsLoadingForEdit(false);\r\n };\r\n //------------------------------------------------------------------------------\r\n return (\r\n
    \r\n handlePopupStatus(true)} />\r\n
    \r\n \r\n \r\n {cars?.map((car, index) => {\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

    {trans(\"common:add-new-car\")}

    \r\n {\r\n handlePopupStatus(false)\r\n }}>×\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n \r\n\r\n {\r\n return { value: B.brandId, text: B.description };\r\n })]}\r\n onSelect={(value) => {\r\n if (value == '' || value == '0') {\r\n dropDownResetter(() => {\r\n setFProductGroups([]);\r\n setFProductModelTypes([]);\r\n });\r\n }\r\n const val = { ...requestForm };\r\n val.brand = String(value);\r\n setSelectedBrand(val.brand);\r\n setRequestForm(val);\r\n }}\r\n\r\n selectedValue={requestForm?.brand}\r\n />\r\n\r\n {\r\n return { value: B.modelId, text: B.modelId };\r\n })]}\r\n onSelect={(e) => {\r\n if (e == '' || e == '0') {\r\n dropDownResetter(() => {\r\n setFProductGroups([]);\r\n setFProductModelTypes([]);\r\n });\r\n }\r\n const val = { ...requestForm };\r\n val.year = String(e);\r\n setSelectedModel(val.year);\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.year}\r\n />\r\n\r\n {\r\n return { value: B.productGroupID, text: B.description };\r\n })]}\r\n errorLabel={error?.group}\r\n onfilter={filterModelType}\r\n onSelect={(value) => {\r\n if (value == '' || value == '0') {\r\n dropDownResetter(() => {\r\n setFProductModelTypes([]);\r\n });\r\n }\r\n const val = { ...requestForm };\r\n val.group = String(value);\r\n setRequestForm(val);\r\n }}\r\n />\r\n {\r\n return { value: B.productTypeId, text: B.description };\r\n }), { text: trans(\"info:vehicle_add_new\"), value: \"null\" }]}\r\n errorLabel={error?.productID}\r\n onSelect={(e) => {\r\n if (e !== 'null') {\r\n setRequestFormNewModel({\r\n newModel: null\r\n });\r\n }\r\n const val = { ...requestForm };\r\n val.productID = String(e);\r\n setRequestForm(val);\r\n\r\n handleFetchModelAvaliableColors(String(e), requestForm?.year);\r\n }}\r\n />\r\n {requestForm.productID == 'null' && {\r\n const val = { ...requestFormNewModel };\r\n val.newModel = e.target.value;\r\n setRequestFormNewModel(val);\r\n }\r\n }\r\n title={trans(\"info:new_model\")}\r\n />}\r\n\r\n \r\n\r\n {\r\n // try {\r\n // let currentValue = { ...requestForm };\r\n // if (currentValue?.board_No) {\r\n\r\n // // Split the string into an array of characters and then rearrange\r\n // let chars = currentValue?.board_No?.split('') || [];\r\n\r\n // // Filter out the numbers and letters separately\r\n // const numbers = chars.filter(char => /\\d/.test(char)).join(' ');\r\n // const letters = chars.filter(char => /[\\u0600-\\u06FF]/.test(char)).join(' ');\r\n // const englishLetters = chars.filter(char => /[a-zA-Z]/.test(char)).join(' ');\r\n // // Combine numbers and letters with a space between them\r\n // currentValue.board_No = `${numbers} ${letters} ${englishLetters}`.trim();\r\n\r\n // // const chars = split(currentValue?.board_No?.replaceAll(' ', ''), '');\r\n // // currentValue.board_No = join(chars, ' ');\r\n // setRequestForm(currentValue);\r\n // //----------------------------------------------------\r\n // let other = otherLangBoardNo?.split('') || [];\r\n\r\n // // Filter out the numbers and letters separately\r\n // const othernumbers = other.filter(char => /\\d/.test(char)).join(' ');\r\n // const otherletters = other.filter(char => /[\\u0600-\\u06FF]/.test(char)).join(' ');\r\n // const otherenglishLetters = other.filter(char => /[a-zA-Z]/.test(char)).join(' ');\r\n\r\n // setOtherBoardNo(`${othernumbers} ${otherletters} ${otherenglishLetters}`.trim());\r\n // }\r\n // } catch (err) {\r\n // console.log(err);\r\n // }\r\n // }}\r\n extraClasses={'language-en-d ' + (lang == 'en' ? 'language-en-t' : 'language-ar-t')}\r\n errorLabel={error?.board_No}\r\n value={handleSetStringWithSpaces(requestForm.board_No)}\r\n onKeyPress={handleAcceptCarBoardLetters}\r\n onKeyDown={(event) => { handleRemoveCarBoardLetters(event, requestForm.board_No) }}\r\n placeholder={trans(\"form:board-no\") + ` (${lang}) `}\r\n />\r\n \r\n\r\n {\r\n const val = { ...requestForm };\r\n val.structure_no = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n placeholder={trans(\"form:structure-no\") + '(VIN)'}\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.private_name = e.target.value;\r\n setRequestForm(val);\r\n }\r\n }\r\n title={trans(\"info:private-name\") + ' ' + trans(\"common:optional\")}\r\n placeholder={trans(\"info:private-name\") + ' ' + trans(\"common:optional\")}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {\r\n standardColors.map((item, index) => {\r\n return {\r\n const val = { ...requestForm };\r\n val.selectedColor = String(item?.ColorID);\r\n setRequestForm(val);\r\n setColor(item?.ColorID?.split(\"/\")[0])\r\n }\r\n }\r\n />\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n submitRequest()} name={trans(\"form:add\")} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    {trans(\"info:vehicle_update_car\")}

    \r\n {\r\n handleUpdatePopupStatus(false)\r\n }}>×\r\n
    \r\n\r\n
    \r\n\r\n \r\n\r\n {\r\n return { value: B.brandId, text: B.description };\r\n })]}\r\n onSelect={(value) => {\r\n setVehicleCurrentData({\r\n brand: null,\r\n group: null,\r\n model: null,\r\n year: null\r\n })\r\n const val = { ...requestUpdateForm };\r\n val.brand = String(value);\r\n setRequestUpdateForm(val);\r\n setSelectedBrand(val.brand);\r\n }}\r\n />\r\n {\r\n\r\n return { value: B.modelId, text: B.modelId };\r\n })]}\r\n\r\n onSelect={(e) => {\r\n const currentValue = { ...vehicleCurrentData };\r\n setVehicleCurrentData({\r\n brand: currentValue?.brand,\r\n group: null,\r\n model: null,\r\n year: null\r\n });\r\n const val = { ...requestUpdateForm };\r\n val.year = String(e);\r\n setRequestUpdateForm(val);\r\n setSelectedModel(val.year);\r\n }}\r\n errorLabel={error?.year}\r\n />\r\n {\r\n return { value: B.productGroupID, text: B.description };\r\n })]}\r\n errorLabel={error?.group}\r\n onfilter={filterModelType}\r\n onSelect={(value) => {\r\n const currentValue = { ...vehicleCurrentData };\r\n setVehicleCurrentData({\r\n brand: currentValue?.brand,\r\n group: null,\r\n model: null,\r\n year: null\r\n })\r\n\r\n const val = { ...requestUpdateForm };\r\n val.group = String(value);\r\n setRequestUpdateForm(val);\r\n }}\r\n />\r\n\r\n {\r\n return { value: B.productTypeId, text: B.description };\r\n }), { text: trans(\"info:vehicle_add_new\"), value: \"null\" }]}\r\n errorLabel={error?.productID}\r\n onSelect={(e) => {\r\n\r\n const currentValue = { ...vehicleCurrentData };\r\n setVehicleCurrentData({\r\n brand: currentValue?.brand,\r\n group: null,\r\n model: null,\r\n year: null\r\n })\r\n\r\n\r\n if (e !== 'null') {\r\n setRequestFormNewModel({\r\n newModel: null\r\n });\r\n }\r\n const val = { ...requestUpdateForm };\r\n val.productID = String(e);\r\n setRequestUpdateForm(val);\r\n\r\n handleFetchModelAvaliableColors(String(e), requestUpdateForm?.year);\r\n }}\r\n />\r\n\r\n {requestUpdateForm.productID == 'null' && {\r\n const val = { ...requestFormNewModel };\r\n val.newModel = e.target.value;\r\n setRequestFormNewModel(val);\r\n }\r\n }\r\n title={trans(\"info:new_model\")}\r\n />}\r\n\r\n\r\n \r\n\r\n {\r\n // try {\r\n // let currentValue = { ...requestUpdateForm };\r\n // if (currentValue?.board_No) {\r\n // const chars = split(currentValue?.board_No?.replaceAll(' ', ''), '');\r\n // currentValue.board_No = join(chars, ' ');\r\n // setRequestUpdateForm(currentValue);\r\n // //----------------------------------------------------\r\n // const other = split(otherLangBoardNo?.replaceAll(' ', ''), '');\r\n // setOtherBoardNo(join(other, ' '));\r\n // }\r\n // } catch (err) {\r\n // console.log(err);\r\n // }\r\n // }}\r\n extraClasses={'language-en-d ' + (otherLang == 'en' ? 'language-en-t' : 'language-ar-t')}\r\n errorLabel={error?.board_No}\r\n value={handleSetStringWithSpaces(requestUpdateForm.board_No)}\r\n onKeyPress={handleAcceptCarBoardLetters}\r\n onKeyDown={(event) => { handleRemoveCarBoardLetters(event, requestUpdateForm.board_No) }}\r\n title={trans(\"form:board-no\") + ` (${lang}) `}\r\n />\r\n \r\n\r\n {\r\n const val = { ...requestUpdateForm };\r\n val.structure_no = e.target.value;\r\n setRequestUpdateForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...requestUpdateForm };\r\n val.private_name = e.target.value;\r\n setRequestUpdateForm(val);\r\n }\r\n }\r\n title={trans(\"info:private-name\") + ' ' + trans(\"common:optional\")}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {\r\n standardColors.map((item, index) => {\r\n return {\r\n const val = { ...requestUpdateForm };\r\n val.selectedColor = String(item?.ColorID);\r\n setRequestUpdateForm(val);\r\n setColor(item?.ColorID?.split(\"/\")[0])\r\n }\r\n }\r\n />\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n submitUpdateRequest()} name={trans(\"info:edit\")} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import axios from \"axios\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport config from '../configuration/config.json';\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport { DropDownInput } from \"../components/_input/_dropdown\";\r\nimport { DropDownInput2 } from \"../components/_input/_dropdown2\";\r\nimport { CheckInput } from \"../components/_input/_checkInput\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport crypto from 'crypto-js';\r\nimport Joi from 'joi';\r\nimport { formValidate, GetMessages, validateProperty } from \"../utils/validation\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Tab, TabList, TabPanel, Tabs } from \"react-tabs\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport PhoneDropDown, { countriesCode } from \"../components/_input/_phoneDropDown\";\r\nimport { FileInput } from \"../components/_input/_fileInput\";\r\nimport { getData, saveData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport { includes } from \"lodash\";\r\nimport dropDownResetter from \"../utils/resetDropDown\";\r\nexport default function Profile() {\r\n const defaultProfileImage = '/assets/images/profile.jpg';\r\n // db.createDbRequest(\"UserDB\", 1);\r\n const fileInputRef = useRef();\r\n const { t: trans } = useTranslation([\"common\", \"form\", \"model\", \"user\", \"info\", \"hints\", \"error2\", \"inputs\", \"new\", \"extra\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const [showResetPasswordBox, setShowResetPasswordBox] = useState(false);\r\n const [acceptPasswordStatus, setAcceptPasswordStatus] = useState(false);\r\n const [genderList, setGenderList] = useState([{}]);\r\n const [selectedGender, setSelectedGender] = useState(null);\r\n const [readOnly, setReadOnly] = useState(true);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [imageProfile, setImageProfile] = useState(defaultProfileImage);\r\n const [editableStatus, setEditableStatus] = useState(0);\r\n const [isLoading2, setIsLoading2] = useState(false);\r\n const [accountTypes, setAccountTypes] = useState([]);\r\n const [identityType, setIdentityType] = useState(null);\r\n const [settings, setSettings] = useState({\r\n countries: [],\r\n cities: [],\r\n genders: []\r\n });\r\n const [defaultGeoLocation, setDefaultGeoLocation] = useState({\r\n country: null,\r\n city: null\r\n });\r\n const [filteredCities, setFilteredCities] = useState([]);\r\n const [personalDataRequest, setPersonalDataRequest] = useState({\r\n arFirstName: '',\r\n arMiddleName: '',\r\n arLastName: '',\r\n enFirstName: '',\r\n enMiddleName: '',\r\n enLastName: '',\r\n genderID: '',\r\n address: '',\r\n cityID: '',\r\n countryID: '',\r\n logo: defaultProfileImage\r\n });\r\n const [error, setError] = useState({});\r\n //------------------------------------------------------------------------\r\n const schemaPassword = Joi.object({\r\n newPassword: Joi.string().min(8).max(20).required().messages(GetMessages()),\r\n confirmPassword: Joi.string().valid(Joi.ref('newPassword')).required().messages(GetMessages())\r\n });\r\n\r\n const [changePhoneNumber, setChangePhoneNumber] = useState(false);\r\n const [changeEmail, setChangeEmail] = useState(false);\r\n const [requestChangePassword, setRequestChangePassword] = useState({\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n const [userHasNoPassword, setUserHasNoPassword] = useState(false);\r\n const [passwordError, setPasswordError] = useState({});\r\n //--------------------------------------------------------------------\r\n const [personalPhoneNumber, setPersonalPhoneNumber] = useState({\r\n phoneNumber: '',\r\n });\r\n const schemaPhoneNumber = Joi.object({\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages())\r\n });\r\n const [phoneError, setPhoneError] = useState({});\r\n //------------------------------------------------------------------------\r\n\r\n const [personalContactDataRequest, setPersonalContactDataRequest] = useState({\r\n email: '',\r\n phoneNumber: '',\r\n identityNo: '',\r\n identityImage: null,\r\n });\r\n\r\n const [personalDocumentDataRequest, setPersonalDocumentDataRequest] = useState({\r\n custGroupID: '',\r\n identityNo: '',\r\n identityImage: null,\r\n cn: '',\r\n cnImage: null\r\n });\r\n\r\n const schemaDocument = Joi.object({\r\n identityNo: Joi.string().length(10).required().messages(GetMessages()),\r\n cn: Joi.string().length(10).required().messages(GetMessages()),\r\n custGroupID: Joi.string().required().messages(GetMessages()),\r\n });\r\n\r\n const [errorDocument, setErrorDocument] = useState({});\r\n\r\n //-----------------------------------------------------------------\r\n const [personalEmailDataRequest, setPersonalEmailDataRequest] = useState({\r\n email: ''\r\n });\r\n\r\n const schemaEmail = Joi.object({\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages())\r\n });\r\n\r\n const [emailError, setEmailError] = useState({});\r\n //----------------------------------------------------------------\r\n\r\n const [personalIdentityDataRequest, setPersonalIdentityDataRequest] = useState({\r\n identity: '',\r\n identityImage: null\r\n });\r\n const schemaIdentity = Joi.object({\r\n identity: Joi.string().length(10).required().messages(GetMessages())\r\n });\r\n const [identityError, setIdentityError] = useState({});\r\n const [showIdentityImage, setShowIdentityImage] = useState(false);\r\n const [freazeType, setFrazeType] = useState(false);\r\n const [defaultIdentityType, setDefaultIdentityType] = useState(null);\r\n\r\n //-----------------------------------------------------------------\r\n const schemaSection1 = Joi.object({\r\n arFirstName: Joi.string().max(50).required().messages(GetMessages()),\r\n arMiddleName: Joi.string().max(50).required().messages(GetMessages()),\r\n arLastName: Joi.string().max(50).required().messages(GetMessages()),\r\n enFirstName: Joi.string().max(50).required().messages(GetMessages()),\r\n enMiddleName: Joi.string().max(50).required().messages(GetMessages()),\r\n enLastName: Joi.string().max(50).required().messages(GetMessages()),\r\n countryID: Joi.required().messages(GetMessages()),\r\n cityID: Joi.required().messages(GetMessages()),\r\n });\r\n\r\n\r\n useEffect(async () => {\r\n try {\r\n const settingsResponse = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/user/getSettings\",\r\n method: \"get\",\r\n });\r\n\r\n if (settingsResponse.status === 200) {\r\n setSettings(settingsResponse.data);\r\n }\r\n\r\n var mm = settingsResponse?.data?.genders.map(e => {\r\n return { value: String(e.id), text: e.description }\r\n });\r\n setGenderList(mm);\r\n \r\n intialUserData(settingsResponse?.data);\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, []);\r\n\r\n\r\n\r\n const intialIdentityTypes = async () => {\r\n let responseData = [];\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetUserAccountTypes\"\r\n }\r\n );\r\n if (response.status == 200) {\r\n responseData = response.data;\r\n setAccountTypes(responseData);\r\n intialUserContactData();\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return responseData;\r\n };\r\n\r\n const handlePicker = () => {\r\n fileInputRef.current.click();\r\n };\r\n\r\n const intialUserData = async (data) => {\r\n\r\n try {\r\n const genderModel = trans(\"model:description\");\r\n const userData = JSON.parse(getData(User_Data_Key, true));\r\n \r\n if (userData) {\r\n if (userData.logo) {\r\n setImageProfile(URL.createObjectURL(b64toBlob(userData?.logo)));\r\n } else {\r\n setImageProfile(defaultProfileImage);\r\n }\r\n if (userData.genderID) {\r\n const userGender = data?.genders?.find(item => String(item.id) == String(userData?.genderID));\r\n if (userGender) {\r\n setSelectedGender({ text: userGender.description, value: String(userGender.id) });\r\n }\r\n }\r\n\r\n const { custGroupID, identity, tradeNo, countryID, cityID } = { ...userData };\r\n\r\n const cResult = data?.countries?.find(item => {\r\n return item.id == countryID\r\n }) ?? null;\r\n\r\n\r\n\r\n setFilteredCities(data?.cities?.filter(item => {\r\n return item.code == countryID\r\n }));\r\n setTimeout(() => {\r\n\r\n setPersonalDataRequest(userData);\r\n\r\n const ccResult = data?.cities?.find(item => {\r\n return item.id == cityID\r\n }) ?? null;\r\n\r\n const _userGeo = { ...defaultGeoLocation };\r\n\r\n if (cResult) {\r\n _userGeo.country = { text: cResult?.description, value: cResult?.id };\r\n }\r\n if (ccResult) {\r\n _userGeo.city = { text: ccResult?.description, value: ccResult?.id };\r\n }\r\n\r\n setDefaultGeoLocation(_userGeo);\r\n }, 1000)\r\n\r\n const results = await intialIdentityTypes();\r\n if (results?.length > 0) {\r\n const value = results.find(item => {\r\n return item.ID === custGroupID\r\n });\r\n if (value) {\r\n const finalValue = value.NeedIdentity == true ? 1 : value.NeedIdentity == false ? 2 : null;\r\n setIdentityType(finalValue);\r\n setDefaultIdentityType({ text: value[`${trans(\"model:description\")}`], value: value.ID });\r\n if (finalValue == 1 && identity !== \"\") {\r\n // setFrazeType(true);\r\n } else if (finalValue == 2 && tradeNo !== \"\") {\r\n // setFrazeType(true);\r\n }\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>GetUserImage>>>>>>>>>>>>>>>>>>:\")\r\n try {\r\n const userKey = getData('secretKey');\r\n console.log(\">>>>>>>>>>>>>>>>>GetUserImage>>>>>>>>userKey>>>>>>>>>>:\", userKey)\r\n const settingsResponse = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/user/GetUserImage\",\r\n method: \"get\",\r\n params: {\r\n ID: userKey\r\n },\r\n });\r\n\r\n if (settingsResponse?.status === 200) {\r\n const imgeUser = settingsResponse?.data?.userImage?.Logo;\r\n\r\n if (imgeUser) {\r\n setImageProfile(URL.createObjectURL(b64toBlob(imgeUser)));\r\n } else {\r\n setImageProfile(defaultProfileImage);\r\n }\r\n }\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n const intialUserContactData = () => {\r\n const userData = JSON.parse(getData(User_Data_Key, true));\r\n if (userData) {\r\n const { email, phone, identity, identityImage, tradeNo, tradeNoImage, custGroupID } = userData;\r\n\r\n setPersonalContactDataRequest({\r\n phoneNumber: phone,\r\n identityNo: identity,\r\n email: email,\r\n identityImage: identityImage\r\n });\r\n setPersonalIdentityDataRequest(\r\n {\r\n identity: identity,\r\n identityImage: identityImage\r\n }\r\n );\r\n setPersonalDocumentDataRequest({\r\n identityNo: identity ?? '',\r\n identityImage,\r\n cn: tradeNo ?? '',\r\n cnImage: tradeNoImage,\r\n custGroupID: custGroupID ?? ''\r\n });\r\n }\r\n };\r\n const b64toBlob = (b64Data, contentType = '', sliceSize = 512) => {\r\n const byteCharacters = atob(b64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n const blob = new Blob(byteArrays);\r\n return blob;\r\n }\r\n const handleChangeImage = async (event) => {\r\n const files = event.target.files;\r\n if (files.length > 0) {\r\n const fileURL = URL.createObjectURL(files[0]);\r\n setImageProfile(fileURL);\r\n const fileBase64 = await toBase64(files[0]);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n const val = { ...personalDataRequest };\r\n val.logo = finalFile;\r\n setPersonalDataRequest(val);\r\n }\r\n };\r\n const handleChangeIdentityImage = async (event) => {\r\n const files = event.target.files;\r\n const val = { ...personalDocumentDataRequest };\r\n if (files.length > 0) {\r\n const fileBase64 = await toBase64(files[0]);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.identityImage = finalFile;\r\n } else {\r\n val.identityImage = val.identityImage || null;\r\n }\r\n setPersonalDocumentDataRequest(val);\r\n };\r\n const handleChangeCRImage = async (event) => {\r\n const files = event.target.files;\r\n const val = { ...personalDocumentDataRequest };\r\n if (files.length > 0) {\r\n const fileBase64 = await toBase64(files[0]);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n val.cnImage = finalFile;\r\n } else {\r\n val.cnImage = val.cnImage || null;\r\n }\r\n setPersonalDocumentDataRequest(val);\r\n };\r\n const toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n const isPasswordMatched = async () => {\r\n let isMatched = false;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"Web_Users\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"DescriptionAr\",\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}' and password = '${crypto.MD5(requestChangePassword?.oldPassword).toString()}'`\r\n }\r\n );\r\n if (response.status == 200) {\r\n isMatched = response.data.ApiObjectData?.length != 0;\r\n }\r\n return isMatched;\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // to change the current user password\r\n const handleChangePassword = async () => {\r\n const result = formValidate(schemaPassword, requestChangePassword) ?? {};\r\n setPasswordError(result);\r\n console.log(\"userHasNoPassword:>>>>>>>>>>>>>>>>\",userHasNoPassword);\r\n if (Object.keys(result).length == 0) {\r\n setIsLoading2(true);\r\n if (userHasNoPassword) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteCheckUserHasNoPassword\",\r\n \"values\": {\r\n \"guid\": `${getData('secretKey')}`\r\n }\r\n }\r\n ).then(response => {\r\n\r\n console.log(\"SiteCheckUserHasNoPassword:>>>>>>>>>>>>>>>>\",response?.data);\r\n console.log(\"acceptPasswordStatus:>>>>>>>>>>>>>>>>\",acceptPasswordStatus);\r\n if (response?.data) {\r\n if (acceptPasswordStatus) {\r\n axios.put(\r\n config.baseURL + \"update\",\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"Password\": crypto.MD5(requestChangePassword.newPassword).toString()\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then((response) => {\r\n toast.success(trans(\"common:reset-password-successfully\"));\r\n setPasswordError({});\r\n setRequestChangePassword({\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n setShowResetPasswordBox(false);\r\n }).catch((err) => {\r\n if (err.response && err.response.status == 400) {\r\n toast.error(\"error:unknown_failure\");\r\n }\r\n });\r\n }\r\n } else {\r\n toast.error(trans(\"error2:user_has_pre_password\"))\r\n }\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n } else {\r\n if ((await isPasswordMatched())) {\r\n if (acceptPasswordStatus) {\r\n axios.put(\r\n config.baseURL + \"update\",\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"Password\": crypto.MD5(requestChangePassword.newPassword).toString()\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then((response) => {\r\n if (response.status == 200) {\r\n toast.success(trans(\"common:reset-password-successfully\"));\r\n setPasswordError({});\r\n setRequestChangePassword({\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n setShowResetPasswordBox(false);\r\n }\r\n }).catch((err) => {\r\n if (err.response && err.response.status == 400) {\r\n toast.error(\"error:unknown_failure\");\r\n }\r\n });\r\n }\r\n } else {\r\n toast.error(trans(\"common:wrong-password\"));\r\n }\r\n }\r\n }\r\n setIsLoading2(false);\r\n };\r\n // to change personal data\r\n const handleChangePersonalData = () => {\r\n const result = formValidate(schemaSection1, personalDataRequest) ?? {};\r\n setError(result);\r\n if (Object.keys(result).length == 0) {\r\n if (readOnly) {\r\n toast.error(trans(\"common:enable-read-only\"));\r\n return;\r\n }\r\n setIsLoading(true);\r\n const userKey = getData('secretKey');\r\n axios.put(\r\n config.baseURL + \"update\",\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"firstNameAr\": personalDataRequest?.arFirstName.trim(),\r\n \"middleNameAr\": personalDataRequest?.arMiddleName.trim(),\r\n \"lastNameAr\": personalDataRequest?.arLastName.trim(),\r\n \"firstNameEn\": personalDataRequest?.enFirstName.trim(),\r\n \"middleNameEn\": personalDataRequest?.enMiddleName.trim(),\r\n \"lastNameEn\": personalDataRequest?.enLastName.trim(),\r\n \"GenderID\": (personalDataRequest?.genderID != '' && personalDataRequest?.genderID != undefined) ? Number(personalDataRequest?.genderID) : Number(genderList[0].value),\r\n \"Address\": personalDataRequest.address ?? '',\r\n \"Logo\": personalDataRequest?.logo,\r\n \"countryID\": personalDataRequest?.countryID ?? null,\r\n \"cityID\": personalDataRequest?.cityID ?? null\r\n },\r\n \"Filters\": `where GUID = '${userKey}'`\r\n }).then((response) => {\r\n if (response.status == 200) {\r\n toast.success(trans(\"common:update-successful\"));\r\n setIsLoading(false);\r\n setReadOnly(true);\r\n setEditableStatus(0);\r\n saveData(User_Data_Key, personalDataRequest, true);\r\n window.location = '/user/profile';\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n setIsLoading(false);\r\n });\r\n }\r\n };\r\n // to change user phone number\r\n const handleChangePhoneNumber = async () => {\r\n const result = formValidate(schemaPhoneNumber, personalPhoneNumber) ?? {};\r\n setPhoneError(result);\r\n if (Object.keys(result).length == 0) {\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteNewPhoneNumberExisting\",\r\n \"Values\": {\r\n \"phoneNumber\": `${personalPhoneNumber.phoneNumber}`\r\n }\r\n }\r\n );\r\n if (response.status == 200 ) {\r\n if (response.data) {\r\n toast.error(trans(\"error2:phone_number_existing\"));\r\n } else {\r\n // the following code is to change the phone number\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"Phone\": `${personalPhoneNumber.phoneNumber}`\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then(responseData => {\r\n if (responseData.status == 200) {\r\n toast.success(trans(\"info:success_update_phone\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.phone = personalPhoneNumber.phoneNumber;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile'\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n };\r\n // to chnage user email\r\n const handleChangeEmail = async () => {\r\n\r\n const result = formValidate(schemaEmail, personalEmailDataRequest) ?? {};\r\n setEmailError(result);\r\n if (Object.keys(result).length == 0) {\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteNewEmailExisting\",\r\n \"Values\": {\r\n \"email\": `${personalEmailDataRequest.email.trim()}`\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n if (response.data) {\r\n toast.error(trans(\"error2:email_existing\"));\r\n } else {\r\n // the following code is to change the phone number\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"email\": `${personalEmailDataRequest.email.trim()}`\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then(responseData => {\r\n toast.success(trans(\"info:success_update_email\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.email = personalEmailDataRequest.email;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile'\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n };\r\n // to change the identity info for the user\r\n const handleChangeIdentity = async () => {\r\n const result = formValidate(schemaIdentity, personalIdentityDataRequest) ?? {};\r\n setIdentityError(result);\r\n if (Object.keys(result).length == 0) {\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteNewIdentityExisting\",\r\n \"Values\": {\r\n \"identity\": `${personalIdentityDataRequest.identity}`,\r\n \"guid\": `${getData(\"secretKey\")}`\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n if (response.data) {\r\n toast.error(trans(\"error2:identity_existing\"));\r\n } else {\r\n axios.put(\r\n\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"IdentityNumber\": `${personalIdentityDataRequest.identity}`,\r\n \"IdentityImage\": personalIdentityDataRequest.identityImage\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then(responseData => {\r\n\r\n toast.success(trans(\"common:update-successful\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.identity = personalIdentityDataRequest.identity;\r\n currentValue.identityImage = personalIdentityDataRequest.identityImage;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile'\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n };\r\n // to handle the identity type [cn-identity]\r\n const handleChangeIdentityType = async () => {\r\n const val = { ...personalDocumentDataRequest };\r\n const result = formValidate(schemaDocument, val);\r\n setIsLoading(true);\r\n if (freazeType) {\r\n if (identityType == 1) {\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"CRImage\": personalDocumentDataRequest.cnImage\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then(response => {\r\n setIsLoading(false);\r\n toast.success(trans(\"common:update-successful\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.identityImage = personalDocumentDataRequest.identityImage;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile';\r\n }).catch(err => {\r\n console.log(err);\r\n setIsLoading(false);\r\n })\r\n } else if (identityType == 2) {\r\n axios.put(\r\n config.baseURL + 'update',\r\n {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"CRImage\": personalDocumentDataRequest.cnImage\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n }\r\n ).then(response => {\r\n setIsLoading(false);\r\n toast.success(trans(\"common:update-successful\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.tradeNoImage = personalDocumentDataRequest.cnImage;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile';\r\n }).catch(err => {\r\n console.log(err);\r\n setIsLoading(false);\r\n })\r\n }\r\n } else {\r\n let values = {};\r\n let options = [];\r\n let jsonRequest;\r\n let messageError;\r\n // identity card\r\n if (identityType == 1) {\r\n messageError = 'error2:identity_existing';\r\n options = ['identityNo', 'custGroupID'];\r\n values = {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"CustGroupID\": personalDocumentDataRequest.custGroupID,\r\n \"IdentityNumber\": personalDocumentDataRequest.identityNo,\r\n \"IdentityImage\": personalDocumentDataRequest.identityImage\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n };\r\n // ----------------------------------------------------\r\n jsonRequest = {\r\n \"Name\": \"SiteNewIdentityExisting\",\r\n \"Values\": {\r\n \"identity\": `${personalDocumentDataRequest.identityNo}`,\r\n \"guid\": `${getData(\"secretKey\")}`\r\n }\r\n };\r\n } else if (identityType == 2) {\r\n messageError = 'error2:cr_existing';\r\n options = ['cn', 'custGroupID'];\r\n values = {\r\n \"Object\": \"Web_users\",\r\n \"Values\": {\r\n \"CustGroupID\": personalDocumentDataRequest.custGroupID,\r\n \"TradeNo\": personalDocumentDataRequest.cn,\r\n \"TradeNoImage\": personalDocumentDataRequest.cnImage\r\n },\r\n \"Filters\": `where GUID = '${getData(\"secretKey\")}'`\r\n };\r\n jsonRequest = {\r\n \"Name\": \"SiteNewCRExisting\",\r\n \"Values\": {\r\n \"identity\": `${personalDocumentDataRequest.cn}`,\r\n \"guid\": `${getData(\"secretKey\")}`\r\n }\r\n };\r\n }\r\n const newErrors = removeUnspecific2Error(result, options);\r\n setErrorDocument(newErrors);\r\n const _isFound = await isFound(jsonRequest);\r\n if (!_isFound) {\r\n if (Object.keys(newErrors).length === 0) {\r\n axios.put(\r\n config.baseURL + 'update',\r\n values\r\n ).then(response => {\r\n setIsLoading(false);\r\n toast.success(trans(\"common:update-successful\"));\r\n const currentValue = JSON.parse(getData(User_Data_Key, true));\r\n currentValue.tradeNoImage = personalDocumentDataRequest.cnImage;\r\n currentValue.tradeNo = personalDocumentDataRequest.cn;\r\n currentValue.identity = personalDocumentDataRequest.identityNo;\r\n currentValue.identityImage = personalDocumentDataRequest.identityImage;\r\n currentValue.custGroupID = personalDocumentDataRequest.custGroupID;\r\n saveData(User_Data_Key, currentValue, true);\r\n window.location = '/user/profile';\r\n }).catch(err => {\r\n console.log(err);\r\n setIsLoading(false);\r\n })\r\n }\r\n } else {\r\n toast.error(trans(messageError));\r\n }\r\n }\r\n };\r\n // to remove the unneeded props\r\n const removeUnspecific2Error = (errorList, values = []) => {\r\n let errorResult = {};\r\n if (values?.length > 0) {\r\n const lowerValues = values.map(item => {\r\n return item.toLowerCase()\r\n });\r\n Object.assign(errorResult, errorList);\r\n if (errorList) {\r\n for (let index = 0; index < Object.keys(errorList).length; index++) {\r\n const key = Object.keys(errorList)[index];\r\n if (includes(lowerValues, key.toLowerCase())) {\r\n continue;\r\n } else {\r\n delete errorResult[key];\r\n }\r\n }\r\n }\r\n }\r\n return errorResult;\r\n };\r\n\r\n const getCorrectIdentitySection = () => {\r\n let result = <>;\r\n // for identity card\r\n if (identityType == 1) {\r\n result = <>\r\n
    \r\n {\r\n const val = { ...personalDocumentDataRequest };\r\n val.identityNo = e.target.value;\r\n setPersonalDocumentDataRequest(val);\r\n }}\r\n title={trans(\"form:identity-no\")}\r\n />\r\n
    \r\n
    \r\n {\r\n await handleChangeIdentityImage(file);\r\n }}\r\n />\r\n {\r\n personalDocumentDataRequest?.identityImage && <>
    {\r\n setShowIdentityImage(!showIdentityImage);\r\n }}>\r\n {trans(\"user:show\")}\r\n
    \r\n {showIdentityImage && }\r\n \r\n }\r\n
    \r\n \r\n // for commercial no\r\n } else if (identityType == 2) {\r\n result = <>\r\n
    \r\n {\r\n const val = { ...personalDocumentDataRequest };\r\n val.cn = e.target.value;\r\n setPersonalDocumentDataRequest(val);\r\n }}\r\n title={trans(\"user:cn\")}\r\n />\r\n
    \r\n
    \r\n {\r\n await handleChangeCRImage(file);\r\n }}\r\n />\r\n {\r\n personalDocumentDataRequest?.cnImage && <>
    {\r\n setShowIdentityImage(!showIdentityImage);\r\n }}>\r\n {trans(\"user:show\")}\r\n
    \r\n {showIdentityImage && }\r\n \r\n }\r\n
    \r\n \r\n }\r\n return result;\r\n };\r\n\r\n // to check if the identity value is existing here includes [cr - identity type]\r\n const isFound = async (jsonRequest) => {\r\n let isExisting = false;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n jsonRequest\r\n );\r\n if (response.status === 200) {\r\n isExisting = response.data;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return isExisting;\r\n };\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n }}>\r\n \r\n \r\n {trans(\"user:profile\")}\r\n \r\n \r\n \r\n {trans(\"user:contact_info\")}\r\n \r\n \r\n \r\n {trans(\"user:secret_info\")}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n handleChangeImage(e)}\r\n />\r\n \r\n
    \r\n
    \r\n
    {selectedGender?.text ?? ''}
    \r\n
    {personalDataRequest?.email ?? ''}
    \r\n
    {personalDataRequest?.phone ?? ''}
    \r\n
    \r\n {\r\n if (status == 0) {\r\n intialUserData(genderList);\r\n setReadOnly(true);\r\n setEditableStatus(1);\r\n } else {\r\n setEditableStatus(0);\r\n setReadOnly(false);\r\n }\r\n\r\n }}\r\n title={trans(\"user:private_info\")}\r\n infoText={trans(\"user:private_info_note\")}\r\n hasRuler={true}\r\n >\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.arFirstName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"form:first-name\") + ' (' + trans('user:ar') + ') '}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.arMiddleName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"info:middle-name\") + ' (' + trans('user:ar') + ') '}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.arLastName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"info:surname\") + ' (' + trans('user:ar') + ') '}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.enFirstName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"form:first-name\") + ' (' + trans('user:en') + ') '}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.enMiddleName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"info:middle-name\") + ' (' + trans('user:en') + ') '}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.enLastName = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n title={trans(\"info:surname\") + ' (' + trans('user:en') + ') '}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.genderID = String(option);\r\n setPersonalDataRequest(val);\r\n }}\r\n selectedValue={personalDataRequest.genderID}\r\n options={[...genderList]}\r\n title={trans(\"form:gender\")}\r\n />\r\n
    \r\n
    \r\n\r\n {\r\n const val = { ...personalDataRequest };\r\n val.countryID = String(option);\r\n setPersonalDataRequest(val);\r\n }}\r\n selectedValue={personalDataRequest.countryID}\r\n options={[...settings?.countries?.map(item => {\r\n return { text: item?.description, value: item?.id }\r\n })]}\r\n onfilter={(value) => {\r\n dropDownResetter(() => {\r\n setFilteredCities([]);\r\n setDefaultGeoLocation(null);\r\n });\r\n if (value.value === '') {\r\n dropDownResetter(() => {\r\n setFilteredCities([]);\r\n setDefaultGeoLocation(null);\r\n });\r\n return;\r\n }\r\n setFilteredCities(settings?.cities?.filter(item => {\r\n return item.code == value?.value\r\n }));\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n {\r\n const val = { ...personalDataRequest };\r\n val.cityID = String(option);\r\n setPersonalDataRequest(val);\r\n }}\r\n options={[...filteredCities?.map(item => {\r\n return { text: item?.description, value: item?.id, optional: item?.code }\r\n })]}\r\n title={trans(\"extra:city\")}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...personalDataRequest };\r\n val.address = e.target.value;\r\n setPersonalDataRequest(val);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {\r\n if (lang === 'ar') {\r\n return { text: item.DescriptionAr, value: item.ID, isClient: item.NeedIdentity }\r\n } else {\r\n return { text: item.DescriptionEn, value: item.ID, isClient: item.NeedIdentity }\r\n }\r\n })]}\r\n selectedValue={personalDocumentDataRequest.custGroupID}\r\n onfilter={(option) => {\r\n if (option.value == '' || option.value == '0') {\r\n setIdentityType(null);\r\n return;\r\n } else {\r\n const { isClient, value } = { ...option };\r\n setIdentityType(isClient ? 1 : 2);\r\n const val = { ...personalDocumentDataRequest };\r\n val.custGroupID = value;\r\n setPersonalDocumentDataRequest(val);\r\n }\r\n }}\r\n />\r\n
    \r\n {getCorrectIdentitySection()}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {\r\n }}\r\n title={trans(\"user:current_phone\")}\r\n />\r\n
    {\r\n setChangePhoneNumber(!changePhoneNumber);\r\n }}>\r\n {trans(\"user:update_phone_note\")}\r\n
    \r\n {changePhoneNumber && <> {\r\n setPersonalPhoneNumber({\r\n phoneNumber: `+${countryCode}${phoneNumber}`\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n {\r\n }}\r\n title={trans(\"form:email\")}\r\n />\r\n
    {\r\n setChangeEmail(!changeEmail);\r\n }}>\r\n {trans(\"user:update_email_note\")}\r\n
    \r\n {changeEmail && <>\r\n {\r\n const val = { ...personalEmailDataRequest };\r\n val.email = e.target.value;\r\n setPersonalEmailDataRequest(val);\r\n }}\r\n title={trans(\"form:email\") + ' (' + trans(\"info:new\") + ')'}\r\n />\r\n
    \r\n
    \r\n \r\n
    \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 val = { ...requestChangePassword };\r\n val.oldPassword = e.target.value.trim();\r\n setRequestChangePassword(val);\r\n }}\r\n title={trans(\"form:user-current-password\")}\r\n />\r\n {\r\n setUserHasNoPassword(value.checked);\r\n }\r\n }\r\n >\r\n {trans(\"info:user_has_password\")}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setAcceptPasswordStatus(status);\r\n }}\r\n errorLabel={passwordError?.newPassword}\r\n onChangeValue={(e) => {\r\n const val = { ...requestChangePassword };\r\n val.newPassword = e.target.value;\r\n setRequestChangePassword(val);\r\n }}\r\n title={trans(\"form:user-new-password\")}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const val = { ...requestChangePassword };\r\n val.confirmPassword = e.target.value;\r\n setRequestChangePassword(val);\r\n }}\r\n title={trans(\"form:confirm-password\")}\r\n />\r\n
    \r\n
    \r\n
    \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 { Redirect, Route } from \"react-router-dom\";\r\nfunction ProtectedRoute({ component: Component, ...restOfProps }) {\r\n const isAuthenticated = localStorage.getItem(\"isAuthenticated\");\r\n return (\r\n \r\n isAuthenticated ? : \r\n }\r\n />\r\n );\r\n}\r\nexport default ProtectedRoute;","import {useDispatch} from \"react-redux\";\r\nimport {Fragment, useEffect} from \"react\";\r\nimport {changeIcons} from \"../../_redux/slices/navSlice\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {Helmet} from \"react-helmet\";\r\n\r\nexport default function NotFoundPage_404() {\r\n const {t: trans} = useTranslation([\"messages\"]);\r\n\r\n const dispatch = useDispatch();\r\n useEffect(async () => {\r\n\r\n dispatch(\r\n changeIcons({iconsBlack: true})\r\n )\r\n\r\n return () => {\r\n dispatch(\r\n changeIcons({iconsBlack: false})\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 {trans(\"messages:page_not_found\")}\r\n
    \r\n

    \r\n 404\r\n

    \r\n

    \r\n {trans(\"messages:page_not_found_message\")}\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n \"\"/\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { useTranslation } from \"react-i18next\";\r\nimport config from \"../../configuration/config.json\";\r\nexport default function VehicleDetails({\r\n carBrand = '',\r\n carNameTitle = '',\r\n carModelTitle = '',\r\n isHybrid = false,\r\n colorImage,\r\n structureNo = '',\r\n plateNo = '',\r\n createdInput = '',\r\n values = [],\r\n showValues = false,\r\n carImage,\r\n userCarName = '',\r\n industryYear = ''\r\n}) {\r\n const { t: trans } = useTranslation([\"common\", \"vehicales\", \"form\", \"info\"]);\r\n const preIconPath = '/assets/icons/car/';\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n const carInnerDetails = [\r\n { id: 1, description: trans(\"vehicales:veh-cle\"), icon: preIconPath + 'cylinders.svg' },\r\n { id: 2, description: trans(\"vehicales:veh-seat\"), icon: preIconPath + 'seat.svg' },\r\n { id: 3, description: trans(\"vehicales:veh-eng\"), icon: preIconPath + 'engine.svg' },\r\n { id: 4, description: trans(\"vehicales:veh-lettr\"), icon: preIconPath + 'gasoline.svg' },\r\n { id: 5, description: trans(\"vehicales:veh-petrol\"), icon: preIconPath + 'petrol.svg' },\r\n ];\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n {'info'}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {carNameTitle}
    \r\n
    \r\n
    \r\n {\r\n isHybrid &&
    {trans(\"vehicales:veh-hybrid\")}
    \r\n }\r\n
    {carBrand}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {carModelTitle}\r\n
    \r\n
    \r\n {industryYear}\r\n
    \r\n
    \r\n
    \r\n {trans(\"form:color\")} :\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"vehicales:veh-struc\")} : {structureNo}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"vehicales:veh-plat\")} : {plateNo}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"vehicales:veh-created\")} : {createdInput}\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n {trans(\"info:private-name\")} : {userCarName}\r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {\r\n showValues && carInnerDetails.map((e, i) => {\r\n return
    \r\n
    \r\n
    \r\n \r\n {\r\n values && values[i]\r\n }\r\n \r\n \r\n {e.description}\r\n \r\n
    \r\n \r\n
    \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 { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport PageHeading from \"../components/__simple/_pageheading\";\r\nimport VehicleDetails from \"./components/vehicleDetails\";\r\nimport axios from \"axios\";\r\nimport { useParams } from \"react-router\";\r\nimport config from '../configuration/config.json';\r\nimport { Part } from \"../pages/eparts/components/part\";\r\nimport { DropDownInput } from \"../components/_input/_dropdown\";\r\nimport TrackItem from \"./components/trackItem\";\r\nimport moment from \"moment\";\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport { slugCombine } from \"../utils/slugManager\";\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport Offer from \"../components/offer\";\r\nimport dropDownResetter from \"../utils/resetDropDown\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./MaintenanceTwo.scss\"\r\nimport { Price } from \"../components/__simple/_price\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\nexport default function UserVehiclesDetailsPage() {\r\n const { t: trans, i18n } = useTranslation([\"eparts\", \"common\", \"form\", \"vehicales\", \"model\", \"info\", \"inputs\", \"global\"]);\r\n const lang = i18n.language;\r\n const { car, fetchType } = useParams();\r\n const languageDir = 'language-' + lang;\r\n //--------------------------------------------------\r\n const [vehicleDetails, setVehicleDetails] = useState(null);\r\n const [primaryCategory, setPrimaryCategory] = useState([]);\r\n const [subPrimaryCategory, setSubPrimaryCategory] = useState([]);\r\n const [lastSubPrimaryCategory, setLastSubPrimaryCategory] = useState([]);\r\n const [fSubPrimaryCategory, setFSubPrimaryCategory] = useState([]);\r\n const [flastSubPrimaryCategory, setFLastSubPrimaryCategory] = useState([]);\r\n const [allParts, setAllParts] = useState([]);\r\n const [fAllParts, setFAllParts] = useState([]);\r\n const [selectedPrimaryCategory, setSelectedPrimaryCategory] = useState('');\r\n const [selectedSubPrimaryCategory, setSubSelectedPrimaryCategory] = useState('');\r\n const [selectedSubLastPrimaryCategory, setSubLastSelectedPrimaryCategory] = useState('');\r\n const [offers, setOffers] = useState([]);\r\n\r\n const getIsExpireDate = async (date) => {\r\n\r\n try {\r\n\r\n const date1 = new Date(date);\r\n const date2 = new Date();\r\n const diffTime = date1 - date2;\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= 0 && diffTime <= 0) {\r\n return true;\r\n\r\n } else {\r\n\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n return true\r\n\r\n }\r\n\r\n }\r\n useEffect(async () => {\r\n getVehicleDetails();\r\n await initalCategories();\r\n }, []);\r\n\r\n useEffect(async () => {\r\n console.log(\"useEffect ReservationFetch>>>>>>>>>>:\", vehicleDetails)\r\n if (vehicleDetails && vehicleDetails?.vinNo)\r\n ReservationFetch();\r\n PreviousMaintenance();\r\n }, [vehicleDetails]);\r\n\r\n const [Reservation, setReservation] = useState(null);\r\n const [isLoadingReservation, setLoadingReservation] = useState(false);\r\n const [isFetchedReservation, setFetchedReservation] = useState(false);\r\n const ReservationFetch = async () => {\r\n\r\n\r\n console.log(\"ReservationFetch>>>>>>>>>>:\", vehicleDetails)\r\n console.log(\"userId>>>>>>>>>>:\", vehicleDetails)\r\n\r\n const userId = JSON.parse(getData(User_Data_Key, true))?.custID?.toString() ?? 0;\r\n setLoadingReservation(true);\r\n const Body3 = {\r\n \"name\": \"App_ReservationFetchWithVIN\",\r\n \"values\": {\r\n \"UserID\": userId.toString(),\r\n \"VIN\": vehicleDetails?.vinNo\r\n }\r\n\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body3, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"FetchTypeCart:\", response.data);\r\n setReservation(response.data);\r\n setFetchedReservation(true);\r\n setLoadingReservation(false);\r\n })\r\n .catch(function (error) {\r\n setLoadingReservation(false);\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n const [isLoadingContent, setLoadingContent] = useState(false);\r\n const [ReservationFilterData, setReservationFilterData] = useState([]);\r\n const [isActive, setIsActive] = useState(1);\r\n const filterReservation = async (type) => {\r\n\r\n if (!isLoadingContent) {\r\n setLoadingContent(true);\r\n setIsActive(type);\r\n\r\n if (type == 1) {\r\n\r\n let newData = [];\r\n\r\n await Reservation?.map(async a => {\r\n var ex = await getIsExpireDate(a.Orderdate)\r\n if (!ex)\r\n newData = [...newData, a];\r\n\r\n })\r\n\r\n setReservationFilterData(newData);\r\n } else {\r\n let newData = [];\r\n await Reservation?.map(async a => {\r\n var ex = await getIsExpireDate(a.Orderdate)\r\n if (ex)\r\n newData = [...newData, a];\r\n\r\n })\r\n setReservationFilterData(newData);\r\n\r\n }\r\n\r\n setLoadingContent(false);\r\n }\r\n\r\n }\r\n const [Maintenance, setMaintenance] = useState([]);\r\n const [MaintenanceDetails, setMaintenanceDetails] = useState({});\r\n const [isFetchedMaintenance, setFetchedMaintenance] = useState(false);\r\n const [isLoadingMaintenance, setLoadingMaintenance] = useState(false);\r\n const PreviousMaintenance = async () => {\r\n\r\n setLoadingMaintenance(true);\r\n\r\n const userId = JSON.parse(getData(User_Data_Key, true))?.custID?.toString() ?? 0;\r\n\r\n const Body3 = {\r\n \"name\": \"App_PreviousMaintenanceWithVIN\",\r\n \"values\": {\r\n \"UserID\": userId.toString(),\r\n \"VIN\": vehicleDetails?.vinNo\r\n }\r\n\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body3, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"App_PreviousMaintenance :\", response.data);\r\n setMaintenance(response.data);\r\n setFetchedMaintenance(true)\r\n setLoadingMaintenance(false);\r\n })\r\n .catch(function (error) {\r\n setLoadingMaintenance(false);\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n console.log(\"useEffect filterReservation:\", isActive);\r\n\r\n filterReservation(isActive);\r\n }, [isActive, Reservation]);\r\n //---------------------------------------------------\r\n // to fetch the vehicle details by passing the vehicleID\r\n const getVehicleDetails = () => {\r\n\r\n const funSiteGetVehicleDetails = fetchType == \"user\" ? \"SiteGetVehicleDetails\" : \"SiteGetVehiclePurchase\" ;\r\n if (car) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": funSiteGetVehicleDetails,\r\n \"values\": {\r\n \"vehicleID\": car\r\n }\r\n }\r\n ).then(response => {\r\n const responseData = response.data[0];\r\n const modelTrans = trans(\"model:description\");\r\n const _vehicle = { ...vehicleDetails };\r\n _vehicle.groupName = responseData[`Group${modelTrans}`];\r\n _vehicle.modelName = responseData[`Model${modelTrans}`];\r\n _vehicle.colorImage = responseData.ColorImage;\r\n _vehicle.plateNo = responseData[`Board${modelTrans}`];\r\n _vehicle.vinNo = responseData.VIN;\r\n _vehicle.carImage = responseData.Image;\r\n _vehicle.industryYear = responseData.Model ?? '';\r\n _vehicle.inputDate = responseData.InputDate;\r\n _vehicle.brand = responseData[`Brand${modelTrans}`];\r\n _vehicle.userCarName = responseData.UserCarName ?? ''\r\n intialAllPartsByGroup(responseData.BrandID, responseData.ProductGroupID, responseData.Model);\r\n setVehicleDetails(_vehicle);\r\n initialOffers(responseData.ProductGroupID);\r\n }).catch(error => {\r\n console.log('error in fetching the vehicle details,', error);\r\n });\r\n }\r\n };\r\n //----------------------------------------------------\r\n //to fetch all the categories\r\n const initalCategories = async () => {\r\n const primaryCategoriesBody = {\r\n \"object\": \"Site_categorySP\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMain,DescriptionAr,DescriptionEn\"\r\n };\r\n const subPrimaryCategoriesBody = {\r\n \"object\": \"Site_SupCategory\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMainSup1,DescriptionAr,DescriptionEn,GroupIDMain\"\r\n };\r\n const lastSubPrimaryCategoriesBody = {\r\n \"object\": \"Site_ItemsSupCategory\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMainSup2,DescriptionAr,DescriptionEn,GroupIDMainSup1\"\r\n };\r\n\r\n try {\r\n const primaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: primaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n const subPrimaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: subPrimaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n\r\n const lastSubPrimaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: lastSubPrimaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n await axios.all([primaryCategoriesRequest, subPrimaryCategoriesRequest, lastSubPrimaryCategoriesRequest])\r\n .then(axios.spread((category1, category2, category3) => {\r\n setPrimaryCategory(category1.data.ApiObjectData);\r\n setSubPrimaryCategory(category2.data.ApiObjectData);\r\n setLastSubPrimaryCategory(category3.data.ApiObjectData);\r\n })).catch(err => {\r\n console.log(err);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // filter the sub categories\r\n const handlFilterSubCategories = (option) => {\r\n try {\r\n if (option?.value == '' || option?.value == '0' || option?.value == null) {\r\n dropDownResetter(() => {\r\n setFSubPrimaryCategory([]);\r\n setFLastSubPrimaryCategory([]);\r\n setSelectedPrimaryCategory('');\r\n });\r\n return;\r\n }\r\n setSelectedPrimaryCategory(option.value);\r\n setFSubPrimaryCategory(subPrimaryCategory.filter(item => {\r\n return item.GroupIDMain == option.value\r\n }));\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // filter the last sub categories\r\n const handlFilterLastSubCategories = (option) => {\r\n try {\r\n if (option?.value == '' || option?.value == '0' || option?.value == null) {\r\n dropDownResetter(() => {\r\n setFLastSubPrimaryCategory([]);\r\n setSubSelectedPrimaryCategory('');\r\n });\r\n return;\r\n }\r\n setSubSelectedPrimaryCategory(option.value);\r\n setFLastSubPrimaryCategory(lastSubPrimaryCategory.filter(item => {\r\n return item.GroupIDMainSup1 == option.value\r\n }));\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // to intialize the parts that are base on the group and brand\r\n const intialAllPartsByGroup = (brandID, groupID, model) => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FeatchPartByVehicle\",\r\n \"values\": {\r\n \"brand\": Number(brandID),\r\n \"group\": groupID,\r\n \"type\": null,\r\n \"year\": String(model)\r\n }\r\n }\r\n ).then(response => {\r\n setAllParts(response.data);\r\n setFAllParts(response.data);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n // to search by the dropdowns\r\n const handleOnSearch = () => {\r\n try {\r\n let filterResults = [];\r\n if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0)\r\n && (selectedSubLastPrimaryCategory == '' || selectedSubLastPrimaryCategory == 0) && (selectedSubLastPrimaryCategory == '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory\r\n }));\r\n } else if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0) &&\r\n (selectedSubLastPrimaryCategory != '' && selectedSubLastPrimaryCategory != 0) && (selectedSubLastPrimaryCategory == '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory && item.SupCategorySPID == selectedSubPrimaryCategory\r\n }));\r\n } else if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0) &&\r\n (selectedSubLastPrimaryCategory != '' && selectedSubLastPrimaryCategory != 0) && (selectedSubLastPrimaryCategory != '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory && item.SupCategorySPID == selectedSubPrimaryCategory && item.ItemsSupCategorySPID == selectedSubLastPrimaryCategory\r\n }));\r\n } else {\r\n filterResults = allParts;\r\n }\r\n setFAllParts(filterResults);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n const [favoriteProducts, setFavoriteProducts] = useState([]);\r\n useEffect(async () => {\r\n const results = await fetchUserFavorites();\r\n setFavoriteProducts(results);\r\n }, []);\r\n // to fetch the user favorites\r\n const fetchUserFavorites = async () => {\r\n let _favorites = [];\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavorites\",\r\n \"values\": {\r\n \"userID\": userID\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const favorites = response.data;\r\n _favorites = _favorites.concat(favorites);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return _favorites;\r\n };\r\n // to fetch all the user offers\r\n const initialOffers = (groupID) => {\r\n try {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchOffersByGroup\",\r\n \"Values\": {\r\n \"GroupID\": String(groupID)\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n const groupResult = mapValues(groupBy(result, 'OfferType'), fList => fList.map(items => omit(items, 'OfferType')));\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n //---------------------------------------------------------------------------- \r\n for (let item in groupValues) {\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n const results = groupValues[item].map(item => item[`Type${trans(\"model:description\")}`]);\r\n if (results?.length > 0) {\r\n title = results[0];\r\n }\r\n obj.heading = title;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n }\r\n setOffers(finalResults);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n\r\n const formatDateTime = (date, time) => {\r\n\r\n try {\r\n if (date) {\r\n let dateNow = new Date(date);\r\n\r\n\r\n if (time) {\r\n\r\n let timeNow = new Date(\"2023-02-26T\" + time);\r\n\r\n dateNow.setHours(timeNow.getHours(), timeNow.getMinutes(), timeNow.getSeconds());\r\n }\r\n\r\n\r\n\r\n var formatDate = { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', hour12: true, minute: '2-digit' };\r\n\r\n if (lang.language === \"en\") {\r\n return dateNow.toLocaleDateString('en-US', formatDate);\r\n\r\n } else {\r\n return dateNow.toLocaleDateString('en-US', formatDate);\r\n // return dateNow.toLocaleDateString('ar-US', formatDate);\r\n }\r\n\r\n } else {\r\n return date;\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return date;\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 {trans(\"info:offers\")}\r\n \r\n {/* \r\n \r\n {trans(\"info:spare-parts\")}\r\n */}\r\n {/* \r\n \r\n {trans(\"info:history\")}\r\n */}\r\n \r\n \r\n {trans(\"info:my-bookings\")}\r\n \r\n \r\n \r\n {trans(\"info:previous-maintenance\")}\r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n offers.map((parent, index) => {\r\n return (\r\n <>\r\n

    {parent.heading}

    \r\n \r\n {\r\n parent.items?.map((item, index) => {\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 if (lang == 'ar') {\r\n return { text: item.DescriptionAr, value: item.GroupIDMain }\r\n } else {\r\n return { text: item.DescriptionEn, value: item.GroupIDMain }\r\n }\r\n })]}\r\n onfilter={handlFilterSubCategories}\r\n />\r\n {\r\n if (lang == 'ar') {\r\n return { text: item.DescriptionAr, value: item.GroupIDMainSup1 }\r\n } else {\r\n return { text: item.DescriptionEn, value: item.GroupIDMainSup1 }\r\n }\r\n })]}\r\n onfilter={handlFilterLastSubCategories}\r\n />\r\n\r\n {\r\n if (lang == 'ar') {\r\n return { text: item.DescriptionAr, value: item.GroupIDMainSup2 }\r\n } else {\r\n return { text: item.DescriptionEn, value: item.GroupIDMainSup2 }\r\n }\r\n })]}\r\n onSelect={(value) => {\r\n setSubLastSelectedPrimaryCategory(value)\r\n }}\r\n />\r\n
    \r\n {trans(\"eparts:search\")}\r\n \r\n
    \r\n
    \r\n {\r\n fAllParts?.length > 0 ? (
    \r\n {\r\n fAllParts.map((P, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n \r\n {\r\n (fAllParts?.length > 10) && (\r\n
    \r\n \r\n {trans(\"common:show-more\")}\r\n \r\n
    \r\n )\r\n }\r\n
    ) :\r\n\r\n
    \r\n \"hassan\r\n

    {trans(\"info:no_parts\")}

    \r\n
    \r\n\r\n }\r\n
    \r\n
    */}\r\n {/* \r\n
    \r\n {\r\n [1, 2, 3].map(item => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n
    \r\n
    */}\r\n \r\n
    \r\n {\r\n ReservationFilterData?.map((res, index) => {\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

    {lang == \"ar\" ? res?.DescriptionAr : res?.DescriptionEn}

    \r\n\r\n

    {trans(\"info:order-number\")}: {res?.ReceptionID}

    \r\n\r\n {\r\n

    {trans(\"info:booking-date\")}: {formatDateTime(res.Orderdate, res.Ordertime)}

    \r\n\r\n }\r\n\r\n\r\n

    \r\n \r\n {res?.price && }\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n Maintenance?.map((res, index) => {\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

    {res?.Description}

    \r\n\r\n

    {trans(\"info:order-number\")}: {res?.OrderID}

    \r\n\r\n {\r\n

    {trans(\"info:maintenance-date\")}: {formatDateTime(res?.CompleteDate, null)}

    \r\n\r\n }\r\n\r\n\r\n

    \r\n \r\n {res?.Price && }\r\n \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 { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport PageHeading from \"../components/__simple/_pageheading\";\r\nimport VehicleDetails from \"./components/vehicleDetails\";\r\nimport axios from \"axios\";\r\nimport { useParams } from \"react-router\";\r\nimport config from '../configuration/config.json';\r\n\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\n\r\nimport { getData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport dropDownResetter from \"../utils/resetDropDown\";\r\nimport \"./MaintenanceTwo.scss\"\r\nimport { Price } from \"../components/__simple/_price\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport CarUser from \"./components/CarUser\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\nexport default function MyBookings() {\r\n const { t: trans, i18n } = useTranslation([\"eparts\", \"common\", \"form\", \"vehicales\", \"model\", \"info\", \"inputs\", \"global\"]);\r\n const lang = i18n.language;\r\n const { car, fetchType } = useParams();\r\n const languageDir = 'language-' + lang;\r\n //--------------------------------------------------\r\n const [vehicleDetails, setVehicleDetails] = useState(null);\r\n const [primaryCategory, setPrimaryCategory] = useState([]);\r\n const [subPrimaryCategory, setSubPrimaryCategory] = useState([]);\r\n const [lastSubPrimaryCategory, setLastSubPrimaryCategory] = useState([]);\r\n const [fSubPrimaryCategory, setFSubPrimaryCategory] = useState([]);\r\n const [flastSubPrimaryCategory, setFLastSubPrimaryCategory] = useState([]);\r\n const [allParts, setAllParts] = useState([]);\r\n const [fAllParts, setFAllParts] = useState([]);\r\n const [selectedPrimaryCategory, setSelectedPrimaryCategory] = useState('');\r\n const [selectedSubPrimaryCategory, setSubSelectedPrimaryCategory] = useState('');\r\n const [selectedSubLastPrimaryCategory, setSubLastSelectedPrimaryCategory] = useState('');\r\n const [offers, setOffers] = useState([]);\r\n const [isLoadingUserCars, setLoadingUserCars] = useState(true);\r\n const [myCars, setMyCars] = useState([]);\r\n const [activeId, setActiveId] = useState(null);\r\n const [curentCarId, setCurentCarId] = useState(null);\r\n useEffect(() => {\r\n\r\n getUserCars();\r\n }, []);\r\n\r\n const getUserCars = async () => {\r\n\r\n var _userID = JSON.parse(getData(User_Data_Key, true))?.id?.toString() ?? 0;\r\n _userID = Number(_userID.toString().split('_')[1]);\r\n\r\n try {\r\n setLoadingUserCars(true);\r\n\r\n await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetUserCars\",\r\n \"values\": {\r\n \"userID\": Number(_userID)\r\n }\r\n }\r\n ).then(function (response) {\r\n\r\n setMyCars(response.data);\r\n\r\n var index = 0;\r\n\r\n\r\n index = response?.data?.findIndex(0)\r\n var currentCar = response?.data[0];\r\n\r\n\r\n if (currentCar)\r\n setVehicleDetails(currentCar);\r\n\r\n\r\n\r\n console.log(\"currentCar:>>>>>>>>>>>>>>>>>>>>>>>>>:\", currentCar);\r\n setActiveId(index);\r\n\r\n setLoadingUserCars(false);\r\n\r\n }).catch(function (error) {\r\n console.log(error);\r\n setLoadingUserCars(false);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n setLoadingUserCars(false);\r\n }\r\n\r\n };\r\n const getIsExpireDate = async (date) => {\r\n\r\n try {\r\n\r\n const date1 = new Date(date);\r\n const date2 = new Date();\r\n const diffTime = date1 - date2;\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= 0 && diffTime <= 0) {\r\n return true;\r\n\r\n } else {\r\n\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n return true\r\n\r\n }\r\n\r\n }\r\n\r\n const onSliderHomePageChange = (activeIndex) => {\r\n try {\r\n \r\n setActiveId(activeIndex)\r\n var currentCar = myCars[activeIndex];\r\n\r\n\r\n\r\n if (currentCar)\r\n setVehicleDetails(currentCar);\r\n if (currentCar?.CarID)\r\n setCurentCarId(currentCar?.CarID);\r\n\r\n } catch (error) {\r\n console.log(\"onSliderHomePageChange error \", error);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n // useEffect(async () => {\r\n // getVehicleDetails();\r\n // await initalCategories();\r\n // }, []);\r\n\r\n useEffect(async () => {\r\n console.log(\"useEffect ReservationFetch>>>>>>>>>>:\", vehicleDetails)\r\n if (vehicleDetails && vehicleDetails?.CarID)\r\n ReservationFetch();\r\n PreviousMaintenance();\r\n }, [vehicleDetails]);\r\n\r\n const [Reservation, setReservation] = useState(null);\r\n const [isLoadingReservation, setLoadingReservation] = useState(false);\r\n const [isFetchedReservation, setFetchedReservation] = useState(false);\r\n const [cachReservation, setCachReservation] = useState({});\r\n const ReservationFetch = async () => {\r\n let data = {};\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n } catch (error) {\r\n\r\n }\r\n\r\n var userId = data?.custID ? data?.custID : 0;\r\n\r\n setLoadingReservation(true);\r\n\r\n\r\n if (cachReservation[curentCarId]) {\r\n\r\n var cr = cachReservation[curentCarId];\r\n setReservation(cr);\r\n setFetchedReservation(true);\r\n setLoadingReservation(false);\r\n } else {\r\n\r\n const Body3 = {\r\n \"name\": \"App_ReservationFetchWithVIN\",\r\n \"values\": {\r\n \"UserID\": userId.toString(),\r\n \"VIN\": curentCarId\r\n }\r\n\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body3, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"FetchTypeCart:\", response.data);\r\n setReservation(response.data);\r\n setFetchedReservation(true);\r\n setLoadingReservation(false);\r\n\r\n var cr = { ...cachReservation };\r\n cr[curentCarId] = response.data;\r\n setCachReservation(cr);\r\n })\r\n .catch(function (error) {\r\n setLoadingReservation(false);\r\n console.log(error);\r\n var cr = { ...cachReservation };\r\n cr[curentCarId] = [];\r\n setCachReservation(cr);\r\n });\r\n }\r\n\r\n\r\n\r\n }\r\n const [isLoadingContent, setLoadingContent] = useState(false);\r\n const [ReservationFilterData, setReservationFilterData] = useState([]);\r\n const [isActive, setIsActive] = useState(1);\r\n const filterReservation = async (type) => {\r\n\r\n if (!isLoadingContent) {\r\n setLoadingContent(true);\r\n setIsActive(type);\r\n\r\n if (type == 1) {\r\n\r\n let newData = [];\r\n\r\n await Reservation?.map(async a => {\r\n var ex = await getIsExpireDate(a.Orderdate)\r\n if (!ex)\r\n newData = [...newData, a];\r\n\r\n })\r\n\r\n setReservationFilterData(newData);\r\n } else {\r\n let newData = [];\r\n await Reservation?.map(async a => {\r\n var ex = await getIsExpireDate(a.Orderdate)\r\n if (ex)\r\n newData = [...newData, a];\r\n\r\n })\r\n setReservationFilterData(newData);\r\n\r\n }\r\n\r\n setLoadingContent(false);\r\n }\r\n\r\n }\r\n const [Maintenance, setMaintenance] = useState([]);\r\n const [MaintenanceDetails, setMaintenanceDetails] = useState({});\r\n const [isFetchedMaintenance, setFetchedMaintenance] = useState(false);\r\n const [isLoadingMaintenance, setLoadingMaintenance] = useState(false);\r\n const PreviousMaintenance = async () => {\r\n\r\n setLoadingMaintenance(true);\r\n\r\n const userId = JSON.parse(getData(User_Data_Key, true))?.custID?.toString() ?? 0;\r\n\r\n const Body3 = {\r\n \"name\": \"App_PreviousMaintenanceWithVIN\",\r\n \"values\": {\r\n \"UserID\": userId.toString(),\r\n \"VIN\": vehicleDetails?.CarID\r\n }\r\n\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body3, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"App_PreviousMaintenance :\", response.data);\r\n setMaintenance(response.data);\r\n setFetchedMaintenance(true)\r\n setLoadingMaintenance(false);\r\n })\r\n .catch(function (error) {\r\n setLoadingMaintenance(false);\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n console.log(\"useEffect filterReservation:\", isActive);\r\n\r\n filterReservation(isActive);\r\n }, [isActive, Reservation]);\r\n //---------------------------------------------------\r\n // to fetch the vehicle details by passing the vehicleID\r\n const getVehicleDetails = () => {\r\n\r\n const funSiteGetVehicleDetails = fetchType === \"user\" ? \"SiteGetVehicleDetails\" : \"SiteGetVehiclePurchase\";\r\n if (car) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": funSiteGetVehicleDetails,\r\n \"values\": {\r\n \"vehicleID\": car\r\n }\r\n }\r\n ).then(response => {\r\n const responseData = response.data[0];\r\n const modelTrans = lang == \"ar\" ? \"Ar\" : \"En\"\r\n const _vehicle = { ...vehicleDetails };\r\n _vehicle.groupName = responseData[`Group${modelTrans}`];\r\n _vehicle.modelName = responseData[`Model${modelTrans}`];\r\n _vehicle.colorImage = responseData.ColorImage;\r\n _vehicle.plateNo = responseData[`Board${modelTrans}`];\r\n _vehicle.vinNo = responseData.VIN;\r\n _vehicle.carImage = responseData.Image;\r\n _vehicle.industryYear = responseData.Model ?? '';\r\n _vehicle.inputDate = responseData.InputDate;\r\n _vehicle.brand = responseData[`BrandDescription${modelTrans}`];\r\n _vehicle.userCarName = responseData.UserCarName ?? ''\r\n intialAllPartsByGroup(responseData.BrandID, responseData.ProductGroupID, responseData.Model);\r\n console.log(\"_vehicle >>>>>>>>>>>>>>>>>>>>> :\", _vehicle);\r\n setVehicleDetails(_vehicle);\r\n initialOffers(responseData.ProductGroupID);\r\n }).catch(error => {\r\n console.log('error in fetching the vehicle details,', error);\r\n });\r\n }\r\n };\r\n //----------------------------------------------------\r\n //to fetch all the categories\r\n const initalCategories = async () => {\r\n const primaryCategoriesBody = {\r\n \"object\": \"Site_categorySP\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMain,DescriptionAr,DescriptionEn\"\r\n };\r\n const subPrimaryCategoriesBody = {\r\n \"object\": \"Site_SupCategory\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMainSup1,DescriptionAr,DescriptionEn,GroupIDMain\"\r\n };\r\n const lastSubPrimaryCategoriesBody = {\r\n \"object\": \"Site_ItemsSupCategory\",\r\n \"objectSettings\": {\r\n \"metaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GroupIDMainSup2,DescriptionAr,DescriptionEn,GroupIDMainSup1\"\r\n };\r\n\r\n try {\r\n const primaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: primaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n const subPrimaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: subPrimaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n\r\n const lastSubPrimaryCategoriesRequest = axios.request(\r\n {\r\n url: config.baseURL + 'details',\r\n data: lastSubPrimaryCategoriesBody, method: \"POST\", responseType: \"json\"\r\n }\r\n );\r\n\r\n await axios.all([primaryCategoriesRequest, subPrimaryCategoriesRequest, lastSubPrimaryCategoriesRequest])\r\n .then(axios.spread((category1, category2, category3) => {\r\n setPrimaryCategory(category1.data.ApiObjectData);\r\n setSubPrimaryCategory(category2.data.ApiObjectData);\r\n setLastSubPrimaryCategory(category3.data.ApiObjectData);\r\n })).catch(err => {\r\n console.log(err);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // filter the sub categories\r\n const handlFilterSubCategories = (option) => {\r\n try {\r\n if (option?.value == '' || option?.value == '0' || option?.value == null) {\r\n dropDownResetter(() => {\r\n setFSubPrimaryCategory([]);\r\n setFLastSubPrimaryCategory([]);\r\n setSelectedPrimaryCategory('');\r\n });\r\n return;\r\n }\r\n setSelectedPrimaryCategory(option.value);\r\n setFSubPrimaryCategory(subPrimaryCategory.filter(item => {\r\n return item.GroupIDMain == option.value\r\n }));\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // filter the last sub categories\r\n const handlFilterLastSubCategories = (option) => {\r\n try {\r\n if (option?.value == '' || option?.value == '0' || option?.value == null) {\r\n dropDownResetter(() => {\r\n setFLastSubPrimaryCategory([]);\r\n setSubSelectedPrimaryCategory('');\r\n });\r\n return;\r\n }\r\n setSubSelectedPrimaryCategory(option.value);\r\n setFLastSubPrimaryCategory(lastSubPrimaryCategory.filter(item => {\r\n return item.GroupIDMainSup1 == option.value\r\n }));\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n // to intialize the parts that are base on the group and brand\r\n const intialAllPartsByGroup = (brandID, groupID, model) => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"Site_FeatchPartByVehicle\",\r\n \"values\": {\r\n \"brand\": Number(brandID),\r\n \"group\": groupID,\r\n \"type\": null,\r\n \"year\": String(model)\r\n }\r\n }\r\n ).then(response => {\r\n setAllParts(response.data);\r\n setFAllParts(response.data);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n // to search by the dropdowns\r\n const handleOnSearch = () => {\r\n try {\r\n let filterResults = [];\r\n if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0)\r\n && (selectedSubLastPrimaryCategory == '' || selectedSubLastPrimaryCategory == 0) && (selectedSubLastPrimaryCategory == '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory\r\n }));\r\n } else if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0) &&\r\n (selectedSubLastPrimaryCategory != '' && selectedSubLastPrimaryCategory != 0) && (selectedSubLastPrimaryCategory == '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory && item.SupCategorySPID == selectedSubPrimaryCategory\r\n }));\r\n } else if ((selectedPrimaryCategory != '' && selectedPrimaryCategory != 0) &&\r\n (selectedSubLastPrimaryCategory != '' && selectedSubLastPrimaryCategory != 0) && (selectedSubLastPrimaryCategory != '')) {\r\n filterResults = allParts.filter((item => {\r\n return item.CategorySPID == selectedPrimaryCategory && item.SupCategorySPID == selectedSubPrimaryCategory && item.ItemsSupCategorySPID == selectedSubLastPrimaryCategory\r\n }));\r\n } else {\r\n filterResults = allParts;\r\n }\r\n setFAllParts(filterResults);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n const [favoriteProducts, setFavoriteProducts] = useState([]);\r\n useEffect(async () => {\r\n const results = await fetchUserFavorites();\r\n setFavoriteProducts(results);\r\n }, []);\r\n // to fetch the user favorites\r\n const fetchUserFavorites = async () => {\r\n let _favorites = [];\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavorites\",\r\n \"values\": {\r\n \"userID\": userID\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const favorites = response.data;\r\n _favorites = _favorites.concat(favorites);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return _favorites;\r\n };\r\n // to fetch all the user offers\r\n const initialOffers = (groupID) => {\r\n try {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchOffersByGroup\",\r\n \"Values\": {\r\n \"GroupID\": String(groupID)\r\n }\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n const groupResult = mapValues(groupBy(result, 'OfferType'), fList => fList.map(items => omit(items, 'OfferType')));\r\n let groupValues = {};\r\n Object.assign(groupValues, groupResult);\r\n let finalResults = [];\r\n //---------------------------------------------------------------------------- \r\n for (let item in groupValues) {\r\n const obj = { heading: '', items: [] };\r\n let title = '';\r\n const results = groupValues[item].map(item => item[`Type${trans(\"model:description\")}`]);\r\n if (results?.length > 0) {\r\n title = results[0];\r\n }\r\n obj.heading = title;\r\n obj.items = groupValues[item];\r\n finalResults.push(obj);\r\n }\r\n setOffers(finalResults);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n\r\n const formatDateTime = (date, time) => {\r\n\r\n try {\r\n if (date) {\r\n let dateNow = new Date(date);\r\n\r\n\r\n if (time) {\r\n\r\n let timeNow = new Date(\"2023-02-26T\" + time);\r\n\r\n dateNow.setHours(timeNow.getHours(), timeNow.getMinutes(), timeNow.getSeconds());\r\n }\r\n\r\n\r\n\r\n var formatDate = { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', hour12: true, minute: '2-digit' };\r\n\r\n if (lang.language === \"en\") {\r\n return dateNow.toLocaleDateString('en-US', formatDate);\r\n\r\n } else {\r\n return dateNow.toLocaleDateString('en-US', formatDate);\r\n // return dateNow.toLocaleDateString('ar-US', formatDate);\r\n }\r\n\r\n } else {\r\n return date;\r\n\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return date;\r\n }\r\n };\r\n\r\n //------------------------------------------------------------------------------\r\n useEffect(() => {\r\n\r\n if (myCars?.length == 1)\r\n onSliderHomePageChange(0);\r\n }, [myCars]);\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n const handelOnSlideChange = (swiperCore) => {\r\n\r\n console.log(\"swiperCore \", swiperCore);\r\n try {\r\n\r\n let swiperCoreValues = {\r\n activeIndex: 0,\r\n snapIndex: 0,\r\n previousIndex: 0,\r\n realIndex: 0,\r\n }\r\n swiperCoreValues = swiperCore;\r\n\r\n \r\n onSliderHomePageChange(swiperCore?.activeIndex);\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n return (\r\n
    \r\n \r\n\r\n \r\n \r\n {myCars?.map((car, index) => {\r\n\r\n return \r\n {\r\n\r\n onSliderHomePageChange(index);\r\n \r\n }}\r\n\r\n withMoreLinke={false}\r\n key={index + 5000}\r\n inputDate={car.InputDate}\r\n showDetails={false}\r\n active ={activeId == index}\r\n id={car.CarID}\r\n img={car.Image ? car.Image : '/assets/images/eparts/default.png'}\r\n name={car[`Model${trans('model:description')}`]}\r\n brand={car[`Brand${trans('model:description')}`]}\r\n brandIcon={car.Icon ? \"data:image/png;base64,\" + car.Icon : null}\r\n brandImage={car.IconImage ? \"data:image/png;base64,\" + car.IconImage : null}\r\n link={\"/user/vehicles/privateVehicles/\" + car.CarID + \"/\" + car.FetchType}\r\n />\r\n\r\n \r\n })}\r\n \r\n \r\n {/* \r\n */}\r\n\r\n \r\n
    \r\n \r\n \r\n {trans(\"info:my-bookings\")}\r\n \r\n \r\n \r\n {trans(\"info:previous-maintenance\")}\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n {\r\n ReservationFilterData?.map((res, index) => {\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

    {lang == \"ar\" ? res?.DescriptionAr : res?.DescriptionEn}

    \r\n\r\n

    {trans(\"info:order-number\")}: {res?.ReceptionID}

    \r\n\r\n {\r\n

    {trans(\"info:booking-date\")}: {formatDateTime(res.Orderdate, res.Ordertime)}

    \r\n\r\n }\r\n\r\n\r\n

    \r\n \r\n {res?.price && }\r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n Maintenance?.map((res, index) => {\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

    {res?.Description}

    \r\n\r\n

    {trans(\"info:order-number\")}: {res?.OrderID}

    \r\n\r\n {\r\n

    {trans(\"info:maintenance-date\")}: {formatDateTime(res?.CompleteDate, null)}

    \r\n\r\n }\r\n\r\n\r\n

    \r\n \r\n {res?.Price && }\r\n \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\nconst OwnOrderContext = React.createContext();\r\nOwnOrderContext.displayName = 'OwnOrderContext';\r\nexport default OwnOrderContext;\r\n","\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport SectionHeading from \"../../../components/sectionHeading\";\r\nimport { FormButton } from \"../../../components/_input/_button\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport { DateInput } from \"../../../components/_input/_dateInput\";\r\nimport moment from 'moment';\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport { useContext } from \"react\";\r\nimport OwnOrderContext from \"./ownOrderContext\";\r\nimport axios from \"axios\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport { getData, User_Data_Key } from \"../../../utils/localStorageManager\";\r\nimport { toast } from \"react-toastify\";\r\nexport const OwnOrderHistory = ({\r\n historyTitle = '',\r\n historySubTitle = '',\r\n statusOptions = [],\r\n values = [],\r\n onClick\r\n}) => {\r\n const { t: trans } = useTranslation([\"ownOrder\", \"new\"]);\r\n let lang = localStorage.getItem(\"i18nextLng\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [filterHistory, setFilterHistory] = useState({\r\n filterStatusOption: '',\r\n filterDate: ''\r\n });\r\n const [isLoading, setIsLoading] = useState(false);\r\n //-----------------------------------------------------\r\n const [activeItem, setActiveItem] = useState({\r\n key: null,\r\n status: false\r\n });\r\n //------------------------------------------------------\r\n const context = useContext(OwnOrderContext);\r\n //-----------------------------------------------------\r\n const handleOnFilter = () => {\r\n try {\r\n setIsLoading(true);\r\n if (onClick) {\r\n onClick(filterHistory);\r\n }\r\n } catch (error) {\r\n console.log('error fired once click on filter btn', error);\r\n }\r\n setIsLoading(false);\r\n };\r\n const handleOnItemChangeStatus = (id, status, CartID, Description, Total, CreatedAt, Delivery, TStatus, deliveryType) => {\r\n const val = { ...activeItem };\r\n val.key = id;\r\n val.status = status;\r\n\r\n\r\n setActiveItem(val);\r\n if (window.innerWidth < 577) {\r\n context.handleChangeParentState({ showDetailsBox: status, itemActive: status, showHistoryBox: !status, cartID: id, CID: CartID, Description: Description, Total: Total, CreatedAt: CreatedAt, Delivery: Delivery, TStatus: TStatus, deliveryMethod: deliveryType });\r\n } else {\r\n context.handleChangeParentState({ showDetailsBox: status, itemActive: status, showHistoryBox: true, cartID: id, CID: CartID, Description: Description, Total: Total, CreatedAt: CreatedAt, Delivery: Delivery, TStatus: TStatus, deliveryMethod: deliveryType });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n\r\n\r\n if (values?.length > 0) {\r\n\r\n const item = values[0];\r\n const status= true;\r\n handleOnItemChangeStatus(item.CartID, status, item.CartID, lang === \"ar\" ? item.DescriptionAr : item.DescriptionEn, item.Total, item.CreatedAt, item.SiteDilveryID ? (lang === \"ar\" ? item.DilveryAr : item.DilveryEn) : (lang === \"ar\" ? item.siteAr : item.siteEn), lang === \"ar\" ? item.statusAr : item.statusAr, (item.SiteDilveryID ? trans('new:by_site') : trans('new:by_branch')));\r\n\r\n }\r\n\r\n }, [values])\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n return { text: (lang === 'ar' ? p.DescriptionAr : p.DescriptionEn), value: p.statusID.toString() };\r\n })]}\r\n onSelect={(option) => {\r\n const val = { ...filterHistory };\r\n val.filterStatusOption = option;\r\n setFilterHistory(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...filterHistory };\r\n val.filterDate = e.target.value;\r\n setFilterHistory(val);\r\n }} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {\r\n values && values.map((item, index) => {\r\n return {\r\n handleOnItemChangeStatus(id, status, item.CartID, lang === \"ar\" ? item.DescriptionAr : item.DescriptionEn, item.Total, item.CreatedAt, item.SiteDilveryID ? (lang === \"ar\" ? item.DilveryAr : item.DilveryEn) : (lang === \"ar\" ? item.siteAr : item.siteEn), lang === \"ar\" ? item.statusAr : item.statusAr, (item.SiteDilveryID ? trans('new:by_site') : trans('new:by_branch')));\r\n }}\r\n />\r\n })\r\n }\r\n
    \r\n );\r\n}\r\n// component that is used to show the history item\r\nexport const OwnHistoryItem = (\r\n { key,\r\n id,\r\n orderCode = '#',\r\n orderDate,\r\n orderStatusText = '',\r\n orderStatusCode,\r\n total = 0.0,\r\n locationText = '',\r\n visualElements = 4,\r\n maxVisualElements = 4,\r\n isActive = false,\r\n onItemClick,\r\n url_payment\r\n }\r\n) => {\r\n const { t: trans } = useTranslation([\"ownOrder\"]);\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const [file, setFile] = useState(null);\r\n const [step, setSteps] = useState(0);\r\n const handleOnItemClick = () => {\r\n if (onItemClick) {\r\n const activeStatus = !isActive;\r\n onItemClick(id, activeStatus);\r\n }\r\n };\r\n const [CartsImages, setCartImages] = useState([]);\r\n \r\n \r\n const fileRef = useRef();\r\n const handleOnCompleteBuy = (event) => {\r\n window.open(url_payment)\r\n\r\n };\r\n const handleOnUploadFile = (event) => {\r\n event.stopPropagation();\r\n if (step === 0) {\r\n fileRef.current.click();\r\n if (file == null) {\r\n setSteps(1);\r\n }\r\n } else if (step === 1) {\r\n if (file) {\r\n if (window.confirm(trans(\"new:send_transfer\") + \" \" + \"?\")) {\r\n try {\r\n const userData = JSON.parse(getData(User_Data_Key, true));\r\n const userID = userData.id.toString().split('_')[1];\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"Object\": \"SiteCartTransforms\",\r\n \"values\": {\r\n \"UserID\": Number(userID),\r\n \"CartID\": Number(id),\r\n \"TransformImage\": file\r\n }\r\n }\r\n ).then(response => {\r\n toast.success(trans(\"global:success_operation\"));\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n setFile(null);\r\n }\r\n setSteps(0);\r\n }\r\n };\r\n const toBase64 = file => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n const handleChangeImage = async (event) => {\r\n const files = event.target.files;\r\n if (files.length > 0) {\r\n const fileBase64 = await toBase64(files[0]);\r\n const finalFile = fileBase64.substr(fileBase64.indexOf(',') + 1, fileBase64.length);\r\n setFile(finalFile);\r\n return;\r\n }\r\n setFile(null);\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {trans(\"info:complete_buy\")}\r\n
    \r\n
    \r\n {step == 0 ? trans(\"info:select_file\") : trans(\"info:upload_file\")}\r\n {\r\n await handleChangeImage(event);\r\n }} accept=\"image/*\" style={{ display: 'none' }} ref={fileRef} />\r\n
    \r\n
    \r\n
    \r\n {orderStatusText}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {orderCode}

    \r\n
    {(orderDate != null && moment(orderDate).isValid()) ? moment(orderDate).format('YYYY-MM-DD') : ''}
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n CartsImages.map((item, index) => {\r\n if (index < maxVisualElements)\r\n return (\r\n
    \r\n {id}\r\n
    )\r\n })\r\n }\r\n {\r\n (visualElements.length > maxVisualElements) &&\r\n
    \r\n
    2+
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"ownOrder:total_amount\")}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"ownOrder:deleviry_place\")}\r\n
    \r\n
    \r\n {locationText}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n}","import { useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport OwnOrderContext from '../../components/ownOrders/ownOrderContext';\r\nimport config from \"../../../configuration/config.json\";\r\nimport moment from 'moment';\r\nexport const OwnOrderDetails = ({ orderNumber = '',\r\n orderStatusText = '',\r\n orderDate = '',\r\n deliveryLocation = '',\r\n deliveryMethod = '',\r\n amount = 0,\r\n shippingPrice = 0,\r\n finalTotal = 0,\r\n orderHistory = [] }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const dir = lang == 'en' ? 'left' : 'right';\r\n const { handleChangeParentState } = useContext(OwnOrderContext);\r\n return (\r\n
    \r\n
    \r\n
    \r\n {trans(\"ownOrder:order_no\")} {orderNumber}\r\n
    \r\n
    \r\n
    {\r\n handleChangeParentState({ showDetailsBox: false, showHistoryBox: true });\r\n }}>\r\n \r\n {trans(\"ownOrder:back\")}\r\n
    \r\n
    \r\n {orderStatusText}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"ownOrder:order-record\")}

    \r\n
    \r\n {\r\n orderHistory.map((item, index) => {\r\n return
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {lang === 'ar' ? item.DescriptionAr : item.DescriptionEn}

    \r\n
    \r\n {new moment(item.Createdat).format('yyyy-MM-DD')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n

    {trans(\"ownOrder:order_date\")}

    \r\n
    \r\n {new moment(orderDate).format('yyyy-MM-DD')}\r\n {/* |\r\n 2021 - 5 -12
    */}\r\n
    \r\n
    \r\n

    {trans(\"ownOrder:deleviry_place\")}

    \r\n
    {deliveryLocation}
    \r\n
    \r\n
    \r\n

    {trans(\"ownOrder:deleviry_method\")}

    \r\n
    {deliveryMethod}
    \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"ownOrder:payment\")}

    \r\n
    \r\n

    {trans(\"ownOrder:amount\")}

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

    {trans(\"ownOrder:shipping\")}

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

    {trans(\"ownOrder:total\")}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nconst lang = localStorage.getItem(\"i18nextLng\");\r\n\r\n\r\nexport const OwnVehicleOrders = ({ vehicles = [] }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n if (vehicles?.length > 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:vehicle\")}\r\n

    \r\n {\r\n vehicles.map((item, index) => {\r\n return
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:vehicle_type\")}\r\n

    \r\n
    \r\n {lang === \"ar\" ? item.TypeCarAr : item.TypeCarEn}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:vehicle_color\")}\r\n

    \r\n
    \r\n {lang === \"ar\" ? item.colorsAr : item.colorsEn}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:quantity\")}\r\n

    \r\n
    \r\n {item.QTY}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:amount\")}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n } else {\r\n return <>\r\n }\r\n\r\n}\r\n\r\nexport const OwnSpareOrders = ({ values = [], onEvaluate }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n if (values?.length > 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:spare_parts\")}\r\n

    \r\n {\r\n values.map((item, index) => {\r\n return
    \r\n
    \r\n \r\n
    {\r\n if (onEvaluate) {\r\n onEvaluate(item.ProductID, true)\r\n }\r\n }} className=\"own-order-vehicle-box-btn p-2 nice-pointer nice-flex nice-flex-center text-14 nice-absolute\">\r\n تقيم المنتج\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:spare_parts\")}\r\n

    \r\n
    \r\n {lang === 'ar' ? item.PartAr : item.Parten}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:quantity\")}\r\n

    \r\n
    \r\n {item.QTY}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:amount\")}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n } else {\r\n return <>\r\n }\r\n}\r\n\r\n\r\nexport const OwnSDCOrders = ({ values = [], onEvaluate }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n if (values?.length > 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:compain_parts\")}\r\n

    \r\n {\r\n values.map((item, index) => {\r\n return
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:spare_parts\")}\r\n

    \r\n
    \r\n {lang === 'ar' ? item.SDCAr : item.SDCen}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:quantity\")}\r\n

    \r\n
    \r\n {item.QTY}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:amount\")}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n } else {\r\n return <>\r\n }\r\n\r\n}\r\n\r\n\r\nexport const OwnPGTOrders = ({ values = [], onEvaluate }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n if (values?.length > 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:package_parts\")}\r\n

    \r\n {\r\n values.map((item, index) => {\r\n return
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:spare_parts\")}\r\n

    \r\n
    \r\n {lang === 'ar' ? item.PGTAr : item.PGTen}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:quantity\")}\r\n

    \r\n
    \r\n {item.QTY}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:amount\")}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n } else {\r\n return <>\r\n }\r\n\r\n}\r\n\r\nexport const OwnServiceOrders = ({ values = [] }) => {\r\n const { t: trans } = useTranslation(\"ownOrder\");\r\n if (values?.length > 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:Service\")}\r\n

    \r\n {\r\n values.map((item, index) => {\r\n return
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:Servic\")}\r\n

    \r\n
    \r\n {lang === 'ar' ? item.PartAr : item.Parten}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {trans(\"ownOrder:amount\")}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n })\r\n }\r\n
    \r\n
    \r\n )\r\n } else {\r\n return <>\r\n }\r\n\r\n}\r\n","import { useState, useContext, useEffect } from \"react\";\r\nimport { OwnOrderHistory } from \"./components/ownOrders/ownHistory\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport OwnOrderContext from './components/ownOrders/ownOrderContext';\r\nimport Popup from './popup';\r\nimport { formValidate, GetMessages} from \"../utils/validation\";\r\nimport {TextArea} from '../components/_input/_textArea';\r\nimport {PartRating} from \"../pages/eparts/components/rate\";\r\nimport Joi from 'joi';\r\nimport _ from 'lodash';\r\nimport {\r\n OwnOrderDetails,\r\n OwnPGTOrders,\r\n OwnSDCOrders, OwnServiceOrders,\r\n OwnSpareOrders,\r\n OwnVehicleOrders\r\n} from \"./components/ownOrders/ownOrderDetails\";\r\nimport { FormButton } from \"../components/_input/_button\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\nimport {getData, User_Data_Key} from \"../utils/localStorageManager\";\r\nimport { toast } from \"react-toastify\";\r\nimport moment, { isMoment } from \"moment\";\r\nconst UserOrdersPage = () => {\r\n const { t: trans } = useTranslation([\"ownOrder\",\"info\",\"error\",\"form\",\"global\"]);\r\n const lang = localStorage.getItem(\"i18nextLng\");\r\n const languageDir = 'language-' + lang;\r\n //------------------------------------------------\r\n const OwnContext = useContext(OwnOrderContext);\r\n const [parentBox, setParnetBox] = useState({\r\n itemActive: false,\r\n showHistoryBox: true,\r\n showDetailsBox: false\r\n });\r\n const [Carts, setCarts] = useState([]);\r\n const [fCarts,setFCarts] = useState([]);\r\n const [userID,setUserID] = useState(null);\r\n const [CartsTrans, setCartTrans] = useState([]);\r\n const [CartsTrac, setCartTrac] = useState([]);\r\n const [CartStatus, setCartStatus] = useState([]);\r\n const [evaluatePopupShow,setEvaluatePopupShow] = useState(false);\r\n const [CartInfo,setcartInfo]=useState({status:'',ID:0,Total:0,Description:0,CreatedAt:'',shippingPrice:0,deliveryLocation:'' ,deliveryMethod : ''});\r\n const [sparePartProductID,setSparePartProductID] = useState(null);\r\n const [evaluation,SetEvaluation] = useState({\r\n stars:0,\r\n comment:''\r\n });\r\n const schema = Joi.object({\r\n comment: Joi.string().required().messages(GetMessages())\r\n });\r\n const [error,setError] = useState({});\r\n //------------------------------------------------\r\n const handleChangeParentState = (data) => {\r\n \r\n\r\n console.log(\"handleChangeParentState:\",data);\r\n const currentValue=CartInfo;\r\n currentValue.ID=data.CID;\r\n currentValue.CreatedAt=data.CreatedAt;\r\n currentValue.status=data.TStatus;\r\n currentValue.Total=data.Total;\r\n currentValue.Description=data.Description;\r\n currentValue.shippingPrice=data.shippingPrice;\r\n currentValue.deliveryLocation=data.Delivery;\r\n currentValue.deliveryMethod = data.deliveryMethod;\r\n setcartInfo(currentValue);\r\n fetchMycartTrans(data);\r\n fetchMycartTracing(data);\r\n \r\n let currentState = { ...parentBox, ...data };\r\n setParnetBox(currentState);\r\n };\r\n const handleWindowResize = () => {\r\n const currentValue = { ...parentBox };\r\n if (window.innerWidth < 577) {\r\n currentValue.showHistoryBox = true;\r\n currentValue.showDetailsBox = false;\r\n } else {\r\n if (parentBox.itemActive) {\r\n currentValue.showDetailsBox = true;\r\n } else {\r\n currentValue.showDetailsBox = false;\r\n }\r\n }\r\n handleChangeParentState(currentValue);\r\n };\r\n const handleEvaluatePopup =(data,state)=>{\r\n setError({});\r\n SetEvaluation({\r\n stars:0,\r\n comment:''\r\n });\r\n setEvaluatePopupShow(state);\r\n setSparePartProductID(data);\r\n };\r\n //-----------------------------------------------\r\n function fetchMycart(ID){\r\n const Body= {\r\n \"name\":\"Site_FeatchMyRequests\",\r\n \"values\":{\r\n \"userID\":parseInt(ID)\r\n }}\r\n if(ID)\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(\"setFCarts:\",response.data);\r\n setTimeout(setCarts(response.data),1000);\r\n setTimeout(setFCarts(response.data),1000);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n function fetchMycartTrans({cartID}){\r\n const Body= {\r\n \"name\":\"site_featchTransCarts\",\r\n \"values\":{\r\n \"CartID\":Number(cartID)\r\n }}\r\n if(cartID)\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartTrans(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n function fetchMycartTracing({cartID}){\r\n const Body= {\r\n \"name\":\"Site_GetTrackingOFCart\",\r\n \"values\":{\r\n \"CartID\":Number(cartID)\r\n }}\r\n if(cartID)\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartTrac(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n } \r\n function fetchCartStatus(){\r\n const Body= {\r\n \"name\":\"site_fetchStatusCart\"\r\n }\r\n \r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartStatus(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n // to set the evaulation details on the spare part product\r\n const handleSendEvaluation = ()=>{\r\n try{\r\n const result = formValidate(schema,evaluation);\r\n setError(result);\r\n if(sparePartProductID){\r\n if(Object.keys(result).length === 0){\r\n const {stars , comment} = evaluation;\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\":\"SparePartsEvalutions\",\r\n \"values\":{\r\n \"ProductID\":sparePartProductID,\r\n \"WebUserID\":Number(userID),\r\n \"StarsCount\":stars,\r\n \"Comment\":_.trim(comment)\r\n }\r\n }\r\n ).then(response=>{\r\n if(response.status == 201){\r\n handleEvaluatePopup(null,false);\r\n toast.success(trans(\"global:success_operation\"));\r\n }\r\n }).catch(err=>{\r\n toast.error(trans(\"error:unknown_failure\"));\r\n });\r\n }\r\n }\r\n }catch(err){\r\n console.log(err);\r\n } \r\n };\r\n // to filter the history item\r\n const handleFilterHistoryItems = (value)=>{\r\n try{\r\n const {filterStatusOption,filterDate} = value;\r\n let _fValues = Carts;\r\n if(filterStatusOption){\r\n _fValues = Carts.filter(item=>{\r\n return item.statusId === Number(filterStatusOption)\r\n });\r\n setFCarts(_fValues);\r\n }else{\r\n setFCarts(Carts); \r\n }\r\n if(filterDate){\r\n _fValues = Carts.filter(item=>{\r\n return new moment(item.CreatedAt).format('yyyy-MM-DD') === new moment().format('yyyy-MM-DD') \r\n });\r\n setFCarts(_fValues);\r\n }\r\n console.log(_fValues);\r\n }catch(error){\r\n console.log(error);\r\n }\r\n };\r\n useEffect(() => {\r\n try{\r\n const cleanData = JSON.parse(getData(User_Data_Key,true));\r\n const user_id = cleanData.id.toString().split('_')[1];\r\n window.addEventListener('resize', handleWindowResize);\r\n fetchMycart(user_id);\r\n setUserID(user_id);\r\n fetchCartStatus();\r\n return () => window.removeEventListener('resize', handleWindowResize);\r\n }catch(err){\r\n console.log(err);\r\n }\r\n }, []);\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n a.CartItemsTypeID===1)} />\r\n a.CartItemsTypeID===2)} onEvaluate={handleEvaluatePopup}/>\r\n a.CartItemsTypeID===3)}/>\r\n a.CartItemsTypeID===4)} />\r\n a.CartItemsTypeID===7)} />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    {trans(\"global:what_elavoution\")}

    \r\n {\r\n handleEvaluatePopup(null,false);\r\n }}>×\r\n
    \r\n
    \r\n {\r\n const val = {...evaluation};\r\n val.stars = stars;\r\n SetEvaluation(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n