{"version":3,"sources":["Localization/Localization.ts","Localization/Contexts/LocalizationContext.tsx","Models/Settings.ts","Components/General/SWOnUpdateFound.tsx","Themes/Contexts/ThemeContext.tsx","Routes/RoutesList.ts","Contexts/MaterialStylesProvider.tsx","Themes/Theme.ts","Contexts/MaterialThemeProvider.tsx","Components/AppBars/AppBarComponent.tsx","Skeleton/Contexts/SkeletonContext.tsx","Components/Cards/CompanyCardComponent.tsx","Components/General/EmptyView.tsx","Routes/Middlewares/Context/RoutingMiddlewareCtx.ts","Components/General/SnackBarComponent.tsx","Services/StorageServices/LocalStorageService.ts","Services/StorageServices/StorageService.ts","Models/BaseModels/RDTModels.ts","Services/AloniServices/Base/ConnectionService.ts","Services/AloniServices/DataService.ts","Services/AloniServices/Base/BaseService.ts","Pages/BrandCollaboratorListPage.tsx","Components/Cards/BrandGuaranteeCommentCardComponent.tsx","Components/General/CircularLoading.tsx","Models/BaseModels/GeneralModels.ts","Pages/BrandGuaranteeCommentPage.tsx","Models/DocumentModel.ts","Components/Cards/BrandGuaranteeCardComponent.tsx","Pages/BrandGuaranteeListPage.tsx","Components/Cards/BrandCardComponent.tsx","Pages/BrandListPage.tsx","Components/ButtonTwoColor.tsx","Components/UnderlineTitle.tsx","Pages/BrandPage.tsx","Components/Cards/PostCardComponent.tsx","Pages/CompanyContactUsPage.tsx","Pages/CompanyCatalogListPage.tsx","Pages/CompanyCollaboratorListPage.tsx","Pages/CompanyPage.tsx","Pages/CompanyListPage.tsx","Components/CompanyCounter.tsx","Components/FourImageInARow.tsx","Pages/EditProfilePage.tsx","Pages/CompanyPostListPage.tsx","Components/Slider/PostCategorySliderComponent.tsx","Pages/CompanyProductGroupListPage.tsx","Components/Cards/ExhibitionCardComponent.tsx","Pages/ExhibitionListPage.tsx","Helper/DateUtility.ts","Pages/ExhibitionPage.tsx","Pages/HowHelpPage.tsx","Pages/ExhibitionReportListPage.tsx","Pages/ExpertPostListPage.tsx","Pages/FavoritePostListPage.tsx","Pages/SearchPage.tsx","Pages/IntroPage.tsx","Components/Slider/MainSliderComponent.tsx","Pages/MainPage.tsx","Components/Cards/PatronCardComponent.tsx","Pages/PatronListPage.tsx","Pages/PostListPage.tsx","Pages/PostPage.tsx","Pages/ProductListPage.tsx","Components/AppBars/AppBarSearchComponent.tsx","Components/HighlightWithSearch.tsx","Components/SearchResultBox.tsx","Pages/SettingPage.tsx","Pages/ServiceCompanyListPage.tsx","Components/Slider/ServiceSliderComponent.tsx","Pages/ServiceListPage.tsx","Pages/User/LoginPage.tsx","Pages/User/ActivationPage.tsx","Models/AdvertisementModels.ts","Routes/Middlewares/CommonMiddleware.tsx","Routes/Middlewares/Models/RoutingMiddlewareModels.ts","Routes/RoutingMiddleware.tsx","Components/General/LoadingGif.tsx","Skeleton/Skeleton.tsx","Themes/Contexts/ThemeContextProvider.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Common","tryAgain","fa","en","tr","operationSuccessfull","view","SWOnUpdateFound","update","notificationPermissionRequest","understood","installPromptDesc","installPromptStepOne","installPromptStepTwo","mainPage","ordersList","fillInTheRelatedField","cityAlreadyChosen","addCity","loading","noMoreItems","searchIn","technicalTitle","yes","no","fillInAllRequiredFields","phoneNumberInvalid","otpCodeInvalid","delete","addNewFamilyMemberDesc","deleteFamilyMember","sureYouWantToDeleteMember","addNewMember","enterPhoneNumberToSendConnectionRequest","phoneNo","familyMemberPosition","request","cancel","confirmRequest","sureYouWantToConfirmRequest","confirm","closeTheWindow","panelsAroundMe","edit","dsc","noNetwork","viewOffline","order","CartPage","totalCost","invoiceNo","distanceToSupplier","itemsCnt","requestSuccessfullySent","storeIsResponsibleForTheOrder","deliveryMethod","viewInvoice","viewDetails","warranty","warrantyCost","pricePerUnit","totalPrice","discount","itemDeletedSuccessfully","areYouSureToDeleteItem","areYouSureToDeleteAddress","cart","ActivationPage","verificationOfActivationCode","enterTheCode","second","reSendActivationCode","activationCodeInvalid","CommonListPage","id","title","select","AloniConnectionService","unexpectedError","SignUpPageStrings","weAreGlad","nameFamily","email","nameRequired","ErrorHandlerServiceStrings","retry","closePage","errorWhileSendingRequest","LoginOrSignUpPageStrings","loginToAccount","createNewAccount","createAccountMeans","LoginPageStrings","enterYourMobileNumber","mobileNo","otpCode","mobileNoRequired","otpCodeRequired","loginToAloniPlatformTitle","loginToAloniPlatformDesc","ChooseCity","search","AddNewAddress","addNewAddress","editAdderss","fullName","nationalCode","mobile","phone","state","city","postalAddress","postalCode","Items","priceRange","currency","from","to","noItemsToShow","pullDownToRefresh","releaseToRefresh","sort","sortAsc","sortDesc","sortPriceLowest","sortPriceHighest","sortClosestDist","sortFarthestDist","sortStoreStateOpen","sortStoreStateClose","onlyAvailableGoods","onlyDiscountedGoods","groupHasNoFilters","filtering","couldNotAccessLocation","onlyOpenStores","notEnoughItemsInStore","compareItems","shareItem","bookmarkItem","successfullyBookmarked","successfullyUnbookmarked","setBothItemsToStartComparison","itemNotSelected","needTwoItemsToCompare","showOnMap","showList","noLocationAvailableOnMap","item","finalPrice","remaining","shippingInfo","submitATicket","transferee","transfereeAddress","unavailable","size","color","panel","addToCart","itemDescription","itemTechnicalInfo","itemReviews","opinionPoll","participantCount","participateInQuestionaire","FollowingPage","followingPageTitle","recentActivities","followedPanels","bookmarked","CorrespondencePage","writeYourMessage","orderId","MrOrMs","Loading","circularLoading","ItemComparisonPage","itemComparisonPageTitle","PanelPage","viewWeeklySchedule","schedule","voteSuccessfullySubmitted","customerNeedsConfirmationToJoin","storeIsNotPublic","requestToJoinThePrivatePanelSent","requestToJoinSentAndAwaitsConfirmation","supplier","category","todaySchedule","viewOrganization","viewCommercialCenter","viewProdsAndMakeOrder","cancelSubscription","underReview","subscribe","subscribeDesc","subscribeToPanel","beInformedOfNewEvents","beInformedOfRecentlyAddedProducts","sureYouWantToCancelSubscription","filter","filterTypes","sortCriteria","showOnlyAvailableGoods","showOnlyDiscountedGoods","product","personnel","objectsOrPossessions","locations","branches","services","jobs","organizations","places","commercialCenters","panelLicenses","panelTitle","panelDesc","panelInfo","aboutUs","workHours","displayWeeklyHours","contactUs","socialMedia","emailAddress","telegram","instagram","twitter","location","personnelInfo","licenses","keywords","features","freeDelivery","paymentWithCredit","safePurchase","chooseAnOption","receiveNoti","blockNoti","reporting","panelReviews","aboutPanel","sendMsg","contactWithPanelAdmin","report","sendReport","yourOpinion","highlightVitrin","ShareApp","appShareTxt","failedToShareApp","SharePanel","sharePanel","sharePanelDesc","ShareItem","shareItemDesc","ShareSurvey","shareSurvey","shareSurveyDesc","SurveyName","opinionPollSurveyName","reportSurveyName","BarCodescanPage","barcodeScan","barcodeScanPageDescription","barcodeScanPageMaskDesc","barcodeLengthNotViable","submit","activateScanner","deactivateScanner","itemInfoNotFound","barcodeScanningNotSupported","SurveyPage","surveyPageTitle","surveyPageDescription","surveyPageMaskDesc","Drawer","ordersHistory","familyManagement","recommendToFriends","contactSupport","exit","OrderPage","deliveryAddress","changeAddress","addAddress","deliveryType","coverageArea","noSuitableDeliveryMethodForYourOrder","editYourOrderOrContactPanel","shippingAndPackingCost","tax","totalDiscount","totalAmountToPay","paymentMethod","cash","onlinePayment","payingFromYourWallet","orderList","activeOrders","previousOrders","choosePaymentMethod","chooseAddress","chooseShipmentType","shipOrder","displayOtherProducts","submitAndContinue","AddAddressPage","chooseState","chooseCity","chooseStateFirst","submitAddressOnMap","confirmAndSubmit","myAddresses","addNewAddressDesc","MessagesPage","messagesList","PanelActiveHourPage","sat","sun","mon","tue","wed","thu","fri","timeFrom","timeTo","scheduleNotAvailable","PanelOpinionPage","mustEnterOpinionRate","reviewAddedSuccessfully","submittedRate","fromVotes","vote","submitReview","mustEnterOpinionBody","canNotVoteOnYourComment","reviewDeletedSuccessfully","ScannerStrings","chooseCamera","LocationElementStrings","confirmLocation","TechncalItemInfoStrings","unit","prepaymentPercentage","cancelationFine","price","perItemPurchaseDiscount","perItemPurchaseDiscountInPercentage","priceIncludingTax","priceDesc","discountDesc","promotion","promotionDesc","availableQty","orderPoint","maxReqOrderPerDay","itemForSale","LOCALIZATION","LocalizationContext","React","createContext","values","currentLanguage","Languages","Directions","useLocalizationCtx","localization","useContext","useMemo","o","result","Object","keys","key","useStyles","makeStyles","theme","root","body","padding","updateBtn","float","snackBarRoot","left","right","borderRadius","anchorOriginTopCenter","top","transform","props","useState","isNotiOpen","setIsNotiOpen","swRegistrationRef","useRef","lng","cls","onCloseNoti","event","reason","onSWUpdateFoundHandler","e","current","detail","registration","useEffect","window","addEventListener","removeEventListener","children","Snackbar","classes","className","anchorOrigin","vertical","horizontal","open","onClose","message","Grid","container","direction","IconButton","aria-label","onClick","Close","fontSize","alignItems","xs","Typography","variant","Button","waitingSW","waiting","target","reload","postMessage","type","GetDataType","SearchSection","En","Ltr","Fa","Rtl","Tr","RoutesList","ThemeContext","language","setDirection","setLanguage","useThemeCtx","MaterialStylesProvider","StylesProvider","jss","create","plugins","jssPreset","rtl","MakeTheme","createMuiTheme","palette","primary","main","contrastText","secondary","dark","error","background","default","overrides","MuiInputAdornment","positionEnd","margin","positionStart","MuiDialog","width","paper","minWidth","MuiFilledInput","border","paddingTop","paddingBottom","backgroundColor","input","underline","borderBottom","MuiSnackbar","anchorOriginBottomCenter","bottom","MuiSnackbarContent","flexDirection","flex","action","paddingLeft","marginLeft","MuiTypography","caption","fontWeight","body1","MuiToolbar","MuiAppBar","boxShadow","MuiButton","MaterialThemeProvider","ThemeProvider","paddingRight","grey","overflow","textOverflow","whiteSpace","fullWidthInputElement","searchBtn","listItemIcon","marginRight","AppBarComponent","router","useHistory","Fragment","AppBar","position","elevation","style","zIndex","Toolbar","disableGutters","onLeftIconClick","goBack","leftIcon","KeyboardArrowLeft","secondLeftIcon","onSecondLeftIconClick","withRightIcon","onRightIconClick","rightIcon","Search","SkeletonContext","isHeaderVisible","isDrawerOpen","isDrawerEnable","isLoading","isPageLoading","ad","lastScreenName","screenName","lottery","modals","snackBar","setIsHeaderVisible","setIsLoading","setIsPageLoading","setIsDrawerEnable","setIsDrawerOpen","setModals","setAd","setLottery","setSnackBar","useSkeletonCtx","CompanyCardComponent","data","noBrand","useTheme","documents","subTitle","brands","score","maxWidth","marginTop","alignSelf","visibility","src","length","original","height","display","justifyContent","textAlign","wrap","overflowX","marginBottom","minHeight","map","i","index","maxHeight","objectFit","d","emptyViewImg","spacing","justify","alt","align","RoutingMiddlewareContext","useRoutingMiddlewareCtx","SnackBarType","SnackBarDuration","LocalStorageService","secureLS","SecureLS","encodingType","defaultValue","value","localStorage","getItem","isNaN","Error","parseInt","setItem","toString","JSON","stringify","parse","this","set","get","getString","clearKey","setStringEncrypted","getNumber","setNumberEncrypted","removeItem","clear","removeAll","BASE_URL","process","REACT_APP_IS_TEST_MODE","StorageService","storage","messengerIdentityId","messengerToken","token","getEncryptedString","section","setObject","getObject","setNumber","getToken","trim","setString","isPassed","setBoolean","getBoolean","dir","DEAULT_GRID_REQUEST_VALUES","filters","sorts","ignoredFields","pagination","needInfo","pageNo","pageSize","schema","ConnectionService","abortController","AbortController","noContentType","base","getKey","abort","endpoint","headers","baseUrl","fetch","method","getDefaultHeaders","signal","json","status","getErrorMsg","getLanguage","msg","DataService","storageService","exhibitionList","a","ApiRequest","query","variables","operationName","exhibition","getHome","home","lotteryCreateSession","lotteryId","appId","lotteryJoin","profile","setName","name","setEmail","service","advertisement","model","advertisementPlan","exhibitionLikeChange","exhibitionId","like","companyFollowChange","companyId","follow","unFollow","postLikeChange","postId","postBookmarkChange","bookmark","serviceMoreAdd","description","service_more_add","updateUserInfo","invitationCode","exhibitionListWithCategory","searchedText","tag","companyListWithCategory","companyCollaboratorList","company","singleCompanyIdTitle","serviceCompany","serviceId","messages","exhibitionPatron","exhibition_patron","brandList","brand","addGuaranteeComment","brandId","rate","comment","isSuggested","addCompanySurveyComment","addCompanyContact","content","postList","post","expertPostList","catalogList","brandGuaranteeList","guarantee","brandGuaranteeCommentList","productList","categoryId","favoritePostList","postCategoryList","post_category","collaborationsList","collaboratedType","collaborationTypes","confirmOtp","getMobile","loginOrRegister","connection","header","createStyles","breakpoints","up","image","userSelect","languageBtn","fontFamily","selected","logoContainer","btnContainer","borderWidth","inputContainer","countryCode","confirmBtn","BrandCollaboratorListPage","skeletonContext","companyList","setCompanyList","categories","setCategories","setPageNo","hasMore","setHasMore","listRef","setHeight","undefined","setValue","bid","useParams","loadCategory","cat","prev","loadData","pNo","Refresh","res","v","clientHeight","Tabs","onChange","newValue","Tab","label","role","ref","dataLength","next","loader","push","Company","EmptyView","BrandGuaranteeCommentCardComponent","userName","toLocaleString","maximumFractionDigits","minimumFractionDigits","Divider","text","CircularProgress","offset","mixins","toolbar","info","success","warning","textDecoration","TransitionUp","Slide","TransitionDown","ResultMode","SnackBarComponent","isOpen","setIsOpen","duration","Short","Info","isTopDirection","autoHideDuration","Infinite","Long","TransitionComponent","SnackbarContent","clsx","aria-describedby","Link","href","actionTitle","emptyContent","flexGrow","fab","cardHeader","card","whiteBtn","imageContainer","opinionSubmitBtn","opinionSubmitTitle","opinionSubmitSubTitle","opinionSubmitRating","opinionSubmitDivider","DocumentTypes","BrandGuaranteeCommentPage","logo","setLogo","setMargin","counterViewRef","setCompany","comments","setComments","isModalOpen","setIsModalOpen","handleCloseModal","skeletonCtx","userService","offsetLeft","thumb","commentModalIsOpen","setCommentModalIsOpen","commentIsSuggested","setCommentIsSuggested","isLoadingSubmitModalButton","setIsLoadingSubmitModalButton","commentRate","setCommentRate","commentText","setCommentText","addOrDeleteComment","Success","Failed","CircularLoading","MoreHoriz","Dialog","DialogContent","gutterBottom","phoneNumber","Phone","fax","PermPhoneMsg","AlternateEmail","ceo","AssignmentInd","address","LocationOn","contactInformation","DialogActions","textTransform","win","focus","justifySelf","Rating","icon","Star","emptyIcon","TextField","multiline","rows","placeholder","FormControlLabel","control","Checkbox","checked","labelPlacement","BrandGuaranteeCardComponent","totalComment","BrandGuaranteeListPage","setBrandGuaranteeList","filteredBrandGuaranteeList","setFilteredBrandGuaranteeList","setSelectedCategory","console","log","selectedCategory","setSearchSection","Exhibition","setSearchData","l","hidden","BrandGuaranteeComment","BrandCardComponent","footer","lineHeight","BrandListPage","setBrandList","Brand","ButtonTwoColor","UnderlineTitle","imgList","innerWidth","BrandPage","listHeight","setListHeight","marginValue","setMarginValue","buttonWidth","setButtonWidth","backImage","setBackImage","docs","setDocs","inputRef","BehaviorSubject","setBrand","lotteryCounter","isRegisterd","temp","appBarColor","setAppBarColor","appBarSecondIcon","setAppBarSecondIcon","innerHeight","Share","navigator","share","shareMessage","then","catch","overflowHeight","fullScreen","RssFeedOutlined","shadowTip","topShadow","bodyStyle","backgroundSize","BrandProductList","BrandCollaboratorList","BrandGuaranteeList","ExpertPostList","ownerCompany","FormMode","fullWidth","fullWidthInput","appBarContainer","appBar","PostCardComponent","reportValue","setReportValue","shareMessageRef","openPost","Post","onSubmitReport","bookmarkBtnIsLoading","setBookmarkBtnIsLoading","likeBtnIsLoading","setLikeBtnIsLoading","handelBookmarkButton","isBookmarkedByUser","setIsBookmarkedByUser","handelLikeButton","isLikedByUser","setLikes","likes","setIsLikedByUser","short_description","subtitle","expertUser","shopButton","shop_url","Expert","letterSpacing","bio","MoreVert","flexWrap","PlayArrow","Favorite","FavoriteBorder","setSelectionRange","document","execCommand","Bookmark","BookmarkBorder","PaperProps","hiddenLabel","inputProps","InputProps","CompanyCatalogListPage","setPostList","CompanyCollaboratorListPage","filteredExhibitionList","setFilteredExhibitionList","CompanyContactUsPage","setTitle","titleError","setTitleError","setContent","contentError","setContentError","setMobileNo","setShowImage","initialHeight","getData","onSubmitLogin","handleResize_setMenuWidth","helperText","inputmode","pattern","CompanyListPage","setExhibition","exhibition_contributor_category","ExhibitionContributor","CompanyCounter","count","route","FourImageInARow","selectedImage","setSelectedImage","isVideoModalOpen","setIsVideoModalOpen","isImageModalOpen","setIsImageModalOpen","selectedVideo","setSelectedVideo","handleCloseVideoModal","handleCloseImageModal","controls","slice","cursor","CompanyPage","collaboratorCount","setCollaboratorCount","postCount","setPostCount","productCount","setProductCount","exhibitionCount","setExhibitionCount","catalogCount","setCatalogCount","setScore","isFollowedByUser","setIsFollowedByUser","isFollowBtnLoading","setIsFollowBtnLoading","$margin","marginSub","unsubscribe","requestType","isFollowed","statics","CompanyExhibitionList","CompanyProductGroupList","CompanyPostList","CollaboratorList","CompanyCatalogList","backgroundImage","backgroundPosition","backgroundRepeat","ContactUs","CompanyPostListPage","loadCompany","PostCategorySliderComponent","serviceList","slideHeight","centerMode","infinite","slidesToScroll","slidesToShow","arrows","initialSlide","fixLength","CompanyProductList","textCenter","bottomBtn","bottomBtnIcon","mainCardBtnIcon","bottomBtnItem","cardContainer","overflowY","cardContent","cardRow","cartWrapper","CompanyProductGroupListPage","sliderRef","categoryList","setCategoryList","setSlideHeight","isSmall","useMediaQuery","reverse","EditProfilePage","nameError","emailNoError","getProfile","startAdornment","InputAdornment","edge","AccountBox","ExhibitionCardComponent","ExhibitionListPage","setExhibitionList","exhibition_category","dateEnStrToFa","enDate","realDate","dateParts","split","Date","jMoment","format","ExhibitionPage","replace","setLikeCounts","video","images","isBottomShitOpen","setIsBottomShitOpen","isLikeBtnLoading","setIsLikeBtnLoading","likesCounts","changeLikeStatus","createDate","PatronList","ContributorList","ReportList","exhibitor","ExhibitionReportListPage","ExpertPostListPage","FavoritePostListPage","HowHelpPage","mobileNoError","setMobileNoError","showImage","img","shadows","stepper","formControl","IntroPage","activeStep","setActiveStep","axis","onChangeIndex","step","enableMouseEvents","Math","abs","MobileStepper","steps","nextButton","setIntroPassed","Login","prevActiveStep","KeyboardArrowRight","backButton","disabled","MainSliderComponent","isTitleAndDescriptionVisibleInHome","FavoriteBorderOutlined","MainPage","cityCount","setCityCount","stateCount","setStateCount","homeResult","cityCo","stateCo","activeExhibitionCo","All","SearchOutlined","Setting","SettingsOutlined","ExhibitionList","HomeWorkOutlined","ServiceList","BusinessCenterOutlined","FavoriteList","PostList","PatronCardComponent","PatronListPage","fk_company_id","PostListPage","dataType","PostPage","setPost","selectedImageType","setSelectedImageType","selectImageAndOpenModal","catalog_url","onOpenLink","ProductListPage","setCategory","cid","TextFieldContainer","AppBarSearchComponent","searchValue","setSearchValue","searchValueSub","searchedValue","endAdornment","HighlightWithSearch","highlightStyle","unhighlightStyle","searched","setSearched","searchedTextSub","searchWords","autoEscape","textToHighlight","SearchResultBox","itemRoute","moreRoute","moreRouteState","setMoreRouteState","moreRouteSub","filterList","SearchPage","tags","setTags","setProduct","setFilters","setOpen","anchorRef","anchorEl","setAnchorEl","getSearchDataBySection","getSearchData","getSearchSection","searchedValueSub","pipe","debounceTime","startsWith","handleClose","Chip","Menu","keepMounted","transformOrigin","Fade","MenuItem","tagName","Companies","BrandList","ServiceCompanyListPage","filteredServiceList","setFilteredServiceList","setServiceList","loadServiceData","ServiceSliderComponent","ServiceCompany","ServiceListPage","HowHelp","SettingPage","followCount","setFollowCount","likeCount","setLikeCount","favoriteCount","setFavoriteCount","booksCount","setBookCount","activities","setActivities","bookmarkCount","bookCount","EditProfile","People","clearUserData","setToken","authorization","Main","VpnKey","component","AdvertisementType","LoginPage","setKey","setMobile","activation","LocalPhone","CommonMiddleware","routingMiddlewareCtx","middlewareState","skipCommonMiddleware","dispatchMiddlewareState","isIntroPassed","getIntroPassed","isUserLogin","locationHash","hash","clearSearchData","indexOf","includes","Intro","initialState","skipPanelAndItemDirectAccessMiddleware","referrer","RoutingMiddleware","Provider","payload","reducer","loadingText","Skeleton","setAdvertisement","progress","setProgress","lotteryProgress","setLotteryProgress","lotteryUrl","setLotteryUrl","lotteryMessage","setLotteryMessage","lotteryLoc","refreshIntervalId","setRouterStack","setLotteryCounter","isOnline","setIsOnline","extra","setExtra","isLotteryConfettiVisible","setIsLotteryConfettiVisible","isLotteryModalOpen","setIsLotteryModalOpen","isUserDialogShown","setIsUserDialogShown","isUserDialogOpen","setIsUserDialogOpen","isLotteryModalJoinLoading","setLotteryModalJoinLoading","loc","useLocation","setNotConnectedSnackBar","notConnectedSnackBar","onlineListener","offlineListener","callMessage","extra1","loadAdvertisement","wait","waitTime","timer","scan","acc","takeWhile","x","startLotteryTimer","registrationTimeAsSec","cancelLotteryCounter","listen","pop","pathname","handleOnline","isOn","handleCloseLotteryModal","clearInterval","s","afterRegistrationRedirectUrl","afterRegistrationMessage","h","LoadingGif","stopPropagation","in","mountOnEnter","unmountOnExit","Full","LinearProgress","Bottom","endDate","announcingTheWinnersDate","setInterval","btnTitle","ThemeContextProvider","getDirection","getElementById","App","CssBaseline","exact","path","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","serviceWorker","register","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","ReactDOM","render","dispatchEvent","CustomEvent","URL","origin","response","contentType","ready","unregister","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.bff65536.chunk.js","sourcesContent":["import { createLocalizationMap } from \"./Contexts/LocalizationContext\";\r\n\r\nconst Common = createLocalizationMap({\r\n tryAgain: {\r\n fa: \"دوباره امتحان نمایید.\",\r\n en: \"Try Again\",\r\n tr: \"Tekrar deneyin\",\r\n },\r\n operationSuccessfull: {\r\n fa: \"با موفقیت انجام شد\",\r\n en: \"Operation Successfull\",\r\n tr: \"İşlem başarı ile tamamlandı.\",\r\n },\r\n view: {\r\n fa: \"مشاهده\",\r\n en: \"View\",\r\n tr: \"Görünüm\",\r\n },\r\n SWOnUpdateFound: {\r\n fa: \"نسخه جدیدی از برنامه موجود است. آیا مایل به بروزرسانی هستید؟\",\r\n en: \"A new version is available. Would you like to update now?\",\r\n tr: \"yeni bir versiyon mevcut. Güncellemek ister misin?\",\r\n },\r\n update: {\r\n fa: \"بروزرسانی\",\r\n en: \"Update\",\r\n tr: \"Güncelleme\",\r\n },\r\n notificationPermissionRequest: {\r\n fa:\r\n \"ما برای اطلاع رسانی به شما در مورد وضعیت کالاها و خدماتی که سفارش داده اید نیاز به ارسال نوتیفیکیشن داریم. لطفا پس از کلیک کردن روی دکمه پایین و بسته شدن این پنجره دسترسی لازم را تایید نمایید.\",\r\n en:\r\n \"We require to send you notifications in order to keep you posted about the status of your orders. Please click on the button below to close this window and then grant the permission.\",\r\n tr:\r\n \"Sizi siparişlerinizin durumu hakkında bilgilendirmek için size bildirimler göndermemiz gerekiyor. Bu pencereyi kapatmak için lütfen aşağıdaki düğmeyi tıklayın ve ardından izin verin.\",\r\n },\r\n understood: {\r\n fa: \"متوجه شدم!\",\r\n en: \"Understood!\",\r\n tr: \"Anladım!\",\r\n },\r\n installPromptDesc: {\r\n fa:\r\n \"شما می توانید این اپ را با انجام مراحل زیر بر روی تلفن همراه خود نصب نمایید :\",\r\n en:\r\n \"You may install this app on your phone and use it locally by completing the following steps:\",\r\n tr:\r\n \"Bu uygulamayı telefonunuza yükleyebilir ve aşağıdaki adımları tamamlayarak yerel olarak kullanabilirsiniz:\",\r\n },\r\n installPromptStepOne: {\r\n fa: \"1- از نوار مرورگر خود روی این آیکون کلیک کنید\",\r\n en: \"1- Click on this icon from your browser's toolbar\",\r\n tr: \"1- Tarayıcınızın araç çubuğundan bu simgeye tıklayın\",\r\n },\r\n installPromptStepTwo: {\r\n fa: '2- بر ر وی دکمه \"Add To Homescreen\" کلیک نمایید',\r\n en: '2- Click on the \"Add To Homescreen\" button',\r\n tr: '2- \"Ana Ekrana Ekle\" düğmesini tıklayın',\r\n },\r\n mainPage: {\r\n fa: \"صفحه اصلی\",\r\n en: \"Main Page\",\r\n tr: \"Ana ekran / Ana sayfa\",\r\n },\r\n ordersList: {\r\n fa: \"لیست سفارشات\",\r\n en: \"Orders List\",\r\n tr: \"Siparişlerin listi\",\r\n },\r\n fillInTheRelatedField: {\r\n fa: \"فیلد مرتبط را وارد نمایید\",\r\n en: \"Fill In The Related Field\",\r\n tr: \"Siparişlerin listi\",\r\n },\r\n cityAlreadyChosen: {\r\n fa: \"این شهر انتخاب شده است\",\r\n en: \"This City Is Already Chosen\",\r\n tr: \"Bu Şehir Zaten Seçildi\",\r\n },\r\n addCity: {\r\n fa: \"اضافه کردن شهر\",\r\n en: \"Add City\",\r\n tr: \"Şehir Ekle\",\r\n },\r\n loading: {\r\n fa: \"در حال بارگزاری\",\r\n en: \"Loading\",\r\n tr: \"Yükleniyor\",\r\n },\r\n noMoreItems: {\r\n fa: \"مورد دیگری وجود ندارد\",\r\n en: \"No More Items\",\r\n tr: \"Başka Ürün Yok\",\r\n },\r\n searchIn: {\r\n fa: \"جستجو در\",\r\n en: \"Search In\",\r\n tr: \"De/da arayın\",\r\n },\r\n technicalTitle: {\r\n fa: \"عنوان فنی\",\r\n en: \"Technical Title\",\r\n tr: \"Teknik Başlık\",\r\n },\r\n yes: {\r\n fa: \"بله\",\r\n en: \"Yes\",\r\n tr: \"Evet\",\r\n },\r\n no: {\r\n fa: \"خیر\",\r\n en: \"No\",\r\n tr: \"Hayır\",\r\n },\r\n fillInAllRequiredFields: {\r\n fa: \"لطفا تمامی فیلدهای الزامی را وارد نمایید\",\r\n en: \"Please Fill In All Of The Required Fields\",\r\n tr: \"Lütfen Gerekli Alanların Tamamını Doldurunuz\",\r\n },\r\n phoneNumberInvalid: {\r\n fa: \"لطفا شماره موبایل را بطور صحیح وارد نمایید\",\r\n en: \"Phone Number Is Invalid\",\r\n tr: \"Telefon Numarası Geçersiz\",\r\n },\r\n otpCodeInvalid: {\r\n fa: \"لطفا کد اعتبار سنجی را بطور صحیح وارد نمایید\",\r\n en: \"OTP Code Is Invalid\",\r\n tr: \"Telefon Numarası Geçersiz\",\r\n },\r\n delete: {\r\n fa: \"حذف\",\r\n en: \"Delete\",\r\n tr: \"Silin\",\r\n },\r\n addNewFamilyMemberDesc: {\r\n fa:\r\n \"به کمک دکمه شناور (+) موجود در این بخش، می توانید ‍عضو جدیدی را به عنوان خانواده اضافه کنید.\",\r\n en: \"You can add a new family member by pressing the (+) button\",\r\n tr:\r\n \"Bu bölümdeki kayan butonu (+) yardımı ile yeni kişileri aileniz olarak kayıt ettirebilirsiniz.\",\r\n },\r\n deleteFamilyMember: {\r\n fa: \"حذف عضو\",\r\n en: \"Delete A Member\",\r\n tr: \"Bir Üyeyi Sil\",\r\n },\r\n sureYouWantToDeleteMember: {\r\n fa: \"آیا از انجام عملیات حذف اطمینان دارید؟\",\r\n en: \"Are you sure you want to delete this member?\",\r\n tr: \"Bu üyeyi silmek istediğinizden emin misiniz?\",\r\n },\r\n addNewMember: {\r\n fa: \"افزودن خانواده\",\r\n en: \"Add a new family member\",\r\n tr: \"Aileyi ekleyin\",\r\n },\r\n enterPhoneNumberToSendConnectionRequest: {\r\n fa:\r\n \"شماره تماس فرد مورد نظر را در کادر زیر وارد نمایید تا درخواست عضویت خانواده ارسال شود\",\r\n en: \"Enter The Person's Phone Number To Send Connection Request\",\r\n tr:\r\n \"Aile üyeliği başvurusunu göndermek için aşağıdaki kutuya kişinin iletişim numarasını girin\",\r\n },\r\n phoneNo: {\r\n fa: \"شماره موبایل\",\r\n en: \"Phone Number\",\r\n tr: \"Telefon numarası\",\r\n },\r\n familyMemberPosition: {\r\n fa: \"عنوان شخص در خانواده\",\r\n en: \"Family Member's Position\",\r\n tr: \"Ailedeki kişinin unvanı\",\r\n },\r\n request: {\r\n fa: \"درخواست\",\r\n en: \"Request\",\r\n tr: \"Talep edin\",\r\n },\r\n cancel: {\r\n fa: \"لغو\",\r\n en: \"Cancel\",\r\n tr: \"İptal edin\",\r\n },\r\n confirmRequest: {\r\n fa: \"تایید درخواست\",\r\n en: \"Confirm Request\",\r\n tr: \"İsteği kabul et\",\r\n },\r\n sureYouWantToConfirmRequest: {\r\n fa: \"آیا از تایید درخواست ارسال شده برایتان اطمینان دارید؟\",\r\n en: \"Are you sure you want to confirm the request?\",\r\n tr: \"İsteği onaylamak istediğinizden emin misiniz?\",\r\n },\r\n confirm: {\r\n fa: \"تایید\",\r\n en: \"Confirm\",\r\n tr: \"Onaylayın\",\r\n },\r\n closeTheWindow: {\r\n fa: \"بستن پنجره\",\r\n en: \"Close\",\r\n tr: \"Kapat\",\r\n },\r\n panelsAroundMe: {\r\n fa: \"پنل های اطراف\",\r\n en: \"Panels Around Me\",\r\n tr: \"Etrafımdaki Paneller\",\r\n },\r\n edit: {\r\n fa: \"ویرایش\",\r\n en: \"Edit\",\r\n tr: \"Düzeltin\",\r\n },\r\n dsc: {\r\n fa: \"توضیحات\",\r\n en: \"Description\",\r\n tr: \"Açıklamalar\",\r\n },\r\n noNetwork: {\r\n fa: \"شبکه در دسترس نیست\",\r\n en: \"No Network Coverage\",\r\n tr: \"Ağ Kapsamı Yok\",\r\n },\r\n viewOffline: {\r\n fa: \"مشاهده آفلاین\",\r\n en: \"View Offline\",\r\n tr: \"Çevrimdışı görüntüle\",\r\n },\r\n order: {\r\n fa: \"سفارش\",\r\n en: \"Orders\",\r\n tr: \"Sipariş\",\r\n },\r\n});\r\nconst CartPage = createLocalizationMap({\r\n totalCost: {\r\n fa: \"جمع خرید کل\",\r\n en: \"Total\",\r\n tr: \"Toplam alışveriş miktarı: \",\r\n },\r\n invoiceNo: {\r\n fa: \"شماره فاکتور: \",\r\n en: \"Invoice Number: \",\r\n tr: \"Fatura No.\",\r\n },\r\n distanceToSupplier: {\r\n fa: \"فاصله تا تامین کننده\",\r\n en: \"Distance To Supplier: \",\r\n tr: \"Tedarikçiye olan mesafe\",\r\n },\r\n itemsCnt: {\r\n fa: \"تعداد اقلام\",\r\n en: \"Items Count\",\r\n tr: \"Kalem sayısı\",\r\n },\r\n requestSuccessfullySent: {\r\n fa: \"درخواست شما با موفقیت ثبت شد\",\r\n en: \"Your Request Was Sent Successfully\",\r\n tr: \"Talebiniz başarıyla kaydedildi.\",\r\n },\r\n storeIsResponsibleForTheOrder: {\r\n fa: \"مسئولیت خرید شما به عهده فروشگاه می باشد\",\r\n en: \"The Store Is Responsible For Your Order\",\r\n tr: \"Alışveriş işleminiz ilgili mağazanın sorumluluğundadır.\",\r\n },\r\n deliveryMethod: {\r\n fa: \"روش ارسال\",\r\n en: \"Delivery Method\",\r\n tr: \"Gönderme yöntemi \",\r\n },\r\n viewInvoice: {\r\n fa: \"مشاهده فاکتور\",\r\n en: \"View Invoice\",\r\n tr: \"Faturayı görüntüle\",\r\n },\r\n viewDetails: {\r\n fa: \"نمایش جزئیات\",\r\n en: \"View Details\",\r\n tr: \"Detayları görüntüle\",\r\n },\r\n warranty: {\r\n fa: \"گارانتی\",\r\n en: \"Warranty\",\r\n tr: \"Garanti: \",\r\n },\r\n warrantyCost: {\r\n fa: \"هزینه گارانتی\",\r\n en: \"Warranty Cost\",\r\n tr: \"Garanti bedeli\",\r\n },\r\n pricePerUnit: {\r\n fa: \"قیمت واحد\",\r\n en: \"Price Per Unit\",\r\n tr: \"Birim fiyatı\",\r\n },\r\n totalPrice: {\r\n fa: \"قیمت کل\",\r\n en: \"Total Price\",\r\n tr: \"Toplam tutar\",\r\n },\r\n discount: {\r\n fa: \"تخفیف\",\r\n en: \"Discount\",\r\n tr: \"İndirim / İskonto\",\r\n },\r\n itemDeletedSuccessfully: {\r\n fa: \"آیتم مورد نظر با موفقیت حذف شد!\",\r\n en: \"Item Deleted Successfully!\",\r\n tr: \"Başarı ile silindi\",\r\n },\r\n areYouSureToDeleteItem: {\r\n fa: \"آیا از حذف این سفارش اطمینان دارید؟\",\r\n en: \"Are You Sure You Want To Delete This Item?\",\r\n tr:\r\n \"Bu alışveriş sepetini silmek istediğinizden emin misiniz? Bu işlem geri alınamaz\",\r\n },\r\n areYouSureToDeleteAddress: {\r\n fa: \"آیا از حذف این آدرس اطمینان دارید؟\",\r\n en: \"Are You Sure You Want To Delete This Address?\",\r\n tr:\r\n \"Bu adresi silmek istediğinizden emin misiniz? Bu işlem geri alınamayacak\",\r\n },\r\n cart: {\r\n fa: \"سبد خرید\",\r\n en: \"Cart\",\r\n tr: \"Alışveriş Sepeti \",\r\n },\r\n});\r\nconst ActivationPage = createLocalizationMap({\r\n verificationOfActivationCode: {\r\n fa: \"تایید کد فعال سازی\",\r\n en: \"Verification of activation code\",\r\n tr: \"Aktivasyon kodunu onaylayın\",\r\n },\r\n enterTheCode: {\r\n fa:\r\n \"کد تایید 5 رقمی به شماره تلفن همراه شما ارسال گردید. لطفا کد را در کادر پایین وارد نمایید.\",\r\n en:\r\n \"A 5-digit verification code was sent to your mobile number. Please enter the code in the box below.\",\r\n tr:\r\n \"Cep telefonu numaranıza beş basamaklı bir doğrulama kodu gönderildi. Lütfen aşağıdaki kutuya kodu girin.\",\r\n },\r\n confirm: {\r\n fa: \"تایید\",\r\n en: \"Confirm\",\r\n tr: \"Onaylayın\",\r\n },\r\n second: {\r\n fa: \"ثانیه\",\r\n en: \"second\",\r\n tr: \"Saniye\",\r\n },\r\n reSendActivationCode: {\r\n fa: \"ارسال مجدد کد فعال سازی\",\r\n en: \"Resend activation code\",\r\n tr: \"Aktivasyon kodunu tekrar gönder\",\r\n },\r\n activationCodeInvalid: {\r\n fa: \"کد اعتبار سنجی نامعتبر\",\r\n en: \"Activation Code Invalid\",\r\n tr: \"Aktivasyon Kodu Geçersiz\",\r\n },\r\n});\r\nconst CommonListPage = createLocalizationMap({\r\n id: {\r\n fa: \"کد\",\r\n en: \"Id\",\r\n tr: \"Kod\",\r\n },\r\n title: {\r\n fa: \"عنوان\",\r\n en: \"Title\",\r\n tr: \"Unvan/başlık\",\r\n },\r\n select: {\r\n fa: \"انتخاب\",\r\n en: \"Select\",\r\n tr: \"Seçin\",\r\n },\r\n});\r\nconst AloniConnectionService = createLocalizationMap({\r\n unexpectedError: {\r\n fa: \"خطای غیر منتظره\",\r\n en: \"unexpected error\",\r\n tr: \"beklenmeyen hata\",\r\n },\r\n});\r\nconst SignUpPageStrings = createLocalizationMap({\r\n weAreGlad: {\r\n fa:\r\n \"از اینکه به جمع کاربران ما می پیوندید بسیار خرسندیم.\\n لطفا جهت تکمیل فرآیند ثبت نام، اطلاعات زیر را وارد نمایید.\",\r\n en:\r\n \"We are very pleased to be joining our users. \\n Please enter the information below to complete the registration process.\",\r\n tr:\r\n \"Kullanıcı grubumuza katıldığınız için çok mutluyuz. Kayıt işlemini tamamlamak için lütfen aşağıdaki bilgileri girin.\",\r\n },\r\n nameFamily: {\r\n fa: \"نام و نام خانوادگی\",\r\n en: \"First and last name\",\r\n tr: \"Adı ve soyadı\",\r\n },\r\n email: {\r\n fa: \"پست الکترونیکی\",\r\n en: \"Email\",\r\n tr: \"E-Mail\",\r\n },\r\n nameRequired: {\r\n fa: \"ورود نام و نام خانوادگی الزامی است\",\r\n en: \"Firstname and lastname are required\",\r\n tr: \"Ad ve soyad gerekli\",\r\n },\r\n});\r\nconst ErrorHandlerServiceStrings = createLocalizationMap({\r\n retry: {\r\n fa: \"تلاش مجدد\",\r\n en: \"retry\",\r\n tr: \"yeniden dene\",\r\n },\r\n cancel: {\r\n fa: \"انصراف\",\r\n en: \"cancel\",\r\n tr: \"vazgeç\",\r\n },\r\n closePage: {\r\n fa: \"بستن صفحه\",\r\n en: \"close page\",\r\n tr: \"sayfayı kapat\",\r\n },\r\n errorWhileSendingRequest: {\r\n fa: \"خطا هنگام ارتباط با سرور\",\r\n en: \"Error connecting to server\",\r\n tr: \"Sunucuya bağlanırken hata oluştu\",\r\n },\r\n});\r\nconst LoginOrSignUpPageStrings = createLocalizationMap({\r\n loginToAccount: {\r\n fa: \"ورود به حساب کاربری\",\r\n en: \"Login to account\",\r\n tr: \"Hesaba giriş yap\",\r\n },\r\n createNewAccount: {\r\n fa: \"ایجاد حساب کاربری جدید\",\r\n en: \"Create new account\",\r\n tr: \"Yeni hesap oluştur\",\r\n },\r\n createAccountMeans: {\r\n fa:\r\n \"ایجاد حساب کاربری به معنی پذیرفتن \\n {شرایط و قوانین استفاده از برنامه} می باشد\",\r\n en:\r\n \"Creating an account means accepting \\n all of our {terms and conditions of use.}\",\r\n tr:\r\n \"Hesap oluşturmak uygulamanın kullanım şartlarını ve koşullarını kabul etmek anlamına gelir. \",\r\n },\r\n});\r\nconst LoginPageStrings = createLocalizationMap({\r\n enterYourMobileNumber: {\r\n fa:\r\n \"شماره تلفن همراه خود را جهت دریافت کد فعال سازی و ورود به حساب کاربری در کادر زیر وارد نمایید\",\r\n en:\r\n \"Enter your mobile number to get the activation code and account login in the box below\",\r\n tr:\r\n \"Aktivasyon kodunu almak ve hesabınıza giriş yapmak için aşağıdaki kutuya cep telefonu numaranızı girin\",\r\n },\r\n mobileNo: {\r\n fa: \"شماره تلفن همراه\",\r\n en: \"Mobile number\",\r\n tr: \"Cep Tel. No. \",\r\n },\r\n otpCode: {\r\n fa: \"دریافت کد اعتبار سنجی\",\r\n en: \"get the activation code\",\r\n tr: \"Doğrulama kodu\",\r\n },\r\n mobileNoRequired: {\r\n fa: \"ورود شماره تلفن همراه الزامی است\",\r\n en: \"Mobile Number Is Required\",\r\n tr: \"Cep Numarası Gerekli\",\r\n },\r\n otpCodeRequired: {\r\n fa: \"ورود کد اعتبار سنجی الزامی است\",\r\n en: \"OTP Code Is Required\",\r\n tr: \"Cep Numarası Gerekli\",\r\n },\r\n loginToAloniPlatformTitle: {\r\n fa: \"ورود به پلتفرم آلونی\",\r\n en: \"Login to exhibition platform\",\r\n tr: \"Uygulamaya giriş yapın\",\r\n },\r\n loginToAloniPlatformDesc: {\r\n fa:\r\n \"برای مشاهده صفحه مورد نظر، شماره تلفن همراه خود را در کادر زیر وارد نمایید\",\r\n en: \"Enter your phone number in order to view the requested page\",\r\n tr: \"Uygulamaya giriş yapın\",\r\n },\r\n});\r\nconst ChooseCity = createLocalizationMap({\r\n search: {\r\n fa: \"جستجو\",\r\n en: \"Search\",\r\n tr: \"Arama...\",\r\n },\r\n});\r\nconst AddNewAddress = createLocalizationMap({\r\n addNewAddress: {\r\n fa: \"افزودن آدرس جدید\",\r\n en: \"Add New Address\",\r\n tr: \"Yeni adres\",\r\n },\r\n editAdderss: {\r\n fa: \"ویرایش آدرس\",\r\n en: \"Edit Address\",\r\n tr: \"Adresi düzeltin\",\r\n },\r\n fullName: {\r\n fa: \"نام و نام خانوادگی\",\r\n en: \"Full Name\",\r\n tr: \"Adı ve soyadı\",\r\n },\r\n nationalCode: {\r\n fa: \"کد ملی\",\r\n en: \"NationalCode\",\r\n tr: \"Kimlik No.\",\r\n },\r\n mobile: {\r\n fa: \"موبایل\",\r\n en: \"Mobile\",\r\n tr: \"seyyar\",\r\n },\r\n phone: {\r\n fa: \"تلفن ثابت\",\r\n en: \"Phone\",\r\n tr: \"Sabit Tel. No.\",\r\n },\r\n state: {\r\n fa: \"استان\",\r\n en: \"State\",\r\n tr: \"İli: \",\r\n },\r\n city: {\r\n fa: \"شهر\",\r\n en: \"City\",\r\n tr: \"Şehri: \",\r\n },\r\n postalAddress: {\r\n fa: \"آدرس پستی\",\r\n en: \"Postal Address\",\r\n tr: \"E-mail\",\r\n },\r\n postalCode: {\r\n fa: \"کد پستی\",\r\n en: \"Postal Code\",\r\n tr: \"Posta kodu: \",\r\n },\r\n});\r\nconst Items = createLocalizationMap({\r\n priceRange: {\r\n fa: \"محدوده قیمت\",\r\n en: \"Price Range\",\r\n tr: \"Fiyat aralığı: \",\r\n },\r\n currency: {\r\n fa: \"تومان\",\r\n en: \"USD\",\r\n tr: \"TL\",\r\n },\r\n from: {\r\n fa: \"از\",\r\n en: \"from\",\r\n tr: \" den\",\r\n },\r\n to: {\r\n fa: \"تا\",\r\n en: \"to\",\r\n tr: \"e\",\r\n },\r\n noItemsToShow: {\r\n fa: \"هیچ آیتمی برای نمایش وجود ندارد\",\r\n en: \"No Items To Display\",\r\n tr: \"Gösterilecek hiçbir şey yok.\",\r\n },\r\n pullDownToRefresh: {\r\n fa: \"به پایین بکشید\",\r\n en: \"Pull Down\",\r\n tr: \"Aşağı çek\",\r\n },\r\n releaseToRefresh: {\r\n fa: \"رها کنید\",\r\n en: \"Release to Refresh\",\r\n tr: \"Yenilemek için Bırakın\",\r\n },\r\n sort: {\r\n fa: \"مرتب سازی\",\r\n en: \"Sort\",\r\n tr: \"Sıralayın\",\r\n },\r\n sortAsc: {\r\n fa: \"مرتب سازی بر اساس حروف الفبا : ابتدا\",\r\n en: \"Sort Alphabetically: A-Z\",\r\n tr: \"Alfabetik olarak baştan sırala\",\r\n },\r\n sortDesc: {\r\n fa: \"مرتب سازی بر اساس حروف الفبا : انتها\",\r\n en: \"Sort Alphabetically: Z-A\",\r\n tr: \"Alfabetik olarak sondan sırala\",\r\n },\r\n sortPriceLowest: {\r\n fa: \"مرتب سازی بر اساس قیمت : ارزان ترین\",\r\n en: \"Sort Based on Price(Asc)\",\r\n tr: \"Ucuz fiyatlara göre sırala\",\r\n },\r\n sortPriceHighest: {\r\n fa: \"مرتب سازی بر اساس قیمت : گران ترین\",\r\n en: \"Sort Based on Price(Desc)\",\r\n tr: \"Pahalı fiyatlara göre sırala\",\r\n },\r\n sortClosestDist: {\r\n fa: \"مرتب سازی بر اساس فاصله : نزدیک ترین\",\r\n en: \"Sort Based on Distance : Closest to me\",\r\n tr: \"En yakın mesafeye göre sırala\",\r\n },\r\n sortFarthestDist: {\r\n fa: \"مرتب سازی بر اساس فاصله : دور ترین\",\r\n en: \"Sort Based on Distance : Farthest from me\",\r\n tr: \"En uzak mesafeye göre sırala\",\r\n },\r\n sortStoreStateOpen: {\r\n fa: \"مرتب سازی بر اساس وضعیت : باز\",\r\n en: \"Sort Based on Store State : Open\",\r\n tr: \"Açık duruma göre sırala\",\r\n },\r\n sortStoreStateClose: {\r\n fa: \"مرتب سازی بر اساس وضعیت : بسته\",\r\n en: \"Sort Based on Store State : Closed\",\r\n tr: \"Kapalı duruma göre sırala\",\r\n },\r\n onlyAvailableGoods: {\r\n fa: \"فقط کالا های موجود\",\r\n en: \"Only Available Goods\",\r\n tr: \"Sadece mevcut ürünler\",\r\n },\r\n onlyDiscountedGoods: {\r\n fa: \"فقط کالا های تخفیف دار\",\r\n en: \"Only Discounted Goods\",\r\n tr: \"Sadece indirimli ürünler\",\r\n },\r\n groupHasNoFilters: {\r\n fa: \"این گروه فاقد فیلتر می باشد\",\r\n en: \"This Group Has No Filters\",\r\n tr: \"Bu grup filtresizdir\",\r\n },\r\n filtering: {\r\n fa: \"فیلتر کردن\",\r\n en: \"Filter\",\r\n tr: \"Filtre edin\",\r\n },\r\n couldNotAccessLocation: {\r\n fa: \"امکان دسترسی به موقعیت مکانی شما وجود ندارد\",\r\n en: \"Could Not Access Your Location Info\",\r\n tr: \"Konum belirleme modülünüze erişilemiyor\",\r\n },\r\n onlyOpenStores: {\r\n fa: \"فقط فروشگاه های باز\",\r\n en: \"Show Only Open Stores\",\r\n tr: \"Sadece açık mağazalar\",\r\n },\r\n notEnoughItemsInStore: {\r\n fa: \"موجودی کالا در فروشگاه به پایان رسید\",\r\n en: \"Not Enough Items In Store\",\r\n tr: \"Mağazadaki envanter bitti\",\r\n },\r\n compareItems: {\r\n fa: \"مقایسه\",\r\n en: \"Compare\",\r\n tr: \"Karşılaştırın\",\r\n },\r\n shareItem: {\r\n fa: \"اشتراک گذاری\",\r\n en: \"Share\",\r\n tr: \"Paylaş \",\r\n },\r\n bookmarkItem: {\r\n fa: \"نشان کردن\",\r\n en: \"Bookmark\",\r\n tr: \"işaretleyin\",\r\n },\r\n successfullyBookmarked: {\r\n fa: \"با موفقیت نشان شد\",\r\n en: \"Successfuly Bookmarked\",\r\n tr: \"Başarıyla Yer İmlerine Eklendi\",\r\n },\r\n successfullyUnbookmarked: {\r\n fa: \"نشان ثبت شده با موفقیت حذف شد\",\r\n en: \"Bookmark Successfuly Removed\",\r\n tr: \"Yer İşareti Başarıyla Kaldırıldı\",\r\n },\r\n setBothItemsToStartComparison: {\r\n fa:\r\n \"آیتم مورد نظر به لیست مقایسه اضافه شد,\\nآیتم دیگری را جهت اعمال مقایسه انتخاب کنید.\",\r\n en:\r\n \"Item Selected For Comparison. Select A Second Item To Start Comparing.\",\r\n tr:\r\n \"İlgili Öğe, karşılaştırma listesine eklendi, karşılaştırmayı uygulamak için başka bir öğe seçin.\",\r\n },\r\n itemNotSelected: {\r\n fa: \"انتخاب نشده\",\r\n en: \"Item Not Selected\",\r\n tr: \"Seçilmemiş\",\r\n },\r\n needTwoItemsToCompare: {\r\n fa: \"برای مقایسه باید دو کالا در لیست مقایسه وجود داشته باشد.\",\r\n en: \"Two Items Must Be Selected To Perfrom A Comparison\",\r\n tr: \"Karşılaştırmak için karşılaştırma listesinde iki öğe bulunmalıdır.\",\r\n },\r\n showOnMap: {\r\n fa: \"نمایش روی\\nنقشه\",\r\n en: \"Show On Map\",\r\n tr: \"Harşta üzerinde görüntüle\",\r\n },\r\n showList: {\r\n fa: \"نمایش\\nلیستی\",\r\n en: \"Show List\",\r\n tr: \"Liste şeklinde görüntüle\",\r\n },\r\n noLocationAvailableOnMap: {\r\n fa: \"هیچ موقعیت مکانی برای این گروه ثبت نشده است\",\r\n en: \"No Location Available For This Group\",\r\n tr: \"Bu grup için hiçbir konum kaydedilmedi.\",\r\n },\r\n item: {\r\n fa: \" آیتم \",\r\n en: \" Item \",\r\n tr: \"öge\",\r\n },\r\n finalPrice: {\r\n fa: \"قیمت نهایی\",\r\n en: \"Final Price\",\r\n tr: \"Son tutar\",\r\n },\r\n remaining: {\r\n fa: \"باقیمانده\",\r\n en: \"Remaining\",\r\n tr: \"Kalan\",\r\n },\r\n shippingInfo: {\r\n fa: \"اطلاعات ارسال\",\r\n en: \"Shipping Info\",\r\n tr: \"Gönderme bilgileri\",\r\n },\r\n submitATicket: {\r\n fa: \"ثبت تیکت\",\r\n en: \"Submit A Ticket\",\r\n tr: \"Bilet kaydedin\",\r\n },\r\n transferee: {\r\n fa: \"تحویل گیرنده:\",\r\n en: \"Transferee:\",\r\n tr: \"Teslim alan \",\r\n },\r\n transfereeAddress: {\r\n fa: \"آدرس تحویل گیرنده:\",\r\n en: \"Transferee Address:\",\r\n tr: \"Teslim alanın adresi\",\r\n },\r\n unavailable: {\r\n fa: \"ناموجود\",\r\n en: \"Unavailable\",\r\n tr: \"Mevcut değil\",\r\n },\r\n size: {\r\n fa: \"سایز : \",\r\n en: \"Size: \",\r\n tr: \"Boyut: \",\r\n },\r\n color: {\r\n fa: \"رنگ : \",\r\n en: \"Color: \",\r\n tr: \"Renk: \",\r\n },\r\n panel: {\r\n fa: \"پنل : \",\r\n en: \"Panel: \",\r\n tr: \"Panel: \",\r\n },\r\n addToCart: {\r\n fa: \"افزودن به سبد خرید\",\r\n en: \"Add to cart\",\r\n tr: \"Sepete ekle\",\r\n },\r\n itemDescription: {\r\n fa: \"نقد و بررسی\",\r\n en: \"Description\",\r\n tr: \"Eleştirin ve inceleyin\",\r\n },\r\n itemTechnicalInfo: {\r\n fa: \"اطلاعات تکمیلی\",\r\n en: \"Technical Specifications\",\r\n tr: \"Tekik bilgileri\",\r\n },\r\n itemReviews: {\r\n fa: \"دیدگاه کاربران\",\r\n en: \"Reviews\",\r\n tr: \"Kullanıcıların görüşleri\",\r\n },\r\n opinionPoll: {\r\n fa: \"نظرسنجی\",\r\n en: \"Survey\",\r\n tr: \"Anket\",\r\n },\r\n participantCount: {\r\n fa: \"تعداد شرکت کنندگان\",\r\n en: \"Participant Count\",\r\n tr: \"Katılımcılar\",\r\n },\r\n participateInQuestionaire: {\r\n fa: \"شرکت در پرسشنامه\",\r\n en: \"Participate In Questionaire\",\r\n tr: \"Ankete katılın\",\r\n },\r\n});\r\nconst FollowingPage = createLocalizationMap({\r\n followingPageTitle: {\r\n fa: \"دنبال شده ها\",\r\n en: \"Following\",\r\n tr: \"Son faaliyetler\",\r\n },\r\n recentActivities: {\r\n fa: \"فعالیت های اخیر\",\r\n en: \"Recent Activities\",\r\n tr: \"Son Aktiviteler\",\r\n },\r\n followedPanels: {\r\n fa: \"پنل های دنبال شده\",\r\n en: \"Followed Panels\",\r\n tr: \"Takip Edilen Paneller\",\r\n },\r\n bookmarked: {\r\n fa: \"آیتم های نشان شده\",\r\n en: \"Bookmarked\",\r\n tr: \"Yer işareti eklendi\",\r\n },\r\n});\r\nconst CorrespondencePage = createLocalizationMap({\r\n writeYourMessage: {\r\n fa: \"متن پیام خود را بنویسید\",\r\n en: \"Write Out Your Message\",\r\n tr: \"Mesajınızı Yazın\",\r\n },\r\n orderId: {\r\n fa: \"کد سفارش: \",\r\n en: \"Order Id\",\r\n tr: \"Sipariş kodu\",\r\n },\r\n MrOrMs: {\r\n fa: \"آقا/خانم\",\r\n en: \"Mr/Ms\",\r\n tr: \"Bay/Bayan\",\r\n },\r\n});\r\nconst Loading = createLocalizationMap({\r\n loading: {\r\n fa: \"در حال بارگزاری ...\\nلطفا منتظر بمانید\",\r\n en: \"Loading...\\nPlease Wait\",\r\n tr: \"yükleniyor... \\nlütfen bekleyin\",\r\n },\r\n circularLoading: {\r\n fa: \"در حال بارگزاری ...\",\r\n en: \"Loading ...\",\r\n tr: \"yükleniyor...\",\r\n },\r\n});\r\nconst ItemComparisonPage = createLocalizationMap({\r\n itemComparisonPageTitle: {\r\n fa: \"مقایسه\",\r\n en: \"Compare\",\r\n tr: \"Karşılaştırın\",\r\n },\r\n});\r\nconst PanelPage = createLocalizationMap({\r\n viewWeeklySchedule: {\r\n fa: \"نمایش ساعات کار هفتگی\",\r\n en: \"View Weekly Schedule\",\r\n tr: \"Haftalık çalışma saatlerini göster\",\r\n },\r\n schedule: {\r\n fa: \"ساعات فعالیت\",\r\n en: \"Schedule\",\r\n tr: \"Faaliyet saatleri\",\r\n },\r\n voteSuccessfullySubmitted: {\r\n fa: \"نظر شما با موفقیت ثبت شد\",\r\n en: \"Your Vote Is Successfully Submitted\",\r\n tr: \"Oyunuz Başarıyla Gönderildi\",\r\n },\r\n customerNeedsConfirmationToJoin: {\r\n fa:\r\n \"حساب کاربری این پنل ویژه می باشد. ابتدا پنل را دنبال کنید تا بعد از تایید به محتوای آن دسترسی داشته باشید.\",\r\n en:\r\n \"In Order To Join This Panel, Your Request Needs To Be Confirmed By The Owner.\",\r\n tr:\r\n \"Bu panelin hesabı özeldir. Onaylandıktan sonra içeriğine erişmek için önce paneli takip edin.\",\r\n },\r\n storeIsNotPublic: {\r\n fa: \" ابتدا پنل را دنبال کنید تا به محتوای آن دسترسی داشته باشید.\",\r\n en: \"You Need To Follow The Panel To Access Its Contents\",\r\n tr: \"İçeriğine erişmek için önce paneli takip edin.\",\r\n },\r\n requestToJoinThePrivatePanelSent: {\r\n fa:\r\n \"درخواست شما برای عضویت در این پنل ارسال شد و در حال بررسی توسط مالک پنل می باشد.\",\r\n en:\r\n \"Your Request To Join This Panel Was Sent Successfully And Will Be Viewd By The Owner.\",\r\n tr: \"Mağaza üyelik talebiniz inceleniyor\",\r\n },\r\n requestToJoinSentAndAwaitsConfirmation: {\r\n fa: \"عضویت شما پس از تایید پنل کامل می شود\",\r\n en: \"Your Request Was Sent And Awaits Panel's Confirmation\",\r\n tr: \"Panel onaylandıktan sonra üyeliğiniz tamamlanacaktır.\",\r\n },\r\n supplier: {\r\n fa: \" تامین کننده \",\r\n en: \" Supplier \",\r\n tr: \"Tedarikçi\",\r\n },\r\n category: {\r\n fa: \"دسته بندی\",\r\n en: \"Category\",\r\n tr: \"Guruplama\",\r\n },\r\n todaySchedule: {\r\n fa: \"ساعات کار امروز\",\r\n en: \"Today's Schedule\",\r\n tr: \"Bugün çalışma saatleri\",\r\n },\r\n viewOrganization: {\r\n fa: \"مشاهده سازمان\",\r\n en: \"View Organization\",\r\n tr: \"Kuruluşu görüntüle\",\r\n },\r\n viewCommercialCenter: {\r\n fa: \"مشاهده مرکز تجاری\",\r\n en: \"View Commercial Center\",\r\n tr: \"Ticaret Merkezini Görüntüle\",\r\n },\r\n viewProdsAndMakeOrder: {\r\n fa: \"مشاهده محصولات و ثبت سفارش\",\r\n en: \"View Products And Make An Order\",\r\n tr: \"Sipariş kaydedin ve ürünü görüntüleyin\",\r\n },\r\n cancelSubscription: {\r\n fa: \"لغو عضویت\",\r\n en: \"Cancel Subscription\",\r\n tr: \"Üyeliği iptal et\",\r\n },\r\n underReview: {\r\n fa: \"در حال بررسی\",\r\n en: \"Under Review\",\r\n tr: \"İnceleniyor...\",\r\n },\r\n subscribe: {\r\n fa: \"دنبال کردن\",\r\n en: \"Subscribe\",\r\n tr: \"Takip et\",\r\n },\r\n subscribeDesc: {\r\n fa: \"دریافت اعلانها، مشاهده محتوا و ...\",\r\n en: \"Receive Notifications, View The Content, ...\",\r\n tr: \"Bildirimler alın, içeriği görüntüleyin ve ...\",\r\n },\r\n subscribeToPanel: {\r\n fa: \"دنبال کردن پنل\",\r\n en: \"Subscribe To The Panel\",\r\n tr: \"Paneli takip et\",\r\n },\r\n beInformedOfNewEvents: {\r\n fa: \"- میتوانید از اتفاقات جدید در پنل با خبر شوید\",\r\n en: \"You'll Be Informed Of New Events\",\r\n tr: \"Panelde yeni gelişmelerden haberdar olabilirsiniz.\",\r\n },\r\n beInformedOfRecentlyAddedProducts: {\r\n fa: \"- میتوانید از کالاهای جدید اضافه شده مطلع شوید\",\r\n en: \"You'll Be Informed Of The Recently Added Products\",\r\n tr: \"Panele eklenen yeni ürünlerden haberdar olabilirsiniz.\",\r\n },\r\n sureYouWantToCancelSubscription: {\r\n fa: \"آیا از لغو عضویت از این فروشگاه اطمینان دارید؟\",\r\n en: \"Are You Sure You Want Cancel Your Subscription?\",\r\n tr: \"Bu mağazanın üyeliğinden çıkmak istediğinizden emin misiniz?\",\r\n },\r\n filter: {\r\n fa: \"فیلتر کردن\",\r\n en: \"Filter\",\r\n tr: \"Filtre edin\",\r\n },\r\n filterTypes: {\r\n fa: \"نوع، قیمت و ...\",\r\n en: \"Type, Price, ...\",\r\n tr: \"Türü, Fiyatı ve ...\",\r\n },\r\n sort: {\r\n fa: \"مرتب سازی\",\r\n en: \"Sort\",\r\n tr: \"Sıralayın\",\r\n },\r\n sortCriteria: {\r\n fa: \"قیمت، فاصله و ...\",\r\n en: \"Price, Distance, ...\",\r\n tr: \"Fiyatı, Mesafesi ve ...\",\r\n },\r\n showOnlyAvailableGoods: {\r\n fa: \"فقط کالا های موجود\",\r\n en: \"Only Available Prodcuts\",\r\n tr: \"Sadece mevcut ürünler\",\r\n },\r\n showOnlyDiscountedGoods: {\r\n fa: \"فقط کالا های تخفیف دار\",\r\n en: \"Only Products with Discount\",\r\n tr: \"Sadece indirimli ürünler\",\r\n },\r\n select: {\r\n fa: \"انتخاب\",\r\n en: \"Select\",\r\n tr: \"Seçin\",\r\n },\r\n product: {\r\n fa: \"کالا\",\r\n en: \"Product\",\r\n tr: \"Ürün \",\r\n },\r\n personnel: {\r\n fa: \"اشخاص\",\r\n en: \"Personnel\",\r\n tr: \"Personel\",\r\n },\r\n objectsOrPossessions: {\r\n fa: \"اموال/اشیا\",\r\n en: \"Objects/Possessions\",\r\n tr: \"Mallar\",\r\n },\r\n locations: {\r\n fa: \"اماکن\",\r\n en: \"Locations\",\r\n tr: \"Konumlar\",\r\n },\r\n branches: {\r\n fa: \"شعب\",\r\n en: \"Branches\",\r\n tr: \"Şubeler\",\r\n },\r\n services: {\r\n fa: \"خدمات\",\r\n en: \"Services\",\r\n tr: \"Hizmetler\",\r\n },\r\n jobs: {\r\n fa: \"شغل\",\r\n en: \"Occupation\",\r\n tr: \"Meslek\",\r\n },\r\n organizations: {\r\n fa: \"سازمان ها\",\r\n en: \"Organizations\",\r\n tr: \"Organizasyonlar\",\r\n },\r\n places: {\r\n fa: \"مکان ها\",\r\n en: \"Places\",\r\n tr: \"Yerler\",\r\n },\r\n commercialCenters: {\r\n fa: \"مراکز تجاری\",\r\n en: \"Commercial Centers\",\r\n tr: \"Ticari Merkezler\",\r\n },\r\n panelLicenses: {\r\n fa: \"مجوزهای پنل\",\r\n en: \"Panel's Licenses\",\r\n tr: \"Panel izin belgeleri\",\r\n },\r\n panelTitle: {\r\n fa: \"عنوان\",\r\n en: \"Title\",\r\n tr: \"Unvan/başlık\",\r\n },\r\n panelDesc: {\r\n fa: \"توضیحات\",\r\n en: \"Description\",\r\n tr: \"Açıklamalar\",\r\n },\r\n panelInfo: {\r\n fa: \"اطلاعات پنل\",\r\n en: \"Panel Info}\",\r\n tr: \"Panel bilgileri\",\r\n },\r\n aboutUs: {\r\n fa: \"درباره ما\",\r\n en: \"About Us\",\r\n tr: \"Hakkımızda\",\r\n },\r\n workHours: {\r\n fa: \"ساعت کاری \",\r\n en: \"Work hours: \",\r\n tr: \"Mesai saatleri\",\r\n },\r\n displayWeeklyHours: {\r\n fa: \"نمایش ساعت کار هفتگی\",\r\n en: \"Display weekly hours\",\r\n tr: \"Haftalık çalışma saatlerini göster\",\r\n },\r\n contactUs: {\r\n fa: \"تماس با ما\",\r\n en: \"Contact us\",\r\n tr: \"Bizimle iletişime girin\",\r\n },\r\n socialMedia: {\r\n fa: \"حساب شبکه های اجتماعی\",\r\n en: \"Social Media\",\r\n tr: \"Sosyal medya hesapları\",\r\n },\r\n emailAddress: {\r\n fa: \"پست الکترونیکی\",\r\n en: \"Email\",\r\n tr: \"E-Mail\",\r\n },\r\n telegram: {\r\n fa: \"تلگرام\",\r\n en: \"Telegram\",\r\n tr: \"Telegram\",\r\n },\r\n instagram: {\r\n fa: \"اینستاگرام\",\r\n en: \"Instagram\",\r\n tr: \"Instagram\",\r\n },\r\n twitter: {\r\n fa: \"توییتر\",\r\n en: \"Twitter\",\r\n tr: \"twitter\",\r\n },\r\n location: {\r\n fa: \"موقعیت مکانی\",\r\n en: \"Location\",\r\n tr: \"Konum\",\r\n },\r\n personnelInfo: {\r\n fa: \"معرفی اشخاص\",\r\n en: \"Personnel Info\",\r\n tr: \"Personeli tanıtın\",\r\n },\r\n licenses: {\r\n fa: \"مجوز ها و گواهینامه ها\",\r\n en: \"Licenses\",\r\n tr: \"İzin belgeleri ve sertifikalar\",\r\n },\r\n keywords: {\r\n fa: \"کلید واژه ها\",\r\n en: \"Keywords\",\r\n tr: \"Anahtar kelimeler\",\r\n },\r\n features: {\r\n fa: \"امکانات و ویژگی ها\",\r\n en: \"Features\",\r\n tr: \"İmkanlar ve özellikler\",\r\n },\r\n freeDelivery: {\r\n fa: \"تحویل رایگان\",\r\n en: \"Free Delivery\",\r\n tr: \"Ücretsiz teslimat\",\r\n },\r\n paymentWithCredit: {\r\n fa: \"پرداخت اعتباری\",\r\n en: \"Payment with credit\",\r\n tr: \"Kredi olarak ödeyin\",\r\n },\r\n safePurchase: {\r\n fa: \"خرید امن\",\r\n en: \"Safe Purchase\",\r\n tr: \"Güvenli Satın Alma\",\r\n },\r\n chooseAnOption: {\r\n fa: \"لطفا یکی از گزینه ها را انتخاب نمایید!\",\r\n en: \"Please choose one of the options!\",\r\n tr: \"Lütfen seçeneklerden birini seçin!\",\r\n },\r\n receiveNoti: {\r\n fa: \"دریافت اعلان\",\r\n en: \"Receive Notifications\",\r\n tr: \"Bildirimi teslim alın\",\r\n },\r\n blockNoti: {\r\n fa: \"بستن اعلان\",\r\n en: \"Block Notifications\",\r\n tr: \"Bildirimi kapatın\",\r\n },\r\n reporting: {\r\n fa: \"گزارش کردن\",\r\n en: \"Report\",\r\n tr: \"Rapor edin\",\r\n },\r\n search: {\r\n fa: \"جستجو\",\r\n en: \"Search\",\r\n tr: \"Arama...\",\r\n },\r\n panelReviews: {\r\n fa: \"دیدگاه کاربران\",\r\n en: \"Panel Reviews\",\r\n tr: \"Kullanıcıların görüşleri\",\r\n },\r\n aboutPanel: {\r\n fa: \"درباره پنل\",\r\n en: \"About This Panel\",\r\n tr: \"Panel hakkında\",\r\n },\r\n sendMsg: {\r\n fa: \"ارسال پیام\",\r\n en: \"Send Message\",\r\n tr: \"Mesaj gönderin\",\r\n },\r\n contactWithPanelAdmin: {\r\n fa: \"ارتباط با مدیران پنل\",\r\n en: \"Contact with panel admins\",\r\n tr: \"Panel yöneticileriyle iletişim kurun\",\r\n },\r\n report: {\r\n fa: \"گزارش\",\r\n en: \"Report\",\r\n tr: \"Bildiri\",\r\n },\r\n sendReport: {\r\n fa: \"ارسال گزارش\",\r\n en: \"Send Report\",\r\n tr: \"Rapor edin\",\r\n },\r\n yourOpinion: {\r\n fa: \"دیدگاه شما\",\r\n en: \"Your Comment\",\r\n tr: \"Senin yorumun\",\r\n },\r\n highlightVitrin: {\r\n fa: \"رویدادهای برجسته\",\r\n en: \"Special Events\",\r\n tr: \"özel etkinlik\",\r\n },\r\n});\r\nconst ShareApp = createLocalizationMap({\r\n appShareTxt: {\r\n fa:\r\n \"سلام، خوبی؟ من اپلیکیشن آلونی رو نصب کردم. کالا و خدمات رو آنلاین سفارش میدم، به اطلاعات، خدمات، و اطلاعات فروشگاه هاو سازمان های محنلف دسترسی دارم و میتونم تو نظرسنجی نحوه پاسخگویی و برخورد سازمان ها شرکت کنم. پیشنهاد میکنم تو هم نصبش کنی. لینک دانلود را برات میذارم.\",\r\n en:\r\n \"Hi there. I'm using Aloni. It's an app that allows me to order any product or service online, access information about a store and the services it provides, participate in surveys about companies and organizations and much more. I really recommend it. Here, I'll leave the link for you below.\",\r\n tr:\r\n \"Merhaba nasılsın? Aloni uygulamasını kurdum. Çevrimiçi olarak ürün ve hizmet siparişi veriyorum, çeşitli mağaza ve kuruluşların bilgi, hizmet ve tesislerine erişimim var ve kuruluşların nasıl yanıt verdiği konusunda anketlere katılabilirim. Ben de kurmanızı öneririm. İndirme bağlantısını sizin için bırakacağım. http://alonishop.com/\",\r\n },\r\n failedToShareApp: {\r\n fa: \"متاسفانه امکان اشتراک گذاری از طریق دستگاه شما موجود نمی باشد.\",\r\n en: \"Your decive's hardware doesn't support sharing.\",\r\n tr: \"Kararınızın donanımı paylaşımı desteklemiyor.\",\r\n },\r\n});\r\nconst SharePanel = createLocalizationMap({\r\n sharePanel: {\r\n fa: \"اشتراک گذاری پنل\",\r\n en: \"Share Panel\",\r\n tr: \"paylaşım paneli\",\r\n },\r\n sharePanelDesc: {\r\n fa: \"می توانید از طریق لینک زیر از پنل {name} دیدن نمایید:\",\r\n en: \"You can visit {name} panel by clicking on the link below:\",\r\n tr:\r\n \"Aşağıdaki bağlantıya tıklayarak {name} panelini ziyaret edebilirsiniz:\",\r\n },\r\n});\r\nconst ShareItem = createLocalizationMap({\r\n shareItem: {\r\n fa: \"اشتراک گذاری آیتم\",\r\n en: \"Share Item\",\r\n tr: \"paylaşım Itemi\",\r\n },\r\n shareItemDesc: {\r\n fa: \"می توانید از طریق لینک زیر از آیتم {name} دیدن نمایید:\",\r\n en: \"You can visit {name} item by clicking on the link below:\",\r\n tr: \"Aşağıdaki bağlantıya tıklayarak {name} itemini ziyaret edebilirsiniz:\",\r\n },\r\n});\r\nconst ShareSurvey = createLocalizationMap({\r\n shareSurvey: {\r\n fa: \"{surveyName} آلونی\",\r\n en: \"Share {surveyName}\",\r\n tr: \"paylaşım {surveyName}\",\r\n },\r\n shareSurveyDesc: {\r\n fa: \"از طریق لینک زیر می توانید در {surveyName} {name} شرکت نمایید:\",\r\n en:\r\n \"You can participate in {surveyName} {name} by clicking on the link below:\",\r\n tr:\r\n \"Aşağıdaki bağlantıyı tıklayarak {surveyName} {name} 'e katılabilirsiniz:\",\r\n },\r\n});\r\nconst SurveyName = createLocalizationMap({\r\n opinionPollSurveyName: {\r\n fa: \"نظرسنحی\",\r\n en: \"Opinion Poll\",\r\n tr: \"Anket\",\r\n },\r\n reportSurveyName: {\r\n fa: \"گزارش\",\r\n en: \"Report\",\r\n tr: \"Bildiri\",\r\n },\r\n});\r\nconst BarCodescanPage = createLocalizationMap({\r\n barcodeScan: {\r\n fa: \"اسکن بارکد\",\r\n en: \"Barcode Scan\",\r\n tr: \"Barkod tartısı\",\r\n },\r\n barcodeScanPageDescription: {\r\n fa:\r\n \"برای دریافت اطلاعات آیتم مورد نظر بارکد را با استفاده از دوربین اسکن کنید\",\r\n en: \"Scan the item's barcode with your camera in order to fetch its data\",\r\n tr: \"Verilerini almak için öğenin barkodunu kameranızla tarayın\",\r\n },\r\n barcodeScanPageMaskDesc: {\r\n fa: \"شناسه آیتم مورد نظر را وارد کنید\",\r\n en: \"Enter Item's Id\",\r\n tr: \"İlgili Öğe kimliğini girin:\",\r\n },\r\n barcodeLengthNotViable: {\r\n fa: \"بارکد مورد نظر باید 13 رقمی باشد\",\r\n en: \"Barcode Must Be 13 Characters Long\",\r\n tr: \"Barkod 13 Karakter Uzunluğunda Olmalıdır\",\r\n },\r\n submit: {\r\n fa: \"تایید\",\r\n en: \"Submit\",\r\n tr: \"Onaylayın\",\r\n },\r\n activateScanner: {\r\n fa: \"فعال کردن اسکنر\",\r\n en: \"Activate Scanner\",\r\n tr: \"Tarayıcıyı Etkinleştir\",\r\n },\r\n deactivateScanner: {\r\n fa: \"غیرفعال کردن اسکنر\",\r\n en: \"Deactivate Scanner\",\r\n tr: \"Tarayıcıyı Devre Dışı Bırak\",\r\n },\r\n itemInfoNotFound: {\r\n fa: \"اطلاعات آیتم مورد نظر شما یافت نشد\",\r\n en: \"Item info not found\",\r\n tr: \"Aradığınız öğe bilgisi bulunamadı\",\r\n },\r\n barcodeScanningNotSupported: {\r\n fa:\r\n \"اسکن بارکد در دستگاه شما پشتیانی نمی شود لطفا به صورت دستی عدد زیر بارکد را وارد نمایید\",\r\n en:\r\n \"Your device doesn't support scanning barcodes. Please enter the barcode into input field below.\",\r\n tr:\r\n \"Cihazınız barkod taramayı desteklemiyor. Lütfen barkodu aşağıdaki giriş alanına girin.\",\r\n },\r\n});\r\nconst SurveyPage = createLocalizationMap({\r\n surveyPageTitle: {\r\n fa: \"نظرسنجی\",\r\n en: \"Survey\",\r\n tr: \"Anket\",\r\n },\r\n surveyPageDescription: {\r\n fa:\r\n \"با استفاده از دوربین بارکد نظرسنجی مورد نظر را اسکن کرده و یا شناسه آن را وارد کنید\",\r\n en: \"Scan the survey's barcode with your camera or enter its id\",\r\n tr:\r\n \"İstenilen barkodu taramak veya kimliğini girmek için kamerayı kullanın\",\r\n },\r\n surveyPageMaskDesc: {\r\n fa: \"شناسه نظرسنجی مورد نظر را وارد کنید\",\r\n en: \"Enter Survey's Id\",\r\n tr: \"İlgili anket kimliğini girin\",\r\n },\r\n});\r\nconst Drawer = createLocalizationMap({\r\n ordersHistory: {\r\n fa: \"سوابق خرید\",\r\n en: \"Orders History\",\r\n tr: \"Alışveriş kayıtları\",\r\n },\r\n familyManagement: {\r\n fa: \"مدیریت خانواده\",\r\n en: \"Manage Your Family\",\r\n tr: \"Aile yönetimi\",\r\n },\r\n recommendToFriends: {\r\n fa: \"معرفی به دوستان\",\r\n en: \"Introduce Us To Your Friends\",\r\n tr: \"Arkadaşlara tanıtın\",\r\n },\r\n contactSupport: {\r\n fa: \"ارتباط با پشتیبانی\",\r\n en: \"Contact Support\",\r\n tr: \"Destek ile iletişim kurum\",\r\n },\r\n exit: {\r\n fa: \"خروج\",\r\n en: \"Exit\",\r\n tr: \"Çıkış\",\r\n },\r\n});\r\nconst OrderPage = createLocalizationMap({\r\n deliveryAddress: {\r\n fa: \"آدرس تحویل سفارش:\",\r\n en: \"Delivery Address:\",\r\n tr: \"Sipariş teslimatı adresi\",\r\n },\r\n changeAddress: {\r\n fa: \"تغییر آدرس\",\r\n en: \"Change Address\",\r\n tr: \"Adres değişikliği\",\r\n },\r\n addAddress: {\r\n fa: \"افزودن آدرس محل تحویل سفارش\",\r\n en: \"Add Delivery Address\",\r\n tr: \"Siparişin teslim edileceği yerin adresini ekleyin\",\r\n },\r\n deliveryType: {\r\n fa: \"شیوه ارسال\",\r\n en: \"Delivery Type\",\r\n tr: \"Gönderme şekli\",\r\n },\r\n coverageArea: {\r\n fa: \"مسافت تحت پوشش از مبدا تامین کننده: \",\r\n en: \"Area Covered: \",\r\n tr: \"Tedarikçinin menşesinden kapsanan mesafe\",\r\n },\r\n noSuitableDeliveryMethodForYourOrder: {\r\n fa: \"روش ارسالی متناسب با سفارش شما وجود ندارد.\",\r\n en: \"There's No Suitable Delivery Method For Your Order\",\r\n tr: \"Siparişinize Uygun Teslimat Şekli Yok\",\r\n },\r\n editYourOrderOrContactPanel: {\r\n fa: \"سفارش خود را ویرایش و یا با پنل مربوطه تماس حاصل نمایید\",\r\n en: \"Edit Your Order Or Contact The Panel\",\r\n tr: \"Siparişinizi düzenleyin veya ilgili panelle iletişime geçin.\",\r\n },\r\n shippingAndPackingCost: {\r\n fa: \"هزینه ارسال و بسته بندی\",\r\n en: \"Shipping And Packing Cost\",\r\n tr: \"Ambalaj ve gönderme masrafları\",\r\n },\r\n tax: {\r\n fa: \"ارزش افزوده\",\r\n en: \"Tax\",\r\n tr: \"Katma değer\",\r\n },\r\n totalDiscount: {\r\n fa: \"جمع کل تخفیف\",\r\n en: \"Total Discount\",\r\n tr: \"Toplam indirim miktarı\",\r\n },\r\n totalAmountToPay: {\r\n fa: \"جمع کل قابل پرداخت\",\r\n en: \"Total Price\",\r\n tr: \"Ödenecek toplam tutar\",\r\n },\r\n paymentMethod: {\r\n fa: \"نحوه پرداخت\",\r\n en: \"Payment Method\",\r\n tr: \"Ödeme şekli\",\r\n },\r\n cash: {\r\n fa: \"پرداخت نقدی\",\r\n en: \"Cash\",\r\n tr: \"Nakit ödeyin \",\r\n },\r\n onlinePayment: {\r\n fa: \"پرداخت اینترنتی از طریق وبسایت\",\r\n en: \"Online Payment\",\r\n tr: \"Web sitesi üzerinden internet aracılğıyla ödeyin\",\r\n },\r\n payingFromYourWallet: {\r\n fa: \"پرداخت اعتباری از کیف پول شما\",\r\n en: \"Pay From Your Wallet\",\r\n tr: \"Cüzdanınızdan kredi olarak ödeyin\",\r\n },\r\n orderList: {\r\n fa: \"لیست اقلام سفارش\",\r\n en: \"Order List\",\r\n tr: \"Sipariş kalemlerin listi\",\r\n },\r\n activeOrders: {\r\n fa: \"سفارشات فعال\",\r\n en: \"Active Orders\",\r\n tr: \"Aktif Siparişler\",\r\n },\r\n previousOrders: {\r\n fa: \"سفارشات قبلی\",\r\n en: \"Previous Orders\",\r\n tr: \"Önceki siparişler\",\r\n },\r\n choosePaymentMethod: {\r\n fa: \"لطفا روش پرداخت را انتخاب نمایید\",\r\n en: \"Please choose your payment method\",\r\n tr: \"Ödeme şekli seçimi zorunludur\",\r\n },\r\n chooseAddress: {\r\n fa: \"لطفا آدرس را انتخاب نمایید\",\r\n en: \"Please choose address\",\r\n tr: \"Teslimat adresi seçmek zorunludur\",\r\n },\r\n chooseShipmentType: {\r\n fa: \"روش ارسال را انتخاب نمایید\",\r\n en: \"Please choose shipment type\",\r\n tr: \"Gönderiyi gönderme yöntemini seçmek gereklidir\",\r\n },\r\n shipOrder: {\r\n fa: \"ارسال سفارش\",\r\n en: \"Ship Order\",\r\n tr: \"Siparişi gönderin\",\r\n },\r\n displayOtherProducts: {\r\n fa: \"نمایش سایر کالاهای این پنل\",\r\n en: \"Display other products from this panel\",\r\n tr: \"Bu paneldeki diğer ürünleri görün\",\r\n },\r\n submitAndContinue: {\r\n fa: \"تایید اطلاعات و ادامه خرید\",\r\n en: \"Submit and continue\",\r\n tr: \"Bilgileri onaylayın ve alışverişe devam edin\",\r\n },\r\n});\r\nconst AddAddressPage = createLocalizationMap({\r\n chooseState: {\r\n fa: \"انتخاب استان\",\r\n en: \"Choose State\",\r\n tr: \"İl seçin\",\r\n },\r\n chooseCity: {\r\n fa: \"انتخاب شهر\",\r\n en: \"Choose City\",\r\n tr: \"Şehir seçin\",\r\n },\r\n chooseStateFirst: {\r\n fa: \"ابتدا استان مورد نظر را انتخاب نمایید\",\r\n en: \"Choose The State First\",\r\n tr: \"Teslimat yapılacak ilin seçilmesi zorunludur\",\r\n },\r\n submitAddressOnMap: {\r\n fa: \"ثبت آدرس بر روی نقشه\",\r\n en: \"Point The Address On Map\",\r\n tr: \"Siparişin teslimat yerini haritaya kaydedin\",\r\n },\r\n confirmAndSubmit: {\r\n fa: \"تایید و ثبت اطلاعات\",\r\n en: \"Confirm And Submit\",\r\n tr: \"Bilgileri kaydedin ve onaylayın\",\r\n },\r\n myAddresses: {\r\n fa: \"آدرس های من\",\r\n en: \"My Addresses\",\r\n tr: \"Adresim\",\r\n },\r\n state: {\r\n fa: \"استان :\",\r\n en: \"State :\",\r\n tr: \"İli: \",\r\n },\r\n city: {\r\n fa: \"شهر :\",\r\n en: \"City :\",\r\n tr: \"Şehri: \",\r\n },\r\n phone: {\r\n fa: \"تلفن :\",\r\n en: \"Phone: \",\r\n tr: \"Tel No.: \",\r\n },\r\n addNewAddressDesc: {\r\n fa:\r\n \"به کمک دکمه شناور (+) موجود در این بخش، می توانید آدرس جدیدی را ثبت نمایید.\",\r\n en: \"You can add a new address by clicking on the (+) button\",\r\n tr:\r\n \"Bu bölümdeki kayan butonu (+) yardımı ile yeni bir adres kaydedebilirsiniz.\",\r\n },\r\n});\r\nconst MessagesPage = createLocalizationMap({\r\n messagesList: {\r\n fa: \"لیست پیام ها\",\r\n en: \"Messages List\",\r\n tr: \"Mesajlar listi\",\r\n },\r\n});\r\nconst PanelActiveHourPage = createLocalizationMap({\r\n sat: {\r\n fa: \"شنبه\",\r\n en: \"Saturday\",\r\n tr: \"Cumartesi\",\r\n },\r\n sun: {\r\n fa: \"یکشنبه\",\r\n en: \"Sunday\",\r\n tr: \"Pazar\",\r\n },\r\n mon: {\r\n fa: \"دوشنبه\",\r\n en: \"Monday\",\r\n tr: \"Parartesi\",\r\n },\r\n tue: {\r\n fa: \"سه شنبه\",\r\n en: \"Thuesday\",\r\n tr: \"Salı\",\r\n },\r\n wed: {\r\n fa: \"چهارشنبه\",\r\n en: \"Wednesday\",\r\n tr: \"Çarşamba\",\r\n },\r\n thu: {\r\n fa: \"پنج شنبه\",\r\n en: \"Thursday\",\r\n tr: \"Perşembe\",\r\n },\r\n fri: {\r\n fa: \"جمعه\",\r\n en: \"Friday\",\r\n tr: \"Cuma\",\r\n },\r\n schedule: {\r\n fa: \"ساعت فعالیت\",\r\n en: \"Schedule\",\r\n tr: \"zamanlamak\",\r\n },\r\n timeFrom: {\r\n fa: \"از ساعت: \",\r\n en: \"From: \",\r\n tr: \"Saattan\",\r\n },\r\n timeTo: {\r\n fa: \"تا ساعت: \",\r\n en: \"To: \",\r\n tr: \"Saate kadar / dek \",\r\n },\r\n scheduleNotAvailable: {\r\n fa: \"ساعت فعالیت ثبت نشده است!\",\r\n en: \"Schedule not available!\",\r\n tr: \"Zamanlamak mevcut değil!\",\r\n },\r\n});\r\nconst PanelOpinionPage = createLocalizationMap({\r\n mustEnterOpinionRate: {\r\n fa: \"وارد کردن امتیاز الزامی است\",\r\n en: \"You must enter a rate\",\r\n tr: \"Bir oran girmelisiniz\",\r\n },\r\n reviewAddedSuccessfully: {\r\n fa: \"نظر شما با موفقیت ثبت گردید\",\r\n en: \"You successfully added your review\",\r\n tr: \"Başarı ile kaydedildi\",\r\n },\r\n submittedRate: {\r\n fa: \"امتیاز ثبت شده\",\r\n en: \"Rating\",\r\n tr: \"Kaydedilen puanlar\",\r\n },\r\n fromVotes: {\r\n fa: \"از مجموع\",\r\n en: \"From\",\r\n tr: \"Nereden\",\r\n },\r\n vote: {\r\n fa: \"رای\",\r\n en: \"vote\",\r\n tr: \"Oy\",\r\n },\r\n submitReview: {\r\n fa: \"ثبت نظر\",\r\n en: \"Submit Your Reivew\",\r\n tr: \"Görüşü girin\",\r\n },\r\n mustEnterOpinionBody: {\r\n fa: \"وارد کردن نظر الزامی است!\",\r\n en: \"You must enter your comment\",\r\n tr: \"Lütfen bir yorum metni girin!\",\r\n },\r\n canNotVoteOnYourComment: {\r\n fa: \"نمی توانید به دیدگاه خود امتیاز دهید!\",\r\n en: \"You can not vote on your own comment.\",\r\n tr: \"Yorumunuzu değerlendiremezsiniz!\",\r\n },\r\n reviewDeletedSuccessfully: {\r\n fa: \"نظر شما با موفقیت حذف گردید.\",\r\n en: \"You successfully deleted your review\",\r\n tr: \"Mesajınız başarıyla silindi!\",\r\n },\r\n});\r\nconst ScannerStrings = createLocalizationMap({\r\n chooseCamera: {\r\n fa: \"انتخاب دوربین :\",\r\n en: \"Choose Camera :\",\r\n tr: \"kamera seç\",\r\n },\r\n});\r\nconst LocationElementStrings = createLocalizationMap({\r\n confirmLocation: {\r\n fa: \"تایید و ذخیره موقعیت\",\r\n en: \"Confirm and submit location :\",\r\n tr: \"Konumu onaylayın ve gönderin :\",\r\n },\r\n});\r\nconst TechncalItemInfoStrings = createLocalizationMap({\r\n unit: {\r\n fa: \"واحد\",\r\n en: \"unit :\",\r\n tr: \"birim\",\r\n },\r\n prepaymentPercentage: {\r\n fa: \"درصد پیش پرداخت\",\r\n en: \"prepayment percentage\",\r\n tr: \"Ön Ödeme Yüzdesi\",\r\n },\r\n cancelationFine: {\r\n fa: \"درصد جریمه کنسلی\",\r\n en: \"cancelation fine\",\r\n tr: \"iptal cezası\",\r\n },\r\n price: {\r\n fa: \"قیمت\",\r\n en: \"price\",\r\n tr: \"fiyat\",\r\n },\r\n perItemPurchaseDiscount: {\r\n fa: \"میزان تخفیف به ازای هر خرید هر واحد به عدد\",\r\n en: \"discount per item purchase\",\r\n tr: \"ürün satın alma başına indirim\",\r\n },\r\n perItemPurchaseDiscountInPercentage: {\r\n fa: \"میزان تخفیف به ازای خرید هر واحد به درصد\",\r\n en: \"discount per item purchase in percentage\",\r\n tr: \"yüzde olarak ürün satın alma başına indirim\",\r\n },\r\n priceIncludingTax: {\r\n fa: \"قیمت با احتساب مالیات\",\r\n en: \"price including tax\",\r\n tr: \"vergi dahil fiyat\",\r\n },\r\n priceDesc: {\r\n fa: \"توضیحات قیمت\",\r\n en: \"price description\",\r\n tr: \"fiyat açıklaması\",\r\n },\r\n discountDesc: {\r\n fa: \"توضیحات تخفیف\",\r\n en: \"discount description\",\r\n tr: \"indirim açıklaması\",\r\n },\r\n promotion: {\r\n fa: \"تخفیف ویژه\",\r\n en: \"promotion\",\r\n tr: \"reklâm\",\r\n },\r\n promotionDesc: {\r\n fa: \"توضیحات تخفیف ویژه\",\r\n en: \"promotion description\",\r\n tr: \"reklâm açıklama\",\r\n },\r\n availableQty: {\r\n fa: \"تعداد موجود\",\r\n en: \"available qunatity\",\r\n tr: \"Mevcut Miktarı\",\r\n },\r\n orderPoint: {\r\n fa: \"نقطه سفارش\",\r\n en: \"order point\",\r\n tr: \"sipariş noktası\",\r\n },\r\n maxReqOrderPerDay: {\r\n fa: \"حداکثر تعداد سفارش در روز\",\r\n en: \"maximum order request per day\",\r\n tr: \"günlük maksimum sipariş talebi\",\r\n },\r\n itemForSale: {\r\n fa: \"؟آبتم برای فروش\",\r\n en: \"item for sale?\",\r\n tr: \"satılık ürün?\",\r\n },\r\n});\r\n\r\nconst LOCALIZATION = {\r\n ...PanelOpinionPage,\r\n ...PanelActiveHourPage,\r\n ...MessagesPage,\r\n ...AddAddressPage,\r\n ...OrderPage,\r\n ...Drawer,\r\n ...CartPage,\r\n ...SurveyPage,\r\n ...BarCodescanPage,\r\n ...ShareApp,\r\n ...Common,\r\n ...PanelPage,\r\n ...ItemComparisonPage,\r\n ...Loading,\r\n ...CorrespondencePage,\r\n ...FollowingPage,\r\n ...Items,\r\n ...ActivationPage,\r\n ...CommonListPage,\r\n ...SignUpPageStrings,\r\n ...AloniConnectionService,\r\n ...ErrorHandlerServiceStrings,\r\n ...LoginOrSignUpPageStrings,\r\n ...LoginPageStrings,\r\n ...ChooseCity,\r\n ...AddNewAddress,\r\n ...SharePanel,\r\n ...ShareItem,\r\n ...ShareSurvey,\r\n ...SurveyName,\r\n ...ScannerStrings,\r\n ...LocationElementStrings,\r\n ...TechncalItemInfoStrings,\r\n};\r\n\r\nexport default LOCALIZATION;\r\n","import React from \"react\";\r\nimport LOCALIZATION from \"../Localization\";\r\nimport { Languages } from \"src/Models/Settings\";\r\nexport type SupportedLanguages = Languages.Fa | Languages.En | Languages.Tr;\r\n\r\ntype LocalizationKeyValue = { [lan in SupportedLanguages]: string };\r\n\r\nexport function createLocalizationMap<\r\n T extends { [name: string]: LocalizationKeyValue }\r\n>(cfg: T): { [key in keyof T]: LocalizationKeyValue } {\r\n return cfg;\r\n}\r\n\r\nexport type LanguageLocalization = {\r\n [key in keyof typeof LOCALIZATION]: string;\r\n};\r\n\r\nexport const LocalizationContext = React.createContext({\r\n values: LOCALIZATION,\r\n currentLanguage: \"fa\" as SupportedLanguages,\r\n});\r\n\r\nfunction getKeys(o: T): K[] {\r\n return Object.keys(o) as K[];\r\n}\r\n\r\nexport const useLocalizationCtx = (): LanguageLocalization => {\r\n const localization = React.useContext(LocalizationContext);\r\n const currentLanguage = localization.currentLanguage;\r\n\r\n return React.useMemo(() => {\r\n const result: LanguageLocalization = {} as any;\r\n for (const key of getKeys(localization.values)) {\r\n result[key] = localization.values[key][currentLanguage];\r\n }\r\n return result;\r\n }, [currentLanguage]);\r\n};\r\n","export enum Languages {\r\n En = \"en\",\r\n Fa = \"fa\",\r\n Tr = \"tr\",\r\n // Ar = \"ar\",\r\n}\r\nexport enum Directions {\r\n Ltr = \"ltr\",\r\n Rtl = \"rtl\",\r\n}\r\nexport const LanguagesDirectionsMap: Record = {\r\n [Languages.En]: Directions.Ltr,\r\n [Languages.Fa]: Directions.Rtl,\r\n [Languages.Tr]: Directions.Rtl,\r\n // [Languages.Ar]: Directions.Rtl,\r\n};\r\nexport enum GetDataType {\r\n Get = \"Get\",\r\n Refresh = \"Refresh\",\r\n}\r\nexport enum SearchSection {\r\n All = \"All\",\r\n Exhibition = \"Exhibition\",\r\n ExhibitionContributor = \"ExhibitionContributor\",\r\n ExhibitionPatron = \"ExhibitionPatron\",\r\n ExhibitionReport = \"ExhibitionReport\",\r\n Favorite = \"Favorite\",\r\n Post = \"Post\",\r\n}\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport {\r\n Snackbar,\r\n Button,\r\n IconButton,\r\n Grid,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { Close } from \"@material-ui/icons\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n root: {\r\n // \"& .MuiSnackbarContent-action\": {\r\n // marginRight: \"auto\",\r\n // marginLeft: 0,\r\n // paddingLeft: 0,\r\n // },\r\n },\r\n body: {\r\n padding: \"10px 20px 10px 0\",\r\n },\r\n updateBtn: {\r\n float: \"left\",\r\n },\r\n snackBarRoot: {\r\n left: 10,\r\n right: 10,\r\n \"& .MuiPaper-root\": {\r\n borderRadius: 5,\r\n },\r\n },\r\n anchorOriginTopCenter: {\r\n top: 10,\r\n transform: \"translateX(0)\",\r\n },\r\n}));\r\n\r\nconst SWOnUpdateFound = (props: IProps) => {\r\n const [isNotiOpen, setIsNotiOpen] = useState(false);\r\n const swRegistrationRef = useRef(null);\r\n\r\n const lng = useLocalizationCtx();\r\n const cls = useStyles();\r\n\r\n const onCloseNoti = (event: any, reason: string) => {\r\n if (reason === \"clickaway\") return;\r\n setIsNotiOpen(false);\r\n };\r\n\r\n // در صورت موافقت کاربر پس از پرامپت برای آپدیت کردن به نسخه جدید ران می شود\r\n const updateSW = () => {\r\n const waitingSW = swRegistrationRef.current?.waiting;\r\n waitingSW?.addEventListener(\"statechange\", (e: any) => {\r\n if (e.target.state === \"activated\") {\r\n // پس از فعال شدن سرویس ورکر جدید، یک مسیج به طور خودکار پست می شود و صفحه رفرش می شود تا سرویس ورکر اکتیو شده و استفاده شود\r\n window.location.reload();\r\n }\r\n });\r\n // به سرویس ورکر مسیج داده می شود تا از مرحله انتظار گذشته و سرویس ورکر جدید را فعال نماید\r\n waitingSW?.postMessage({ type: \"SKIP_WAITING\" });\r\n setIsNotiOpen(false);\r\n };\r\n\r\n // هندلر ایونت کاستوم که در صورت آپدیت شده سرویس ورکر کال می شود\r\n const onSWUpdateFoundHandler = (e: any) => {\r\n swRegistrationRef.current = e.detail.registration;\r\n setIsNotiOpen(true);\r\n };\r\n\r\n useEffect(() => {\r\n // register to the \"onSWUpdateFound\" event that is being fired whenever new update is available\r\n window.addEventListener(\"onSWUpdateFound\", onSWUpdateFoundHandler);\r\n return () => {\r\n window.removeEventListener(\"onSWUpdateFound\", onSWUpdateFoundHandler);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {props.children}\r\n \r\n onCloseNoti(e, \"onCloseBtnClick\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {lng.SWOnUpdateFound}\r\n \r\n \r\n \r\n \r\n {lng.update}\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default SWOnUpdateFound;\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport React from \"react\";\r\nimport { Directions, Languages } from \"../../Models/Settings\";\r\n\r\ninterface IThemeContext {\r\n direction: Directions;\r\n language: Languages;\r\n setDirection: (direction: Directions) => void;\r\n setLanguage: (language: Languages) => void;\r\n}\r\n\r\nexport const ThemeContext = React.createContext({\r\n direction: Directions.Rtl,\r\n language: Languages.Fa,\r\n setDirection: (direction: Directions) => {},\r\n setLanguage: (language: Languages) => {},\r\n});\r\n\r\nexport const useThemeCtx = () => {\r\n const theme = React.useContext(ThemeContext);\r\n return theme;\r\n};\r\n","export enum RoutesList {\r\n Main = \"/main\",\r\n Intro = \"/intro\",\r\n Setting = \"/setting\",\r\n EditProfile = \"/editProfile\",\r\n ExhibitionList = \"/exhibitionList\",\r\n CompanyExhibitionList = \"/companyExhibitionList\",\r\n ContributorList = \"/contributorList\",\r\n ContactUs = \"/contactUs\",\r\n BrandList = \"/brandList\",\r\n PatronList = \"/patronList\",\r\n ReportList = \"/reportList\",\r\n CompanyPostList = \"/companyPostList\",\r\n CompanyProductGroupList = \"/companyProductGroupList\",\r\n BrandGuaranteeList = \"/brandGuaranteeList\",\r\n BrandGuaranteeComment = \"/brandGuaranteeComment\",\r\n ExpertPostList = \"/expertPostList\",\r\n CompanyCatalogList = \"/companyCatalogList\",\r\n CompanyProductList = \"/companyProductList\",\r\n BrandProductList = \"/brandProductList\",\r\n Company = \"/company\",\r\n CollaboratorList = \"/collaboratorList\",\r\n BrandCollaboratorList = \"/brandCollaboratorList\",\r\n ServiceList = \"/serviceList\",\r\n ServiceCompany = \"/serviceCompany\",\r\n Companies = \"/companies\",\r\n HowHelp = \"/howHelp\",\r\n Search = \"/search\",\r\n Brand = \"/brand\",\r\n PostList = \"/postList\",\r\n Post = \"/post\",\r\n Exhibition = \"/exhibition\",\r\n FavoriteList = \"/favoriteList\",\r\n Login = \"/login\",\r\n activation = \"/activation\",\r\n\r\n scanBarcode = \"/scanBarcode\",\r\n}\r\n","import { jssPreset, StylesProvider } from \"@material-ui/core\";\r\nimport { create } from \"jss\";\r\nimport rtl from \"jss-rtl\";\r\nimport React from \"react\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst MaterialStylesProvider = (props: IProps) => {\r\n const themeCtx = useThemeCtx();\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default MaterialStylesProvider;\r\n","import { createMuiTheme } from \"@material-ui/core/styles\";\r\nimport { Directions } from \"../Models/Settings\";\r\n\r\n// Create a theme instance.\r\nconst MakeTheme = (direction: Directions) =>\r\n createMuiTheme({\r\n palette: {\r\n primary: {\r\n main: \"#01dfa5\",\r\n contrastText: \"#ffffff\",\r\n },\r\n secondary: {\r\n main: \"#969696\",\r\n dark: \"rgba(0, 0, 0, 0.87)\",\r\n },\r\n error: {\r\n main: \"#d32f2f\",\r\n },\r\n background: {\r\n default: \"#fff\",\r\n },\r\n },\r\n overrides: {\r\n MuiInputAdornment: {\r\n positionEnd: {\r\n margin: \"0px !important\",\r\n padding: \"0px !important\",\r\n },\r\n positionStart: {\r\n margin: \"0px !important\",\r\n padding: \"0px !important\",\r\n },\r\n },\r\n MuiDialog: {\r\n container: {\r\n width: \"100%\",\r\n },\r\n paper: {\r\n minWidth: \"80%\",\r\n },\r\n },\r\n MuiFilledInput: {\r\n root: {\r\n borderRadius: \"30px !important\",\r\n border: \"1px solid #d8d8d8\",\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n backgroundColor: \"#fff\",\r\n color: \"#757575\",\r\n \"&:hover\": {\r\n backgroundColor: \"#fff !important\",\r\n },\r\n },\r\n input: {\r\n padding: \"10px 12px\",\r\n },\r\n\r\n underline: {\r\n \"&:after\": {\r\n borderBottom: \"none\",\r\n },\r\n \"&:before\": {\r\n borderBottom: \"none\",\r\n },\r\n\r\n \"&:hover:after\": {\r\n borderBottom: \"none\",\r\n },\r\n \"&:hover:before\": {\r\n borderBottom: \"none\",\r\n },\r\n },\r\n },\r\n MuiSnackbar: {\r\n root: {\r\n left: 0,\r\n right: 0,\r\n },\r\n anchorOriginBottomCenter: {\r\n bottom: 0,\r\n },\r\n anchorOriginTopCenter: {\r\n top: 0,\r\n },\r\n },\r\n MuiSnackbarContent: {\r\n root: {\r\n borderRadius: 0,\r\n flexDirection: \"row\",\r\n },\r\n message: {\r\n flex: 1,\r\n },\r\n action: {\r\n paddingLeft: 0,\r\n marginLeft: 0,\r\n },\r\n },\r\n MuiTypography: {\r\n caption: {\r\n fontWeight: \"bold\",\r\n },\r\n body1: {\r\n fontWeight: 100,\r\n fontSize: \".9rem\",\r\n color: \"#7c7e80\",\r\n },\r\n },\r\n MuiToolbar: {\r\n root: {\r\n backgroundColor: \"#ffffff\",\r\n },\r\n },\r\n MuiAppBar: {\r\n root: {\r\n boxShadow:\r\n \"0px 3px 1px -2px rgba(0,0,0,0.01), 0px 2px 2px 0px rgba(0,0,0,0.01), 0px 1px 5px 0px rgba(0,0,0,0.1)\",\r\n },\r\n },\r\n MuiButton: {\r\n root: {\r\n borderRadius: 30,\r\n },\r\n },\r\n },\r\n direction: \"rtl\",\r\n });\r\n\r\nexport default MakeTheme;\r\n","import React, { useMemo } from \"react\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\nimport MakeTheme from \"../Themes/Theme\";\r\nimport { ThemeProvider } from \"@material-ui/core\";\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst MaterialThemeProvider = (props: IProps) => {\r\n const themeCtx = useThemeCtx();\r\n const direction = themeCtx.direction;\r\n const theme = useMemo(() => MakeTheme(direction), [direction]);\r\n\r\n return {props.children};\r\n};\r\n\r\nexport default MaterialThemeProvider;\r\n","import { Grid, IconButton, Typography } from \"@material-ui/core\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport { KeyboardArrowLeft, Search } from \"@material-ui/icons\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n boxShadow: \"none\",\r\n background: \"transparent\",\r\n },\r\n title: {\r\n flex: 1,\r\n color: theme.palette.grey[900],\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n },\r\n fullWidthInputElement: {\r\n paddingBottom: 5,\r\n paddingTop: 5,\r\n },\r\n searchBtn: {\r\n padding: 5,\r\n borderRadius: 4,\r\n minWidth: 0,\r\n },\r\n listItemIcon: {\r\n minWidth: 0,\r\n marginRight: 10,\r\n },\r\n}));\r\n\r\ninterface Options {\r\n leftIcon?: JSX.Element;\r\n secondLeftIcon?: JSX.Element;\r\n rightIcon?: JSX.Element;\r\n title?: string;\r\n onLeftIconClick?: () => void;\r\n onRightIconClick?: () => void;\r\n onSecondLeftIconClick?: () => void;\r\n withRightIcon?: boolean;\r\n backgroundColor?: string;\r\n}\r\n\r\nconst AppBarComponent = (props: Options) => {\r\n const classes = useStyles();\r\n const router = useHistory();\r\n useEffect(() => {}, [props.backgroundColor]);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n if (props.onLeftIconClick) {\r\n props.onLeftIconClick();\r\n } else {\r\n router.goBack();\r\n }\r\n }}\r\n >\r\n {props?.leftIcon ?? }\r\n \r\n {props?.secondLeftIcon && (\r\n {\r\n if (props.onSecondLeftIconClick) {\r\n props.onSecondLeftIconClick();\r\n } else {\r\n router.goBack();\r\n }\r\n }}\r\n >\r\n {props?.secondLeftIcon ?? }\r\n \r\n )}\r\n {props.title}\r\n {props?.withRightIcon && (\r\n {\r\n if (props.onRightIconClick) {\r\n props.onRightIconClick();\r\n } else {\r\n // go to search\r\n }\r\n }}\r\n >\r\n {props?.rightIcon ?? }\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default AppBarComponent;\r\n","import React, { createContext } from \"react\";\r\nimport { AdvertisementRequestModel } from \"src/Models/AdvertisementModels\";\r\nimport { LotteryResultModel } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { SnackBarOptions } from \"../../Components/General/SnackBarComponent\";\r\nexport const SkeletonContext = createContext({\r\n isHeaderVisible: true,\r\n isDrawerOpen: false,\r\n isDrawerEnable: false,\r\n isLoading: false,\r\n isPageLoading: false,\r\n ad: { lastScreenName: \"\", screenName: \"\" },\r\n lottery: null,\r\n modals: {},\r\n snackBar: {},\r\n // eslint-disable-next-line\r\n setIsHeaderVisible: (isHeaderVisible: boolean) => {\r\n // do nothing.\r\n },\r\n // eslint-disable-next-line\r\n setIsLoading: (isLoading: boolean) => {\r\n // do nothing.\r\n },\r\n setIsPageLoading: (isLoading: boolean) => {\r\n // do nothing\r\n },\r\n // eslint-disable-next-line\r\n setIsDrawerEnable: (isDrawerEnable: boolean) => {\r\n // do nothing.\r\n },\r\n // eslint-disable-next-line\r\n setIsDrawerOpen: (isDrawerOpen: boolean) => {\r\n // do nothing.\r\n },\r\n // eslint-disable-next-line\r\n setModals: (modals: any) => {\r\n // do nothing.\r\n },\r\n // eslint-disable-next-line\r\n setAd: (ad: AdvertisementRequestModel) => {\r\n // do nothing.\r\n },\r\n // eslint-disable-next-line\r\n setLottery: (ad: LotteryResultModel | null) => {\r\n // do nothing.\r\n },\r\n\r\n // eslint-disable-next-line\r\n setSnackBar: (snackBar: SnackBarOptions) => {\r\n // do nothing.\r\n },\r\n} as ISkeletonContext);\r\nexport const useSkeletonCtx = () => {\r\n const skeleton = React.useContext(SkeletonContext);\r\n\r\n return skeleton;\r\n};\r\nexport interface ISkeletonContext {\r\n isHeaderVisible: boolean;\r\n isDrawerEnable: boolean;\r\n isDrawerOpen: boolean;\r\n isLoading: boolean;\r\n isPageLoading: boolean;\r\n lotteryCounter: number | undefined;\r\n ad: AdvertisementRequestModel;\r\n lottery: LotteryResultModel | null;\r\n modals: {};\r\n snackBar: {};\r\n setIsHeaderVisible: (isHeaderVisible: boolean) => void;\r\n setIsLoading: (isLoading: boolean) => void;\r\n setIsPageLoading: (isLoading: boolean) => void;\r\n setIsDrawerEnable: (isDrawerEnable: boolean) => void;\r\n setIsDrawerOpen: (isDrawerOpen: boolean) => void;\r\n setModals: (modals: any) => void;\r\n setAd: (ad: AdvertisementRequestModel) => void;\r\n setLottery: (ad: LotteryResultModel | null) => void;\r\n cancelLotteryCounter: () => void;\r\n setSnackBar: (snackBar: SnackBarOptions) => void;\r\n}\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ExhibitionCompanyModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\ninterface Options {\r\n data: ExhibitionCompanyModel;\r\n onClick: VoidFunction;\r\n noBrand?: boolean;\r\n}\r\n\r\nconst CompanyCardComponent = ({ data, onClick, noBrand }: Options) => {\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { id, title, documents, subTitle, brands, score } = data;\r\n\r\n return (\r\n \r\n \r\n \r\n {`امتیاز: ${score}`}\r\n \r\n \r\n 0\r\n ? documents[0].original\r\n : \"./Asset/Image/logo.png\"\r\n }\r\n width={70}\r\n height={70}\r\n style={{\r\n boxShadow: \"0px 0px 5px #e4e3e3\",\r\n borderRadius: \"50%\",\r\n }}\r\n />\r\n \r\n {title}\r\n \r\n {subTitle}\r\n \r\n \r\n \r\n {!!!noBrand && (\r\n \r\n {brands.map((i, index) => (\r\n d.type === 1)[0].original}\r\n />\r\n ))}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\nexport default CompanyCardComponent;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport { useLocalizationCtx } from \"../../Localization/Contexts/LocalizationContext\";\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n maxWidth: \"100%\",\r\n margin: \"0 auto\",\r\n },\r\n emptyViewImg: {\r\n width: 250,\r\n },\r\n});\r\n\r\nexport default () => {\r\n const lng = useLocalizationCtx();\r\n const cls = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {lng.noItemsToShow}\r\n \r\n \r\n \r\n );\r\n};\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport React from \"react\";\r\nimport {\r\n IMiddlewareAction,\r\n IMiddlewareState,\r\n} from \"src/Routes/Middlewares/Models/RoutingMiddlewareModels\";\r\n\r\ninterface IRoutingMiddlewareContext {\r\n middlewareState: React.MutableRefObject;\r\n dispatchMiddlewareState: (v: IMiddlewareAction) => void;\r\n}\r\n\r\nexport const RoutingMiddlewareContext = React.createContext<\r\n Partial\r\n>({});\r\n\r\nexport const useRoutingMiddlewareCtx = () => {\r\n const routingMiddleware = React.useContext(RoutingMiddlewareContext);\r\n return routingMiddleware;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Slide from \"@material-ui/core/Slide\";\r\nimport { TransitionProps } from \"@material-ui/core/transitions\";\r\nimport Snackbar from \"@material-ui/core/Snackbar\";\r\nimport SnackbarContent from \"@material-ui/core/SnackbarContent\";\r\nimport { Link } from \"@material-ui/core\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\nimport clsx from \"clsx\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n offset: theme.mixins.toolbar,\r\n info: {\r\n backgroundColor: theme.palette.grey[800],\r\n },\r\n success: { backgroundColor: theme.palette.primary.main },\r\n warning: { backgroundColor: \"#ffa000\" },\r\n error: { backgroundColor: theme.palette.error.main },\r\n action: {\r\n color: \"#ffffff\",\r\n textDecoration: \"underline\",\r\n },\r\n message: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"end\",\r\n },\r\n}));\r\nfunction TransitionUp(props: TransitionProps) {\r\n return ;\r\n}\r\nfunction TransitionDown(props: TransitionProps) {\r\n return ;\r\n}\r\nexport enum SnackBarType {\r\n Success = \"success\",\r\n Error = \"error\",\r\n Info = \"info\",\r\n Warning = \"warning\",\r\n}\r\nexport enum SnackBarDuration {\r\n Short = 1,\r\n Long = 2,\r\n Infinite = 3,\r\n}\r\nexport interface SnackBarOptions {\r\n type?: SnackBarType;\r\n message?: string;\r\n isOpen?: boolean;\r\n isTopDirection?: boolean;\r\n duration?: SnackBarDuration;\r\n action?: { onClick: VoidFunction; actionTitle: string };\r\n}\r\n\r\nconst SnackBarComponent = (props: SnackBarOptions) => {\r\n const classes = useStyles();\r\n const [isOpen, setIsOpen] = useState(props.isOpen);\r\n const [duration] = useState(props.duration ? props.duration : SnackBarDuration.Short);\r\n const [message] = useState(props.message);\r\n const [type] = useState(props.type ? props.type : SnackBarType.Info);\r\n const [action] = useState<{ onClick: VoidFunction; actionTitle: string } | undefined>(props.action);\r\n const [isTopDirection] = useState(props.isTopDirection);\r\n const skeletonContext = useSkeletonCtx();\r\n\r\n useEffect(() => {\r\n // do nothing\r\n }, [props.isOpen, props.action, props.type, props.message]);\r\n\r\n return (\r\n \r\n {\r\n setIsOpen(false);\r\n skeletonContext.setSnackBar({});\r\n }}\r\n TransitionComponent={isTopDirection ? TransitionDown : TransitionUp}\r\n >\r\n \r\n {message}\r\n \r\n }\r\n action={\r\n action\r\n ? [\r\n {\r\n action!.onClick();\r\n }}\r\n >\r\n {action!.actionTitle}\r\n ,\r\n ]\r\n : []\r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\nexport default SnackBarComponent;\r\n","import SecureLS from \"secure-ls\";\r\nimport { IStorageService } from \"./IStorageService\";\r\n\r\nexport class LocalStorageService implements IStorageService {\r\n secureLS = new SecureLS({ encodingType: \"aes\" });\r\n\r\n getString(key: string, defaultValue: string | null = null): string | null {\r\n const value = window.localStorage.getItem(key);\r\n return value || defaultValue;\r\n }\r\n\r\n getNumber(key: string, defaultValue: number | null = null): number | null {\r\n const value = window.localStorage.getItem(key);\r\n if (value != null && isNaN(value as any))\r\n throw new Error(`value in storage is not a number: ${value}`);\r\n return value == null ? defaultValue : parseInt(value);\r\n }\r\n\r\n getBoolean(key: string, defaultValue: boolean | null = null): boolean | null {\r\n const value = window.localStorage.getItem(key);\r\n return value == null ? defaultValue : value === \"true\";\r\n }\r\n\r\n setString(key: string, value: string): void {\r\n window.localStorage.setItem(key, value);\r\n }\r\n\r\n setNumber(key: string, value: number): void {\r\n window.localStorage.setItem(key, value.toString());\r\n }\r\n\r\n setBoolean(key: string, value: boolean): void {\r\n window.localStorage.setItem(key, value ? \"true\" : \"false\");\r\n }\r\n setObject(key: string, value: Type): void {\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n getObject(key: string, defaultValue: Type | null = null): Type | null {\r\n const value = window.localStorage.getItem(key);\r\n return value == null ? defaultValue : JSON.parse(value);\r\n }\r\n setStringEncrypted(key: string, value: string): void {\r\n this.secureLS.set(key, value);\r\n }\r\n getEncryptedString(\r\n key: string,\r\n defaultValue: string | null = null,\r\n ): string | null {\r\n let value;\r\n try {\r\n value = this.secureLS.get(key);\r\n } catch {\r\n value = this.getString(key);\r\n if (value) {\r\n this.clearKey(key);\r\n this.setStringEncrypted(key, value);\r\n }\r\n }\r\n return value || defaultValue;\r\n }\r\n setNumberEncrypted(key: string, value: number): void {\r\n this.secureLS.set(key, value);\r\n }\r\n getEncryptedNumber(\r\n key: string,\r\n defaultValue: number | null = null,\r\n ): number | null {\r\n let value;\r\n try {\r\n value = this.secureLS.get(key);\r\n } catch {\r\n value = this.getNumber(key);\r\n if (value) {\r\n this.clearKey(key);\r\n this.setNumberEncrypted(key, value);\r\n }\r\n }\r\n return value || defaultValue;\r\n }\r\n\r\n clearKey(key: string): void {\r\n window.localStorage.removeItem(key);\r\n }\r\n\r\n clearAll(): void {\r\n window.localStorage.clear();\r\n this.secureLS.removeAll();\r\n }\r\n}\r\n","import { SearchDataModel } from \"src/Models/UserModel\";\r\nimport { LocalStorageService } from \"./LocalStorageService\";\r\n// import { BASE_URL } from \"../AloniServices/Base/AloniConnectionService\";\r\n\r\nconst isTestMode = process.env.REACT_APP_IS_TEST_MODE == \"true\";\r\n\r\nexport const BASE_URL = `https://app.ghorfe.plus/ghorfe/api`;\r\n// export const BASE_URL = `http://s.aloni.com:8086/ghorfeApi/api`;\r\n\r\n// export const BASE_URL = `https://s.exhibition.com/api.exhibition.shop${\r\n// isTestMode ? \".test\" : \"\"\r\n// }/`;\r\n\r\nexport const TOKEN = \"TOKEN\";\r\nexport const EMAIL = \"EMAIL\";\r\nexport const NAME = \"NAME\";\r\nexport const SEARCH_SECTION = \"SEARCH_SECTION\";\r\nexport const SEARCH_DATA = \"SEARCH_DATA\";\r\nconst KEY = \"KEY\";\r\nconst MOBILE = \"MOBILE\";\r\nconst LANGUAGE = \"LANGUAGE\";\r\nconst INTRO_PASSED = \"INTRO_PASSED\";\r\nconst DIRECTION = \"DIRECTION\";\r\n\r\nexport const ALONI_STORAGE_SERVICE_NAME =\r\n \"AloniPanel:Services:AloniStorageService\";\r\n\r\nexport class StorageService {\r\n storage: LocalStorageService = new LocalStorageService();\r\n\r\n private messengerIdentityId: string | null = null;\r\n private messengerToken: string | null = null;\r\n\r\n getMessengerData(): { id: string; token: string } | null {\r\n return this.messengerIdentityId == null || this.messengerToken == null\r\n ? null\r\n : {\r\n id: this.messengerIdentityId,\r\n token: this.messengerToken,\r\n };\r\n }\r\n\r\n setMessengerData(id: string, token: string) {\r\n this.messengerIdentityId = id;\r\n this.messengerToken = token;\r\n }\r\n\r\n clearMessengerData() {\r\n this.messengerIdentityId = null;\r\n this.messengerToken = null;\r\n }\r\n\r\n setToken(token: string) {\r\n this.storage!.setStringEncrypted(TOKEN, token);\r\n }\r\n getToken(): string | null {\r\n return this.storage!.getEncryptedString(TOKEN, null);\r\n }\r\n setEmail(token: string) {\r\n this.storage!.setStringEncrypted(EMAIL, token);\r\n }\r\n getEmail(): string | null {\r\n return this.storage!.getEncryptedString(EMAIL, null);\r\n }\r\n setName(token: string) {\r\n this.storage!.setStringEncrypted(NAME, token);\r\n }\r\n getName(): string | null {\r\n return this.storage!.getEncryptedString(NAME, null);\r\n }\r\n setSearchSection(section: string) {\r\n this.storage!.setStringEncrypted(SEARCH_SECTION, section);\r\n }\r\n getSearchSection(): string | null {\r\n return this.storage!.getEncryptedString(SEARCH_SECTION, null);\r\n }\r\n setSearchData(data: SearchDataModel | null) {\r\n if (data) this.storage!.setObject(SEARCH_DATA, data);\r\n else this.storage!.clearKey(SEARCH_DATA);\r\n }\r\n getSearchData(): SearchDataModel | null {\r\n return this.storage!.getObject(SEARCH_DATA, null);\r\n }\r\n clearSearchData() {\r\n return this.storage!.clearKey(SEARCH_DATA);\r\n }\r\n\r\n setMobile(mobile: string) {\r\n this.storage!.setStringEncrypted(MOBILE, mobile);\r\n }\r\n getMobile(): string | null {\r\n return this.storage!.getEncryptedString(MOBILE, null);\r\n }\r\n getKey(): number | null {\r\n return this.storage!.getNumber(KEY, null);\r\n }\r\n setKey(key: number) {\r\n this.storage!.setNumber(KEY, key);\r\n }\r\n\r\n clearUserData() {\r\n this.storage!.clearKey(TOKEN);\r\n this.storage!.clearKey(KEY);\r\n this.storage!.clearKey(DIRECTION);\r\n this.storage!.clearKey(LANGUAGE);\r\n this.storage!.clearKey(NAME);\r\n this.storage!.clearKey(EMAIL);\r\n this.storage!.clearKey(MOBILE);\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n // TODO: mode to correct service\r\n const token = this.getToken();\r\n return token != null && token.trim() !== \"\";\r\n }\r\n\r\n setLanguage(lng: string) {\r\n this.storage!.setString(LANGUAGE, lng);\r\n }\r\n\r\n getLanguage(): string | null {\r\n return this.storage!.getString(LANGUAGE, null);\r\n }\r\n setIntroPassed(isPassed: boolean) {\r\n this.storage!.setBoolean(INTRO_PASSED, isPassed);\r\n }\r\n\r\n getIntroPassed(): boolean | null {\r\n return this.storage!.getBoolean(INTRO_PASSED, null);\r\n }\r\n setDirection(dir: string) {\r\n this.storage!.setString(DIRECTION, dir);\r\n }\r\n\r\n getDirection(): string | null {\r\n return this.storage.getString(DIRECTION, null);\r\n }\r\n}\r\n","export const DEAULT_GRID_REQUEST_VALUES: GridRequestModel = {\r\n filters: [],\r\n sorts: [],\r\n ignoredFields: [],\r\n pagination: {\r\n needInfo: false,\r\n pageNo: 0,\r\n pageSize: -1,\r\n },\r\n schema: false,\r\n};\r\n\r\nexport interface GridResultModel {\r\n value: Model;\r\n needSchema: boolean;\r\n schema: null;\r\n result: boolean;\r\n message: string | null;\r\n}\r\nexport interface GridRequestModel {\r\n filters: any[];\r\n sorts: any[];\r\n ignoredFields: string[];\r\n pagination: {\r\n needInfo: boolean;\r\n pageNo: number;\r\n pageSize: number;\r\n };\r\n schema: boolean;\r\n}\r\n","import {\r\n DEAULT_GRID_REQUEST_VALUES,\r\n GridRequestModel,\r\n} from \"src/Models/BaseModels/RDTModels\";\r\nimport { Languages } from \"../../../Models/Settings\";\r\nimport { BASE_URL, StorageService } from \"../../StorageServices/StorageService\";\r\ninterface HeaderModel {\r\n \"User-Agent\": string;\r\n token?: string;\r\n key?: number;\r\n}\r\nexport class ConnectionService {\r\n storage: StorageService = new StorageService();\r\n private abortController = new AbortController();\r\n\r\n getDefaultHeaders(noContentType = false): object {\r\n const base: HeaderModel = {\r\n // Authentication: this.storage!.getToken(),\r\n \"User-Agent\": \"ghorfe plus\",\r\n };\r\n if (this.storage!.getKey()) {\r\n base.key = this.storage!.getKey()!;\r\n }\r\n if (this.storage!.getToken()) {\r\n base.token = this.storage!.getToken()!;\r\n }\r\n if (noContentType) return base;\r\n return {\r\n ...base,\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n };\r\n }\r\n\r\n abortRequest() {\r\n this.abortController.abort();\r\n }\r\n\r\n async request(\r\n endpoint: string,\r\n body: object,\r\n headers: object = {},\r\n baseUrl: string = BASE_URL,\r\n ): Promise {\r\n const result = await fetch(`${baseUrl}${endpoint}`, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n ...this.getDefaultHeaders(),\r\n ...headers,\r\n },\r\n signal: this.abortController.signal,\r\n });\r\n const data = await result.json();\r\n if (result.status !== 200) {\r\n throw this.getErrorMsg(data);\r\n }\r\n return data;\r\n }\r\n\r\n async gridRequest(\r\n endpoint: string,\r\n body?: Partial,\r\n headers: object = {},\r\n baseUrl: string = BASE_URL,\r\n ): Promise {\r\n return this.request(\r\n endpoint,\r\n {\r\n ...DEAULT_GRID_REQUEST_VALUES,\r\n ...body,\r\n },\r\n headers,\r\n baseUrl,\r\n );\r\n }\r\n\r\n getErrorMsg(data: any) {\r\n const lng = this.storage!.getLanguage();\r\n\r\n return data != null && data.msg != null\r\n ? data.msg\r\n : lng ?? lng === Languages.Fa\r\n ? \"خطای غیرمنتظره\"\r\n : lng === Languages.En\r\n ? \"Unexpected Error\"\r\n : lng === Languages.Tr\r\n ? \"Beklenmeyen hata\"\r\n : \"\";\r\n }\r\n}\r\n","import {\r\n AdvertisementRequestModel,\r\n AdvertisementResultModel,\r\n} from \"src/Models/AdvertisementModels\";\r\nimport {\r\n GeneralResultModel,\r\n GeneralResultResponseModel,\r\n} from \"src/Models/BaseModels/GeneralModels\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport {\r\n BrandGuaranteeCommentResultModel,\r\n BrandGuaranteeResultModel,\r\n BrandResultModel,\r\n CompanyBrandModel,\r\n CompanyListAndCategoryResultModel,\r\n CompanyListAndCollaborationTypesResultModel,\r\n ConfirmOtpResultModel,\r\n ExhibitionCompanyModel,\r\n ExhibitionListAndCategoryResultModel,\r\n ExhibitionListResultModel,\r\n ExhibitionPatronResultModel,\r\n ExhibitionResultModel,\r\n HomeResultModel,\r\n LoginOrRegisterResultModel,\r\n MessageResultModel,\r\n PostCategoryResultModel,\r\n PostListResultModel,\r\n ProfileResultModel,\r\n searchResultModel,\r\n ServiceResultModel,\r\n TagResultModel,\r\n} from \"../../Models/UserModel\";\r\nimport { StorageService } from \"../StorageServices/StorageService\";\r\nimport { BaseService } from \"./Base/BaseService\";\r\n\r\nexport class DataService extends BaseService {\r\n storageService = new StorageService();\r\n\r\n exhibitionList = async (): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"query operation {exhibition(onlyIsVisibleInHome:true) {id title likes isLikedByUser subTitle isTitleAndDescriptionVisibleInHome documents(type:1) {blurredData type original}} }\",\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.exhibition;\r\n };\r\n getHome = async (): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"query operation { home {isSettingsVisible isLibraryVisible isExhibitionsVisible isFavoritesVisible isFeedVisible isServicesVisible isSearchVisible activeExhibitionCo cityCo stateCo trendsCo} }\",\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.home;\r\n };\r\n lotteryCreateSession = async (\r\n id: number,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($item:CreateLotterySessionModelType!) {lotteryCreateSession(item:$item) {message result}}\",\r\n variables: { item: { lotteryId: id, appId: 1 } },\r\n operationName: \"operation\",\r\n });\r\n return result.data.lotteryCreateSession;\r\n };\r\n lotteryJoin = async (id: number): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($item:UpdateLotterySessionModelType!) {lotteryJoin(item:$item) {message result}}\",\r\n variables: { item: { lotteryId: id, appId: 1 } },\r\n operationName: \"operation\",\r\n });\r\n return result.data.lotteryJoin;\r\n };\r\n profile = async (): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"query operation {profile {likeCount activities {title subtitle color} invitationCode bookCount bookmarkCount name email followCount}}\",\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n this.storageService.setName(result.data.profile.name);\r\n this.storageService.setEmail(result.data.profile.email);\r\n return result.data.profile;\r\n };\r\n service = async (id?: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {service${\r\n id ? \"(serviceId:\" + id + \")\" : \"\"\r\n } {id subTitle title document {id original}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.service;\r\n };\r\n advertisement = async (\r\n request: AdvertisementRequestModel,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"query operation($model: AdvertisementUserDataModelType!) { advertisementPlan(userData: $model) {\\n id\\n title\\n subtitle\\n description\\n action\\n type\\n waitTime\\n document {\\n original\\n }\\n }\\n}\\n\",\r\n variables: {\r\n model: request,\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.advertisementPlan;\r\n };\r\n exhibitionLikeChange = async (\r\n exhibitionId: string,\r\n like: boolean,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation {like(like:${like},exhibitionId:${exhibitionId}) {message result}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.like;\r\n };\r\n companyFollowChange = async (\r\n companyId: string,\r\n follow: boolean,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation($model:FollowModelInputType!) {follow(request:$model) {message unFollow result}}`,\r\n variables: {\r\n model: {\r\n companyId: companyId,\r\n unFollow: follow,\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.follow;\r\n };\r\n postLikeChange = async (\r\n postId: string,\r\n like: boolean,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation {like(like:${like},postId:${postId}) {message result}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.like;\r\n };\r\n postBookmarkChange = async (\r\n postId: string,\r\n bookmark: boolean,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation {bookmark(bookmark:${bookmark},postId:${postId}) {message result}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.bookmark;\r\n };\r\n serviceMoreAdd = async (\r\n description: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation($model:ServiceMoreModelInputType!) {service_more_add(in:$model) {message result}}`,\r\n variables: {\r\n model: {\r\n description: description,\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.service_more_add;\r\n };\r\n updateUserInfo = async (\r\n name: string,\r\n email: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($model:UpdateInfoInputModelType) {updateUserInfo(request:$model) {message result}}\",\r\n variables: {\r\n model: {\r\n name: name,\r\n email: email,\r\n invitationCode: \"\",\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.updateUserInfo;\r\n };\r\n exhibitionListWithCategory = async (\r\n pageNo: number,\r\n search: string,\r\n companyId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {exhibition_category {id title} exhibition(companyId:${\r\n !!companyId ? companyId : 0\r\n },categoryId:0,search:\"${search}\",pageNo:${pageNo}) {id title buyBookRequestStatus {bookId date description status} shareMessage subTitle description likes isLikedByUser createDate features {iconIndicator title} documents {thumb original type}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data;\r\n };\r\n search = async (searchedText: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {product:post(type:2,search:\\\"${searchedText}\\\") { title id} post(type:1,search:\\\"${searchedText}\\\") {title id} company(categoryId:0,exhibitionId:0,search:\\\"${searchedText}\\\") {title id subTitle} brand(search:\\\"${searchedText}\\\") {id title subTitle} exhibition(categoryId:0,search:\\\"${searchedText}\\\") {title id subTitle }}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data;\r\n };\r\n tag = async (searchedText: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {tag(search:\\\"${searchedText}\\\") {tagName id}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.tag;\r\n };\r\n companyListWithCategory = async (\r\n pageNo: number,\r\n exhibitionId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {exhibition_contributor_category(exhibitionId:${exhibitionId}) {id title}exhibition(exhibitionId:${exhibitionId}){\r\n title,\r\n id\r\n } company(search:null,pageNo:${pageNo},categoryId:0,serviceId:0,collaboratedType:null,collaboratedCompanyId:null,collaboratedBrandId:null,exhibitionId:14,onlyFollowings:null) {address score email fax ceo footer phoneNumber contactInformation title isFollowed id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data;\r\n };\r\n companyCollaboratorList = async (\r\n pageNo: number,\r\n companyId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {company(search:\\\"\\\",pageNo:${pageNo},categoryId:0,serviceId:0,collaboratedType:3,collaboratedCompanyId:${companyId},collaboratedBrandId:0,exhibitionId:0,onlyFollowings:null) {address email fax ceo footer phoneNumber contactInformation title isFollowed id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.company;\r\n };\r\n singleCompanyIdTitle = async (companyId: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {company(search:\\\"\\\",pageNo:0,companyId:${companyId}) { title id }}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.company[0];\r\n };\r\n serviceCompany = async (\r\n pageNo: number,\r\n serviceId: string,\r\n search: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {company(search:\\\"${search}\\\",categoryId:0,serviceId:${serviceId},collaboratedType:0,collaboratedCompanyId:0,collaboratedBrandId:0,exhibitionId:0,onlyFollowings:null,pageNo:${pageNo}) {id address email fax ceo phoneNumber footer phoneNumber contactInformation title isFollowed id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.company;\r\n };\r\n message = async (): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `{messages { type extra1 extra2 extra3}}`,\r\n });\r\n return result.data.messages;\r\n };\r\n exhibitionPatron = async (\r\n pageNo: number,\r\n exhibitionId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {exhibition_patron(exhibitionId:${exhibitionId},pageNo:${pageNo}) {id fk_company_id fk_exhibition_id order type type company {address email fax ceo phoneNumber footer phoneNumber contactInformation title isFollowed id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original type}}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.exhibition_patron;\r\n };\r\n brandList = async (\r\n pageNo: number,\r\n search: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {brand(search:\\\"${search}\\\",pageNo:${pageNo}) {footer id title subTitle description address documents {id original type}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.brand;\r\n };\r\n company = async (id: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {company(companyId:${id}) { lottery {\r\n afterRegistrationMessage\r\n announcingTheWinnersDate\r\n btnTitle\r\n content\r\n endDate\r\n id\r\n isRegisterd\r\n startDate\r\n timeLeftToRegisterAsSec\r\n registrationTimeAsSec\r\n title\r\n afterRegistrationRedirectUrl\r\n }address score email fax title ceo footer phoneNumber contactInformation id description tags subTitle shareMessage isFollowed statics {catalogCount exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} documents {original thumb type} brands {footer id title subTitle description address documents(type: 1) {id original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.company;\r\n };\r\n addGuaranteeComment = async (\r\n brandId: string,\r\n companyId: string,\r\n rate: number,\r\n comment: string,\r\n isSuggested: boolean,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation ($item: BrandGuaranteeCommentCModelType!) {\\n addGuaranteeComment(item:$item){\\n result\\n message\\n }\\n}\\n\",\r\n variables: {\r\n item: {\r\n brandId: +brandId,\r\n companyId: +companyId,\r\n score: rate,\r\n comment: comment,\r\n isSuggested: isSuggested,\r\n },\r\n },\r\n });\r\n return result.data.addGuaranteeComment;\r\n };\r\n addCompanySurveyComment = async (\r\n companyId: string,\r\n rate: number,\r\n comment: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($item: CreateCompanySurveyModelType!) {\\n addCompanySurveyComment(item:$item){\\n result\\n message\\n }\\n}\\n\",\r\n variables: {\r\n item: {\r\n companyId: +companyId,\r\n vote: rate,\r\n comment: comment,\r\n },\r\n },\r\n });\r\n return result.data.addCompanySurveyComment;\r\n };\r\n addCompanyContact = async (\r\n companyId: string,\r\n title: string,\r\n content: string,\r\n mobileNo?: string,\r\n email?: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($item: CreateCompanyContactModelType!) {\\n addCompanyContact(item:$item){\\n result\\n message\\n }\\n}\\n\",\r\n variables: {\r\n item: {\r\n companyId: +companyId,\r\n content: content,\r\n email: email ?? \"\",\r\n phone: mobileNo ?? \"\",\r\n title: title,\r\n },\r\n },\r\n });\r\n return result.data.addCompanyContact;\r\n };\r\n exhibition = async (id: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {exhibition(exhibitionId:${id}) {lottery {\r\n afterRegistrationMessage\r\n announcingTheWinnersDate\r\n btnTitle\r\n content\r\n endDate\r\n id\r\n isRegisterd\r\n startDate\r\n timeLeftToRegisterAsSec\r\n registrationTimeAsSec\r\n title\r\n afterRegistrationRedirectUrl\r\n }id title buyBookRequestStatus {bookId date description status} shareMessage subTitle description likes isLikedByUser createDate features {iconIndicator title} documents {thumb original type} exhibitor {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags isFollowed statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.exhibition;\r\n };\r\n brand = async (id: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {brand(brandId:${id}) {lottery {\r\n afterRegistrationMessage\r\n announcingTheWinnersDate\r\n btnTitle\r\n content\r\n endDate\r\n id\r\n isRegisterd\r\n startDate\r\n timeLeftToRegisterAsSec\r\n registrationTimeAsSec\r\n title\r\n afterRegistrationRedirectUrl\r\n }id title shareMessage subTitle description likes address isLikedByUser documents {thumb original type} ownerCompany {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags isFollowed statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original thumb type}}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.brand;\r\n };\r\n postList = async (\r\n pageNo: number,\r\n exhibitionId?: string,\r\n search?: string,\r\n type?: string,\r\n companyId?: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(feed:${\r\n search || companyId ? false : true\r\n },brandId:null,related:null,categoryId:null,companyId:${\r\n companyId ? companyId : null\r\n },pageNo:${pageNo},search:${search ? '\"' + search + '\"' : null}${\r\n exhibitionId\r\n ? \",ownerExhibitionId:\" + exhibitionId + \",type:3\"\r\n : type\r\n ? \",type:\" + type\r\n : \"\"\r\n }) {catalog_url shop_url expertUser{name,bio,documents{id original type}\r\n }description type short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {id original type}} documents {id original thumb type} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n expertPostList = async (\r\n pageNo: number,\r\n brandId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(brandId:${brandId},related:null,categoryId:null,pageNo:${pageNo},type:4) {catalog_url shop_url expertUser{name,bio,documents{id original type}\r\n } description type short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {id original type}} documents {id thumb original type} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n catalogList = async (\r\n pageNo: number,\r\n companyId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(companyId:${companyId},related:null,categoryId:null,pageNo:${pageNo},type:5) {catalog_url shop_url expertUser{name,bio,documents{id original type}\r\n } description type short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {id original type}} documents{id thumb original type} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n brandGuaranteeList = async (\r\n brandId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {brand(brandId:${brandId}) {guarantee{companyId,brandId,company{title,subTitle,documents(type:1){thumb}},score,totalComment}}}`,\r\n operationName: \"operation\",\r\n });\r\n return result.data.brand.length ? result.data.brand[0]?.guarantee : [];\r\n };\r\n brandGuaranteeCommentList = async (\r\n pageNo: number,\r\n\r\n brandId: string,\r\n companyId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `{ brand(brandId : ${brandId}) { guarantee(companyId:${companyId}) { brandId companyId company{ title,\r\n subTitle,address, ceo, contactInformation, documents(type:1){\r\n thumb\r\n }, email, fax, phoneNumber } comments(pageNo:${pageNo}){userName comment isSuggested score}}}}`,\r\n });\r\n return result.data.brand.length ? result.data.brand[0]?.guarantee[0] : null;\r\n };\r\n\r\n productList = async (\r\n pageNo: number,\r\n companyId: string,\r\n categoryId?: string,\r\n brandId?: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(feed:false,brandId:${brandId ??\r\n null},related:null,categoryId:${\r\n categoryId ? categoryId : null\r\n },pageNo:${pageNo},search:null,companyId:${companyId ??\r\n null},type:2) {catalog_url shop_url description type short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {id original thumb type}} documents{id thumb original type} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n post = async (id: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(postId:${id}) { lottery {\r\n afterRegistrationMessage\r\n announcingTheWinnersDate\r\n btnTitle\r\n content\r\n endDate\r\n id\r\n isRegisterd\r\n startDate\r\n timeLeftToRegisterAsSec\r\n registrationTimeAsSec\r\n title\r\n afterRegistrationRedirectUrl\r\n }catalog_url shop_url expertUser{name,bio,documents{id original type}\r\n }description type short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {id original type}} documents {id thumb original type} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n favoritePostList = async (pageNo: number): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post(feed:false,brandId:null,related:true,categoryId:null,pageNo:${pageNo},search:null) {catalog_url shop_url description short_description company {address email fax ceo phoneNumber footer phoneNumber contactInformation title id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} isFollowed subTitle brands {footer id title subTitle description address documents {id original type}} documents(type:1) {original type}} documents {original thumb} likes title subtitle isLikedByUser id shareMessage isBookmarkedByUser}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post;\r\n };\r\n postCategoryList = async (\r\n companyId: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {post_category(companyId:${companyId},postType:2) {id title document {id original}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.post_category;\r\n };\r\n collaborationsList = async (\r\n pageNo: number,\r\n brandId: string,\r\n collaboratedType: number,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {company(search:null,pageNo:${pageNo},categoryId:0,serviceId:0,collaboratedType:${collaboratedType},collaboratedCompanyId:null,collaboratedBrandId:${brandId},exhibitionId:0,onlyFollowings:null) {address score email fax ceo footer phoneNumber contactInformation title isFollowed id tags statics {exhibitionCount followerCount collaboratorCount postCategoryCount productCategoryCount productCount postCount} subTitle documents(type:1) {original type} brands {footer id title subTitle description address documents {id original type}}}}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data;\r\n };\r\n collaborationTypes = async (brandId: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `query operation {collaborationTypes(companyId: 0, brandId: ${brandId}) {\r\n id\r\n title\r\n }}`,\r\n variables: {},\r\n operationName: \"operation\",\r\n });\r\n return result.data.collaborationTypes;\r\n };\r\n confirmOtp = async (otpCode: string): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($model:ConfirmOtpInputModelType) {confirmOtp(request:$model) {authorization message result}}\",\r\n variables: {\r\n model: {\r\n mobileNo: this.storageService.getMobile(),\r\n otpCode: otpCode,\r\n key: this.storageService.getKey(),\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.confirmOtp;\r\n };\r\n report = async (\r\n type: number,\r\n id: number,\r\n description: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query: `mutation operation {report(entityType:${type},entityId:${id},description:\\\"${description}\\\") {message result}}`,\r\n variables: {\r\n model: {\r\n description: description,\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.report;\r\n };\r\n loginOrRegister = async (\r\n mobileNo: string,\r\n ): Promise => {\r\n const result = await this.ApiRequest(\"\", {\r\n query:\r\n \"mutation operation($model:LoginOrRegisterInputModelType) {loginOrRegister(request:$model) {key message result}}\",\r\n variables: {\r\n model: {\r\n mobileNo: mobileNo,\r\n },\r\n },\r\n operationName: \"operation\",\r\n });\r\n return result.data.loginOrRegister;\r\n };\r\n}\r\n","import { ConnectionService } from \"./ConnectionService\";\r\n\r\nexport abstract class BaseService {\r\n connection: ConnectionService = new ConnectionService();\r\n\r\n async ApiRequest(\r\n endpoint: string,\r\n body: any,\r\n header?: any,\r\n ): Promise {\r\n const result = (await this.connection!.request(\r\n endpoint,\r\n body,\r\n header,\r\n )) as Model;\r\n\r\n return result;\r\n }\r\n}\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport CompanyCardComponent from \"src/Components/Cards/CompanyCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { ExhibitionCompanyModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst BrandCollaboratorListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [companyList, setCompanyList] = useState([]);\r\n const [filteredExhibitionList, setFilteredExhibitionList] = useState<\r\n ExhibitionCompanyModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [value, setValue] = React.useState(undefined);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const { bid } = useParams();\r\n const loadCategory = async () => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n const cat = await service.collaborationTypes(bid as string);\r\n if (cat) {\r\n setCategories(cat);\r\n setValue(prev => {\r\n return cat[0].id;\r\n });\r\n }\r\n } catch (e) {}\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.collaborationsList(pNo, bid as string, value!);\r\n setPageNo(v => ++v);\r\n\r\n setCompanyList(v => {\r\n const temp =\r\n type === GetDataType.Refresh ? res.company : [...v, ...res.company];\r\n return temp;\r\n });\r\n setHasMore(res?.company.length >= 10);\r\n } catch (e) {}\r\n skeletonContext.setIsLoading(false);\r\n };\r\n useEffect(() => {\r\n loadCategory();\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n }, []);\r\n useEffect(() => {\r\n if (value) loadData(GetDataType.Refresh);\r\n }, [value]);\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\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 {categories.map(i => {\r\n return ;\r\n })}\r\n \r\n\r\n \r\n {\r\n \r\n {companyList.length ? (\r\n }\r\n >\r\n {companyList.map(i => {\r\n return (\r\n {\r\n router.push(`${RoutesList.Company}/${i.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\nexport default BrandCollaboratorListPage;\r\n","import { Divider, Grid, Typography } from \"@material-ui/core\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { BrandGuaranteeCommentCommentModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\ninterface Options {\r\n data: BrandGuaranteeCommentCommentModel;\r\n onClick: VoidFunction;\r\n noBrand?: boolean;\r\n}\r\n\r\nconst BrandGuaranteeCommentCardComponent = ({ data, onClick }: Options) => {\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { userName, comment, score, isSuggested } = data;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {score.toLocaleString(undefined, {\r\n maximumFractionDigits: 1,\r\n minimumFractionDigits: 0,\r\n })}\r\n \r\n \r\n \r\n {userName ?? \"\"}\r\n {comment}\r\n \r\n \r\n {isSuggested && (\r\n \r\n )}\r\n {isSuggested && (\r\n \r\n {`استفاده از خدمات این گارانتی را پیشنهاد میکنم`}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\nexport default BrandGuaranteeCommentCardComponent;\r\n","import React from \"react\";\r\nimport { Grid, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n margin: \"20px 0\",\r\n },\r\n loader: {\r\n marginBottom: 10,\r\n },\r\n text: {\r\n fontWeight: \"bold\",\r\n },\r\n});\r\n\r\ninterface IProps {\r\n size?: number;\r\n text?: string;\r\n}\r\n\r\nexport default (props: IProps) => {\r\n const cls = useStyles();\r\n const lng = useLocalizationCtx();\r\n\r\n return (\r\n \r\n \r\n \r\n {props.text ?? lng.circularLoading}\r\n \r\n \r\n );\r\n};\r\n","export interface GeneralResultModel {\r\n data: any;\r\n}\r\nexport interface GeneralGridResultModel {\r\n value: any;\r\n}\r\nexport interface GeneralResultResponseModel {\r\n message: string;\r\n result: ResultMode;\r\n}\r\nexport enum ResultMode {\r\n Success = 1,\r\n Failed = 0,\r\n}\r\n// Generated by https://quicktype.io\r\n\r\nexport interface LotteryResultModel {\r\n afterRegistrationMessage: string;\r\n announcingTheWinnersDate: string;\r\n btnTitle: string;\r\n content: string;\r\n endDate: string;\r\n id: number;\r\n isRegisterd: boolean;\r\n startDate: string;\r\n timeLeftToRegisterAsSec: number | null;\r\n registrationTimeAsSec: number;\r\n title: string;\r\n afterRegistrationRedirectUrl: string;\r\n}\r\n","import {\r\n Button,\r\n Checkbox,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Divider,\r\n FormControlLabel,\r\n Grid,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport {\r\n AlternateEmail,\r\n AssignmentInd,\r\n LocationOn,\r\n MoreHoriz,\r\n PermPhoneMsg,\r\n Phone,\r\n Star,\r\n} from \"@material-ui/icons\";\r\nimport Rating from \"@material-ui/lab/Rating\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport BrandGuaranteeCommentCardComponent from \"src/Components/Cards/BrandGuaranteeCommentCardComponent\";\r\nimport CircularLoading from \"src/Components/General/CircularLoading\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { SnackBarType } from \"src/Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport {\r\n ActivityModel,\r\n BrandGuaranteeCommentCommentModel,\r\n BrandGuaranteeCommentCompanyModel,\r\n BrandGuaranteeCommentResultModel,\r\n} from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { StorageService } from \"src/Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\nimport AppBarComponent from \"../Components/AppBars/AppBarComponent\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"100%\",\r\n width: \"100%\",\r\n backgroundColor: \"#fff\",\r\n },\r\n emptyContent: {\r\n flexGrow: 1,\r\n paddingTop: \"1.5rem\",\r\n \"& img\": {\r\n // margin: \"15px 0\",\r\n maxWidth: 112,\r\n },\r\n },\r\n fab: {\r\n position: \"fixed\",\r\n left: 25,\r\n bottom: 25,\r\n },\r\n cardHeader: {\r\n background: theme.palette.grey[200],\r\n },\r\n card: {\r\n margin: 8,\r\n },\r\n whiteBtn: {\r\n color: \"#3b3b3b\",\r\n borderRadius: 30,\r\n backgroundColor: \"#fff\",\r\n boxShadow: \"0px 0px 3px #d6d6d6\",\r\n fontSize: \".7rem\",\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n marginBottom: 10,\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n width: \"80%\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n imageContainer: {\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"50%\",\r\n width: 120,\r\n height: 120,\r\n border: `3px solid ${theme.palette.primary.main}`,\r\n boxShadow: `0px 0px 4px ${theme.palette.primary.main}`,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center \",\r\n overflow: \"hidden\",\r\n },\r\n opinionSubmitBtn: {\r\n padding: 0,\r\n marginLeft: 5,\r\n },\r\n opinionSubmitTitle: {\r\n fontWeight: 600,\r\n color: \"#000\",\r\n },\r\n opinionSubmitSubTitle: {\r\n color: theme.palette.grey[500],\r\n },\r\n opinionSubmitRating: {\r\n marginBottom: 10,\r\n },\r\n opinionSubmitDivider: {\r\n marginTop: 5,\r\n marginBottom: 5,\r\n backgroundColor: \"#f7f7f7\",\r\n },\r\n }),\r\n);\r\n\r\nenum GetDataType {\r\n Get = \"Get\",\r\n Refresh = \"Refresh\",\r\n}\r\n\r\nconst BrandGuaranteeCommentPage = () => {\r\n const [collaboratorCount, setCollaboratorCount] = useState(0);\r\n const [postCount, setPostCount] = useState(0);\r\n const [productCount, setProductCount] = useState(0);\r\n const [exhibitionCount, setExhibitionCount] = useState(0);\r\n const [logo, setLogo] = useState(\r\n \"./Asset/Image/empty/empty_logo.png\",\r\n );\r\n const [activities, setActivities] = useState([]);\r\n const [margin, setMargin] = useState(10);\r\n const [isFollowedByUser, setIsFollowedByUser] = useState(false);\r\n const [isFollowBtnLoading, setIsFollowBtnLoading] = useState(false);\r\n const counterViewRef = useRef(null);\r\n const [company, setCompany] = useState<\r\n BrandGuaranteeCommentCompanyModel | undefined\r\n >(undefined);\r\n const [comments, setComments] = useState(\r\n [],\r\n );\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\r\n };\r\n const skeletonCtx = useSkeletonCtx();\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const lng = useLocalizationCtx();\r\n const { companyId, brandId } = useParams();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n skeletonCtx.setIsHeaderVisible(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n useEffect(() => {\r\n // if (counterViewRef.current?.getBoundingClientRect().right) {\r\n // }\r\n setMargin(counterViewRef?.current?.offsetLeft ?? 0 ?? 10);\r\n return () => {};\r\n }, []);\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonCtx.setIsLoading(true);\r\n\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res: BrandGuaranteeCommentResultModel | null = await userService.brandGuaranteeCommentList(\r\n pageNo,\r\n brandId as string,\r\n companyId as string,\r\n );\r\n setPageNo(v => ++v);\r\n setHasMore(res?.comments.length >= 10);\r\n\r\n if (res) {\r\n setCompany(res.company);\r\n setComments(res.comments);\r\n }\r\n setLogo(\r\n res.company.documents[0]?.thumb ?? \"./Asset/Image/empty/empty_logo.png\",\r\n );\r\n // setActivities(res.activities);\r\n } catch (err) {}\r\n\r\n skeletonCtx.setIsLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n const [commentModalIsOpen, setCommentModalIsOpen] = useState(false);\r\n const [commentIsSuggested, setCommentIsSuggested] = useState(false);\r\n const [isLoadingSubmitModalButton, setIsLoadingSubmitModalButton] = useState(\r\n false,\r\n );\r\n const [commentRate, setCommentRate] = useState(null);\r\n const [commentText, setCommentText] = useState(\"\");\r\n const handleComment = (e: any) => setCommentText(e.target.value);\r\n const addOrDeleteComment = async () => {\r\n if (!!!commentRate || !!!commentText) {\r\n skeletonCtx.setSnackBar({\r\n message: \"ورود متن نظر و امتیاز الزامی است\",\r\n type: SnackBarType.Error,\r\n duration: 3000,\r\n isOpen: true,\r\n });\r\n return;\r\n }\r\n try {\r\n setIsLoadingSubmitModalButton(true);\r\n\r\n const res = await userService.addGuaranteeComment(\r\n brandId,\r\n companyId,\r\n commentRate,\r\n commentText,\r\n commentIsSuggested,\r\n );\r\n\r\n if (res && res.result === ResultMode.Success) {\r\n setCommentModalIsOpen(false);\r\n\r\n skeletonCtx.setSnackBar({\r\n message: \"ثبت نظر با موفقیت انجام شد\",\r\n isOpen: true,\r\n type: SnackBarType.Success,\r\n duration: 3000,\r\n });\r\n loadData(GetDataType.Refresh);\r\n } else if (res && res.result === ResultMode.Failed) {\r\n setCommentModalIsOpen(false);\r\n skeletonCtx.setSnackBar({\r\n message: res.message,\r\n type: SnackBarType.Error,\r\n duration: 3000,\r\n isOpen: true,\r\n });\r\n }\r\n } catch (e) {\r\n skeletonCtx.setSnackBar({\r\n message: e,\r\n isOpen: true,\r\n type: SnackBarType.Success,\r\n duration: 3000,\r\n });\r\n } finally {\r\n setIsLoadingSubmitModalButton(false);\r\n }\r\n };\r\n return (\r\n \r\n \r\n {skeletonCtx.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n {\r\n setIsModalOpen(true);\r\n }}\r\n >\r\n {\"تماس با ما\"}\r\n \r\n
\r\n \"company\r\n
\r\n {\r\n router.push(`${RoutesList.Company}/${companyId}`);\r\n }}\r\n >\r\n {\"صفحه شرکت\"}\r\n \r\n
\r\n \r\n {company?.title ?? \"-\"}\r\n \r\n \r\n {company?.subTitle ?? \"-\"}\r\n \r\n \r\n {\r\n setCommentText(\"\");\r\n setCommentRate(null);\r\n setCommentIsSuggested(false);\r\n setCommentModalIsOpen(true);\r\n }}\r\n >\r\n {\"ثبت نظر بر روی این گارانتی\"}\r\n \r\n {\r\n \r\n {comments.length ? (\r\n }\r\n >\r\n {comments.map((i, 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 {company?.phoneNumber && (\r\n \r\n \r\n {\r\n window.open(`tel:${company?.phoneNumber}`);\r\n }}\r\n >\r\n {company?.phoneNumber}\r\n \r\n \r\n )}\r\n {company?.fax && (\r\n \r\n \r\n {\r\n window.open(`tel:${company?.fax}`);\r\n }}\r\n >\r\n {company?.fax}\r\n \r\n \r\n )}\r\n {company?.email && (\r\n \r\n \r\n {company?.email}\r\n \r\n )}\r\n {company?.ceo && (\r\n \r\n \r\n {company?.ceo}\r\n \r\n )}\r\n {company?.address && (\r\n \r\n \r\n {company?.address}\r\n \r\n )}\r\n \r\n {company?.contactInformation && (\r\n \r\n {\r\n const win = window.open(company?.contactInformation, \"_blank\");\r\n win?.focus();\r\n handleCloseModal(e);\r\n }}\r\n >\r\n {company?.contactInformation}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {\"ثبت نظر\"}\r\n \r\n \r\n \r\n }\r\n emptyIcon={\r\n \r\n }\r\n className={classes.opinionSubmitRating}\r\n name=\"rating\"\r\n onChange={(event, newValue) => {\r\n setCommentRate(newValue);\r\n }}\r\n />\r\n \r\n ) => {\r\n setCommentIsSuggested(event.target.checked);\r\n }}\r\n />\r\n }\r\n label={\r\n \r\n {\"استفاده از خدمات این گارانتی را پیشنهاد می کنم\"}\r\n \r\n }\r\n labelPlacement=\"end\"\r\n />\r\n \r\n \r\n isLoadingSubmitModalButton ? {} : addOrDeleteComment()\r\n }\r\n >\r\n {isLoadingSubmitModalButton && (\r\n \r\n )}\r\n \r\n {lng.submitReview}\r\n \r\n \r\n {\r\n setCommentModalIsOpen(false);\r\n }}\r\n >\r\n {lng.cancel}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BrandGuaranteeCommentPage;\r\n","export interface DocumentModel {\r\n result?: number;\r\n message?: string;\r\n id: string;\r\n original: string;\r\n thumb: string;\r\n blurred?: string;\r\n}\r\nexport interface GetDocumentListRequestModel {\r\n fk_documentType_id: number;\r\n fk_EntityId: number;\r\n}\r\nexport interface DocumentItemListModel {\r\n fk_documentType_id: number;\r\n fk_EntityId: number;\r\n docItemList: AddEntityDocumentModel[];\r\n}\r\nexport interface AddEntityDocumentModel {\r\n id: string;\r\n isDefault: boolean;\r\n}\r\nexport interface DocumentItemModel {\r\n thumbImageUrl: string;\r\n downloadLink: string;\r\n uid: string;\r\n isDefault: boolean;\r\n fk_documentType_id: number;\r\n description?: string;\r\n fk_EntityId: number;\r\n caption?: string;\r\n}\r\nexport interface DocumentItemModelWithId {\r\n thumbImageUrl: string;\r\n downloadLink: string;\r\n id: string;\r\n isDefault: boolean;\r\n}\r\n\r\nexport enum DocumentTypes {\r\n Post = 1,\r\n Product = 2,\r\n Report = 3,\r\n Expert = 4,\r\n}\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { BrandGuaranteeResultModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\ninterface Options {\r\n data: BrandGuaranteeResultModel;\r\n onClick: VoidFunction;\r\n noBrand?: boolean;\r\n}\r\n\r\nconst BrandGuaranteeCardComponent = ({ data, onClick, noBrand }: Options) => {\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { brandId, companyId, score, totalComment, company } = data;\r\n\r\n return (\r\n \r\n \r\n \r\n 0\r\n ? company.documents[0].thumb\r\n : \"./Asset/Image/logo.png\"\r\n }\r\n width={70}\r\n height={70}\r\n style={{\r\n boxShadow: \"0px 0px 5px #e4e3e3\",\r\n borderRadius: \"50%\",\r\n }}\r\n />\r\n \r\n \r\n {company.title}\r\n \r\n \r\n {company.subTitle}\r\n \r\n \r\n \r\n \r\n {`امتیاز : ${score.toLocaleString(undefined, {\r\n maximumFractionDigits: 1,\r\n minimumFractionDigits: 0,\r\n })}`}\r\n {`گفتگو ( ${totalComment} پیام )`}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default BrandGuaranteeCardComponent;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport BrandGuaranteeCardComponent from \"src/Components/Cards/BrandGuaranteeCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType, SearchSection } from \"src/Models/Settings\";\r\nimport { BrandGuaranteeResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst BrandGuaranteeListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [height, setHeight] = useState(100);\r\n\r\n const [brandGuaranteeList, setBrandGuaranteeList] = useState<\r\n BrandGuaranteeResultModel[]\r\n >([]);\r\n const [filteredBrandGuaranteeList, setFilteredBrandGuaranteeList] = useState<\r\n BrandGuaranteeResultModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storage = new StorageService();\r\n const storageService = new StorageService();\r\n const { id, search } = useParams();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.brandGuaranteeList((id as string) ?? \"\");\r\n setPageNo(v => ++v);\r\n setBrandGuaranteeList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n if (!!!categories.length) {\r\n setCategories([{ id: 0, title: `همه` }]);\r\n setSelectedCategory({\r\n id: 0,\r\n title: `همه`,\r\n });\r\n }\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n // const loadData = async () => {\r\n // const result = await service.exhibitionListWithCategory();\r\n // setExhibitionList(result.exhibition);\r\n // setCategories(result.exhibition_category);\r\n // };\r\n const [value, setValue] = React.useState(0);\r\n const [selectedCategory, setSelectedCategory] = React.useState<\r\n IdTitleModel | undefined\r\n >(undefined);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n\r\n setFilteredBrandGuaranteeList(brandGuaranteeList);\r\n }, [value, brandGuaranteeList]);\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \r\n {\r\n storage.setSearchSection(SearchSection.Exhibition);\r\n storage.setSearchData({\r\n category: selectedCategory,\r\n });\r\n router.push(RoutesList.Search);\r\n }}\r\n />\r\n \r\n \r\n {!!id\r\n ? \"گارانتی و خدمات پس از فروش\"\r\n : `${search ? \"جستجو \" : \"\"}گارانتی و خدمات`}\r\n \r\n \r\n \r\n \r\n {categories.map(i => {\r\n return (\r\n {\r\n setSelectedCategory(i);\r\n }}\r\n />\r\n );\r\n })}\r\n \r\n \r\n {categories.map((l, index) => {\r\n return (\r\n \r\n {/* \r\n */}\r\n \r\n \r\n );\r\n};\r\nexport default BrandGuaranteeListPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { CompanyBrandModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\n\r\ninterface Options {\r\n data: CompanyBrandModel;\r\n onClick: VoidFunction;\r\n marginTop?: number;\r\n}\r\n\r\nconst BrandCardComponent = ({ data, onClick, marginTop }: Options) => {\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { id, title, documents, subTitle, footer } = data;\r\n\r\n return (\r\n \r\n 0 ? documents[0].original : \"\"}\r\n width={70}\r\n height={70}\r\n style={{\r\n boxShadow: \"0px 0px 7px #e4e3e3\",\r\n borderRadius: \"50%\",\r\n objectFit: \"contain\",\r\n }}\r\n />\r\n \r\n {title}\r\n \r\n {subTitle}\r\n \r\n \r\n {footer}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default BrandCardComponent;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport BrandCardComponent from \"src/Components/Cards/BrandCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { CompanyBrandModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst BrandListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [brandList, setBrandList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const { search } = useParams();\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.brandList(pNo, search);\r\n setPageNo(v => ++v);\r\n setBrandList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {}\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n {\" \"}\r\n \r\n \r\n {search ? `نتایج جستجو \"${search}\"` : \"برند ها\"}\r\n \r\n \r\n \r\n {brandList.length ? (\r\n }\r\n >\r\n {brandList.map(i => {\r\n return (\r\n {\r\n router.push(`${RoutesList.Brand}/${i.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\nexport default BrandListPage;\r\n","import { Button } from \"@material-ui/core\";\r\nimport React, { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\n\r\ninterface IProps {\r\n width: number;\r\n icon: string;\r\n text: string;\r\n onClick?: VoidFunction;\r\n}\r\n\r\nconst ButtonTwoColor = ({ text, icon, width, onClick }: IProps) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const router = useHistory();\r\n const lng = useLocalizationCtx();\r\n\r\n return (\r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonTwoColor;\r\n","import { Typography, useTheme } from \"@material-ui/core\";\r\nimport React, { CSSProperties } from \"react\";\r\n\r\ninterface IProps {\r\n style?: CSSProperties;\r\n text: string;\r\n}\r\n\r\nconst UnderlineTitle = ({ text, style }: IProps) => {\r\n const theme = useTheme();\r\n return (\r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UnderlineTitle;\r\n","/* eslint-disable @typescript-eslint/ban-ts-ignore */\r\nimport { Button, Grid, Typography } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport { RssFeedOutlined, Share } from \"@material-ui/icons\";\r\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\n// @ts-ignore\r\nimport SwipeableBottomSheet from \"react-swipeable-bottom-sheet\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport ButtonTwoColor from \"src/Components/ButtonTwoColor\";\r\nimport UnderlineTitle from \"src/Components/UnderlineTitle\";\r\nimport {\r\n BrandResultModel,\r\n ExhibitionResultModelDocument,\r\n} from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { IdTitleModel } from \"../Models/BaseModels/IdTitleModel\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n imgList: {\r\n borderRadius: 8,\r\n height: window.innerWidth / 5,\r\n width: window.innerWidth / 5,\r\n objectFit: \"cover\",\r\n },\r\n }),\r\n);\r\n\r\nconst BrandPage = () => {\r\n const [pageNo, setPageNo] = useState(0);\r\n const [search, setSearch] = useState(\"\");\r\n const [data, setData] = useState([]);\r\n const [hasMore, setHasMore] = useState(true);\r\n const [listHeight, setListHeight] = useState(86);\r\n const [marginValue, setMarginValue] = useState(16);\r\n const [buttonWidth, setButtonWidth] = useState(16);\r\n const [backImage, setBackImage] = useState(\"\");\r\n const [docs, setDocs] = useState([]);\r\n\r\n const inputRef = useRef(null);\r\n\r\n const searchSubject = useMemo(() => new BehaviorSubject(\"\"), []);\r\n const skeletonCtx = useSkeletonCtx();\r\n\r\n const cls = useStyles();\r\n const theme = useTheme();\r\n const lng = useLocalizationCtx();\r\n const { id } = useParams();\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const userService = new DataService();\r\n const loadData = async () => {\r\n const result = await userService.brand(id as string);\r\n if (result) {\r\n setBrand(result[0]);\r\n if (\r\n result[0].lottery &&\r\n !!!skeletonCtx.lotteryCounter &&\r\n !!!result[0].lottery.isRegisterd\r\n )\r\n skeletonCtx.setLottery(result[0].lottery);\r\n setBackImage(result[0].documents.filter(i => i.type === 2)[0].original);\r\n const temp = result[0].documents;\r\n setDocs(temp.filter(i => i.type === 1));\r\n }\r\n };\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [brand, setBrand] = React.useState(\r\n undefined,\r\n );\r\n const [appBarColor, setAppBarColor] = React.useState(\"transparent\");\r\n const [appBarSecondIcon, setAppBarSecondIcon] = React.useState<\r\n JSX.Element | undefined\r\n >(undefined);\r\n\r\n useEffect(() => {\r\n setListHeight(window.innerHeight - inputRef.current!.clientHeight + 40);\r\n setMarginValue((window.innerWidth - (4 * window.innerWidth) / 5) / 5);\r\n setButtonWidth(\r\n (window.innerWidth -\r\n ((window.innerWidth - (4 * window.innerWidth) / 5) / 5) * 3) /\r\n 2,\r\n );\r\n loadData();\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n }\r\n onRightIconClick={() => {\r\n if (navigator.share) {\r\n navigator\r\n .share({\r\n title: brand?.title,\r\n text: brand?.shareMessage,\r\n })\r\n .then(() => {})\r\n .catch(error => {});\r\n }\r\n }}\r\n />\r\n {\r\n setAppBarColor(isOpen ? \"#fff\" : \"transparent\");\r\n setAppBarSecondIcon(isOpen ? : undefined);\r\n }}\r\n shadowTip={false}\r\n topShadow={false}\r\n bodyStyle={{ backgroundColor: appBarColor }}\r\n >\r\n \r\n \r\n \r\n لغو اشتراک\r\n \r\n \r\n \r\n {179}\r\n {`نفر دنبال کننده `}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {brand?.title}\r\n \r\n \r\n {brand?.subTitle}\r\n \r\n {/* \r\n {brand?.createDate}\r\n */}\r\n \r\n {\r\n router.push(`${RoutesList.BrandProductList}/${brand?.id}`);\r\n }}\r\n />\r\n {\r\n router.push(\r\n `${RoutesList.BrandCollaboratorList}/${brand?.id}`,\r\n );\r\n }}\r\n />\r\n \r\n \r\n {\r\n router.push(`${RoutesList.BrandGuaranteeList}/${brand?.id}`);\r\n }}\r\n />\r\n {\r\n router.push(`${RoutesList.ExpertPostList}/${brand?.id}`);\r\n }}\r\n />\r\n \r\n \r\n {\r\n router.push(\r\n `${RoutesList.Company}/${brand?.ownerCompany.id}`,\r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n {brand?.description}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BrandPage;\r\n","import {\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n IconButton,\r\n makeStyles,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport {\r\n Bookmark,\r\n BookmarkBorder,\r\n Favorite,\r\n FavoriteBorder,\r\n MoreVert,\r\n PlayArrow,\r\n Share,\r\n} from \"@material-ui/icons\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { DocumentTypes } from \"src/Models/DocumentModel\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\nimport { SnackBarDuration, SnackBarType } from \"../General/SnackBarComponent\";\r\n\r\ninterface Options {\r\n data: PostListResultModel;\r\n onClick: VoidFunction;\r\n}\r\nconst useStyles = makeStyles(theme => ({\r\n fullWidth: {\r\n flex: 1,\r\n width: \"100%\",\r\n },\r\n fullWidthInput: {\r\n flex: 1,\r\n backgroundColor: \"#f7f7f7\",\r\n paddingTop: 12,\r\n },\r\n fullWidthInputElement: {\r\n fontSize: \".8rem\",\r\n },\r\n appBarContainer: {\r\n paddingRight: 15,\r\n },\r\n searchBtn: {\r\n padding: 5,\r\n borderRadius: 4,\r\n minWidth: 0,\r\n },\r\n appBar: {\r\n boxShadow:\r\n \"0px 3px 1px -2px rgba(0,0,0,0.01), 0px 2px 2px 0px rgba(0,0,0,0.01), 0px 1px 5px 0px rgba(0,0,0,0.1)\",\r\n },\r\n}));\r\nconst PostCardComponent = ({ data, onClick }: Options) => {\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const classes = useStyles();\r\n const service = new DataService();\r\n\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [reportValue, setReportValue] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const shareMessageRef = useRef(null);\r\n\r\n const handleCloseModal = (e?: any) => {\r\n setIsModalOpen(false);\r\n };\r\n const openPost = () => {\r\n router.push(`${RoutesList.Post}/${data.id}`);\r\n };\r\n const onSubmitReport = async (e: any) => {\r\n setIsLoading(true);\r\n try {\r\n const result = await service.report(data.type, data.id, reportValue);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n handleCloseModal();\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Success,\r\n message: result.message,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } else {\r\n handleCloseModal();\r\n\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n const handleReportChange = (e: any) => {\r\n setReportValue(e.target.value);\r\n };\r\n const [bookmarkBtnIsLoading, setBookmarkBtnIsLoading] = useState(false);\r\n const [likeBtnIsLoading, setLikeBtnIsLoading] = useState(false);\r\n const handelBookmarkButton = async () => {\r\n if (!bookmarkBtnIsLoading) {\r\n setBookmarkBtnIsLoading(true);\r\n try {\r\n const result = await service.postBookmarkChange(\r\n `${id}`,\r\n !isBookmarkedByUser,\r\n );\r\n if (result.result === ResultMode.Success) {\r\n setIsBookmarkedByUser(i => !i);\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setBookmarkBtnIsLoading(false);\r\n }\r\n }\r\n };\r\n const handelLikeButton = async () => {\r\n if (!likeBtnIsLoading) {\r\n setLikeBtnIsLoading(true);\r\n try {\r\n const result = await service.postLikeChange(`${id}`, !isLikedByUser);\r\n if (result.result === ResultMode.Success) {\r\n setLikes(() => {\r\n return isLikedByUser ? likes - 1 : likes + 1;\r\n });\r\n setIsLikedByUser(i => !i);\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setLikeBtnIsLoading(false);\r\n }\r\n }\r\n };\r\n const {\r\n id,\r\n title,\r\n documents,\r\n short_description,\r\n subtitle,\r\n company,\r\n shareMessage,\r\n type,\r\n expertUser,\r\n } = data;\r\n const [isBookmarkedByUser, setIsBookmarkedByUser] = useState(\r\n data.isBookmarkedByUser,\r\n );\r\n const [isLikedByUser, setIsLikedByUser] = useState(data.isLikedByUser);\r\n const [likes, setLikes] = useState(data.likes);\r\n const shopButton = (\r\n {\r\n const win = window.open(data.shop_url ?? \"\", \"_blank\");\r\n win?.focus();\r\n }}\r\n style={{\r\n position: \"absolute\",\r\n bottom: 5,\r\n right: 5,\r\n borderRadius: 8,\r\n // display: \"flex\",\r\n padding: \"4px 8px\",\r\n }}\r\n >\r\n \r\n add_shopping_cart\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 if (type !== DocumentTypes.Expert)\r\n router.push(`${RoutesList.Company}/${company?.id}`);\r\n }}\r\n />\r\n \r\n \r\n {type === DocumentTypes.Expert ? expertUser?.name : company?.title}\r\n \r\n \r\n {type === DocumentTypes.Expert\r\n ? expertUser?.bio\r\n : company?.subTitle}\r\n \r\n \r\n {\r\n setIsModalOpen(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {!!!documents.length && (\r\n \r\n {!!data.shop_url && shopButton}\r\n \r\n \r\n )}\r\n {!!documents.length ? (\r\n documents.length > 1 ? (\r\n \r\n \r\n \r\n \r\n {documents[0]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n {documents[3]?.thumb && (\r\n \r\n \r\n {documents[3]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {documents[1]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n {documents[2]?.thumb && (\r\n \r\n \r\n {documents[2]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n {!!data.shop_url && shopButton}\r\n \r\n ) : (\r\n \r\n \r\n {documents[0]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n {!!data.shop_url && shopButton}\r\n \r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n {isLikedByUser ? : }\r\n \r\n \r\n {`پسندیده شده توسط ${likes} نفر`}\r\n \r\n {\r\n if (navigator.share) {\r\n navigator\r\n .share({\r\n title: title,\r\n text: shareMessage,\r\n })\r\n .then(() => {})\r\n .catch(error => {});\r\n } else {\r\n shareMessageRef.current!.select();\r\n shareMessageRef.current!.setSelectionRange(0, 99999);\r\n document.execCommand(\"copy\");\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Info,\r\n message: \"متن اشتراک گذاری کپی گردید\",\r\n duration: SnackBarDuration.Short,\r\n isOpen: true,\r\n });\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n {isBookmarkedByUser ? : }\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n {subtitle}\r\n \r\n \r\n {short_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 {\"ثبت گزارش\"}\r\n \r\n \r\n {\"انصراف\"}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default PostCardComponent;\r\n","import { Button, Grid, TextField, Typography } from \"@material-ui/core\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"../Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nenum FormMode {\r\n NormalProc,\r\n ExternalLink,\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n backgroundImage: `url(\"./Asset/Image/bg_tile.png\")`,\r\n backgroundColor: \"#ffffff5c\",\r\n backgroundBlendMode: \"screen\",\r\n backgroundRepeat: \"round\",\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n },\r\n image: {\r\n width: 200,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 10,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n width: \"80%\",\r\n margin: \"auto\",\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n // maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 14, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyContactUsPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [title, setTitle] = useState(\"\");\r\n const [titleError, setTitleError] = useState(\"\");\r\n const [content, setContent] = useState(\"\");\r\n const [contentError, setContentError] = useState(\"\");\r\n const [mobileNo, setMobileNo] = useState(\"\");\r\n\r\n const [email, setEmail] = useState(\"\");\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [showImage, setShowImage] = useState(true);\r\n const [initialHeight, setInitialHeight] = useState(window.innerHeight);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n const { id } = useParams();\r\n const [name, setName] = useState(\"\");\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n const getData = async () => {\r\n skeletonContext.setIsLoading(true);\r\n\r\n try {\r\n const res = await userService.company(id as string);\r\n if (res && res.length) {\r\n setName(res[0].title);\r\n }\r\n } catch (err) {}\r\n\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const onSubmitLogin = async () => {\r\n if (!!!title || !!!content) {\r\n if (!!!title) setTitleError(\"ورود عنوان پیام الزامی است\");\r\n if (!!!content) setContentError(\"ورود متن پیام الزامی است\");\r\n return;\r\n }\r\n setTitleError(\"\");\r\n setContentError(\"\");\r\n setIsLoading(true);\r\n try {\r\n const result = await userService.addCompanyContact(\r\n id,\r\n title,\r\n content,\r\n mobileNo,\r\n email,\r\n );\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Success,\r\n message: \"پیام شما با موفقیت ثبت گردید\",\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n router.goBack();\r\n } else {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", handleResize_setMenuWidth);\r\n getData();\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize_setMenuWidth);\r\n };\r\n }, []);\r\n const handleResize_setMenuWidth = () => {\r\n setShowImage(!!!(window.innerHeight < initialHeight));\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 {name}\r\n \r\n \r\n \r\n \r\n {\r\n // if (window.innerHeight < initialHeight) setShowImage(false);\r\n // }}\r\n // onBlur={() => {\r\n // setShowImage(true);\r\n // }}\r\n style={{ marginTop: 10 }}\r\n error={!!titleError.length}\r\n onChange={e => {\r\n setTitle(e.target.value);\r\n\r\n setTitleError(\r\n titleError && !e.target.value\r\n ? \"ورود عنوان پیام الزامی است\"\r\n : \"\",\r\n );\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={`عنوان پیام`}\r\n // inputProps={{\r\n // dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n // }}\r\n />\r\n \r\n \r\n {\r\n // if (window.innerHeight < initialHeight) setShowImage(false);\r\n // }}\r\n // onBlur={() => {\r\n // setShowImage(true);\r\n // }}\r\n rows={4}\r\n style={{ marginTop: 10 }}\r\n error={!!contentError.length}\r\n onChange={e => {\r\n setContent(e.target.value);\r\n setContentError(\r\n contentError && !e.target.value\r\n ? \"ورود متن پیام الزامی است\"\r\n : \"\",\r\n );\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={`متن پیام`}\r\n // inputProps={{\r\n // dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n // }}\r\n />\r\n \r\n \r\n {\r\n // if (window.innerHeight < initialHeight) setShowImage(false);\r\n // }}\r\n // onBlur={() => {\r\n // setShowImage(true);\r\n // }}\r\n style={{ marginTop: 10 }}\r\n onChange={e => {\r\n setEmail(e.target.value);\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={`ایمیل`}\r\n inputProps={{\r\n dir: !email ? \"rtl\" : \"ltr\",\r\n }}\r\n />\r\n \r\n \r\n {\r\n // if (window.innerHeight < initialHeight) setShowImage(false);\r\n // }}\r\n // onBlur={() => {\r\n // setShowImage(true);\r\n // }}\r\n style={{ marginTop: 10 }}\r\n onChange={e => {\r\n setMobileNo(e.target.value);\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={`شماره تلفن`}\r\n inputProps={{\r\n inputmode: \"numeric\",\r\n pattern: \"[0-9]*\",\r\n dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n }}\r\n />\r\n \r\n \r\n (isLoading ? {} : onSubmitLogin())}\r\n >\r\n {isLoading && (\r\n \r\n )}\r\n \r\n {\"ارسال\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default CompanyContactUsPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyCatalogListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [category, setCategory] = useState(null);\r\n const { id } = useParams();\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.catalogList(pNo, id as string);\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {\"کاتالوگ ها\"}\r\n \r\n {category?.title && (\r\n \r\n {category?.title}\r\n \r\n )}\r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default CompanyCatalogListPage;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport CompanyCardComponent from \"src/Components/Cards/CompanyCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { ExhibitionCompanyModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyCollaboratorListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [companyList, setCompanyList] = useState([]);\r\n const [filteredExhibitionList, setFilteredExhibitionList] = useState<\r\n ExhibitionCompanyModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const { id } = useParams();\r\n\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.companyCollaboratorList(pNo, id as string);\r\n setPageNo(v => ++v);\r\n setCategories([{ id: 0, title: \"نمایندگی\" }]);\r\n setCompanyList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {}\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n setFilteredExhibitionList(companyList);\r\n }, [value, companyList]);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\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 {categories.map(i => {\r\n return ;\r\n })}\r\n \r\n {categories.map((l, index) => {\r\n return (\r\n \r\n }\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\nexport default CompanyCollaboratorListPage;\r\n","import {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Divider,\r\n Grid,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport {\r\n AlternateEmail,\r\n AssignmentInd,\r\n LocationOn,\r\n MoreHoriz,\r\n PermPhoneMsg,\r\n Phone,\r\n Share,\r\n Star,\r\n} from \"@material-ui/icons\";\r\nimport Rating from \"@material-ui/lab/Rating\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport BrandCardComponent from \"src/Components/Cards/BrandCardComponent\";\r\nimport CompanyCounter from \"src/Components/CompanyCounter\";\r\nimport FourImageInARow from \"src/Components/FourImageInARow\";\r\nimport CircularLoading from \"src/Components/General/CircularLoading\";\r\nimport { SnackBarType } from \"src/Components/General/SnackBarComponent\";\r\nimport UnderlineTitle from \"src/Components/UnderlineTitle\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { ActivityModel, ExhibitionCompanyModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { StorageService } from \"src/Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\nimport AppBarComponent from \"../Components/AppBars/AppBarComponent\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"100%\",\r\n width: \"100%\",\r\n backgroundColor: \"#fff\",\r\n },\r\n emptyContent: {\r\n flexGrow: 1,\r\n paddingTop: \"1.5rem\",\r\n \"& img\": {\r\n // margin: \"15px 0\",\r\n maxWidth: 112,\r\n },\r\n },\r\n fab: {\r\n position: \"fixed\",\r\n left: 25,\r\n bottom: 25,\r\n },\r\n cardHeader: {\r\n background: theme.palette.grey[200],\r\n },\r\n card: {\r\n margin: 8,\r\n },\r\n whiteBtn: {\r\n color: \"#3b3b3b\",\r\n borderRadius: 30,\r\n backgroundColor: \"#fff\",\r\n boxShadow: \"0px 0px 3px #d6d6d6\",\r\n fontSize: \".7rem\",\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n marginBottom: 10,\r\n },\r\n imageContainer: {\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"50%\",\r\n width: 120,\r\n height: 120,\r\n border: `3px solid ${theme.palette.primary.main}`,\r\n boxShadow: `0px 0px 4px ${theme.palette.primary.main}`,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center \",\r\n position: \"relative\",\r\n },\r\n opinionSubmitTitle: {\r\n fontWeight: 600,\r\n color: \"#000\",\r\n },\r\n opinionSubmitSubTitle: {\r\n color: theme.palette.grey[500],\r\n },\r\n opinionSubmitRating: {\r\n marginBottom: 10,\r\n },\r\n opinionSubmitDivider: {\r\n marginTop: 5,\r\n marginBottom: 5,\r\n backgroundColor: \"#f7f7f7\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n width: \"80%\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nenum GetDataType {\r\n Get = \"Get\",\r\n Refresh = \"Refresh\",\r\n}\r\n\r\nconst CompanyPage = () => {\r\n const [collaboratorCount, setCollaboratorCount] = useState(0);\r\n const [postCount, setPostCount] = useState(0);\r\n const [productCount, setProductCount] = useState(0);\r\n const [exhibitionCount, setExhibitionCount] = useState(0);\r\n const [catalogCount, setCatalogCount] = useState(0);\r\n const [score, setScore] = useState(0);\r\n const [name, setName] = useState(\"\");\r\n const [logo, setLogo] = useState(\r\n \"./Asset/Image/empty/empty_logo.png\",\r\n );\r\n const [activities, setActivities] = useState([]);\r\n const [margin, setMargin] = useState(10);\r\n const [isFollowedByUser, setIsFollowedByUser] = useState(false);\r\n const [isFollowBtnLoading, setIsFollowBtnLoading] = useState(false);\r\n const $margin = useMemo(() => new BehaviorSubject(10), []);\r\n const [company, setCompany] = useState(\r\n undefined,\r\n );\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [commentModalIsOpen, setCommentModalIsOpen] = useState(false);\r\n const [commentRate, setCommentRate] = useState(null);\r\n const [commentText, setCommentText] = useState(\"\");\r\n const [isLoadingSubmitModalButton, setIsLoadingSubmitModalButton] = useState(\r\n false,\r\n );\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\r\n };\r\n const skeletonCtx = useSkeletonCtx();\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const lng = useLocalizationCtx();\r\n const { id } = useParams();\r\n\r\n skeletonCtx.setIsHeaderVisible(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n useEffect(() => {\r\n // if (counterViewRef.current?.getBoundingClientRect().right) {\r\n // }\r\n const marginSub = $margin.subscribe(i => setMargin(i ?? 0));\r\n // console.log(counterViewRef?.current?.offsetLeft);\r\n // setMargin(counterViewRef?.current?.offsetLeft ?? 0);\r\n return () => {\r\n marginSub.unsubscribe();\r\n };\r\n }, []);\r\n const getData = async (requestType?: GetDataType) => {\r\n skeletonCtx.setIsLoading(true);\r\n\r\n try {\r\n const res = await userService.company(id as string);\r\n if (res && res.length) {\r\n setCompany(res[0]);\r\n setIsFollowedByUser(res[0].isFollowed);\r\n setProductCount(res[0].statics.productCount);\r\n setExhibitionCount(res[0].statics.exhibitionCount);\r\n setPostCount(res[0].statics.postCount);\r\n setCatalogCount(res[0].statics.catalogCount);\r\n setCollaboratorCount(res[0].statics.collaboratorCount);\r\n setScore(res[0].score);\r\n setName(res[0].title);\r\n setLogo(\r\n res[0].documents.filter(i => i.type === 1)[0]?.thumb ??\r\n \"./Asset/Image/empty/empty_logo.png\",\r\n );\r\n if (\r\n res[0].lottery &&\r\n !!!skeletonCtx.lotteryCounter &&\r\n !!!res[0].lottery.isRegisterd\r\n )\r\n skeletonCtx.setLottery(res[0].lottery);\r\n }\r\n // setActivities(res.activities);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n skeletonCtx.setIsLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n getData();\r\n }, []);\r\n const handleComment = (e: any) => setCommentText(e.target.value);\r\n\r\n const addOrDeleteComment = async () => {\r\n if (!!!commentRate || !!!commentText) {\r\n skeletonCtx.setSnackBar({\r\n message: \"ورود متن نظر و امتیاز الزامی است\",\r\n type: SnackBarType.Error,\r\n duration: 3000,\r\n isOpen: true,\r\n });\r\n return;\r\n }\r\n try {\r\n setIsLoadingSubmitModalButton(true);\r\n\r\n const res = await userService.addCompanySurveyComment(\r\n id,\r\n commentRate,\r\n commentText,\r\n );\r\n\r\n if (res && res.result === ResultMode.Success) {\r\n setCommentModalIsOpen(false);\r\n\r\n skeletonCtx.setSnackBar({\r\n message: \"ثبت نظر با موفقیت انجام شد\",\r\n isOpen: true,\r\n type: SnackBarType.Success,\r\n duration: 3000,\r\n });\r\n getData();\r\n } else if (res && res.result === ResultMode.Failed) {\r\n setCommentModalIsOpen(false);\r\n skeletonCtx.setSnackBar({\r\n message: res.message,\r\n type: SnackBarType.Error,\r\n duration: 3000,\r\n isOpen: true,\r\n });\r\n }\r\n } catch (e) {\r\n skeletonCtx.setSnackBar({\r\n message: e,\r\n isOpen: true,\r\n type: SnackBarType.Success,\r\n duration: 3000,\r\n });\r\n } finally {\r\n setIsLoadingSubmitModalButton(false);\r\n }\r\n };\r\n return (\r\n \r\n }\r\n onRightIconClick={() => {\r\n if (navigator.share) {\r\n navigator\r\n .share({\r\n title: company?.title,\r\n text: company?.shareMessage,\r\n })\r\n .then(() => {})\r\n .catch(error => {});\r\n }\r\n }}\r\n />\r\n {skeletonCtx.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n {\r\n setIsModalOpen(true);\r\n }}\r\n >\r\n {\"تماس با ما\"}\r\n \r\n
\r\n \r\n {!!score && (\r\n \r\n {`امتیاز: ${score}`}\r\n \r\n )}\r\n
\r\n {\r\n if (isFollowBtnLoading) return;\r\n setIsFollowBtnLoading(true);\r\n const res = await userService.companyFollowChange(\r\n id as string,\r\n isFollowedByUser,\r\n );\r\n if (res.result === ResultMode.Success) {\r\n setIsFollowedByUser(i => !i);\r\n }\r\n setIsFollowBtnLoading(false);\r\n }}\r\n >\r\n {isFollowedByUser ? \"لغو اشتراک\" : \"دنبال کردن\"}\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 \r\n \r\n {company?.subTitle}\r\n \r\n \r\n {company?.brands.map((brand, index) => (\r\n {\r\n router.push(`${RoutesList.Brand}/${brand.id}`);\r\n }}\r\n />\r\n ))}\r\n \r\n \r\n {company?.description}\r\n \r\n {\r\n setCommentText(\"\");\r\n setCommentRate(null);\r\n setCommentModalIsOpen(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 {company?.phoneNumber && (\r\n \r\n \r\n {\r\n window.open(`tel:${company?.phoneNumber}`);\r\n }}\r\n >\r\n {company?.phoneNumber}\r\n \r\n \r\n )}\r\n {company?.fax && (\r\n \r\n \r\n {\r\n window.open(`tel:${company?.fax}`);\r\n }}\r\n >\r\n {company?.fax}\r\n \r\n \r\n )}\r\n {company?.email && (\r\n \r\n \r\n {company?.email}\r\n \r\n )}\r\n {company?.ceo && (\r\n \r\n \r\n {company?.ceo}\r\n \r\n )}\r\n {company?.address && (\r\n \r\n \r\n {company?.address}\r\n \r\n )}\r\n {company?.contactInformation && (\r\n <>\r\n \r\n {\r\n const win = window.open(\r\n company?.contactInformation,\r\n \"_blank\",\r\n );\r\n win?.focus();\r\n handleCloseModal(e);\r\n }}\r\n >\r\n {company?.contactInformation}\r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n router.push(`${RoutesList.ContactUs}/${id}`);\r\n setIsModalOpen(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 emptyIcon={\r\n \r\n }\r\n className={classes.opinionSubmitRating}\r\n name=\"rating\"\r\n onChange={(event, newValue) => {\r\n setCommentRate(newValue);\r\n }}\r\n />\r\n \r\n \r\n \r\n isLoadingSubmitModalButton ? {} : addOrDeleteComment()\r\n }\r\n >\r\n {isLoadingSubmitModalButton && (\r\n \r\n )}\r\n \r\n {lng.submitReview}\r\n \r\n \r\n {\r\n setCommentModalIsOpen(false);\r\n }}\r\n >\r\n {lng.cancel}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyPage;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport CompanyCardComponent from \"src/Components/Cards/CompanyCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType, SearchSection } from \"src/Models/Settings\";\r\nimport { ExhibitionCompanyModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [companyList, setCompanyList] = useState([]);\r\n const [filteredExhibitionList, setFilteredExhibitionList] = useState<\r\n ExhibitionCompanyModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [exhibition, setExhibition] = useState(\r\n undefined,\r\n );\r\n const storage = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const { id } = useParams();\r\n\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.companyListWithCategory(pNo, id as string);\r\n setPageNo(v => ++v);\r\n setCategories(res.exhibition_contributor_category);\r\n setExhibition(res.exhibition?.length ? res.exhibition[0] : undefined);\r\n setCompanyList(v => {\r\n const temp =\r\n type === GetDataType.Refresh ? res.company : [...v, ...res.company];\r\n return temp;\r\n });\r\n setHasMore(res?.company.length >= 10);\r\n } catch (e) {}\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n setFilteredExhibitionList(companyList);\r\n }, [value, companyList]);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n return (\r\n \r\n {\r\n storage.setSearchSection(SearchSection.ExhibitionContributor);\r\n storage.setSearchData({\r\n category: categories[value],\r\n exhibition: exhibition,\r\n });\r\n router.push(RoutesList.Search);\r\n }}\r\n />\r\n \r\n \r\n {\"مشارکت کنندگان\"}\r\n \r\n \r\n \r\n \r\n {categories.map(i => {\r\n return ;\r\n })}\r\n \r\n {categories.map((l, index) => {\r\n return (\r\n \r\n }\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\nexport default CompanyListPage;\r\n","import { Grid, Typography, useTheme } from \"@material-ui/core\";\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nexport interface SearchResultViewModel {\r\n id: number;\r\n title: string;\r\n subTitle?: string;\r\n}\r\ninterface IProps {\r\n title: string;\r\n count: number;\r\n route: string;\r\n margin?: BehaviorSubject;\r\n}\r\n\r\nconst CompanyCounter = ({ title, count, route, margin }: IProps) => {\r\n const theme = useTheme();\r\n const router = useHistory();\r\n const counterViewRef = useRef(null);\r\n useEffect(() => {\r\n return () => {\r\n if (margin) margin.next(counterViewRef?.current?.offsetLeft ?? 0);\r\n };\r\n }, []);\r\n return (\r\n {\r\n router.push(route);\r\n }}\r\n >\r\n \r\n {count}\r\n \r\n \r\n {title}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyCounter;\r\n","import {\r\n Button,\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n makeStyles,\r\n Theme,\r\n} from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nexport interface ImageListDocumentModel {\r\n thumb?: string;\r\n original: string;\r\n type: number;\r\n}\r\ninterface IProps {\r\n documents: ImageListDocumentModel[];\r\n onClick?: (doc: ImageListDocumentModel) => void;\r\n}\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n imgList: {\r\n borderRadius: 8,\r\n height: window.innerWidth / 5,\r\n width: window.innerWidth / 5,\r\n objectFit: \"cover\",\r\n },\r\n }),\r\n);\r\nconst FourImageInARow = ({ documents, onClick }: IProps) => {\r\n const [marginValue, setMarginValue] = useState(16);\r\n const [selectedImage, setSelectedImage] = useState(\"\");\r\n const [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\r\n const [isImageModalOpen, setIsImageModalOpen] = useState(false);\r\n const [selectedVideo, setSelectedVideo] = useState(\"\");\r\n // const [selectedImage, setSelectedImage] = useState(\"\");\r\n const router = useHistory();\r\n const lng = useLocalizationCtx();\r\n const classes = useStyles();\r\n const handleCloseVideoModal = (e?: any) => {\r\n setIsVideoModalOpen(false);\r\n };\r\n const handleCloseImageModal = (e?: any) => {\r\n setIsImageModalOpen(false);\r\n };\r\n useEffect(() => {\r\n setMarginValue((window.innerWidth - (4 * window.innerWidth) / 5) / 5);\r\n }, []);\r\n useEffect(() => {\r\n if (documents.length && onClick) {\r\n setSelectedImage(documents[0].original);\r\n }\r\n }, [documents]);\r\n return (\r\n <>\r\n \r\n \r\n {}}\r\n controls={true}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n >\r\n \r\n Your browser does not support the video tag.\r\n \r\n \r\n \r\n \r\n \r\n {\"بستن\"}\r\n \r\n \r\n \r\n \r\n {/* image dialog */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"بستن\"}\r\n \r\n \r\n \r\n \r\n 1 ? \"flex-end\" : \"space-around\"}\r\n style={{ direction: \"ltr\" }}\r\n >\r\n {documents.slice(0, 4).map((i, index) => (\r\n 1 ? marginValue : 0,\r\n }}\r\n onClick={() => {\r\n if (i.type !== 5) {\r\n setSelectedImage(i.original);\r\n if (onClick) onClick(i);\r\n else {\r\n setIsImageModalOpen(true);\r\n }\r\n } else {\r\n setSelectedVideo(i.original);\r\n setIsVideoModalOpen(true);\r\n }\r\n }}\r\n >\r\n {i.type !== 5 && }\r\n {i.type === 5 && (\r\n \r\n \r\n Your browser does not support the video tag.\r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FourImageInARow;\r\n","import {\r\n Button,\r\n Grid,\r\n IconButton,\r\n InputAdornment,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { AccountBox, AlternateEmail } from \"@material-ui/icons\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"../Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nenum FormMode {\r\n NormalProc,\r\n ExternalLink,\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst EditProfilePage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [name, setName] = useState(\"\");\r\n const [nameError, setNameError] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [emailNoError, setEmailError] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n const skeletonCtx = useSkeletonCtx();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const getProfile = async () => {\r\n skeletonCtx.setIsLoading(true);\r\n\r\n try {\r\n const res = await userService.profile();\r\n\r\n setName(res.name === \"unknown\" ? \"\" : res.name ?? \"\");\r\n setEmail(res.email ?? \"\");\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n skeletonCtx.setIsLoading(false);\r\n };\r\n useEffect(() => {\r\n getProfile();\r\n }, []);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const onSubmitLogin = async () => {\r\n setIsLoading(true);\r\n try {\r\n const result = await userService.updateUserInfo(name, email);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n storageService.setEmail(email);\r\n storageService.setName(name);\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Success,\r\n message: result.message,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } else {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\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 setName(e.target.value);\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={\"نام و نام خانوادگی\"}\r\n label={\"نام و نام خانوادگی\"}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n {\r\n /* */\r\n }}\r\n >\r\n \r\n \r\n \r\n ),\r\n }}\r\n inputProps={{\r\n dir: !name ? \"rtl\" : \"rtl\",\r\n }}\r\n />\r\n \r\n \r\n {\r\n setEmail(e.target.value);\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={\"آدرس الکترونیکی\"}\r\n label={\"آدرس الکترونیکی\"}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n {\r\n /* */\r\n }}\r\n >\r\n \r\n \r\n \r\n ),\r\n }}\r\n inputProps={{\r\n dir: !email ? \"rtl\" : \"ltr\",\r\n }}\r\n />\r\n \r\n (isLoading ? {} : onSubmitLogin())}\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\nexport default EditProfilePage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyPostListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const { id } = useParams();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [company, setCompany] = useState(null);\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n loadCompany();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadCompany = async () => {\r\n const res = await service.singleCompanyIdTitle(id as string);\r\n if (res) setCompany(res);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.postList(\r\n pNo,\r\n undefined,\r\n undefined,\r\n \"1\",\r\n id as string,\r\n );\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {`نوشته های ${company?.title ?? \"\"}`}\r\n \r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default CompanyPostListPage;\r\n","import { Typography } from \"@material-ui/core\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Slider from \"react-slick\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { PostCategoryResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\n\r\ninterface IProps {\r\n serviceList: PostCategoryResultModel[];\r\n companyId: string;\r\n slideHeight: number;\r\n}\r\n\r\nconst PostCategorySliderComponent = ({\r\n serviceList,\r\n slideHeight,\r\n companyId,\r\n}: IProps) => {\r\n const router = useHistory();\r\n const lng = useLocalizationCtx();\r\n useEffect(() => {}, [slideHeight, serviceList]);\r\n const fixLength = (length: number) => {\r\n if (length > 0) {\r\n const newlength = length;\r\n return newlength;\r\n }\r\n };\r\n return (\r\n \r\n {serviceList.map((i, index) => {\r\n return (\r\n {\r\n router.push(\r\n `${RoutesList.CompanyProductList}/${companyId}/${i.id}`,\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n \r\n {i.title}\r\n \r\n }\r\n {/* {\r\n \r\n {i.subTitle}\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 PostCategorySliderComponent;\r\n","import { Button, Grid, Typography, useMediaQuery } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCategorySliderComponent from \"src/Components/Slider/PostCategorySliderComponent\";\r\nimport { PostCategoryResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n },\r\n image: {\r\n width: 150,\r\n objectFit: \"contain\",\r\n margin: \"auto\",\r\n userSelect: \"none\",\r\n },\r\n textCenter: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n selected: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n bottomBtn: {\r\n borderRadius: 4,\r\n padding: 2,\r\n minWidth: 0,\r\n },\r\n bottomBtnIcon: {\r\n width: 40,\r\n height: 40,\r\n },\r\n mainCardBtnIcon: {\r\n width: 75,\r\n },\r\n bottomBtnItem: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n },\r\n cardContainer: {\r\n flex: 1,\r\n overflowY: \"scroll\",\r\n justifyContent: \"baseline\",\r\n },\r\n cardContent: {\r\n padding: 0,\r\n },\r\n cardRow: {\r\n marginBottom: 10,\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n width: \"80%\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n cartWrapper: {\r\n position: \"relative\",\r\n \"& div\": {\r\n position: \"absolute\",\r\n top: 0,\r\n right: 0,\r\n background: theme.palette.primary.main,\r\n color: \"#fff\",\r\n borderRadius: \"0 50% 0 50%\",\r\n width: 20,\r\n height: 20,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst CompanyProductGroupListPage = () => {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const sliderRef = useRef(null);\r\n const { id } = useParams();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [categoryList, setCategoryList] = useState(\r\n [],\r\n );\r\n const [slideHeight, setSlideHeight] = useState(0);\r\n const isSmall = useMediaQuery(\"(max-height: 590px)\");\r\n const service = new DataService();\r\n const loadData = async () => {\r\n const result = await service.postCategoryList(id as string);\r\n setCategoryList(result.reverse());\r\n };\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n setSlideHeight(sliderRef.current!.clientHeight + -40);\r\n }, [isSmall]);\r\n const settings = {\r\n className: \"slider variable-width\",\r\n centerMode: true,\r\n // swipeToSlide: true,\r\n // infinite: true,\r\n rtl: true,\r\n infinite: true,\r\n // centerPadding: \"\",\r\n slidesToScroll: 1,\r\n slidesToShow: 1,\r\n arrows: false,\r\n // variableWidth: true,\r\n // speed: 500,\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 router.push(`${RoutesList.CompanyProductList}/${id}`);\r\n }}\r\n >\r\n {\"نمایش همه محصولات\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default CompanyProductGroupListPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ExhibitionModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\n\r\ninterface Options {\r\n data: ExhibitionModel;\r\n onClick: VoidFunction;\r\n}\r\n\r\nconst ExhibitionCardComponent = ({ data, onClick }: Options) => {\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { id, title, documents, description } = data;\r\n\r\n return (\r\n \r\n 0 ? documents[0].thumb : \"\"}\r\n width={95}\r\n height={126}\r\n style={{\r\n boxShadow: \"0px 0px 3px #e4e3e3\",\r\n borderRadius: \"8px\",\r\n }}\r\n />\r\n \r\n {title}\r\n \r\n {description}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default ExhibitionCardComponent;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport ExhibitionCardComponent from \"src/Components/Cards/ExhibitionCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType, SearchSection } from \"src/Models/Settings\";\r\nimport { ExhibitionModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst ExhibitionListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [height, setHeight] = useState(100);\r\n\r\n const [exhibitionList, setExhibitionList] = useState([]);\r\n const [filteredExhibitionList, setFilteredExhibitionList] = useState<\r\n ExhibitionModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storage = new StorageService();\r\n const storageService = new StorageService();\r\n const { id, search } = useParams();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.exhibitionListWithCategory(\r\n pNo,\r\n (search as string) ?? \"\",\r\n (id as string) ?? \"\",\r\n );\r\n setPageNo(v => ++v);\r\n setExhibitionList(v => {\r\n const temp =\r\n type === GetDataType.Refresh\r\n ? res.exhibition\r\n : [...v, ...res.exhibition];\r\n return temp;\r\n });\r\n if (!!!categories.length) {\r\n setCategories(\r\n id\r\n ? [{ id: 0, title: `همه` }]\r\n : search\r\n ? [{ id: 0, title: `نتایج \"${search}\"` }]\r\n : res.exhibition_category,\r\n );\r\n setSelectedCategory({\r\n ...(res.exhibition_category[0] ?? [\r\n { id: 0, title: `نتایج \"${search}\"` },\r\n ]),\r\n });\r\n }\r\n setHasMore(res.exhibition?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n // const loadData = async () => {\r\n // const result = await service.exhibitionListWithCategory();\r\n // setExhibitionList(result.exhibition);\r\n // setCategories(result.exhibition_category);\r\n // };\r\n const [value, setValue] = React.useState(0);\r\n const [selectedCategory, setSelectedCategory] = React.useState<\r\n IdTitleModel | undefined\r\n >(undefined);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n if (value) {\r\n setFilteredExhibitionList(exhibitionList.filter(i => i.isLikedByUser));\r\n } else {\r\n setFilteredExhibitionList(exhibitionList);\r\n }\r\n }, [value, exhibitionList]);\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \r\n {\r\n storage.setSearchSection(SearchSection.Exhibition);\r\n storage.setSearchData({\r\n category: selectedCategory,\r\n });\r\n router.push(RoutesList.Search);\r\n }}\r\n />\r\n \r\n \r\n {!!id\r\n ? \"نمایشگاه های حضور یافته\"\r\n : `${search ? \"جستجو \" : \"\"}نمایشگاه ها`}\r\n \r\n \r\n \r\n \r\n {categories.map(i => {\r\n return (\r\n {\r\n setSelectedCategory(i);\r\n }}\r\n />\r\n );\r\n })}\r\n \r\n \r\n {categories.map((l, index) => {\r\n return (\r\n \r\n {/* \r\n */}\r\n \r\n \r\n );\r\n};\r\nexport default ExhibitionListPage;\r\n","import jMoment from \"moment-jalaali\";\r\n\r\nexport function addDays(date: Date, days: number): Date {\r\n const result = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n}\r\nexport function dateEnStrToFa(enDate: string | null | undefined): string {\r\n let realDate = null;\r\n if (enDate) {\r\n const dateParts = enDate?.split(\"-\");\r\n realDate = new Date(+dateParts![0], +dateParts![1], +dateParts![2]);\r\n }\r\n return realDate ? jMoment(realDate).format(\"jYYYY/jMM/jDD\") : \"\";\r\n}\r\nexport function dateEnToRayFa(enDate: Date | null): string {\r\n return enDate ? jMoment(enDate).format(\"jYYYYjMMjDD\") : \"\";\r\n}\r\nexport function dateRayFaToEn(rayDate: number): Date {\r\n const a = jMoment(rayDate, \"jYYYYjMjD\").toDate();\r\n return a;\r\n}\r\nexport function dateIntRayFaFormat(rayDate: number): string {\r\n return rayDate\r\n ? rayDate.toString().substring(0, 4) +\r\n \"/\" +\r\n rayDate.toString().substring(4, 6) +\r\n \"/\" +\r\n rayDate.toString().substring(6, 8) +\r\n \" \"\r\n : \"\";\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-ts-ignore */\r\nimport { Button, Grid, Typography } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport { RssFeedOutlined, Share } from \"@material-ui/icons\";\r\nimport parse from \"html-react-parser\";\r\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\n// @ts-ignore\r\nimport SwipeableBottomSheet from \"react-swipeable-bottom-sheet\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport ButtonTwoColor from \"src/Components/ButtonTwoColor\";\r\nimport FourImageInARow from \"src/Components/FourImageInARow\";\r\nimport UnderlineTitle from \"src/Components/UnderlineTitle\";\r\nimport { dateEnStrToFa } from \"src/Helper/DateUtility\";\r\nimport {\r\n ExhibitionResultModel,\r\n ExhibitionResultModelDocument,\r\n} from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { IdTitleModel } from \"../Models/BaseModels/IdTitleModel\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n imgList: {\r\n borderRadius: 8,\r\n height: window.innerWidth / 5,\r\n width: window.innerWidth / 5,\r\n objectFit: \"cover\",\r\n },\r\n }),\r\n);\r\n\r\nconst ExhibitionPage = () => {\r\n const [pageNo, setPageNo] = useState(0);\r\n const [search, setSearch] = useState(\"\");\r\n const [data, setData] = useState([]);\r\n const [hasMore, setHasMore] = useState(true);\r\n const [listHeight, setListHeight] = useState(86);\r\n const [marginValue, setMarginValue] = useState(16);\r\n const [buttonWidth, setButtonWidth] = useState(16);\r\n const [backImage, setBackImage] = useState(\"\");\r\n const [docs, setDocs] = useState([]);\r\n\r\n const inputRef = useRef(null);\r\n\r\n const searchSubject = useMemo(() => new BehaviorSubject(\"\"), []);\r\n\r\n const cls = useStyles();\r\n const theme = useTheme();\r\n const lng = useLocalizationCtx();\r\n const { id } = useParams();\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const userService = new DataService();\r\n const skeletonContext = useSkeletonCtx();\r\n\r\n const loadData = async () => {\r\n const result = await userService.exhibition(id as string);\r\n if (result) {\r\n skeletonContext.setAd({\r\n lastScreenName: skeletonContext.ad.screenName,\r\n screenName: \"ExhibitionDetailScreen\",\r\n exhibitionId: +id,\r\n });\r\n setExhibition({\r\n ...result[0],\r\n description: result[0].description.replace(/\\\\n/g, \"
\"),\r\n });\r\n if (\r\n result[0].lottery &&\r\n !!!skeletonContext.lotteryCounter &&\r\n !!!result[0].lottery.isRegisterd\r\n )\r\n skeletonContext.setLottery(result[0].lottery);\r\n\r\n setLikeCounts(result[0].likes);\r\n setIsLikedByUser(result[0].isLikedByUser);\r\n setBackImage(result[0].documents.filter(i => i.type === 2)[0].original);\r\n const temp = result[0].documents;\r\n const video = temp.filter(i => i.type === 5).length\r\n ? temp.filter(i => i.type === 5)[0]\r\n : null;\r\n const images = temp.filter(i => i.type === 2).slice(0, video ? 3 : 4);\r\n if (video) images.push(video);\r\n setDocs(images);\r\n }\r\n };\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [isBottomShitOpen, setIsBottomShitOpen] = React.useState(false);\r\n const [isLikeBtnLoading, setIsLikeBtnLoading] = React.useState(false);\r\n const [isLikedByUser, setIsLikedByUser] = React.useState(false);\r\n const [likesCounts, setLikeCounts] = React.useState(0);\r\n const [exhibition, setExhibition] = React.useState<\r\n ExhibitionResultModel | undefined\r\n >(undefined);\r\n const [appBarColor, setAppBarColor] = React.useState(\"transparent\");\r\n const [appBarSecondIcon, setAppBarSecondIcon] = React.useState<\r\n JSX.Element | undefined\r\n >(undefined);\r\n\r\n useEffect(() => {\r\n setListHeight(window.innerHeight - inputRef.current!.clientHeight + 40);\r\n setMarginValue((window.innerWidth - (4 * window.innerWidth) / 5) / 5);\r\n setButtonWidth(\r\n (window.innerWidth -\r\n ((window.innerWidth - (4 * window.innerWidth) / 5) / 5) * 3) /\r\n 2,\r\n );\r\n loadData();\r\n }, []);\r\n const changeLikeStatus = async () => {\r\n if (isLikeBtnLoading) return;\r\n setIsLikeBtnLoading(true);\r\n const res = await userService.exhibitionLikeChange(\r\n id as string,\r\n !isLikedByUser,\r\n );\r\n if (res) {\r\n setLikeCounts(i => (isLikedByUser ? i - 1 : i + 1));\r\n setIsLikedByUser(i => !i);\r\n }\r\n setIsLikeBtnLoading(false);\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 undefined\r\n )\r\n }\r\n onSecondLeftIconClick={() => changeLikeStatus()}\r\n rightIcon={}\r\n onRightIconClick={() => {\r\n if (navigator.share) {\r\n navigator\r\n .share({\r\n title: exhibition?.title,\r\n text: exhibition?.shareMessage,\r\n })\r\n .then(() => {})\r\n .catch(error => {});\r\n }\r\n }}\r\n />\r\n {\r\n setIsBottomShitOpen(isOpen);\r\n setAppBarColor(isOpen ? \"#fff\" : \"transparent\");\r\n // setAppBarSecondIcon(\r\n // isOpen ? (\r\n // \r\n // ) : (\r\n // undefined\r\n // ),\r\n // );\r\n }}\r\n shadowTip={false}\r\n topShadow={false}\r\n bodyStyle={{ backgroundColor: appBarColor }}\r\n >\r\n \r\n \r\n changeLikeStatus()}\r\n >\r\n {isLikedByUser ? \"لغو اشتراک\" : \"دنبال کردن\"}\r\n \r\n \r\n \r\n {likesCounts}\r\n {`نفر دنبال کننده `}\r\n \r\n \r\n \r\n {\r\n setBackImage(i.original);\r\n }}\r\n />\r\n\r\n \r\n {exhibition?.title}\r\n \r\n \r\n {exhibition?.subTitle}\r\n \r\n \r\n {dateEnStrToFa(exhibition?.createDate)}\r\n \r\n \r\n {\r\n router.push(`${RoutesList.PatronList}/${exhibition?.id}`);\r\n }}\r\n />\r\n {\r\n router.push(\r\n `${RoutesList.ContributorList}/${exhibition?.id}`,\r\n );\r\n }}\r\n />\r\n \r\n \r\n {\r\n router.push(`${RoutesList.ReportList}/${exhibition?.id}`);\r\n }}\r\n />\r\n {\r\n router.push(\r\n `${RoutesList.Company}/${exhibition?.exhibitor.id}`,\r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n {parse(exhibition?.description ?? \"\")}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExhibitionPage;\r\n","import { Button, Grid, TextField, Typography } from \"@material-ui/core\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"../Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nenum FormMode {\r\n NormalProc,\r\n ExternalLink,\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n backgroundImage: `url(\"./Asset/Image/bg_tile.png\")`,\r\n backgroundColor: \"#ffffff5c\",\r\n backgroundBlendMode: \"screen\",\r\n backgroundRepeat: \"round\",\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n },\r\n image: {\r\n width: 200,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 20,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n // maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst HowHelpPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [mobileNo, setMobileNo] = useState(\"\");\r\n const [mobileNoError, setMobileNoError] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [showImage, setShowImage] = useState(true);\r\n const [initialHeight, setInitialHeight] = useState(window.innerHeight);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const onSubmitLogin = async () => {\r\n if (!mobileNo) {\r\n setMobileNoError(\"ورود متن پیام الزامی است\");\r\n return;\r\n }\r\n setMobileNoError(\"\");\r\n setIsLoading(true);\r\n try {\r\n const result = await userService.serviceMoreAdd(mobileNo);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Success,\r\n message: \"پیام شما با موفقیت ثبت گردید\",\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n router.goBack();\r\n } else {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", handleResize_setMenuWidth);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize_setMenuWidth);\r\n };\r\n }, []);\r\n const handleResize_setMenuWidth = () => {\r\n setShowImage(!!!(window.innerHeight < initialHeight));\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 {showImage && (\r\n \r\n )}\r\n \r\n {\r\n // if (window.innerHeight < initialHeight) setShowImage(false);\r\n // }}\r\n // onBlur={() => {\r\n // setShowImage(true);\r\n // }}\r\n rows={4}\r\n style={{ marginTop: 20 }}\r\n error={!!mobileNoError.length}\r\n onChange={e => {\r\n setMobileNo(e.target.value);\r\n if (mobileNoError) {\r\n if (!e.target.value) {\r\n setMobileNoError(\"ورود متن پیام الزامی است\");\r\n } else {\r\n setMobileNoError(\"\");\r\n }\r\n }\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={`نیاز خود را با ما در میان بگذارید، کارشناسان ما در اسرع وقت با شما تماس خواهند گرفت.\r\n\r\nمانند : نیاز به مشاوره در رابطه با حضور در این نمایشگاه دارم`}\r\n // inputProps={{\r\n // dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n // }}\r\n />\r\n \r\n (isLoading ? {} : onSubmitLogin())}\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\nexport default HowHelpPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst ExhibitionReportListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const { id } = useParams();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.postList(pNo, id as string);\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {\"گزارش آخرین دوره\"}\r\n \r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default ExhibitionReportListPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst ExpertPostListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const { brandId } = useParams();\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.expertPostList(pNo, brandId);\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {\"نظرات کارشناسان\"}\r\n \r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default ExpertPostListPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst FavoritePostListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.favoritePostList(pNo);\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {\"علاقه مندی ها\"}\r\n \r\n \r\n \r\n {postList.length ? (\r\n }\r\n // below props only if you need pull down functionality\r\n // refreshFunction={() => getOrders(GetDataType.Refresh)}\r\n // pullDownToRefresh\r\n // pullDownToRefreshThreshold={40}\r\n // pullDownToRefreshContent={\r\n //

↓ {lng.pullDownToRefresh}

\r\n // }\r\n // releaseToRefreshContent={\r\n //

↑ {lng.releaseToRefresh}

\r\n // }\r\n >\r\n {postList.map(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\nexport default FavoritePostListPage;\r\n","import { Chip, Fade, Grid, Menu, MenuItem } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { debounceTime, map } from \"rxjs/operators\";\r\nimport AppBarSearchComponent from \"src/Components/AppBars/AppBarSearchComponent\";\r\nimport SearchResultBox, {\r\n SearchResultViewModel,\r\n} from \"src/Components/SearchResultBox\";\r\nimport { SearchSection } from \"src/Models/Settings\";\r\nimport { searchResultModel, TagResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { RoutesList } from \"../Routes/RoutesList\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nenum FormMode {\r\n NormalProc,\r\n ExternalLink,\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n backgroundImage: `url(\"./Asset/Image/bg_tile.png\")`,\r\n backgroundColor: \"#ffffff5c\",\r\n backgroundBlendMode: \"screen\",\r\n backgroundRepeat: \"round\",\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"94%\",\r\n // maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n filterList: {\r\n display: \"flex\",\r\n justifyContent: \"flex-start\",\r\n flexWrap: \"wrap\",\r\n \"& > *\": {\r\n margin: theme.spacing(0.5),\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst SearchPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n const searchedValue = useMemo(() => new BehaviorSubject(\"\"), []);\r\n const [mobileNo, setMobileNo] = useState(\"\");\r\n const [mobileNoError, setMobileNoError] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [exhibition, setExhibition] = useState([]);\r\n const [tags, setTags] = useState([]);\r\n const [post, setPost] = useState([]);\r\n const [product, setProduct] = useState([]);\r\n const [company, setCompany] = useState([]);\r\n const [brand, setBrand] = useState([]);\r\n const [filters, setFilters] = useState([]);\r\n const [open, setOpen] = React.useState(false);\r\n const anchorRef = useRef(null);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const userService = new DataService();\r\n const storage = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const getSearchDataBySection = (section: SearchSection | null) => {\r\n if (storage.getSearchData()) {\r\n if (\r\n section === SearchSection.Exhibition &&\r\n storage.getSearchData()?.category?.title\r\n ) {\r\n return [storage.getSearchData()?.category?.title ?? \"\"];\r\n } else if (section === SearchSection.ExhibitionContributor) {\r\n return [\r\n storage.getSearchData()?.category?.title ?? \"\",\r\n storage.getSearchData()?.exhibition?.title ?? \"\",\r\n ];\r\n }\r\n }\r\n return [];\r\n };\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n useEffect(() => {\r\n switch (storage.getSearchSection()) {\r\n case SearchSection.Exhibition:\r\n setFilters([\r\n ...getSearchDataBySection(\r\n storage.getSearchSection() as SearchSection,\r\n ),\r\n \"نمایشگاه ها\",\r\n ]);\r\n break;\r\n case SearchSection.ExhibitionContributor:\r\n setFilters([\r\n ...getSearchDataBySection(\r\n storage.getSearchSection() as SearchSection,\r\n ),\r\n ]);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const searchedValueSub = searchedValue\r\n .pipe(debounceTime(700))\r\n // .pipe(skip(1))\r\n .subscribe(async i => {\r\n skeletonContext.setIsLoading(true);\r\n let result: searchResultModel = {\r\n brand: [],\r\n company: [],\r\n exhibition: [],\r\n post: [],\r\n product: [],\r\n };\r\n let tags: TagResultModel[] = [];\r\n if (i) {\r\n if (!i.startsWith(\"#\")) {\r\n tags = await userService.tag(i);\r\n setTags(tags);\r\n setOpen(!!tags.length);\r\n setAnchorEl(!!tags.length ? anchorRef.current : null);\r\n }\r\n result = await userService.search(i);\r\n }\r\n\r\n setExhibition(result.exhibition);\r\n setPost(result.post);\r\n setProduct(result.product);\r\n setCompany(result.company);\r\n setBrand(result.brand);\r\n\r\n skeletonContext.setIsLoading(false);\r\n });\r\n\r\n return () => {\r\n searchedValueSub.unsubscribe();\r\n };\r\n }, []);\r\n\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\r\n };\r\n const handleClose = (\r\n event: React.MouseEvent,\r\n reason: string,\r\n tag?: string,\r\n ) => {\r\n // if (\r\n // anchorEl.current &&\r\n // anchorEl.current.contains(event.target as HTMLElement)\r\n // ) {\r\n // return;\r\n // }\r\n setOpen(false);\r\n if (tag) searchedValue.next(tag);\r\n };\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n {filters.map(i => (\r\n \r\n ))}\r\n
\r\n \r\n \r\n {tags.map(i => {\r\n return (\r\n handleClose(e, \"\", `#${i.tagName}`)}\r\n >\r\n {i.tagName}\r\n \r\n );\r\n })}\r\n \r\n\r\n {!!product.length && (\r\n `${RoutesList.PostList}/${i}/2`),\r\n )}\r\n itemRoute={RoutesList.Post}\r\n />\r\n )}\r\n {!!post.length && (\r\n `${RoutesList.PostList}/${i}/1`),\r\n )}\r\n itemRoute={RoutesList.Post}\r\n />\r\n )}\r\n {!!exhibition.length && (\r\n `${RoutesList.ExhibitionList}/${i}`),\r\n )}\r\n itemRoute={RoutesList.Exhibition}\r\n />\r\n )}\r\n {!!company.length && (\r\n `${RoutesList.Companies}/${i}`),\r\n )}\r\n itemRoute={RoutesList.Company}\r\n />\r\n )}\r\n {!!brand.length && (\r\n `${RoutesList.BrandList}/${i}`),\r\n )}\r\n itemRoute={RoutesList.Brand}\r\n />\r\n )}\r\n \r\n \r\n );\r\n};\r\nexport default SearchPage;\r\n","import { Button, Grid } from \"@material-ui/core\";\r\nimport MobileStepper from \"@material-ui/core/MobileStepper\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport { KeyboardArrowLeft, KeyboardArrowRight } from \"@material-ui/icons\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport SwipeableViews from \"react-swipeable-views\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { StorageService } from \"src/Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"100%\",\r\n width: \"100%\",\r\n },\r\n emptyContent: {\r\n flexGrow: 1,\r\n paddingTop: \"30vh\",\r\n \"& img\": {\r\n margin: \"15px 0\",\r\n maxWidth: 100,\r\n },\r\n },\r\n fab: {\r\n position: \"fixed\",\r\n left: 25,\r\n bottom: 25,\r\n },\r\n cardHeader: {\r\n background: theme.palette.grey[200],\r\n },\r\n img: {},\r\n card: {\r\n marginBottom: 8,\r\n marginTop: 58,\r\n marginRight: \"1.5%\",\r\n marginLeft: \"1.5%\",\r\n maxWidth: \"47% !important\",\r\n padding: 8,\r\n boxShadow: theme.shadows[3],\r\n borderRadius: 5,\r\n \"& img\": {\r\n maxWidth: \"40%\",\r\n height: \"auto\",\r\n marginTop: -50,\r\n },\r\n \"& button\": {\r\n marginTop: \"auto\",\r\n },\r\n },\r\n stepper: {\r\n background: \"transparent\",\r\n },\r\n formControl: {\r\n width: \"100%\",\r\n margin: \"10px 0\",\r\n },\r\n }),\r\n);\r\n\r\nconst IntroPage = () => {\r\n const skeletonCtx = useSkeletonCtx();\r\n const classes = useStyles();\r\n const lng = useLocalizationCtx();\r\n const theme = useTheme();\r\n skeletonCtx.setIsHeaderVisible(false);\r\n const storageService = new StorageService();\r\n const router = useHistory();\r\n\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n const handleStepChange = (step: any) => {\r\n setActiveStep(step);\r\n };\r\n const handleNext = () => {\r\n if (activeStep === 2) {\r\n storageService.setIntroPassed(true);\r\n router.push(RoutesList.Login);\r\n } else {\r\n setActiveStep(prevActiveStep => prevActiveStep + 1);\r\n }\r\n };\r\n\r\n const handleBack = () => {\r\n setActiveStep(prevActiveStep => prevActiveStep - 1);\r\n };\r\n return (\r\n \r\n \r\n {[\r\n {\r\n title: \"مرتبط باشید\",\r\n subTitle: \"عمیق تر از هر زمان دیگر\",\r\n description:\r\n \"غرفه به شما کمک می کند رهبران کسب و کار را دنبال کنید و از آخرین رویداد ها و تحولات بازار آگاه شوید.\",\r\n image: \"./Asset/Image/Intro/intro_3.png\",\r\n },\r\n {\r\n title: \"بروز باشید\",\r\n subTitle: \"آسان تر از هر زمان دیگر\",\r\n description:\r\n \"غرفه به شما کمک می کند با چند کلیک ساده دوره های علاقه مندی خود را مشخص و بدون اتلاف وقت آن ها را دنبال کنید.\",\r\n image: \"./Asset/Image/Intro/intro_2.png\",\r\n },\r\n {\r\n title: \"اولین باشید\",\r\n subTitle: \"سریع تر از هر زمان دیگر\",\r\n description:\r\n \"غرفه به شما کمک می کند که سریعتر از هر زمان دیگری به آخرین اطلاعات نمایشگاه های کشور دسترسی داشته باشید.\",\r\n image: \"./Asset/Image/Intro/intro_1.png\",\r\n },\r\n ].map((step, index) => (\r\n \r\n {Math.abs(activeStep - index) <= 3 ? (\r\n \r\n \r\n

{step.title}

\r\n

{step.subTitle}

\r\n \r\n \r\n \r\n {step.description}\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 {activeStep === 2 ? \"شروع\" : \"بعدی\"}\r\n {theme.direction === \"rtl\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n }\r\n backButton={\r\n \r\n }\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default IntroPage;\r\n","import { Typography } from \"@material-ui/core\";\r\nimport { FavoriteBorderOutlined, RssFeedOutlined } from \"@material-ui/icons\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Slider from \"react-slick\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ExhibitionListResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\n\r\ninterface IProps {\r\n exhibitionList: ExhibitionListResultModel[];\r\n slideHeight: number;\r\n}\r\n\r\nconst MainSliderComponent = ({ exhibitionList, slideHeight }: IProps) => {\r\n const router = useHistory();\r\n const lng = useLocalizationCtx();\r\n const fixLength = (length: number) => {\r\n if (length > 0) {\r\n const newlength = length;\r\n return newlength;\r\n }\r\n };\r\n return (\r\n \r\n {exhibitionList.map((i, index) => {\r\n return (\r\n
\r\n {\r\n router.push(`${RoutesList.Exhibition}/${i.id}`);\r\n }}\r\n style={{\r\n boxShadow: \"1px 0px 4px #909090\",\r\n width: \"90%\",\r\n height: slideHeight,\r\n borderRadius: 30,\r\n position: \"relative\",\r\n overflow: \"hidden\",\r\n marginLeft: \"auto\",\r\n marginRight: \"auto\",\r\n marginTop: 16,\r\n marginBottom: 16,\r\n cursor: \"pointer\",\r\n userSelect: \"none\",\r\n // marginRight: exhibitionList.length === 1 ? \".8rem\" : 0,\r\n }}\r\n >\r\n \r\n \r\n {i.isLikedByUser && (\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n {` ${i.likes} نفر`}\r\n \r\n\r\n \r\n {i.title}\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 MainSliderComponent;\r\n","import { Grid, Typography, useMediaQuery } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport {\r\n BusinessCenterOutlined,\r\n FavoriteBorderOutlined,\r\n HomeWorkOutlined,\r\n RssFeedOutlined,\r\n SearchOutlined,\r\n SettingsOutlined,\r\n} from \"@material-ui/icons\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport MainSliderComponent from \"src/Components/Slider/MainSliderComponent\";\r\nimport { SearchSection } from \"src/Models/Settings\";\r\nimport { ExhibitionListResultModel } from \"src/Models/UserModel\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { StorageService } from \"src/Services/StorageServices/StorageService\";\r\nimport { RoutesList } from \"../Routes/RoutesList\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n background: \"#f3f4f6\",\r\n },\r\n image: {\r\n width: 150,\r\n objectFit: \"contain\",\r\n margin: \"auto\",\r\n userSelect: \"none\",\r\n },\r\n textCenter: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n selected: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n bottomBtn: {\r\n borderRadius: 4,\r\n padding: 2,\r\n minWidth: 0,\r\n },\r\n bottomBtnIcon: {\r\n width: 40,\r\n height: 40,\r\n },\r\n mainCardBtnIcon: {\r\n width: 75,\r\n },\r\n bottomBtnItem: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n },\r\n cardContainer: {\r\n flex: 1,\r\n overflowY: \"scroll\",\r\n justifyContent: \"baseline\",\r\n },\r\n cardContent: {\r\n padding: 0,\r\n },\r\n cardRow: {\r\n marginBottom: 10,\r\n },\r\n cartWrapper: {\r\n position: \"relative\",\r\n \"& div\": {\r\n position: \"absolute\",\r\n top: 0,\r\n right: 0,\r\n background: theme.palette.primary.main,\r\n color: \"#fff\",\r\n borderRadius: \"0 50% 0 50%\",\r\n width: 20,\r\n height: 20,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst MainPage = () => {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const sliderRef = useRef(null);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [exhibitionList, setExhibitionList] = useState<\r\n ExhibitionListResultModel[]\r\n >([]);\r\n const [slideHeight, setSlideHeight] = useState(0);\r\n const [cityCount, setCityCount] = useState(0);\r\n const [stateCount, setStateCount] = useState(0);\r\n const [exhibitionCount, setExhibitionCount] = useState(0);\r\n const isSmall = useMediaQuery(\"(max-height: 590px)\");\r\n const service = new DataService();\r\n const storage = new StorageService();\r\n const loadData = async () => {\r\n const result = await service.exhibitionList();\r\n setExhibitionList(result.reverse());\r\n const homeResult = await service.getHome();\r\n setCityCount(homeResult.cityCo);\r\n setStateCount(homeResult.stateCo);\r\n setExhibitionCount(homeResult.activeExhibitionCo);\r\n };\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n setSlideHeight(sliderRef.current!.clientHeight + -40);\r\n }, [isSmall]);\r\n const [setting, setSetting] = useState({\r\n className: \"slider variable-width\",\r\n centerMode: true,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n slidesToShow: 1,\r\n arrows: false,\r\n });\r\n // const settings = {\r\n // className: \"slider variable-width\",\r\n // centerMode: true,\r\n // // swipeToSlide: true,\r\n // // infinite: true,\r\n // // rtl: true,\r\n // infinite: false,\r\n // // centerPadding: \"\",\r\n // slidesToScroll: 1,\r\n // slidesToShow: 1,\r\n // arrows: false,\r\n // // variableWidth: true,\r\n // // speed: 500,\r\n // };\r\n return (\r\n \r\n {\r\n storage.setSearchSection(SearchSection.All);\r\n storage.setSearchData(null);\r\n router.push(RoutesList.Search);\r\n }}\r\n >\r\n \r\n \r\n {\"عنوان کتاب یا نمایشگاه را جستجو نمایید\"}\r\n \r\n \r\n {!isSmall && (\r\n \r\n {\"نمایشگاه های کشور را رصد کنید و با پیشگامان کسب و کار آشنا شوید.\"}\r\n \r\n )}\r\n \r\n {exhibitionCount}\r\n {\" نمایشگاه در حال برگزاری در \"}\r\n {cityCount}\r\n {\" شهر و \"}\r\n {stateCount}\r\n {\" استان کشور\"}\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n router.push(RoutesList.Setting);\r\n }}\r\n >\r\n \r\n {\"تنظیمات\"}\r\n \r\n {\r\n router.push(RoutesList.ExhibitionList);\r\n }}\r\n >\r\n \r\n {\"نمایشگاه ها\"}\r\n \r\n {\r\n router.push(RoutesList.ServiceList);\r\n }}\r\n >\r\n \r\n {\"خدمات\"}\r\n \r\n {\r\n router.push(RoutesList.FavoriteList);\r\n }}\r\n >\r\n \r\n {\"علاقه مندی ها\"}\r\n \r\n {\r\n router.push(RoutesList.PostList);\r\n }}\r\n >\r\n \r\n {\"تازه ها\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default MainPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ExhibitionPatronResultModel } from \"src/Models/UserModel\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\ninterface Options {\r\n data: ExhibitionPatronResultModel;\r\n onClick: VoidFunction;\r\n}\r\n\r\nconst PatronCardComponent = ({ data, onClick }: Options) => {\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const skeletonContext = useSkeletonCtx();\r\n const lng = useLocalizationCtx();\r\n const { id, company, type } = data;\r\n\r\n return (\r\n \r\n \r\n \r\n {`امتیاز: ${type}`}\r\n \r\n\r\n {/* */}\r\n \r\n 0\r\n ? company.documents[0].original\r\n : \"\"\r\n }\r\n width={70}\r\n height={70}\r\n style={{\r\n boxShadow: \"0px 0px 5px #e4e3e3\",\r\n borderRadius: \"50%\",\r\n }}\r\n />\r\n \r\n {company.title}\r\n \r\n {company.subTitle}\r\n \r\n \r\n \r\n \r\n {company.brands.map((i, index) => (\r\n d.type === 1)[0].original}\r\n />\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default PatronCardComponent;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PatronCardComponent from \"src/Components/Cards/PatronCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { ExhibitionPatronResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst PatronListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [companyList, setCompanyList] = useState(\r\n [],\r\n );\r\n const [filteredExhibitionList, setFilteredExhibitionList] = useState<\r\n ExhibitionPatronResultModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const { id } = useParams();\r\n\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.exhibitionPatron(pNo, id as string);\r\n setPageNo(v => ++v);\r\n setCategories([{ id: 0, title: \"همه\" }]);\r\n setCompanyList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n setFilteredExhibitionList(companyList);\r\n }, [value, companyList]);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\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 {categories.map(i => {\r\n return ;\r\n })}\r\n \r\n {categories.map((l, index) => {\r\n return (\r\n \r\n }\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\nexport default PatronListPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst PostListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const { dataType, search } = useParams();\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.postList(pNo, undefined, search, dataType);\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {search ? `نتایج جستجو \"${search}\"` : \"تازه ها\"}\r\n \r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default PostListPage;\r\n","import {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n IconButton,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport {\r\n Bookmark,\r\n BookmarkBorder,\r\n Favorite,\r\n FavoriteBorder,\r\n MoreVert,\r\n PlayArrow,\r\n Share,\r\n} from \"@material-ui/icons\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"src/Components/General/SnackBarComponent\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { DocumentTypes } from \"src/Models/DocumentModel\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n\r\n fullWidth: {\r\n flex: 1,\r\n width: \"100%\",\r\n },\r\n fullWidthInput: {\r\n flex: 1,\r\n backgroundColor: \"#f7f7f7\",\r\n paddingTop: 12,\r\n },\r\n fullWidthInputElement: {\r\n fontSize: \".8rem\",\r\n },\r\n appBarContainer: {\r\n paddingRight: 15,\r\n },\r\n searchBtn: {\r\n padding: 5,\r\n borderRadius: 4,\r\n minWidth: 0,\r\n },\r\n appBar: {\r\n boxShadow:\r\n \"0px 3px 1px -2px rgba(0,0,0,0.01), 0px 2px 2px 0px rgba(0,0,0,0.01), 0px 1px 5px 0px rgba(0,0,0,0.1)\",\r\n },\r\n languageBtn: {\r\n width: \"80%\",\r\n margin: \"auto\",\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst PostPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n const { id } = useParams();\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [reportValue, setReportValue] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [post, setPost] = useState(undefined);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [selectedImage, setSelectedImage] = useState(\"\");\r\n const [selectedImageType, setSelectedImageType] = useState(2);\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n loadData();\r\n }, []);\r\n const [isImageModalOpen, setIsImageModalOpen] = useState(false);\r\n\r\n const handleCloseImageModal = (e?: any) => {\r\n setIsImageModalOpen(false);\r\n };\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const handleCloseModal = (e?: any) => {\r\n setIsModalOpen(false);\r\n };\r\n const onSubmitReport = async (e: any) => {\r\n setIsLoading(true);\r\n try {\r\n const result = await service.report(post!.type, post!.id, reportValue);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n handleCloseModal();\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Success,\r\n message: result.message,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } else {\r\n handleCloseModal();\r\n\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n const handleReportChange = (e: any) => {\r\n setReportValue(e.target.value);\r\n };\r\n const onOpenLink = () => {\r\n const win = window.open(\r\n post?.catalog_url ?? post?.shop_url ?? \"\",\r\n \"_blank\",\r\n );\r\n win?.focus();\r\n };\r\n const loadData = async () => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n const res = await service.post(id as string);\r\n if (res && res.length) {\r\n setPost(res[0]);\r\n if (\r\n res[0].lottery &&\r\n !!!skeletonContext.lotteryCounter &&\r\n !!!res[0].lottery.isRegisterd\r\n )\r\n skeletonContext.setLottery(res[0].lottery);\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n duration: 3000,\r\n isOpen: true,\r\n message: e,\r\n type: SnackBarType.Error,\r\n });\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const selectImageAndOpenModal = (image: string, type: number) => {\r\n setSelectedImage(image);\r\n setSelectedImageType(type);\r\n setIsImageModalOpen(true);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {selectedImageType === 2 && (\r\n \r\n )}\r\n {selectedImageType === 5 && (\r\n {}}\r\n controls={true}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n >\r\n \r\n Your browser does not support the video tag.\r\n \r\n )}\r\n \r\n \r\n \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 (post?.type !== DocumentTypes.Expert)\r\n router.push(`${RoutesList.Company}/${post?.company?.id}`);\r\n }}\r\n />\r\n \r\n \r\n {post?.type === DocumentTypes.Expert\r\n ? post?.expertUser?.name\r\n : post?.company?.title}\r\n \r\n \r\n {post?.type === DocumentTypes.Expert\r\n ? post?.expertUser?.bio\r\n : post?.company?.subTitle}\r\n \r\n \r\n {\r\n setIsModalOpen(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {!!!post?.documents.length && (\r\n \r\n \r\n \r\n )}\r\n {!!post?.documents.length ? (\r\n post?.documents.length > 1 ? (\r\n \r\n \r\n \r\n selectImageAndOpenModal(\r\n post?.documents[0]?.original,\r\n post?.documents[0].type,\r\n )\r\n }\r\n >\r\n \r\n {post?.documents[0]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n {post?.documents[3]?.thumb && (\r\n \r\n selectImageAndOpenModal(\r\n post?.documents[3]?.original,\r\n post?.documents[3].type,\r\n )\r\n }\r\n >\r\n \r\n {post?.documents[3]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n selectImageAndOpenModal(\r\n post?.documents[1]?.original,\r\n post?.documents[1].type,\r\n )\r\n }\r\n >\r\n \r\n {post?.documents[1]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n {post?.documents[2]?.thumb && (\r\n \r\n selectImageAndOpenModal(\r\n post?.documents[2]?.original,\r\n post?.documents[2].type,\r\n )\r\n }\r\n >\r\n \r\n {post?.documents[2]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n selectImageAndOpenModal(\r\n post?.documents[0]?.original,\r\n post?.documents[0].type,\r\n )\r\n }\r\n >\r\n \r\n selectImageAndOpenModal(\r\n post?.documents[0]?.original,\r\n post?.documents[0].type,\r\n )\r\n }\r\n style={{\r\n borderRadius: 8,\r\n width: \"100%\",\r\n boxShadow: \"0px 0px 3px #e1e0e0\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n }}\r\n />\r\n {post?.documents[0]?.type === 5 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n {post?.isLikedByUser ? : }\r\n \r\n \r\n {`پسندیده شده توسط ${post?.likes} نفر`}\r\n \r\n \r\n \r\n \r\n \r\n {post?.isBookmarkedByUser ? : }\r\n \r\n \r\n \r\n {post?.subtitle}\r\n {\" \"}\r\n \r\n {post?.description}\r\n \r\n {(!!post?.catalog_url || !!post?.shop_url) && (\r\n (isLoading ? {} : onOpenLink())}\r\n >\r\n {isLoading && (\r\n \r\n )}\r\n \r\n {!!post?.catalog_url\r\n ? \"دانلود کاتالوگ\"\r\n : !!post?.shop_url\r\n ? \"خرید محصول\"\r\n : \"\"}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {\"گزارش تخلف ...\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"ثبت گزارش\"}\r\n \r\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 PostPage;\r\n","import { Grid, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport PostCardComponent from \"src/Components/Cards/PostCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport { PostListResultModel } from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst ProductListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [postList, setPostList] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [category, setCategory] = useState(null);\r\n const { id, cid, bid } = useParams();\r\n\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n setHeight(listRef!.current!.clientHeight);\r\n if (cid) loadCategory();\r\n loadData();\r\n }, []);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n const loadCategory = async () => {\r\n const res = await service.postCategoryList(id as string);\r\n if (res) setCategory(res.filter(i => i.id === +cid)[0] ?? null);\r\n };\r\n\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n const res = await service.productList(\r\n pNo,\r\n id as string,\r\n cid ? cid : undefined,\r\n bid ? bid : undefined,\r\n );\r\n setPageNo(v => ++v);\r\n setPostList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {\"محصولات\"}\r\n \r\n {category?.title && (\r\n \r\n {category?.title}\r\n \r\n )}\r\n \r\n \r\n {postList.length ? (\r\n }\r\n >\r\n {postList.map(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\nexport default ProductListPage;\r\n","import { Grid, IconButton, InputAdornment, TextField } from \"@material-ui/core\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport { KeyboardArrowLeft } from \"@material-ui/icons\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n boxShadow: \"none\",\r\n background: \"transparent\",\r\n },\r\n title: {\r\n flex: 1,\r\n color: theme.palette.grey[900],\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n },\r\n fullWidthInputElement: {\r\n paddingBottom: 5,\r\n paddingTop: 5,\r\n },\r\n searchBtn: {\r\n padding: 5,\r\n borderRadius: 4,\r\n minWidth: 0,\r\n },\r\n TextFieldContainer: {\r\n flex: 1,\r\n justifyContent: \"center\",\r\n },\r\n fullWidthInput: {\r\n paddingBottom: 5,\r\n paddingTop: 5,\r\n },\r\n}));\r\n\r\ninterface Options {\r\n searchedValue: BehaviorSubject;\r\n secondLeftIcon?: JSX.Element;\r\n ref?: React.RefObject;\r\n}\r\n\r\nconst AppBarSearchComponent = (props: Options) => {\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n useEffect(() => {\r\n const searchValueSub = props.searchedValue.subscribe(i => {\r\n setSearchValue(i);\r\n });\r\n return () => {\r\n searchValueSub.unsubscribe();\r\n };\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n router.goBack();\r\n }}\r\n >\r\n \r\n \r\n\r\n props.searchedValue.next(e.target.value)}\r\n className={classes.TextFieldContainer}\r\n style={{ marginRight: 12 }}\r\n value={searchValue}\r\n placeholder={\"عبارت مورد نظر خود را جستجو کنید\"}\r\n inputProps={{\r\n className: classes.fullWidthInput,\r\n style: { fontSize: \".7rem\" },\r\n }}\r\n InputProps={{\r\n className: classes.fullWidthInput,\r\n endAdornment: (\r\n \r\n {}}\r\n >\r\n {!searchValue ? (\r\n {\r\n props.searchedValue.next(\"\");\r\n }}\r\n >\r\n qr_code\r\n \r\n ) : (\r\n {\r\n props.searchedValue.next(\"\");\r\n }}\r\n >\r\n close\r\n \r\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 AppBarSearchComponent;\r\n","import React, { CSSProperties, useEffect, useState } from \"react\";\r\nimport Highlighter from \"react-highlight-words\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\ninterface IProps {\r\n searchedText: BehaviorSubject;\r\n text: string;\r\n unhighlightStyle?: CSSProperties;\r\n highlightStyle?: CSSProperties;\r\n}\r\n\r\nconst HighlightWithSearch = ({\r\n text,\r\n searchedText,\r\n highlightStyle,\r\n unhighlightStyle,\r\n}: IProps) => {\r\n const [searched, setSearched] = useState(\"\");\r\n useEffect(() => {\r\n const searchedTextSub = searchedText.subscribe(i => {\r\n setSearched(i);\r\n });\r\n return () => {\r\n searchedTextSub.unsubscribe();\r\n };\r\n }, []);\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HighlightWithSearch;\r\n","import { Divider, Grid, Typography, useTheme } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport HighlightWithSearch from \"./HighlightWithSearch\";\r\nexport interface SearchResultViewModel {\r\n id: number;\r\n title: string;\r\n subTitle?: string;\r\n}\r\ninterface IProps {\r\n data: SearchResultViewModel[];\r\n searchedText: BehaviorSubject;\r\n title: string;\r\n itemRoute: RoutesList;\r\n moreRoute: Observable;\r\n}\r\n\r\nconst SearchResultBox = ({\r\n title,\r\n data,\r\n searchedText,\r\n itemRoute,\r\n moreRoute,\r\n}: IProps) => {\r\n const theme = useTheme();\r\n const router = useHistory();\r\n const [moreRouteState, setMoreRouteState] = useState(\"\");\r\n useEffect(() => {\r\n const moreRouteSub = moreRoute.subscribe(i => setMoreRouteState(i));\r\n return () => {\r\n moreRouteSub.unsubscribe();\r\n };\r\n }, []);\r\n return (\r\n \r\n {`جستجو در ${title}`}\r\n {data.map(i => {\r\n return (\r\n {\r\n router.push(`${itemRoute}/${i.id}`);\r\n }}\r\n >\r\n \r\n {i.subTitle && (\r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n router.push(moreRouteState)}\r\n >{`جستجو تمام نتایج در بخش ${title}`}\r\n \r\n );\r\n};\r\n\r\nexport default SearchResultBox;\r\n","import { Button, Divider, Grid, Typography } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport { MoreHoriz, People } from \"@material-ui/icons\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CircularLoading from \"src/Components/General/CircularLoading\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ActivityModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { StorageService } from \"src/Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"src/Skeleton/Contexts/SkeletonContext\";\r\nimport AppBarComponent from \"../Components/AppBars/AppBarComponent\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"100%\",\r\n width: \"100%\",\r\n backgroundColor: \"#fff\",\r\n },\r\n emptyContent: {\r\n flexGrow: 1,\r\n paddingTop: \"1.5rem\",\r\n \"& img\": {\r\n margin: \"15px 0\",\r\n maxWidth: 100,\r\n },\r\n },\r\n fab: {\r\n position: \"fixed\",\r\n left: 25,\r\n bottom: 25,\r\n },\r\n cardHeader: {\r\n background: theme.palette.grey[200],\r\n },\r\n card: {\r\n margin: 8,\r\n },\r\n whiteBtn: {\r\n color: \"#3b3b3b\",\r\n borderRadius: 30,\r\n backgroundColor: \"#fff\",\r\n boxShadow: \"0px 0px 3px #d6d6d6\",\r\n fontSize: \".7rem\",\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n marginBottom: 10,\r\n },\r\n imageContainer: {\r\n backgroundColor: \"#f5f5f5\",\r\n borderRadius: \"50%\",\r\n width: 120,\r\n height: 120,\r\n border: `3px solid ${theme.palette.primary.main}`,\r\n boxShadow: `0px 0px 4px ${theme.palette.primary.main}`,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center \",\r\n },\r\n }),\r\n);\r\n\r\nenum GetDataType {\r\n Get = \"Get\",\r\n Refresh = \"Refresh\",\r\n}\r\n\r\nconst SettingPage = () => {\r\n const [followCount, setFollowCount] = useState(0);\r\n const [likeCount, setLikeCount] = useState(0);\r\n const [favoriteCount, setFavoriteCount] = useState(0);\r\n const [booksCount, setBookCount] = useState(0);\r\n const [name, setName] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [activities, setActivities] = useState([]);\r\n\r\n const skeletonCtx = useSkeletonCtx();\r\n const classes = useStyles();\r\n const router = useHistory();\r\n const theme = useTheme();\r\n const lng = useLocalizationCtx();\r\n\r\n skeletonCtx.setIsHeaderVisible(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n\r\n const getProfile = async (requestType?: GetDataType) => {\r\n skeletonCtx.setIsLoading(true);\r\n\r\n try {\r\n const res = await userService.profile();\r\n setFavoriteCount(res.bookmarkCount);\r\n setBookCount(res.bookCount);\r\n setLikeCount(res.likeCount);\r\n setFollowCount(res.followCount);\r\n setName(res.name);\r\n setEmail(res.email);\r\n setActivities(res.activities);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n skeletonCtx.setIsLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n getProfile();\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {skeletonCtx.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n {\r\n router.push(RoutesList.EditProfile);\r\n }}\r\n >\r\n {\"ویرایش\"}\r\n \r\n
\r\n \r\n {/* \"Add */}\r\n
\r\n {\r\n storageService.clearUserData();\r\n router.replace(RoutesList.Login);\r\n }}\r\n >\r\n {\"خروج\"}\r\n \r\n
\r\n \r\n {name}\r\n \r\n \r\n \r\n \r\n \r\n {followCount}\r\n \r\n \r\n {\"دنبال شده\"}\r\n \r\n \r\n \r\n \r\n {likeCount}\r\n \r\n \r\n {\"پسند شده\"}\r\n \r\n \r\n \r\n \r\n {favoriteCount}\r\n \r\n \r\n {\"نشان شده\"}\r\n \r\n \r\n \r\n \r\n {booksCount}\r\n \r\n \r\n {\"کتاب\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"فعالیت های اخیر شما\"}\r\n \r\n \r\n \r\n {activities.map((i, index) => {\r\n return (\r\n \r\n \r\n \r\n {i.title}\r\n {i.subtitle}\r\n \r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SettingPage;\r\n","import { Grid, Tab, Tabs, Typography } from \"@material-ui/core\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport CompanyCardComponent from \"src/Components/Cards/CompanyCardComponent\";\r\nimport EmptyView from \"src/Components/General/EmptyView\";\r\nimport { IdTitleModel } from \"src/Models/BaseModels/IdTitleModel\";\r\nimport { GetDataType } from \"src/Models/Settings\";\r\nimport {\r\n ExhibitionCompanyModel,\r\n ServiceResultModel,\r\n} from \"src/Models/UserModel\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { useLocalizationCtx } from \"../Localization/Contexts/LocalizationContext\";\r\nimport { DataService } from \"../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n backgroundColor: \"#fff\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n minWidth: \"6rem\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst ServiceCompanyListPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [companyList, setCompanyList] = useState([]);\r\n const [filteredServiceList, setFilteredServiceList] = useState<\r\n ExhibitionCompanyModel[]\r\n >([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n const service = new DataService();\r\n const storageService = new StorageService();\r\n const [pageNo, setPageNo] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const listRef = useRef(null);\r\n const [height, setHeight] = useState(100);\r\n const [serviceList, setServiceList] = useState([]);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const { id, search } = useParams();\r\n const loadServiceData = async () => {\r\n if (id) {\r\n const result = await service.service(id as string);\r\n setServiceList(result.reverse());\r\n } else if (search) {\r\n setServiceList([\r\n {\r\n id: 0,\r\n title: `نتایج \"${search}\"`,\r\n document: { id: \"\", original: \"\", type: 0 },\r\n subTitle: \"\",\r\n },\r\n ]);\r\n }\r\n };\r\n const loadData = async (type?: GetDataType) => {\r\n skeletonContext.setIsLoading(true);\r\n try {\r\n let pNo = pageNo;\r\n if (type == GetDataType.Refresh) {\r\n pNo = 0;\r\n setPageNo(0);\r\n }\r\n\r\n const res = await service.serviceCompany(\r\n pNo,\r\n (id as string) ?? \"0\",\r\n (search as string) ?? \"\",\r\n );\r\n setPageNo(v => ++v);\r\n setCompanyList(v => {\r\n const temp = type === GetDataType.Refresh ? res : [...v, ...res];\r\n return temp;\r\n });\r\n setHasMore(res?.length >= 10);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n skeletonContext.setIsLoading(false);\r\n };\r\n const [value, setValue] = React.useState(0);\r\n useEffect(() => {\r\n loadServiceData();\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n if (listRef && listRef.current) setHeight(listRef!.current!.clientHeight);\r\n setFilteredServiceList(companyList);\r\n }, [value, companyList]);\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \r\n {\" \"}\r\n \r\n \r\n {`${search ? \"جستجو \" : \"\"}شرکت ها`}\r\n \r\n \r\n \r\n \r\n {serviceList.map(i => {\r\n return ;\r\n })}\r\n \r\n {serviceList.map((l, index) => {\r\n return (\r\n \r\n }\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\nexport default ServiceCompanyListPage;\r\n","import { Typography } from \"@material-ui/core\";\r\nimport React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Slider from \"react-slick\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport { ServiceResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\n\r\ninterface IProps {\r\n serviceList: ServiceResultModel[];\r\n slideHeight: number;\r\n}\r\n\r\nconst ServiceSliderComponent = ({ serviceList, slideHeight }: IProps) => {\r\n const router = useHistory();\r\n const lng = useLocalizationCtx();\r\n useEffect(() => {}, [slideHeight, serviceList]);\r\n const fixLength = (length: number) => {\r\n if (length > 0) {\r\n const newlength = length;\r\n return newlength;\r\n }\r\n };\r\n return (\r\n \r\n {serviceList.map((i, index) => {\r\n return (\r\n {\r\n router.push(`${RoutesList.ServiceCompany}/${i.id}`);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n \r\n {i.title}\r\n \r\n }\r\n {\r\n \r\n {i.subTitle}\r\n \r\n }\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default ServiceSliderComponent;\r\n","import { Button, Grid, Typography, useMediaQuery } from \"@material-ui/core\";\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from \"@material-ui/core/styles\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport ServiceSliderComponent from \"src/Components/Slider/ServiceSliderComponent\";\r\nimport { ServiceResultModel } from \"src/Models/UserModel\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport { useSkeletonCtx } from \"../Skeleton/Contexts/SkeletonContext\";\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n },\r\n image: {\r\n width: 150,\r\n objectFit: \"contain\",\r\n margin: \"auto\",\r\n userSelect: \"none\",\r\n },\r\n textCenter: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n selected: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n },\r\n bottomBtn: {\r\n borderRadius: 4,\r\n padding: 2,\r\n minWidth: 0,\r\n },\r\n bottomBtnIcon: {\r\n width: 40,\r\n height: 40,\r\n },\r\n mainCardBtnIcon: {\r\n width: 75,\r\n },\r\n bottomBtnItem: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n },\r\n cardContainer: {\r\n flex: 1,\r\n overflowY: \"scroll\",\r\n justifyContent: \"baseline\",\r\n },\r\n cardContent: {\r\n padding: 0,\r\n },\r\n cardRow: {\r\n marginBottom: 10,\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n width: \"80%\",\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n cartWrapper: {\r\n position: \"relative\",\r\n \"& div\": {\r\n position: \"absolute\",\r\n top: 0,\r\n right: 0,\r\n background: theme.palette.primary.main,\r\n color: \"#fff\",\r\n borderRadius: \"0 50% 0 50%\",\r\n width: 20,\r\n height: 20,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst ServiceListPage = () => {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const router = useHistory();\r\n const skeletonContext = useSkeletonCtx();\r\n const sliderRef = useRef(null);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n const [serviceList, setServiceList] = useState([]);\r\n const [slideHeight, setSlideHeight] = useState(0);\r\n const isSmall = useMediaQuery(\"(max-height: 590px)\");\r\n const service = new DataService();\r\n const loadData = async () => {\r\n const result = await service.service();\r\n setServiceList(result.reverse());\r\n };\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n useEffect(() => {\r\n setSlideHeight(sliderRef.current!.clientHeight + -40);\r\n }, [isSmall]);\r\n const settings = {\r\n className: \"slider variable-width\",\r\n centerMode: true,\r\n // swipeToSlide: true,\r\n // infinite: true,\r\n rtl: true,\r\n infinite: true,\r\n // centerPadding: \"\",\r\n slidesToScroll: 1,\r\n slidesToShow: 1,\r\n arrows: false,\r\n // variableWidth: true,\r\n // speed: 500,\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 router.push(RoutesList.HowHelp);\r\n }}\r\n >\r\n {\"چگونه می توانیم به شما کمک کنیم؟\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default ServiceListPage;\r\n","import {\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n IconButton,\r\n InputAdornment,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { LocalPhone } from \"@material-ui/icons\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"../../Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"../../Localization/Contexts/LocalizationContext\";\r\nimport { RoutesList } from \"../../Routes/RoutesList\";\r\nimport { DataService } from \"../../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../../Themes/Contexts/ThemeContext\";\r\n\r\nenum FormMode {\r\n NormalProc,\r\n ExternalLink,\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n backgroundImage: `url(\"./Asset/Image/bg_tile.png\")`,\r\n backgroundColor: \"#ffffff5c\",\r\n backgroundBlendMode: \"screen\",\r\n backgroundRepeat: \"round\",\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n position: \"relative\",\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\n\r\nconst LoginPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [mobileNo, setMobileNo] = useState(\"\");\r\n const [mobileNoError, setMobileNoError] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n const [showImage, setShowImage] = useState(true);\r\n const [initialHeight, setInitialHeight] = useState(window.innerHeight);\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", handleResize_setMenuWidth);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize_setMenuWidth);\r\n };\r\n }, []);\r\n const handleResize_setMenuWidth = () => {\r\n setShowImage(!!!(window.innerHeight < initialHeight));\r\n };\r\n const onSubmitLogin = async () => {\r\n if (!mobileNo) {\r\n setMobileNoError(lng.mobileNoRequired);\r\n return;\r\n }\r\n if (\r\n (mobileNo[0] === \"0\" && mobileNo.length < 11) ||\r\n (mobileNo[0] !== \"0\" && mobileNo.length < 10)\r\n ) {\r\n setMobileNoError(lng.phoneNumberInvalid);\r\n return;\r\n }\r\n setMobileNoError(\"\");\r\n setIsLoading(true);\r\n try {\r\n const result = await userService.loginOrRegister(mobileNo);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n storageService.setKey(result.key);\r\n storageService.setMobile(mobileNo);\r\n router.push(RoutesList.activation);\r\n } else {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\r\n };\r\n return (\r\n \r\n \r\n {showImage && (\r\n \r\n )}\r\n \r\n {\r\n if (\r\n e.target.value &&\r\n ((e.target.value[0] === \"0\" && e.target.value.length === 12) ||\r\n (e.target.value[0] !== \"0\" && e.target.value.length === 11))\r\n ) {\r\n return;\r\n }\r\n setMobileNo(e.target.value);\r\n if (mobileNoError) {\r\n if (!e.target.value) {\r\n setMobileNoError(lng.mobileNoRequired);\r\n } else if (\r\n (e.target.value[0] === \"0\" && e.target.value.length < 11) ||\r\n (e.target.value[0] !== \"0\" && e.target.value.length < 10)\r\n ) {\r\n setMobileNoError(lng.phoneNumberInvalid);\r\n } else {\r\n setMobileNoError(\"\");\r\n }\r\n }\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={lng.mobileNo}\r\n label={lng.mobileNo}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n {\r\n /* */\r\n }}\r\n >\r\n \r\n \r\n \r\n ),\r\n }}\r\n inputProps={{\r\n inputmode: \"numeric\",\r\n pattern: \"[0-9]*\",\r\n dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n }}\r\n />\r\n \r\n (isLoading ? {} : onSubmitLogin())}\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 setIsModalOpen(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خريد و فروش محصول در محيط غرفه امکان پذير نيست و غرفه صرفا فضايي براي معرفي محصولات و خدمات شرکت ها مي باشد`}\r\n \r\n \r\n {`*کليه محتوا موجود در برنامه توسط تيم غرفه جمع آوري شده است `}\r\n \r\n \r\n \r\n \r\n {lng.mainPage}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default LoginPage;\r\n","import {\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n IconButton,\r\n InputAdornment,\r\n TextField,\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { VpnKey } from \"@material-ui/icons\";\r\nimport React, { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport AppBarComponent from \"src/Components/AppBars/AppBarComponent\";\r\nimport { ResultMode } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { useRoutingMiddlewareCtx } from \"src/Routes/Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n SnackBarDuration,\r\n SnackBarType,\r\n} from \"../../Components/General/SnackBarComponent\";\r\nimport { useLocalizationCtx } from \"../../Localization/Contexts/LocalizationContext\";\r\nimport { RoutesList } from \"../../Routes/RoutesList\";\r\nimport { DataService } from \"../../Services/AloniServices/DataService\";\r\nimport { StorageService } from \"../../Services/StorageServices/StorageService\";\r\nimport { useSkeletonCtx } from \"../../Skeleton/Contexts/SkeletonContext\";\r\nimport { useThemeCtx } from \"../../Themes/Contexts/ThemeContext\";\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n minHeight: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n minHeight: \"100%\",\r\n },\r\n backgroundImage: `url(\"./Asset/Image/bg_tile.png\")`,\r\n backgroundColor: \"#ffffff5c\",\r\n backgroundBlendMode: \"screen\",\r\n backgroundRepeat: \"round\",\r\n overflowY: \"hidden\",\r\n flexWrap: \"nowrap\",\r\n },\r\n image: {\r\n width: 96,\r\n objectFit: \"contain\",\r\n userSelect: \"none\",\r\n marginTop: 40,\r\n marginBottom: 40,\r\n },\r\n header: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n fontSize: \".7rem\",\r\n color: theme.palette.grey[600],\r\n },\r\n description: {\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n color: theme.palette.primary.main,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n fontSize: \".9rem\",\r\n },\r\n languageBtn: {\r\n padding: \"3px 16px\",\r\n marginBottom: 15,\r\n background: \"linear-gradient(45deg, #04d3b3 30%, #01dfa5 90%)\",\r\n fontSize: \"1.2rem\",\r\n boxShadow: \"none\",\r\n fontFamily: \"DimaWeb !important\",\r\n \"& *\": {\r\n fontFamily: \"DimaWeb !important\",\r\n },\r\n },\r\n selected: {\r\n padding: \"10px 0px\",\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n },\r\n logoContainer: {\r\n flex: 3,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n btnContainer: {\r\n flex: 2,\r\n width: \"80%\",\r\n maxWidth: 240,\r\n margin: \"auto\",\r\n },\r\n underline: {\r\n \"&:after\": {\r\n borderWidth: \"2px\",\r\n },\r\n \"&:before\": {\r\n borderWidth: \"2px\",\r\n },\r\n },\r\n inputContainer: { marginBottom: 44, alignItems: \"baseline\" },\r\n countryCode: {\r\n width: 25,\r\n maxWidth: 40,\r\n borderRadius: 0,\r\n padding: \"2px 0px\",\r\n borderBottom: `2px solid rgba(0, 0, 0, 0.42)`,\r\n },\r\n mobileNo: {\r\n flex: 1,\r\n },\r\n confirmBtn: {\r\n width: \"85%\",\r\n maxWidth: 270,\r\n margin: \"auto\",\r\n marginBottom: 25,\r\n },\r\n }),\r\n);\r\ninterface OtpCodeType {\r\n 1: string;\r\n 2: string;\r\n 3: string;\r\n 4: string;\r\n 5: string;\r\n}\r\nconst ActivationPage = () => {\r\n const classes = useStyles();\r\n const skeletonContext = useSkeletonCtx();\r\n const themeContext = useThemeCtx();\r\n const lng = useLocalizationCtx();\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n const [mobileNo, setMobileNo] = useState(\"\");\r\n const [mobileNoError, setMobileNoError] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const userService = new DataService();\r\n const storageService = new StorageService();\r\n\r\n skeletonContext.setIsDrawerEnable(false);\r\n skeletonContext.setIsHeaderVisible(false);\r\n\r\n // در صورتی که کاربر مستقیم لینک یک آیتم یا پنل را باز کند به این نقطه می رسد. در این صفحه لاگین یا رجیستر می کند و سپس به آدرس ذخیره شده در استیت ریدایرکت می شود\r\n\r\n const onSubmitLogin = async () => {\r\n if (!mobileNo) {\r\n setMobileNoError(lng.otpCodeRequired);\r\n return;\r\n }\r\n if (mobileNo.length < 4) {\r\n setMobileNoError(lng.otpCodeInvalid);\r\n return;\r\n }\r\n setMobileNoError(\"\");\r\n setIsLoading(true);\r\n try {\r\n const result = await userService.confirmOtp(mobileNo);\r\n\r\n if (result) {\r\n if (result.result === ResultMode.Success) {\r\n storageService.setToken(result.authorization);\r\n router.replace(RoutesList.Main);\r\n } else {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: result.message ?? lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n skeletonContext.setSnackBar({\r\n type: SnackBarType.Error,\r\n message: typeof e === \"string\" ? e : lng.unexpectedError,\r\n duration: SnackBarDuration.Long,\r\n isOpen: true,\r\n });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const handleCloseModal = (e: any) => {\r\n setIsModalOpen(false);\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n if (e.target.value && e.target.value.length > 4) {\r\n return;\r\n }\r\n setMobileNo(e.target.value);\r\n if (mobileNoError) {\r\n if (!e.target.value) {\r\n setMobileNoError(lng.otpCodeRequired);\r\n } else if (e.target.value.length < 4) {\r\n setMobileNoError(lng.otpCodeInvalid);\r\n } else {\r\n setMobileNoError(\"\");\r\n }\r\n }\r\n }}\r\n // InputProps={{\r\n // classes: {\r\n // underline: classes.underline,\r\n // },\r\n // }}\r\n variant={\"outlined\"}\r\n placeholder={\"کد اعتبار سنجی\"}\r\n label={\"کد اعتبار سنجی\"}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n {\r\n /* */\r\n }}\r\n >\r\n \r\n \r\n \r\n ),\r\n }}\r\n inputProps={{\r\n dir: !mobileNo ? \"rtl\" : \"ltr\",\r\n }}\r\n />\r\n \r\n (isLoading ? {} : onSubmitLogin())}\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 setIsModalOpen(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خريد و فروش محصول در محيط غرفه امکان پذير نيست و غرفه صرفا فضايي براي معرفي محصولات و خدمات شرکت ها مي باشد`}\r\n \r\n \r\n {`*کليه محتوا موجود در برنامه توسط تيم غرفه جمع آوري شده است `}\r\n \r\n \r\n \r\n \r\n {lng.mainPage}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default ActivationPage;\r\n","export enum AdvertisementType {\r\n Full = 1,\r\n Bottom = 2,\r\n}\r\n\r\nexport interface AdvertisementRequestModel {\r\n screenName: string;\r\n lastScreenName: string;\r\n exhibitionId?: number;\r\n bookId?: null;\r\n serviceId?: null;\r\n categoryId?: null;\r\n isProduct?: null;\r\n justShowFavorites?: null;\r\n justBookmarked?: null;\r\n onlyFollowings?: null;\r\n related?: null;\r\n feed?: null;\r\n}\r\n// Generated by https://quicktype.io\r\n\r\nexport interface AdvertisementResultModel {\r\n id: number;\r\n title: string;\r\n subtitle: string;\r\n description: string;\r\n action: string;\r\n type: number;\r\n waitTime: number;\r\n document: AdvertisementDocumentModel;\r\n}\r\n\r\nexport interface AdvertisementDocumentModel {\r\n original: string;\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { RoutesList } from \"../../Routes/RoutesList\";\r\nimport { StorageService } from \"../../Services/StorageServices/StorageService\";\r\nimport { useRoutingMiddlewareCtx } from \"./Context/RoutingMiddlewareCtx\";\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst CommonMiddleware = (props: IProps) => {\r\n const storageService = new StorageService();\r\n\r\n const router = useHistory();\r\n const routingMiddlewareCtx = useRoutingMiddlewareCtx();\r\n\r\n useEffect(() => {\r\n //\r\n if (routingMiddlewareCtx.middlewareState?.current.skipCommonMiddleware)\r\n return;\r\n\r\n // چون میدلور ها از جزئی ترین به کلی ترین اجرا می شوند، که کلی ترین میدلور همین است، و هر میدلور جزئی تر که اجرا می شود باید میدلور کلی تر را از اجرا باز دارد، اگر به این نقطه رسیدیم یعنی هیچ کدام از میدلورهای دیگر شرایط لازم را نداشته و از این به بعد هم تنها همین میدلور باید اجرا شود\r\n routingMiddlewareCtx.dispatchMiddlewareState!({\r\n type: \"ONLY_INCLUDE_COMMON\",\r\n });\r\n const isIntroPassed = !!storageService.getIntroPassed();\r\n const isUserLogin = !!storageService.getToken();\r\n\r\n const locationHash = location.hash.replace(\"#\", \"\");\r\n if (RoutesList.Search !== (locationHash as RoutesList)) {\r\n storageService.clearSearchData();\r\n }\r\n if (isIntroPassed) {\r\n if (isUserLogin) {\r\n if (\r\n [RoutesList.Login, RoutesList.activation].indexOf(\r\n locationHash as RoutesList,\r\n ) >= 0\r\n ) {\r\n router.replace(RoutesList.Main);\r\n }\r\n } else if (\r\n ![RoutesList.activation, RoutesList.Login].includes(\r\n locationHash as RoutesList,\r\n )\r\n ) {\r\n router.replace(RoutesList.Login);\r\n }\r\n } else {\r\n router.replace(RoutesList.Intro);\r\n }\r\n }, [location.hash]);\r\n\r\n return <>{props.children};\r\n};\r\n\r\nexport default CommonMiddleware;\r\n","export interface IMiddlewareState {\r\n skipCommonMiddleware: boolean;\r\n skipPanelAndItemDirectAccessMiddleware: boolean;\r\n\r\n referrer: string;\r\n}\r\nexport interface IMiddlewareAction {\r\n type:\r\n | \"SKIP_COMMON\"\r\n | \"SKIP_PANEL_AND_ITEM_DIRECT_ACCESS\"\r\n | \"RESET\"\r\n | \"SET_REFERRER\"\r\n | \"ONLY_INCLUDE_COMMON\";\r\n payload?: any;\r\n}\r\n\r\nexport const initialState: IMiddlewareState = {\r\n skipCommonMiddleware: false,\r\n skipPanelAndItemDirectAccessMiddleware: false,\r\n referrer: \"\",\r\n};\r\n","import React, { useRef } from \"react\";\r\nimport CommonMiddleware from \"./Middlewares/CommonMiddleware\";\r\nimport { RoutingMiddlewareContext } from \"./Middlewares/Context/RoutingMiddlewareCtx\";\r\nimport {\r\n IMiddlewareAction,\r\n IMiddlewareState,\r\n initialState,\r\n} from \"./Middlewares/Models/RoutingMiddlewareModels\";\r\n\r\nconst reducer = (state: IMiddlewareState, action: IMiddlewareAction) => {\r\n switch (action.type) {\r\n case \"SKIP_COMMON\": {\r\n return {\r\n ...state,\r\n skipCommonMiddleware: true,\r\n };\r\n }\r\n case \"SKIP_PANEL_AND_ITEM_DIRECT_ACCESS\": {\r\n return {\r\n ...state,\r\n skipPanelAndItemDirectAccessMiddleware: true,\r\n };\r\n }\r\n case \"SET_REFERRER\": {\r\n return {\r\n ...state,\r\n referrer: action.payload,\r\n };\r\n }\r\n case \"ONLY_INCLUDE_COMMON\": {\r\n return {\r\n ...state,\r\n skipCommonMiddleware: false,\r\n skipPanelAndItemDirectAccessMiddleware: true,\r\n };\r\n }\r\n case \"RESET\": {\r\n return initialState;\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst RoutingMiddleware = (props: IProps) => {\r\n const middlewareState = useRef(initialState);\r\n const dispatchMiddlewareState = (action: IMiddlewareAction) => {\r\n middlewareState.current = reducer(middlewareState.current, action);\r\n };\r\n\r\n /****************************\r\n \r\n DOCS: ترتیب قرارگیری میدلور ها در اینجا مهم است و باید از کلی ترین به جزیی ترین نوشته شوند\r\n\r\n 1- CommonMiddleware: به طور دیفالت استفاده می شود\r\n\r\n 2- PanelAndItemDirectAccessMiddleware : در صورتی استفاده می شود که کاربر لاگین نباشد و بخواد به طور مستقیم .به یک آیتم یا پنل از طریق لینک آن دسترسی پیدا کند. هنگام استفاده از این میدلور،\r\n CommonMiddleware\r\n غیرفعال می شود. این میدلور تنها در صورتی استفاده می شود که لینک آیتم یا پنل به طور مستقیم باز شود، و در صورتی که اپ به صورت معمولی بالا آمده باشد، با کپی/پیست کردن لینک آیتم یا پنل عمل نمی کند\r\n\r\n****************************/\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default RoutingMiddleware;\r\n","import React from \"react\";\r\nimport { Grid, Typography } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n height: \"100vh\",\r\n position: \"fixed\",\r\n zIndex: 2000,\r\n background: \"#fff\",\r\n },\r\n loadingText: {\r\n whiteSpace: \"pre\",\r\n },\r\n});\r\n\r\nexport default () => {\r\n const cls = useStyles();\r\n const lng = useLocalizationCtx();\r\n\r\n return (\r\n \r\n \"loading\r\n \r\n {lng.loading}\r\n \r\n \r\n );\r\n};\r\n","import {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n Grid,\r\n IconButton,\r\n LinearProgress,\r\n Slide,\r\n Typography,\r\n useTheme,\r\n} from \"@material-ui/core\";\r\nimport Close from \"@material-ui/icons/Close\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport Confetti from \"react-confetti\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { BehaviorSubject, Subscription, timer } from \"rxjs\";\r\nimport { scan, takeWhile } from \"rxjs/operators\";\r\nimport { dateEnStrToFa } from \"src/Helper/DateUtility\";\r\nimport { useLocalizationCtx } from \"src/Localization/Contexts/LocalizationContext\";\r\nimport {\r\n AdvertisementRequestModel,\r\n AdvertisementResultModel,\r\n AdvertisementType,\r\n} from \"src/Models/AdvertisementModels\";\r\nimport { LotteryResultModel } from \"src/Models/BaseModels/GeneralModels\";\r\nimport { RoutesList } from \"src/Routes/RoutesList\";\r\nimport { DataService } from \"src/Services/AloniServices/DataService\";\r\nimport LoadingGif from \"../Components/General/LoadingGif\";\r\nimport SnackBarComponent, {\r\n SnackBarDuration,\r\n SnackBarOptions,\r\n SnackBarType,\r\n} from \"../Components/General/SnackBarComponent\";\r\nimport { SkeletonContext } from \"./Contexts/SkeletonContext\";\r\n\r\n// این کامپوننت wrapper کل صفحات است و قابلیت هایی که به طور عمومی در اپ استفاده می شوند را به آن اضافه می کند\r\nconst Skeleton = (props: any) => {\r\n const lng = useLocalizationCtx();\r\n const [isDrawerEnable, setIsDrawerEnable] = useState(false);\r\n const [\r\n advertisement,\r\n setAdvertisement,\r\n ] = useState(null);\r\n const [progress, setProgress] = useState(undefined);\r\n const [lotteryProgress, setLotteryProgress] = useState(\r\n undefined,\r\n );\r\n const [ad, setAd] = useState({\r\n lastScreenName: \"\",\r\n screenName: \"\",\r\n });\r\n const [lottery, setLottery] = useState(null);\r\n const [lotteryUrl, setLotteryUrl] = useState(undefined);\r\n const [lotteryMessage, setLotteryMessage] = useState(\r\n undefined,\r\n );\r\n const lotteryLoc = useMemo(() => new BehaviorSubject(null), []);\r\n const refreshIntervalId = useMemo(\r\n () => new BehaviorSubject(null),\r\n [],\r\n );\r\n const count = useMemo(() => new BehaviorSubject(0), []);\r\n\r\n const [routerStack, setRouterStack] = useState([]);\r\n const [lotteryCounter, setLotteryCounter] = useState(\r\n undefined,\r\n );\r\n const [isHeaderVisible, setIsHeaderVisible] = useState(false);\r\n const [snackBar, setSnackBar] = useState({});\r\n const [isOnline, setIsOnline] = useState(true);\r\n const [extra, setExtra] = useState(null);\r\n const [isLotteryConfettiVisible, setIsLotteryConfettiVisible] = useState<\r\n boolean\r\n >(false);\r\n const [isLotteryModalOpen, setIsLotteryModalOpen] = useState(false);\r\n const [isUserDialogShown, setIsUserDialogShown] = useState(false);\r\n const [isUserDialogOpen, setIsUserDialogOpen] = useState(false);\r\n // در صورت مقدار true یک نوار لودینگ در بالای صفحه نمایش می دهد\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isLotteryModalJoinLoading, setLotteryModalJoinLoading] = useState<\r\n boolean\r\n >(false);\r\n // در صورت مقدار true یک گیف لودینگ تمام صفحه نمایش می دهد\r\n const [isPageLoading, setIsPageLoading] = useState(false);\r\n const service = new DataService();\r\n const router = useHistory();\r\n const loc = useLocation();\r\n const theme = useTheme();\r\n // let lotteryCountSub: Subscription | null = null;\r\n\r\n const isDrawerOpen: BehaviorSubject = useMemo(() => {\r\n return new BehaviorSubject(false);\r\n }, []);\r\n // اسنک نمایش داده شده به کاربر در صورت تغییر وضعیت آنلاین و آفلاین بودن\r\n const [notConnectedSnackBar, setNotConnectedSnackBar] = useState<\r\n SnackBarOptions\r\n >({\r\n isOpen: true,\r\n type: SnackBarType.Info,\r\n message: lng.noNetwork,\r\n isTopDirection: true,\r\n duration: SnackBarDuration.Infinite,\r\n action: {\r\n actionTitle: lng.viewOffline,\r\n onClick: () => {\r\n setNotConnectedSnackBar({ ...notConnectedSnackBar, isOpen: false });\r\n },\r\n },\r\n });\r\n let onlineListener: any = null;\r\n let offlineListener: any = null;\r\n const showUserDialog = () => {\r\n setIsUserDialogShown(true);\r\n setIsUserDialogOpen(true);\r\n };\r\n const callMessage = async () => {\r\n const result = await service.message();\r\n if (result.length) {\r\n if (result[0].type === 3) {\r\n setExtra(result[0].extra1);\r\n showUserDialog();\r\n }\r\n }\r\n };\r\n const loadAdvertisement = async () => {\r\n const result = await service.advertisement(ad);\r\n setAdvertisement(result);\r\n let wait: Subscription | null = null;\r\n if (result?.waitTime) {\r\n const start = result?.waitTime;\r\n wait = timer(0, 950)\r\n .pipe(\r\n scan(acc => ++acc, 0),\r\n takeWhile(x => x <= result?.waitTime),\r\n )\r\n .subscribe(i => {\r\n if (i === result?.waitTime) setProgress(undefined);\r\n else setProgress((i / result?.waitTime) * 100);\r\n });\r\n }\r\n return () => {\r\n if (wait) wait.unsubscribe();\r\n };\r\n };\r\n const startLotteryTimer = async () => {\r\n if (count.value === (lottery?.registrationTimeAsSec ?? 0)) {\r\n cancelLotteryCounter();\r\n setLotteryProgress(undefined);\r\n setLotteryCounter(undefined);\r\n setLottery(null);\r\n await service.lotteryJoin(lottery?.id ?? 0);\r\n if (!!lotteryUrl) {\r\n const win = window.open(lotteryUrl, \"_blank\");\r\n win?.focus();\r\n }\r\n setIsLotteryConfettiVisible(true);\r\n } else {\r\n count.next(count.value + 1);\r\n\r\n setLotteryCounter((lottery?.registrationTimeAsSec ?? 0) - count.value);\r\n\r\n setLotteryProgress(\r\n (count.value / (lottery?.registrationTimeAsSec ?? 0)) * 100,\r\n );\r\n }\r\n };\r\n useEffect(() => {\r\n loadAdvertisement();\r\n }, [ad]);\r\n useEffect(() => {\r\n setLottery(null);\r\n setIsLotteryModalOpen(false);\r\n router.listen(location => {\r\n setRouterStack(prev => {\r\n const temp = [...prev];\r\n if (router.action === \"POP\") temp.pop();\r\n else if (router.action === \"PUSH\") temp.push(location);\r\n if (\r\n lotteryLoc.value &&\r\n temp.filter((i: any) => i.pathname === lotteryLoc.value.pathname)\r\n .length < 1\r\n ) {\r\n cancelLotteryCounter();\r\n }\r\n return temp;\r\n });\r\n });\r\n if (RoutesList.Main === (loc.pathname as RoutesList)) {\r\n if (!isUserDialogShown) {\r\n callMessage();\r\n }\r\n }\r\n return () => {};\r\n }, [loc.pathname]);\r\n useEffect(() => {\r\n onlineListener = window.addEventListener(\"online\", () =>\r\n handleOnline(true),\r\n );\r\n offlineListener = window.addEventListener(\"offline\", () =>\r\n handleOnline(false),\r\n );\r\n\r\n return () => {\r\n window.removeEventListener(\"online\", onlineListener);\r\n window.removeEventListener(\"offline\", offlineListener);\r\n };\r\n }, []);\r\n\r\n const handleOnline = (isOn: boolean) => {\r\n setIsOnline(isOn);\r\n };\r\n const handleCloseModal = (e?: any) => {\r\n setIsUserDialogOpen(false);\r\n };\r\n const handleCloseLotteryModal = (e?: any) => {\r\n setIsLotteryModalOpen(false);\r\n };\r\n const cancelLotteryCounter = () => {\r\n if (refreshIntervalId.value) clearInterval(refreshIntervalId.value);\r\n setLotteryCounter(undefined);\r\n setLotteryProgress(undefined);\r\n lotteryLoc.next(null);\r\n };\r\n return (\r\n {\r\n // do nothing.\r\n },\r\n setIsLoading: (l: boolean) => {\r\n setIsLoading(l);\r\n },\r\n setIsPageLoading: (l: boolean) => {\r\n setIsPageLoading(l);\r\n },\r\n setIsDrawerOpen: o => {\r\n isDrawerOpen.next(o);\r\n },\r\n setSnackBar: s => {\r\n setSnackBar({});\r\n setSnackBar(s);\r\n },\r\n setIsDrawerEnable: d => {\r\n setIsDrawerEnable(d);\r\n },\r\n setAd: ad => {\r\n setAd(ad);\r\n },\r\n setLottery: ad => {\r\n setLottery(ad);\r\n setLotteryUrl(ad?.afterRegistrationRedirectUrl);\r\n setLotteryMessage(ad?.afterRegistrationMessage);\r\n },\r\n cancelLotteryCounter: () => {\r\n cancelLotteryCounter();\r\n },\r\n setIsHeaderVisible: h => {\r\n setIsHeaderVisible(h);\r\n },\r\n }}\r\n >\r\n {/* this property is added to show the loading gif whereever some data is being fetched on page load */}\r\n {isPageLoading && }\r\n {isLotteryConfettiVisible && (\r\n {}}\r\n >\r\n \r\n \r\n {lotteryMessage}\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setIsLotteryConfettiVisible(false);\r\n }}\r\n >\r\n {\"بستن\"}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n setIsLotteryModalOpen(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 setIsLotteryModalOpen(true);\r\n }}\r\n >\r\n \r\n \r\n {lotteryCounter}\r\n \r\n \r\n \r\n \r\n \r\n {\"زمان باقی مانده تا تکمیل عضویت در قرعه کشی\"}\r\n \r\n \r\n {\"بازدید از بخش های مربوطه در زمان باقی مانده امکان پذیر می باشد\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {advertisement?.title}\r\n {advertisement?.subtitle && (\r\n \r\n {advertisement?.subtitle}\r\n \r\n )}\r\n \r\n \r\n {advertisement?.description && (\r\n \r\n {advertisement?.description}\r\n \r\n )}\r\n \r\n \r\n {advertisement?.action && (\r\n {\r\n const win = window.open(advertisement?.action, \"_blank\");\r\n win?.focus();\r\n setAdvertisement(null);\r\n }}\r\n >\r\n نمایش بیشتر\r\n \r\n )}\r\n \r\n {\r\n if (progress === undefined) setAdvertisement(null);\r\n }}\r\n >\r\n بستن\r\n \r\n\r\n {progress !== undefined && progress > 0 && (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n {/* bottom banner */}\r\n\r\n \r\n {\r\n if (advertisement?.action) {\r\n const win = window.open(advertisement?.action, \"_blank\");\r\n win?.focus();\r\n setAdvertisement(null);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {advertisement?.title}\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n e.stopPropagation();\r\n if (progress === undefined) setAdvertisement(null);\r\n }}\r\n >\r\n \r\n \r\n {progress !== undefined && progress > 0 && (\r\n \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 {/* {isDrawerEnable && } */}\r\n {!isOnline && notConnectedSnackBar.isOpen && (\r\n \r\n )}\r\n {props.children}\r\n\r\n {/* */}\r\n \r\n \r\n \r\n {lottery?.title}\r\n \r\n \r\n {lottery?.content}\r\n {\" \"}\r\n \r\n {`تاریخ خاتمه : ${dateEnStrToFa(lottery?.endDate)}`}\r\n {\" \"}\r\n \r\n {`تاریخ اعلام نتایج : ${dateEnStrToFa(\r\n lottery?.announcingTheWinnersDate,\r\n )}`}\r\n \r\n \r\n \r\n \r\n {`الان نه`}\r\n \r\n {\r\n setLotteryModalJoinLoading(true);\r\n await service.lotteryCreateSession(lottery?.id ?? 0);\r\n setLotteryModalJoinLoading(false);\r\n setLotteryCounter(lottery?.registrationTimeAsSec);\r\n lotteryLoc.next(loc);\r\n count.next(0);\r\n refreshIntervalId.next(setInterval(startLotteryTimer, 950));\r\n handleCloseLotteryModal();\r\n }}\r\n >\r\n {isLotteryModalJoinLoading && (\r\n \r\n )}\r\n \r\n {lottery?.btnTitle}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"تکمیل پروفایل\"}\r\n \r\n \r\n {extra ??\r\n `پروفایل خود را تکمیل نکرده اید، آیا مایل به تکمیل پروفایل خود هستید؟`}\r\n \r\n \r\n \r\n \r\n {`الان نه`}\r\n \r\n {\r\n router.push(RoutesList.EditProfile);\r\n handleCloseModal();\r\n }}\r\n >\r\n {`بله`}\r\n \r\n \r\n \r\n {snackBar.isOpen && (\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default Skeleton;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { Directions, Languages } from \"../../Models/Settings\";\r\nimport { StorageService } from \"../../Services/StorageServices/StorageService\";\r\nimport { ThemeContext } from \"./ThemeContext\";\r\n\r\ninterface IProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst ThemeContextProvider = (props: IProps) => {\r\n const storageService = new StorageService();\r\n const [direction, setDirection] = useState(\r\n storageService.getDirection()\r\n ? (storageService.getDirection() as Directions)\r\n : Directions.Rtl,\r\n );\r\n const [language, setLanguage] = useState(\r\n storageService.getLanguage()\r\n ? (storageService.getLanguage() as Languages)\r\n : Languages.Fa,\r\n );\r\n\r\n const shouldStayInLoginPage = useRef(false);\r\n const shouldStayInActivationPage = useRef(false);\r\n const rdtToItemOrPanelPageAdrs = useRef();\r\n\r\n const location = useLocation();\r\n const router = useHistory();\r\n\r\n useEffect(() => {\r\n document.getElementById(\"html\")!.dir =\r\n direction === Directions.Ltr ? Directions.Ltr : Directions.Rtl;\r\n }, []);\r\n\r\n // // Item and Panel page direct access provider middleware\r\n // useEffect(() => {\r\n // const isLanguageSelected = !!storageService.getLanguage();\r\n // const isUserLogin = !!storageService.getToken();\r\n\r\n // if (\r\n // [RoutesList.item, RoutesList.panel].some(\r\n // route => location.pathname.indexOf(route) > -1,\r\n // )\r\n // ) {\r\n // rdtToItemOrPanelPageAdrs.current = window.location.href;\r\n // }\r\n\r\n // if (isLanguageSelected) {\r\n // // ساپورت حالتی که کاربر با استفاده از لینک پنل یا آیتم به اپ وارد می شود. در صورتی که لاگین نباشد به صفحه لاگین هدایت می شود.\r\n // if (!!rdtToItemOrPanelPageAdrs.current) {\r\n // rdtToItemOrPanelPageAdrs.current = \"\";\r\n // if (!isUserLogin) {\r\n // shouldStayInLoginPage.current = true;\r\n // shouldStayInActivationPage.current = true;\r\n // router.replace({\r\n // pathname: RoutesList.Login,\r\n // state: {\r\n // referrer: window.location.href,\r\n // },\r\n // });\r\n // return;\r\n // }\r\n // }\r\n\r\n // // در صورتی به این نقطه میرسیم که توسط شرط بالا به صفحه لاگین رفته باشیم که در این صورت میخواهیم در این صفحه بمانیم و میدلور پایین ران نشود\r\n // if (\r\n // location.pathname === RoutesList.Login &&\r\n // shouldStayInLoginPage.current\r\n // ) {\r\n // shouldStayInLoginPage.current = false;\r\n // return;\r\n // }\r\n\r\n // if (\r\n // location.pathname === RoutesList.activation &&\r\n // shouldStayInActivationPage.current\r\n // ) {\r\n // shouldStayInActivationPage.current = false;\r\n // return;\r\n // }\r\n // }\r\n // }, [location.pathname]);\r\n\r\n // // common route authentication middle ware\r\n // useEffect(() => {\r\n //\r\n // const isLanguageSelected = !!storageService.getLanguage();\r\n // const isUserLogin = !!storageService.getToken();\r\n\r\n // if (\r\n // [RoutesList.item, RoutesList.panel].some(\r\n // route => location.pathname.indexOf(route) > -1,\r\n // )\r\n // ) {\r\n // rdtToItemOrPanelPageAdrs.current = window.location.href;\r\n // }\r\n\r\n // if (isLanguageSelected) {\r\n // // ساپورت حالتی که کاربر با استفاده از لینک پنل یا آیتم به اپ وارد می شود. در صورتی که لاگین نباشد به صفحه لاگین هدایت می شود.\r\n // if (!!rdtToItemOrPanelPageAdrs.current) {\r\n // rdtToItemOrPanelPageAdrs.current = \"\";\r\n // if (!isUserLogin) {\r\n // shouldStayInLoginPage.current = true;\r\n // shouldStayInActivationPage.current = true;\r\n // router.replace({\r\n // pathname: RoutesList.Login,\r\n // state: {\r\n // referrer: window.location.href,\r\n // },\r\n // });\r\n // return;\r\n // }\r\n // }\r\n\r\n // // در صورتی به این نقطه میرسیم که توسط شرط بالا به صفحه لاگین رفته باشیم که در این صورت میخواهیم در این صفحه بمانیم و میدلور پایین ران نشود\r\n // if (\r\n // location.pathname === RoutesList.Login &&\r\n // shouldStayInLoginPage.current\r\n // ) {\r\n // shouldStayInLoginPage.current = false;\r\n // return;\r\n // }\r\n\r\n // if (\r\n // location.pathname === RoutesList.activation &&\r\n // shouldStayInActivationPage.current\r\n // ) {\r\n // shouldStayInActivationPage.current = false;\r\n // return;\r\n // }\r\n\r\n // // بلاک های کد بعدی نقش router middleware را دارند و در صورتی که کاربر بخواهد به مسیری برود که صلاحیتش را ندارد به مسیر درست هدایت می شود\r\n // if (isUserLogin) {\r\n // if (\r\n // [\r\n // RoutesList.signUp,\r\n // RoutesList.Login,\r\n // RoutesList.activation,\r\n // RoutesList.SelectLanguage,\r\n // RoutesList.LoginOrSignUp,\r\n // ].indexOf(location.pathname as RoutesList) >= 0\r\n // ) {\r\n // router.replace(RoutesList.Main);\r\n // }\r\n // } else if (\r\n // ![\r\n // RoutesList.activation,\r\n // RoutesList.Login,\r\n // RoutesList.signUp,\r\n // RoutesList.LoginOrSignUp,\r\n // ].includes(location.pathname as RoutesList)\r\n // ) {\r\n // router.replace(RoutesList.LoginOrSignUp);\r\n // }\r\n // } else {\r\n // router.replace(RoutesList.SelectLanguage);\r\n // }\r\n // }, [location.pathname]);\r\n\r\n return (\r\n {\r\n setDirection(d);\r\n storageService.setDirection(d);\r\n },\r\n setLanguage: l => {\r\n setLanguage(l);\r\n storageService.setLanguage(l);\r\n },\r\n }}\r\n >\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default ThemeContextProvider;\r\n","import { CssBaseline } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport SWOnUpdateFound from \"./Components/General/SWOnUpdateFound\";\r\nimport MaterialStylesProvider from \"./Contexts/MaterialStylesProvider\";\r\nimport MaterialThemeProvider from \"./Contexts/MaterialThemeProvider\";\r\nimport BrandCollaboratorListPage from \"./Pages/BrandCollaboratorListPage\";\r\nimport BrandGuaranteeCommentPage from \"./Pages/BrandGuaranteeCommentPage\";\r\nimport BrandGuaranteeListPage from \"./Pages/BrandGuaranteeListPage\";\r\nimport BrandListPage from \"./Pages/BrandListPage\";\r\nimport BrandPage from \"./Pages/BrandPage\";\r\nimport CompanyCatalogListPage from \"./Pages/CompanyCatalogListPage\";\r\nimport CompanyCollaboratorListPage from \"./Pages/CompanyCollaboratorListPage\";\r\nimport CompanyContactUsPage from \"./Pages/CompanyContactUsPage\";\r\nimport CompanyListPage from \"./Pages/CompanyListPage\";\r\nimport CompanyPage from \"./Pages/CompanyPage\";\r\nimport CompanyPostListPage from \"./Pages/CompanyPostListPage\";\r\nimport CompanyProductGroupListPage from \"./Pages/CompanyProductGroupListPage\";\r\nimport EditProfilePage from \"./Pages/EditProfilePage\";\r\nimport ExhibitionListPage from \"./Pages/ExhibitionListPage\";\r\nimport ExhibitionPage from \"./Pages/ExhibitionPage\";\r\nimport ExhibitionReportListPage from \"./Pages/ExhibitionReportListPage\";\r\nimport ExpertPostListPage from \"./Pages/ExpertPostListPage\";\r\nimport FavoritePostListPage from \"./Pages/FavoritePostListPage\";\r\nimport HowHelpPage from \"./Pages/HowHelpPage\";\r\nimport IntroPage from \"./Pages/IntroPage\";\r\nimport MainPage from \"./Pages/MainPage\";\r\nimport PatronListPage from \"./Pages/PatronListPage\";\r\nimport PostListPage from \"./Pages/PostListPage\";\r\nimport PostPage from \"./Pages/PostPage\";\r\nimport ProductListPage from \"./Pages/ProductListPage\";\r\nimport SearchPage from \"./Pages/SearchPage\";\r\nimport ServiceCompanyListPage from \"./Pages/ServiceCompanyListPage\";\r\nimport ServiceListPage from \"./Pages/ServiceListPage\";\r\nimport SettingPage from \"./Pages/SettingPage\";\r\nimport ActivationPage from \"./Pages/User/ActivationPage\";\r\nimport LoginPage from \"./Pages/User/LoginPage\";\r\nimport { RoutesList } from \"./Routes/RoutesList\";\r\nimport RoutingMiddleware from \"./Routes/RoutingMiddleware\";\r\nimport Skeleton from \"./Skeleton/Skeleton\";\r\nimport ThemeContextProvider from \"./Themes/Contexts/ThemeContextProvider\";\r\n// const MainPage = lazy(() => import(\"./Pages/MainPage\"));\r\n// const SettingPage = lazy(() => import(\"./Pages/SettingPage\"));\r\n// const PanelPage = lazy(() => import(\"./Pages/Panel/PanelPage\"));\r\n// const LoginPage = lazy(() => import(\"./Pages/User/LoginPage\"));\r\n// const IntroPage = lazy(() => import(\"./Pages/IntroPage\"));\r\n// const ActivationPage = lazy(() => import(\"./Pages/User/ActivationPage\"));\r\n// const ItemListPage = lazy(() => import(\"./Pages/Item/List/ItemListPage\"));\r\n// const EditProfilePage = lazy(() => import(\"./Pages/EditProfilePage\"));\r\n/* const ItemProviderListPage = lazy(() =>\r\n import(\"./Pages/Item/List/ItemProviderListPage\"),\r\n); */\r\n\r\nconst App: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* 404 routes */}\r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\r\n ),\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n // if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href,\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n // آدرس سرویس ورکر تنظیم شده تا فایل سرویس ورکر اختصاصی خودمان را بخواند\r\n const swUrl = `${process.env.PUBLIC_URL}/Ghorfe-sw.js`;\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\",\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\",\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\",\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"firebase/messaging\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { HashRouter as Router } from \"react-router-dom\";\r\nimport App from \"./App\";\r\n// import { firebaseConfig } from \"./Helper/staticData\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport \"./style.css\";\r\n\r\n// initialize firebase\r\n// firebase.initializeApp(firebaseConfig);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\"),\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.register({\r\n onSuccess: registration => {\r\n // if (firebase.messaging.isSupported()) {\r\n // // register FCM and initialize its messaging services\r\n // // در صورت موفقیت رجیستر شدن سرویس ورکر سرویس مسیجینگ فایربیس آماده سازی شده و تنظیم می شود تا از سرویس ورکر ثبت شده استفاده نماید. سپس یک ایونت کاستوم فایر می شود که داخل کامپوننت FirebaseMessaging به آن گوش داده شده و هندلر آن یه مودال نمایش می دهد و از کاربر می خواهد دسترسی لازم برای پوش نوتیفیکیشن ها را تایید نماید\r\n // const messaging = firebase.messaging();\r\n // messaging.useServiceWorker(registration);\r\n // window.dispatchEvent(new CustomEvent(\"onRequestNotificationPermission\"));\r\n // }\r\n },\r\n onUpdate: registration => {\r\n // this event is listened to in the onSWUpdateFound component that is responsible for showing a message to the end user on service worker updates\r\n // هنگام آپدیت شدن سرویس ورکر نیز ایونت کاستوم ذکر شده فایر شده و نمونه رجیستریشن به آن پاس داده می شود تا سرویس ورکر را آپدیت کرده و صفحه را رفرش نماید تا اکتیو شود.\r\n window.dispatchEvent(\r\n new CustomEvent(\"onSWUpdateFound\", { detail: { registration } }),\r\n );\r\n },\r\n});\r\n"],"sourceRoot":""}