{"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/components/navPartCard.jsx","components/navbar/hover/navParts.jsx","components/navbar/hover/navAbout.jsx","pages/contact/components/map.jsx","components/error.jsx","components/_input/_input.jsx","components/_input/_textArea.jsx","components/_input/_button.jsx","utils/validation.js","components/_input/_phoneInput.jsx","components/_input/_phoneDropDown.jsx","utils/resetDropDown.js","pages/eparts/components/customPopover.js","pages/eparts/components/partSearch.jsx","components/_input/_dropdown.jsx","pages/contact/components/contactTile.jsx","components/navbar/hover/navContact.jsx","User/popup.jsx","_redux/slices/cartSlice.js","User/components/popupHeader.jsx","utils/localStorageManager.js","_functions/cart.js","User/hooks/useUserCart.js","User/hooks/useUserFavorite.js","User/signIn.jsx","components/_input/_checkInput.jsx","components/_input/_fileInput.jsx","utils/localDB.js","components/sectionHeading.jsx","User/signUp.jsx","User/components/countDown.jsx","User/resetPassword.jsx","User/loginValidation.jsx","components/_input/advancedSearch.jsx","components/__simple/callCenter.jsx","components/navbar/navbar.jsx","components/__simple/_footerHeading.jsx","components/footer.jsx","utils/confirmContext.js","utils/compareProvider.js","components/slide.jsx","components/_info.jsx","components/iconText.jsx","components/__simple/_pageheading.jsx","components/testimonial.jsx","sections/testimonialSection.jsx","components/__simple/_whyBox.jsx","sections/whyHJSection.jsx","components/offer.jsx","components/__simple/_filterButton.jsx","pages/home/sections/homeOfferSection.jsx","utils/shareDataMaker.js","components/__simple/_likeButton.jsx","components/car.jsx","pages/home/sections/homeVehicleSection.jsx","components/adsBanner.jsx","pages/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","syntax","code","locale","undefined","concat","Intl","NumberFormat","format","random","Price","parseFloat","NavPartCard","title","endDate","startDate","totalTime","FilePathURL","NavParts","compaign","setCompaign","intialCompaign","intialEPartsCategories","ApiObjectData","firstTwoOffers","_","orderBy","moment","CreatedDate","GUID","DateFrom","DateTo","TotalTime","TotalAmountDiscount","com","NavAbout","aboutList","history","useHistory","aboutOwner","setAboutOwner","intial","responseResult","finalResult","cursor","elementID","document","getElementById","scrollIntoView","navigateToElement","Map","latitude","longitude","content","markers","multiMarkers","currentPosition","setCurrentPosition","setMultiPositions","toggle","setToggle","success","position","lat","coords","lng","navigator","geolocation","getCurrentPosition","mm","handleToggle","infoWindowStyle","backgroundColor","color","textAlign","minWidth","fontSize","fontWeight","mapContainerStyle","zoom","center","clickableIcons","options","panControl","mapTypeControl","fullscreenControl","streetViewControl","zoomControl","clickable","onCloseClick","label","toString","ErrorLabel","errorTitle","block","classes","InputField","readOnly","disabled","onChangeValue","onKeyDown","onLeave","onKeyPress","errorLabel","placeholder","secondary","required","extraClasses","passwordStrength","onAcceptPassword","searchIcon","onClicksearchIcon","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","for","class","TextArea","row","rows","FormButton","isLoading","isPrimary","icon","xmlns","viewBox","fill","d","GetMessages","formValidate","schema","validate","abortEarly","errors","details","message","PhoneInput","enabled","defaultValue","prefix","phonevalue","setPhoneValue","direction","pattern","startsWith","onInput","result","validity","valid","handleChange","PhoneDropDown","mandotory","defaultFlag","placeholderProp","countriesListCode","isLoginProp","defaultFlagPath","isOpened","setIsOpened","isFocus","setIsFocus","DescriptionAr","DescriptionEn","flag","currentcountriesCode","setCurrentcountriesCode","flagText","activeFlag","setActiveFlag","phoneValue","flagRef","inputRef","addEventListener","handleClickOutside","removeEventListener","Country","setCountry","Body","contains","FillAllCountries","bb","DialingCode","parseInt","dir","onFocus","ref","right","focus","handleChangeCountryCode","dropDownResetter","callback","forceReturn","CustomPopover","listMain","level2","level3","isShowIndex","setIsShowIndex","CatMain","setCatMain","SuPCat","setSupCat","fCatSup1","setoptionCatSup","fCatSup2","setoptionCatSup2","dropdownRef","imageTitle","setImageTitle","parentNode","slidesPerView","spaceBetween","resizeObserver","watchSlidesVisibility","watchSlidesProgress","autoplay","loop","option","show","GroupIDMain","ImageUrl","button","drId","indexP","dropdown","getBoundingClientRect","left","dropdownContent","rect","rightSpace","leftSpace","adjustDropdownPosition","GroupIDMainSup1","filterCatSup2","valLevel2","indexLevel2","GroupIDMainSup2","PartSearch","forwardRef","isLoadingFuncProp","isIndex","onChangValuesProp","passEngineGroups","activePage","query","URLSearchParams","useLocation","setBrand","get","queryProduct","setQueryProduct","Brands","ProductGroups","setProductGroups","ProductModel","setProductModel","ProductModelTypes","setProductModelTypes","engineGroups","setEngineGroups","engineGroupsSup","setEngineGroupsSup","engineGroupsSup2","setEngineGroupsSup2","setResGroup","setResProductType","setResProductModel","brandID","resProductTypeQuery","resProductType","resGroupQuery","resGroup","resProductModelQuery","resProductModel","FunCat","Engine_Groups","Engine_GroupsSup","Engine_GroupsSup2","FunVech","FunPro","Product","refreshPage","FProductGroups","setFProductGroups","FProductModelTypes","setFProductModelTypes","text","SSuPCat","setSSupCat","setPro","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","selectedBranch","setSelectedBranch","subjects","setSubjects","rad","x","PI","find_closest_marker","distances","closest","mlat","mlng","dLat","dLong","sin","cos","atan2","sqrt","allContects","branchId","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","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","FooterHeading","Footer","socials","setSocials","setEmail","submitEmail","isEmailExisted","isExisted","social","rel","imagePath","getFullYear","ConfirmContext","React","createContext","displayName","useCompare","vehicleID","maxColumns","COMPARE_KEY","COMPARE_FORMAT_KEY","properities","setProperities","formatProperities","setFormatProperities","requestData","vehID","currentValues","currentFormatValues","_image","Image","vehObject","Values","PropertyID","ProperityDescriptionAr","ProperityDescriptionEn","_tempArray","_propertyObjectValue","_propertyValue","_props","customizedVehicalesGroup","customizedObj","customizedObjValues","without","_valueIndex","findIndex","_tempValues","_currentValue","index2","index3","_v","warning","onDeleteItem","removeItem","_newCurrentValues","onInsert","Slide","bg","seats","minPrice","HP","cylinders","petrol","RateCareDiscount","ProductId","end_Offer","NewCar","NewCar_DateEnd","Hybird","showPric","hybridImage","viewSliderIcon","viewSliderDetails","viewBtns","sliderBackOpasity","context","useContext","background","getEndDate","onShow","displayConfirm","isHyper","isNew","defaultColorID","modelYear","cartDetails","carOrder","Info","hjData","hjGallery","setHjGallery","section1Image","firstResult","newhjData","showImg","IconText","PageHeading","fixed","subtitle","dangerouslySetInnerHTML","__html","Testimonial","TestimonialSection","testimoinals","setTestimoinals","testimonials","pagination","breakpoints","navigation","testimonial","SwiperCore","use","Pagination","Navigation","Autoplay","EffectFade","WhyHJBox","secondTheme","WhyHJSection","whyInfo","setWhyInfo","Offer","excerpt","totalDays","paymentURL","FilterButton","isActive","onclick","HomeOfferSection","offers","filteredOffers","setFilteredOffers","offersFilter","setOfferFilter","filterOfferVehicle","off","observer","otherLink","shareMaker","hashTag","baseUrl","shareObject","LikeButton","long","onToggle","favorite","titleStyle","btnStyle","Car","qty","brandImage","brandIcon","gifts","miniDownPayment","showDetails","hybird","newCar","sharable","discountPrice","isOnline","goBuyDerict","carData","onClickShowSN","btnShowSN","shareOpened","setShareOpened","isToyota","stopPropagation","flexDirection","FacebookShareButton","quote","hashtag","FacebookIcon","TwitterShareButton","TwitterIcon","WhatsappShareButton","WhatsappIcon","TelegramShareButton","TelegramIcon","EmailShareButton","EmailIcon","sn","Boolean","obb","brandAr","groupAr","SN","backGround","HomeVehicleSection","cars","filteredCars","setFilteredCars","carFilter","setCarFilter","filterCars","siteId","countGifts","discount","hybirdImage","rateTaxCar","productId","rateCareDiscount","AdsBanner","adsBanners","setAdsBanners","useRouteMatch","fetchData","backgroundImage","AdsImage","HasRedirect","AdsUrl","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","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","nationalitiesResponse","genderResponse","skillsResponse","certificationResponse","statusResponse","gap","role","skill","additional","getYears","identificationImage","fileName","loadedImage","RadioInputDynamic","ListValues","EmploymentApplicationFormPage","showFinalPopupMessage","setShowFinalPopupMessage","phoneNumberApplicants","setPhoneNumberApplicants","setReject","formatDate","hour","hour12","minute","schema_Reject","schema_1","cardNumber","cardExpiryDate","placeResidence","numberWives","numberChildren","selectedjob","dateReadyToJob","workedOurCompany","salaryToFrenchBank","socialSecurity","medicalInsurance","applyVia","City","schema_2","durationStudy","specialty","yearOuter","scientificCertificate","schema_3","schema_4","DealingWithOthers","SYS_Cities","setSYS_Cities","filteredCities","setFilteredCities","stepNum","setStepNum","allYear","interviewData","setInterviewData","interviewApplicantsData","setInterviewApplicantsData","GetinterviewApplicants","queryPhone","setDefultEmailandName","OTP","setOTP","checkStepsErrors","seccessSteps","employmentId","j","OTPNumber","OTPString","interviewID","getMaxData","maxID","inputFields_2","submitRequestCertificates","inputFields","submitRequestworkExperience","setInputFields","setInputFields_2","SuccessMessageAr","SuccessMessageEn","submitRejectRequest","CertificateObject","applicationID","workExperienceObject","employer","durationemploy","JobTitle","lastSalary","reasonLeaving","interviewDate","diffTime22","ceil","diffTime","applymentsData","setApplymentsData","GetEmployment_applymentsData","mobile","appData","maritalStatus","nationality","brithDate","PositionID","englishLevel","computerLevel","degree","graduationYear","SYS_CitiesResponse","Cities","CountryID","value3","handleInputChange_2","newInputFields","handleInputChange","srempNumber","cheangeSteps","step","def","isRejection","phoneNumberOnly","phoneNumberCode","currentEmploy","titel","titelEn","subTitelAr","subTitelEn","interviewDateFormat","selectedReject","strokeWidth","field","Fragment","handleDropDownChange_2","lastGroupindex","EmploymentInterviewAttendance","isDataOTPMatch","applicationData","setApplicationData","attendanceDateTime","InfoCircle","titleEn","titleAr","_icon","navSlice","changeHeader","changeIcons","isFixedHeader","VehiclePage","brandInfo","setBrandInfo","vehiclesFilter","setVehiclesFilter","Featured","setFeatured","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","stroke","strokeLinecap","strokeLinejoin","CarColorPicker","active","imageBase64","urlImageColor","BackgroundSize","CarModel","extraSpecsTo","langaugeDir","splittedValues","gotoextraSpecs","sendRequest","PageLink","CarFeature","VehicleOverViewPage","mainurl","setIsLoding","currntvehicle","selectedColor","setSelectedColor","setVehicle","isLoadingImages","setIsLoadingImages","vehicleOffers","carColors","setCarColors","carModels","setCarModels","setAllImagesCount","setActiveColor","activeModel","setActiveModel","handleChangeOverViewContent","setActiveOutColor","setActiveINColor","resetColorsValues","resetValues","setINCarColors","setOUTCarColors","afterChangeDataType","getCarModels","responsemodels","curentCars","getCach","datacash2","response2","dataResponse2","INcolors","OUTcolors","INcolorsCode","setINCarColorsCode","OUTcolorsCode","setOUTCarColorsCode","cashCarImages","innerCarImagesJson","setInnerCarImagesJson","outerCarImagesJson","setOuterCarImagesJson","activeOutColor","colornew","ColorID","fetchCarDesign","activeColor","partnum","setFilterCarImages","codeColor","codeColorIN","codeColorOUT","imagesPart","AllCarImagesIN","AllCarImagesOUT","allcolor","colorCodeItems","cimage","imagesCount","handleRequestChangeOverview","finalItem","product","tax","itemValue","filterCarImages","getActivePartSection","cashColors","setCashColors","handleFetchModelAvaliableColors","productTypeID","currentColorID","thisSelectedColorID","_colors","_default","cc","currentInColor","IN_colors","currentOutColor","Out_colors","jsoncolors","ColorDescription","ColorImage","siteOutColorImage","siteInColorImage","firstItem","colors","currentSelectedColor","allModels","activeINColor","autoHeight","updateOnWindowResize","Image_URL","maxHeight","ColorDescriptionAr","ColorDescriptionEn","mo","VehicleDetailPage","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","CampaignType","Photo","Title","DiscountID","DiscountAmount","toyota","onChooseCompaign","Part","SalesPriceBefor","loading","NetSalePrice","ServiceBox","titlebtn","categoryId","small","imgUrl","subtitleEn","subtitleAr","subtitel","imageUrl","SimpleBanner","AboutBox","AboutHJSection","about","setAbout","LandengSlide","Titel","SubTitel","Desc","BtnText","BackOpicity","backImage","backImageUrl","viewSocialIcons","PartSlide","SectionSlideEpart","slidEPartsList","setSlidEPartsList","getSparePartsSlide","backOpacity","urlImage","EpartsPage","GetUrlfunc","PWD","setPWD","isPopUpOpened","setIsPopUpOpened","selectedCompaign","setSelectedCompagin","userPhoneNumber","userForm","urlParms","Web_UserID","FirstNameEn","FirstNameAr","LastNameEn","LastNameAr","Phone","Email","IdentityNumber","setUserForm","CompaignLuxes","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","Comment","SimpleCardCar","title2Ar","subTitleListAr","title2En","subTitleListEn","imageFull","titleValue","titleIndex","CarSection","guidProductId","compatibilityList","setCompatibilityList","getCompatibility","DescriptionArG","DescriptionEnG","ProductGroupID","CustomTabbyTamara","EpartsDetailPage","setCar","rate","setRate","SetAva","SetDilev","hashTage","sharerInfo","setSharerInfo","PWR","setPWR","AttachImg","setiAttch","setTerms","checkCompatibility","setCheckCompatibility","RequsetProductsWithDetails","SetImgMain","epartsInfo","_sharerInfo","CategiorEn","setProductNo","setCatNameUrl","ex","getCatNameUrl","RequsetProductsWithAlternatives","getTermsPart","getCheckCompatiblityEPart","RequsetAttch","RequsetAva","termsAr","termsEn","handleCalculateRatingStars","productNo","stars","ratingValues","setRatingValues","catNameUrl","star","spe","Comments","totalComments","totalOfSpe","totalOfStars","finalTotal","catId","catSubId","catSubSubIdd","catAr","catEn","subCatAr","subCatEn","subSubCatAr","subSubCatEn","catSubSubId","Att","D","part","handelAddToCart","CheckCompatibility","Item","hasLike","Gift","Cart","onDelete","Pay","CategoryCar","carErrorCount","LodingDelate","setLodingDelate","counter","setCounter","Accessories","GiftS","hasAccessories","setHasAccessories","hasGift","setHasGift","Color","CountGifts","CartInfo","setCartInfo","countF","num","getSerialsBuyOnlineCount","countSN","CuurentValue","Brand","ModelTypes","CarCartInfo","Img","CartItems","onFavoriteItemsChange","Categior","showCategor","categoryAr","categoryEn","PartCartInfo","BouquetCart","ErrorDate","refrechDate","editDate","setEditDate","editCarType","setEditCarType","DiscountRate","ItemsNumer","setServiceInfo","formGroup","setFormGroup","formModelTypeID","setFormModelTypeID","formYear","setFormYear","LodingEditDate","setLodingEditDate","LodingEditCarType","setLodingEditCarType","filteredProductModels","setFilteredProductModels","setDefultDate","offerName","packageName","GetCartInfo","ServiceName","ServiceNameAR","GetServiceInfo","FetchOfferSupportedServices","FetchModels","handleFilteredModels","fModels","Slug","toJSON","updateDateService","updateCarTypeService","BranchesInfo","headingTitle","BranchInfoCard","googleMapPoints","useMemo","CouponControl","couponCode","reset","onReset","codeValue","setCodeValue","PaymentPlatforms","isFreeze","onPaytabsClick","onSadadClick","isToggle","onPaymentClick","isTamara","paymentType","setPaymentType","CartDetails","shippingTime","shippingUnitTime","subTotal","shippingCost","totalDiscount","totalTax","sumItemTotal","CartPage","branchMethod","locationMethod","currentDeliveryMethod","setcurrentDeliveryMethod","thisConfirmContext","carErrors","setCarErrors","develviryType","setDeleviryType","setShipp","setIsGetCartData","branchesDetails","setBranchesDetails","formatResult","Address","WorkingHoursFormat","Latitude","Longitude","TotalTax","TotalDiscount","SetTotalDiscount","SumItemTotal","SubTotal","currentTotalDiscount","calculateDiscount","RequsetBanner","PaymentMAin","RefrancePayment","CAmount","CID","CCode","InfoLocation","InfoBranch","ByLocation","ByBranch","IsReservation","IsPayment","PaymentAmount","FinalTotal","AmountShipping","SubAmountTotal","TotalTaxAmount","MethodPayment","getUserIpAddress","ipv4","couponDetail","coupon","redirect","CartID","URL_Paytabs","handlePayment","user_id","ValueCitie","ValueBranch","Shipping","Cost","onShowRegistrationPup","UnitTime","CountTime","setShipping","setValueCitie","setValueBranch","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","cities","setCities","countries","handleCheckCarsCount","listError","Category","cunrrentvalue","A","CarShippingInfo","_id","applyCoupon","FinanceRange","placeHolder","suffix","firstValue","setValues","valueInput","setValueInput","Lastvalues","setLastValues","RTL","setFinalChangeValue","debounce","justifyContent","flexWrap","margin","flexGrow","rtl","renderTrack","onMouseDown","onTouchStart","getTrackBackground","alignSelf","renderThumb","isDragged","alignItems","FinanceSearch","onBankSelected","onQuantitySearchClick","onActiveMenu","onSelectedProduct","onBudgetChange","onSetBanks","onsetDefaultperiod","selectionBank","STATUS_KEY","setActive","setModel","balance","setPart","monthly","setMonthly","activeMenu","setActiveMenu","banks","setBanks","setGroups","fGroups","setFGroups","setLoadingBanks","subCategoryID","modelSearch","setModelSearch","subCategories","setSubCategories","fSubCategories","setFSubCategories","budget","setBudget","maxFinanceAmount","maxFinancePeriod","lastBatch","quantityRange","setQuantityRange","selectOneBankDefoliate","setSelectOneBankDefoliate","initialBanksData","handleActiveBank","customizedResult","onHandleRefechData","bankSelected","prevState","DefaultFinancePeriod","touchRatio","initialSlide","centeredSlides","bank","media","srcSet","mobileImage","er","filteredValues","BrandId","ProductGroupId","ProductTypeId","FinanceCar","groupColor","onApplay","offerID","hasOffer","offerTitle","FinancePage","handleRefechData","products","setProducts","filteredCarsByBrand","setFilteredCarsByBrand","carBrandFilter","financeOffers","setFinanceOffers","carInfo","setCarInfo","isLoadingVehicles","setLoadingVehicles","financeSettings","setFinanceSettings","setProfitRates","isLoadingSendOrder","setLoadingSendOrder","setSelectionBank","period","mangFees","monthPay","firstPay","lastPay","annualRate","approximateResult","setApproximateResult","custType","cn","fullNameAr","fullNameEn","bankID","income","advancedPayment","monthlyPayment","setDefaultBank","setDefaultperiod","setColors","initialBanner","initialFinanceoffers","initialCustGroups","initalSettings","intialProfitRates","resetControls","carsData","getCarsByBrand","initialProductsByBank","thisBankID","OfferID","brandTitle","productImage","groupTitle","modelTypeTitle","colorGroupID","ColorGroupID","ColorName","colorImage","StartDate","EndDate","TotalDays","lastPayment","handleFilterByActiveMenu","thisActiveMenu","thiscarBrandFilter","instance","filteredData","DatawithFinanc","finalFinaniceTotal","minFirstPayPrice","setMinFirstPayPrice","reCountFinanceSettings","selectedFinancePeriod","currentFirstPayPrice","financeData","ManagementFees","AdvancedPaymentRate","LastPaymentRate","managementFees","financeRate","FinanceRate","firstPayPrice","lastPayPrice","financeAmount","addAmount","managementFeesAmount","mounthBrach","finalAmount","sayHelloFromComp1","Banks","activeBank","PriceListTypeID","handleFilterByBank","dp","handleOnApplay","CustGroupCollectingID","nameAr","newErrors","unspesificErrors","FinancePeriod","isLexus","FinanceDetailPage","financeDetails","setFinanceDetails","initialBranches","financeId","fullResult","BankTermID","bankId","BankID","firstPayment","FirstPayment","monthsCount","MonthsNumber","ModelRange","monthsQuantity","MonthlyQuantity","groupId","GroupID","groupDescription","brandDescription","GroupImage","ManagmentFees","getFullPrice","AwardsSection","awards","award","VisionsSection","visions","vision","CounterSection","counter3","counter1","counterTitle1","counter2","counterTitle2","counterTitle3","AboutPage","setAwards","setVisions","bannerPath","lastTitle","lastDesc","ContactList","onGeo","divHeight","MapBanner","activebranche","geoLocation","setGeoLocation","handleChangeLocation","geo","newLocation","ContactPage","paramSubject","setPage","subName","withRouter","unlisten","listen","entitiesReducer","combineReducers","navReducer","cartReducer","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","CustID","s","OrderStatusID","xmlnsXlink","xmlnsSvgjs","transform","ServiceReservationByID","codephone","ShortDescriptionEn","EvaluationType","countOptions","click","mandatory","defultActive","activeItem","setActiveItem","ProtectionAndShading","PUser","paramGUID","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","targetRef","targetRefAdditional","arrowPosition","setArrowPosition","isArrowVisible","setIsArrowVisible","browser","setBrowser","userAgent","agreements","paymentStatus","URL","searchParams","orderId","paymentMethodCallback","paymentTypeCallback","StatusPaymentPayTabsSalesOrdersService","StatusPaymentTamaraSalesOrdersService","StatusPaymentSadadSalesOrdersService","FetchSalesInvoiceTrans","productList","allServiceID","setAllServiceID","serviceImportantAdditions","setServiceImportantAdditions","filterservice","newServiceImportantAdditions","isPopupOpen","setIsPopupOpen","showConfirmationPopup","scrollX","hideArrow","handelalertIndicatorArrow","setPopupHandlers","onConfirm","onCancel","popupHandlers","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","FetchSalesOrderService","setSalesOrder","StatusPaymentID","SalesOrderID","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","setproduct","selectedProduct","selectedModel","showProductSection","setShowProductSection","fColors","setFColors","fProductGroups","productGroups","fProducts","setFProduct","setFModels","supportedColors","setIsLoading","defultMobile","setDefultMobile","schemacn","userTypeList","setUserTypeList","userType","setUserType","cnValue","setCnValue","identityValue","setIdentityValue","getAllUserType","handleFilterModelsByProduct","getAllGroups","getAllBrands","getAllProducts","typeID","selectedTypeID","handleShowVehicleDetails","handleFetchColors","filteredProducts","filteredProductsbyGroupID","uniqueModels","uniqBy","mY","handleSendRequest","result22","result33","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","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","blob","Blob","_temp","intialUserData","userKey","params","settingsResponse","imgeUser","userImage","createObjectURL","deleteAllCookies","cookie","eqPos","UserNotificationPage","notifications","setNotifications","filteredNotification","setFilteredNotification","Filteredcategories","initialNotificationsAsGroup","secretKey","parentItem","childItemSet","childItem","subtract","handleFilterNotification","parentIndex","childIndex","UserHomePage","getUserCars","initialUserOffers","_userID","InputDate","CarID","Icon","IconImage","FetchType","parent","OfferType","UserOfferPage","SectionHeader","no","colorClass","UserVehicle","otherLang","setColor","standardColors","setStandardColors","setSelectedBrand","setSelectedModel","isLoadingForAdd","setIsLoadingForAdd","isLoadingForEdit","setIsLoadingForEdit","private_name","board_No","structure_no","requestUpdateForm","setRequestUpdateForm","vehicleCurrentData","setVehicleCurrentData","newModel","requestFormNewModel","setRequestFormNewModel","schema2","error2","setError2","ar","en","carBoardNo","setCarBoardNo","otherLangBoardNo","setOtherBoardNo","filterModel","brandId","filterModelType","productGroupId","showUpdatePopup","setShowUpdatePopup","handleUpdatePopupStatus","specialResult","fetchVehicleImage","vehicleImage","handleAcceptCarBoardLetters","_numKeys","_key","which","keyCode","_request","_request2","_letters","_enLetters","_arLetters","_keyChar","fromCharCode","handleRemoveCarBoardLetters","_len","_valAsArray","_valAr","_valEn","_valTemp","_valueDeleted","_indexDeleted","_indexENDeleted","_indexARDeleted","_valAsString","handleSetStringWithSpaces","chars","numbers","char","letters","englishLetters","deColor","_brand","_group","_modelData","_model","productTypeId","carId","_year","modelId","ModelID","boardNoEn","boardNoAr","structureno","alias","colorCode","Carcolor","NewModelType","submitUpdateRequest","currentValue","Profile","fileInputRef","setShowResetPasswordBox","acceptPasswordStatus","setAcceptPasswordStatus","genderList","setGenderList","setSelectedGender","setReadOnly","editableStatus","setEditableStatus","isLoading2","setIsLoading2","genders","city","defaultGeoLocation","setDefaultGeoLocation","cityID","countryID","personalDataRequest","setPersonalDataRequest","schemaPassword","newPassword","changePhoneNumber","setChangePhoneNumber","changeEmail","setChangeEmail","oldPassword","requestChangePassword","setRequestChangePassword","userHasNoPassword","setUserHasNoPassword","passwordError","setPasswordError","personalPhoneNumber","setPersonalPhoneNumber","schemaPhoneNumber","phoneError","setPhoneError","personalContactDataRequest","setPersonalContactDataRequest","custGroupID","cnImage","personalDocumentDataRequest","setPersonalDocumentDataRequest","schemaDocument","errorDocument","setErrorDocument","personalEmailDataRequest","setPersonalEmailDataRequest","schemaEmail","emailError","setEmailError","setPersonalIdentityDataRequest","showIdentityImage","setShowIdentityImage","freazeType","defaultIdentityType","setDefaultIdentityType","schemaSection1","intialIdentityTypes","intialUserContactData","userGender","tradeNo","cResult","ccResult","_userGeo","finalValue","tradeNoImage","fileURL","handleChangeIdentityImage","handleChangeCRImage","isPasswordMatched","isMatched","handleChangePassword","handleChangePhoneNumber","handleChangeEmail","handleChangeIdentityType","messageError","jsonRequest","isFound","isExisting","defaultStatus","getCorrectIdentitySection","ProtectedRoute","Component","restOfProps","isAuthenticated","NotFoundPage_404","VehicleDetails","carBrand","carNameTitle","carModelTitle","isHybrid","structureNo","plateNo","createdInput","showValues","carImage","userCarName","industryYear","preIconPath","carInnerDetails","UserVehiclesDetailsPage","fetchType","setPrimaryCategory","setSubPrimaryCategory","setLastSubPrimaryCategory","setAllParts","setFAllParts","getIsExpireDate","date1","date2","getVehicleDetails","initalCategories","vinNo","ReservationFetch","PreviousMaintenance","Reservation","setReservation","setLoadingReservation","setFetchedReservation","Body3","isLoadingContent","setLoadingContent","ReservationFilterData","setReservationFilterData","setIsActive","filterReservation","newData","Maintenance","setMaintenance","setFetchedMaintenance","setLoadingMaintenance","funSiteGetVehicleDetails","modelTrans","_vehicle","modelName","UserCarName","intialAllPartsByGroup","initialOffers","primaryCategoriesBody","subPrimaryCategoriesBody","lastSubPrimaryCategoriesBody","primaryCategoriesRequest","subPrimaryCategoriesRequest","lastSubPrimaryCategoriesRequest","category1","category2","category3","formatDateTime","dateNow","timeNow","ReceptionID","Ordertime","toFixed","CompleteDate","MyBookings","setLoadingUserCars","myCars","setMyCars","activeId","setActiveId","curentCarId","setCurentCarId","currentCar","onSliderHomePageChange","activeIndex","cachReservation","setCachReservation","cr","OwnOrderContext","OwnOrderHistory","historyTitle","historySubTitle","statusOptions","filterStatusOption","filterHistory","setFilterHistory","handleOnItemChangeStatus","CreatedAt","Delivery","TStatus","deliveryType","handleChangeParentState","showDetailsBox","itemActive","showHistoryBox","deliveryMethod","SiteDilveryID","DilveryAr","DilveryEn","siteAr","siteEn","statusAr","parentBox","statusID","orderCode","orderStatusText","orderDate","orderStatusCode","maxVisualElements","locationText","onItemClick","OwnHistoryItem","visualElements","setFile","CartsImages","fileRef","OwnOrderDetails","orderNumber","deliveryLocation","amount","shippingPrice","orderHistory","Createdat","OwnVehicleOrders","Partimg","TypeCarAr","TypeCarEn","colorsAr","colorsEn","SalePrice","OwnSpareOrders","onEvaluate","PartAr","Parten","PartPrice","OwnSDCOrders","SDCimg","SDCAr","SDCen","SDCPrice","OwnPGTOrders","PGTimg","PGTAr","PGTen","PGTPrice","OwnServiceOrders","Cprice","UserOrdersPage","setParnetBox","Carts","setCarts","fCarts","setFCarts","setUserID","CartsTrans","setCartTrans","CartsTrac","setCartTrac","CartStatus","setCartStatus","evaluatePopupShow","setEvaluatePopupShow","setcartInfo","sparePartProductID","setSparePartProductID","comment","evaluation","SetEvaluation","fetchMycartTrans","fetchMycartTracing","currentState","handleWindowResize","handleEvaluatePopup","fetchMycart","_fValues","statusId","CartItemsTypeID","PhoneMenu","handleSwicth","handleActiveItem","FavoriteItem","productTitle","productValue","subProductValue","FavoritePage","favoriteGroups","setFavoriteGroups","freshFavoriteGroups","setFreshFavoriteGroups","urlBilder","urlValue","tempData","tempData2","parentArray","parentValue","innerItems","handleDeleteItem","UserPage","ContentLoading","RedirectPage","OriginalUrl","setOriginalUrl","Expired","OfferByTypePage","EpartsGroupPage","GroupId","RequsetsetEngineGroups","TestEparts","minProp","maxProp","defaultValueProp","minDistanceProp","returnProp","setStart","setEnd","ReactSlider","thumbClassName","trackClassName","ariaLabel","ariaValuetext","valueNow","pearling","minDistance","currentStart","currentEnd","PaginationComponent","activePageProp","itemsCountPerPageProp","totalItemsCountProp","pageRangeDisplayedProp","pageReturnProp","pageNumber","firstPageText","lastPageText","nextPageText","prevPageText","CustomAlert","cancelTokenSource","titleProp","textProp","ResulteSearch","setAllCategories","setCat","subCat","setSubCat","subSubCat","setSubSubCat","countRow","setCountRow","isStock","setIsStock","engineGroupsObject","setEngineGroupsObject","has","funcGetAllSpareParts","_isStock","setSections","dataRing","valueRing","setValueRing","filterMain","setFilterMain","itemsCountPer","setClearFilter","nameCat","setNameCat","getResultProductID","ProductsWithDetails","setItems","CountRow","getResultAll","isPagination","isTextNull","freeText","handleBuildCategoriesSections","sectionsList","activ","SearchItems","setSearchItemsPagination","checkedCateegores","setCheckedCateegores","OnCheckCate","prevCheckedBrands","listValues","getEPartsWithStock","Groups","GroupsSup","GroupsSup2","requestProductsWithDetails","AllFun","endIndex","pagValue","clearFilters","clearFiltersFunction","getResultVehicleByCat","getNameCat","reqCat","reqSubCat","reqSubSubCat","catlistvalues","cancel","CancelToken","cancelToken","token","isCancel","EngineGroupsObject","linkListObject","thisEngineGroupsSup","ServiceBoxSlid","objCat","resultNameCat","CampaignOrderPage","arName","enName","compaignNo","featureNo","userNo","compaignDetail","setCompaignDetails","controlDisabled","setControlDisabled","orderType","setOrderType","descriptionTitle","photo","compaignFeatures","setCompaignFeatures","sendOrderRequest","existedUser","sendCreateUserAccount","getUserDetails","Error","goBack","compaignId","packageID","compaignInfo","compaignID","compaignFearuresObject","CompaignPart","salseprice","objectFit","CompaignDetails","DiscountId","setDiscountId","pageTitel","setpageTitel","selectedPackage","setSelectedPackage","DisWD","setDisWD","CWD","setCWD","Compaign","RequsetCompaignId","BodyCompaignId","RequsetDetails","RequsetDetailsDis","setIcon","descEn","descAr","FeatureDetails","Compare","headerItems","bodyItems","onAdd","maxHeaderItems","maxItems","CompareHeaderRow","postion","CompareHeaderItem","CompareBody","properityName","properityValues","CompareBodyRow","ComparePage","setSelectedProduct","selectedValues","setSelectedValues","currentSelected","OfferOrderPage","_userData","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","checkErrors","Vehicales","setVehicales","currentServiceID","carAr","carEn","thisSchema","PurchaseConfirm","onClose","ColorsModel","popupRef","productTypes","setProductTypes","defaultProductModel","setDefaultProductModel","contentLoading","setContentLoading","brandType","setBrandType","handleFetchModels","thisType","setPriceColor","setCart","Id","modelTypeDescEn","modelTypeDesc","PriceColor","onLine","setOnline","filterPriceoffColor","selectdM","TaxAmount","setDefault","_models","funName","ModelDescription","Registrationpup","displaypup","handlePopupStatusChange","SearchHeader","resultNumber","onSearch","speedTyping","delayTyping","hintsTyping","onSupportFilter","hasFilters","textTyping","setTextTyping","textPostion","setTextPosition","textSectionInArray","setTextSectionInArray","showPlasceHolder","setShowPlaceHolder","hints","delayTimer","sort","showOptions","setFilterOptions","maintenance","campaign","eparts","setShowOptions","startTyping","speed","delay","hintValue","charAt","newValue","resetTyping","activeElement","handleFocus","handleDragOption","sortedUniq","handleOnChange","onColor","onHandleColor","handleDiameter","uncheckedIcon","checkedIcon","activeBoxShadow","SearchResultItem","extra","setRedirect","redirectPath","SearchResultContainer","Search","searchText","setSearchText","searchResults","setSearchResults","supportedFilters","setSupportedFilters","groupsResult","setGroupResult","tempGroupValues","handleOnSearchClick","element","SectionType","ExtraData","CustomerServices","whatsupNumber","phonCallNumber","bottom","PurchaseAlertPage","PrivacyPage","baseInfo","setBaseInfo","Agreement","intro","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","validationOTP","numberPhone","codeOTP","validCode","generateSMS","correct","Correct","autoComplete","currentIndex","handelFocusNext","handelFocusBack","CarCheckoutCashPage","dataFinalPopup","setDataFinalPopup","subFunctionRef","ErrorMessage","ErrorProcedure","mainNumber","checkStepsErrorsDataFullNum","NotificationWhatsApp","ResponsMessage","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","setMinFinance","propsDataPass","setPropsDataPass","propsDataPass2","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.0c26030a.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\nconst {locale} = syntax;\r\nconst code = lang == 'en' ? ' SAR ' : ' ر.س ';\r\nconst suffixCode = (locale == 'en' ? 'IN' : 'EG');\r\nif (number == null || number == undefined || number == 'null' || number === '' || ((number == '0' || number == 0) && showZero == false)){\r\n\r\n return null;\r\n}\r\n\r\nif(displayCurrencyLiter) {\r\n // return concat(Intl.NumberFormat(locale + `-${suffixCode}`).format(number),code);\r\n return concat(Intl.NumberFormat().format(number), classNameCurrency ? {code} : code);\r\n} \r\n\r\nreturn Intl.NumberFormat().format(number);\r\n// return concat(Intl.NumberFormat().format(number),code);\r\n\r\n// return concat(Intl.NumberFormat().format(number), {code});\r\n};","import {Fragment} from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { numberFormat } from \"../../utils/currencyFormatter\";\r\nexport function Price({price,showZero=false,displayCurrencyLiter=true}) {\r\n const { i18n } = useTranslation([]);\r\n let lang =(i18n.language || '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 { Link } from \"react-router-dom\";\r\nimport {CountDown} from \"../../../../pages/eparts/components/countDown\"\r\nimport { Price } from \"../../../__simple/_price\";\r\nimport config from \"../../../../configuration/config.json\";\r\nexport function NavPartCard({title,description,image,to,endDate,startDate,totalTime, total}) {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \"service\"\r\n\r\n
\r\n

{title}

\r\n
\r\n

\r\n {description}\r\n

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\r\n \r\n
\r\n
\r\n
\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { GoogleMap, LoadScript, Marker, InfoWindow } from \"@react-google-maps/api\";\r\n\r\n\r\nexport function Map({ latitude, longitude, name, content, markers = [], multiMarkers = false }) {\r\n let googleMapURL = \"https://maps.googleapis.com/maps/api/js?key=AIzaSyAN_OIK0AzQyINgni_VzR23kh-ytSgiku0\";\r\n\r\n\r\n const [currentPosition, setCurrentPosition] = useState({});\r\n const [multPositions, setMultiPositions] = useState([]);\r\n const [toggle, setToggle] = useState(false);\r\n\r\n\r\n // function changeMapLanguage(){\r\n // return googleMapURL+=`&language=${lang}`;\r\n // }\r\n\r\n const success = position => {\r\n\r\n\r\n const currentPosition = {\r\n lat: parseFloat(latitude) ?? position.coords.latitude,\r\n lng: parseFloat(longitude) ?? position.coords.longitude\r\n }\r\n\r\n if (currentPosition?.lat && currentPosition?.lng)\r\n setCurrentPosition(currentPosition);\r\n };\r\n\r\n useEffect(() => {\r\n navigator.geolocation.getCurrentPosition(success);\r\n }, [latitude, longitude])\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (multiMarkers) {\r\n\r\n const mm = markers.map(e => {\r\n\r\n\r\n var coords = \"\";\r\n try {\r\n const { latitude, longitude } = e;\r\n coords = { lat: parseFloat(latitude), lng: parseFloat(longitude) };\r\n } catch (error) {\r\n\r\n }\r\n\r\n return (\r\n\r\n { lat: e.latitude, lng: e.longitude, coords: coords }\r\n )\r\n\r\n\r\n\r\n })\r\n\r\n setMultiPositions(mm);\r\n }\r\n }, [markers, multiMarkers]);\r\n\r\n useEffect(() => {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n }\r\n\r\n if (currentPosition?.lat && currentPosition?.lng)\r\n setCurrentPosition(currentPosition);\r\n });\r\n }, []);\r\n\r\n const handleToggle = () => {\r\n setToggle(!toggle);\r\n };\r\n\r\n\r\n const locations = [\r\n {\r\n name: \"Location 1\",\r\n location: {\r\n lat: 26.4007915,\r\n lng: 50.0110817\r\n },\r\n },\r\n {\r\n name: \"Location 2\",\r\n location: {\r\n lat: 26.399904,\r\n lng: 50.013982\r\n },\r\n },\r\n\r\n ];\r\n\r\n const mapStyles = {\r\n height: \"100%\",\r\n width: \"100%\"\r\n };\r\n\r\n\r\n const infoWindowStyle = {\r\n backgroundColor: '#fff',\r\n color: '#000',\r\n textAlign: 'center',\r\n minWidth: '100px',\r\n fontSize: 18,\r\n fontWeight: 'bold'\r\n };\r\n\r\n const defaultCenter = {\r\n lat: 41.3851, lng: 2.1734\r\n }\r\n const [selected, setSelected] = useState({});\r\n\r\n const onSelect = item => {\r\n setSelected(item);\r\n }\r\n\r\n return (\r\n\r\n \r\n\r\n {\r\n !multiMarkers &&\r\n (\r\n \r\n {\r\n toggle && \r\n
\r\n {latitude != '' ? content : 'Me'}\r\n
\r\n \r\n }\r\n
\r\n )\r\n }\r\n {\r\n multiMarkers && markers.map((item, index) => {\r\n\r\n return (\r\n\r\n item?.coords &&\r\n \r\n {\r\n toggle && \r\n
\r\n {item?.content}\r\n
\r\n \r\n }\r\n
\r\n )\r\n })\r\n }\r\n \r\n )\r\n\r\n}\r\n\r\n","const ErrorLabel = ({errorTitle , block = false})=>{\r\nlet classes = 'warning-';\r\nclasses+= block?'block':'inline';\r\nreturn errorTitle != null || undefined ?{errorTitle}:'';\r\n}\r\nexport default ErrorLabel;","import ErrorLabel from '../../components/error';\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport function InputField({\r\n name,\r\n id = null,\r\n readOnly = false,\r\n disabled = false,\r\n type = 'text',\r\n onChangeValue,\r\n onKeyDown,\r\n onLeave,\r\n onKeyPress,\r\n title,\r\n errorLabel,\r\n placeholder,\r\n secondary = false,\r\n value,\r\n required = false,\r\n length = 50,\r\n extraClasses = '',\r\n passwordStrength = false,\r\n onAcceptPassword,\r\n searchIcon = false,\r\n onClicksearchIcon,\r\n 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-light \")}\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, 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 );\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-light \")}\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(\">>>>>>>>>>>>>>>>>>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 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 {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 { setReduxVehicles,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 console.log(\"reduxBrands>>>>>>>Fooootr>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:\");\r\n console.log(\"reduxBrands>>>>>>>>>>>Fooootr>>>>>>>>>>>>>>>>>>>>>>>>>>:\", reduxBrands);\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(\"news\")}
    • \r\n {/*
    • {trans(\"news\")}
    • */}\r\n
    • {trans(\"about-us\")}
    • \r\n
    • {trans(\"employment\")}
    • \r\n
    • {trans('buy-vehicle')}
    • \r\n\r\n
    \r\n
      \r\n\r\n
    • {trans(\"HJ-advises\")}
    • \r\n
    • {trans(\"locations\")}
    • \r\n
    • {trans('contact-us')}
    • \r\n
    • {trans('common:website-policy')}
    • \r\n {/*
    • {trans('agreement-Sale-And-Reservation')}
    • */}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n socials.map((social) => {\r\n return (\r\n \r\n {social.name}\r\n \r\n );\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    {\r\n submitEmail(e);\r\n }\r\n }>\r\n {\r\n setEmail(e.target.value.trim());\r\n }}\r\n className={\"text-16 border-radius\"} placeholder={trans('enter-your-email')}\r\n type=\"mail\" />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {\r\n\r\n lang == \"ar\" ?\r\n \"hassan\r\n :\r\n \"hassan\r\n }\r\n\r\n
    \r\n \r\n
    \r\n \"app\r\n \"play\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {trans('privacy-policy')}\r\n {/* {trans('site-policy')} */}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Footer;","import React from 'react';\r\nconst ConfirmContext = React.createContext();\r\nConfirmContext.displayName = 'ConfirmContext';\r\nexport default ConfirmContext;\r\n","import axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { saveData, getData } from \"./localStorageManager\";\r\nimport config from '../configuration/config.json';\r\nimport { find, forEach, includes, without, findIndex } from \"lodash\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { toast } from \"react-toastify\";\r\nexport const useCompare = (vehicleID = null, maxColumns = 5) => {\r\n const { t: trans} = useTranslation([\"model\",\"compare\"]);\r\n const COMPARE_KEY = \"COMPARE_KEY\";\r\n const COMPARE_FORMAT_KEY = \"COMPARE_FORMAT_KEY\";\r\n const [properities, setProperities] = useState(() => {\r\n return JSON.parse(getData(COMPARE_KEY)) ?? []\r\n });\r\n const [formatProperities, setFormatProperities] = useState(() => {\r\n return JSON.parse(getData(COMPARE_FORMAT_KEY)) ?? []\r\n });\r\n // the following fun is used to fetch the veh properities and reorder them as table\r\n const requestData = (vehID) => {\r\n if (vehID) {\r\n const currentValues = JSON.parse(getData(COMPARE_KEY)) ?? [];\r\n const currentFormatValues = [];\r\n if (currentValues?.length < maxColumns) {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetVehicleProperities\",\r\n \"values\": {\r\n \"vehicleID\": vehID\r\n }\r\n }\r\n ).then(response => {\r\n const responseData = response.data;\r\n if (responseData?.length > 0) {\r\n const _image = responseData[0].Image != null ? responseData[0].Image : null;\r\n const _id = responseData[0].ProductID;\r\n\r\n const customizedResult = responseData.map((item) => {\r\n return {\r\n key: {\r\n PropertyID: item.PropertyID,\r\n DescriptionAr: item.ProperityDescriptionAr,\r\n DescriptionEn: item.ProperityDescriptionEn,\r\n },\r\n value: {\r\n DescriptionAr: item.DescriptionAr,\r\n DescriptionEn: item.DescriptionEn,\r\n ProductID: item.ProductID,\r\n PropertyID: item.PropertyID,\r\n }\r\n }\r\n });\r\n\r\n const vehObject = {\r\n ID: _id,\r\n Image: _image,\r\n Values: customizedResult\r\n };\r\n\r\n const _isNotFound = find(currentValues, (ele) => { return ele.ID === vehObject.ID }) == undefined || null ? true : false;\r\n\r\n if (_isNotFound) {\r\n // to check and reorder the keys and values \r\n currentValues.push(vehObject);\r\n const _tempArray = [];\r\n for (let index = 0; index < currentValues.length; index++) {\r\n forEach(currentValues[index].Values, (value) => {\r\n const _propertyObjectValue = value?.key;\r\n const _propertyValue = value?.key?.PropertyID;\r\n const _props = _tempArray.map(item => {\r\n return item.PropertyID\r\n });\r\n if (!includes(_props, _propertyValue)) {\r\n _tempArray.push(_propertyObjectValue);\r\n }\r\n });\r\n }\r\n const customizedVehicalesGroup = [];\r\n // the following code is to order keys and values according to above array\r\n for (let index = 0; index < currentValues.length; index++) {\r\n const { ID, Image, Values } = currentValues[index];\r\n const customizedObj = { ID, Image };\r\n const customizedObjValues = [];\r\n forEach(without(_tempArray, undefined, null), (value) => {\r\n const _valueIndex = findIndex(Values, (item) => { return item.key?.PropertyID == value?.PropertyID });\r\n if (_valueIndex != -1) {\r\n customizedObjValues.push(\r\n {\r\n ...Values[_valueIndex]\r\n }\r\n );\r\n } else {\r\n customizedObjValues.push(\r\n {\r\n key: value,\r\n value: null\r\n }\r\n );\r\n }\r\n });\r\n const _tempValues = { ...customizedObj };\r\n _tempValues.Values = customizedObjValues;\r\n customizedVehicalesGroup.push(_tempValues);\r\n }\r\n // formatting the values\r\n for (let index = 0; index < without(_tempArray, undefined, null).length; index++) {\r\n const _currentValue = without(_tempArray, undefined, null)[index];\r\n _currentValue.Values = [];\r\n for (let index2 = 0; index2 < customizedVehicalesGroup.length; index2++) {\r\n\r\n for (let index3 = 0; index3 < customizedVehicalesGroup[index2].Values.length; index3++) {\r\n const _v = customizedVehicalesGroup[index2].Values[index3];\r\n if (_currentValue.PropertyID === _v?.key?.PropertyID) {\r\n _currentValue.Values.push(_v?.value != null ? {DescriptionAr :_v?.value?.DescriptionAr , DescriptionEn:_v?.value?.DescriptionEn} : null);\r\n break;\r\n }\r\n }\r\n }\r\n currentFormatValues.push(_currentValue);\r\n }\r\n saveData(COMPARE_FORMAT_KEY, JSON.stringify(currentFormatValues), false);\r\n setFormatProperities(currentFormatValues);\r\n saveData(COMPARE_KEY, JSON.stringify(customizedVehicalesGroup), false);\r\n setProperities(JSON.parse(getData(COMPARE_KEY, false)));\r\n toast.success( trans('compare:compare_added_success'));\r\n\r\n }else{\r\n toast.info(trans('compare:compare_added_info'))\r\n }\r\n }\r\n }).catch(error => {\r\n toast.warning(trans('compare:compare_no_properities_found'))\r\n });\r\n }else{\r\n toast.error(trans('compare:compare_added_error'));\r\n }\r\n }\r\n };\r\n // the following fun is used to delete the item from list by [index && vehID]\r\n const onDeleteItem = (position, value) => {\r\n const currentValues = JSON.parse(getData(COMPARE_KEY));\r\n const currentFormatValues = JSON.parse(getData(COMPARE_FORMAT_KEY));\r\n if(currentValues.length == 1){\r\n window.localStorage.removeItem(COMPARE_KEY);\r\n window.localStorage.removeItem(COMPARE_FORMAT_KEY);\r\n setProperities([]);\r\n setFormatProperities([]);\r\n return;\r\n }\r\n const _newCurrentValues = currentValues.filter((item) => {\r\n return item.ID !== value\r\n });\r\n for (let index = 0; index < currentFormatValues.length; index++) {\r\n delete currentFormatValues[index].Values[position];\r\n }\r\n saveData(COMPARE_KEY, JSON.stringify(_newCurrentValues), false);\r\n saveData(COMPARE_FORMAT_KEY, JSON.stringify(currentFormatValues), false);\r\n setProperities(_newCurrentValues);\r\n setFormatProperities(currentFormatValues);\r\n };\r\n //--------------------------------------\r\n useEffect(() => {\r\n requestData(vehicleID);\r\n }, [vehicleID, maxColumns, properities]);\r\n return { properities, formatProperities, onInsert: requestData ,onDeleteItem};\r\n};\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { Link,useHistory } from \"react-router-dom\";\r\nimport { Price } from \"./__simple/_price\";\r\nimport ConfirmContext from \"../utils/confirmContext\";\r\nimport { useContext } from \"react\";\r\nimport { slugCombine } from \"../utils/slugManager\";\r\nimport { useCompare } from \"../utils/compareProvider\";\r\nimport config from \"../configuration/config.json\"\r\nfunction Slide({ id, modelTypes, img, bg, type, seats, name, brand, year, slug, minPrice, HP, cylinders, petrol, colorID,\r\n\r\n RateCareDiscount, group, Tax, ProductId, otherBrand, end_Offer, NewCar_DateEnd, NewCar, Hybird, showPric, hybridImage,\r\n viewSliderIcon,\r\n viewSliderDetails,\r\n viewBtns,\r\n sliderBackOpasity,\r\n brandID,\r\n}) {\r\n\r\n const { t: trans,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 e.target.style.display = 'none'} alt=\"Slider Icon\" />\r\n }\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n {\r\n\r\n viewSliderDetails &&\r\n
    \r\n

    \r\n {name}\r\n

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

    {hjGallery.title}

    \r\n

    {hjGallery.description}

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

    {title}

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

    {prop.subtitle}

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

    \r\n

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

    \r\n {content}\r\n

    \r\n\r\n

    {name}

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Testimonial;","import PageHeading from \"../components/__simple/_pageheading\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport Testimonial from \"../components/testimonial\";\r\nimport { useEffect, useState } from \"react\";\r\nimport SwiperCore, { Autoplay, EffectFade, Navigation, Pagination } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { saveData, User_Data_Key, getData } from \"../utils/localStorageManager\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function TestimonialSection({ title, subtitle }) {\r\n const { t: trans,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 e.target.style.display = 'none'} alt={title}/>\r\n
    \r\n
    \r\n

    {title}

    \r\n

    {subtitle}

    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n\r\nexport default WhyHJBox;\r\n","import PageHeading from \"../components/__simple/_pageheading\";\r\n\r\nimport WhyHJBox from \"../components/__simple/_whyBox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport config from \"../configuration/config.json\";\r\n\r\nexport function WhyHJSection({ secondTheme = false, subtitle, title }) {\r\n const { t: trans,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} e.target.style.display = 'none'} /> :\r\n {name} e.target.style.display = 'none'} />)\r\n }\r\n
    \r\n
    \r\n

    {name}

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

    \r\n \r\n

    :null\r\n }\r\n

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

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

    {trans('info:add_favorite')}

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

    {brand}

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

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

    */}\r\n
    )\r\n }\r\n {\r\n (gifts != null && gifts > 0) &&\r\n (
    \r\n {(isToyota e.target.style.display = 'none'} />\r\n\r\n
    {gifts}
    \r\n
    )\r\n }\r\n\r\n {(buyOnline == true) &&
    \r\n {trans(\"info:Available_for_purchase_online\")}\r\n \r\n
    }\r\n\r\n
    \r\n\r\n\r\n {\r\n // history.push(link);\r\n window.location.href = link;\r\n }}>\r\n\r\n
    \r\n {name} e.target.style.display = 'none'} />\r\n
    \r\n e.target.style.display = 'none'} alt={(isToyota ? \"toyota\" : \"lexus\")} />\r\n {/* src={config.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 e.target.style.display = 'none'} />\r\n
    \r\n\r\n {trans(\"info:Preview\")}\r\n\r\n
    \r\n :\r\n
    \r\n }\r\n\r\n\r\n {/* {
    \r\n\r\n {(colorName && colorName?.split(\"/\")[0]) &&
    \r\n {trans(\"car:exterior_color\")}\r\n {colorName?.split(\"/\")[0]}\r\n
    }\r\n {(colorName && colorName?.split(\"/\")[1]) &&
    \r\n {trans(\"car:interior_color\")}\r\n {colorName?.split(\"/\")[1]}\r\n
    }\r\n
    } */}\r\n
    \r\n
    \r\n {\r\n event.stopPropagation();\r\n setShareOpened(!shareOpened);\r\n }}>\r\n e.target.style.display = 'none'} alt={\"share icon\"} />\r\n
    \r\n
    \r\n { changeFavoriteItemState(ProductId) }}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {colorName &&
    \r\n\r\n {/* This text will bounce */}\r\n {(colorName && colorName?.split(\"/\")[0]) &&
    \r\n {trans(\"car:exterior_color\")}\r\n {colorName?.split(\"/\")[0]}\r\n
    }\r\n {(colorName && colorName?.split(\"/\")[1]) &&
    \r\n {trans(\"car:interior_color\")}\r\n {colorName?.split(\"/\")[1]}\r\n
    }\r\n
    }\r\n\r\n
    \r\n\r\n

    {name}

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

    {(showPric || goBuyDerict) && }

    \r\n \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n {/* {trans(\"show\")} */}\r\n {/* {\r\n onInsert(ProductId);\r\n }} className={\"text-14 text-bold\"}>{trans(\"compare:compare_btn\")} */}\r\n {/* \r\n {\r\n\r\n (btnShowSN == true) &&\r\n
    {\r\n event.stopPropagation();\r\n\r\n if (onClickShowSN)\r\n onClickShowSN(carData?.sn);\r\n }}\r\n >\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n\r\n {trans(\"info:Preview\")}\r\n\r\n
    \r\n } */}\r\n {\r\n try {\r\n\r\n if (goBuyDerict == true) {\r\n var obb =\r\n {\r\n id: slug,\r\n Type: 'car',\r\n colorId: colorID\r\n , name: carData?.descriptionAr\r\n , nameEn: carData?.descriptionEn\r\n , price: minPrice\r\n , brand: carData?.brandAr\r\n , brandEn: carData?.brandEn\r\n , Tax: Tax\r\n , image: img\r\n , Discount: RateCareDiscount\r\n , productID: ProductId\r\n , group: carData?.groupAr\r\n , groupEn: carData?.groupEn\r\n , BrandID: brandID\r\n , modelTypes: carData?.descriptionAr\r\n , modelTypesEn: carData?.descriptionEn\r\n , colorName: carData?.colorNameAr\r\n , colorNameEn: carData?.colorNameEn\r\n , SN: carData?.sn\r\n , year: year\r\n , modelTypeID: type\r\n , MiniDownPayment: miniDownPayment\r\n }\r\n\r\n changecartItem(ProductId, colorID, type, 1, null, null, obb, null, year);\r\n\r\n } else {\r\n\r\n context.onShow(\r\n {\r\n modelYear: year,\r\n displayConfirm: true,\r\n title: name,\r\n image: img,\r\n backGround: brandImage,\r\n brand: brand,\r\n brandID: brandID,\r\n isHyper: hybird,\r\n isNew: newCar,\r\n defaultColorID: colorID,\r\n cartDetails: {\r\n id: ProductId,\r\n name: name,\r\n price: minPrice,\r\n brand: brand,\r\n image: img,\r\n Tax: Tax,\r\n Discount: RateCareDiscount,\r\n Type: \"car\",\r\n modelTypes: modelTypes\r\n },\r\n carOrder: {\r\n vehicle: ProductId,\r\n group: group\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }}\r\n // href=\"./\" \r\n className={\"text-30\"}>\r\n {trans(\"buy\")} e.target.style.display = 'none'} />\r\n \r\n\r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\nexport default Car;","import {Fragment, useEffect, useState} from \"react\";\r\nimport SwiperCore, {Pagination, Navigation, Autoplay, EffectFade} from \"swiper\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport PageHeading from \"../../../components/__simple/_pageheading\";\r\nimport {FilterButton} from \"../../../components/__simple/_filterButton\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Car from \"../../../components/car\";\r\nimport {slugSplitter,slugCombine} from '../../../utils/slugManager';\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade,]);\r\n\r\nexport default function HomeVehicleSection({cars, brands}) {\r\n const {t: trans} = useTranslation([\"common\", \"inputs\", 'cars', \"home\",\"info\"]);\r\n\r\n const [filteredCars, setFilteredCars] = useState(cars);\r\n const [carFilter, setCarFilter] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n setFilteredCars(cars);\r\n }, [cars])\r\n\r\n\r\n function filterCars(brand) {\r\n setCarFilter(brand);\r\n let filterData = [];\r\n if (brand != null)\r\n filterData = cars.filter((car) => {\r\n return car.brand === brand;\r\n });\r\n else {\r\n filterData = cars;\r\n }\r\n setFilteredCars(filterData);\r\n };\r\n\r\n return (\r\n\r\n
    \r\n \r\n
    \r\n {\r\n brands?.map((brand , index) => {\r\n return (\r\n filterCars(brand.name)}/>\r\n );\r\n })\r\n }\r\n\r\n filterCars(null)}/>\r\n
    \r\n \r\n \r\n {\r\n filteredCars.map((car,index)=>{\r\n if(parseFloat(car.minPrice) != '0'){\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n })\r\n }\r\n \r\n\r\n
    \r\n\r\n );\r\n}","import SwiperCore, { Pagination, Navigation, Autoplay } from \"swiper\";\r\nimport { SwiperSlide, Swiper } from 'swiper/react';\r\nimport axios from \"axios\";\r\nimport { useEffect, useState } from \"react\";\r\nimport config from '../configuration/config.json';\r\nimport { useHistory, useRouteMatch } from \"react-router\";\r\nimport { saveData, User_Data_Key, getData } from \"../utils/localStorageManager\";\r\nimport { forEach } from \"lodash\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay]);\r\nconst AdsBanner = () => {\r\n const [adsBanners, setAdsBanners] = useState([]);\r\n const { url } = useRouteMatch();\r\n const history = useHistory();\r\n useEffect(() => {\r\n async function fetchData() {\r\n\r\n var SiteFetchAdsBanners = [];\r\n\r\n // for (var i = 0; i <= 10; i++) {\r\n // try {\r\n // let data = [];\r\n // data = await JSON.parse(getData(\"SiteFetchAdsBanners-\" + i, true));\r\n // console.log(\"getData SiteFetchAdsBanners\", data);\r\n // if (data && data.length > 0) {\r\n // SiteFetchAdsBanners.push(data);\r\n // }\r\n // } catch (error) {\r\n // break;\r\n\r\n // }\r\n // }\r\n\r\n // if (SiteFetchAdsBanners && SiteFetchAdsBanners.length > 0) {\r\n // setAdsBanners(SiteFetchAdsBanners);\r\n // }\r\n\r\n\r\n try {\r\n const response = await axios.post(config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchAdsBanners\"\r\n });\r\n\r\n // if (JSON.stringify(SiteFetchAdsBanners) != JSON.stringify(response.data)) {\r\n console.log(\"axios SiteFetchAdsBanners\", response.data);\r\n\r\n setAdsBanners(response.data);\r\n\r\n // response.data.map((item,index2)=>{\r\n // console.log(\"SiteFetchAdsBanners-\"+index2, response.data.filter((item,index3) => index2 == index3));\r\n // saveData(\"SiteFetchAdsBanners-\"+index2, response.data.filter((item,index3) => index3 == 0), true);\r\n\r\n // })\r\n\r\n\r\n // }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n fetchData();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {\r\n adsBanners && (\r\n
    \r\n \r\n {\r\n adsBanners?.map((item, index) => {\r\n return (\r\n \r\n {\r\n if (item?.HasRedirect && item?.AdsUrl) {\r\n history.push(`${url}${item?.AdsUrl}`)\r\n }\r\n }}\r\n >\r\n
    \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n )\r\n }\r\n \r\n )\r\n\r\n};\r\n\r\nexport default AdsBanner;","import 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[`section1${trans(\"info:title\")}`],\r\n description: data[`section1${trans(\"info:description\")}`],\r\n image: data.section1Image\r\n }\r\n\r\n setHjInfo({ ...curentInfo });\r\n setLoadingInfo(false);\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\": \"siteHomePage\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"section1TitleAr,section1TitleEn,section1DescAr,section1DescEn\"\r\n }\r\n ).then(response => {\r\n setLoadingInfo(false);\r\n const responseData = response.data.ApiObjectData;\r\n if (responseData.length > 0) {\r\n const firstResult = responseData[0];\r\n\r\n curentInfo = {\r\n title: firstResult[`section1${trans(\"info:title\")}`],\r\n description: firstResult[`section1${trans(\"info:description\")}`],\r\n image: firstResult.section1Image\r\n }\r\n\r\n setHjInfo({ ...curentInfo });\r\n const data = new Response(JSON.stringify(firstResult));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"siteHomePage\", data);\r\n\r\n });\r\n }\r\n }\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n setLoadingInfo(false);\r\n });\r\n\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n setLoadingInfo(false);\r\n }\r\n\r\n\r\n try {\r\n let homedata = [];\r\n if (\"caches\" in window) {\r\n var curl = \"/api/home/home\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n homedata = await cachedResponse?.json();\r\n\r\n }\r\n\r\n if (homedata) {\r\n setBrands(homedata)\r\n\r\n } else {\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/home\",\r\n method: \"get\",\r\n }).then(response => {\r\n\r\n\r\n try {\r\n // setHome(response.data.home);\r\n setBrands(response.data.brands);\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"/api/home/home\", new Response(JSON.stringify(response.data.brands)));\r\n\r\n });\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"vehicles-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n console.log(\"vcacheStorage\", cacheStorage);\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n let data = await cachedResponse?.json();\r\n console.log(\"data\", data);\r\n setCars(data.data.vehicles);\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/vehicles\",\r\n method: \"get\",\r\n }).then(response => {\r\n setCars(response?.data?.vehicles);\r\n const data = new Response(JSON.stringify(response));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"vehicles-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n\r\n\r\n try {\r\n\r\n if (\"caches\" in window) {\r\n let url = \"HomeExtra-\" + lang;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n console.log(\"vcacheStorage\", cacheStorage);\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n url\r\n );\r\n var response = await cachedResponse?.json();\r\n\r\n setOfferPart(response.data.offerPart);\r\n\r\n setOfferVehicle(response.data.offerVehicle);\r\n\r\n setOfferPartFilters(response.data.offerPartTypes);\r\n\r\n setOfferVehicleFilters(response.data.offerVehicleTypes);;\r\n\r\n }\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/home/HomeExtra\",\r\n method: \"get\",\r\n }).then(response => {\r\n\r\n\r\n setOfferPart(response.data.offerPart);\r\n\r\n setOfferVehicle(response.data.offerVehicle);\r\n\r\n setOfferPartFilters(response.data.offerPartTypes);\r\n\r\n\r\n setOfferVehicleFilters(response.data.offerVehicleTypes);\r\n\r\n const data = new Response(JSON.stringify(response));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"HomeExtra-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n try {\r\n\r\n if (curentInfo) {\r\n await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"Object\": \"siteHomePage\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"section1Image\"\r\n }\r\n ).then(response => {\r\n const responseData = response.data.ApiObjectData;\r\n if (responseData.length > 0) {\r\n const firstResult = { ...curentInfo }\r\n\r\n firstResult.image = responseData[0].section1Image;\r\n\r\n setHjInfo(firstResult);\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n\r\n });\r\n\r\n }\r\n\r\n } catch (error) {\r\n console.log(\"error:\", error);\r\n\r\n }\r\n\r\n\r\n\r\n }, [lang]);\r\n const [seoPageInfo, setSeoPageInfo] = useState({});\r\n useEffect(async () => {\r\n\r\n var page = \"Home\"\r\n\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchSeoPages\",\r\n \"Values\": {\r\n \"page\": page\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n\r\n var resdata = response.data[0];\r\n\r\n setSeoPageInfo(resdata);\r\n\r\n\r\n }\r\n }, []);\r\n return (\r\n \r\n {\r\n seoPageInfo &&\r\n\r\n \r\n\r\n \r\n {\r\n seoPageInfo?.title &&\r\n {seoPageInfo?.title}\r\n }\r\n {\r\n seoPageInfo?.link &&\r\n \r\n\r\n }\r\n {\r\n seoPageInfo?.MetaDescription &&\r\n \r\n }\r\n {\r\n seoPageInfo?.MetaGroups &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n
    \r\n
    \r\n\r\n {\r\n isLoadingslides ? (\r\n\r\n <>\r\n \r\n\r\n \r\n\r\n\r\n ) : (\r\n\r\n {\r\n slide.update();\r\n }}\r\n >\r\n {\r\n slides?.map((slide, index) => {\r\n\r\n return (\r\n \r\n {\r\n setAddVich(true)\r\n }}\r\n end_Offer={slide.end_at}\r\n NewCar_DateEnd={slide.newCar_DateEnd}\r\n NewCar={slide.newCar}\r\n Hybird={slide.hybird}\r\n showPric={slide.showPric}\r\n viewSliderIcon={slide.viewSliderIcon}\r\n viewSliderDetails={slide.viewSliderDetails}\r\n viewBtns={slide.viewBtns}\r\n sliderBackOpasity={slide.sliderBackOpasity}\r\n />\r\n \r\n )\r\n })\r\n }\r\n\r\n \r\n\r\n )\r\n\r\n }\r\n
    \r\n\r\n\r\n {/*
    \r\n\r\n\r\n \r\n
    */}\r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n\r\n {\r\n 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 e.target.style.display = 'none'}\r\n alt={\"\"} /> :\r\n e.target.style.display = 'none'}\r\n alt={\"\"} />\r\n\r\n )\r\n // background ?\r\n // {title}\r\n // : null\r\n }\r\n
    \r\n\r\n
    \r\n\r\n {\r\n secondImage &&\r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n }\r\n\r\n\r\n
    \r\n
    \r\n

    \r\n {subtitle}\r\n

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

    \r\n {title}\r\n

    \r\n

    \r\n {desc}\r\n

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

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

    \r\n \r\n

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

    \r\n

    |

    \r\n

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

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

    {data?.title}

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

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

    \r\n

    {data?.desc}

    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n })\r\n }\r\n\r\n
    \r\n\r\n {\r\n (isOffer == true) &&\r\n
    \r\n\r\n
    \r\n {\r\n if (handelButton)\r\n handelButton(\"reserve\");\r\n }}\r\n />\r\n\r\n
    \r\n
    \r\n {\r\n\r\n if (handelButton)\r\n handelButton(\"cart\");\r\n }} />\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n );\r\n\r\n\r\n}\r\n\r\nexport default Banner;","import Offer from \"../components/offer\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {slugCombine} from '../utils/slugManager';\r\nexport function OfferSections({title, offersList, type, showMore = true}) {\r\n const {t: trans,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.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n name: Joi.string().required().messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = (i18n.language || '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 // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n if (response?.data?.OrderID) {\r\n setResOrderID(response?.data?.OrderID);\r\n setOrderReservation(raw);\r\n }\r\n\r\n\r\n setShowFinalPopup(true);\r\n\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n\r\n const checkDataFullNum = async () => {\r\n\r\n if (acticeCar?.packageId && SupportedLastsServices && SupportedLastsServices.length > 0 &&\r\n requestForm?.year && requestForm?.name && requestForm?.time && requestForm?.date) {\r\n\r\n setDataFullNum(2);\r\n return 2;\r\n\r\n } else {\r\n setDataFullNum(0);\r\n return 0;\r\n }\r\n\r\n\r\n }\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, SupportedLastsServices, acticeCar?.packageId]);\r\n\r\n\r\n return (\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n (acticeCar?.brandID == 1) ?\r\n <>\r\n {acticeCar?.brandID}\r\n \r\n :\r\n (\r\n (acticeCar?.brandID == 2) ?\r\n <>\r\n {acticeCar?.brandID}\r\n \r\n :\r\n null\r\n\r\n )\r\n\r\n }\r\n
    \r\n\r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"offer-service-reservation-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {banner?.type}

    \r\n\r\n

    {banner?.title}

    \r\n

    {banner?.excerpt}

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

    \r\n {data?.title}

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

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

    \r\n

    {data?.desc}

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

    {title}

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

    \r\n {desc}\r\n

    \r\n\r\n
    \r\n
    \r\n {trans(\"common:show-more\")}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default News;","import {useTranslation} from \"react-i18next\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nfunction NewsBanner({background, title, desc, link}) {\r\n const {t: trans,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\", \"heading\", \"inputs\", \"model\", \"new\"]);\r\n const [requestForm, setRequestForm] = useState({\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n email: '',\r\n selectedGender: '',\r\n selectedNationality: '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 + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_applyments\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GUID\",\r\n // \"Filters\": `Where employmentId = ${parseInt(employment.id)} and (email = '${email}' or phoneNumber = '${phone}') and PositionID =${parseInt(employment.positionId)} `\r\n \"Filters\": `Where (email = '${email}' or phoneNumber = '${phone}') `\r\n }\r\n );\r\n if (response.status == 200) {\r\n isExisted = response.data.ApiObjectData.length > 0;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return isExisted;\r\n };\r\n useEffect(() => {\r\n callback();\r\n }, []);\r\n\r\n const callback = useCallback(async () => {\r\n try {\r\n setLoadingEmployment(true);\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 const nationalitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"Sys_Nationalities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n\r\n\r\n\r\n\r\n\r\n if (nationalitiesResponse?.data?.ApiObjectData[0])\r\n setNationalities(nationalitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Gender' \"\r\n }\r\n );\r\n //*************************************************************************************************************************\r\n if (genderResponse?.data?.ApiObjectData[0])\r\n setGender({ value1: genderResponse.data.ApiObjectData[0].ID, value2: genderResponse.data.ApiObjectData[1].ID });\r\n\r\n const skillsResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteSkillsLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n console.log('skills', skillsResponse);\r\n //***************************************************************************************************************************\r\n if (skillsResponse?.data?.ApiObjectData)\r\n setSkillsList(skillsResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteCertificateLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n setCertificationList(certificationResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Marital Status'\"\r\n }\r\n );\r\n setStatusList({ value1: statusResponse.data.ApiObjectData[0].ID, value2: statusResponse.data.ApiObjectData[1].ID });\r\n } catch (error) {\r\n 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 [emailApplicants, setEmailApplicants] = useState([]);\r\n const [reject, setReject] = useState(true);\r\n const history = useHistory();\r\n const formatDate = { year: 'numeric', month: '2-digit', day: '2-digit', weekday: \"long\", hour: '2-digit', hour12: true, minute: '2-digit' };\r\n const schema_Reject = Joi.object({\r\n note: Joi.string().required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n });\r\n const schema_1 = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n cardNumber: Joi.string().min(10).required().messages(GetMessages()),\r\n cardExpiryDate: Joi.string().required().messages(GetMessages()),\r\n placeResidence: Joi.string().required().messages(GetMessages()),\r\n numberWives: Joi.string().required().messages(GetMessages()),\r\n numberChildren: Joi.string().required().messages(GetMessages()),\r\n chooseDateOfBirth: Joi.string().required().messages(GetMessages()),\r\n selectedStatus: Joi.string().required().messages(GetMessages()),\r\n selectedGender: Joi.string().required().messages(GetMessages()),\r\n selectedjob: Joi.string().required().messages(GetMessages()),\r\n dateReadyToJob: Joi.string().required().messages(GetMessages()),\r\n workedOurCompany: Joi.string().required().messages(GetMessages()),\r\n salaryToFrenchBank: Joi.string().required().messages(GetMessages()),\r\n socialSecurity: Joi.string().required().messages(GetMessages()),\r\n medicalInsurance: Joi.string().required().messages(GetMessages()),\r\n applyVia: Joi.string().required().messages(GetMessages()),\r\n selectedNationality: Joi.string().required().messages(GetMessages()),\r\n City: Joi.string().required().messages(GetMessages()),\r\n\r\n });\r\n const schema_2 = Joi.object({\r\n\r\n durationStudy: Joi.string().required().messages(GetMessages()),\r\n specialty: Joi.string().required().messages(GetMessages()),\r\n yearOuter: Joi.string().required().messages(GetMessages()),\r\n scientificCertificate: Joi.string().required().messages(GetMessages()),\r\n });\r\n const schema_3 = Joi.object({\r\n\r\n });\r\n const schema_4 = Joi.object({\r\n chooseGraduation: Joi.string().required().messages(GetMessages()),\r\n selectedLanguageLevel: Joi.string().required().messages(GetMessages()),\r\n selectedComputerLevel: Joi.string().required().messages(GetMessages()),\r\n selectedDegree: Joi.string().required().messages(GetMessages()),\r\n DealingWithOthers: Joi.string().required().messages(GetMessages()),\r\n\r\n });\r\n const [error, setError] = useState({});\r\n const [nationalitiesList, setNationalities] = useState([{}]);\r\n const [SYS_Cities, setSYS_Cities] = useState([]);\r\n const [filteredCities, setFilteredCities] = useState([]);\r\n const [gender, setGender] = useState({});\r\n const [employment, setEmployment] = useState(null);\r\n const lang = (i18n.language || '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 axios.post(config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_applyments\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"GUID,maritalStatus,lastName,firstName,email,nationality,brithDate,gender,englishLevel,computerLevel,maritalStatus,graduationYear,degree\",\r\n \"Filters\": `Where phoneNumber = '${mobile}' `\r\n }\r\n ).then(response => {\r\n const result = response?.data?.ApiObjectData;\r\n if (result && result.length > 0) {\r\n\r\n var appData = result[0];\r\n val.selectedStatus = appData.maritalStatus;\r\n val.name = appData.firstName + \" \" + appData.lastName;\r\n val.email = appData.email;\r\n val.nationality = appData.nationality;\r\n val.brithDate = appData.brithDate;\r\n val.selectedGender = appData.gender;\r\n val.selectedjob = interviewData?.PositionID ? interviewData?.PositionID.toString() : appData?.positionId?.toString();\r\n val.selectedLanguageLevel = appData.englishLevel;\r\n val.selectedComputerLevel = appData.computerLevel;\r\n val.selectedDegree = appData.degree;\r\n val.chooseGraduation = appData.graduationYear?.toString();\r\n\r\n val.medicalInsurance = appData.maritalStatus == 1029 ? \"0\" : undefined;;\r\n val.numberChildren = appData.maritalStatus == 1029 ? \"0\" : \"\";\r\n val.numberWives = appData.maritalStatus == 1029 ? \"0\" : \"\";\r\n\r\n setRequestForm(val);\r\n setApplymentsData(appData);\r\n }\r\n\r\n }).catch(error => {\r\n\r\n });\r\n\r\n\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n };\r\n\r\n const isDataSentBefore = async (email, phone) => {\r\n let isExisted = true;\r\n try {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"siteEmployment_application\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"Filters\": `Where interviewID = ${interviewData?.interviewID} and phoneNumber = '${phone}' `\r\n }\r\n );\r\n if (response.status == 200) {\r\n isExisted = response.data.ApiObjectData.length > 0;\r\n }\r\n } catch (err) {\r\n console.log(\"isDataSentBefore catch\", err);\r\n }\r\n return isExisted;\r\n };\r\n const [jobs, setJobs] = useState([]);\r\n\r\n\r\n const callback = useCallback(async () => {\r\n\r\n\r\n try {\r\n var page = 1;\r\n try {\r\n if (\"caches\" in window) {\r\n var curl = \"employment-\" + page;\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"HJWeb\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n\r\n if (datacash) {\r\n setJobs(datacash.employments);\r\n }\r\n\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: lang + \"/api/employment/employment/\" + page,\r\n method: \"get\",\r\n });\r\n\r\n setJobs(response.data.employments);\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"employment-\" + page, dataResponse);\r\n\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n\r\n try {\r\n\r\n const SYS_CitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_Cities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,CountryID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n if (SYS_CitiesResponse?.data?.ApiObjectData[0]) {\r\n const Cities = SYS_CitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`], ...e }));\r\n setSYS_Cities(Cities);\r\n setFilteredCities(Cities?.filter(item => {\r\n return item.CountryID == \"SAU\"\r\n }));\r\n }\r\n //********************\r\n const nationalitiesResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"Sys_Nationalities\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n if (nationalitiesResponse?.data?.ApiObjectData[0])\r\n setNationalities(nationalitiesResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //************************************************************************************************************************\r\n const genderResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Gender' \"\r\n }\r\n );\r\n //*************************************************************************************************************************\r\n if (genderResponse?.data?.ApiObjectData[0])\r\n setGender({ value1: genderResponse.data.ApiObjectData[0].ID, value2: genderResponse.data.ApiObjectData[1].ID });\r\n\r\n const skillsResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteSkillsLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n\r\n //***************************************************************************************************************************\r\n if (skillsResponse?.data?.ApiObjectData)\r\n setSkillsList(skillsResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const certificationResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SiteCertificateLevel\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\"\r\n }\r\n );\r\n setCertificationList(certificationResponse.data.ApiObjectData.map(e => ({ value: String(e['ID']), text: e[`${trans(\"model:description\")}`] })));\r\n //*************************************************************************************************************************\r\n const statusResponse = await axios.post(\r\n config.baseURL + 'details',\r\n {\r\n \"object\": \"SYS_LookUpDetails\",\r\n \"objectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"ID,DescriptionAr,DescriptionEn\",\r\n \"Filters\": \"where lookupID = 'Marital Status'\"\r\n }\r\n );\r\n setStatusList({\r\n value1: statusResponse.data.ApiObjectData[0].ID\r\n , value2: statusResponse.data.ApiObjectData[1].ID, value3: statusResponse.data.ApiObjectData[2].ID\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [lang]);\r\n\r\n const [inputFields_2, setInputFields_2] = useState([\r\n { firstName: '', lastName: '' }\r\n ]);\r\n // Handle input changes\r\n const handleInputChange_2 = (index, e) => {\r\n const { name, value } = e.target;\r\n const newInputFields = [...inputFields_2];\r\n newInputFields[index][name] = value;\r\n setInputFields_2(newInputFields);\r\n };\r\n const handleDropDownChange_2 = (index, e) => {\r\n const { name, value } = e;\r\n const newInputFields = [...inputFields_2];\r\n newInputFields[index][name] = value;\r\n\r\n\r\n setInputFields_2(newInputFields);\r\n };\r\n // Add a new set of input fields\r\n const handleAddMore_2 = () => {\r\n\r\n var lastGroupindex = inputFields_2.length - 1;\r\n\r\n if (lastGroupindex >= 0 && !inputFields_2[lastGroupindex][\"specialty\"]\r\n || !inputFields_2[lastGroupindex][\"yearOuter\"]\r\n || !inputFields_2[lastGroupindex][\"scientificCertificate\"]) {\r\n\r\n return;\r\n }\r\n\r\n setInputFields_2([...inputFields_2, { firstName: '', lastName: '' }]);\r\n };\r\n // Initial state for input fields\r\n const [inputFields, setInputFields] = useState([\r\n { firstName: '', lastName: '' }\r\n ]);\r\n\r\n // Handle input changes\r\n const handleInputChange = (index, e) => {\r\n const { name, value } = e.target;\r\n const newInputFields = [...inputFields];\r\n newInputFields[index][name] = value;\r\n setInputFields(newInputFields);\r\n };\r\n\r\n // Add a new set of input fields\r\n const handleAddMore = () => {\r\n\r\n var lastGroupindex = inputFields.length - 1;\r\n\r\n if (lastGroupindex >= 0 && !inputFields[lastGroupindex][\"reasonLeaving\"]) {\r\n\r\n return;\r\n }\r\n\r\n setInputFields([...inputFields, { firstName: '', lastName: '' }]);\r\n };\r\n\r\n const checkStepsErrors = async () => {\r\n\r\n setOTP(\"\");\r\n var result = formValidate(schema_1, requestForm) ?? {};\r\n\r\n if (stepNum == 1)\r\n setError(result);\r\n\r\n\r\n var srempNumber = 0\r\n\r\n if (requestForm.phoneNumber != null && !phoneNumberApplicants.includes(requestForm.phoneNumber)) {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n setError({ ...result, phoneNumber: trans(\"employment:The_mobile_number_not_on_list\") });\r\n return srempNumber;\r\n }\r\n\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 1;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n result = formValidate(schema_2, requestForm) ?? {};\r\n if (stepNum == 2)\r\n setError(result);\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 2;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n result = formValidate(schema_3, requestForm) ?? {};\r\n if (stepNum == 3)\r\n setError(result);\r\n\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 3;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n\r\n result = formValidate(schema_4, requestForm) ?? {};\r\n\r\n if (stepNum == 4)\r\n setError(result);\r\n console.log(\"result\", result);\r\n if (Object.keys(result).length === 0) {\r\n srempNumber = 4;\r\n } else {\r\n setDataFullNum(srempNumber);\r\n setStepNum(srempNumber + 1);\r\n return srempNumber;\r\n }\r\n\r\n setDataFullNum(srempNumber);\r\n return srempNumber;\r\n }\r\n const cheangeSteps = async (step) => {\r\n\r\n if (step > 0 && step <= 4 && step != stepNum) {\r\n\r\n const statusStep = await checkStepsErrors();\r\n if (statusStep >= step) {\r\n setStepNum(step);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n const setDefultEmailandName = async (mobile) => {\r\n if (!requestForm?.email || !requestForm?.name) {\r\n\r\n const def = interviewApplicantsData.filter(a => a.phoneNumber == mobile);\r\n\r\n console.log(\"interviewApplicantsData:\", def);\r\n if (def && def.length > 0) {\r\n\r\n if (def[0].isRejection == true) {\r\n setIsLoadingBtnSend(false);\r\n setShowFinalPopup(true);\r\n setShowFinalPopupMessage(trans(\"employment:The_appointment_was_previously_rejected\"));\r\n return;\r\n }\r\n const val = { ...requestForm };\r\n val.phoneNumber = mobile;\r\n val.phoneNumberOnly = val.phoneNumber.slice(-9);\r\n val.phoneNumberCode = val.phoneNumber.startsWith('+') ? val.phoneNumber.slice(1, -9) : val.phoneNumber.slice(0, -9);\r\n if (!requestForm?.name)\r\n val.name = def[0]?.name;\r\n if (!requestForm?.email)\r\n val.email = def[0]?.email;\r\n\r\n if (interviewData?.PositionID || 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 e.target.style.display = 'none'}/>\r\n
    \r\n
    \r\n );\r\n } else if (urlImageColor) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n e.target.style.display = 'none'}/>\r\n
    \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n {color}\r\n
    \r\n e.target.style.display = 'none'} />\r\n
    \r\n
    \r\n );\r\n}\r\n","import axios from \"axios\";\r\nimport { useState, useEffect, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link,useHistory } from \"react-router-dom\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport config from '../../../configuration/config.json';\r\nimport { union } from \"lodash\";\r\nimport ConfirmContext from \"../../../utils/confirmContext\";\r\nexport function CarModel({ group, type, image, name, spec, price, backupImage,\r\n offerIndex, extraSpecsTo = \"#\", productID, colorID, productTarget, brand, hybird, newCar,\r\n modelYear, showPric, brandID, buyOnline }) {\r\n const { t: trans,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={\"\"} src={image !== \"null\" ? config.mainURL + image : backupImage} alt={\"\"} />\r\n\r\n {/*
    \r\n {trans(\"offers:offer\") + ' ' + offerIndex}\r\n
    */}\r\n
    \r\n {(buyOnline == true) && {trans(\"info:Available_for_purchase_online\")}}\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n
    \r\n

    {name}

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

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

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

    {title}

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

    {title}

    \r\n

    \r\n {desc}\r\n

    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\n","import { Fragment, useEffect, useState, useContext, useCallback, useRef } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { FilterButton } from \"../../../components/__simple/_filterButton\";\r\nimport { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport { CarColorPicker } from \"../components/colorPicker\";\r\nimport { CarModel } from \"../components/carModel\";\r\nimport { PageLink } from \"../../../components/__simple/_pageLink\";\r\nimport Offer from \"../../../components/offer\";\r\nimport { CarFeature } from \"../components/carFeature\";\r\nimport Info from \"../../../components/_info\";\r\nimport axios from \"axios\";\r\nimport { useParams, useRouteMatch } from \"react-router\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport config from '../../../configuration/config.json';\r\nimport _ from \"lodash\";\r\nimport { toast } from 'react-toastify';\r\nimport ImageGallery from \"react-image-gallery\";\r\nimport OverViewContext from \"../overviewContext\";\r\nimport { slugCombine, slugSplitter } from '../../../utils/slugManager';\r\nimport { groupBy, mapValues, omit } from \"lodash\";\r\nimport PageHeading from \"../../../components/__simple/_pageheading\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function VehicleOverViewPage({ setSectionActive, mainurl, setIsLoding, currntvehicle }) {\r\n const { t: trans,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 \r\n \r\n )\r\n })\r\n\r\n\r\n }\r\n \r\n
    \r\n\r\n }\r\n {\r\n activePart == 0 &&\r\n <>\r\n {\r\n\r\n

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

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

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

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

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

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

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

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

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

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

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

    \r\n {\r\n if (value != activeModel.type) {\r\n setSelectedColor(null);\r\n resetValues();\r\n resetColorsValues();\r\n var mo = models.filter(a => a.type == value)[0]\r\n\r\n afterChangeDataType(mo);\r\n setActiveModel(mo)\r\n }\r\n ;\r\n }}\r\n />\r\n
    \r\n }\r\n
    \r\n {/* */}\r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n {\r\n models?.map((model, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n\r\n \r\n
    \r\n {\r\n vehicleOffers?.length > 0 &&
    \r\n \r\n \r\n {\r\n\r\n vehicleOffers?.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n\r\n
    \r\n }\r\n\r\n\r\n\r\n {\r\n\r\n features?.length > 0 &&
    \r\n \r\n\r\n
    \r\n {\r\n features?.map((feature, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n }\r\n {\r\n gallery?.length > 0 &&
    \r\n \r\n\r\n
    \r\n {\r\n gallery?.map((img, index) => {\r\n return {\r\n\r\n setActiveImage(index);\r\n\r\n try {\r\n if (popRef) {\r\n\r\n\r\n popRef.current.toggleFullScreen();\r\n popRef.current.slideToIndex(index)\r\n }\r\n\r\n } catch (error) {\r\n\r\n }\r\n }}\r\n\r\n >\r\n e.target.style.display = 'none'}\r\n className={\"object-full object-cover\"}\r\n alt={\"car gellary\"}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n })\r\n }\r\n\r\n
    \r\n \r\n }\r\n {/*
    \r\n \r\n
    */}\r\n\r\n\r\n
    \r\n {\r\n\r\n setIsFullScreen(e);\r\n }} />\r\n
    \r\n\r\n
    \r\n );\r\n}","import { useEffect, useState, 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}\r\n
    • \r\n })\r\n }\r\n
    \r\n\r\n
    \r\n : null\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n\r\n\r\n\r\n {\r\n // SupportedMainServices != null && SupportedMainServices.length > 0 ?\r\n // SupportedMainServices.map((ccItem, ccIndex) => {\r\n // return (\r\n\r\n // ccItem?.subService2GUID &&\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //

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

    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n //
    \r\n // {\r\n\r\n // setId(serviceId);\r\n\r\n\r\n // }}\r\n\r\n // activeID={id}\r\n // />
    \r\n\r\n //
    \r\n\r\n // )\r\n // })\r\n // : null\r\n }\r\n\r\n\r\n {/* {trans(\"extra:order\")} */}\r\n
    \r\n \r\n );\r\n}\r\n","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport { useParams } from \"react-router\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { DropDownInput1 } from \"../../components/_input/_dropdown1\";\r\nimport { OfferDetail } from \"../../components/offerDetail\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport Popup from \"../../User/popup\";\r\nimport CarUser from \"../../User/components/CarUser\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { toast } from \"react-toastify\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { useUserCart } from '../../User/hooks/useUserCart';\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { now } from \"moment\";\r\nimport Moment from \"react-moment\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport Joi from \"joi\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function OfferDetailPage() {\r\n\r\n const { t: trans, i18n } = useTranslation([\"common\", \"offers\", \"extra\"]);\r\n let { slug } = useParams();\r\n const { changecartItem } = useUserCart();\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const [isLogin, setLogin] = useState(false);\r\n const [Branches, setBranches] = useState([]);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showPopupPay, setShowPopupPay] = useState(null);\r\n const [banner, setBanner] = useState({});\r\n const [Note, setNote] = useState(\"\");\r\n const [packages, setPackages] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [error, setError] = useState({});\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n // email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = (i18n.language || '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 // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n\r\n\r\n\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n\r\n setShowPopup(false);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n //console.log('Error', response);\r\n setIsSendeng(false);\r\n })\r\n .catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n return (\r\n \r\n {/* \r\n {\r\n\r\n setActicePackage(value);\r\n setActiceCar(null);\r\n\r\n }}\r\n handelButton={(type) => {\r\n\r\n handelshowPup(type);\r\n }}\r\n /> */}\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

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

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

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

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

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

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

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

    \r\n

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

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

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

    \r\n \r\n

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

    \r\n

    |

    \r\n

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

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

    {data?.title}

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

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

    \r\n

    {data?.desc}

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

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

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

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

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

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

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

    {trans(\"info:pay-4-interest-free-payments\")}\r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : null} \r\n\r\n

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

    {trans(\"info:pay-4-interest-free-payments\")}\r\n \r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : null}\r\n \r\n\r\n

    \r\n {/* */}\r\n\r\n \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n }\r\n\r\n {\r\n (offer?.content) &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n

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

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

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

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

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

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

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

    \r\n

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

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

    {data?.title}

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

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

    \r\n

    {data?.desc}

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

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

    \r\n
    \r\n

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

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

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

    \r\n
    \r\n

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

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

    \r\n \r\n\r\n {SupportedLastsServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n // setActiceService(_val);\r\n\r\n }}>\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n }\r\n \r\n : null\r\n } */}\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n // const isLogin = getData('isAuthenticated')\r\n // if(!isLogin){\r\n // setVehicales([]);\r\n // toast.error(\"يرجى تسجيل الدخول اولا لجلب المركبات الخاصة بك\");\r\n // return;\r\n // }\r\n\r\n var cleanData = {};\r\n try {\r\n cleanData = JSON.parse(getData(User_Data_Key, true));\r\n } catch (e) {\r\n\r\n\r\n }\r\n\r\n // if (acticePackage?.price && acticeCar?.type)\r\n SendResreve(acticeCar?.type, acticeService?.mainService, acticeService?.subService1, acticeService?.subService2, acticeService?.ServiceID, null, cleanData?.custID, acticePackage?.price);\r\n\r\n\r\n\r\n }}>\r\n {trans(\"info:reserve\")}\r\n
    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n
    {\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime, requestForm?.year);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n toast.warning(trans(\"info:select_car\"));\r\n\r\n }\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")} \"hassan\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowPopupPay(null)\r\n }}>×\r\n
    \r\n\r\n {\r\n showPopupPay == \"tabby\" ?\r\n //
    \r\n \r\n //
    \r\n :\r\n\r\n //
    \r\n \r\n //
    \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n );\r\n}","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport SwiperCore, { Pagination, Navigation, Autoplay, EffectFade } from \"swiper\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\nimport { useParams, useHistory } from \"react-router\";\r\nimport ErrorLabel from '../../components/error';\r\nimport { DropDownInput1 } from \"../../components/_input/_dropdown1\";\r\nimport { OfferDetail } from \"../../components/offerDetail\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getCleanSlug } from '../../utils/slugManager';\r\nimport config from \"../../configuration/config.json\";\r\nimport { DateInput3 } from \"../../components/_input/_dateInput_3\";\r\nimport Popup from \"../../User/popup\";\r\nimport CarUser from \"../../User/components/CarUser\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { toast } from \"react-toastify\";\r\nimport PhoneDropDown from \"../../components/_input/_phoneDropDown\";\r\nimport { DateInput2 as DateInput } from \"../../components/_input/_dateInput_2\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { useUserCart } from '../../User/hooks/useUserCart';\r\nimport { GetMessages, formValidate } from '../../utils/validation';\r\nimport { Price } from \"../../components/__simple/_price\";\r\nimport { now } from \"moment\";\r\nimport Moment from \"react-moment\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport Joi from \"joi\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function OfferVehiclesPage() {\r\n\r\n const { t: trans, i18n } = useTranslation([\"common\", \"offers\", \"extra\"]);\r\n let { slug } = useParams();\r\n const { changecartItem } = useUserCart();\r\n const history = useHistory();\r\n const languageDir = 'language-' + localStorage.getItem('i18nextLng');\r\n const [isLogin, setLogin] = useState(false);\r\n const [Branches, setBranches] = useState([]);\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showPopupPay, setShowPopupPay] = useState(null);\r\n const [banner, setBanner] = useState({});\r\n const [Note, setNote] = useState(\"\");\r\n const [packages, setPackages] = useState([]);\r\n const [years, setYears] = useState([]);\r\n const [isSendeng, setIsSendeng] = useState(false);\r\n const [error, setError] = useState({});\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [requestForm, setRequestForm] = useState({\r\n lastName: '',\r\n firstName: '',\r\n phone: '',\r\n email: '',\r\n subject: '',\r\n date: '',\r\n time: '',\r\n messageContent: '',\r\n myCarID: '',\r\n SiteID: null,\r\n });\r\n const LoginSchema = Joi.object({\r\n date: Joi.string().required().messages(GetMessages()),\r\n time: Joi.string().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const notLoginSchema = Joi.object({\r\n date: Joi.date().required().messages(GetMessages()),\r\n time: Joi.date().required().messages(GetMessages()),\r\n // VIN: Joi.string().required().messages(GetMessages()),\r\n SiteID: Joi.string().required().messages(GetMessages()),\r\n meterReading: Joi.string().required().messages(GetMessages()),\r\n firstName: Joi.string().required().messages(GetMessages()),\r\n lastName: Joi.string().required().messages(GetMessages()),\r\n // email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).messages(GetMessages()),\r\n phone: Joi.string().required().messages(GetMessages()),\r\n year: Joi.string().required().messages(GetMessages()),\r\n model: Joi.string().required().messages(GetMessages())\r\n });\r\n const [offer, setOffer] = useState(null);\r\n const [offerSupportedCars, setOfferSupportedCars] = useState([]);\r\n const [packageSupportedCars, setPackageSupportedCars] = useState([]);\r\n const [acticeService, setActiceService] = useState(null);\r\n const [acticeCar, setActiceCar] = useState(null);\r\n const [acticePackage, setActicePackage] = useState(null);\r\n let lang = (i18n.language || '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 // \"PaymentMethodID\": paymentType == 1 ? \"Credit Card\" : (paymentType == 2 ? \"Sadad\" : (paymentType == 3 ? \"Installment\" : \"CashByBranch\")),\r\n\r\n\r\n\r\n };\r\n\r\n\r\n axios.request({\r\n url: config.controllURL + \"api/Service/ServiceRequestAdd\", headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n //console.log(\"Service\", response.data)\r\n\r\n setShowPopup(false);\r\n toast.success(trans(\"info:reservation_completed_successfully\"));\r\n\r\n }\r\n ).then((response) => {\r\n //console.log('Error', response);\r\n setIsSendeng(false);\r\n })\r\n .catch(error => {\r\n //console.log('error', error);\r\n setIsSendeng(false);\r\n }\r\n\r\n\r\n\r\n );\r\n\r\n } else {\r\n console.log(\"result>>>>>>>>>>>>>>>>>:\", result);\r\n\r\n }\r\n }\r\n\r\n async function GetBranch() {\r\n\r\n const Body = {\r\n \"name\": \"site_FetchMaintenanceBranches\"\r\n };\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n\r\n setBranches(response.data);\r\n\r\n\r\n setTimeout(() => {\r\n if (response?.data?.length == 1) {\r\n\r\n const val = { ...requestForm };\r\n val.SiteID = response?.data[0]?.SiteID;\r\n setRequestForm(val);\r\n }\r\n }, 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [listTimeAvailable, setListTimeAvailable] = useState([]);\r\n // const [maxTime, setMaxTime] = useState(0);\r\n // const [minTime, setMinTime] = useState(0);\r\n\r\n const webAvailableReshours = async (date = '') => {\r\n const Body = {\r\n \"name\": \"web_AvailableReshours\",\r\n \"values\": {\r\n \"Resdate\": date\r\n }\r\n }\r\n\r\n await axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n console.log(\"web_AvailableReshours:response\", response);\r\n if (response.status >= 200 && response.status < 299) {\r\n console.log(\"web_AvailableReshours:response\", response.statusText);\r\n if (response?.data && response?.data.length != 0) {\r\n response?.data.forEach((val, index) => {\r\n\r\n setListTimeAvailable(_lstTime => [..._lstTime, parseInt(val?.AvailableHour)]);\r\n });\r\n\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log(\"web_AvailableReshours:Error\", error);\r\n toast.warn(trans(\"form:please-choose-another-date\"));\r\n });\r\n }\r\n return (\r\n \r\n {\r\n banner &&\r\n\r\n \r\n\r\n \r\n {\r\n banner?.title &&\r\n {banner?.title}\r\n }\r\n {\r\n \r\n\r\n }\r\n {\r\n banner?.excerpt &&\r\n \r\n }\r\n {\r\n banner?.type &&\r\n \r\n }\r\n\r\n{\r\n banner?.image &&\r\n \r\n }\r\n\r\n \r\n\r\n\r\n }\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n e.target.style.display = 'none'} />\r\n\r\n
    \r\n\r\n {\r\n SupportedVehicles != null && SupportedVehicles.length > 0 ?\r\n\r\n
    \r\n\r\n
    \r\n\r\n

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

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

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

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

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

    \r\n

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

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

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

    \r\n \r\n

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

    \r\n

    |

    \r\n

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

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

    {data?.title}

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

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

    \r\n

    {data?.desc}

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

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

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

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

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

    {trans(\"info:pay-4-interest-free-payments\")}\r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : null} \r\n\r\n

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

    {trans(\"info:pay-4-interest-free-payments\")}\r\n \r\n {(acticePackage?.price / 4) ? <>{(lang == \"ar\" ? \" بقيمة \" : \" of \")} : null}\r\n \r\n\r\n

    \r\n {/* */}\r\n\r\n \r\n {/* */}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n }\r\n\r\n {\r\n (offer?.content) &&\r\n
    \r\n
    \r\n
    setIndexPanel(indexPanel == \"1000\" ? \"000\" : \"1000\")}\r\n\r\n >\r\n

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

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

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

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

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

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

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

    \r\n

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

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

    {data?.title}

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

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

    \r\n

    {data?.desc}

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

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

    \r\n
    \r\n

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

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

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

    \r\n
    \r\n

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

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

    \r\n \r\n\r\n {SupportedLastsServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    {\r\n // setActiceService(_val);\r\n\r\n }}>\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n }\r\n \r\n : null\r\n } */}\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n // const isLogin = getData('isAuthenticated')\r\n // if(!isLogin){\r\n // setVehicales([]);\r\n // toast.error(\"يرجى تسجيل الدخول اولا لجلب المركبات الخاصة بك\");\r\n // return;\r\n // }\r\n\r\n var cleanData = {};\r\n try {\r\n cleanData = JSON.parse(getData(User_Data_Key, true));\r\n } catch (e) {\r\n\r\n\r\n }\r\n\r\n // if (acticePackage?.price && acticeCar?.type)\r\n SendResreve(acticeCar?.type, acticeService?.mainService, acticeService?.subService1, acticeService?.subService2, acticeService?.ServiceID, null, cleanData?.custID, acticePackage?.price);\r\n\r\n\r\n\r\n }}>\r\n {trans(\"info:reserve\")}\r\n
    \r\n
    \r\n\r\n {\r\n offer?.reservationOnly == true ?\r\n \"\"\r\n :\r\n
    \r\n
    {\r\n\r\n if (acticePackage?.price && acticeCar?.type) {\r\n\r\n var objectCart =\r\n {\r\n id: acticeService?.ServiceID + '-' + acticeCar.type + '-' + acticeCar?.packageId,\r\n productID: acticeService?.ServiceID,\r\n name: acticeCar?.excerptAr,\r\n nameEn: acticeCar?.excerptEn,\r\n brand: acticeCar?.brand\r\n , brandEn: acticeCar?.brandEn\r\n , Tax: acticeCar?.Tax\r\n , image: banner?.image\r\n , Discount: acticeCar?.Discount\r\n , group: acticeCar?.group\r\n , groupEn: acticeCar?.groupEn\r\n , BrandID: acticeCar?.brandID\r\n , modelTypes: acticeCar?.DescriptionAr\r\n , modelTypesEn: acticeCar?.DescriptionEn\r\n , colorName: acticeCar['Color Araboc']\r\n , colorNameEn: acticeCar['Color English']\r\n , year: requestForm?.year\r\n , modelTypeID: acticeCar.type\r\n , MiniDownPayment: 0\r\n , price: acticePackage?.price\r\n , packageId: acticeCar?.packageId\r\n , Orderdate: fullDatetime\r\n , Type: \"Bouquet\",\r\n\r\n }\r\n\r\n changecartItem(objectCart?.productID, acticeCar?.ColorID, acticeCar.type, 1, null, acticeCar?.packageId, objectCart, fullDatetime, requestForm?.year);\r\n // addToCart(\r\n // {\r\n // id: VIN+'-'+SerciveID,\r\n // ProductID:SerciveID,\r\n // name:VIN,\r\n // price: infoPrice[0].Price,\r\n // Type:\"service\",\r\n\r\n // }\r\n // )\r\n setShowPopup(false);\r\n\r\n } else {\r\n toast.warning(trans(\"info:select_car\"));\r\n\r\n }\r\n }\r\n }>\r\n {trans(\"info:add_to_cart\")} \"hassan\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowPopupPay(null)\r\n }}>×\r\n
    \r\n\r\n {\r\n showPopupPay == \"tabby\" ?\r\n //
    \r\n \r\n //
    \r\n :\r\n\r\n //
    \r\n \r\n //
    \r\n\r\n\r\n }\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n );\r\n}","import { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CountDown } from \"./countDown\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\n// import {addToCart} from \"../../../_functions/cart\";\r\nimport { useUserCart } from '../../../User/hooks/useUserCart';\r\nimport { useEffect } from \"react\";\r\nimport config from \"../../../configuration/config.json\";\r\nexport function Campaign({ TotalAmountDiscount, TotalTime, startDate = new Date(), endDate = new Date(), CampaignType, Photo, Title, Description, DateFrom, DateTo, Type, DiscountAmount, BrandID, DiscountID, GUID, toyota = true, to = '/eparts/campaignorder', onChooseCompaign }) {\r\n const { t: trans, i18n } = useTranslation([\"eparts\", \"form\", \"info\"]);\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const dir = (i18n.language || '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 {\r\n EmailShareButton,\r\n EmailIcon,\r\n FacebookShareButton,\r\n FacebookIcon,\r\n TelegramShareButton,\r\n TelegramIcon,\r\n TwitterShareButton,\r\n TwitterIcon,\r\n WhatsappShareButton,\r\n WhatsappIcon\r\n} from \"react-share\";\r\nimport { shareMaker } from \"../../utils/shareDataMaker\";\r\nimport { numberFormat } from \"../../utils/currencyFormatter\";\r\nimport CustomTabbyTamara from \"../../components/customTabbyTamara\";\r\nimport SimpleButton from \"../../components/_input/SimpleButton\";\r\nimport { ServiceBox } from \"../../components/serviceBox\";\r\nimport { getData, User_Data_Key } from \"../../utils/localStorageManager\";\r\n\r\nSwiperCore.use([Pagination, Navigation, Autoplay, EffectFade]);\r\n\r\nexport function EpartsDetailPage(props) {\r\n const { changeFavoriteItemState, isFavoriteItem } = useUserFavorite();\r\n\r\n const { removecartItems, changecartItem } = useUserCart();\r\n const [lang, setlang] = useState(localStorage.getItem('i18nextLng'));\r\n const languageDir = 'language-' + lang;\r\n const rateRef = useRef(null);\r\n const carRef = useRef(null);\r\n const [car, setCar] = useState(\"active\");\r\n const [rate, setRate] = useState(\"hidden\");\r\n const [Ava, SetAva] = useState([]);\r\n const [Dilev, SetDilev] = useState([]);\r\n const [counter, setCounter] = useState(1);\r\n const [sharerInfo, setSharerInfo] = useState({\r\n url: '',\r\n hashTage: '',\r\n title: ''\r\n });\r\n\r\n let { ProductId } = useParams();\r\n const { t: trans } = useTranslation([\"eparts\", \"inputs\", \"info\", \"model\", \"new\"]);\r\n const GetUrl = config.baseURL + 'details';\r\n const [PWD, setPWD] = useState([]);\r\n const [PWR, setPWR] = useState([]);\r\n const [AttachImg, setiAttch] = useState([]);\r\n //-------------------------------------------------------------------------\r\n const [favorite, setFavorite] = useState(false);\r\n\r\n const [indexPanel, setIndexPanel] = useState(\"1000\");\r\n const [terms, setTerms] = useState(\"\");\r\n const [checkCompatibility, setCheckCompatibility] = useState({});\r\n\r\n function getpric(NetSalePrice, SalesPriceBefor) {\r\n if (SalesPriceBefor) {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n {SalesPriceBefor}{trans(\"common:rial\")}\r\n
    );\r\n } else {\r\n return (\r\n
    \r\n {trans(\"info:product_price\")}\r\n \r\n
    );\r\n }\r\n }\r\n\r\n const getPrice = (NetSalePrice, SalesPriceDiscount) => {\r\n if (SalesPriceDiscount) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {SalesPriceDiscount}{trans(\"common:rial\")}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {trans(\"eparts:price-includes-VAT\")}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {trans(\"eparts:price-includes-VAT\")}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n const getCatNameUrl = ({ guid }) => {\r\n // func_GetCatNameByGuidEPart\r\n try {\r\n const body = {\r\n \"name\": \"func_GetCatNameByGuidEPart\",\r\n \"values\": {\r\n \"guid\": guid\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n if (response.data && response.data.length > 0) {\r\n console.info(\"func_GetCatNameByGuidEPart:data\", response.data[0]);\r\n setCatNameUrl(response?.data[0]);\r\n }\r\n })\r\n .catch(function (error) {\r\n // console.warn(\"func_GetNameCatsByIdEPart:catch\", error);\r\n throw error;\r\n });\r\n } catch (ex) {\r\n console.warn(\"func_GetCatNameByGuidEPart:catch\", ex);\r\n debugger\r\n }\r\n };\r\n\r\n\r\n function RequsetProductsWithDetails() {\r\n const Body = {\r\n \"name\": \"site_FeatchPartsDetails\",\r\n \"values\": {\r\n \"GUID\": ProductId\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(() => (setPWD(response.data)), 100);\r\n\r\n if (response.data[0].ProductImage) {\r\n SetImgMain(response.data[0].ProductImage\r\n // ? \"data:image/png;base64,\" + response.data[0].ProductImage\r\n ? config.mainURL + response.data[0].ProductImage\r\n : lang.toLowerCase() === 'ar'\r\n ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\"\r\n : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\"\r\n );\r\n }\r\n\r\n const epartsInfo = response.data[0];\r\n const _sharerInfo = { ...sharerInfo };\r\n\r\n if (epartsInfo) {\r\n const { DescriptionAr, DescriptionEn, CategiorAr, CategiorEn, NetSalePrice, ProductID } = epartsInfo;\r\n const {\r\n url,\r\n title,\r\n hashTag\r\n } = shareMaker(`/eparts/details/${ProductId}`, `${(DescriptionAr ?? '') + '-' + numberFormat(NetSalePrice ?? 0)}`, '');\r\n _sharerInfo.title = title;\r\n _sharerInfo.url = url;\r\n _sharerInfo.hashTage = hashTag;\r\n setSharerInfo(_sharerInfo);\r\n setProductNo(ProductID);\r\n }\r\n getCatNameUrl({ guid: ProductId });\r\n // setTimeout(() => (RequsetProductsWithAlternatives(response.data[0].ProductID)), 100);\r\n setTimeout(() => (RequsetProductsWithAlternatives(ProductId)), 100);\r\n getTermsPart({ guid: ProductId });\r\n getCheckCompatiblityEPart({ guid: ProductId });\r\n setTimeout(() => (RequsetAttch(response.data[0].ProductID)), 100);\r\n setTimeout(() => (RequsetAva(response.data[0].ProductID)), 100);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetProductsWithAlternatives(ID) {\r\n // const Body = {\r\n // \"name\": \"Site_FeatchPartAlternative\",\r\n // \"values\": {\r\n // \"ProductID\": ID\r\n // }\r\n // }\r\n const Body = {\r\n \"name\": \"Site_FeatchPartSpecial\",\r\n \"values\": {\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n \"GUID\": ID\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setPWR(response.data), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const getTermsPart = ({ guid }) => {\r\n let body = {\r\n \"name\": \"func_getTermsPart\",\r\n \"values\": {\r\n \"GUID\": guid\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n if (response?.data && response?.data.length > 0) {\r\n\r\n console.log(\"func_getTermsPart: \", response.data);\r\n\r\n if (lang.toLowerCase() == \"ar\") {\r\n if (response?.data[0] && response?.data[0]?.termsAr)\r\n setTerms(response?.data[0]?.termsAr);\r\n } else {\r\n if (response?.data[0] && response?.data[0]?.termsEn)\r\n setTerms(response?.data[0]?.termsEn);\r\n }\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n const getCheckCompatiblityEPart = ({ guid }) => {\r\n let body = {\r\n \"name\": \"func_CheckCompatiblityEPart\",\r\n \"values\": {\r\n \"GUID\": guid\r\n // \"GUID\": \"0fff1d04-5bd4-4794-b2c0-8b5e3adaf2d7\"\r\n }\r\n };\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n if (response?.data && response.data.length > 0) {\r\n\r\n console.log(\"getCheckCompatiblityEPart: \", response.data);\r\n setCheckCompatibility(response?.data[0]);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(\"getCheckCompatiblityEPart: \", error);\r\n });\r\n };\r\n\r\n function RequsetAttch(ID) {\r\n const Body = {\r\n \"name\": \"Site_FeatchPartImage\",\r\n \"values\": {\r\n \"productID\": ID\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setiAttch(response.data), 1000);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n setiAttch([]);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetAva(ID) {\r\n const Body = {\r\n \"name\": \"site_FeatchPartLocations\",\r\n \"values\": {\r\n \"productID\": ProductId\r\n }\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n }).then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(SetAva(response.data), 100);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n function RequsetDilevaryTime() {\r\n const Body = {\r\n \"object\": \"Web_DeliveryTime\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n\r\n }\r\n\r\n axios.request({\r\n url: GetUrl,\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(SetDilev(response.data.ApiObjectData), 1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const [DilevryTime, SetDilevry] = useState(\"\");\r\n\r\n function DilevryTimeAccounting(option) {\r\n console.log(option);\r\n let dateNow = new Date();\r\n const Div = Dilev.find(f => f.DeliveryTimeId === option.value);\r\n if (option && option.value !== \"0\") {\r\n dateNow.setDate(Div.NumberDays);\r\n }\r\n\r\n if (lang === \"en\") {\r\n\r\n\r\n SetDilevry(\"day/s:\" + dateNow.getDate() + \":hour:\" + Div.NumbeHours);\r\n\r\n } else {\r\n SetDilevry(dateNow.getDate() + \"ايام/يوم:\" + \":\" + Div.NumbeHours + \"-ساعة\");\r\n }\r\n\r\n }\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n handleCalculateRatingStars();\r\n RequsetProductsWithDetails();\r\n RequsetDilevaryTime();\r\n }, [ProductId]);\r\n\r\n useEffect(() => {\r\n\r\n dispatch(\r\n changeIcons({ iconsBlack: true })\r\n )\r\n\r\n return () => {\r\n dispatch(\r\n changeIcons({ iconsBlack: false })\r\n )\r\n }\r\n }, []);\r\n\r\n const [favoriteProducts, setFavoriteProducts] = useState([]);\r\n // to fetch the user favorites\r\n const fetchUserFavorites = async () => {\r\n let _favorites = [];\r\n try {\r\n const isLogin = getData('isAuthenticated');\r\n if (isLogin) {\r\n const { id } = JSON.parse(getData(User_Data_Key, true));\r\n const userID = Number(id.toString().split('_')[1]);\r\n const response = await axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchUserFavorites\",\r\n \"values\": {\r\n \"userID\": userID\r\n }\r\n }\r\n );\r\n if (response.status == 200) {\r\n const favorites = response.data;\r\n _favorites = _favorites.concat(favorites);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return _favorites;\r\n };\r\n\r\n useEffect(() => {\r\n const results = fetchUserFavorites();\r\n setFavoriteProducts(results);\r\n }, []);\r\n\r\n\r\n function show(section) {\r\n setCar(\"hidden\");\r\n setRate(\"hidden\");\r\n switch (section) {\r\n case \"car\":\r\n setCar(\"active\");\r\n break;\r\n case \"rate\":\r\n setRate(\"active\");\r\n break;\r\n default:\r\n setCar(\"active\");\r\n }\r\n }\r\n\r\n function count(num) {\r\n if (num === -1 && counter > 1)\r\n setCounter(counter + num);\r\n else if (num === 1 && counter < 100)\r\n setCounter(counter + num);\r\n }\r\n\r\n const [imagePath, SetImgMain] = useState(lang.toLowerCase() == 'ar'\r\n ? \"/assets/images/eparts/PARTS_TOYOTA-AR-no-img.png\"\r\n : \"/assets/images/eparts/PARTS_TOYOTA-EN-no-img.png\"\r\n );\r\n //-------------------------------------------------------------------\r\n const [locationName, setLocationName] = useState('');\r\n const [locationDistance, setLocationDistance] = useState(null);\r\n const [showSharers, setShowSharers] = useState(false);\r\n const [productNo, setProductNo] = useState('');\r\n const [ratingValues, setRatingValues] = useState({\r\n stars: 0,\r\n comments: 0\r\n });\r\n\r\n const [catNameUrl, setCatNameUrl] = useState({});\r\n // to calculate the distance bewtten two coordinates points\r\n const handleGetDistance = (value) => {\r\n try {\r\n if (value == '' || value == '0') {\r\n setLocationName('');\r\n setLocationDistance(null);\r\n return;\r\n }\r\n const { Address, Longitude, Latitude } = Ava.find((item) => {\r\n return item.GUID == value\r\n });\r\n if (navigator.onLine) {\r\n if (Latitude != null && Longitude != null) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n\r\n const currentPosition = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n }\r\n const result = getDistance(Latitude, currentPosition.lat, Longitude, currentPosition.lng).toFixed(5);\r\n setLocationDistance(result);\r\n });\r\n } else {\r\n setLocationDistance(null);\r\n }\r\n } else {\r\n toast.warning(trans('info:no_internet_connect'))\r\n }\r\n setLocationName(Address ?? '');\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // to calculate the distance \r\n const getDistance = (lat1, lat2, long1, long2) => {\r\n const y = Math.abs(lat2 - lat1);\r\n const x = Math.abs(long2 - long1);\r\n return Math.sqrt((x * x + y * y));\r\n };\r\n // to share the product\r\n const handleShareItem = () => {\r\n setShowSharers(!showSharers);\r\n };\r\n // to calculate ratings\r\n const handleCalculateRatingStars = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"Name\": \"SiteFetchRatingStarsBySparePartProduct\",\r\n \"Values\": {\r\n \"GUID\": `${ProductId}`\r\n }\r\n }\r\n ).then(response => {\r\n const value = { ...ratingValues };\r\n const ratingsGroupsData = response.data;\r\n const results = ratingsGroupsData.map(item => {\r\n return { star: item.Stars, total: item.Total, spe: (item.Stars * item.Total), comments: item.Comments }\r\n });\r\n const totalComments = Math.ceil((_.sum(results.map(item => {\r\n return item.comments\r\n })) / 2));\r\n const totalOfSpe = _.sum(results.map(item => {\r\n return item.spe\r\n }));\r\n const totalOfStars = _.sum(results.map(item => {\r\n return item.total\r\n }));\r\n const finalTotal = Math.floor(totalOfSpe / totalOfStars);\r\n value.stars = finalTotal;\r\n value.comments = totalComments;\r\n setRatingValues(value);\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const handelAddToCart = ({ part }) => {\r\n\r\n let objectCart =\r\n {\r\n id: part.ProductID,\r\n productID: part.ProductID,\r\n name: part.DescriptionAr,\r\n nameEn: part.DescriptionEn,\r\n price: part.NetSalePrice,\r\n image: imagePath,\r\n Type: \"part\",\r\n };\r\n\r\n console.log(\"objectCart: \", objectCart)\r\n\r\n changecartItem(part?.ProductID, null, null, 1, null, null, objectCart);\r\n\r\n //\r\n // let objectCart =\r\n // part.SalesPriceDiscount > 0\r\n // ?\r\n // {\r\n // id: part?.ProductID,\r\n // productID: part?.ProductID,\r\n // name: part?.DescriptionAr,\r\n // nameEn: part?.DescriptionEn,\r\n // price: part?.SalesPriceDiscount,\r\n // image: part?.imagePath,\r\n // Type: \"part\",\r\n // } :\r\n // {\r\n // id: part?.ProductID,\r\n // productID: part?.ProductID,\r\n // name: part?.DescriptionAr,\r\n // price: part?.NetSalePrice,\r\n // image: imagePath,\r\n // Type: \"part\"\r\n // }\r\n // changecartItem(part?.ProductID, null, null, 1, null, null, objectCart);\r\n }\r\n\r\n return (\r\n \r\n\r\n
    \r\n\r\n {\r\n (catNameUrl?.catId && catNameUrl?.catSubId && catNameUrl?.catSubSubIdd\r\n && catNameUrl?.catAr && catNameUrl.catEn\r\n && catNameUrl?.subCatAr && catNameUrl?.subCatEn\r\n && catNameUrl?.subSubCatAr && catNameUrl?.subSubCatEn\r\n )\r\n ? \r\n : (catNameUrl?.catId && catNameUrl?.catSubId\r\n && catNameUrl?.catAr && catNameUrl?.catEn\r\n && catNameUrl?.subCatAr && catNameUrl?.subCatEn\r\n )\r\n ? \r\n : (catNameUrl?.catId\r\n && catNameUrl?.catAr && catNameUrl?.catEn\r\n )\r\n ? \r\n : \r\n }\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && catNameUrl?.catSubId && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n {/*{*/}\r\n {/* catNameUrl?.catId && catNameUrl?.catSubId && catNameUrl.catSubSubIdd && (*/}\r\n {/* */}\r\n {/* )*/}\r\n {/*}*/}\r\n\r\n\r\n {/**/}\r\n\r\n {/*
    */}\r\n \r\n {/*الصورة*/}\r\n
    \r\n
    \r\n
    \r\n {imagePath.toString()}\r\n e.target.style.display = \"none\"}\r\n />\r\n
    \r\n
    \r\n {\r\n AttachImg && 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{er.target.style.display = 'none'}}\r\n />\r\n\r\n \r\n {lang == \"ar\" ? bank.DescriptionAr : bank.DescriptionEn}\r\n
    \r\n
    \r\n );\r\n })\r\n }\r\n\r\n\r\n \r\n
    \r\n\r\n {/*
    \r\n\r\n {\r\n banks.map((bank, index) => {\r\n return (\r\n
    { handleActiveBank(bank) }} title={lang == \"ar\" ? bank.DescriptionAr : bank.DescriptionEn}>\r\n \r\n \r\n {lang\r\n \r\n
    \r\n );\r\n })\r\n }\r\n\r\n
    */}\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...quantityRange };\r\n val.maxFinanceAmount = value[0];\r\n setQuantityRange(val);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...quantityRange };\r\n val.maxFinancePeriod = value[0];\r\n setQuantityRange(val);\r\n if (onsetDefaultperiod)\r\n onsetDefaultperiod(val.maxFinancePeriod)\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n const val = { ...quantityRange };\r\n val.lastBatch = value[0];\r\n setQuantityRange(val);\r\n }}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n {\r\n const val = { ...modelSearch };\r\n val.brandID = value;\r\n if (value == '' || value == '0' || value == null) {\r\n dropDownResetter(() => {\r\n setFGroups([]);\r\n setFSubCategories([]);\r\n });\r\n val.groupID = '';\r\n val.subCategoryID = '';\r\n }\r\n setModelSearch(val);\r\n }}\r\n\r\n selectedValue={modelSearch?.brandID}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...modelSearch };\r\n if (value == '' || value == '0' || value == null) {\r\n dropDownResetter(() => {\r\n setFSubCategories([]);\r\n });\r\n val.subCategoryID = '';\r\n }\r\n val.groupID = value;\r\n setModelSearch(val);\r\n }}\r\n\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...modelSearch };\r\n val.subCategoryID = value;\r\n setModelSearch(val);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const val = e.target.value;\r\n setBudget({\r\n budget: val\r\n });\r\n }}\r\n />\r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n}\r\n\r\n\r\n\r\n","import { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\n\r\nexport function FinanceCar({\r\n groupColor,\r\n onApplay,\r\n offerID,\r\n productID,\r\n image,\r\n modelType,\r\n name,\r\n hasOffer,\r\n brand,\r\n brandImage,\r\n brandIcon,\r\n offerTitle,\r\n group,\r\n model,\r\n brandID,\r\n price,\r\n showPric,\r\n colorName = \"\"\r\n}) {\r\n const { t: trans,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 }\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\n// import { DropDownInput } from \"../../../components/_input/_dropdown\";\r\nimport {Price} from \"../../../components/__simple/_price\";\r\nimport config from \"../../../configuration/config.json\";\r\nimport Offer from \"../../../components/offer\";\r\nimport {SwiperSlide, Swiper} from 'swiper/react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {slugCombine} from '../../../utils/slugManager';\r\n\r\nconst MainServicePage = ({}) => {\r\n\r\n let {PGroupID,PYear,PSerciveID} = useParams();\r\n const [maintenanceInfo, setMaintenanceInfo] = useState({});\r\n\r\n const {t: trans, i18n} = useTranslation([\"info\", \"navbar\"]);\r\n const {handleServiceOrder} = useContext(MaintenanceContext);\r\n const {path} = useRouteMatch();\r\n const languageDir = 'language-' + (i18n.language || '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_Req\";\r\n\r\n // Opening that particular cache\r\n const cacheStorage = await caches.open(\"MainServicePage\");\r\n\r\n // Fetching that particular cache data\r\n const cachedResponse = await cacheStorage.match(\r\n curl\r\n );\r\n var datacash = await cachedResponse?.json();\r\n if (datacash && datacash?.length > 0) {\r\n setTimeout(() => {\r\n setMainService(datacash)\r\n }, 1000);\r\n\r\n }\r\n\r\n\r\n }\r\n } catch (error) {\r\n\r\n }\r\n const Body = {\r\n \"name\": \"site_fetchMainService\"\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n //console.log(\"setMainService:\", response.data);\r\n setTimeout(() => {\r\n setMainService(response.data)\r\n }, 1000);\r\n\r\n\r\n const dataResponse = new Response(JSON.stringify(response.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"MainServicePage\").then((cache) => {\r\n cache.put(\"site_fetchMainService_Req\", dataResponse);\r\n\r\n });\r\n }\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n //console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n useEffect(async () => {\r\n\r\n try {\r\n\r\n const response = await axios.request({\r\n baseURL: config.controllURL,\r\n url: (i18n.language || '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\r\n })\r\n\r\n // console.log(\"currentvModelCode>>>>>>>:\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n }\r\n\r\n const settingResponse = await axios.request({\r\n baseURL: '/',\r\n url: config.controllURL + lang + \"/api/Maintenance/Settings\",\r\n method: \"get\"\r\n });\r\n\r\n const currentSettings = {...settings};\r\n currentSettings.brands = settingResponse.data?.brands;\r\n currentSettings.groups = settingResponse.data?.groups;\r\n currentSettings.models = settingResponse.data?.models;\r\n currentSettings.productModels = settingResponse.data?.productModels;\r\n setSettings(currentSettings);\r\n\r\n const fGroups = currentSettings?.groups?.filter(a => a.brandID == brand);\r\n setGroupData(fGroups);\r\n //---------------------------------------------------------------\r\n\r\n let currentvModelCode = {};\r\n currentSettings?.productModels?.map((item) => {\r\n if (item.ModelCode)\r\n currentvModelCode[item.productGroupID] = item.ModelCode;\r\n\r\n })\r\n\r\n ////console.log(\"currentvModelCode>>>>>>>>>\", currentvModelCode);\r\n setVModelCode(currentvModelCode);\r\n\r\n const data = new Response(JSON.stringify(settingResponse.data));\r\n\r\n if (\"caches\" in window) {\r\n // Opening given cache and putting our data into it\r\n caches.open(\"HJWeb\").then((cache) => {\r\n cache.put(\"Settings-\" + lang, data);\r\n\r\n });\r\n }\r\n\r\n } catch (error) {\r\n ////console.log(error);\r\n }\r\n\r\n };\r\n \r\n\r\n const [brand, setBrand] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [groupData, setGroupData] = useState([]);\r\n const [group, setGroup] = useState(null);\r\n const [vModelCode, setVModelCode] = useState([]);\r\n const [year, setYear] = useState(null);\r\n const handleFilteredModels = (option,vYear=year) => {\r\n\r\n setModelCode(vModelCode[option]);\r\n\r\n // FetchPrice(vModelCode[option], SerciveID);\r\n\r\n fetchService(vModelCode[option]);\r\n\r\n setGroup(null);\r\n setType(null);\r\n setFilteredSettings({...filteredSettings, models: [], productModels: []});\r\n setGroup(option);\r\n\r\n var fModels =[];\r\n try{\r\n const currentgroupData =settings?.groups?.filter(a => a.brandID ==brand && a.productGroupID == option && a.Year ==vYear);\r\n const ListTreeGroups =(currentgroupData && currentgroupData?.length > 0 )? currentgroupData[0].ListTreeGroups :option;\r\n // Split the comma-separated string into an array\r\n const listVArray = ListTreeGroups.split(',');\r\n\r\n // Assuming settings.productModels is an array of objects with properties productGroupID and Model\r\n fModels = settings?.productModels?.filter(a => \r\n listVArray.includes(a.productGroupID) && a.Model == vYear\r\n );\r\n }catch{\r\n\r\n fModels = settings?.productModels?.filter(a => a.productGroupID == option && a.Model ==vYear);\r\n }\r\n\r\n // console.log(\"handleFilteredModels fModels:\", fModels);\r\n setFilteredSettings({...filteredSettings, productModels: fModels});\r\n\r\n if (fModels && fModels.length > 0)\r\n setType(fModels[0]?.productTypeID)\r\n\r\n };\r\n\r\n const handelSelectBrand = (option, year) => {\r\n setBrand(null);\r\n setGroup(null);\r\n setType(null);\r\n setSerciveID(null);\r\n setService([]);\r\n setinfoPrice([{Price: 0}]);\r\n setFilteredSettings({...settings, groups: [], models: [], productModels: []});\r\n setGroupData([]);\r\n setBrand(option);\r\n\r\n\r\n const fGroups = settings?.groups?.filter(a => a.brandID == option && a.Year ==year );\r\n \r\n setFilteredSettings({...settings, groups: fGroups});\r\n setGroupData(fGroups);\r\n\r\n };\r\n const [infoPrice, setinfoPrice] = useState([{Price: 0}]);\r\n const [SerciveID, setSerciveID] = useState(null);\r\n\r\n async function FetchPrice(modelC, SID) {\r\n\r\n // console.log(\"FetchPrice>>>>>>>>>:\", modelC)\r\n setinfoPrice([{Price: 0}]);\r\n if (!modelC) {\r\n return;\r\n }\r\n if (!SID) return;\r\n\r\n\r\n const Body = {\r\n \"name\": \"Site_fetchPriceService\",\r\n \"values\": {\r\n \"ModelCode\": modelC,\r\n \"ServicID\": SID\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // ////console.log(response.data.ApiObjectData);\r\n\r\n setinfoPrice(response.data);\r\n\r\n const data = new Response(JSON.stringify(response.data));\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n setinfoPrice([{Price: 0}]);\r\n\r\n ////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n async function fetchService(mc) {\r\n\r\n var option = \"2b995873-d703-47d8-9f58-f1df7f1e3979\";\r\n setService([]);\r\n setServiceOptions([]);\r\n setinfoPrice([{Price: 0}]);\r\n setSerciveID(null);\r\n setLodingService(true);\r\n\r\n //console.log(\"fetchService?>>>>>>>>>>>>>>>>>>>>>>>>>>\", option);\r\n\r\n const Body = {\r\n \"name\": \"site_FetchServices\",\r\n \"values\": {\r\n \"GUID\": option,\r\n // \"ModelCode\": mc\r\n \"ModelCode\": null\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // ////console.log(response.data.ApiObjectData);\r\n\r\n var vv = response.data?.map(B => {\r\n return {value: B.ServiceID, text: lang === 'ar' ? B.ServiceNameAR : B.ServiceName};\r\n });\r\n setServiceOptions(vv);\r\n setService(response.data);\r\n if (response?.data.length == 1) {\r\n\r\n setSerciveID(response?.data[0].ServiceID);\r\n FetchPrice(modelCode, response?.data[0].ServiceID);\r\n }\r\n\r\n\r\n setLodingService(false);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n\r\n setLodingService(false);\r\n setService([]);\r\n setServiceOptions([]);\r\n setinfoPrice([{Price: 0}]);\r\n setSerciveID(null);\r\n ////console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n {\r\n return {text: item?.description, value: item?.brandID}\r\n })}\r\n selectedValue={brand}\r\n onSelect={(value) => handelSelectBrand(value, requestForm?.year)}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n // return { text: item?.modelID, value: item?.modelID }\r\n // })}\r\n\r\n options={\r\n settings?.models?.filter(\r\n item => item?.modelID?.startsWith('20')).map(\r\n item => ({\r\n text: item?.modelID,\r\n value: item?.modelID\r\n })\r\n )\r\n }\r\n\r\n selectedValue={year}\r\n onSelect={(value) => {\r\n ////console.log(\"models:\", value)\r\n\r\n setYear(value);\r\n\r\n const val = {...requestForm};\r\n val.year = value;\r\n setRequestForm(val);\r\n handelSelectBrand(brand, value);\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n return {text: item?.description, value: item?.productGroupID}\r\n })}\r\n selectedValue={group}\r\n onSelect={handleFilteredModels}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n\r\n const val = {...requestForm};\r\n val.SerciveID = option.value;\r\n setRequestForm(val);\r\n\r\n setSerciveID(null);\r\n //console.log(\"setSerciveID>>>>>>>>>>>>>>>>>>>>>>>:\", option.value);\r\n setSerciveID(option.value);\r\n FetchPrice(modelCode, option.value);\r\n\r\n }}\r\n isepart={true}\r\n isLoading={lodingService}\r\n selectedValue={SerciveID}\r\n defaultOption={SerciveID == null || SerciveID == '0' ? {\r\n value: '0',\r\n text: trans(\"info:servce\")\r\n } : null}\r\n\r\n />\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n {\r\n // infoPrice[0].Price ?\r\n
    \r\n {/* السعر */}\r\n {/*
    \r\n
    \r\n

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

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

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

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

    {maintenanceInfo?.title ?? ''}

    \r\n

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

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

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

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

    {title}

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

    {item.title}

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

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

    \r\n :\r\n

    For longer longevity, maintain your vehicle

    \r\n }\r\n\r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n\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 setNote(data);\r\n }}\r\n />\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n {\r\n\r\n <>\r\n {\r\n\r\n
    \r\n
    \r\n
    = 2 ? \" bg-primary \" : \" bg-gray \")} onClick={() => {\r\n\r\n\r\n\r\n if (dataFullNum >= 2 && isSendeng == false)\r\n SendResreve(PVIN, ServiceID, VINDetails[0]?.CustID, infoPrice[0].Price);\r\n\r\n }}>\r\n {\r\n (orderReservation) ?\r\n trans(\"info:save_changes\")\r\n :\r\n trans(\"info:reserve\")\r\n\r\n }\r\n\r\n {\r\n isSendeng && \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n }\r\n\r\n \r\n }\r\n\r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {trans(\"new:thank_to_choose\")}\r\n {trans(\"new:HJ_cars\")}\r\n
    \r\n\r\n {\r\n <>\r\n
    \r\n {trans(\"new:The_appointment_has_been_booked\")}\r\n
    \r\n\r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group).length > 0 &&\r\n
    \r\n \r\n {filteredSettings?.groups?.filter(s => s.productGroupID == group)[0]?.description}\r\n {` (${year}) `}\r\n
    \r\n }\r\n {Service &&\r\n
    \r\n {trans(\"info:servce\")}: \r\n {Service?.ServiceNameAR} \r\n
    \r\n }\r\n\r\n
    \r\n {trans(\"form:maintenance-date\")}: \r\n {orderReservation?.DateIn ?\r\n moment(orderReservation?.DateIn).format('YYYY-MM-DD')\r\n : moment(requestForm?.date).format('YYYY-MM-DD')} \r\n
    \r\n
    \r\n {trans(\"form:maintenance-time\")}: \r\n \r\n {\r\n orderReservation?.DateIn ? moment(orderReservation?.DateIn).format('hh:mm A')\r\n : moment(requestForm?.time).format('hh:mm A')} \r\n
    \r\n\r\n {\r\n\r\n resOrderID &&\r\n
    {\r\n\r\n navigator.clipboard.writeText(resOrderID);\r\n }}\r\n\r\n >\r\n\r\n {trans(\"new:Reservation_number\") + \" :\"}\r\n {resOrderID && resOrderID}\r\n \r\n
    \r\n }\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n
    {\r\n\r\n setShowFinalPopup(false);\r\n setResOrderID(null);\r\n if (location.pathname)\r\n history.push(\"/\");\r\n\r\n }}>\r\n {trans(\"cartFile:Continue_browsing\")}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n {\r\n\r\n orderReservation && orderReservation?.OrderStatusID && orderReservation?.OrderStatusID == \"Created\" &&\r\n\r\n\r\n
    \r\n
    \r\n
    {\r\n\r\n var threeDaysFromNow = new Date();\r\n if (orderReservation?.DateIn)\r\n threeDaysFromNow = new Date(orderReservation?.DateIn);\r\n if (orderReservation?.Note)\r\n setNote(orderReservation?.Note);\r\n\r\n setRequestForm({\r\n ...requestForm,\r\n date: threeDaysFromNow,\r\n time: orderReservation ? threeDaysFromNow : \"\"\r\n });\r\n\r\n setShowFinalPopup(false);\r\n\r\n }}>\r\n\r\n\r\n {/* \"\" */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {trans(\"info:edit\") + \" \" + trans(\"info:the_appointment\")}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}","import { useState } from \"react\";\r\n\r\nexport const EvaluationType = ({ title = \"\", error = null, countOptions = 6, click, mandatory = false, defultActive =null}) => {\r\n const [activeItem, setActiveItem] = useState(null);\r\n\r\n const handelClik = (_nomC) => {\r\n click(_nomC);\r\n };\r\n\r\n\r\n return (\r\n
    \r\n

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

    \r\n
    \r\n {/*
    \r\n {[...Array(11)].map((num, index) => {\r\n return (\r\n \r\n {getActualIcon(index)}\r\n
    \r\n );\r\n })}\r\n
    */}\r\n\r\n
    \r\n {[...Array(countOptions)].map((num, index) => {\r\n return (\r\n\r\n \r\n {\r\n handelClik((index / 10));\r\n setActiveItem((index / 10));\r\n }}\r\n >\r\n {(index / 10)}\r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n );\r\n};\r\n","import { useEffect, useState, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport moment from \"moment\";\r\nimport Popup from \"../../User/popup\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport 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 query = new URLSearchParams(location.search);\r\n const [paramGUID, setParamGUID] = useState(query.get(\"Id\") ?? null);\r\n const [pSalesorderid, setSalesorderid] = useState(query.get(\"Salesorderid\") ?? null);\r\n const [sadadInfo, setSadadInfo] = useState(null);\r\n const [showFinalPopup, setShowFinalPopup] = useState(false);\r\n const [showFinalPopupMessage, setShowFinalPopupMessage] = useState(\"\");\r\n const popRef = useRef(null);\r\n const [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 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 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 if (paymentMethodCallback == 'paytabs') {\r\n StatusPaymentPayTabsSalesOrdersService();\r\n } else if (paymentMethodCallback == 'tamara') {\r\n if (paymentStatus == 'approved') {\r\n StatusPaymentTamaraSalesOrdersService(orderId);\r\n setTimeout(() => {\r\n\r\n // StatusPaymentTamaraSalesOrdersService(orderId);\r\n\r\n }, 2000);\r\n\r\n setShowFinalPopup(true);\r\n }\r\n\r\n } else if (paymentMethodCallback == 'sadad') {\r\n StatusPaymentSadadSalesOrdersService();\r\n //site_fetchSadadCode_salesOrdersService\r\n } else {\r\n setIsSendeng(false);\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (orderReservation) {\r\n setResOrderID(orderReservation?.MaintenanceOrderID);\r\n setShowFinalPopup(true);\r\n\r\n }\r\n fetchSettings();\r\n\r\n\r\n if (PVIN) {\r\n GetVINDetails(PVIN);\r\n 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\": \"TOYOTA SMALL VEHICLES\"\r\n }\r\n }\r\n\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n // //////console.log(response.data.ApiObjectData);\r\n // selectService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.includes(\"Tinting\")\r\n // var filterservice = response?.data?.filter(s => !s.ServiceDetails?.includes(\"تلميع\") && !s.ServiceDetails?.includes(\"الصغيرة\") && !s.ServiceDetails?.includes(\"الصغيره\"))\r\n var filterservice = response?.data;\r\n setTimeout(setService(filterservice), 1000);\r\n 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 = () => {\r\n // setIsPopupOpen(false);\r\n resolve(true);\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 = () => {\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\r\n const [error, setError] = useState({});\r\n async function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.year = year;\r\n val.ServiceID = ServiceID;\r\n setRequestForm(val);\r\n var mainNote = Note;\r\n const result = formValidate(notLoginSchema, val) ?? {};\r\n\r\n const hasTintingService = allselectServices.find(s => allServiceID.includes(s.ServiceID) && (s?.text?.includes(\"تظليل\") || s?.text?.includes(\"Tinting\") || s[\"ServiceDetailsEn\"]?.includes(\"tinting\")\r\n || s[\"ServiceDetails\"]?.includes(\"تظليل\")));\r\n\r\n\r\n var noteTinting = \"\";\r\n if (hasTintingService) {\r\n\r\n if (isToggleSwitch == false) {\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n noteTinting += \"\\\\nزجاج امامي:\" + \"0\";\r\n\r\n } else {\r\n noteTinting += \"\\\\nزجاج امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3];\r\n }\r\n\r\n\r\n\r\n } else {\r\n\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\n كامل زجاج السياره:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>result\", result)\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n 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\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 mainNote += noteTinting;\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"paytype\": paymentType,\r\n \"userId\": PUser,\r\n \"VIN\": VIN,\r\n \"note\": mainNote,\r\n \"servicelist\": listofServices,\r\n \"referenceOrderId\": pSalesorderid,\r\n \"callback\": window.location.origin + \"/\" + lang + `/maintenance/ProtectionAndShading/${VIN}${PUser ? '/' + PUser : ''}`\r\n };\r\n\r\n console.log(\"raw>>>>>>>>>>>>>>>>:\", raw);\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/applyPaymentSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n })\r\n\r\n .then(async response => {\r\n console.log('Payment respons data:\\n', response.data);\r\n\r\n\r\n if (response.data.URL_Paytabs) {\r\n window.location.href = response.data.URL_Paytabs;\r\n\r\n } else if (response.data.url_payment) {\r\n window.location.href = response.data.url_payment;\r\n //site_fetchSadadCode_salesOrdersService\r\n } else {\r\n setIsSendeng(false);\r\n 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 console.log('StatusPaymentTamaraSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID && orderId) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID,\r\n \"orderId\": orderId ?? \"\"\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentTamaraSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('StatusPaymentTamaraSalesOrdersService respons:', response);\r\n if (response.data) {\r\n\r\n var data = response.data;\r\n console.log('PaymentPaytabsStatusFully data:', data);\r\n if (data.Status == \"success\") {\r\n setShowFinalPopup(true);\r\n if (data.OrderId)\r\n setResOrderID(data.OrderId);\r\n }\r\n }\r\n\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error StatusPaymentTamaraSalesOrdersService:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n async function StatusPaymentPayTabsSalesOrdersService() {\r\n console.log('StatusPaymentPayTabsSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentPayTabsSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('PaymentPaytabsStatusFully respons:', response);\r\n if (response.data && response.data.length > 0) {\r\n\r\n var data = response.data[0];\r\n console.log('PaymentPaytabsStatusFully data:', data);\r\n if (data.Status == \"success\") {\r\n setShowFinalPopup(true);\r\n if (data.OrderId)\r\n setResOrderID(data.OrderId);\r\n }\r\n }\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error PaymentPaytabsStatusFully:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n async function StatusPaymentSadadSalesOrdersService() {\r\n console.log('StatusPaymentSadadSalesOrdersService >>>>>>>', paramGUID);\r\n\r\n if (paramGUID) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentSadadSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('StatusPaymentSadadSalesOrdersService respons:', response);\r\n\r\n var invoiceID = response.data.sadadNumber.replaceAll('\"', \"\");\r\n\r\n try {\r\n if (invoiceID && parseInt(invoiceID)) {\r\n var datasadad = response.data;\r\n datasadad.sadadNumber = invoiceID;\r\n setSadadInfo(datasadad);\r\n } else {\r\n setSadadInfo(response?.data);\r\n }\r\n } catch (error) {\r\n setSadadInfo(response.data);\r\n }\r\n //! اهمم مرحلة في الفحص\r\n if (invoiceID != null && invoiceID != undefined) {\r\n setShowFinalPopup(true);\r\n }\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error StatusPaymentSadadSalesOrdersService:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n\r\n if (Branches && Branches?.length > 0 && !requestForm?.SiteID) {\r\n\r\n if (Branches?.length == 1) {\r\n let val = {};\r\n val.SiteID = Branches[0]?.SiteID;\r\n setRequestForm({ ...requestForm, ...val });\r\n }\r\n\r\n }\r\n\r\n }, [Branches, requestForm]);\r\n\r\n\r\n useEffect(() => {\r\n checkDataFullNum();\r\n }, [requestForm, ServiceID, allServiceID, year, type, paymentType]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (vModelCode != null && ServiceID && Defult?.firstFetchPrice != true) {\r\n setDefult({ ...Defult, firstFetchPrice: true });\r\n if (Defult?.modelType) {\r\n if (vModelCode[Defult?.modelType] && ServiceID)\r\n FetchPrice(vModelCode[Defult?.modelType], ServiceID);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }, [vModelCode, ServiceID]);\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n {\r\n (VINDetails && brand) ?\r\n\r\n
    \r\n\r\n {/*
    \r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"protection-and-shading-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    */}\r\n
    \r\n
    \r\n\r\n {\r\n lang == \"ar\" ?\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n\r\n\r\n :\r\n\r\n
    \r\n \"hassan\r\n \"hassan\r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n (brand == 1) ?\r\n <>\r\n {brand}\r\n \r\n :\r\n (\r\n (brand == 2) ?\r\n <>\r\n {brand}\r\n \r\n :\r\n null\r\n\r\n )\r\n\r\n }\r\n
    \r\n\r\n {\r\n\r\n if (window.location.href.includes(\"/ar\") || window.location.href.includes(\"/en\")) {\r\n\r\n if (window.location.href.includes(\"/en\"))\r\n window.location = window.location.href.replace(\"/en\", \"/ar\");\r\n if (window.location.href.includes(\"/ar\"))\r\n window.location = window.location.href.replace(\"/ar\", \"/en\");\r\n\r\n } else {\r\n\r\n window.location = window.location.origin + \"/en\" + window.location.pathname;\r\n }\r\n }}\r\n className=\"protection-and-shading-top-lang h-full flex justify-center items-center\">\r\n\r\n {trans('common:changeLangCode')}\r\n \"change\r\n \r\n
    \r\n\r\n\r\n
    \r\n {/*
    \r\n {\r\n lang == \"ar\" ?\r\n\r\n

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

    \r\n :\r\n

    For longer longevity, maintain your vehicle

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

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

    \r\n

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

    \r\n

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

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

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

    \r\n
    \r\n\r\n {/*
    \r\n {\r\n const isChecked = target.checked;\r\n\r\n if (isChecked) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, _val]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, _val.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== _val)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !_val.ServiceID.includes(id))\r\n );\r\n }\r\n\r\n }}\r\n Name={\"23-44\"}\r\n >\r\n \r\n
    \r\n */}\r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n {/* body */}\r\n
    \r\n {\r\n Service?.filter(s => s.MainWebGroup == acticeMenu).map((_Srtvice, _index) => {\r\n return (\r\n
    \r\n\r\n {\r\n 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\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\r\n {\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
    {\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 browser && browser == \"Safari\" ?\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 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 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()}>\r\n {trans(\"new:continuation\")}\r\n
    \r\n
    \r\n
    popupHandlers.onCancel()}>\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 {isArrowVisible && (\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 SalesOrderService() {\r\n\r\n let { PGroupID, PYear, PServiceID, 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 [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 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 useEffect(() => {\r\n if (OrderGUID)\r\n FetchSalesOrderService(OrderGUID);\r\n\r\n }, [OrderGUID]);\r\n\r\n const [salesOrder, setSalesOrder] = useState({});\r\n const FetchSalesOrderService = async (guid) => {\r\n try {\r\n axios.post(config.baseURL + \"details\",\r\n {\r\n \"Object\": \"SalesOrders_Service\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n \"Limit\": {\r\n \"Value\": 1,\r\n \"Optional\": \"Top\"\r\n }\r\n },\r\n \"option\": \"column\",\r\n \"fields\": \"*\",\r\n \"Filters\": `Where GUID = '${guid}' AND SalesOrderStatusID !='Canceled' and SalesOrderStatusID !='Closed' `\r\n }\r\n ).then(response => {\r\n const result = response?.data?.ApiObjectData;\r\n if (result && result.length > 0) {\r\n\r\n var appData = result[0];\r\n 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(error => {\r\n\r\n });\r\n\r\n\r\n } catch (err) {\r\n console.log(\"\", err);\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 if (paymentMethodCallback == 'paytabs') {\r\n StatusPaymentPayTabsSalesOrdersService();\r\n } else if (paymentMethodCallback == 'tamara') {\r\n if (paymentStatus == 'approved') {\r\n StatusPaymentTamaraSalesOrdersService(orderId);\r\n setTimeout(() => {\r\n\r\n // StatusPaymentTamaraSalesOrdersService(orderId);\r\n\r\n }, 2000);\r\n\r\n setShowFinalPopup(true);\r\n }\r\n\r\n } else if (paymentMethodCallback == 'sadad') {\r\n StatusPaymentSadadSalesOrdersService();\r\n //site_fetchSadadCode_salesOrdersService\r\n } else {\r\n setIsSendeng(false);\r\n toast.error(trans(\"error:unknown_failure\"));\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (orderReservation) {\r\n setResOrderID(orderReservation?.MaintenanceOrderID);\r\n setShowFinalPopup(true);\r\n\r\n }\r\n fetchSettings();\r\n\r\n\r\n if (PVIN) {\r\n GetVINDetails(PVIN);\r\n 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_GetVINDetails\",\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 //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 // //////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 ServiceIDList = filterservice?.map(s => s.ServiceID);\r\n setAllSelectServices(filterservice);\r\n\r\n setAllServiceID(ServiceIDList);\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 [popupHandlers, setPopupHandlers] = useState({\r\n onConfirm: null,\r\n onCancel: null,\r\n });\r\n\r\n //---------------------\r\n\r\n const [error, setError] = useState({});\r\n async function SendResreve(VIN, ServecID, UserID, Amount) {\r\n\r\n\r\n const val = { ...requestForm };\r\n val.year = year;\r\n val.ServiceID = ServiceID;\r\n setRequestForm(val);\r\n var mainNote = Note;\r\n const result = formValidate(notLoginSchema, val) ?? {};\r\n\r\n const hasTintingService = allselectServices.find(s => allServiceID.includes(s.ServiceID) && (s?.text?.includes(\"تظليل\") || s?.text?.includes(\"Tinting\") || s[\"ServiceDetailsEn\"]?.includes(\"tinting\")\r\n || s[\"ServiceDetails\"]?.includes(\"تظليل\")));\r\n\r\n\r\n var noteTinting = \"\";\r\n if (hasTintingService) {\r\n\r\n if (isToggleSwitch == false) {\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n noteTinting += \"\\\\nزجاج امامي:\" + \"0\";\r\n\r\n } else {\r\n noteTinting += \"\\\\nزجاج امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 1];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي امامي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 2];\r\n }\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\nزجاج جانبي خلفي:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 3];\r\n }\r\n\r\n\r\n\r\n } else {\r\n\r\n if (evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] == null || evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] === \"\") {\r\n result[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0] = trans(\"الاختيار اجباري\");\r\n setActiceMenu(hasTintingService?.MainWebGroup);\r\n setIndexPanel(hasTintingService?.ServiceID);\r\n setActiceService(hasTintingService);\r\n } else {\r\n noteTinting += \"\\\\n كامل زجاج السياره:\" + evaluations[hasTintingService?.ServiceID + \"_\" + isToggleSwitch + \"_\" + 0];\r\n }\r\n }\r\n\r\n }\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>result\", result)\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0 && isSendeng == false) {\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>go to showConfirmationPopup\", isSendeng)\r\n const userConfirmed = true;\r\n\r\n console.log(\">>>>>>>>>>>>>>>>>showConfirmationPopup:\", userConfirmed)\r\n if (true) {\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 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 \"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 } else {\r\n console.log('Operation canceled.');\r\n\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 console.log('StatusPaymentTamaraSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID && orderId) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID,\r\n \"orderId\": orderId ?? \"\"\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentTamaraSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('StatusPaymentTamaraSalesOrdersService respons:', response);\r\n if (response.data) {\r\n\r\n var data = response.data;\r\n console.log('PaymentPaytabsStatusFully data:', data);\r\n if (data.Status == \"success\") {\r\n setShowFinalPopup(true);\r\n if (data.OrderId)\r\n setResOrderID(data.OrderId);\r\n }\r\n }\r\n\r\n\r\n }\r\n ).catch(async error => {\r\n console.log('error StatusPaymentTamaraSalesOrdersService:', error)\r\n\r\n });\r\n } catch (error) {\r\n console.log('error', error)\r\n\r\n\r\n }\r\n }\r\n }\r\n async function StatusPaymentPayTabsSalesOrdersService() {\r\n console.log('StatusPaymentPayTabsSalesOrdersService >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');\r\n\r\n if (paramGUID) {\r\n\r\n\r\n\r\n try {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Content-Type\", \"application/json\");\r\n var raw = {\r\n \"GUID\": paramGUID\r\n };\r\n\r\n await axios.request({\r\n baseURL: config.paymentURL,\r\n url: \"/api/Payment/StatusPaymentPayTabsSalesOrdersService\",\r\n headers: myHeaders,\r\n data: raw, method: \"POST\", responseType: \"json\"\r\n }).then(async response => {\r\n console.log('PaymentPaytabsStatusFully respons:', response);\r\n if (response.data && response.data.length > 0) {\r\n\r\n var data = response.data.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 (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 {/* body */}\r\n
    \r\n {\r\n Service?.map((_Srtvice, _index) => {\r\n return (\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
    \r\n
    \r\n );\r\n })\r\n // < div className=\"panel-section panel-white bg-theme-up w-100 \">\r\n // \r\n // {\r\n\r\n //
    \r\n // {\r\n\r\n // acticeService && acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"] &&\r\n // <>\r\n\r\n //
      \r\n\r\n // {\r\n // acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\\\\n\", \"\\\\n\")?.split('\\n').filter(a => a)?.map((note, index) => {\r\n // return (\r\n\r\n\r\n //
    • \r\n // {note}\r\n //
    • \r\n // );\r\n // })\r\n // }\r\n\r\n\r\n //
    \r\n // {\r\n // indexPanel != \"2000\" && acticeService[lang == \"ar\" ? \"ServiceDetails\" : \"ServiceDetailsEn\"]?.replaceAll(\"\\\\n\\\\n\", \"\\\\n\")?.split('\\n').filter(a => a)?.length > 2 &&\r\n // < span className=\"mx-10 text-30 text-bold text-primary\">\r\n // {\"...\"}\r\n // }\r\n\r\n\r\n\r\n // \r\n\r\n // }\r\n\r\n //
    \r\n\r\n\r\n // }\r\n\r\n\r\n\r\n // setIndexPanel(indexPanel == \"2000\" ? \"000\" : \"2000\")}\r\n // >\r\n\r\n // \r\n //
    \r\n //
    \r\n\r\n\r\n //
    \r\n }\r\n\r\n\r\n
    \r\n \r\n \r\n }\r\n\r\n\r\n {/* menu tabs */}\r\n {\r\n allselectServices && allselectServices.length > 0 &&\r\n
    \r\n\r\n
    \r\n

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

    \r\n
    \r\n
    \r\n \r\n\r\n {allselectServices?.map((_val, _index) => {\r\n return (\r\n\r\n \r\n
    \r\n\r\n {/*
    */}\r\n {/* {\r\n const isChecked = target.checked;\r\n\r\n if (isChecked) {\r\n // Add the service to the lists\r\n setAllSelectServices(prevServices => [...prevServices, _val]);\r\n\r\n setAllServiceID(prevServiceIDs => [...prevServiceIDs, _val.ServiceID]);\r\n } else {\r\n // Remove the service from the lists\r\n setAllSelectServices(prevServices =>\r\n prevServices.filter(service => service !== _val)\r\n );\r\n\r\n setAllServiceID(prevServiceIDs =>\r\n prevServiceIDs.filter(id => !_val.ServiceID.includes(id))\r\n );\r\n }\r\n\r\n }}\r\n Name={\"23-44\"}\r\n >\r\n */}\r\n {/*
    */}\r\n \r\n\r\n \r\n
    \r\n
    \r\n\r\n );\r\n })}\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n }\r\n
    \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\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\r\n {\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
    {\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 browser && browser == \"Safari\" ?\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 \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n }\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 {isArrowVisible && (\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 [error, setError] = useState({});\r\n const [banner, setbanner] = useState([]);\r\n const [product, setproduct] = useState(null);\r\n const [requestForm, setRequestForm] = useState({\r\n name: '',\r\n custType: null,\r\n identityNo: '',\r\n cn: '',\r\n address: '',\r\n email: '',\r\n phoneNumber: '',\r\n quantity: 1,\r\n message: '',\r\n note: '',\r\n selectedProduct: '',\r\n selectedModel: '',\r\n selectedColor: ''\r\n });\r\n const [showProductSection, setShowProductSection] = useState(true);\r\n const [brands, setBrands] = useState([]);\r\n const [brand, setBrand] = useState(null);\r\n const [group, setGroup] = useState(null);\r\n const [type, setType] = useState(null);\r\n const [year, setYear] = useState(null);\r\n const [fColors, setFColors] = useState([]);\r\n //--------------------------------------------------- \r\n const [fProductGroups, setFProductGroups] = useState([]);\r\n const [productGroups, setProductGroups] = useState([]);\r\n const [products, setProducts] = useState([]);\r\n const [fProducts, setFProduct] = useState(null);\r\n const [fModels, setFModels] = useState([]);\r\n //---------------------------------------------------\r\n const [supportedColors, setSupportedColors] = useState([]);\r\n const [selectedColor, setSelectedColor] = useState(null);\r\n const [selectedObjectColor, setSelectedObjectColor] = useState(null);\r\n //---------------------------------------------------\r\n const [isLoading, setIsLoading] = useState(false);\r\n //---------------------------------------------------\r\n const [vehicleInfo, setVehicleInfo] = useState(null);\r\n //-------------- other declaration------------------\r\n const [defultMobile, setDefultMobile] = useState(\"\");\r\n const schema = Joi.object({\r\n name: Joi.string().required().messages(GetMessages()),\r\n address: Joi.string().required().messages(GetMessages()),\r\n email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: false } }).required().messages(GetMessages()),\r\n phoneNumber: Joi.string().min(12).required().messages(GetMessages()),\r\n quantity: Joi.number().min(1).required().messages(GetMessages()),\r\n selectedProduct: Joi.string().required().messages(GetMessages()),\r\n selectedModel: Joi.string().required().messages(GetMessages()),\r\n custType: Joi.string().required().messages(GetMessages()),\r\n });\r\n\r\n const schemaidentityNo = Joi.object({\r\n identityNo: Joi.string().min(10).required().messages(GetMessages()),\r\n\r\n });\r\n const schemacn = Joi.object({\r\n cn: Joi.string().min(10).required().messages(GetMessages()),\r\n\r\n });\r\n // declarations ver that using in route & searching in url\r\n const history = useHistory();\r\n const location = useLocation();\r\n const query = new URLSearchParams(location.search);\r\n //------------------------------------------------------\r\n const [userTypeList, setUserTypeList] = useState([]);\r\n const [userType, setUserType] = useState(\"\");\r\n const [identityType, setIdentityType] = useState(null);\r\n\r\n const [cnValue, setCnValue] = useState(\"\");\r\n const [identityValue, setIdentityValue] = useState(\"\");\r\n\r\n // ------------\r\n useEffect(() => {\r\n\r\n initialBanner();\r\n getAllUserType();\r\n handleFilterModelsByProduct();\r\n getAllGroups();\r\n getAllBrands();\r\n getAllProducts();\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n let data = {};\r\n\r\n const val = { ...requestForm };\r\n\r\n try {\r\n data = JSON.parse(getData(User_Data_Key, true));\r\n console.log(\"_userData:\", data);\r\n\r\n\r\n console.log(\"requestForm:\", val);\r\n val.name = lang == \"ar\" ? (data?.arFirstName ?? \"\") + \" \" + (data?.arMiddleName ?? \"\") + \" \" + (data?.arLastName ?? \"\") : (data?.enFirstName ?? \"\") + \" \" + (data?.enMiddleName ?? \"\") + \" \" + (data?.enLastName ?? \"\");\r\n val.address = data?.address ?? \"\";\r\n val.phoneNumber = data?.phone ?? \"\";\r\n\r\n console.log(\"phone>>>>>>>>>>>>:\", data?.phone.replace(/\\D/g, '').slice(-9).toString());\r\n if (data?.phone)\r\n setDefultMobile(data?.phone.replace(/\\D/g, '').slice(-9).toString());\r\n val.email = data?.email ?? \"\";\r\n\r\n console.log(\"val:\", val);\r\n\r\n setRequestForm(val);\r\n\r\n\r\n } catch (error) {\r\n\r\n\r\n }\r\n\r\n\r\n const productID = query.get('vehicle');\r\n const typeID = query.get('type');\r\n const model = query.get('model');\r\n const color = query.get('color');\r\n if (productID) {\r\n\r\n val.selectedProduct = String(productID);\r\n val.selectedModel = String(model);\r\n val.selectedColor = String(color);\r\n val.selectedTypeID = String(typeID);\r\n setproduct(val);\r\n if (model) {\r\n handleShowVehicleDetails(productID, model);\r\n }\r\n setRequestForm(val);\r\n setShowProductSection(false);\r\n setType(typeID);\r\n handleFetchColors(typeID, model, color);\r\n }\r\n\r\n if (color)\r\n setSelectedColor(color);\r\n\r\n fetchCarDesign(color, productID, model);\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (products && products.length > 0 && product && product.selectedTypeID && fProducts == null) {\r\n\r\n var GroupID = null;\r\n\r\n const filteredProducts = products.filter(e => e.productTypeID == product.selectedTypeID);\r\n\r\n if (filteredProducts[0])\r\n GroupID = filteredProducts[0].productGroupID;\r\n\r\n if (GroupID) {\r\n const filteredProductsbyGroupID = products.filter(e => e.productGroupID == GroupID && e.Model == product.selectedModel);\r\n setFProduct(filteredProductsbyGroupID.map(product => {\r\n return { value: product.productTypeID, text: product[`${trans(\"model:gamelDescription\")}`], ...product }\r\n }));\r\n\r\n setGroup(GroupID);\r\n } else {\r\n setFProduct([]);\r\n }\r\n\r\n\r\n }\r\n\r\n }, [product, products, fProducts]);\r\n //----------------Functions + Methods------------------------\r\n // fetch all brands from db\r\n const getAllBrands = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"InvBrands\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n }\r\n , \"option\": \"column\",\r\n \"Fields\": \"BrandID,DescriptionAr,DescriptionEn\",\r\n \"filters\": \" where IsEnabled =1\"\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n setBrands(result.map(brand => {\r\n return {\r\n value: brand.BrandID, text: brand[`${trans(\"model:description\")}`]\r\n }\r\n }));\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n //It's used to intialize the banner\r\n const initialBanner = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"sitePageBanners\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false\r\n },\r\n \"filters\": \"where bannerId=9\"\r\n }\r\n ).then(response => {\r\n setTimeout(setbanner(response.data.ApiObjectData), 500);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n };\r\n // It's used to filter the groups by brand\r\n const filterModel = (option) => {\r\n\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n setType(null);\r\n setGroup(null);\r\n if (option.value == '0') {\r\n dropDownResetter(() => {\r\n setFProductGroups();\r\n setFModels([]);\r\n setFProduct([]);\r\n setFColors([]);\r\n });\r\n }\r\n setBrand(option.value);\r\n const fGroups = productGroups.filter(a => a.BrandID == option.value);\r\n setFProductGroups(fGroups.map(group => {\r\n return {\r\n value: group.ProductGroupID, text: group[`${trans(\"model:description\")}`]\r\n }\r\n }));\r\n };\r\n // Fetch all groups\r\n const getAllGroups = () => {\r\n\r\n const Body = {\r\n \"name\": \"SiteFetchAvailableGroupsOnSite\"\r\n }\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method: \"POST\", responseType: \"json\"\r\n })\r\n .then(function (response) {\r\n setProductGroups(response.data);\r\n\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n };\r\n\r\n // * siteGetCustGroupsforOrder\r\n const getAllUserType = () => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"siteGetCustGroupsforOrder\"\r\n }\r\n ).then(response => {\r\n setUserTypeList(response.data);\r\n }).catch(err => {\r\n console.log(err);\r\n })\r\n };\r\n\r\n\r\n const handleCustType = (option) => {\r\n const val = { ...requestForm };\r\n val.custType = option;\r\n setRequestForm(val);\r\n console.log(userType);\r\n setUserType(\"\");\r\n\r\n setCnValue(\"\");\r\n setIdentityValue(\"\");\r\n\r\n try {\r\n if (option == '' || option == null || option == '0') {\r\n setIdentityType(null);\r\n return;\r\n }\r\n\r\n // const currentValue = accountTypes.find(item => {\r\n // return item.ID == option\r\n // }) ?? {};\r\n\r\n let value = null;\r\n if (option == \"G4\") {\r\n value = 1;\r\n val.cn = null;\r\n setUserType(val.cn);\r\n } else {\r\n value = 2;\r\n val.identityNo = null;\r\n setUserType(val.identityNo);\r\n }\r\n\r\n setRequestForm(val);\r\n setIdentityType(value);\r\n\r\n } catch (err) {\r\n //////console.log(err);\r\n }\r\n };\r\n\r\n\r\n //Fetch all products\r\n const getAllProducts = () => {\r\n // SiteFetchAvailableCarsOnSite\r\n axios.post(\r\n config.baseURL + \"func\",\r\n {\r\n \"Name\": \"SiteFetchALLProductModelTypesOnSite\",\r\n }\r\n ).then(response => {\r\n const result = response.data;\r\n setProducts(result);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n\r\n\r\n // axios.post(\r\n // config.baseURL + \"details\",\r\n // {\r\n // \"object\": \"InvProducts\",\r\n // \"ObjectSettings\": {\r\n // \"MetaData\": false,\r\n // },\r\n // \"Option\": \"Column\",\r\n // \"Fields\": \"ProductID,DescriptionAr,DescriptionEn,ProductGroupID,Model\",\r\n // \"Filters\": `where ProductID not like 'SP%'`\r\n // }\r\n // ).then(response => {\r\n // const result = response.data.ApiObjectData;\r\n // setProducts(result);\r\n\r\n // }).catch(err => {\r\n // console.log(err);\r\n // });\r\n };\r\n // to get the model of the product\r\n const handleFilterModelsByProduct = () => {\r\n axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"object\": \"InvProductModel\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n },\r\n \"Option\": \"Column\",\r\n \"Fields\": \"modelID\",\r\n \"Filters\": `where modelID >='2015' `\r\n }\r\n ).then(response => {\r\n const result = response.data.ApiObjectData;\r\n const models = result.map(item => {\r\n return item.modelID\r\n });\r\n const uniqueModels = uniqBy(models, (mY) => {\r\n return mY;\r\n }).filter((value) => {\r\n return value !== null\r\n }).map(item => {\r\n return { text: item, value: item }\r\n });\r\n setFModels(uniqueModels);\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n //Filter the products by group\r\n const filterProductsByGroup = (option) => {\r\n setType(null);\r\n setGroup(null);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n if (option.value == '0') {\r\n dropDownResetter(() => {\r\n setFProduct([]);\r\n setFModels([]);\r\n });\r\n }\r\n setGroup(option.value);\r\n const filteredProducts = products.filter(e => e.productGroupID == option.value && e.Model == requestForm.selectedModel);\r\n setFProduct(filteredProducts.map(product => {\r\n return { value: product.productTypeID, text: product[`${trans(\"model:gamelDescription\")}`], ...product }\r\n }));\r\n };\r\n const handleSendRequest = async () => {\r\n\r\n if (isLoading == true)\r\n return;\r\n\r\n let result = formValidate(schema, requestForm) ?? {};\r\n\r\n // ex:\r\n // const mergedObj = Object.assign({}, obj1, obj2);\r\n if (identityType && identityType == 1) {\r\n const result22 = formValidate(schemaidentityNo, requestForm) ?? {};\r\n result = { ...result, ...result22 }\r\n\r\n } else {\r\n\r\n const result33 = formValidate(schemacn, requestForm) ?? {};\r\n result = { ...result, ...result33 }\r\n\r\n }\r\n setError(result);\r\n\r\n if (Object.keys(result).length == 0) {\r\n if (supportedColors?.length > 0 && selectedColor == null) {\r\n toast.error(trans(\"finance:color_not_select\"));\r\n setIsLoading(false);\r\n return;\r\n }\r\n setIsLoading(true);\r\n const basicInfo = await getMainUserData();\r\n\r\n axios.post(\r\n config.baseURL + \"add\",\r\n {\r\n \"Object\": \"SitePurchaseVehicleOrder\",\r\n \"Values\": {\r\n \"Name\": requestForm.name,\r\n \"Phone\": requestForm.phoneNumber,\r\n \"Email\": requestForm.email,\r\n \"Message\": requestForm.message,\r\n \"Address\": requestForm.address,\r\n \"Quantity\": Number(requestForm.quantity),\r\n \"ColorID\": (selectedColor != null || selectedColor != '') ? String(selectedColor) : null,\r\n \"Web_UserID\": basicInfo ? Number(basicInfo.userId) : null,\r\n \"CustID\": basicInfo ? basicInfo.custId ? String(basicInfo.custId) : null : null,\r\n \"ProductID\": requestForm.selectedProduct,\r\n \"ModelYear\": requestForm.selectedModel,\r\n \"CustGroupID\": requestForm.custType,\r\n \"TaxationNumber\": cnValue ?? \"\",\r\n \"AddtionalNo\": identityValue ?? \"\",\r\n }\r\n }\r\n ).then(response => {\r\n toast.success(trans(\"common:order-request-success\"));\r\n setIsLoading(false);\r\n history.push(\"/\");\r\n }).catch(err => {\r\n toast.error(trans(\"finance:error_send_data\"));\r\n setIsLoading(false);\r\n });\r\n\r\n }\r\n };\r\n // get the main essetional info about user [web_user_id & cust_id]\r\n const getMainUserData = async () => {\r\n let data = null;\r\n try {\r\n const _data = JSON.parse(getData(User_Data_Key, true));\r\n if (localStorage.getItem(\"isAuthenticated\")) {\r\n data = {\r\n userId: Number(_data.id.toString().split('_')[1]),\r\n custId: _data.custID\r\n };\r\n } else {\r\n const response = await axios.post(\r\n config.baseURL + \"details\",\r\n {\r\n \"Object\": \"web_users\",\r\n \"Option\": \"Column\",\r\n \"ObjectSettings\": {\r\n \"MetaData\": false,\r\n \"Limit\": {\r\n \"Value\": 1,\r\n \"Optional\": \"Top\"\r\n }\r\n },\r\n \"Fields\": \"Web_UserId,CustID\",\r\n \"Filters\": `where lower(email) = lower('${requestForm.email}')`\r\n }\r\n );\r\n if (response.status == 200) {\r\n const result = response.data.ApiObjectData;\r\n if (result.length > 0) {\r\n const finalResult = result[0];\r\n data = {\r\n userId: finalResult.Web_UserId,\r\n custId: finalResult.CustID\r\n };\r\n }\r\n }\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n return data;\r\n };\r\n const handleFetchColors = (productTypeID, modelYear, defultColor) => {\r\n\r\n if (productTypeID != '' && modelYear != '') {\r\n axios.post(\r\n config.baseURL + 'func',\r\n // {\r\n // \"name\": \"SiteGetColorsByProduct\",\r\n // \"values\": {\r\n // \"productID\": `${productID}`,\r\n // \"model\": `${model}`\r\n // }\r\n // }\r\n\r\n {\r\n \"Name\": \"site_fetchColorOfType\",\r\n \"Values\": {\r\n \"Type\": productTypeID,\r\n \"model\": modelYear\r\n }\r\n }\r\n ).then(response => {\r\n const filterColors = response.data.map((item) => {\r\n return {\r\n text: (lang == \"ar\" ? item?.ColorDescriptionAr : item?.ColorDescriptionEn),\r\n value: item.ColorID, ...item\r\n }\r\n });\r\n setFColors(filterColors);\r\n\r\n if (defultColor) {\r\n setSelectedColor(defultColor);\r\n } else {\r\n\r\n if (filterColors && filterColors[0]) {\r\n setSelectedColor(filterColors[0].value);\r\n }\r\n }\r\n if (response.data[0])\r\n handleShowVehicleDetails(response.data[0].ProductID, modelYear);\r\n }).catch(error => {\r\n console.log(error);\r\n })\r\n\r\n\r\n }\r\n };\r\n //Show the vehicle details[image-features]\r\n const handleShowVehicleDetails = (productID, model) => {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n \"name\": \"SiteGetMoreCarInfo\",\r\n \"values\": {\r\n \"productID\": `${productID}`,\r\n \"model\": `${model}`\r\n }\r\n }\r\n ).then(response => {\r\n setVehicleInfo(response.data[0]);\r\n }).catch(err => {\r\n console.log(err);\r\n })\r\n };\r\n\r\n\r\n\r\n const [cashCarImages, setCashCarImages] = useState({});\r\n const [outerCarImagesJson, setOuterCarImagesJson] = useState(null);\r\n const [isLoadingImages, setIsLoadingImages] = useState(false);\r\n const fetchCarDesign = async (activeColor, model, year) => {\r\n\r\n // console.log(\"activeColor>>>>>>>>>>>>>>>>>>>>>>>>>:\", activeColor);\r\n // console.log(\"model>>>>>>>>>>>>>>>>>>>>>>>>>:\", model);\r\n if (isLoadingImages == false) {\r\n\r\n const Namefiled = \"frontImage,leftImage,backImage,sideImage,rightImage,mainColorImage\"\r\n\r\n const prefix = 'data:image/png;base64,';\r\n if (model) {\r\n if (cashCarImages[model + \"-part-\" + 0]) {\r\n setIsLoadingImages(false);\r\n var AllCarImagesOUT = cashCarImages[model + \"-part-\" + 0];\r\n setOuterCarImagesJson(AllCarImagesOUT);\r\n\r\n } else {\r\n axios.post(\r\n config.baseURL + 'func',\r\n {\r\n //SiteFetchCarColorImages\r\n \"Name\": \"SiteFetchCarColorCodeImages\",\r\n \"Values\": {\r\n \"Id\": model,\r\n \"year\": year,\r\n // \"ColorID\": String(codeColor),\r\n \"ColorID\": null,\r\n \"FieldNameList\": null\r\n }\r\n }\r\n ).then(response => {\r\n setIsLoadingImages(false);\r\n var maincolorimageIndex = 0;\r\n // console.log(\"SiteFetchCarColorCodeImages responseData>>>>>>>>>>>>>>>>>>>>>>>>>:\", response.data);\r\n if (Array.isArray(response.data)) {\r\n const responseData = response.data;\r\n const groupResult = mapValues(groupBy(responseData, 'ColorCode'), fList => fList.map(items => omit(items, 'ColorCode')));\r\n\r\n // console.log(\"responseData groupResult>>>>>>>>>>>>>>>>>>>>>>>>>:\", groupResult);\r\n setOuterCarImagesJson(groupResult);\r\n cashCarImages[model + \"-part-\" + 0] = groupResult;\r\n setCashCarImages(cashCarImages);\r\n setIsLoadingImages(false);\r\n\r\n }\r\n }).catch(error => {\r\n // console.log(error);\r\n setIsLoadingImages(false);\r\n // cashCarImages[model + \"-part-\" + 0] = {};\r\n });\r\n\r\n }\r\n\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n\r\n {/* {banner.map(BN => {\r\n\r\n if (lang === \"en\") {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n })} */}\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n const val = { ...requestForm };\r\n val.name = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:name\")}\r\n name='name'\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.address = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n placeholder={trans(\"form:address\")}\r\n name='name'\r\n />\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.phoneNumber = `+${key}${value}`;\r\n setRequestForm(val);\r\n }\r\n }\r\n />\r\n {\r\n const val = { ...requestForm };\r\n val.email = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.email}\r\n placeholder={trans(\"form:email\")}\r\n name='email'\r\n />\r\n\r\n\r\n {\r\n const val = { ...requestForm };\r\n val.note = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='note'\r\n\r\n row={3}\r\n\r\n />\r\n {/* {\r\n const val = { ...requestForm };\r\n val.message = e;\r\n setRequestForm(val);\r\n }\r\n }\r\n name='message'\r\n title={trans(\"form:message\")}\r\n /> */}\r\n
    \r\n
    \r\n\r\n {\r\n // \r\n
    \r\n\r\n {\r\n return { text: item.DescriptionAr, value: item.ID }\r\n })]}\r\n onSelect={handleCustType}\r\n\r\n selectedValue={requestForm.custType}\r\n />\r\n\r\n {\r\n (requestForm?.custType == null)\r\n ? <>\r\n :
    \r\n {\r\n const val = { ...requestForm };\r\n if (identityType && identityType == 1) {\r\n\r\n val.identityNo = e.target.value;\r\n setIdentityValue(e.target.value);\r\n\r\n } else {\r\n\r\n val.cn = e.target.value;\r\n setCnValue(e.target.value);\r\n }\r\n setRequestForm(val);\r\n }}\r\n\r\n onLeave={(e) => {\r\n console.log(\"eeeeeeeeeeeeeeeeeeeeeeeeeeeeee\", e);\r\n }}\r\n />\r\n
    \r\n }\r\n\r\n
    \r\n //\r\n }\r\n\r\n {showProductSection && <>\r\n \r\n {\r\n const val = { ...requestForm };\r\n val.selectedModel = String(e);\r\n setYear(e);\r\n setRequestForm(val);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n handleFetchColors(val.selectedProduct, e);\r\n }\r\n }\r\n />\r\n \r\n\r\n \r\n }\r\n {\r\n\r\n if (e.value == '0') {\r\n dropDownResetter(() => {\r\n setFModels([]);\r\n setFColors([]);\r\n });\r\n return;\r\n }\r\n const val = { ...requestForm };\r\n val.productTypeID = String(e.value);\r\n setType(val.productTypeID);\r\n setRequestForm(val);\r\n setVehicleInfo(null);\r\n setSelectedColor(null);\r\n handleFetchColors(e.productTypeID, val.selectedModel);\r\n }\r\n }\r\n />\r\n\r\n {\r\n fColors.length > 0 && (\r\n {\r\n setSelectedColor(option);\r\n // setOuterCarImagesJson(null);\r\n console.log(\"fColors:\", fColors);\r\n console.log(\"option:\", option);\r\n const objectColor = fColors.filter(c => c.value == option)[0]?.ProductID;\r\n console.log(\"objectColor:\", objectColor);\r\n fetchCarDesign(option, objectColor, requestForm.selectedModel);\r\n }}\r\n options={[...fColors]}\r\n />\r\n )\r\n }\r\n {\r\n const val = { ...requestForm };\r\n val.quantity = e.target.value;\r\n setRequestForm(val);\r\n }}\r\n errorLabel={error?.quantity}\r\n name='quantity'\r\n />\r\n\r\n\r\n
    \r\n
    \r\n

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

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

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

    \r\n
    \r\n {vehicleInfo &&
    \r\n\r\n\r\n {outerCarImagesJson &&\r\n\r\n outerCarImagesJson[selectedColor?.split(\"/\")[0]] ?\r\n\r\n \"car\"\r\n :\r\n
    \r\n {/* {\r\n trans(\"finance:no_image_set\")\r\n } */}\r\n
    \r\n\r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n\r\n {\r\n if (isLoading == false)\r\n await handleSendRequest();\r\n }}\r\n />\r\n
    \r\n
    \r\n );\r\n}","import { Fragment, useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Banner from \"../../components/banner\";\r\nimport { InputField } from \"../../components/_input/_input\";\r\nimport { PhoneInput } from \"../../components/_input/_phoneInput\";\r\nimport { TextArea } from \"../../components/_input/_textArea\";\r\nimport { DropDownInput } from \"../../components/_input/_dropdown\";\r\nimport { FormButton } from \"../../components/_input/_button\";\r\nimport Breadcrumb from \"../../components/__simple/breadcrumb\";\r\nimport { CarColorPicker } from \"../vehicles/components/colorPicker\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport config from '../../configuration/config.json';\r\nimport axios from \"axios\";\r\nimport Joi from \"joi\";\r\nimport { GetMessages, formValidate, validateProperty } from '../../utils/validation';\r\nimport { toast } from \"react-toastify\";\r\nimport _ from 'lodash';\r\nexport function OrderFinancePage() {\r\n const history = useHistory();\r\n\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 {useLocation, useParams} from \"react-router\";\r\nimport {PhoneInput} from \"../../components/_input/_phoneInput\";\r\nimport Joi from 'joi';\r\nimport {GetMessages , formValidate,validateProperty} from '../../utils/validation';\r\nimport config from '../../configuration/config.json';\r\nimport { toast } from \"react-toastify\";\r\nimport {getCleanSlug,slugCombine} from '../../utils/slugManager';\r\n\r\nexport function MaintenanceOrderPage() {\r\n const {t: trans,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 { DropDownInput2 } from \"../components/_input/_dropdown2\";\r\nimport { CheckInput } from \"../components/_input/_checkInput\";\r\nimport { InputField } from \"../components/_input/_input\";\r\nimport crypto from 'crypto-js';\r\nimport Joi from 'joi';\r\nimport { formValidate, GetMessages, validateProperty } from \"../utils/validation\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Tab, TabList, TabPanel, Tabs } from \"react-tabs\";\r\nimport SectionHeading from \"../components/sectionHeading\";\r\nimport PhoneDropDown, { countriesCode } from \"../components/_input/_phoneDropDown\";\r\nimport { FileInput } from \"../components/_input/_fileInput\";\r\nimport { getData, saveData, User_Data_Key } from \"../utils/localStorageManager\";\r\nimport { includes } from \"lodash\";\r\nimport dropDownResetter from \"../utils/resetDropDown\";\r\nexport default function Profile() {\r\n const defaultProfileImage = '/assets/images/profile.jpg';\r\n // db.createDbRequest(\"UserDB\", 1);\r\n const fileInputRef = useRef();\r\n const { t: trans,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 onSelect={(option) => {\r\n const val = { ...filterHistory };\r\n val.filterStatusOption = option;\r\n setFilterHistory(val);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n const val = { ...filterHistory };\r\n val.filterDate = e.target.value;\r\n setFilterHistory(val);\r\n }} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {\r\n values && values.map((item, index) => {\r\n return {\r\n handleOnItemChangeStatus(id, status, item.CartID, lang === \"ar\" ? item.DescriptionAr : item.DescriptionEn, item.Total, item.CreatedAt, item.SiteDilveryID ? (lang === \"ar\" ? item.DilveryAr : item.DilveryEn) : (lang === \"ar\" ? item.siteAr : item.siteEn), lang === \"ar\" ? item.statusAr : item.statusAr, (item.SiteDilveryID ? trans('new:by_site') : trans('new:by_branch')));\r\n }}\r\n />\r\n })\r\n }\r\n
    \r\n );\r\n}\r\n// component that is used to show the history item\r\nexport const OwnHistoryItem = (\r\n { key,\r\n id,\r\n orderCode = '#',\r\n orderDate,\r\n orderStatusText = '',\r\n orderStatusCode,\r\n total = 0.0,\r\n locationText = '',\r\n visualElements = 4,\r\n maxVisualElements = 4,\r\n isActive = false,\r\n onItemClick,\r\n url_payment\r\n }\r\n) => {\r\n const { t: trans,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 {trans(\"info:complete_buy\")}\r\n
    \r\n
    \r\n {step == 0 ? trans(\"info:select_file\") : trans(\"info:upload_file\")}\r\n {\r\n await handleChangeImage(event);\r\n }} accept=\"image/*\" style={{ display: 'none' }} ref={fileRef} />\r\n
    \r\n
    \r\n
    \r\n {orderStatusText}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {orderCode}

    \r\n
    {(orderDate != null && moment(orderDate).isValid()) ? moment(orderDate).format('YYYY-MM-DD') : ''}
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n CartsImages.map((item, index) => {\r\n if (index < maxVisualElements)\r\n return (\r\n
    \r\n {id}\r\n
    )\r\n })\r\n }\r\n {\r\n (visualElements.length > maxVisualElements) &&\r\n
    \r\n
    2+
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"ownOrder:total_amount\")}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans(\"ownOrder:deleviry_place\")}\r\n
    \r\n
    \r\n {locationText}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n}","import { useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Price } from \"../../../components/__simple/_price\";\r\nimport OwnOrderContext from '../../components/ownOrders/ownOrderContext';\r\nimport config from \"../../../configuration/config.json\";\r\nimport moment from 'moment';\r\nexport const OwnOrderDetails = ({ orderNumber = '',\r\n orderStatusText = '',\r\n orderDate = '',\r\n deliveryLocation = '',\r\n deliveryMethod = '',\r\n amount = 0,\r\n shippingPrice = 0,\r\n finalTotal = 0,\r\n orderHistory = [] }) => {\r\n const { t: trans,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 const Body= {\r\n \"name\":\"site_featchTransCarts\",\r\n \"values\":{\r\n \"CartID\":Number(cartID)\r\n }}\r\n if(cartID)\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartTrans(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n function fetchMycartTracing({cartID}){\r\n const Body= {\r\n \"name\":\"Site_GetTrackingOFCart\",\r\n \"values\":{\r\n \"CartID\":Number(cartID)\r\n }}\r\n if(cartID)\r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartTrac(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n } \r\n function fetchCartStatus(){\r\n const Body= {\r\n \"name\":\"site_fetchStatusCart\"\r\n }\r\n \r\n axios.request({\r\n url: config.baseURL + 'func',\r\n data: Body, method:\"POST\",responseType:\"json\"\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.ApiObjectData);\r\n setTimeout(setCartStatus(response.data),1000);\r\n\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n // to set the evaulation details on the spare part product\r\n const handleSendEvaluation = ()=>{\r\n try{\r\n const result = formValidate(schema,evaluation);\r\n setError(result);\r\n if(sparePartProductID){\r\n if(Object.keys(result).length === 0){\r\n const {stars , comment} = evaluation;\r\n axios.post(\r\n config.baseURL + 'add',\r\n {\r\n \"object\":\"SparePartsEvalutions\",\r\n \"values\":{\r\n \"ProductID\":sparePartProductID,\r\n \"WebUserID\":Number(userID),\r\n \"StarsCount\":stars,\r\n \"Comment\":_.trim(comment)\r\n }\r\n }\r\n ).then(response=>{\r\n if(response.status == 201){\r\n handleEvaluatePopup(null,false);\r\n toast.success(trans(\"global:success_operation\"));\r\n }\r\n }).catch(err=>{\r\n toast.error(trans(\"error:unknown_failure\"));\r\n });\r\n }\r\n }\r\n }catch(err){\r\n console.log(err);\r\n } \r\n };\r\n // to filter the history item\r\n const handleFilterHistoryItems = (value)=>{\r\n try{\r\n const {filterStatusOption,filterDate} = value;\r\n let _fValues = Carts;\r\n if(filterStatusOption){\r\n _fValues = Carts.filter(item=>{\r\n return item.statusId === Number(filterStatusOption)\r\n });\r\n setFCarts(_fValues);\r\n }else{\r\n setFCarts(Carts); \r\n }\r\n if(filterDate){\r\n _fValues = Carts.filter(item=>{\r\n return new moment(item.CreatedAt).format('yyyy-MM-DD') === new moment().format('yyyy-MM-DD') \r\n });\r\n setFCarts(_fValues);\r\n }\r\n console.log(_fValues);\r\n }catch(error){\r\n console.log(error);\r\n }\r\n };\r\n useEffect(() => {\r\n try{\r\n const cleanData = JSON.parse(getData(User_Data_Key,true));\r\n const user_id = cleanData.id.toString().split('_')[1];\r\n window.addEventListener('resize', handleWindowResize);\r\n fetchMycart(user_id);\r\n setUserID(user_id);\r\n fetchCartStatus();\r\n return () => window.removeEventListener('resize', handleWindowResize);\r\n }catch(err){\r\n console.log(err);\r\n }\r\n }, []);\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n \r\n a.CartItemsTypeID===1)} />\r\n a.CartItemsTypeID===2)} onEvaluate={handleEvaluatePopup}/>\r\n a.CartItemsTypeID===3)}/>\r\n a.CartItemsTypeID===4)} />\r\n a.CartItemsTypeID===7)} />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

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

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