{"version":3,"sources":["components/navbar/hover/components/navCarCard.jsx","utils/slugManager.js","_redux/slices/dataSlice.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/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/maintenance/maintenanceContext.js","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","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/SalesOrderService.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","pages/maintenance/serviceOrderPopup.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/carOverview/carCheckout.jsx","pages/carOverview/components/smsCheck.jsx","pages/carOverview/carCheckoutCash.jsx","pages/carOverview/carCheckoutFinance.jsx","pages/carOverview/index-2.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","dataSlice","createSlice","initialState","reduxVehicles","reduxBrands","reduxHomeExtra","reducers","setReduxVehicles","state","action","length","payload","setReduxBrands","setReduxHomeExtra","actions","NavCar","useTranslation","trans","t","i18n","dispatch","useDispatch","useSelector","apiData","data","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","brandCategories","_filterVehicles","type","filterData","car","fTypeFilter","useEffect","lang","language","a","curl2","caches","open","cacheStorage","match","cachedResponse","json","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","undefined","concat","random","Intl","NumberFormat","format","CurrencyCode","Price","parseFloat","NavAbout","aboutList","history","useHistory","title","aboutOwner","setAboutOwner","intial","ApiObjectData","responseResult","finalResult","cursor","elementID","document","getElementById","scrollIntoView","navigateToElement","Map","latitude","longitude","content","markers","multiMarkers","currentPosition","setCurrentPosition","multPositions","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","moduleLabel","props","validationMessage","setValidationMessage","weak","middle","powerful","strength","setStrength","htmlFor","event","key","preventDefault","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","code","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","SendRequset","settingResponse","groups","productModels","reverse","models","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","setSelectedBranch","subjects","setSubjects","rad","x","PI","find_closest_marker","distances","closest","mlat","mlng","dLat","dLong","sin","cos","atan2","sqrt","setError","submitRequest","Number","toast","onSubmit","countryCode","phoneNumber","contact","typeIconPath","contactValue","typeValue","contactTitle","typeTitle","Popup","children","cartSlice","changeCount","nav","PopupHeader","welcomeTitle","subTitle","closePopUp","User_Data_Key","saveData","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","labelClassName","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","GUID","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","entities","isFixed","cartCount","iconsBlack","cart","searchPopup","setSearchPopup","showCartNotification","setShowCartNotification","showPopup","setShowPopup","timerRef","activePopUpModel","setActivePopUpModel","handleTabChange","handlePopupStatus","schemaNavContact","countlist","addEvent","setaddEvent","listenForStorage","v","Account","listenForStorageToCount","innerWidth","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","stroke","strokeMiterlimit","strokeWidth","strokeLinecap","strokeLinejoin","FooterHeading","Footer","socials","setSocials","setEmail","submitEmail","isEmailExisted","isExisted","social","rel","FilePathURL","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","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","endDate","startDate","totalDays","FilterButton","isActive","onclick","HomeOfferSection","offers","filteredOffers","setFilteredOffers","offersFilter","setOfferFilter","filterOfferVehicle","off","visibleRange","setVisibleRange","onSlideChange","swiper","activeIndex","observer","otherLink","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","dsrc","stopPropagation","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","MaintenanceContext","Home","handleServiceOrder","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","moment","ly","fromYear","toYear","newy","offerSupportedCars","packagesSupportedCars","cslug","Mainservice","Lastservice","MainserviceIDS","ServiceID","subService2","setSupportedMainServices","setSupportedLastsServices","setSupportedServices","setLoadingSupportedServices","SupportedLastsServices","SupportedVehicles","setSupportedVehicles","setLoadingSupportedVehicles","firstBrandID","allSameBrand","every","Ac","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","imgValue","onRemove","modelClasses","EmploymentDetailPage","firstName","selectedGender","selectedNationality","chooseDateOfBirth","selectedStatus","selectedLanguageLevel","selectedComputerLevel","selectedDegree","chooseGraduation","note","skillsList","setSkillsList","certificationList","setCertificationList","statusList","setStatusList","nationalitiesList","setNationalities","gender","setGender","employment","setEmployment","loadingEmployment","setLoadingEmployment","isLoadingBtnSend","setIsLoadingBtnSend","isDataSentBefore","positionId","responsemm","certificateLevels","cities","genders","maritalStatus","nationalities","skillsLevels","nationalitiesResponse","genderResponse","skillsResponse","statusResponse","gap","role","skill","additional","getYears","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","SuccessMessageAr","SuccessMessageEn","submitRejectRequest","CertificateObject","applicationID","workExperienceObject","employer","durationemploy","JobTitle","lastSalary","reasonLeaving","interviewDate","diffTime22","ceil","diffTime","applymentsData","setApplymentsData","GetEmployment_applymentsData","mobile","appData","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","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","GetUrl","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","ReSize","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","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","sectionActive","sectionsOpend","setSectionsOpend","setVehicleInfo","prevGroupRef","prevSectionRef","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","TotalAmountDiscount","TotalTime","CampaignType","Photo","Title","DiscountID","DateFrom","DateTo","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","CompaignToYota","site_SupCategory","setbanner","Sbanner","featuredProductsList","setFeaturedProductsList","featuredCatList","setFeaturedCatList","funFeaturedProductsAndCat","BodyFeaturedProduct","requestFeaturedProduct","BodyFeaturedCat","requestFeaturedCat","responseFeaturedProduct","responseFeaturedCat","favoriteProducts","setFavoriteProducts","fetchUserFavorites","_favorites","favorites","results","RequsetsetSite_categorySP","ToYota","DescriptionEnTitle","DescriptionArTitle","Luxes","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","CreatedDate","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","hashTag","shareObject","shareMaker","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","paymentURL","CartID","URL_Paytabs","handlePayment","user_id","ValueCitie","ValueBranch","Shipping","Cost","onShowRegistrationPup","UnitTime","CountTime","setShipping","setValueCitie","setValueBranch","ValueBranchPart","setValueBranchPart","ValueBranchService","setValueBranchService","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","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","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","branchId","ContactPage","paramSubject","setPage","selectedBranch","subName","withRouter","unlisten","listen","entitiesReducer","combineReducers","navReducer","cartReducer","apiDataReducer","configureStore","reducer","MaintenanceServiceBox","serviceID","maxPrice","onServiceOrder","ServiceHeaderBanner","defaultBanner","bannerDescriptor","hasRedirect","requsetBanner","bannerObject","DropDownInput2","currentOption","MainServicePage","PGroupID","PYear","PSerciveID","maintenanceInfo","setMaintenanceInfo","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","identificationImage","CustID","s","OrderStatusID","xmlnsXlink","xmlnsSvgjs","transform","ServiceReservationByID","codephone","ShortDescriptionEn","EvaluationType","countOptions","click","mandatory","defultActive","uniqueKey","activeItem","setActiveItem","ProtectionAndShading","PUser","paramGUID","paramJobCardGUID","pSalesorderid","setSadadInfo","Agreements","setAgreements","SalesInvoiceTrans","setSalesInvoiceTrans","allselectServices","setAllSelectServices","acticeMenu","setActiceMenu","desAr","desEn","selsub0","setselsub0","isToggleSwitch","setIsToggleSwitch","showAgreements","setshowAgreements","evaluation_false_0","evaluation_false_1","evaluation_false_2","evaluation_false_3","evaluation_true_0","evaluations","setEvaluations","evaluationOptions","defultValue","platformTypes","setPlatformTypes","fetch","process","ok","Error","platformsTypes","activeKeys","platform","loadManifest","targetRef","targetRefAdditional","arrowPosition","setArrowPosition","isArrowVisible","setIsArrowVisible","browser","setBrowser","userAgent","agreements","paymentStatus","URL","searchParams","orderId","paymentMethodCallback","paymentTypeCallback","StatusPaymentMyfatoorahSalesOrdersService","StatusPaymentPayTabsSalesOrdersService","StatusPaymentTamaraSalesOrdersService","StatusPaymentSadadSalesOrdersService","FetchSalesInvoiceTrans","productList","allServiceID","setAllServiceID","serviceImportantAdditions","setServiceImportantAdditions","VehicleType","filterservice","newServiceImportantAdditions","isPopupOpen","setIsPopupOpen","showConfirmationPopup","scrollX","hideArrow","handelalertIndicatorArrow","setPopupHandlers","onConfirm","onCancel","popupHandlers","scrollToArticle","element","offset","pageYOffset","innerHeight","mainNote","hasTintingService","noteTinting","MainWebGroup","userConfirmed","listofServices","url_payment","MessageError","Status","OrderId","invoiceID","sadadNumber","datasadad","_val","_Srtvice","PriceExcludeTax","Mandatory","evalua","prevServices","service","prevServiceIDs","reduce","explaination","SalesOrderService","OrderGUID","setPVIN","setPUser","setSalesOrder","FetchSalesOrderServiceFun","StatusPaymentID","SalesOrderID","User","fetchAllService","VehicleDetails","ServiceIDList","MaintenancePage","component","MainSericePage","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","referrer","setReferrer","successData","setSuccessData","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","settingsResponse","result22","result33","typeID","selectedTypeID","handleShowVehicleDetails","handleFetchColors","filteredProducts","filteredProductsbyGroupID","uniqueModels","uniqBy","mY","handleSendRequest","getMainUserData","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","BodyBrands","requestBrands","BodyProductGroups","requestProductGroups","BodyProductModel","requestProductModel","BodyProductModelTypes","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","byteNumbers","charCodeAt","byteArray","Uint8Array","blob","Blob","_temp","intialUserData","userKey","params","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","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","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","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","statusen","orderDate","orderStatusCode","maxVisualElements","locationText","onItemClick","OwnHistoryItem","visualElements","CartsImages","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","compaign","setCompaign","compaignFeatures","setCompaignFeatures","sendOrderRequest","existedUser","sendCreateUserAccount","getUserDetails","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","ServiceOrderPopup","maintenanceObjData","ServicesDataJson","setServiceDataJson","second","objectservicesJON","setMainServiceID","setSubServiceID","setTypeServiceID","GetVehicales","setSubService1","setSubService2","setselMain","setselsub1","setselsub2","fetchSubService2","MainServic","setMainServic","opiton","selMain","SubService1","setFirestOptionService1","selsub1","SubService2","getFirestOption","setFirestOption","selsub2","setVIN","CustomKM","checkErrors","Vehicales","setVehicales","currentServiceID","carAr","carEn","thisSchema","newNote","serviceIDKM","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","orderBy","handleOnSearchClick","SectionType","ExtraData","CustomerServices","whatsupNumber","phonCallNumber","bottom","PurchaseAlertPage","PrivacyPage","baseInfo","setBaseInfo","Agreement","intro","WebsitePolicyPage","AgreementPage","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","setSbanner","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","CarCheckoutPage","propsData","setPropsData","checkoutType","setCheckoutType","checkoutAgreemnt","setChecAgreemnt","SMSCheck","onSucess","setSubFunctionRef","SignUpData","setCorrectValidate","paste","clipboardData","codeNumber","code1","isNaN","code2","code3","code4","ac","AbortController","credentials","otp","transport","signal","abort","_codeOtp","handleMatchedMobileWithOTP","numberPhone","codeOTP","generateSMS","subFunctionRef","IsUserExisted","handleSignUp","fullNames","userResponse","autoComplete","currentIndex","handelFocusNext","handelFocusBack","CarCheckoutCashPage","ServiceParm","sadadInfo","dataFinalPopup","setDataFinalPopup","noteAccessories","setNoteAccessories","allowCustGroups","schema_0","cachName","handelGetCachData","timeoutRef","handleRunSubSMSFunction","attempts","SadadNumber","ResponseText","jsonData","IsSuccess","Data","InvoiceStatus","ErrorMessage","ErrorProcedure","fetchPaymentStatus","handelSetRequestForm","prevRequestForm","handelSetPersonalData","mainNumber","checkStepsErrorsDataFullNum","checkAccessoriesErrorsDataFullNum","accessoriesResult","valForm","handelSaveCachData","NotificationWhatsApp","dataRow","URL_Payment","ResponsMessage","requestFormParm","allServiceIDParm","allselectServicesParm","dataFullNumParm","stepNumParm","evaluationsParm","isClientAccountParm","cachdataobject","cachdata","sucsessData","codeOtp","hh","CarCheckoutFinancePage","Pfinance","minFinance","PfinanceSettings","showPopupMessage","setShowPopupMessage","Gender","WorkType","SalaryTransfer","Questions1","Questions2","Questions3","Questions4","Obligations","identificationImageName","LicenseName","InsuranceName","SalaryDefinitionletterName","AccountStatementName","valObject","ModelYear","PhoneNumber","getOrderNumber","handleSubmit","newstep","License","Insurance","SalaryDefinitionletter","AccountStatement","CarOverviewPage2","indexModelAndColorPanel","setIndexModelAndColorPanel","setMinFinance","propsDataPass","setPropsDataPass","propsDataPass2","vehicleType","flexDirection","FacebookShareButton","quote","hashtag","FacebookIcon","TwitterShareButton","TwitterIcon","WhatsappShareButton","WhatsappIcon","TelegramShareButton","TelegramIcon","EmailShareButton","EmailIcon","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","getLanguage","fallback","StrictMode","enableDeclineButton","buttonText","declineButtonText","containerClasses","buttonClasses","declineButtonClasses","contentClasses","buttonWrapperClasses","cookieName","customButtonWrapperAttributes","flex","contentStyle","padding","buttonStyle","declineButtonStyle","expires"],"mappings":"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","file":"static/js/main.3028cb9c.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 { createSlice } from '@reduxjs/toolkit';\r\n\r\nconst dataSlice = createSlice({\r\n name: 'data',\r\n initialState: {\r\n reduxVehicles: [],\r\n reduxBrands: [],\r\n reduxHomeExtra:null, // Store vehicles data\r\n },\r\n reducers: {\r\n setReduxVehicles: (state, action) => {\r\n if (!(state.reduxVehicles?.length > 0))\r\n state.reduxVehicles = action.payload; // Set the vehicles in the Redux state\r\n },\r\n setReduxBrands: (state, action) => {\r\n\r\n if (!(state.reduxBrands?.length > 0))\r\n state.reduxBrands = action.payload; // Set the vehicles in the Redux state\r\n },\r\n setReduxHomeExtra: (state, action) => {\r\n\r\n if (!(state.reduxHomeExtra))\r\n state.reduxHomeExtra = action.payload; // Set the vehicles in the Redux state\r\n },\r\n },\r\n});\r\n\r\nexport const { setReduxVehicles, setReduxBrands,setReduxHomeExtra } = dataSlice.actions; // Export the action\r\nexport default dataSlice.reducer;\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\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { setReduxVehicles, setReduxBrands } from '../../../_redux/slices/dataSlice';\r\nexport function NavCar({ ...prop }) {\r\n const { t: trans, i18n } = useTranslation([\"inputs\", \"heading\", \"vehicales\", \"common\"]);\r\n const dispatch = useDispatch();\r\n const reduxBrands = useSelector((state) => state.apiData.data.reduxBrands); // Access Redux state\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 = (i18n.language || 'ar');\r\n\r\n useEffect(async () => {\r\n try {\r\n\r\n\r\n\r\n ////////////////////////////////////////////////////////\r\n if (!(reduxBrands?.length > 0)) {\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\r\n\r\n }, [brands, CarCategories, vehicles])\r\n\r\n\r\n useEffect(async () => {\r\n\r\n\r\n if (reduxBrands?.length > 0 && brands?.length <= 0) {\r\n\r\n console.log(\"reduxBrands>>>>>>>NavCar>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n console.log(\"reduxBrands>>>>>>>>>>>NavCar>>>>>>>>>>>>>>>>>>>>>>>>>>:\", reduxBrands);\r\n setBrands(reduxBrands);\r\n }\r\n if (brands?.length > 0 && reduxBrands?.length <= 0) {\r\n console.log(\"brands>>>>>>>NavCar>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n console.log(\"brands>>>>>>>>>>>NavCar>>>>>>>>>>>>>>>>>>>>>>>>>>:\", brands);\r\n dispatch(setReduxBrands(brands));\r\n }\r\n }, [reduxBrands, brands]);\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,i18n } = useTranslation([\"navbar\", \"model\"]);\r\n let lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"info\"]);\r\n let lang = (i18n.language || 'ar');\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\n // const code = lang == 'en' ? ' SAR ' : ' ر.س ';\r\n if (number == null || number === undefined || number === 'null' || number === '' || ((number === '0' || number === 0) && showZero === false)) {\r\n\r\n return null;\r\n }\r\n\r\n if (displayCurrencyLiter) {\r\n return concat((classNameCurrency ?\r\n \r\n {}\r\n :),\" \",Intl.NumberFormat().format(number));\r\n }\r\n return Intl.NumberFormat().format(number);\r\n};\r\n\r\n\r\nexport const CurrencyCode = () => {\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","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 || 'ar');\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 { 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\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\r\n }, [latitude, longitude])\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (multiMarkers && markers && markers.length > 0) {\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, content: e.content, name: e.name }\r\n )\r\n\r\n\r\n\r\n })\r\n\r\n setMultiPositions(mm);\r\n if (mm && mm.length > 0) {\r\n\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: parseFloat(mm[0].lat),\r\n lng: parseFloat(mm[0].lng)\r\n }\r\n if (currentPosition?.lat && currentPosition?.lng)\r\n setCurrentPosition(currentPosition);\r\n });\r\n\r\n\r\n }\r\n\r\n\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 = (name) => {\r\n\r\n if (name == null)\r\n setToggle(null);\r\n else\r\n setToggle(name);\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 handleToggle(name)}>\r\n {\r\n toggle && handleToggle(null)}>\r\n
\r\n {latitude != '' ? content : 'Me'}\r\n
\r\n \r\n }\r\n
\r\n )\r\n }\r\n {\r\n multiMarkers && multPositions.map((item, index) => {\r\n\r\n return (\r\n\r\n item?.coords &&\r\n handleToggle(item?.name)}\r\n >\r\n {\r\n toggle && item?.name == toggle && handleToggle(null)}>\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 moduleLabel,\r\n ...props\r\n}) {\r\n\r\n const { t: trans, i18n } = useTranslation(\"info\");\r\n let lang = (i18n.language || 'ar');\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
\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 if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\r\n event.preventDefault(); // Prevent increment/decrement on arrow keys\r\n }\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-lighter \")}\r\n placeholder={placeholder}\r\n required={required}\r\n type={type}\r\n value={value} />\r\n\r\n {\r\n moduleLabel &&\r\n \r\n }\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 );\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, extraClasses = '',moduleLabel,errorLabel, value, disabled = false, style = null }) {\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = (i18n.language || 'ar');\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 moduleLabel &&\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\nimport { useTranslation } from \"react-i18next\";\r\nexport function PhoneInput({name,title,enabled , onChangeValue ,errorLabel,defaultValue,prefix = '+966', length = 9}){\r\n const {i18n } = useTranslation();\r\n const [phonevalue,setPhoneValue] = useState();\r\n let lang = (i18n.language || 'ar');\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 extraClasses = '',\r\n moduleLabel,\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 const [isFocus, setIsFocus] = useState(false);\r\n const [placeholder, setPlaceholder] = useState(placeholderProp ? placeholderProp : trans(\"form:5xx xxx xxx\"));\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 || 'ar');\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-lighter \")}\r\n style={{ right: (lang == 'en' ? '-9rem' : 'auto') }}\r\n placeholder={`${placeholder} ${mandotory ? '*' : ''} `} />\r\n\r\n {\r\n moduleLabel &&\r\n \r\n }\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 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 EngineGroups,\r\n EngineGroupsSup,\r\n EngineGroupsSup2\r\n ) {\r\n\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 extraClasses,\r\n force = false, roundedFull = ''\r\n}) {\r\n\r\n const { t: trans, i18n } = useTranslation([\"info\"]);\r\n let lang = (i18n.language || 'ar');\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(\">>>>>>>>>>>>>>>>>>placeholder option:\",placeholder);\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 && options) {\r\n const filterData = options?.filter(a => a?.text?.includes(value.target.value));\r\n if (filterData)\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, i18n } = useTranslation([\"common\", \"form\", \"info\", \"inputs\"]);\r\n let lang = (i18n.language || 'ar');\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 // 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

    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","import { useTranslation } from \"react-i18next\";\r\nexport default function PopupHeader({welcomeTitle , subTitle , closePopUp}){\r\n const {i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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 || 'ar');\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 || 'ar');\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\nimport { useTranslation } from \"react-i18next\";\r\nexport function CheckInput({checked, oncheng, Name, className = '',labelClassName='',id, title, ...props}) {\r\n\r\n const {i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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\nimport { useTranslation } from \"react-i18next\";\r\nexport function FileInput({name,errorLabel,title, onPicker,mimeType = '.doc,.docx,application/pdf'}) {\r\n const {i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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 || 'ar');\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 const { t: trans,i18n } = useTranslation([\"common\", \"form\", \"inputs\", \"model\", \"error\", \"info\", \"hints\", \"error2\", \"new\"]);\r\n let lang = (i18n.language || 'ar');\r\n const { init } = useUserFavorite();\r\n const languageDir = 'language-' + lang;\r\n \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,i18n } = useTranslation([\"common\", \"form\", \"inputs\", \"model\", \"error2\", \"finance\"]);\r\n let lang = (i18n.language || 'ar');\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 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\nimport { setReduxVehicles, setReduxBrands } from '../../_redux/slices/dataSlice';\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 || 'ar');\r\n let languageDir = \"language-\" + lang;\r\n\r\n const dispatch = useDispatch();\r\n const reduxBrands = useSelector((state) => state.apiData.data.reduxBrands); // Access Redux state\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 [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 if (!(reduxBrands?.length > 0)) {\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\r\n\r\n useEffect(async () => {\r\n\r\n\r\n if (reduxBrands?.length > 0 && brands?.length <= 0) {\r\n\r\n console.log(\"reduxBrands>>>>>>>Navbar>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n console.log(\"reduxBrands>>>>>>>>>>>Navbar>>>>>>>>>>>>>>>>>>>>>>>>>>:\", reduxBrands);\r\n setBrands(reduxBrands);\r\n }\r\n if (brands?.length > 0 && reduxBrands?.length <= 0) {\r\n console.log(\"brands>>>>>>>Navbar>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n console.log(\"brands>>>>>>>>>>>Navbar>>>>>>>>>>>>>>>>>>>>>>>>>>:\", brands);\r\n dispatch(setReduxBrands(brands));\r\n }\r\n }, [reduxBrands, brands]);\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 {/* × */}\r\n \r\n \r\n \r\n \r\n \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\nimport { setReduxBrands } from '../_redux/slices/dataSlice';\r\nimport { useDispatch,useSelector } from 'react-redux';\r\nfunction Footer() {\r\n const { t: trans, i18n } = useTranslation(\"common\");\r\n const dispatch = useDispatch();\r\n const reduxBrands = useSelector((state) => state.apiData.data.reduxBrands); // Access Redux state\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 = (i18n.language || 'ar');\r\n\r\n useEffect(async () => {\r\n \r\n\r\n if (reduxBrands?.length > 0 && brands?.length <= 0){\r\n\r\n setBrands(reduxBrands);\r\n }\r\n if (brands?.length > 0 && reduxBrands?.length <= 0) {\r\n dispatch(setReduxBrands(brands)); \r\n } \r\n }, [reduxBrands,brands]);\r\n useEffect(async () => {\r\n try {\r\n\r\n if(!(reduxBrands?.length > 0)){\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 }\r\n \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(\"employment\")}
    • \r\n
    • {trans(\"news\")}
    • \r\n {/*
    • {trans(\"news\")}
    • */}\r\n
    • {trans(\"about-us\")}
    • \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,i18n } = useTranslation([\"car\", \"common\", \"vehicales\", \"info\"]);\r\n const languageDir = 'language-' + (i18n.language || 'ar');\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 \"Slider\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 ,i18n} = useTranslation(\"info\");\r\n const lang =i18n.language;\r\n const languageDir = 'language-' + lang;\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[`Title`],\r\n description: data[`Description`],\r\n image: data.Image\r\n });\r\n \r\n }\r\n if (hjData == null) {\r\n \r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeInfo\",\r\n method: \"get\",\r\n }).then(response => {\r\n const responseData = response.data;\r\n if (responseData.length > 0) {\r\n const firstResult = responseData[0];\r\n setHjGallery({\r\n title: data[`Title`],\r\n description: data[`Description`],\r\n image: data.Image\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}\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,i18n } = useTranslation(\"heading\");\r\n\r\n let lang = (i18n.language || 'ar');\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 {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,i18n } = useTranslation([\"eparts\", \"info\"]);\r\n let lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"common\", \"new\"]);\r\n const languageDir = \"language-\" + (i18n.language || 'ar');\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} :\r\n {name})\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 const [visibleRange, setVisibleRange] = useState({ start: 0, end: 4 }); // Render 4 slides at a time\r\n\r\n const handleSlideChange = (swiper) => {\r\n const activeIndex = swiper.activeIndex;\r\n const buffer = 2; // Number of slides before and after the active one to render\r\n setVisibleRange({\r\n start: Math.max(0, activeIndex - buffer),\r\n end: Math.min(filteredOffers.length, activeIndex + buffer + 2) > visibleRange.end ? Math.min(filteredOffers.length, activeIndex + buffer + 2):\r\n visibleRange.end ,\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\r\n // Render only slides within the visible range\r\n if (index >= visibleRange.start && index < visibleRange.end) {\r\n return (\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 \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\n// import {\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,i18n } = useTranslation([\"common\", \"info\", \"vehicales\", \"compare\", \"car\"]);\r\n const context = useContext(ConfirmContext);\r\n let lang = (i18n.language || 'ar');\r\n const languageDir = 'language-' + lang;\r\n const [shareOpened, setShareOpened] = useState(false);\r\n const isToyota = (brand === \"تويوتا\" || brand.toLowerCase() === \"toyota\");\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 hybridImage && (
    \r\n {(\"hybridImage\")}\r\n {/*

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

    */}\r\n
    )\r\n }\r\n {\r\n (gifts != null && gifts > 0) &&\r\n (
    \r\n {(\"gift\")}\r\n\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}\r\n
    \r\n {(isToyota\r\n {/* data-src={config.FilePathURL + 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 {trans(\"Preview\")}\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 {\"share\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\")}\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\r\n const [visibleRange, setVisibleRange] = useState({ start: 0, end: 4 }); // Render 4 slides at a time\r\n\r\n const handleSlideChange = (swiper) => {\r\n const activeIndex = swiper.activeIndex;\r\n const buffer = 2; // Number of slides before and after the active one to render\r\n setVisibleRange({\r\n start: 0,\r\n end: Math.min(filteredCars.length, activeIndex + buffer + 2) > visibleRange.end ? Math.min(filteredCars.length, activeIndex + buffer + 2):\r\n visibleRange.end ,\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 // Render only slides within the visible range\r\n if (index >= visibleRange.start && index < visibleRange.end) {\r\n\r\n return (\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\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 React from 'react';\r\nconst MaintenanceContext = React.createContext();\r\nMaintenanceContext.displayName = 'maintenanceContext';\r\nexport default MaintenanceContext;\r\n","import { Fragment, useCallback, useEffect, useState, useContext } 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 config from \"../../configuration/config.json\";\r\nimport Skeleton from 'react-loading-skeleton'\r\nimport { Helmet } from \"react-helmet\";\r\nimport MaintenanceContext from \"../maintenance/maintenanceContext\";\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 const { handleServiceOrder } = useContext(MaintenanceContext);\r\n const [cars, setCars] = useState([]);\r\n const [brands, setBrands] = 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 || 'ar');\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[`Title`],\r\n description: data[`Description`],\r\n image: data.Image\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 axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeInfo\",\r\n method: \"get\",\r\n }).then(response => {\r\n setLoadingInfo(false);\r\n const responseData = response.data;\r\n if (responseData.length > 0) {\r\n const firstResult = responseData[0];\r\n\r\n curentInfo = {\r\n title: firstResult[`Title`],\r\n description: firstResult[`Description`],\r\n image: firstResult.Image\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 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\r\n }).catch(error => {\r\n console.log(error);\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\r\n const [visibleRange, setVisibleRange] = useState({ start: 0, end: 2 }); // Render 4 slides at a time\r\n\r\n const handleSlideChange = (swiper) => {\r\n const activeIndex = swiper.activeIndex;\r\n const buffer = 2; // Number of slides before and after the active one to render\r\n setVisibleRange({\r\n start: Math.max(0, activeIndex - buffer),\r\n end: Math.min(slides.length, activeIndex + buffer + 2) > visibleRange.end ? Math.min(slides.length, activeIndex + buffer + 2):\r\n visibleRange.end ,\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 // Render only slides within the visible range\r\n if (index >= visibleRange.start && index < visibleRange.end) {\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 } 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 {/*
    \r\n\r\n\r\n \r\n
    */}\r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n\r\n {\r\n handleServiceOrder({\r\n showPopup: true\r\n });\r\n }}\r\n className={\"icon-text inline-block nice-pointer mb-5\"}>\r\n
    \r\n {trans(\"home:maintenance\")}\r\n
    \r\n
    \r\n\r\n\r\n

    {trans(\"home:maintenance\")}

    \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 {subtitle} :\r\n {subtitle}\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 \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,i18n} = useTranslation([\"common\"]);\r\n let lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"common\"]);\r\n const [banner, setBanner] = useState({});\r\n const [offers, setOffers] = useState([]);\r\n let lang =(i18n.language || 'ar');\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 || 'ar');\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.date().required().messages(GetMessages()),\r\n time: Joi.date().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 || 'ar');\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 useEffect(() => {\r\n\r\n if (SupportedVehicles && SupportedVehicles.length > 0 && acticeCar?.brandID == null) {\r\n // Get the first brandID\r\n const firstBrandID = SupportedVehicles[0].brandID;\r\n // Check if all other brandIDs are the same as the first one\r\n const allSameBrand = SupportedVehicles.every(vehicle => vehicle.brandID === firstBrandID);\r\n // Return the brandID if all are the same, otherwise return null\r\n var Ac = acticeCar ?? {};\r\n if (Ac && allSameBrand) {\r\n Ac[\"brandID\"] = firstBrandID;\r\n setActiceCar(Ac);\r\n }\r\n }else{\r\n\r\n\r\n }\r\n\r\n }, [SupportedVehicles,acticeCar]);\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 };\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,i18n} = useTranslation(\"common\");\r\n let lang = (i18n.language || 'ar');\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 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,i18n} = useTranslation([\"inputs\", \"heading\",\"info\"]);\r\n let lang = (i18n.language || 'ar');\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,i18n} = 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 = (i18n.language || 'ar');\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 || 'ar');\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 || 'ar');\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(\"/recruitment/\" + 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(\"/recruitment/\" + 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 || 'ar');\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 const {i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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","import { useTranslation } from \"react-i18next\";\r\nexport function UploadControl({ name, errorLabel, title, value, imgValue, onPicker, onRemove, accept = '*', placeholder, extraClasses, modelClasses }) {\r\n const { i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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 { 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 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 Skeleton from 'react-loading-skeleton'\r\n\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\", \"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: 'SAU',\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 [loadingEmployment, setLoadingEmployment] = useState(true);\r\n const lang = (i18n.language || 'ar');\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 + \"func\",\r\n {\r\n \"name\": \"Site_FetchEmployment_applyments\",\r\n \"Values\": {\r\n \"phoneNumber\": phone,\r\n \"email\":email\r\n\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n isExisted = response.data.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 setLoadingEmployment(true);\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 if (response == null || response.data == null || response.data == '') {\r\n setLoadingEmployment(false);\r\n return;\r\n }\r\n\r\n // console.log('setEmployment', response.data);\r\n setEmployment(response.data);\r\n setLoadingEmployment(false);\r\n\r\n \r\n \r\n const responsemm = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/GetSettings\",\r\n method: \"get\",\r\n });\r\n // console.log('responsemm', responsemm);\r\n const {certificateLevels,cities,genders, maritalStatus,nationalities,skillsLevels} = responsemm.data;\r\n\r\n //-------------------------------------------------------------------------------------------------\r\n\r\n const nationalitiesResponse = nationalities;\r\n\r\n\r\n if (nationalitiesResponse[0])\r\n setNationalities(nationalitiesResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse =genders;\r\n //*************************************************************************************************************************\r\n if (genderResponse[0])\r\n setGender({ value1: genderResponse[0].ID, value2: genderResponse[1].ID });\r\n\r\n const skillsResponse = skillsLevels;\r\n // console.log('skills', skillsResponse);\r\n //***************************************************************************************************************************\r\n if (skillsResponse)\r\n setSkillsList(skillsResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = certificateLevels;\r\n setCertificationList(certificationResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = maritalStatus;\r\n setStatusList({ value1: statusResponse[0].ID, value2: statusResponse[1].ID });\r\n } catch (error) {\r\n setLoadingEmployment(false);\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 loadingEmployment == 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 employment.id != 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 {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 selectedValue={requestForm.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.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 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 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
    \r\n
    \r\n\r\n
    \r\n {trans(\"messages:page_not_found\")}\r\n
    \r\n

    \r\n 404 {employment.id}\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
    \r\n );\r\n}\r\n","import ErrorLabel from '../../components/error';\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport function RadioInputDynamic({ name, title, selectValue, groupName, ListValues, errorLabel, onChangeValue, extraClasses, disabled = false }) {\r\n const { i18n } = useTranslation();\r\n let lang = (i18n.language || 'ar');\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 [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 || 'ar');\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(lang == \"ar\" ? interviewData?.SuccessMessageAr : interviewData?.SuccessMessageEn);\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(lang == \"ar\" ? interviewData?.SuccessMessageAr : interviewData?.SuccessMessageEn);\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\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"name\": \"Site_FetchEmployment_applyments\",\r\n \"Values\": {\r\n \"phoneNumber\": mobile,\r\n \"email\":null\r\n\r\n }\r\n }\r\n ).then(response => {\r\n const result = response?.data;\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 const responsemm = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/GetSettings\",\r\n method: \"get\",\r\n });\r\n // console.log('responsemm', responsemm);\r\n const {certificateLevels,cities,genders, maritalStatus,nationalities,skillsLevels} = responsemm.data;\r\n\r\n try {\r\n\r\n const SYS_CitiesResponse = cities;\r\n if (SYS_CitiesResponse[0]) {\r\n const Cities = SYS_CitiesResponse.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 = nationalities;\r\n if (nationalitiesResponse[0])\r\n setNationalities(nationalitiesResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse =genders;\r\n //*************************************************************************************************************************\r\n if (genderResponse[0])\r\n setGender({ value1: genderResponse[0].ID, value2: genderResponse[1].ID });\r\n\r\n const skillsResponse = skillsLevels;\r\n\r\n //***************************************************************************************************************************\r\n if (skillsResponse)\r\n setSkillsList(skillsResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = certificateLevels;\r\n setCertificationList(certificationResponse.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = maritalStatus;\r\n setStatusList({\r\n value1: statusResponse[0].ID\r\n , value2: statusResponse[1].ID, value3: statusResponse[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 || applymentsData?.positionId)\r\n val.selectedjob = applymentsData?.positionId ? applymentsData?.positionId.toString() : 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 if (/^\\d*$/.test(e.target.value) && e.target.value.length <= 10) {\r\n const val = { ...requestForm };\r\n val.cardNumber = e.target.value;\r\n setRequestForm(val);\r\n }\r\n\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 j.positionId == applymentsData?.positionId || j.positionId == interviewData?.PositionID).length > 0}\r\n defaultOption={{\r\n text: trans(\"employment:position_applied_for\"),\r\n value: '0'\r\n }}\r\n onSelect={(e) => {\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 || 'ar');\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 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 { 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 let { brand } = useParams();\r\n const [CarCategories, setCarCategories] = useState([]);\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n let lang = (i18n.language || 'ar');\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\nimport { useSelector } from 'react-redux';\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function VehicleOnlinePage() {\r\n const reduxBrands = useSelector((state) => state.apiData.data.reduxBrands);\r\n const { t: trans,i18n } = 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 = (i18n.language || 'ar');\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 useEffect(async () => {\r\n //console.log(\"reduxBrands>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n //console.log(\"reduxBrands>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\",reduxBrands);\r\n }, [reduxBrands]);\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,i18n } = 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 = (i18n.language || 'ar');\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 Skeleton from 'react-loading-skeleton';\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,i18n } = useTranslation([\"common\", \"car\", \"offers\", \"vehicales\", \"model\", \"info\"]);\r\n const specRef = useRef(null);\r\n const [specHeight, setHeight] = useState(0);\r\n const lang = (i18n.language || 'ar');\r\n const languageDir = 'language-' +(i18n.language || 'ar');\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 \r\n setHeight(specHeight <= 0 ? specRef.current.scrollHeight : 0);\r\n }, 5);\r\n\r\n\r\n }\r\n const [features, setFeatures] = useState(null);\r\n useEffect(() => {\r\n if (specHeight > 0 && features == null)\r\n formatFeatures();\r\n }, [specHeight]);\r\n\r\n\r\n\r\n function ReSize() {\r\n console.log(specRef.current.scrollHeight);\r\n console.log(specHeight);\r\n if (specRef?.current?.scrollHeight > 0 && specHeight > 0)\r\n setHeight(specRef.current.scrollHeight);\r\n }\r\n useEffect(() => {\r\n if (features && features.length > 0)\r\n ReSize();\r\n }, [features]);\r\n useEffect(() => {\r\n \r\n \r\n if (modelslug != null && productTarget != null) {\r\n \r\n if (productTarget?.toLowerCase() == modelslug?.toLowerCase()) {\r\n \r\n\r\n if(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\r\n\r\n }).catch(error => {\r\n setFeatures([]);\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 == null ?\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\nimport { useTranslation } from \"react-i18next\";\r\nexport function VehicleSpecsPage({ modelslug, vehicle }) {\r\n const {i18n } = useTranslation();\r\n const { slug, brand } = useParams();\r\n const [models, setModels] = useState([]);\r\n const [backUpImage, setBackUpImage] = useState(\"\");\r\n let lang = (i18n.language || 'ar');\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 || 'ar');\r\n const dir = (i18n.language || 'ar') == '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\nimport { useTranslation } from \"react-i18next\";\r\nexport function VehicleFeaturePage() {\r\n const { i18n } = useTranslation();\r\n const { slug,group,year, brand } = useParams();\r\n const [features, setFeatures] = useState([]);\r\n\r\n let lang = (i18n.language || 'ar');\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 || 'ar');\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 \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 \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,i18n } = useTranslation([\"common\", \"offers\", \"model\", \"info\"]);\r\n const [features, setFeatures] = useState([]);\r\n let langaugeDir = 'language-' + (i18n.language || 'ar');\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={\"lazyload\"} data-src={image !== \"null\" ? config.mainURL + image : backupImage} alt={name} />\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 \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,i18n } = 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 = (i18n.language || 'ar');\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 {\"filterCarImages\"}\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 {\"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 }\r\n\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, useRef } 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, i18n } = 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 const [sectionsOpend, setSectionsOpend] = useState([group+\"_\"+year+\"_public\"]);\r\n let lang = (i18n.language || 'ar');\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 // Store previous values of group and section\r\n const prevGroupRef = useRef();\r\n const prevSectionRef = useRef()\r\n\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n useEffect(() => {\r\n\r\n if (section)\r\n handleSetSectionActive(section, true);\r\n else\r\n handleSetSectionActive(\"public\", true);\r\n\r\n // Update previous values for next render\r\n prevGroupRef.current = group;\r\n callback();\r\n\r\n }, [group]);\r\n const handleChangeOverViewContent = (data) => {\r\n setVehicleInfo(data);\r\n\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 = useCallback(async(section, clear = false) => {\r\n \r\n setSectionActive(section);\r\n prevSectionRef.current=false;\r\n if (clear == true){\r\n setSectionsOpend(group+\"_\"+year+\"_\"+section);\r\n } \r\n else\r\n setSectionsOpend([...sectionsOpend, group+\"_\"+year+\"_\"+section])\r\n \r\n\r\n }, [sectionsOpend,group,year,prevSectionRef.current]);\r\n \r\n useEffect(() => {\r\n if (section)\r\n handleSetSectionActive(section, false);\r\n else\r\n handleSetSectionActive(\"public\", false);\r\n \r\n \r\n\r\n\r\n }, [section]);\r\n\r\n // useEffect(() => {\r\n\r\n // console.log(\"section>>>>>>>>>>>>>sectionsOpend>>>>>>>>>>>>>>>>>>>>>>>>:\", sectionsOpend);\r\n // }, [sectionsOpend]);\r\n\r\n\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 sectionsOpend.includes(group+\"_\"+year+\"_specs\") &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {\r\n sectionsOpend.includes(group+\"_\"+year+\"_feature\") &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n\r\n {\r\n sectionsOpend.includes(group+\"_\"+year+\"_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}","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 || 'ar');\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, children }) {\r\n\r\n return (\r\n <>\r\n
    \r\n\r\n {\r\n children &&\r\n children\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 id &&\r\n {\r\n handleRemoveUserCar(id);\r\n }}\r\n className={\"text-14 icon-btn\"}>\r\n \r\n \r\n }\r\n\r\n {\r\n id &&\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\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, i18n } = useTranslation([\"offers\", \"common\", \"error\", \"info\", \"extra\", \"global\"]);\r\n const history = useHistory();\r\n let lang = (i18n.language || 'ar');\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 && item.trim().toString() &&\r\n
    • \r\n {item}\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 // 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.date().required().messages(GetMessages()),\r\n time: Joi.date().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 || 'ar');\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\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 && item.trim() &&\r\n
    • \r\n {item}\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\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.date().required().messages(GetMessages()),\r\n time: Joi.date().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 || 'ar');\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\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(item && item.trim()&&
    • \r\n {item}\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\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 || 'ar') == '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,i18n } = useTranslation(\"eparts\");\r\n\r\n let lang = (i18n.language || 'ar');\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-' + (i18n.language || 'ar');\r\n\r\n const lang = (i18n.language || 'ar');\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-' + (i18n.language || 'ar');\r\n\r\n const lang = (i18n.language || 'ar');\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 || 'ar');\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 || 'ar');\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 { 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 && AttachImg.length > 0 &&\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 {\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 \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\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 // todo: الشروط والاحكام \r\n\r\n terms && terms != \"\" && (\r\n
    \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?.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 \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 || 'ar');\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.FilePathURL + 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 || 'ar');\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 isPrimary={codeValue ? true : false}\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 || 'ar');\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 || 'ar');\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 { Tab, TabList, TabPanel, Tabs } from \"react-tabs\";\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 || 'ar');\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 const [ValueBranchPart, setValueBranchPart] = useState(\"\");\r\n const [ValueBranchService, setValueBranchService] = useState(\"\");\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\r\n if ((!currentDeliveryMethod?.locationMethod) && (!currentDeliveryMethod?.branchMethod)) {\r\n toast.warn(trans(\"new:not_delivery_selected\")+\" \"+trans(\"new:vehicles\"));\r\n return;\r\n } else if (currentDeliveryMethod?.locationMethod && (ValueCitie == '' || ValueCitie == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_loc\")+\" \"+trans(\"new:vehicles\"));\r\n return;\r\n } else if (currentDeliveryMethod?.branchMethod && (ValueBranch == '' || ValueBranch == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_branch\")+\" \"+trans(\"new:vehicles\"));\r\n return;\r\n }\r\n if ( list().filter(a => a.Type === \"part\").length > 0 && (ValueBranchPart == '' || ValueBranchPart == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_branch\")+\" \"+trans(\"new:spare_parts\"));\r\n return;\r\n }\r\n if ( list().filter(a => a.Type === \"Bouquet\" || a.Type === \"service\").length > 0 && (ValueBranchService == '' || ValueBranchService == null)) {\r\n toast.warn(trans(\"new:not_delivery_selected_branch\")+\" \"+trans(\"new:maintenance\"));\r\n return;\r\n }\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
    \r\n\r\n {\r\n }}>\r\n \r\n \r\n {\r\n list().filter(a => a.Type === \"car\").length > 0 &&\r\n <>\r\n\r\n \r\n {trans(\"new:vehicles\")}\r\n \r\n\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 {trans(\"new:spare_parts\")}\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n list().filter(a => a.Type === \"Bouquet\" || a.Type === \"service\").length > 0 &&\r\n <>\r\n\r\n \r\n {trans(\"new:maintenance\")}\r\n \r\n \r\n }\r\n\r\n \r\n\r\n {\r\n list().filter(a => a.Type === \"car\").length > 0 &&\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 selectValue={develviryType}\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 selectedValue={ValueBranch}\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 \r\n }\r\n\r\n\r\n\r\n\r\n {/* //choose_receive_way */}\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 selectedValue={ValueBranchPart}\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={(option)=>{setValueBranchPart(option.value);}}\r\n />\r\n\r\n
    \r\n\r\n\r\n
    \r\n }\r\n\r\n\r\n {\r\n list().filter(a => a.Type === \"Bouquet\" || a.Type === \"service\").length > 0 &&\r\n \r\n\r\n {\r\n }}\r\n selectedValue={ValueBranchService}\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={(option)=>{setValueBranchService(option.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 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 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 || 'ar');\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 const { t: trans,i18n } = useTranslation([\"common\", \"inputs\", \"finance\", \"model\"]);\r\n let lang = (i18n.language || 'ar');\r\n const languageDir = \"language-\" + lang;\r\n const BANK_KEY = 'Bank_ID';\r\n const STATUS_KEY = 'Status';\r\n\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\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,i18n } = useTranslation([\"finance\", \"model\", \"common\", \"info\"]);\r\n let lang =(i18n.language || 'ar');\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 || 'ar');\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_FetchVehiclesByPriceListTypeIDOnlineEn\",\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 sn:e.SN\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}","import { useTranslation } from \"react-i18next\";\r\nexport default function VisionsSection({ visions }) {\r\n const {i18n } = useTranslation();\r\n if (visions == null)\r\n return null;\r\n let lang = (i18n.language || 'ar');\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 ,i18n} = 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 = (i18n.language || 'ar');\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, i18n } = 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 = (i18n.language || 'ar');\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\nimport dataSlice from './slices/dataSlice';\r\n\r\nconst entitiesReducer = combineReducers({\r\n\r\n nav: navReducer,\r\n cart: cartReducer,\r\n\r\n});\r\nconst apiDataReducer = combineReducers({\r\n\r\n data: dataSlice,\r\n\r\n});\r\nconst reducers = combineReducers({\r\n entities: entitiesReducer,\r\n apiData:apiDataReducer,\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 { 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 || 'ar');\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\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 || 'ar');\r\n const lang = (i18n.language || 'ar');\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\";\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\", 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 || 'ar') + \"/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 currentvModelCode[item.productTypeID] = item.ModelCode;\r\n }\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 currentvModelCode[item.productTypeID] = item.ModelCode;\r\n }\r\n \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 || 'ar');\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 || 'ar');\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 || 'ar') + \"/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 || 'ar');\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 || 'ar') + \"/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 { UploadControl } from \"../../components/_input/_uploadControl\";\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 || 'ar');\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 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 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 \"CopyformFile\": requestForm?.file\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
    \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
    \r\n
    \r\n

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

    \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\r\n {/* */}\r\n {\r\n const { target } = e;\r\n const { files } = target;\r\n const loadedImage = files[0];\r\n\r\n if (loadedImage) {\r\n if (!loadedImage.type.startsWith(\"image/\")) {\r\n toast.error(trans('Please select a valid image file!'));\r\n const val = { ...requestForm };\r\n val.file = \"\";\r\n val.fileName = \"\";\r\n setRequestForm(val);\r\n\r\n return;\r\n }\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={\"image/*\"}/>\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 { UploadControl } from \"../../components/_input/_uploadControl\";\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 || 'ar');\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\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 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 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((query.get(\"brandID\") && (query.get(\"brandID\") == 1 || query.get(\"brandID\") == 2)) ?? 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 \"CopyformFile\": requestForm?.file\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\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
    \r\n

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

    \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 disabled={(query.get(\"brandID\") == 1 || query.get(\"brandID\") == 2)}\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?.ShortDescriptionEn, 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
    \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 if (loadedImage) {\r\n if (!loadedImage.type.startsWith(\"image/\")) {\r\n toast.error(trans('Please select a valid image file!'));\r\n const val = { ...requestForm };\r\n val.file = \"\";\r\n val.fileName = \"\";\r\n setRequestForm(val);\r\n\r\n return;\r\n }\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={\"image/*\"} />\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,uniqueKey=\"\"}) => {\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 {error && {error}}\r\n

    \r\n {title}\r\n {mandatory && {\"*\"}}\r\n \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 SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport { useParams } from \"react-router\";\r\nimport PopupHeader from \"../../User/components/popupHeader\";\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 || 'ar');\r\n const location = useLocation();\r\n const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\r\n const query = new URLSearchParams(location.search);\r\n const [paramGUID, setParamGUID] = useState(query.get(\"Id\") && guidRegex.test(query.get(\"Id\")) ? query.get(\"Id\") : null);\r\n const [paramJobCardGUID, setParamJobCardGUID] = useState(query.get(\"JobCardID\") ?? 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 [Agreements, setAgreements] = useState([]);\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 [SalesInvoiceTrans, setSalesInvoiceTrans] = 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 [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 [showAgreements, setshowAgreements] = useState(false);\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\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 [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 const [platformTypes, setPlatformTypes] = useState([]);\r\n\r\n useEffect(() => {\r\n // تحميل الملف من مجلد public\r\n const loadManifest = async () => {\r\n try {\r\n const response = await fetch(`${process.env.PUBLIC_URL}/config.json`);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n const data = await response.json();\r\n // Filter and map to extract keys with isActive = true\r\n var platformsTypes = data.platformsTypes || [];\r\n const activeKeys = platformsTypes\r\n .filter((platform) => platform.isActive)\r\n .map((platform) => platform.key);\r\n\r\n //console.log(\"Active keys:\", activeKeys);\r\n\r\n setPlatformTypes(activeKeys);\r\n\r\n } catch (error) {\r\n console.error(\"Error loading manifest.json:\", error);\r\n }\r\n };\r\n\r\n loadManifest();\r\n }, []);\r\n\r\n const targetRef = useRef(null);\r\n const targetRefAdditional = useRef(null);// Ref to the target area\r\n const [arrowPosition, setArrowPosition] = useState({ top: 50, left: 100 });\r\n const [isArrowVisible, setIsArrowVisible] = useState(false);\r\n // إخفاء السهم عند أي تفاعل (نقر أو تمرير)\r\n useEffect(() => {\r\n\r\n // if (VINDetails && brand) {\r\n // if (targetRef.current) {\r\n // const rect = targetRef.current.getBoundingClientRect();\r\n\r\n // //console.log(\"targetRef\", window.scrollX);\r\n // setArrowPosition({\r\n // top: rect.top + window.scrollY, // Adjust for scroll\r\n // left: (rect.left == 0 ? 50 : rect.left) + window.scrollX, // Adjust for scroll\r\n // });\r\n // }\r\n // setIsArrowVisible(true);\r\n // const hideArrow = () => setIsArrowVisible(false);\r\n // window.addEventListener(\"scroll\", hideArrow);\r\n // window.addEventListener(\"click\", hideArrow);\r\n\r\n // return () => {\r\n // window.removeEventListener(\"scroll\", hideArrow);\r\n // window.removeEventListener(\"click\", hideArrow);\r\n // };\r\n // }\r\n\r\n }, [VINDetails, brand]);\r\n\r\n\r\n function handelalertIndicatorArrow(targetRef) {\r\n\r\n if (targetRef.current) {\r\n const rect = targetRef.current.getBoundingClientRect();\r\n\r\n //console.log(\"targetRef\", window.scrollX);\r\n setArrowPosition({\r\n top: (rect.top - 30) + window.scrollY, // Adjust for scroll\r\n left: (rect.left == 0 ? 50 : rect.left) + window.scrollX, // Adjust for scroll\r\n });\r\n\r\n setIsArrowVisible(true);\r\n const hideArrow = () => setIsArrowVisible(false);\r\n window.addEventListener(\"scroll\", hideArrow);\r\n window.addEventListener(\"click\", hideArrow);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", hideArrow);\r\n window.removeEventListener(\"click\", hideArrow);\r\n };\r\n }\r\n }\r\n\r\n const [browser, setBrowser] = useState('');\r\n\r\n useEffect(() => {\r\n const userAgent = navigator.userAgent;\r\n\r\n if (userAgent.indexOf('Chrome') > -1) {\r\n setBrowser('Chrome');\r\n } else if (userAgent.indexOf('Firefox') > -1) {\r\n setBrowser('Firefox');\r\n } else if (userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') === -1) {\r\n setBrowser('Safari');\r\n } else if (userAgent.indexOf('MSIE') > -1 || userAgent.indexOf('Trident') > -1) {\r\n setBrowser('Internet Explorer');\r\n } else if (userAgent.indexOf('Edge') > -1) {\r\n setBrowser('Edge');\r\n } else {\r\n setBrowser('Other');\r\n }\r\n }, []);\r\n\r\n useEffect(async () => {\r\n\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/privacy/ProtectionAndShadingAgreement\",\r\n method: \"get\",\r\n });\r\n setAgreements(response.data?.agreements);\r\n } catch (error) {\r\n //console.log(error);\r\n }\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\r\n if (paymentMethodCallback.toLowerCase() == 'myfatoorah'.toLowerCase()) {\r\n StatusPaymentMyfatoorahSalesOrdersService();\r\n }\r\n else if (paymentMethodCallback.toLowerCase() == 'paytabs'.toLowerCase()) {\r\n StatusPaymentPayTabsSalesOrdersService();\r\n } else if (paymentMethodCallback.toLowerCase() == 'tamara'.toLowerCase()) {\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 FetchSalesInvoiceTrans(PVIN);\r\n }\r\n\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 async function FetchSalesInvoiceTrans(VIN) {\r\n const Body = {\r\n \"name\": \"site_FetchSalesInvoiceTransProtectionServiceByVIN\",\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 var productList = response?.data?.map(s => s.ProductID);\r\n setSalesInvoiceTrans(productList);\r\n })\r\n .catch(function (error) {\r\n\r\n //console.log(error);\r\n setSalesInvoiceTrans([]);\r\n });\r\n\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\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 const [serviceImportantAdditions, setServiceImportantAdditions] = 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\": VINDetails && VINDetails.length > 0 ? VINDetails[0].VehicleType : \"\"\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 var newServiceImportantAdditions = filterservice.find(s => (s[\"ServiceDetailsEn\"].includes(\"rust\") || s[\"ServiceDetailsEn\"]?.includes(\"Undercoating\")\r\n || s[\"ServiceDetails\"]?.includes(\"عازل صد\")));\r\n setServiceImportantAdditions(newServiceImportantAdditions);\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 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 [isPopupOpen, setIsPopupOpen] = useState(false);\r\n\r\n // Function to show the popup and wait for the user's response\r\n const showConfirmationPopup = () => {\r\n return new Promise((resolve) => {\r\n setIsPopupOpen(true);\r\n //console.log(\"showConfirmationPopup>>>>>>>>>>>.11111111111111111111\");\r\n\r\n setTimeout(() => {\r\n handelalertIndicatorArrow(targetRefAdditional);\r\n }, 500);\r\n // If user clicks OK, resolve the promise with true\r\n const handleConfirm = (data) => {\r\n // setIsPopupOpen(false);\r\n resolve(data);\r\n\r\n //console.log(\"handleConfirm\");\r\n };\r\n\r\n // If user clicks Cancel, resolve the promise with false\r\n const handleCancel = (data) => {\r\n setIsPopupOpen(false);\r\n resolve(false);\r\n\r\n //console.log(\"handleCancel\");\r\n };\r\n\r\n // Assign confirm and cancel handlers to the popup props\r\n setPopupHandlers({ onConfirm: handleConfirm, onCancel: handleCancel });\r\n });\r\n };\r\n\r\n const [popupHandlers, setPopupHandlers] = useState({\r\n onConfirm: null,\r\n onCancel: null,\r\n });\r\n\r\n //---------------------\r\n const scrollToArticle = (id) => {\r\n\r\n try {\r\n const element = document.getElementById(id);\r\n if (element) {\r\n const elementPosition = element.getBoundingClientRect().top + window.pageYOffset; // موضع العنصر بالنسبة للصفحة\r\n const offset = elementPosition - window.innerHeight / 2; // ضبط ليكون العنصر في منتصف الشاشة\r\n\r\n window.scrollTo({\r\n top: offset,\r\n behavior: 'smooth', // تمرير ناعم\r\n });\r\n }\r\n } catch (error) {\r\n\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 scrollToArticle(hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1);\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 scrollToArticle(hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2);\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 scrollToArticle(hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3);\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 scrollToArticle(hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0);\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 //console.log(\">>>>>>>>>>>>>>>>>go to showConfirmationPopup\", isSendeng)\r\n const userConfirmed = await showConfirmationPopup(); // Wait for user response\r\n\r\n //console.log(\">>>>>>>>>>>>>>>>>showConfirmationPopup:\", userConfirmed)\r\n if (userConfirmed) {\r\n let listofServices;\r\n // allServiceID\r\n userConfirmed?.map((item) => {\r\n\r\n if (listofServices)\r\n listofServices += \",\" + item;\r\n else\r\n listofServices = item;\r\n });\r\n\r\n setIsSendeng(true);\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 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 if (response?.data?.MessageError)\r\n toast.error(response?.data?.MessageError);\r\n else\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n\r\n\r\n setIsPopupOpen(false);\r\n setIsSendeng(false);\r\n })\r\n .catch(function (error) {\r\n setIsPopupOpen(false);\r\n setIsSendeng(false);\r\n });\r\n\r\n } catch (error) {\r\n setIsSendeng(false);\r\n setIsPopupOpen(false);\r\n //console.log(\"error:\", error);\r\n }\r\n } else {\r\n //console.log('Operation canceled.');\r\n setIsPopupOpen(false);\r\n // Do nothing or handle cancellation here\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 if ((paramGUID || paramJobCardGUID) && orderId) {\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 \"JobCardGUID\": paramJobCardGUID\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\r\n async function StatusPaymentMyfatoorahSalesOrdersService() {\r\n //console.log('StatusPaymentMyfatoorahSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID || paramJobCardGUID) {\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 \"JobCardGUID\": paramJobCardGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentMyfatoorahSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n //console.log('PaymentMyfatoorahStatusFully respons:', response);\r\n if (response.data && response.data.length > 0) {\r\n\r\n var data = response.data.filter(p => p.Status == \"success\")[0];\r\n //console.log('PaymentMyfatoorahStatusFully 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 PaymentMyfatoorahStatusFully:', 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 \"JobCardGUID\": paramJobCardGUID\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.filter(p => p.Status == \"success\")[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 {\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
    \r\n {trans(\"vehicales:veh-struc\")} : {PVIN}\r\n
    \r\n
    \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\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 SalesInvoiceTrans.includes(_Srtvice.ServiceID) &&\r\n
    \r\n\r\n
    \r\n }\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 !SalesInvoiceTrans.includes(_Srtvice.ServiceID) && (\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\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
    \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 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
    \r\n
    {trans(\"new:tax_value\")}
    \r\n
    {allselectServices?.reduce((total, service) => total + service.Price, 0) ? total + (service.Price - service.PriceExcludeTax), 0)} className={\"white-space-pre\"} /> : \"\"}
    \r\n
    \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
    \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 platformTypes && platformTypes.includes(\"payTabs\") &&\r\n
    {\r\n setPaymentType(\"payTabs\");\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 platformTypes && platformTypes.includes(\"myfatoorah\") &&\r\n
    {\r\n setPaymentType(\"myfatoorah\");\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 platformTypes && platformTypes.includes(\"tamara\") &&\r\n
    {\r\n\r\n setPaymentType(\"tamara\");\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n\r\n }\r\n\r\n {\r\n platformTypes && platformTypes.includes(\"sadad\") &&\r\n
    {\r\n\r\n setPaymentType(\"sadad\");\r\n }}\r\n >\r\n \r\n\r\n\r\n
    \r\n\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {\r\n\r\n
    \r\n {\r\n\r\n
    \r\n\r\n {\r\n browser && browser == \"Safari\" &&\r\n (paymentType == \"payTabs\" || paymentType == \"myfatoorah\") ?\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 >\r\n
    = 2 ? \" bg-black\" : \" bg-gray \")}\r\n >\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n \"apple-pay\"\r\n
    \r\n
    \r\n\r\n :\r\n\r\n\r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")}\r\n onClick={() => {\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(\"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

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

    \r\n {\r\n setIsPopupOpen(false)\r\n }}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n (serviceImportantAdditions && serviceImportantAdditions.ServiceID\r\n && !allServiceID.includes(serviceImportantAdditions.ServiceID)\r\n && !SalesInvoiceTrans.includes(serviceImportantAdditions.ServiceID)) &&\r\n\r\n
    \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 (!allServiceID.includes(serviceImportantAdditions.ServiceID)) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, serviceImportantAdditions]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, serviceImportantAdditions.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== serviceImportantAdditions)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !serviceImportantAdditions.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\r\n allServiceID.includes(serviceImportantAdditions.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 {lang == \"ar\" ? serviceImportantAdditions.ServiceNameAR : serviceImportantAdditions.ServiceName}
    \r\n\r\n
    \r\n\r\n {\r\n serviceImportantAdditions?.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 {\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
    \r\n
    {trans(\"new:tax_value\")}
    \r\n
    {allselectServices?.reduce((total, service) => total + service.Price, 0) ? total + (service.Price - service.PriceExcludeTax), 0)} className={\"white-space-pre\"} /> : \"\"}
    \r\n
    \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
    \r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")}\r\n onClick={() => popupHandlers.onConfirm(allServiceID)}>\r\n {trans(\"new:continuation\")}\r\n
    \r\n
    \r\n
    popupHandlers.onCancel(allServiceID)}>\r\n
    = 2 ? \" bg-black\" : \" bg-gray \")}\r\n >\r\n {\r\n isSendeng && \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 \r\n\r\n }\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\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(\"info:order-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
    \r\n
    \r\n
    \r\n

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

    \r\n {\r\n setshowAgreements(false)\r\n }}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n Agreements && Agreements.length > 0 ?\r\n
    \r\n
      \r\n {\r\n Agreements[0]?.explaination?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item?.replaceAll(\"*\", \" • \")}\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 isArrowVisible && (\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 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 { toast } from \"react-toastify\";\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport CustomItemServices from \"../../components/CustomItemServices\";\r\nexport function SalesOrderService() {\r\n\r\n let { OrderGUID } = useParams();\r\n const { t: trans, i18n } = useTranslation([\"info\", \"employment\", \"eparts\", \"common\", \"global\", \"offers\", \"cartFile\"]);\r\n let lang = (i18n.language || 'ar');\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 [PVIN, setPVIN] = useState(null);\r\n const [PUser, setPUser] = useState(null);\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const [showFinalPopupMessage, setShowFinalPopupMessage] = useState(\"\");\r\n const popRef = useRef(null);\r\n const [Agreements, setAgreements] = useState([]);\r\n const [resOrderID, setResOrderID] = useState(null);\r\n const history = useHistory();\r\n const [acticeMenu, setActiceMenu] = useState(\"Saving Packages\");\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 [acticeService, setActiceService] = useState(null);\r\n const [paymentType, setPaymentType] = useState(null);\r\n const [showAgreements, setshowAgreements] = useState(false);\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [year, setYear] = useState(null);\r\n const [ServiceID, setServiceID] = useState(null);\r\n const [allServiceID, setAllServiceID] = useState([]);\r\n const [Service, setService] = 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 \r\n const [platformTypes, setPlatformTypes] = useState([]);\r\n\r\n useEffect(() => {\r\n // تحميل الملف من مجلد public\r\n const loadManifest = async () => {\r\n try {\r\n const response = await fetch(`${process.env.PUBLIC_URL}/config.json`);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n const data = await response.json();\r\n // Filter and map to extract keys with isActive = true\r\n var platformsTypes = data.platformsTypes || [];\r\n const activeKeys = platformsTypes\r\n .filter((platform) => platform.isActive)\r\n .map((platform) => platform.key);\r\n\r\n console.log(\"Active keys:\", activeKeys);\r\n\r\n setPlatformTypes(activeKeys);\r\n\r\n } catch (error) {\r\n console.error(\"Error loading manifest.json:\", error);\r\n }\r\n };\r\n\r\n loadManifest();\r\n }, []);\r\n\r\n const targetRef = useRef(null);\r\n const [salesOrder, setSalesOrder] = useState({});\r\n useEffect(() => {\r\n if (OrderGUID) {\r\n // FetchSalesOrderService(OrderGUID);\r\n FetchSalesOrderServiceFun(OrderGUID);\r\n }\r\n\r\n\r\n }, [OrderGUID]);\r\n\r\n const [browser, setBrowser] = useState('');\r\n\r\n useEffect(() => {\r\n const userAgent = navigator.userAgent;\r\n\r\n if (userAgent.indexOf('Chrome') > -1) {\r\n setBrowser('Chrome');\r\n } else if (userAgent.indexOf('Firefox') > -1) {\r\n setBrowser('Firefox');\r\n } else if (userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') === -1) {\r\n setBrowser('Safari');\r\n } else if (userAgent.indexOf('MSIE') > -1 || userAgent.indexOf('Trident') > -1) {\r\n setBrowser('Internet Explorer');\r\n } else if (userAgent.indexOf('Edge') > -1) {\r\n setBrowser('Edge');\r\n } else {\r\n setBrowser('Other');\r\n }\r\n }, []);\r\n\r\n useEffect(async () => {\r\n\r\n if (Service && Service.length > 0) {\r\n\r\n try {\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/privacy/ProtectionAndShadingAgreement\",\r\n method: \"get\",\r\n });\r\n setAgreements(response.data?.agreements);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n }, [Service]);\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\r\n if (paymentMethodCallback == 'myfatoorah') {\r\n StatusPaymentMyfatoorahSalesOrdersService();\r\n }\r\n else 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\r\n }, [orderReservation])\r\n useEffect(() => {\r\n if (PVIN && PUser) {\r\n GetVINDetails(PVIN, PUser);\r\n fetchService();\r\n }\r\n\r\n }, [PVIN, PUser])\r\n\r\n useEffect(() => {\r\n if (VINDetails && VINDetails.length > 0) {\r\n fetchAllService(VINDetails[0]);\r\n }\r\n\r\n }, [VINDetails])\r\n async function FetchSalesOrderServiceFun(guid) {\r\n const Body = {\r\n \"name\": \"site_FetchSalesOrder_Service_ByGUID\",\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 const result = response?.data;\r\n if (result && result.length > 0) {\r\n\r\n var appData = result[0];\r\n setSalesOrder(appData);\r\n\r\n if (appData.StatusPaymentID == 'FullyPaid') {\r\n\r\n const paymentMethodCallback = new URL(window.location.href).searchParams.get(\"PaymentMethod\");\r\n if (paymentMethodCallback == null) {\r\n if (appData.SalesOrderID)\r\n setResOrderID(appData.SalesOrderID);\r\n\r\n setShowFinalPopupMessage(trans(\"تم الدفع مسبقا\"));\r\n setShowFinalPopup(true);\r\n }\r\n\r\n }\r\n if (!appData.SN) {\r\n setShowFinalPopupMessage(trans(\"يجب اضافة VIN\"));\r\n setShowFinalPopup(true);\r\n }\r\n setPVIN(appData.SN);\r\n setPUser(appData.CustID);\r\n } else {\r\n setShowFinalPopupMessage(trans(\"امر البيع غير موجود\"));\r\n setShowFinalPopup(true);\r\n }\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 // site_FetchSalesOrder_Service_ByGUID\r\n async function GetVINDetails(VIN, User) {\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\": User\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 setBrand(response.data[0].BrandID);\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 });\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 const [Note, setNote] = useState(\"\");\r\n\r\n const [lodingService, setLodingService] = useState(false);\r\n\r\n\r\n async function fetchAllService(VehicleDetails) {\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\": VehicleDetails.VehicleType\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 var filterservice = response?.data;\r\n setTimeout(setService(filterservice), 500);\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\r\n async function fetchService() {\r\n setService([]);\r\n setinfoPrice([{ Price: 0 }]);\r\n\r\n setLodingService(true);\r\n\r\n\r\n const Body = {\r\n //site_FetchSalesOrderTrans_Service_ByGUID\r\n \"name\": \"site_FetchSalesOrderTrans_Service_ByGUID\",\r\n \"values\": {\r\n \"GUID\": OrderGUID\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 var filterservice = response?.data;\r\n var ServiceIDList = filterservice?.map(s => s.ServiceID);\r\n setAllSelectServices(filterservice);\r\n setAllServiceID(ServiceIDList);\r\n setLodingService(false);\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\r\n const checkDataFullNum = async () => {\r\n\r\n if (paymentType && allServiceID && allServiceID.length > 0) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n } else if (paymentType && allServiceID && allServiceID.length > 0) {\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\r\n const [error, setError] = useState({});\r\n async function SendResreve(VIN) {\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 setError(result);\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(true);\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 \"OrderGUID\": OrderGUID,\r\n \"note\": mainNote,\r\n \"servicelist\": listofServices,\r\n \"referenceOrderId\": pSalesorderid,\r\n \"callback\": window.location.origin + \"/\" + lang + `/maintenance/SalesOrderService/${OrderGUID}`\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 if (response?.data?.MessageError)\r\n toast.error(response?.data?.MessageError);\r\n else\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n setIsSendeng(false);\r\n })\r\n .catch(function (error) {\r\n\r\n setIsSendeng(false);\r\n });\r\n\r\n } catch (error) {\r\n setIsSendeng(false);\r\n\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\r\n async function StatusPaymentMyfatoorahSalesOrdersService() {\r\n console.log('StatusPaymentMyfatoorahSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\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/StatusPaymentMyfatoorahSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('PaymentMyfatoorahStatusFully respons:', response);\r\n if (response.data && response.data.length > 0) {\r\n\r\n var data = response.data.filter(p => p.Status == \"success\")[0];\r\n console.log('PaymentMyfatoorahStatusFully 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 PaymentMyfatoorahStatusFully:', 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.filter(p => p.Status == \"success\")[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\r\n useEffect(() => {\r\n\r\n if (VINDetails && VINDetails.length > 0) {\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 }\r\n\r\n }, [VINDetails,])\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, ServiceID, allServiceID, year, type, paymentType]);\r\n\r\n return (\r\n <>\r\n\r\n {\r\n (VINDetails && brand) ?\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 (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
    \r\n
    \r\n

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

    \r\n

    {\"حياك الله\" +\r\n (requestForm?.name?.split(' ')[0] ? (lang == \"ar\" ? \" يا\" : \",\") + requestForm.name.split(' ')[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 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 );\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
    \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
    \r\n
    \r\n );\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\r\n \r\n
    \r\n
    \r\n\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
    \r\n
    {trans(\"new:tax_value\")}
    \r\n
    {allselectServices?.reduce((total, service) => total + service.Price, 0) ? total + (service.Price - service.PriceExcludeTax), 0)} className={\"white-space-pre\"} /> : \"\"}
    \r\n
    \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
    \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 platformTypes && platformTypes.includes(\"payTabs\") &&\r\n
    {\r\n setPaymentType(\"payTabs\");\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 platformTypes && platformTypes.includes(\"myfatoorah\") &&\r\n
    {\r\n setPaymentType(\"myfatoorah\");\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 platformTypes && platformTypes.includes(\"tamara\") &&\r\n
    {\r\n\r\n setPaymentType(\"tamara\");\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n\r\n }\r\n\r\n {\r\n platformTypes && platformTypes.includes(\"sadad\") &&\r\n
    {\r\n\r\n setPaymentType(\"sadad\");\r\n }}\r\n >\r\n \r\n\r\n\r\n
    \r\n\r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {\r\n\r\n
    \r\n {\r\n\r\n
    \r\n\r\n {\r\n browser && browser == \"Safari\" ?\r\n
    {\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN);\r\n\r\n }}\r\n\r\n >\r\n
    = 2 ? \" bg-black\" : \" bg-gray \")}\r\n >\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n \"apple-pay\"\r\n
    \r\n
    \r\n\r\n :\r\n\r\n\r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")}\r\n onClick={() => {\r\n\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN);\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
    \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 {\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(\"info:order-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\r\n
    \r\n
    \r\n
    \r\n

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

    \r\n {\r\n setshowAgreements(false)\r\n }}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n Agreements && Agreements.length > 0 ?\r\n
    \r\n
      \r\n {\r\n Agreements[0]?.explaination?.split('\\n')?.map((item, index) => {\r\n\r\n return
    • \r\n {item?.replaceAll(\"*\", \" • \")}\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}","import { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Route, Switch, useRouteMatch } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport MainSericePage from '../maintenance/subpages/mainServicePage';\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 { SalesOrderService } from \"./SalesOrderService\";\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 || 'ar');\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 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}","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, i18n } = useTranslation([\"heading\", \"finance\", \"form\", \"model\", \"inputs\", \"info\", \"eparts\"]);\r\n let lang = (i18n.language || 'ar');\r\n const [referrer, setReferrer] = useState('');\r\n const [error, setError] = useState({});\r\n const [successData, setSuccessData] = useState(false);\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: \"G4\",\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(1);\r\n\r\n const [cnValue, setCnValue] = useState(\"\");\r\n const [identityValue, setIdentityValue] = useState(\"\");\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 // Get the referrer information\r\n var ref = document.referrer;\r\n \r\n console.log(\"referrer>>>>>>>>>>>>>>>>>>>>>>>>>>:\",ref);\r\n const params = new URLSearchParams(window.location.search);\r\n // const utmSource = params.get('utm_source');\r\n // console.log(\"utmSource>>>>>>>>>>>>>>>>>>>>>>>>>>:\",utmSource);\r\n\r\n // if(ref ==null){\r\n // ref =utmSource;\r\n // }\r\n\r\n if(!ref){\r\n ref =window.location.origin;\r\n }\r\n console.log(\"referrer final >>>>>>>>>>>>>>>>>>>>>>>>>>:\",ref);\r\n setReferrer(ref);\r\n\r\n }, []);\r\n\r\n //----------------------\r\n const [selectcity, setSelectcity] = useState(null);\r\n const [filteredCities, setFilteredCities] = useState([]);\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 var mm = settingsResponse?.data?.genders.map(e => {\r\n return { value: String(e.id), text: e.description }\r\n });\r\n\r\n\r\n setFilteredCities(settingsResponse?.data?.cities?.filter(item => {\r\n return item.code == \"SAU\"\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 useEffect(() => {\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 if (Object.keys(result).length == 0) {\r\n setSuccessData(true);\r\n } else {\r\n setSuccessData(false);\r\n }\r\n }, [requestForm]);\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 axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Vehicles/AvailableGroupsOnSite\",\r\n method: \"get\",\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.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/Vehicles/ALLProductModelTypesOnSite\",\r\n method: \"get\",\r\n })\r\n .then(function (response) {\r\n setProducts(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 // 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 \"Note\": (requestForm?.note ?? \"\") ,\r\n \"ReferrerBy\":(referrer ? referrer :\"\")\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\r\n name='name'\r\n />\r\n {\r\n return { text: item?.description, value: item?.id, optional: item?.code }\r\n })]}\r\n onfilter={(Citey) => {\r\n const val = { ...requestForm };\r\n val.City = Citey.value;\r\n val.address = Citey.text;\r\n setRequestForm(val);\r\n\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 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:lang==\"ar\" ?item.DescriptionAr: item.DescriptionEn, 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\r\n const languageDir = \"language-\" + lang;\r\n const { t: trans,i18n } = useTranslation([\"error\", \"heading\", \"model\", \"vehicales\", \"form\", \"finance\", \"common\"]);\r\n const [selectedColor, setSelectedColor] = useState(null);\r\n let lang = (i18n.language || 'ar');\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 || 'ar');\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 { useParams} from \"react-router\";\r\nimport {PhoneInput} from \"../../components/_input/_phoneInput\";\r\nimport Joi from 'joi';\r\nimport {GetMessages , formValidate} from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport function MaintenanceOrderPage() {\r\n const {t: trans,i18n} = 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 = (i18n.language || 'ar');\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,i18n } = useTranslation([\"common\"]);\r\n\r\n const [banner, setBanner] = useState({});\r\n const [advises, setAdvises] = useState([]);\r\n let lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"common\", \"model\", \"info\", \"user\", \"home\"]);\r\n const lang = (i18n.language || 'ar');\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 || 'ar');\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 { t: trans,i18n } = useTranslation([\"common\", \"inputs\", \"offers\", \"home\", \"eparts\", \"user\", \"info\", \"hints\"]);\r\n const lang = (i18n.language || 'ar');\r\n const langaugeDir = 'language-' + lang;\r\n const dir = lang == 'en' ? 'left' : 'right';\r\n const otherLang = lang == 'en' ? 'ar' : 'en';\r\n \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 { 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,i18n } = useTranslation([\"common\", \"form\", \"model\", \"user\", \"info\", \"hints\", \"error2\", \"inputs\", \"new\", \"extra\"]);\r\n let lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"common\", \"vehicales\", \"form\", \"info\"]);\r\n const preIconPath = '/assets/icons/car/';\r\n const lang =(i18n.language || 'ar');\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 }\r\n\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 || 'ar');\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 }\r\n\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[vehicleDetails?.CarID]) {\r\n\r\n var cr = cachReservation[vehicleDetails?.CarID];\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\": 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(\"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, i18n } = useTranslation([\"ownOrder\", \"new\"]);\r\n let lang = (i18n.language || 'ar');\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 selectedValue={filterHistory.filterStatusOption}\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.statusen, (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, i18n } = useTranslation([\"ownOrder\"]);\r\n const lang = (i18n.language || 'ar');\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 url_payment &&\r\n
    \r\n {trans(\"info:complete_buy\")}\r\n
    \r\n }\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

    {id}

    \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,i18n } = useTranslation(\"ownOrder\");\r\n const lang =(i18n.language || 'ar');\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\n\r\n\r\n\r\nexport const OwnVehicleOrders = ({ vehicles = [] }) => {\r\n const { t: trans,i18n } = useTranslation(\"ownOrder\");\r\n const lang = (i18n.language || 'ar');\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 ,i18n} = useTranslation(\"ownOrder\");\r\n const lang = (i18n.language || 'ar');\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,i18n } = useTranslation(\"ownOrder\");\r\n const lang = (i18n.language || 'ar');\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 ,i18n} = useTranslation(\"ownOrder\");\r\n const lang = (i18n.language || 'ar');\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,i18n } = useTranslation(\"ownOrder\");\r\n const lang = (i18n.language || 'ar');\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,i18n } = useTranslation([\"ownOrder\",\"info\",\"error\",\"form\",\"global\"]);\r\n const lang = (i18n.language || 'ar');\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 setCartTrans([]);\r\n const Body= {\r\n \"name\":\"site_featchTransCarts\",\r\n \"values\":{\r\n \"CartID\":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 setCartTrac([]);\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 == 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