{"version":3,"sources":["components/CopyPeopleProfile/CopyPeopleList/CopyPeople.js","components/shared/CustomReactComponent/CustomReactComponent.js","assets/icons/ic-check-mark-x.png","assets/person/images.jpg","global/global.js","constants/Colors.js","components/IFrameComponent/IFrameComponent.js","components/TermsAndConditions/SubComponent.js","components/TermsAndConditions/TermsAndConditions.js","components/CopyPeopleProfile/MainChart/ChartCopyProfile.module.css","components/CopyPeopleProfile/CopyPeopleList/CopyPeople.module.css","components/CopyPeopleProfile/ProfileCard.module.css","components/CopyPeopleProfile/MainChart/Chart1.js","components/CopyPeopleProfile/MainChart/Chart2.js","components/CopyPeopleProfile/MainChart/Chart3.js","components/CopyPeopleProfile/MainChart/ChartCopyProfile.js","components/CopyPeopleProfile/Stats/Performance/PerformanceChart.js","components/CopyPeopleProfile/Stats/Performance/Performance.js","assets/images/flag_emirates2.jpg","components/CopyPeopleProfile/Stats/FrequentlyTraded/FrequentlyTraded.js","components/CopyPeopleProfile/Stats/TradingProgressChart/TradingProgressChart.js","components/CopyPeopleProfile/Stats/Copiers/Copiers.js","components/CopyPeopleProfile/Stats/AverageRisk/AverageRisk.js","components/CopyPeopleProfile/Stats/Stats.js","components/CopyPeopleProfile/PortfolioCopyProfile.js","components/CopyPeopleProfile/TopTraded/TopTraded.js","components/CopyPeopleProfile/Feed/About.js","assets/person/1.jpeg","assets/post/like.png","assets/post/heart.png","components/CopyPeopleProfile/Post/Post.js","assets/post/2.jpeg","components/CopyPeopleProfile/Feed/News.js","components/CopyPeopleProfile/Feed/Feed.js","components/CopyPeopleProfile/ProfileCard.js","components/CopyPeopleProfile/CopyPeopleProfile.js","constants/Constants.js","components/CopyPeopleProfile/CopyPeopleList/HeaderTitle.js","global/Helpers.js","assets/icons/ic-check-mark-correct.png","components/CopyPeopleProfile/MainChart/Chart2.module.css","assets/images/RAMZ/bg2.png?ver=1","components/LoginSignup/AuthContainer.js","components/shared/Toggle/useDarkMode.js","assets/images/Sharjah/ico-1.svg","assets/images/Sharjah/ico-2.svg","assets/images/Sharjah/apple.png","assets/images/Sharjah/google.png","components/LoginSignup/Login.js","assets/images/keyboard_icon.png","components/popups/OtpPopup/OtpPopup.js","components/InputMSX/InputMSX.js","components/LoginSignup/SellIPOShares.js","components/LoginSignup/ForgetPassword.js","components/LoginSignup/ForgotUsername.js","components/LoginSignup/OTP.js","components/LoginSignup/ChangePassword.js","global/Licences.js","assets/images/splash_icons/Shuaa_splach_center.png?ver=1","App.js","serviceWorker.js","i18n.js","locales/LocalOverride.js","store/reducer.js","store/store.js","index.js","components/CopyPeopleProfile/MainChart/Chart3.module.css","store/actionTypes.js","components/CopyPeopleProfile/MainChart/Chart1.module.css","global/theme.js","components/CopyPeopleProfile/CopyPeopleList/HeaderTitle.module.css","global/utils.js","constants/AppUrls.js"],"names":["CopyPeople","_ref","profile","isDarkMode","i18n","useTranslation","ml2Localized","leftLocalized","dir","language","riskColor","risk","CopyerColor","_jsx","Link","to","AppUrls","style","textDecoration","children","_jsxs","className","styles","first","background","second","third","position","alignSelf","height","width","borderRadius","overflow","cx","cy","r","stroke","strokeWidth","fill","src","image","alt","name","four","five","backgroundColor","border","FaStar","color","fontSize","six","fontWeight","region","seven","eight","nine","ten","MdBookmarkBorder","size","cursor","top","right","eleven","twelve","return","thirteen","display","FaInstagram","fourteen","FaTwitter","FaFacebook","FaEnvelope","flexDirection","marginRight","copiers","copyPercentage","button","toast","configure","CustomReactComponent","React","PureComponent","constructor","props","super","customInitialize","this","floatRightLocalized","mrAutoLocalized","mlAutoLocalized","ml1Localized","ml3Localized","ml4Localized","ml5Localized","mr1Localized","mr2Localized","mr3Localized","mr4Localized","mr5Localized","ml3LocalizedPopupHeader","mr3LocalizedPopupHeader","pl1Localized","pr1Localized","pr3Localized","Helpers","ErrorFallback","error","resetErrorBoundary","role","message","onClick","getLoader","isLoaderVisible","Loader","type","visible","state","componentDidMount","componentDidUpdate","GlobalStyles","createGlobalStyle","theme","body","_ref2","text","_ref3","secondaryBackgrounColor","_ref4","_ref5","_ref6","newBackgroundColor","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","redNumber","redBackgroundNew","greenNumber","greenBackgroundNew","blueNumber","blueInformation","orange","BackgroundSellBtn","BackgroundBuyBtn","BackgroundRed","BackgroundGreen","BackgroundBlue","BackgroundOrange","BackgroundGray","BackgroundGreenLightTheme","BackgroundGreenDarkTheme","BackgroundRedLightTheme","BackgroundRedDarkTheme","BackgroundBlueLightTheme","greenNumberDarkTheme","IFrameComponent","_Fragment","iframeSrc","Math","random","SubComponent","redirect","disabledButton","checkedDetail","UpdateTermsAndConditionsVersion","utils","then","response","data","console","log","localStorage","setItem","onClose","catch","render","Redirect","textButton","Number","TermsAndConditionsDate","checked","disable","target","setState","marginInline","marginTop","t","textAlign","maxWidth","e","disabled","getItem","Constants","company_name","toUpperCase","callLogOff","withTranslation","TermsAndConditions","TermsAndConditionsText","GetTermsAndConditionsText","appLang","DeviceConfigs","JSON","parse","undefined","url","TermsAndConditionsAR","TermsAndConditionsURL","direction","overflowY","dangerouslySetInnerHTML","__html","module","exports","Chart1","dropdownOpen","setDropdownOpen","useState","chartOptions","chart","toolbar","show","colors","dataLabels","enabled","series","xaxis","categories","yaxis","title","labels","formatter","value","opposite","grid","legend","horizontalAlign","offsetX","plotOptions","bar","columnWidth","tooltip","shared","intersect","y","handleSelection","range","id","justifyContent","href","Chart","options","Chart2","timeRange","offsetY","pie","donut","total","label","Chart3","selectedOption","horizontal","endingShape","opacity","val","ChartCopyProfile","boxShadowStyle","boxShadow","padding","margin","marginLeft","PerformanceChart","Component","ranges","from","toFixed","rotate","prevProps","rowSelected","ReactApexChart","Performance","defaultColDef","flex","minWidth","sortable","resizable","cellStyle","lineHeight","ColorsgreenNumber","Colors","setRowSelected","rowData","setRowData","Year","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","TOTAL","colDefs","setColDefs","field","headerName","params","enableRtl","agGridClass","HeaderTitle","AgGridReact","columnDefs","rowHeight","enableBrowserTooltips","onRowClicked","node","FrequentlyTraded","FlagIconEmirates","TradingProgressChart","stacked","stackType","dis","lines","Copiers","zoom","curve","dashArray","align","subtitle","AverageRisk","markers","hover","row","Stats","marginin","MediumRiskScore","headerClass","cellRenderer","market","subValue","buySell","invested","pl","sell","buy","frameworkComponents","marketCellRenderer","alignItems","backgroundImage","backgroundSize","buySellRenderer","buySellStyle","actionCellRenderer","action","price","split","actionStyle","plRenderer","plStyle","overlayLoadingTemplate","overlayNoRowsTemplate","borderTop","TopTraded","About","flexWrap","filter","map","index","Post","post","like","setLike","isLiked","setIsLiked","likeHandler","Users","profilePicture","per","username","u","userId","date","ThreeDotsVertical","desc","photo","Like","heart","comment","placeholder","contenteditable","tabindex","News","Posts","p","Feed","openedTab","setOpenedTab","useEffect","openTab","evt","tab","i","tablinksCopyPeople","document","getElementsByClassName","length","replace","currentTarget","paddingInline","float","screenid","ProfileCard","isRtl","svg1","personImg","MdOutlineLocationOn","RiUserFollowLine","BsPeople","CopyPeopleProfile","CardText","GraphUp","Person","BarChartLine","PortfolioCopyProfile","localStorageConstants","app_path","Region","server_url","chart_iq_url","chart_trading_url","signalr_url","signalr_hub","isTickerVisible","last_Work_day","Foreign_Market","PortfolioProvider","EnableTags","EnableIPOQuickSell","EnableSymbolFullName","EnableMarketWatchCache","signalrCallInterval","serverURL","signalrURL","signalrHub","domainURL","baseURL","userAuthintications","UserAuthinticationAdvance","ForGotUsername","UserAuthinticationIPOQuickSell","ResetUserNameAdvance","ResetPasswordAdvance","logOff","registrationsOTP","changesPassword","renewSubscriptionUser","profileBaseUrl","profileBaseUrlPart2","getProfiles","getCompaniesLookups","GetUserAccounts","addMarketWatchProfileSymbol","addMarketWatchProfileName","deleteMarketWatchProfile","HeartBeat","RenewUserSesssion","deleteMarketWatchProfileSymbol","DeleteMarketWatchProfileAllSymbols","GetAvgIndexes","getMarketByProfileDefault","getMarketByProfile","GetMarketWatchCacheDataByProfileID","GetMarketWatchByProfileIDAndSymbol","getExchangeSummary","getIndexesSummary","getAllMarketNews","GetUSCompaniesResults","CheckIfUSSymbolExist","AddUSTOCompaniesLookups","addMarketWatchProfileSymbolCache","DeleteMarketWatchProfileAllSymbolsCache","DeleteMarketWatchProfileSymbolCache","GetCryptoCompaniesResults","CheckIfCryptoSymbolExist","AddCryptoSymbolToCompaniesList","TraceInfoPost","GetMarketIndicies","getLookups","getRiskManagement","GetRiskManagment","GetRiskManagmentCash","calculatesShares","addBasketOrderDetails","modifyBasketOrderDetails","addOrder","addOrdersRealTime","modifyOrderRealTime","cancelOrderRealTime","getProfilesByUserId","GetSettingWorkSpaceByUserID","addProfile","updateProfile","UpdateUserProfileSettings","UpdatePreferredLangAccount","deleteProfile","getPasswordPolicy","getAccSummary","getExpectedProfitLoss","GetPortfolioAndAccSum","getTransactionSummary","getStatmentOfAccount","getGroupByOrderStatmentOfAccount","getGroupedStatmentOfAccount","sendDocumentByEmail","getTradeConfirmation","TradeConfirmationReport","getBankTransferInfo","getAccountTransferInfo","getBalanceBreakdown","transferAmountSec","submitCrmRequestRamz","submitCrmRequestRamz2","getBankIBAN","AddBankIBAN","CancelB2bRequest","CancelEquityTransferRequest","checkIBAN","AllTransfersReq","GetTransferReqPenddingShares","getAllPushNotificationsByUser","getAllPushNotificationsFromFirebase","updateReadPushNotificationsFlag","getHistorySymbolData","getAlerts","addAlert","deleteAlertByAlertID","getConditionalByUsr","GetBracketOrder","deleteConditionalByID","addConditionalOrder","getDFN_StockData","getChatWebBRKLookup","getLastChatConversion","GetShareTransferLogGrouped","GetShareTransferLogWithDetails","GetShareTransferLogDetails","GetNextRequestID","SubmitShareTransferReq","SubmitEquityTransferReq","GetAccountTransferInfo","GetExpectedProfitLossSec","GetUserPermissionsByGroupID","GetAccountSummaryReport","GetExpectedPortfolioReport","GetProfitLossTransactionReport","GetTradesConfirmationReport","GetUSSymbolNews","CheckUpdateIdValidity","UpdateIdValidity","UploadClientDocuments","GetRequiredUserDocuments2","GetContactInfo","GetCashDepURL","GetDeviceConfigs","TechnicalIndicator","BasketOrederURL","DeleteBasketOrder","UpdateRejectReasonBasketOrder","CustodiansByClientID","GetDailyReports","TransferAmount","GetIPOLink","GetChartIntraDayData","GetSymbolsTrades","GetSubscriptionPlans","GetSubscribedPlans","AddSubscription","GetCurrencyConversion","updateUrls","config","RealTimeOrders","AllowOfflineOrder","CompanyName","RememberUserName","RememberPassword","OrderStatusText","Active","Traded","Canceled","Suspended","Expired","Pending","New","Outstanding","Partially_Filled","Rejected","Fully_Filled","Sent","Waiting","Private_Order","Unplaced_Order","Pending_Modify","Pending_New","Pending_Canceld","InActive_Trigger","OrderStatusTextArabic","OrderStatusResponse","Resumed","OrderValidityResponse","Day","GTC","GTD","GTW","GTM","FOK","FAK","CriteriaConditionalOrders","Equals","GreaterThan","LessThan","ParametersConditionalOrders","LastPrice","HighPrice","LowPrice","BidPrice","OfferPrice","NeChange","NetChangePerc","AveragePrice","TotalValue","TotalVolume","Layouts","Trading","Market_Overview","Account_Summary","New_Workspace","fit_ag_grid","Advance_Chart","Stock_Profile","settings","defaultWorkspace","binanceWorkspace","DockingTabs","Main_Grid","Order_List","Order_Basket","Orders_Entry","Order_Search","Information","Market_Time_And_Sales","Tops","News_And_Announcements","Transfers","Portfolio","Statement","Trade_Confirmation","Market_Indicies","Conditional_Orders","Balance_Breakdown","Historical_Symbol","Alert_Manager","Fundamental_Data","Client_Information","Market_Depth","Stock_Details","ChartIQ","SymbolTimeAndSales","SymbolNewAndAnnouncements","DetailQuote","TopsActive","Sector_overview","MarketSummary","AccountSummaryChart","HoldingsAllocation","TransactionSummary","ShortMWSymbol","VerticalMarketDepth","EquityTransfer","AllTransfersScreen","BinanceOrderEntry","AnalysisIndecator","BasketOrders","DailyReports","Requests","PortfolioFromDB","CopyPeopleList","TopTradersPortfolio","ChartTradeMarkets","MarginSharesList","cashFlowStatements","SymbolsTrades","BracketOrder","linkingColorTabs","LoginStatus","Success","InvalidLogin","invalidTokenID","TokenSent","TokenExpire","noPermetions","ExceedNoTrials","AlreadyLoggedIn","NotAgreeTermCondtion","UnknowError","IPOQuickSell","EnableEtrade","ComponentChildCode","Market_Watch","Market_Watch_Trade","Order_List_1","Sell_Orders_Entry","Buy_Orders_Entry","Shares_Transfer","TransferParent","Transfer","Internal_Transfer","Wire_Transfer","Cheque_Transfer","IBAN_Transfer","Cancel_Transfer","Request_Log","Account_Statement","Live_Chart","Historical_Symbol_Meta_Data","Alert","Client_Informations","Market_Depth_Order","Market_Depth_price","Martet_By_Symbol","Symbol_Time_And_Sales","Market_News_And_Announsments","Symbol_News_And_Announsments","Tops_Gainers","Tops_Losers","Tops_Value","Tops_Volume","Top_Trades","change_password","Quick_Order","Market_trade_summary","EtradeTicker","ChangePassword","subscriptionPlan","EquityTransferDisplay","EquityTransferIn","EquityTransferOut","EquityTransferBetween","EquityTransferLog","EquityTransferCancel","ContactUS","cashDeposit","KYCLink","IPOLink","PreferredLanguage","Subscription","DailyReportsDisplay","Highlights","EgyptDaily","TechnicalReport","AuthorityFiles","CrmRequest","AboutMyAccount","dateFormat","dateFormat_4","defaultTheme","errorNotifyDuration","successNotifyDuration","isRTL","left","numeral","require","minimumFractionDigits","maximumFractionDigits","numberFormatter","toLocaleString","errorNotify","lang","arguments","POSITION","BOTTOM_CENTER","hideProgressBar","autoClose","successNotify","success","numberFormatterWithCommas","isNaN","toString","numberFormatterWithCommasGrid","param","numberFormatterDigits","numberOfDigits","numberFormatterWithCommasAndDigits","numberFormatterWithCommasAndDigitsFixed","threeDigitFormatValue","option","option1","agGridSymbolLosses","Losses","agGridThreeDigitFormatValue","hasOwnProperty","CUR_CODE","CurCode","colDef","agGridCustomDigitFormatValue","LastTradePrice","qtyFormatValue","agGridQtyFormatValue","agGridChangePercentageFormatter","StatusFormatter","OrderStatus","isLoggedIn","abortController","auth","async","window","appComponent","errorHandling","finally","abort","resStatus","status","dateFromString","s","exec","Date","parseInt","strMod","dateFromStringPlanB","dateFromStringPlanC","withTime","str","num","getMonth","getDate","getFullYear","getHours","getMinutes","getSeconds","dateFromStringPlanE","dateFromStringPlanD","isJsonString","dateToString","d","dateOnly","twoDigitNumberToString","dateToFormatyyyyMMdd","day","substring","month","DateFromYYYYMMDDtoDDMMYYYY","separator","slice","concat","dateFrommater","dateTimeFillFormat","moment","format","dateTimeFillFormat2","dates","date_ob","dig","nFormatter","digits","zeros","convertStringToHtml","linkEN","rg","match","includes","getCurrentLanguage","getMarketStatusName","StatusCode","getComponentPermission","permData","ParentCode","ChildCode","isfromScreen","result","Check2","perm","Check","numberSort","num1","num2","dateComparator","date1","date2","date1Number","monthToNum","date2Number","datetimeformatterAgGrid","ValidityCodeFormatterAgGrid","ValidityCodeFormatter","values","ValidityCode","ConditionalParametersFormatter","ConditionalCriteriaFormatter","BuySellFormatterAgGrid","TopsEnum","Object","freeze","TopGainers","TopLoosers","TopVolume","TopTrades","TopTurnover","emptyCache","caches","keys","names","forEach","delete","setTimeout","location","reload","UnformatNumber","calculateShares","useOrderValue","thisParam","symbolDetails","Symbol","selectedSymbol","orderId","order","OrderID","bsFlag","orderType","cash","orderValueInputNotDisabled","shares_price","trim","parseFloat","validity","selectedValidityDateType","ID","validityDate","isIPOChange","MaxPrice","MinPrice","new_validity","allAccounts","accounts","account","exchange","allAccount","customThis","found","x","ClientID","Exchange","getSelectedAccountBySymbol","selectedAccount","symbol","marketType","MarketType","validityCode","Validity","Side","user","typeCode","usercat","UserType","portmang","BrokerID","memberid","compinit","CompInit","MainClientID","AccountID","NIN","UCode","setIsLoaderVisible","quantity","switchRiskManagementType","callGetRiskManagement","isConfirmAndSubmit","isModify","BtnClicked","validateAndConfirmOrder","userType","uCode","borkerId","compInit","webCode","marketOrderTypeSelected","obj","OrderType","Qty","Price","orderToModify","UserCat","PortMang","MemberID","IncludeMargin","IncludeFacil","TypeCode","settType","selectedSettelmentType","CustodyID","selectedCustodian","Leverage","LeverageValue","riskManagement","Approval_Type","AvailBal","BANK","BANK_ACCOUNT_NO","BuyOrders","BuyPower","BuyTrades","CLIENT_NAME_A","CLIENT_NAME_E","Cash","FacilitiesAmt","Flag","FlagMsgA","FlagMsgE","MSValidation","MarginAmnt","OffLineOrderDate","OrderValue","SellOrders","SellTrades","Shares","UnpostedCRTrxns","UnpostedDBTrxns","broker_ID","fromCurrentScreen","PopulatedRiskManagement","MaxLeverage","AvilableShares","orderValueInput","isfillDatafromMarketWatch","changeSymbol","validityDateChecker","symbols","find","tif","IPOValidityDate","lookups","look","Type","item","validityDateTypes","isLookupsPupulated","updateFromBasketOrder","fromBasketOrder","callGetRiskManagementCash","useAllCash","MarketOrderType","marketOrderType","orderDate","MinFill","MinFillQty","isConditionalOrder","VisibleQuantity","VisibleQty","TP_price","SL_price","ValidityDate","Remaining","TransferReq","Symbols","SymbolCompanyE","SymbolCompanyA","IsValidateMinMax","MaxPriceValue","MinPriceValue","indexOf","Precision","IsFund","Limit","markets","exchangeID","ExchangeID","getExchangeStatusCode","ISTradingSession","TradingSessionDisabled","selectedTradingSession","IS_MARGIN_ACC","maxL","conditionalValue","selectedParameter","selectedCriteria","conditionalValueTwo","selectedParameter2","selectedCriteria2","conditionalValueThree","selectedParameter3","selectedCriteria3","order_quantity","executed","total_volume","order_price","priceForApi","confirmAndSubmitOrder","msgText","callAddOrder","placeNewOrder","_parseInt","SymbolCode","SymbolID","BookCode","String","remaining","execqty","SourceCode","EntryDate","ModifyDate","UserID","OrigUserID","MarketTypeCode","Source2Code","selectedExecutionRole","OrderTypeCode","ProcSentFlag","MarketOrderID","OriginCode","IntOrderID","TrxnID","SellBuyFlag","msgCode","AccountNameA","ClientNameA","AccountNameE","ClientNameE","Remark","SenderSubID","BuyerMember","SellerMember","AvgExePrice","IsinCode","FIXOrderID","RejectReason","TR_price","Max_TR_price","TR_Price_is_perc","BE_Price","SPL_Order_flag","ApprovalStatusCode","WebCode","ApprovalTypeCode","StopLossPx","SenderCompanyID","LocalValue","SymbolLongName","LastUpdateTime","Sett_Type","CustodianID","IP_Address","TradingSessionID","SmartOrderID","SmartOrderType","ConditionalOrderList","push","lstConditionalParameters","bracketOrdParam","BracketOrderSelected","isStopLoss","STValue","STSelectedCriteria","isTakeProfit","TPValue","TPSelectedCriteria","signalr_connection","order1","orderObj","B_GroupName","selectedGroupName","B_OutOfMarketDate","B_OutOfMarketType","CompanyShortNameA","CompanyShortNameE","ExecOrderComm","vIsinCode","vvLastUpdateTime","No_of_trades","OrdComm","SMART_ORDER_ID","cur_code","setBasketOrderObject","clear","updateOrderObj","basketOrderIDUpdated","ModifyBasketOrderDetails","proxies","myhub","invoke","res","callCancelOrder","_selectedSymbol$Order","_selectedSymbol$Price","_value","_selectedSymbol$Valid","_selectedSymbol$Total","_selectedSymbol$Remai","_selectedSymbol$Statu","_selectedSymbol$Entry","_selectedSymbol$MinFi","_selectedSymbol$Visib","_selectedSymbol$Order2","_selectedSymbol$NIN","_parseInt2","_selectedSymbol$TrxnI","_selectedSymbol$SellB","_selectedSymbol$Accou","_selectedSymbol$Accou2","_selectedSymbol$Remar","_selectedSymbol$AvgEx","_selectedSymbol$Clien","_selectedSymbol$Max_T","today","fromDate","setDate","OffLineOrderDateformat","setHours","setTime","getTime","setSeconds","setFullYear","setMonth","isValidityDatePickerDisabled","dayName","excludeToday","refDate","now","dayOfWeek","getDay","getNextDayOfTheWeek","pd","o","$","selectSymbol","isHeader","isOrderScreen","selectedSymbolSearchSelect","isSymbolDetailsPopulated","isLookupsPupulatedExecution","SymbolData","AlertMSG","isAccountSelectedFromProps","accountsOptions","existed","display_Leverage","countCall","CurrCode","IS_DERIVATIVE","ALLOW_DERIV_TRADING","allow_short_sell","cl_allow_short_sell_market","IS_DEFAULT_ACC","isAccountDropdownDisabled","displayLeverage","callgetCustodiansByClientID","callgetPortfolioForIPOQuickSell","IsPortfolioPopulited","populateAccounts","callSignalr","IS_US_ONLINE","setSymbolToSub","getUser","getExchangesWithSelected","exchanges","selectedID","isFound","assign","isSelected","getMaxValue","array","max","apply","autoSizeAll","skipHeader","allColumnIds","gridColumnApi","getAllColumns","column","colId","autoSizeColumns","getIsIPad","innerWidth","getCompanyName","removeExistingItem","key","removeItem","getAppTheme","appThemeClass","getAppThemeMode","themeMode","lightTheme","darkTheme","getIsTickerVisible","isTickerVisibleLocalStorage","setIsTickerVisible","isTickerVisibleParam","getPreviousConfig","SetpreviosConfig","isNullOrEmpty","getAsByteArray","file","Uint8Array","Promise","resolve","reject","reader","FileReader","addEventListener","readAsArrayBuffer","readFile","getKeyOfObj","Obj","ExchangesUpdateEnableTagValue","exchangesUpdateMsg","fromRedux","oldOrigenalexchange","OrigenalExchanges","list","oldExchange","idx","connect","dispatch","setDarkMode","actions","payload","forwardRef","withRef","componentMounted","useDarkMode","setTheme","setComponentMounted","setMode","mode","localTheme","toggleTheme","flexClass","formDirection","ThemeProvider","backgroundPosition","LeftImage","subTitle","form","Login","AbortController","useDispatch","androidUrl","iosUrl","fromLogin","setUsername","password","setPassword","LanguageSelectedFromLogin","setLanguageSelected","isLanguageSelectedFromLogin","setIsLanguageSelectedFromLogin","passwordType","setPasswordType","isRememberMe","setIsRememberMe","isDisclaimerLogin","setisDisclaimerLogin","setRedirect","setVisible","keyboardVisible","setKeyboardVisible","passwordDisabled","setPasswordDisabled","layout","setLayout","keyboardLanguage","setKeyboardLanguage","keyboard","useRef","tokenId","handleSubmit","preventDefault","i18next","validate","callLoginApi","getUserSettings","WorkSpaceSettings","selectedProfile","PreferredSymbol","PreferredExchange","EnableExpandRow","expandRow","EnableTradeTicker","tradeTicker","EnableRoundTicker","RoundTicker","postdata","profileUniqueID","ProfileID","ProfileName","ProfileNameAr","ProfileSettings","stringify","changeLanguageNew","saveSettings","ForgotPasswordMethod","authenticate","withCredentials","isFirstLoggedIn","encryptedString","yes","no","confirmAlert","buttons","closeOnEscape","closeOnClickOutside","alreadyLoggedInFunc","msg","NotEnableEtrade","hideLoader","localizationBtnClass","localizationBtnFloat","paddingleft","paddingRight","paddingleft2","paddingRight2","customLayout","default","shift","keyboardTheme","keyboardVisibleDisplay","onSubmit","tabIndex","onChange","autoComplete","event","input","current","setInput","Keyboard","keyboardRef","layoutName","onKeyPress","marginBottom","newlang","paddingLeft","msgid","ico","ico2","gap","rel","googlePlayIcon","appStoreIcon","OtpPopup","otp","transition","contain","autocomplete","callRegistrationsOTP","InputMSX","maskVal","setmaskVal","convertString","cleanedInput","zerosToAdd","repeat","InputMask","onBlur","converted","zerosCount","splitted","newSplit","mask","onComplete","SellIPOShares","idNumber","setidNumber","mobileNumber","setmobileNumber","OmanAccBfx","setOmanAccBfx","OmanAccAfx","setOmanAccAfx","pattern","inputMode","inputValue","handleBlur","Bfx","Afx","formattedValue","padStart","maxLength","UserName","RememberMe","Comapnyname","prev","ForgetPassword","email","setEmail","mobile","setMobile","nin","setNin","qId","setQId","isNewPasswordVisible","setIsNewPasswordVisible","newPassword","setNewPassword","confirmNewPassword","setConfirmNewPassword","MINLENGTH","set_MINLENGTH","ENFORCE_START_WITH_ALPHA","set_ENFORCE_START_WITH_ALPHA","ENFORCE_SPECIAL_CHAR","set_ENFORCE_SPECIAL_CHAR","NUM_SMALL_CHAR","set_NUM_SMALL_CHAR","NUM_SPECIAL_CHAR","set_NUM_SPECIAL_CHAR","NUM_CAPITAL_CHAR","set_NUM_CAPITAL_CHAR","IC_MINLENGTH","set_IC_MINLENGTH","checkMarkFalse","IC_ENFORCE_START_WITH_ALPHA","set_IC_ENFORCE_START_WITH_ALPHA","IC_ENFORCE_SPECIAL_CHAR","set_IC_ENFORCE_SPECIAL_CHAR","IC_NUM_SMALL_CHAR","set_IC_NUM_SMALL_CHAR","IC_NUM_CAPITAL_CHAR","set_IC_NUM_CAPITAL_CHAR","IC_NUM_SPECIAL_CHAR","set_IC_NUM_SPECIAL_CHAR","isIPOQuickSell","callUserAuthinticationAdvance","PasswordPolicy","customUI","callResetPassword","validateForResetPassword","Newpassword","checkMarkCorrect","charAt","specialFormat","containsSpecialChar","test","containsNumberChar","containsletterChar","smallLetter","smallLetterCount","capitalLetter","capitalLetterCount","specialLetterCount","onChangeNewPassword","ForgotUsername","callForgotUsername","OTP","setLayoutName","keyboardLayout","setKeyboardLayout","shuffledLetters","shuffle","shuffledNumber","shuffledlettersCaps","shuffledlettersCapsNum","pop","join","caps","generateKeyboardLayout","temporaryValue","randomIndex","currentIndex","floor","handleShift","handleCapsLock","handleSpace","handleBackspace","setOtp","otpType","setotpType","passwordToOTp","isAuthorizeOnly","responseJson","webcode","oldPassword","setoldPassword","password2","setPassword2","confirmPassword","setConfirmPassword","confirmPassword2","setConfirmPassword2","callChangePasswordApi","axios","RelatedLicences","Container","lazy","App","getConfig","LicenseManager","setLicenseKey","Licences","fetch","headers","json","relatedConfig","website_name","isPopulated","changeLanguage","isMobile","mobileView","companyName","appClassLanguage","Switch","Route","exact","path","AuthContainer","Suspense","fallback","SplashScreenImage","langValue","componentWillUnmount","Boolean","hostname","resources","en","translation","local","translationEn","OverrideLocals","pt","translationPT","ar","translationAr","use","initReactI18next","init","lng","keySeparator","interpolation","escapeValue","initialState","connectionStatus","symbolSelected","orderTypeSelected","activeProfile","isLocked","isSearch","orders","orderSelected","IsorderSelectedAgain","notificationCount","profileIdSelected","profiles","subscribedSymbols","subscribedSymbolsTicker","isSubscribedSymbolsChanged","isNewWorkspaceLayout","isAlertDeleted","AlertDeleted","SymbolDeleted","isConditionalOrderDeleted","isSidebarOpen","symbolSelectedForLinkingTab","linkingColorAnyScreen","linkingTab","isSidebarMenuOpen","isNewWorkspaceChartLayout","workspaceChartProfiles","workspaceChartAdvanceFocous","AdvanceSerachSymbol","SelectdProfiles","IsProfilesUpdated","ProfileList","Indexes","refreashTimeSettings","numberofTradingSettings","BidVolume","OfferVolume","BidPriceOrderPopUP","BidVolumeOrderPopUP","OfferPriceOrderPopUP","OfferVolumeOrderPopUP","SymbolTrades","MarketWatchDatafeed","mboDataFeed","mbpDataFeed","SymbolNewData","SymbolToBesubscribed","OrderIsUpdated","ClientIDOrderIsUpdated","OrderDataFeed","ActiveProfileForDefaultWorkspace","workSpaceLayoutsNumber","SymbolTSSubscrib","marketOverviewProfile","MarketTrades","selectedAccountFromPortfolioWorkspace","selectedSymbolFromPortfolio","Comp_IDFromPortfolio","portfolioData","totalHoldingCost","QtyFromPortfolio","CustodianId","isRowInMWClicked","portfolioDataFirstReq","Settings","ActiveWorkspaceUniqueID","AvgIndexes","IsMobileSize","SectorOfMarket","IDValidityResult","PreferredLangAcc","MainClientID_DefaultAcc","basketOrderObject","GroupName","ObjectTradeMarket","BuyOrSell","fromTradeMarket","SelectedAccountSummaries","SmartOrderObj","reducer","newState","newState1","oldorders","NewOrder","appendOrder","checkofOrderExist","ord","NewOrders","ex","oldexchange","exchangesUpdate","Newexchange","el","ExchangeNameE","NameE","ExchangeNameA","NameA","_oldexchange$filter$","EquityTransferComm","old","_oldexchange$filter$2","IndexAvailable","ColorFromAgGrideContainer","allTabWithColor","isOpen","IsAddOrDeleteProfile","sss","ScreenID","foundIndex","findIndex","UpdateSymbolTSSubscrib","Trades","trades","ScreenProfileID","Market","store","createStore","app","BrowserRouter","basename","Provider","I18nextProvider","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","SYMBOL_CHANGED","GET_SYMBOLS","GET_ORDERS","APPEND_ORDERS","GET_ACCOUNTS","SET_ACTIVE_PROFILE","SELECT_ORDER","SET_NOTIFICATION_COUNT","DECREMENT_NOTIFICATION_COUNT","INCREMENT_NOTIFICATION_COUNT","GET_EXCHANGES","GET_ExchangesOriginal","SET_DARK_MODE","GET_SIGNALR","SET_SYMBOL_DETAILS","SET_PROFILES","SET_PROFILE_ID_SELECTED","SET_SUBSCRIBED_SYMBOLS","SET_IS_SUBSCRIBED_SYMBOLS_CHANGED","SET_IS_LOADER_VISIBLE","SET_IS_NEW_WORKSPACE_LAYOUT","SET_IS_ALERT_DELETED","SET_IS_CONDITIONAL_ORDER_DELETED","SET_CONFIG","SET_IS_SIDEBAR_OPEN","SET_IS_TICKER_VISIBLE","LINKING_TAP","LINKING_ALL_TAPS_OPEN","CLOSE_BTN","SET_PERM_DATA","SET_IS_SIDEBAR_MENU_OPEN","SET_IS_NEW_WORKSPACE_CHART_LAYOUT","WORKSPACE_CHART_PROFILES","SET_IS_NEW_WORKSPACE_CHART_ADVANCE_FOCOUS","SET_ADVANCE_SEARCH_SYMBOL","GET_EXCHANGES_UPDATE","UPDATE_SELECTED_PROFILE","IS_PROFILES_UPDATED","IS_ADD_DELETE_PROFILE","GET_INDEXES","UPDATE_ENABLE_EXPAND_ROW","UPDATE_RFREASH_TIME_SETTINGS","UPDATE_NUM_OF_TRADING","SYMBOL_TRADES_DATAFEED","MARKET_WATCH_UPDATE","MARKET_DEPTH_UPDATE","SET_SUBSCRIBED_SYMBOLS_TICKER","SET_SYMBOLS_TO_SUBSCRIBED","ORDER_IS_UPDATED","ORDER_LIST_DATAFEED","SET_DEFAULT_WORKSPACE","SET_WORKSPACE_LAYOUTS_NUMBER","SET_ACTIVE_PROFILE_FOR_DEFAULT_WORKSPACE","SET_ORDER_SELECTED_FALSE","SYMBOL_TIME_SALE_SUB","UPDATE_SYMBOL_TIME_SALE_SUB","SET_MAEKET_FOR_MARKET_OVER_VIEW_PROFILE","MARKET_TRADES","SELECTED_ACCOUNT_FROM_PORTFOLIO_WORKSPACE","SET_SELECT_SYMBOL_FROM_PORTFOLIO","SELECT_PREFERRED_SYMBOL","SET_PORTFOLIO_Data","SYBMOL_QTY_TO_SELL","IS_Row_In_MW_Clicked","PORTFOLIO_FIRST_REQUEST","CHECK_CONNECTION","SELECT_PREFERRED_EXCHANGE","USER_SETTINGS","AVG_INDEXES","ENABLE_TRADE_TICKER","ENABLE_ROUND_TICKER","Is_Mobile_Size","GET_LOOKUPS","GET_SectorOfMarket","Active_Workspace_UniqueID","get_ID_Validity_Result","Get_Default_AccountInfo","get_BasketOrder","get_updateFromBasketOrder","get_basketOrderObject","get_GroupName","GET_EXCHANGES_UPDATE_EnableTags","Get_TradeMarket_Object","From_TradeMarket","Selected_Account_Summaries","SMART_ORDER_OBJECT","toggleBorder","gradient","buttonColor","KEY1","KEY2","KEY3","KEY4","_keyStr","Password","MobileType","SessionID","UserIPAddress","TokenID","HdnKey","FingerPrintID","FingerPrintLevel","RegistrationId","NewHttpPost","tokenID","tradingNo","fingerPrintID","TradingNo","FingerPrintEnabled","userAuthinticationAdvance","Mobile","Email","RequestType","forGotusername","resetPasswordAdvance","OldPassword","thisparam","signal","profileName","Reqid","REQ_ID","WEB_CODE","callAddBankIBAN","callDeleteBasketOrder","callUpdateRejectReasonBasketOrder","get_alert_url","NewHttpGet","getAllPushNotificationsByFirebase","Tokenid","googleId","Title","Body","Tag","isNew","getPortfolioAndAccSum","getSymbolsTrades","getMarketWatchByProfileIDAndSymbol","getBracketOrder","getUserAccounts","AddCryptoSymbolTOCompaniesLookups","getCashDepURL","themeOfSys","GetRiskManagmentBasket","getAvgIndexes","excangeID","sector","getContactInfo","getIpAddress","getGetProfiles","CallCheckIBAN","getAllTransfersReq","getShareTransferLogWithDetails","getHeartBeat","getUserPermissionsByGroupID","get_exchange_summary_url","getAnalysisIndecator","getCustodiansByClientID","GetBasketOrderDetails","svalue","encode","bvalue","gen","generate","_utf8_encode","string","utftext","n","c","charCodeAt","fromCharCode","min","pow","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","retValue","err","responseProcess","get","isFirstTime","redirectFunctionality","dateFromStringDateOnly","TimeStamptodate","unix_timestamp","getMarketIndices","exchange_id","get_market_indices_url","getMarketIndicesVer2","getAccountSummary","get_next_request_id_url","get_expectedprofitlosssec_url","GetChatWebBRKLookup","getchatbotwebbrklookup_url","GetLastChatConversion","BRKID","dateFrom","DateTo","period","callGetSubscriptionPlans","callGetSubscribedPlans","callAddSubscription","callGetCurrencyConversion","login","loginCIBC","signUp","forgetPassword","changePassword","logout","fitGrid","trading","marketOverview","accountSettings","newWorkspace","AdvanceChart","StockProfile","TechnicalAnalysis","CopyPeopleProfileListWorkspace","updateAppUrls","basenameParam","any"],"mappings":"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","file":"static/js/main.018348b5.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { FaInstagram, FaTwitter, FaFacebook, FaEnvelope, FaStar } from 'react-icons/fa';\r\nimport { MdBookmarkBorder } from 'react-icons/md';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Link } from \"react-router-dom\";\r\nimport * as AppUrls from \"../../../constants/AppUrls\";\r\nimport styles from './CopyPeople.module.css'; // Import the CSS module\r\n\r\n\r\n\r\nconst CopyPeople = ({ profile , isDarkMode }) => {\r\n \r\n const { i18n } = useTranslation();\r\n\r\n let ml2Localized = \"ml-2\";\r\n let leftLocalized = \"left\";\r\n let dir = \"ltr\";\r\n if (i18n.language === \"ar\") {\r\n ml2Localized = \"mr-2\";\r\n leftLocalized = \"right\";\r\n dir = \"rtl\";\r\n }\r\n\r\n\r\n const riskColor = profile.risk < 5 ? '#0c9801' : profile.risk > 5 ? '#ee0000' : '#007bff';\r\n\r\n const CopyerColor = profile.risk <= 5 ? '#0c9801' : '#ee0000';\r\n\r\n\r\n return (\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n {/* Profile Image with SVG circle as frame */}\r\n
\r\n \r\n \r\n \r\n {`${profile.name}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{profile.name}
\r\n
{profile.region}
\r\n
\r\n
RISK
\r\n
{profile.risk}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
{profile.return}%
\r\n
RETURN (LAST 12 MONTHS)
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {profile.copiers} COPIERS\r\n ^{profile.copyPercentage}%\r\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 CopyPeople\r\n","import React from 'react'\r\nimport * as Helpers from '../../../global/Helpers';\r\nimport * as Constants from '../../../constants/Constants';\r\n\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\ntoast.configure();\r\nclass CustomReactComponent extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.customInitialize();\r\n this.state = {\r\n isLoaderVisible: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.customInitialize();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.customInitialize();\r\n }\r\n\r\n customInitialize = () => {\r\n this.dir = \"ltr\";\r\n\r\n this.leftLocalized = \"left\";\r\n this.floatRightLocalized = \"right\";\r\n\r\n this.mrAutoLocalized = \"mr-auto\";\r\n this.mlAutoLocalized = \"ml-auto\";\r\n\r\n this.ml1Localized = \"ml-1\";\r\n this.ml2Localized = \"ml-2\";\r\n this.ml3Localized = \"ml-3\";\r\n this.ml4Localized = \"ml-4\";\r\n this.ml5Localized = \"ml-5\";\r\n\r\n this.mr1Localized = \"mr-1\";\r\n this.mr2Localized = \"mr-2\";\r\n this.mr3Localized = \"mr-3\";\r\n this.mr4Localized = \"mr-4\";\r\n this.mr5Localized = \"mr-5\";\r\n\r\n this.ml3LocalizedPopupHeader = \"\";\r\n this.mr3LocalizedPopupHeader = \"mr-3\"; //in \"ar\" it is empty\r\n\r\n this.pl1Localized = \"pl-1\";\r\n this.pr1Localized = \"pr-1\";\r\n this.pr3Localized = \"pr-3\";\r\n\r\n let language = Helpers.getCurrentLanguage();\r\n //console.log(\"language custom react component: \", language)\r\n if (language === \"ar\") {\r\n this.dir = \"rtl\";\r\n\r\n this.mrAutoLocalized = \"ml-auto\";\r\n this.mlAutoLocalized = \"mr-auto\";\r\n\r\n this.leftLocalized = \"right\";\r\n this.floatRightLocalized = \"left\";\r\n\r\n this.mr1Localized = \"ml-1\";\r\n this.mr2Localized = \"ml-2\";\r\n this.mr3Localized = \"ml-3\";\r\n this.mr4Localized = \"ml-4\";\r\n this.mr5Localized = \"ml-5\";\r\n\r\n this.ml1Localized = \"mr-1\";\r\n this.ml2Localized = \"mr-2\";\r\n this.ml3Localized = \"mr-3\";\r\n this.ml4Localized = \"mr-4\";\r\n this.ml5Localized = \"mr-5\";\r\n\r\n this.ml3LocalizedPopupHeader = \"mr-3\";\r\n this.mr3LocalizedPopupHeader = \"\";\r\n\r\n this.pr1Localized = \"pl-1\";\r\n this.pl1Localized = \"pr-1\";\r\n this.pr3Localized = \"pl-3\";\r\n\r\n }\r\n }\r\n\r\n ErrorFallback = ({ error, resetErrorBoundary }) => {\r\n\r\n return (\r\n
\r\n
Oh no
\r\n

{error.message}

\r\n {\r\n // this next line is why the fallbackRender is useful\r\n //this.resetComponentState()\r\n // though you could accomplish this with a combination\r\n // of the FallbackCallback and onReset props as well.\r\n Helpers.emptyCache();\r\n resetErrorBoundary()\r\n }}\r\n >\r\n Try again\r\n \r\n
\r\n )\r\n }\r\n\r\n // successNotify = (message) => {\r\n // toast.success(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.successNotifyDuration\r\n // });\r\n // };\r\n\r\n // errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n getLoader = (isLoaderVisible) => {\r\n return (\r\n isLoaderVisible\r\n ?
\r\n
\r\n \r\n
\r\n
\r\n : null\r\n )\r\n }\r\n\r\n // getLoaderThreeDots = (isLoaderVisible) => {\r\n // return (\r\n // isLoaderVisible ?\r\n // : null\r\n // )\r\n // }\r\n}\r\n\r\nexport default CustomReactComponent","export default __webpack_public_path__ + \"static/media/ic-check-mark-x.531745eb.png\";","export default \"data:image/jpeg;base64,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\"","import { createGlobalStyle } from 'styled-components';\r\n\r\n\r\nexport const GlobalStyles = createGlobalStyle`\r\n *,\r\n *::after,\r\n *::before {\r\n box-sizing: border-box;\r\n }\r\n\r\n body {\r\n align-items: center;\r\n background: ${({ theme }) => theme.body};\r\n color: ${({ theme }) => theme.text};\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n height: 100vh;\r\n margin: 0;\r\n padding: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\r\n transition: all 0.25s linear;\r\n }\r\n\r\n .custom-popup{\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n }\r\n .sub-header-dropdown {\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n .slider-fundamental-data {\r\n background: ${({ theme }) => theme.newBackgroundColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n #custom-select-search .select-search .select-search__value input{\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n .select-search__select {\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n #custom-select-search .select-search__value::after {\r\n border-right: 1px solid ${({ theme }) => theme.text};\r\n border-bottom: 1px solid ${({ theme }) => theme.text};\r\n }\r\n\r\n .select-search__option{\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n .app-sidebar{\r\n background: ${({ theme }) => theme.body};\r\n }\r\n\r\n .btn-expandable-grid.active-custom{\r\n background-color: ${({ theme }) => theme.body};\r\n }\r\n\r\n .btn-expandable-grid {\r\n border-bottom: 2px solid transparent !important;\r\n background-color: ${({ theme }) => theme.body};\r\n }\r\n \r\n footer {\r\n position: absolute;\r\n bottom: 5%;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n }\r\n .badge-container {\r\n background-color: ${({ theme }) => theme.body};\r\n }\r\n\r\n .ticker-container{\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n .react-date-picker--disabled {\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n color: ${({ theme }) => theme.text};\r\n opacity: 0.7;\r\n }\r\n .react-calendar {\r\n background: ${({ theme }) => theme.secondaryBackgrounColor};\r\n }\r\n .react-calendar__tile--now {\r\n color: ${({ theme }) => theme.body};\r\n background : #e0542b\r\n }\r\n .react-calendar__tile--now:enabled:hover, .react-calendar__title--now:enabled:focus {\r\n background : #e0542b\r\n }\r\n \r\n small {\r\n display: block;\r\n }\r\n button {\r\n display: block;\r\n }\r\n a {\r\n color: ${({ theme }) => theme.text};\r\n }\r\n\r\n .custom-scrollable ::-webkit-scrollbar-track {\r\n background-color: ${({ theme }) => theme.newBackgroundColor} !important;\r\n }\r\n\r\n\r\n .ag-root ::-webkit-scrollbar-track {\r\n background-color: ${({ theme }) => theme.newBackgroundColor} !important;\r\n }\r\n\r\n`;","export const red = \"#ff4d4d80\"; //transparent red 50%\r\n//export const redNumber = \"#dc3545\";\r\nexport const redNumber = \"#e00\";\r\nexport const redBackground = \"#ffeded\"; //used in fit AgGrid\r\nexport const redBackgroundTransparent = \"#ffededE6\"; //used in fit AgGrid\r\nexport const redBackgroundNew = \"#FF6565\"; //used in order entry\r\n\r\nexport const green = \"#a6f1a680\"; //transparent green 50% \r\n//export const greenNumber = \"#2ECC40\";\r\n//export const greenNumber = \"#00f000\";\r\nexport const greenNumber = \"#0A8231\";\r\nexport const greenBackground = \"#dcffec\"; //used in fit AgGrid\r\nexport const greenBackgroundTransparent = \"#dcffecE6\";\r\nexport const greenBackgroundNew = \"#0C9801\"; //used in order entry\r\n\r\nexport const blueNumber = \"#0073e6\";\r\nexport const blueInformation = \"#3B86FF\";\r\n\r\nexport const greyBackground = \"rgba(87,87,77,.12)\";\r\nexport const darkGreen = \"#4bdc53\";\r\nexport const orange = \"#604413\";\r\n\r\n\r\nexport const BackgroundSellBtn = 'rgb(238, 0, 0)'; \r\nexport const BackgroundBuyBtn = '#0C9801';\r\n\r\n// order statusBackground\r\nexport const BackgroundRed = '#660000'; \r\nexport const BackgroundGreen = '#006600'; \r\nexport const BackgroundBlue = '#165B81'; \r\nexport const BackgroundOrange = '#f45d52'; \r\n// export const BackgroundGray = '#242625'; \r\nexport const BackgroundGray = '#7f8284'; \r\n\r\n// Background Red/Green in darkTheme & lightTheme:\r\nexport const BackgroundGreenLightTheme= '#dcffec'; //used in order entry\r\nexport const BackgroundGreenDarkTheme = '#004800'; //used in order entry\r\nexport const BackgroundRedLightTheme = '#ffeded'; //used in order entry\r\nexport const BackgroundRedDarkTheme = '#600'; //used in order entry\r\nexport const BackgroundBlueLightTheme = '#D5EEFF'; //used in order list\r\n\r\n\r\n\r\n/* DarkTheme */\r\nexport const greenNumberDarkTheme = \"#09F930\";\r\n\r\n\r\n/* #e00 !important red to change\r\n#0c9801 green */","import React from 'react'\r\n\r\n// class IFrameComponent extends React.PureComponent {\r\n// constructor(props) {\r\n// super(props);\r\n// }\r\n// state = {}\r\n// render() {\r\n// return (\r\n// <>\r\n// \r\n// \r\n// \r\n// );\r\n// }\r\n// }\r\n\r\n// export default IFrameComponent;\r\n\r\n\r\nconst IFrameComponent = (props) => {\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\nexport default IFrameComponent;","\r\nimport * as utils from \"../../global/utils\";\r\nimport * as Helpers from \"../../global/Helpers\";\r\n\r\nimport * as Constants from \"../../constants/Constants\";\r\n\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport { Redirect } from \"react-router\";\r\nimport React from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\n\r\nclass SubComponent extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n state = {\r\n\r\n redirect: null,\r\n disabledButton: true,\r\n checkedDetail: false,\r\n }\r\n\r\n\r\n\r\n\r\n\r\n UpdateTermsAndConditionsVersion = () => {\r\n\r\n let UpdateTermsAndConditionsVersionResponse = utils.UpdateTermsAndConditionsVersion(this);\r\n UpdateTermsAndConditionsVersionResponse\r\n .then((response) => response.data)\r\n .then((data) => {\r\n\r\n console.log(\"UpdateTermsAndConditionsVersionResponse\", data)\r\n if (data) {\r\n\r\n // this.setState({ redirect: AppUrls.trading })\r\n localStorage.setItem(\"isTermsAndConditions\", 'Y');\r\n\r\n this.props.onClose();\r\n }\r\n\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n render() {\r\n if (this.state.redirect !== null) {\r\n return ;\r\n }\r\n var textButton = \"\";\r\n if (Number(this.props.TermsAndConditionsDate) > 0 && Number(this.props.TermsAndConditionsDate) === 1) {\r\n textButton = this.props.i18n.language === \"ar\" ? \"تخطي ليوم واحد\" : \"Skip for \" + this.props.TermsAndConditionsDate + \" day\"\r\n } else if (Number(this.props.TermsAndConditionsDate) > 0 && Number(this.props.TermsAndConditionsDate) > 1) {\r\n textButton = this.props.i18n.language === \"ar\" ? \" تخطي حتى \" + this.props.TermsAndConditionsDate + \" يوم \" : \"Skip for \" + this.props.TermsAndConditionsDate + \" days\"\r\n\r\n }\r\n return (\r\n <>\r\n
\r\n {\r\n\r\n var disable = true;\r\n if (checked.target.checked) {\r\n disable = false\r\n }\r\n\r\n this.setState({\r\n checkedDetail: checked.target.checked,\r\n disabledButton: disable\r\n })\r\n\r\n }}>\r\n\r\n \r\n \r\n {this.props.t(\"CheckboxTextTermsAndConditions\")}\r\n

\r\n
\r\n\r\n
\r\n\r\n {\r\n this.UpdateTermsAndConditionsVersion();\r\n\r\n }}\r\n disabled={this.state.disabledButton}\r\n >\r\n {this.props.t(\"IAgree\")}\r\n \r\n {localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\" ?\r\n Number(this.props.TermsAndConditionsDate) > 0 ?\r\n {\r\n localStorage.setItem(\"isTermsAndConditions\", 'Y');\r\n this.props.onClose();\r\n }}\r\n // disabled={this.state.disabledButton}\r\n >\r\n {textButton}\r\n \r\n : \r\n {this.props.t(\"signout\")}\r\n \r\n :\r\n \r\n {this.props.t(\"signout\")}\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 (withTranslation()(SubComponent));","import { withTranslation } from 'react-i18next';\r\n// import * as utils from \"../../global/utils\";\r\nimport * as Helpers from \"../../global/Helpers\";\r\nimport CustomReactComponent from \"../shared/CustomReactComponent/CustomReactComponent\";\r\n\r\n// import * as Constants from \"../../constants/Constants\";\r\n\r\n// import * as AppUrls from \"../../constants/AppUrls\";\r\nimport { Redirect } from \"react-router\";\r\nimport IFrameComponent from \"../IFrameComponent/IFrameComponent\";\r\n\r\n\r\nimport React from 'react';\r\n// import { useTranslation } from \"react-i18next\";\r\n\r\nimport SubComponent from \"./SubComponent\"\r\nimport \"./TermsAndConditions.css\"\r\n\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\nimport * as utils from \"../../global/utils\";\r\nimport * as Constants from \"../../constants/Constants\"\r\nclass TermsAndConditions extends CustomReactComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n state = {\r\n iframeSrc: \"\",\r\n redirect: null,\r\n TermsAndConditionsText: \"\" , \r\n TermsAndConditionsDate: \"\" \r\n }\r\n\r\n componentDidMount() {\r\n \r\n var DeviceConfigs = JSON.parse(localStorage.getItem(\"DeviceConfigs\"));\r\n if (DeviceConfigs !== null && DeviceConfigs !== undefined) {\r\n var url = this.props.i18n.language === \"ar\" ? DeviceConfigs.TermsAndConditionsAR : DeviceConfigs.TermsAndConditions\r\n let theme = localStorage.getItem(\"theme\");\r\n if (theme === null || theme === undefined) { theme = \"light\"; }\r\n var TermsAndConditionsURL = url + \"fitapp=etrade-\" + theme\r\n this.setState({ iframeSrc: TermsAndConditionsURL , TermsAndConditionsDate : DeviceConfigs.TermsAndConditionsDate})\r\n }\r\n\r\n \r\n // const box = document.getElementsByClassName('login_logo')[0];\r\n // box.style.visibility = 'hidden';\r\n \r\n // const boxTitle = document.getElementsByClassName('LoginTitle')[0];\r\n // if(boxTitle !== undefined && boxTitle !== null)\r\n // boxTitle.style.visibility = 'hidden';\r\n\r\n\r\n // const boxMsg = document.getElementsByClassName('WelcomeMessageDiv')[0];\r\n // if(boxMsg !== undefined && boxMsg !== null)\r\n // boxMsg.style.visibility = 'hidden';\r\n\r\n // const boxLogin = document.getElementsByClassName('LoginFormContainer')[0];\r\n // if(boxLogin !== undefined && boxLogin !== null){\r\n // boxLogin.style.background = 'none';\r\n // boxLogin.style.boxShadow = 'none';\r\n // boxLogin.style.border = 'none';\r\n\r\n // }\r\n // \r\n // if(localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\"){\r\n // const AuthCont = document.getElementsByClassName('form-horizantal')[0];\r\n // if(AuthCont !== undefined && AuthCont !== null){\r\n // AuthCont.style.width = '100%';\r\n\r\n\r\n // }\r\n // } \r\n\r\n\r\n \r\n this.GetTermsAndConditionsText(this.props.i18n.language);\r\n } \r\n\r\n // componentDidUpdate(prevProps) {\r\n // if (prevProps.i18n.language !== this.props.i18n.language) {\r\n \r\n // this.GetTermsAndConditionsText(this.props.i18n.language);\r\n // }\r\n // }\r\n \r\n \r\n\r\n GetTermsAndConditionsText = (appLang) => {\r\n let GetTermsAndConditionsTextResponse = utils.GetTermsAndConditionsText(appLang);\r\n GetTermsAndConditionsTextResponse\r\n .then((response) => response.data)\r\n .then((data) => {\r\n \r\n //console.log(\"GetTermsAndConditionsTextResponse\", data) \r\n this.setState({ TermsAndConditionsText: data })\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n \r\n\r\n \r\n render() {\r\n let leftLocalized = \"left\";\r\n let direction = \"ltr\";\r\n let marginInline = \"2px\";\r\n if (this.props.i18n.language === \"ar\") {\r\n direction = \"rtl\";\r\n marginInline = \"21px\";\r\n leftLocalized = \"right\";\r\n }\r\n if (this.state.redirect !== null) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n {this.props.t(\"TermsAndConditions\")}\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n {\r\n localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\" ? \r\n :
\r\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 (withTranslation()(TermsAndConditions)) ;\r\n\r\n\r\n// const IFrameComponent2 = (props) => {\r\n\r\n// const { i18n } = useTranslation();\r\n\r\n// const [iframeSrc, setIframeSrc] = useState(\"\");\r\n// const [redirect, setRedirect] = useState(null);\r\n// const [disabledButton, setisDisabledButton] = useState(true);\r\n// const [checkedDetail, setCheckedDetail] = useState(false);\r\n\r\n// useEffect(() => {\r\n\r\n// /* componentDidMount */\r\n// \r\n// var DeviceConfigs = JSON.parse(localStorage.getItem(\"DeviceConfigs\"));\r\n// if (DeviceConfigs !== null && DeviceConfigs !== undefined) {\r\n// var url = i18n.language === \"ar\" ? DeviceConfigs.TermsAndConditionsAR : DeviceConfigs.TermsAndConditions\r\n// let theme = localStorage.getItem(\"theme\");\r\n// if (theme === null || theme === undefined) { theme = \"light\"; }\r\n// var TermsAndConditionsURL = url + \"fitapp=etrade-\" + theme\r\n\r\n\r\n// setIframeSrc(TermsAndConditionsURL);\r\n\r\n// }\r\n\r\n// }, [])\r\n\r\n\r\n// function callLogOff() {\r\n\r\n// let logOffResponse = utils.logOff();\r\n// logOffResponse\r\n// .then((response) => {\r\n// \r\n// //console.log(\"Logged Off\", response)\r\n// if (response.status === 200) {\r\n// localStorage.removeItem(\"user\");\r\n// localStorage.removeItem(\"ExpiredDocument\");\r\n// let UserName = localStorage.getItem(\"username\");\r\n// let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n// let language = localStorage.getItem(\"language\");\r\n// let Comapnyname = localStorage.getItem(\r\n// Constants.localStorageConstants.company_name\r\n// );\r\n// var prev = Helpers.getPreviousConfig();\r\n\r\n// localStorage.clear();\r\n// localStorage.setItem(\"language\", language);\r\n// localStorage.setItem(Constants.localStorageConstants.company_name, Comapnyname);\r\n\r\n// Helpers.SetpreviosConfig(prev);\r\n// disconnectSignalr();\r\n// setRedirect(AppUrls.login);\r\n\r\n\r\n// }\r\n// })\r\n// .catch((error) => {\r\n// //this.props.setIsLoaderVisible(false);\r\n// console.log(\"errorcallLogOff\", error);\r\n// });\r\n// };\r\n\r\n// function disconnectSignalr() {\r\n// \r\n// if (\r\n// props.signalr_connection !== undefined &&\r\n// props.signalr_connection !== null &&\r\n// props.signalr_connection.state === 1\r\n// ) {\r\n// props.signalr_connection.proxies.myhub.invoke(\"Disconnected\");\r\n// }\r\n// if (\r\n// props.signalr_connection !== undefined &&\r\n// props.signalr_connection !== null\r\n// ) {\r\n// props.signalr_connection.stop();\r\n// Helpers.emptyCache();\r\n// }\r\n// };\r\n\r\n// let leftLocalized = \"left\";\r\n// let direction = \"ltr\";\r\n// if (i18n.language === \"ar\") {\r\n// direction = \"rtl\";\r\n// }\r\n// if (redirect !== null) {\r\n// return ;\r\n// }\r\n// return (\r\n//
\r\n// \r\n//
\r\n// \r\n\r\n// {i18n.t(\"TermsAndConditions\")}\r\n// \r\n//
\r\n// \r\n\r\n//
\r\n// \r\n// \r\n\r\n// \r\n// {/* \r\n// */}\r\n\r\n//
\r\n// {\r\n// \r\n// var disable = true;\r\n// if (checked.target.checked) {\r\n// disable = false\r\n// }\r\n// setCheckedDetail(checked.target.checked);\r\n// setisDisabledButton(disable);\r\n\r\n \r\n// }}>\r\n\r\n// \r\n//

{i18n.t(\"CheckboxTextTermsAndConditions\")}

\r\n//
\r\n\r\n//
\r\n\r\n// {\r\n// setRedirect(AppUrls.trading);\r\n\r\n// }}\r\n// disabled={disabledButton}\r\n// >\r\n// {i18n.t(\"IAgree\")}\r\n// \r\n\r\n// \r\n// {i18n.t(\"signout\")}\r\n// \r\n//
\r\n// \r\n// \r\n\r\n\r\n\r\n\r\n\r\n// );\r\n// }\r\n// const mapStateToProps = (state) => {\r\n// return {\r\n\r\n// signalr_connection: state.signalr_connection,\r\n\r\n// };\r\n// };\r\n\r\n// export default connect(mapStateToProps, null)(withTranslation()(IFrameComponent2));\r\n\r\n\r\n\r\n\r\n\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"ChartCopyProfile_first__Yub4E\",\"second\":\"ChartCopyProfile_second__3mozG\",\"third\":\"ChartCopyProfile_third__rfAZM\",\"four\":\"ChartCopyProfile_four__18Q7D\",\"five\":\"ChartCopyProfile_five__1g3co\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"CopyPeople_first__i0wDr\",\"second\":\"CopyPeople_second__1E-z9\",\"third\":\"CopyPeople_third__3a6cM\",\"four\":\"CopyPeople_four__2STT1\",\"five\":\"CopyPeople_five__3pL8i\",\"six\":\"CopyPeople_six__27_MY\",\"seven\":\"CopyPeople_seven__3aFGF\",\"eight\":\"CopyPeople_eight__1Kl4_\",\"nine\":\"CopyPeople_nine__1zqWn\",\"ten\":\"CopyPeople_ten__3woX3\",\"eleven\":\"CopyPeople_eleven__26sy_\",\"twelve\":\"CopyPeople_twelve__1CgFj\",\"thirteen\":\"CopyPeople_thirteen__mS8Oh\",\"fourteen\":\"CopyPeople_fourteen__1dFP6\",\"button\":\"CopyPeople_button__38mJl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"ProfileCard_first__2kkLZ\",\"second\":\"ProfileCard_second__I6Md7\",\"third\":\"ProfileCard_third__2nXpG\",\"four\":\"ProfileCard_four__3mWg6\",\"five\":\"ProfileCard_five__1FCzR\",\"six\":\"ProfileCard_six__2ByK_\",\"seven\":\"ProfileCard_seven___9uoF\",\"eight\":\"ProfileCard_eight__dO76o\",\"nine\":\"ProfileCard_nine__2b-sF\",\"ten\":\"ProfileCard_ten__2bPic\",\"eleven\":\"ProfileCard_eleven__1VduB\",\"twelve\":\"ProfileCard_twelve__8CTZ8\",\"thirteen\":\"ProfileCard_thirteen__1B9RL\",\"fourteen\":\"ProfileCard_fourteen__Al-uJ\",\"button\":\"ProfileCard_button__3TKuW\",\"svg1\":\"ProfileCard_svg1__2kD6-\"};","import React ,{useState}from 'react';\r\nimport Chart from 'react-apexcharts';\r\nimport styles from './Chart1.module.css'; // Import the CSS module\r\n\r\n\r\nfunction Chart1() {\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n const chartOptions = {\r\n chart: {\r\n height: 350,\r\n type: 'line',\r\n toolbar: {\r\n show: false\r\n }\r\n },\r\n colors: ['#FF4560', '#D3D3D3'], // Red for line, Light grey for bars\r\n stroke: {\r\n width: [4, 0], // Line width for the line series\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n series: [{\r\n name: 'Stocks sold',\r\n type: 'line',\r\n data: [23000, 11000, 22000, 27000, 13000, 22000, 37000, 21000, 44000, 22000, 30000, 25000, 35000]\r\n }, {\r\n name: 'Total views',\r\n type: 'column',\r\n data: [44000, 55000, 41000, 67000, 22000, 43000, 21000, 49000, 21000, 32000, 41000, 45000, 30000]\r\n }],\r\n xaxis: {\r\n type: 'datetime',\r\n categories: [\r\n '2019-06-21', '2019-07-21', '2019-08-21', '2019-09-21', '2019-10-21',\r\n '2019-11-21', '2019-12-21', '2020-01-21', '2020-02-21', '2020-03-21',\r\n '2020-04-21', '2020-05-21', '2020-06-21'\r\n ],\r\n },\r\n yaxis: [{\r\n title: {\r\n text: 'Stocks sold',\r\n },\r\n labels: {\r\n formatter: (value) => `$${value}k`\r\n },\r\n }, {\r\n opposite: true,\r\n title: {\r\n text: 'Total views'\r\n },\r\n labels: {\r\n formatter: (value) => `${value / 1000}k`\r\n },\r\n }],\r\n grid: {\r\n show: true,\r\n },\r\n legend: {\r\n position: 'top',\r\n horizontalAlign: 'left',\r\n offsetX: 40\r\n },\r\n plotOptions: {\r\n bar: {\r\n columnWidth: '20%', // Adjust to make thinner bars\r\n }\r\n },\r\n tooltip: {\r\n shared: true,\r\n intersect: false,\r\n y: {\r\n formatter: function (y) {\r\n if (typeof y !== \"undefined\") {\r\n return `$${y}k`;\r\n }\r\n return y;\r\n }\r\n }\r\n },\r\n };\r\n const handleSelection = (range) => {\r\n console.log(`Selected range: ${range}`);\r\n // Logic to update chart data based on the selected range\r\n // ...\r\n setDropdownOpen(false); // Close the dropdown\r\n };\r\n\r\n\r\n return (\r\n
\r\n {/* Dropdown button */}\r\n
\r\n \r\n {dropdownOpen && (\r\n
\r\n handleSelection('1 Year')}>\r\n Last 1 Year\r\n \r\n handleSelection('6 Months')}\r\n className={`${styles.third}`}>\r\n Last 6 Months\r\n \r\n handleSelection('3 Months')}\r\n className={`${styles.third}`}>\r\n Last 3 Months\r\n \r\n handleSelection('1 Month')}\r\n className={`${styles.third}`}\r\n >\r\n Last 1 Month\r\n \r\n
\r\n )}\r\n
\r\n\r\n {/* Chart component */}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Chart1;","import React, { useState } from 'react';\r\nimport Chart from 'react-apexcharts';\r\nimport styles from './Chart2.module.css'; // Import the CSS module\r\n\r\n\r\nfunction Chart2(isDarkMode) {\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: 'donut',\r\n },\r\n labels: ['ADX', 'NasdaqDubai', 'DFM', 'RAC Finance'],\r\n dataLabels: {\r\n enabled: true,\r\n },\r\n legend: {\r\n position: 'right',\r\n offsetY: 0,\r\n height: 230,\r\n },\r\n plotOptions: {\r\n pie: {\r\n donut: {\r\n labels: {\r\n show: true,\r\n total: {\r\n show: true,\r\n label: 'Sales',\r\n formatter: () => '230,900' // Display a static total value\r\n }\r\n }\r\n }\r\n }\r\n },\r\n colors: ['#00E396', '#FEB019', '#FF4560', '#775DD0']\r\n };\r\n\r\n const series = [4260, 3970, 3454, 2390]; // Replace with actual data\r\n\r\n // Function to handle selection from the dropdown\r\n const handleSelection = (timeRange) => {\r\n // Logic to update chart data based on the selected time range\r\n console.log(`Selected time range: ${timeRange}`);\r\n // ... Update your chart data here ...\r\n setDropdownOpen(false);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Stocks Distribution

\r\n
\r\n \r\n {dropdownOpen && (\r\n
\r\n
handleSelection('1 Month')}>Last 1 Month
\r\n
handleSelection('3 Months')}>Last 3 Months
\r\n
handleSelection('6 Months')}>Last 6 Months
\r\n
handleSelection('1 Year')}>Last 1 Year
\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 Chart2;\r\n","import React, { useState } from 'react';\r\nimport Chart from 'react-apexcharts';\r\nimport styles from './Chart3.module.css'; // Import the CSS module\r\n\r\n\r\nfunction Chart3() {\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n const chartOptions = {\r\n chart: {\r\n type: 'bar',\r\n height: 350,\r\n toolbar: {\r\n show: false // Hides the toolbar\r\n }\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: false,\r\n columnWidth: '55%',\r\n endingShape: 'rounded'\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n show: true,\r\n width: 2,\r\n colors: ['transparent']\r\n },\r\n xaxis: {\r\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\r\n },\r\n yaxis: {\r\n title: {\r\n text: '$ (thousands)'\r\n }\r\n },\r\n fill: {\r\n opacity: 1\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: function (val) {\r\n return \"$ \" + val + \" thousands\";\r\n }\r\n }\r\n },\r\n colors: ['#008FFB', '#00E396', '#775DD0'], // Use the color codes as per your image\r\n legend: {\r\n horizontalAlign: 'left',\r\n offsetX: 40\r\n }\r\n };\r\n\r\n const series = [\r\n {\r\n name: 'ADX',\r\n data: [23000, 19000, 22000, 27000, 13000, 22000, 33000]\r\n },\r\n {\r\n name: 'NasdaqDubai',\r\n data: [21000, 24000, 27000, 31000, 16000, 27000, 25000]\r\n },\r\n {\r\n name: 'DFM',\r\n data: [15000, 12000, 15000, 12000, 19000, 17000, 22000]\r\n }\r\n ];\r\n\r\n // Function to handle the dropdown selection\r\n const handleSelection = (selectedOption) => {\r\n // Logic for handling the selection\r\n console.log(selectedOption);\r\n setDropdownOpen(false);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Overall

\r\n
\r\n \r\n {dropdownOpen && (\r\n
    \r\n {/* Dropdown menu items */}\r\n
  • handleSelection('Last 1 Month')}>Last 1 Month
  • \r\n
  • handleSelection('Last 3 Months')}>Last 3 Months
  • \r\n
  • handleSelection('Last 6 Months')}>Last 6 Months
  • \r\n
  • handleSelection('Last 1 Year')}>Last 1 Year
  • \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Chart3;\r\n","import React from 'react';\r\nimport Chart1 from './Chart1';\r\nimport Chart2 from './Chart2';\r\nimport Chart3 from './Chart3';\r\nimport styles from './ChartCopyProfile.module.css'; // Import the CSS module\r\n\r\n\r\nfunction ChartCopyProfile(props) {\r\n // Style object for the box shadow\r\n \r\n const boxShadowStyle = {\r\n boxShadow: '0 4px 8px 0 rgba(0, 0, 0, 0.2)',\r\n padding: '20px',\r\n borderRadius: '10px',\r\n margin: '10px 0',\r\n background: props.isDarkMode ? \"#000\" : \"#fff\"\r\n };\r\n\r\n return (\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChartCopyProfile;\r\n\r\n","import ReactApexChart from \"react-apexcharts\";\r\nimport React from 'react';\r\nimport './Performance.css'\r\n\r\nclass PerformanceChart extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n series: [{\r\n name: 'Cash Flow',\r\n data: [0.11, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0]\r\n }],\r\n options: {\r\n chart: {\r\n type: 'bar',\r\n height: 350\r\n },\r\n plotOptions: {\r\n bar: {\r\n colors: {\r\n ranges: [{\r\n from: -100,\r\n to: -46,\r\n color: '#F15B46'\r\n }, {\r\n from: -45,\r\n to: 0,\r\n color: '#FEB019'\r\n }]\r\n },\r\n columnWidth: '40%',\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n yaxis: {\r\n title: {\r\n text: '',\r\n },\r\n labels: {\r\n formatter: function (y) {\r\n return y.toFixed(0) + \"%\";\r\n }\r\n }\r\n },\r\n xaxis: {\r\n\r\n categories: ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'],\r\n labels: {\r\n rotate: -90\r\n }\r\n }\r\n }\r\n };\r\n }\r\n\r\n\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n \r\n if (this.props.rowSelected && prevProps.rowSelected !== this.props.rowSelected) {\r\n this.setState({\r\n ...this.state.series,\r\n series: [\r\n {\r\n data: this.props.rowSelected\r\n }\r\n ]\r\n });\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default PerformanceChart;","import React, { useState } from 'react';\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport 'ag-grid-community/dist/styles/ag-grid.css';\r\nimport 'ag-grid-community/dist/styles/ag-theme-alpine.css';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport * as Colors from '../../../../constants/Colors';\r\nimport PerformanceChart from './PerformanceChart'\r\nimport HeaderTitle from '../../CopyPeopleList/HeaderTitle'\r\n\r\nfunction Performance(props) {\r\n const { i18n } = useTranslation();\r\n const rowHeight = 50;\r\n const defaultColDef = {\r\n flex: 1,\r\n minWidth: 10,\r\n sortable: true,\r\n resizable: true,\r\n cellStyle: { textAlign: i18n.language === \"ar\" ? \"right\" : \"left\", lineHeight: '2.5' },\r\n // headerClass: \"center-header\"\r\n };\r\n const ColorsgreenNumber = props.isDarkMode ? Colors.greenNumberDarkTheme : Colors.greenNumber;\r\n\r\n const [rowSelected, setRowSelected] = useState([])\r\n const [rowData, setRowData] = useState([\r\n {\r\n Year: '2024',\r\n JAN: '0.11',\r\n FEB: '',\r\n MAR: '',\r\n APR: '',\r\n MAY: '',\r\n JUN: '',\r\n JUL: '',\r\n AUG: '',\r\n SEP: '',\r\n OCT: '',\r\n NOV: '',\r\n DEC: '',\r\n TOTAL: \"0.11\"\r\n },\r\n {\r\n Year: '2023',\r\n JAN: '1.06',\r\n FEB: '-2.05',\r\n MAR: '1.34',\r\n APR: \"-5.09\",\r\n MAY: \"-1.94\",\r\n JUN: \"5.53\",\r\n JUL: '5.94 ',\r\n AUG: \"-3.65\",\r\n SEP: \"-1.32\",\r\n OCT: \"-4.18\",\r\n NOV: \"9.37\",\r\n DEC: \"6.30\",\r\n TOTAL: \"10.55\"\r\n },\r\n {\r\n Year: '2022',\r\n JAN: '1.06',\r\n FEB: '2.3',\r\n MAR: '-2.34',\r\n APR: \"-5.09\",\r\n MAY: \"-1.94\",\r\n JUN: \"7.53\",\r\n JUL: '7.94 ',\r\n AUG: \"-2.65\",\r\n SEP: \"-1.32\",\r\n OCT: \"-4.18\",\r\n NOV: \"8.37\",\r\n DEC: \"5.30\",\r\n TOTAL: \"12.55\"\r\n }\r\n ]);\r\n\r\n // Column Definitions: Defines & controls grid columns.\r\n const [colDefs, setColDefs] = useState([\r\n {\r\n field: 'Year',\r\n headerName: 'Year',\r\n cellStyle: {\r\n fontWeight: \"bold\"\r\n }\r\n },\r\n {\r\n field: 'JAN',\r\n headerName: 'JAN',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'FEB',\r\n headerName: 'FEB',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'MAR',\r\n headerName: 'MAR',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'APR',\r\n headerName: 'APR',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'MAY',\r\n headerName: 'MAY',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'JUN',\r\n headerName: 'JUN',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'JUL',\r\n headerName: 'JUL',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'AUG',\r\n headerName: 'AUG',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'SEP',\r\n headerName: 'SEP',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'OCT',\r\n headerName: 'OCT',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'NOV',\r\n headerName: 'NOV',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'DEC',\r\n headerName: 'DEC',\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n },\r\n {\r\n field: 'TOTAL',\r\n headerName: 'TOTAL',\r\n cellStyle: {\r\n fontWeight: \"bold\",\r\n cellStyle: function (params) {\r\n if (params.value > 0) { //mark values greater than 0 green\r\n return { color: ColorsgreenNumber };\r\n } else if (params.value < 0) { //mark values less than 0 red\r\n return { color: Colors.redNumber };\r\n }\r\n }\r\n }\r\n },\r\n ]);\r\n\r\n function onRowClicked(params) {\r\n // if (params.node.data.IS_US_ONLINE !== 'Y') {\r\n \r\n var arr = [];\r\n if (params.node.data) {\r\n\r\n // if (!(params.node.data.hasOwnProperty(\"Year\") || params.node.data.hasOwnProperty(\"TOTAL\"))) {\r\n // arr.push()\r\n // setRowSelected([80.9, Math.random(), 5.9, -0.42, -12.6, -18.1, -18.2, -14.16, -11.1, -6.09, 0.34, Math.random()]);\r\n // }\r\n setRowSelected([params.node.data.JAN !== '' ? params.node.data.JAN : 0,\r\n params.node.data.FEB !== '' ? params.node.data.FEB : 0,\r\n params.node.data.MAR !== '' ? params.node.data.MAR : 0,\r\n params.node.data.APR !== '' ? params.node.data.APR : 0,\r\n params.node.data.MAY !== '' ? params.node.data.MAY : 0,\r\n params.node.data.JUN !== '' ? params.node.data.JUN : 0,\r\n params.node.data.JUL !== '' ? params.node.data.JUL : 0,\r\n params.node.data.AUG !== '' ? params.node.data.AUG : 0,\r\n params.node.data.SEP !== '' ? params.node.data.SEP : 0,\r\n params.node.data.OCT !== '' ? params.node.data.OCT : 0,\r\n params.node.data.NOV !== '' ? params.node.data.NOV : 0,\r\n params.node.data.DEC !== '' ? params.node.data.DEC : 0]\r\n );\r\n\r\n }\r\n // if (params.node.data.Symbol) {\r\n // }\r\n }\r\n var dir = \"ltr\";\r\n var leftLocalized = \"left\";\r\n var ml3Localized = \"ml-3\";\r\n var ml2Localized = \"ml-2\";\r\n var mr2Localized = \"mr-2\";\r\n var enableRtl = false;\r\n\r\n if (i18n.language === \"ar\") {\r\n dir = \"rtl\";\r\n leftLocalized = \"right\";\r\n ml3Localized = \"mr-3\";\r\n ml2Localized = \"mr-2\";\r\n mr2Localized = \"ml-2\";\r\n enableRtl = true;\r\n }\r\n\r\n \r\n let agGridClass = props.isDarkMode.isDarkMode ? \"ag-theme-alpine-dark\": \"ag-theme-alpine\" ;\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Performance\r\n","export default \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/4QCNRXhpZgAASUkqAAgAAAAEAA4BAgAwAAAAPgAAAJiCAgAHAAAAbgAAABoBBQABAAAAdQAAABsBBQABAAAAfQAAAAAAAABQcm9wb3J0aW9uIDE6MiwgRmxhZyBvZiB0aGUgVW5pdGVkIEFyYWIgRW1pcmF0ZXNsaWFuZ3B2LAEAAAEAAAAsAQAAAQAAAP/hBVVodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPgoJPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KCQk8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOklwdGM0eG1wQ29yZT0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcENvcmUvMS4wL3htbG5zLyIgICB4bWxuczpHZXR0eUltYWdlc0dJRlQ9Imh0dHA6Ly94bXAuZ2V0dHlpbWFnZXMuY29tL2dpZnQvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwbHVzPSJodHRwOi8vbnMudXNlcGx1cy5vcmcvbGRmL3htcC8xLjAvIiAgeG1sbnM6aXB0Y0V4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgZGM6UmlnaHRzPSJsaWFuZ3B2IiBwaG90b3Nob3A6Q3JlZGl0PSJHZXR0eSBJbWFnZXMiIEdldHR5SW1hZ2VzR0lGVDpBc3NldElEPSI0NzIzMzAwOTMiIHhtcFJpZ2h0czpXZWJTdGF0ZW1lbnQ9Imh0dHBzOi8vd3d3Lmlz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/wD/AEkkkkkkkkk//wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP6SSSSSSSSSf/8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD9JJJJJJJJJP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/APpJJJJJJJJJ/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A9JJJJJJJJJeSSSSSSSSSSSSSSSSSSSSSSSSSSSSJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJJAAAAAAAAAAAAAAAAAAAAAAAAAAAABJJJJJJJJJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJJJJJJJJLJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222pJJJJJJJJI22222222222222222222222222221JJJJJJJJJG2222222222222222222222222222/wD/xAAhEQACAgMBAAEFAAAAAAAAAAAAAdHwYKGxUUAhMUFQYf/aAAgBAwEBPxD4SLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiLH1hiGUvob/uvy39LGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGpLGp+JvO4bvO4bvO4bvO4bvO4bvO4bvO4bvO4bvO4bvO4bvO4bvO4buO4buu4buu4buu4buu4buu4buu4buu4buu4buu4buu4buu4buu4buu/uv/EAB4RAAMAAwEBAAMAAAAAAAAAAAARYTFgcQFAIVCQ/9oACAECAQE/EP7X+e/j88IECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECHyYeabh5puHmm4eabh5puHmm4eabh5puHmm4eabh5puHmm+Px4IQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQvkw803DzTcPNNw803DzTcPNNw803DzTcPNNw803DzTcPNNw8/df/8QAHhAAAQUBAQADAAAAAAAAAAAAAQAxUWDwESFAUIH/2gAIAQEAAT8Q+HjRTcaKbjRTcaKbjRTcaKbjRTcaKbjRTcaKbjRTcaKaaXzuOggQeGmIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSIWK1I0wsVqRphYrUjTCxWpGmFitSNMLFakaYWK1I0wsVqRphYrUjTCxWpGmFitSNMLFakaY/i/Fsk/XOud53naZznOc5znOc5znOc5znOc5znOc5znOc5znOc5znOc5znOc5znA605UwOtOVMDrTlTA605UwOtOVMDrTlTA605UwOtOVMDrTlTA605UwOtOVMDrTlTA605fdf/Z\"","import React from 'react';\r\nimport './FrequentlyTraded.css'\r\nimport { useTranslation } from \"react-i18next\";\r\nimport * as Colors from '../../../../constants/Colors';\r\nimport FlagIconEmirates from \"../../../../assets/images/flag_emirates2.jpg\";\r\nimport HeaderTitle from '../../CopyPeopleList/HeaderTitle'\r\n\r\n\r\nconst FrequentlyTraded = () => {\r\n const { i18n } = useTranslation();\r\n let dir = \"ltr\";\r\n if (i18n.language === \"ar\") {\r\n\r\n dir = \"rtl\";\r\n }\r\n return (\r\n
\r\n \r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FrequentlyTraded;\r\n\r\n\r\n","import React from 'react'\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport HeaderTitle from '../../CopyPeopleList/HeaderTitle'\r\nimport { useTranslation } from \"react-i18next\";\r\nimport './TradingProgressChart.css'\r\n\r\nfunction TradingProgressChart() {\r\n const { i18n } = useTranslation();\r\n var dir = \"ltr\";\r\n\r\n if (i18n.language === \"ar\") {\r\n dir = \"ltr\";\r\n }\r\n const state = {\r\n\r\n series: [{\r\n name: 'Stocks',\r\n data: [44]\r\n }, {\r\n name: 'Indices',\r\n data: [53]\r\n }, {\r\n name: 'Currencies',\r\n data: [9]\r\n }, {\r\n name: 'Commodities',\r\n data: [25]\r\n }],\r\n options: {\r\n chart: {\r\n type: 'bar',\r\n height: 100,\r\n stacked: true,\r\n stackType: '100%'\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: true,\r\n },\r\n },\r\n stroke: {\r\n width: 0,\r\n dis: false,\r\n colors: ['#red']\r\n },\r\n title: {\r\n text: ''\r\n },\r\n xaxis: {\r\n labels: {\r\n show: false\r\n }, lines: {\r\n show: false\r\n }\r\n },\r\n yaxis: {\r\n labels: {\r\n show: false\r\n }, lines: {\r\n show: false\r\n }\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: function (val) {\r\n return val + \"K\"\r\n }\r\n }\r\n },\r\n fill: {\r\n opacity: 1\r\n\r\n },\r\n legend: {\r\n\r\n position: 'top',\r\n horizontalAlign: 'left',\r\n offsetX: 40\r\n }\r\n },\r\n\r\n\r\n };\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
375\r\n Total Trades\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 12.97% \r\n Avg. Profit \r\n
\r\n
\r\n \r\n -7.28% Avg. Loss \r\n
\r\n
\r\n
\r\n \r\n
\r\n 73.07%\r\n Profitable\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 TradingProgressChart\r\n","import React from 'react'\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport HeaderTitle from '../../CopyPeopleList/HeaderTitle'\r\nfunction Copiers() {\r\n\r\n\r\n const state = {\r\n\r\n series: [{\r\n name: \"STOCK ABC\",\r\n data: [31, 40, 28, 51, 42, 109, 100]\r\n }],\r\n options: {\r\n chart: {\r\n type: 'area',\r\n height: 350,\r\n zoom: {\r\n enabled: false\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n curve: 'smooth',\r\n // lineCap: 'butt',\r\n colors: undefined,\r\n width: 1,\r\n dashArray: 0\r\n },\r\n\r\n title: {\r\n text: '',\r\n align: 'left'\r\n },\r\n subtitle: {\r\n text: '',\r\n align: 'left'\r\n },\r\n labels: [1, 28, 42, 51, 60, 109, 120],\r\n xaxis: {\r\n type: 'datetime',\r\n },\r\n yaxis: {\r\n opposite: true\r\n },\r\n legend: {\r\n horizontalAlign: 'left'\r\n }\r\n },\r\n\r\n\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Copiers\r\n","import React from 'react'\r\nimport HeaderTitle from '../../CopyPeopleList/HeaderTitle'\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport './AverageRisk.css';\r\nfunction AverageRisk() {\r\n\r\n const state = {\r\n\r\n series: [{\r\n name: \"Desktops\",\r\n data: [ 41, 300, 51, 49, 200, 69, 500]\r\n }],\r\n options: {\r\n chart: {\r\n height: 350,\r\n type: 'line',\r\n zoom: {\r\n enabled: false\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n stroke: {\r\n curve: 'straight',\r\n // lineCap: 'butt',\r\n colors: undefined,\r\n width: 1,\r\n dashArray: 0, \r\n },\r\n markers: {\r\n size: 5,\r\n hover: {\r\n size: 9\r\n }\r\n },\r\n title: {\r\n text: 'Average Risk Score of the Last 7 Days',\r\n align: 'left'\r\n },\r\n grid: {\r\n row: {\r\n colors: ['#f3f3f3', 'transparent'], // takes an array which will be repeated on columns\r\n opacity: 0.5\r\n },\r\n },\r\n xaxis: {\r\n categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\r\n }\r\n },\r\n\r\n\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport default AverageRisk\r\n","import React from 'react';\r\nimport Performance from './Performance/Performance'\r\nimport FrequentlyTraded from './FrequentlyTraded/FrequentlyTraded'\r\nimport TradingProgressChart from './TradingProgressChart/TradingProgressChart'\r\nimport Copiers from './Copiers/Copiers'\r\nimport AverageRisk from './AverageRisk/AverageRisk'\r\n\r\nconst Stats = (isDarkMode) => {\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\nexport default Stats;","import React, { useState } from 'react';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-community/dist/styles/ag-grid.css';\r\nimport 'ag-grid-community/dist/styles/ag-theme-alpine.css';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport \"../FitAgGrid/FitAgGridContainer.css\";\r\nimport \"ag-grid-community/dist/styles/ag-grid.css\";\r\nimport \"ag-grid-community/dist/styles/ag-theme-alpine.css\";\r\nimport \"ag-grid-community/dist/styles/ag-theme-alpine-dark.css\";\r\nimport \"ag-grid-enterprise\";\r\nimport '../Header/Header.css';\r\n\r\n\r\nfunction MediumRiskScore(props) {\r\n // Column definitions\r\n const headerClass = 'center-header';\r\n const { i18n } = useTranslation();\r\n let dir = \"ltr\";\r\n if (i18n.language === \"ar\") {\r\n dir = \"rtl\";\r\n }\r\n\r\n let enableRtl = false;\r\n if (i18n.language === \"ar\") {\r\n enableRtl = true;\r\n }\r\n\r\n let agGridClass = \"ag-theme-alpine\";\r\n if (props.isDarkMode) {\r\n agGridClass = \"ag-theme-alpine-dark\";\r\n }else {\r\n if (localStorage.getItem('theme') == 'dark') {\r\n agGridClass = \"ag-theme-alpine-dark\"\r\n }\r\n }\r\n\r\n const [columnDefs] = useState([\r\n {\r\n field: 'market',\r\n headerName: 'Market',\r\n cellRenderer: 'marketCellRenderer', // Use the custom renderer for the market column\r\n headerClass: headerClass,\r\n },\r\n { field: 'buySell', headerName: 'BUY/SELL', cellRenderer: 'buySellRenderer', headerClass: headerClass },\r\n { field: 'invested', headerName: 'INVESTED', headerClass: headerClass, },\r\n { field: 'pl', headerName: 'P/L(%)', cellRenderer: 'plRenderer', headerClass: headerClass, },\r\n { field: 'value', headerName: 'VALUE', headerClass: headerClass, },\r\n { field: 'sell', headerName: 'SELL', cellRenderer: 'actionCellRenderer', headerClass: headerClass, },\r\n { field: 'buy', headerName: 'BUY', cellRenderer: 'actionCellRenderer', headerClass: headerClass, }\r\n ]);\r\n\r\n // Sample row data\r\n const [rowData] = useState([\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Buying',\r\n invested: '1.18%',\r\n pl: '1.53%',\r\n value: '4.93%',\r\n sell: 'Sell 84.3',\r\n buy: 'Buy 110.8',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Selling',\r\n invested: '4.34%',\r\n pl: '4.2%',\r\n value: '9.62%',\r\n sell: 'Sell 70.11',\r\n buy: 'Buy 127.38',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Selling',\r\n invested: '6.32%',\r\n pl: '1.73%',\r\n value: '9.75%',\r\n sell: 'Sell 91.5',\r\n buy: 'Buy 119.52',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Buying',\r\n invested: '1.69%',\r\n pl: '3.1%',\r\n value: '4.23%',\r\n sell: 'Sell 145.15',\r\n buy: 'Buy 106.38',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '4.5%',\r\n pl: '3.42%',\r\n value: '7.77%',\r\n sell: 'Sell 183.0',\r\n buy: 'Buy 234.93',\r\n },\r\n {\r\n market: 'LSE',\r\n subValue: 'London Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '1.51%',\r\n pl: '3.7%',\r\n value: '3.68%',\r\n sell: 'Sell 20.7',\r\n buy: 'Buy 24.97',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Buying',\r\n invested: '2.24%',\r\n pl: '9.84%',\r\n value: '1.25%',\r\n sell: 'Sell 113.47',\r\n buy: 'Buy 115.98',\r\n },\r\n {\r\n market: 'TADAWUL',\r\n subValue: 'Saudi Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '5.31%',\r\n pl: '3.32%',\r\n value: '7.73%',\r\n sell: 'Sell 132.66',\r\n buy: 'Buy 171.97',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '2.72%',\r\n pl: '3.98%',\r\n value: '5.34%',\r\n sell: 'Sell 148.03',\r\n buy: 'Buy 203.96',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Buying',\r\n invested: '6.88%',\r\n pl: '9.74%',\r\n value: '2.91%',\r\n sell: 'Sell 51.08',\r\n buy: 'Buy 144.02',\r\n },\r\n {\r\n market: 'ADX',\r\n subValue: 'Abu Dhabi Securities Exchange',\r\n buySell: 'Buying',\r\n invested: '4.21%',\r\n pl: '1.21%',\r\n value: '6.21%',\r\n sell: 'Sell 27.15',\r\n buy: 'Buy 220.15'\r\n },\r\n {\r\n market: 'ADX',\r\n subValue: 'Abu Dhabi Securities Exchange',\r\n buySell: 'Buying',\r\n invested: '4.21%',\r\n pl: '1.21%',\r\n value: '6.21%',\r\n sell: 'Sell 27.15',\r\n buy: 'Buy 220.15'\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Selling',\r\n invested: '2.68%',\r\n pl: '2.39%',\r\n value: '2.06%',\r\n sell: 'Sell 245.15',\r\n buy: 'Buy 74.16',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Buying',\r\n invested: '0.63%',\r\n pl: '4.2%',\r\n value: '4.44%',\r\n sell: 'Sell 206.91',\r\n buy: 'Buy 103.55',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Selling',\r\n invested: '3.69%',\r\n pl: '2.23%',\r\n value: '4.13%',\r\n sell: 'Sell 63.82',\r\n buy: 'Buy 86.91',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '3.7%',\r\n pl: '10.0%',\r\n value: '4.65%',\r\n sell: 'Sell 183.76',\r\n buy: 'Buy 80.14',\r\n },\r\n {\r\n market: 'TADAWUL',\r\n subValue: 'Saudi Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '1.77%',\r\n pl: '4.65%',\r\n value: '9.15%',\r\n sell: 'Sell 103.61',\r\n buy: 'Buy 60.32',\r\n },\r\n {\r\n market: 'LSE',\r\n subValue: 'London Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '9.85%',\r\n pl: '8.56%',\r\n value: '2.29%',\r\n sell: 'Sell 62.78',\r\n buy: 'Buy 141.91',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '7.22%',\r\n pl: '8.71%',\r\n value: '7.88%',\r\n sell: 'Sell 66.38',\r\n buy: 'Buy 81.33',\r\n },\r\n {\r\n market: 'TADAWUL',\r\n subValue: 'Saudi Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '1.1%',\r\n pl: '2.27%',\r\n value: '7.91%',\r\n sell: 'Sell 92.53',\r\n buy: 'Buy 87.13',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '2.24%',\r\n pl: '2.9%',\r\n value: '0.75%',\r\n sell: 'Sell 183.95',\r\n buy: 'Buy 215.8',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Buying',\r\n invested: '4.38%',\r\n pl: '5.12%',\r\n value: '6.93%',\r\n sell: 'Sell 84.33',\r\n buy: 'Buy 107.43',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Buying',\r\n invested: '9.9%',\r\n pl: '2.18%',\r\n value: '5.89%',\r\n sell: 'Sell 138.13',\r\n buy: 'Buy 158.89',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Selling',\r\n invested: '6.88%',\r\n pl: '9.74%',\r\n value: '2.91%',\r\n sell: 'Sell 51.08',\r\n buy: 'Buy 144.02',\r\n },\r\n {\r\n market: 'TADAWUL',\r\n subValue: 'Saudi Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '3.21%',\r\n pl: '7.54%',\r\n value: '8.33%',\r\n sell: 'Sell 125.67',\r\n buy: 'Buy 89.45',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '5.63%',\r\n pl: '2.45%',\r\n value: '7.12%',\r\n sell: 'Sell 195.32',\r\n buy: 'Buy 112.67',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Buying',\r\n invested: '4.87%',\r\n pl: '3.65%',\r\n value: '6.01%',\r\n sell: 'Sell 142.58',\r\n buy: 'Buy 131.29',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Buying',\r\n invested: '2.34%',\r\n pl: '8.72%',\r\n value: '4.19%',\r\n sell: 'Sell 153.47',\r\n buy: 'Buy 95.11',\r\n },\r\n {\r\n market: 'LSE',\r\n subValue: 'London Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '1.89%',\r\n pl: '6.23%',\r\n value: '3.78%',\r\n sell: 'Sell 44.19',\r\n buy: 'Buy 150.22',\r\n },\r\n {\r\n market: 'TADAWUL',\r\n subValue: 'Saudi Stock Exchange',\r\n buySell: 'Selling',\r\n invested: '7.90%',\r\n pl: '1.33%',\r\n value: '5.27%',\r\n sell: 'Sell 73.44',\r\n buy: 'Buy 194.58',\r\n },\r\n {\r\n market: 'NYSE',\r\n subValue: 'New York Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '6.56%',\r\n pl: '4.97%',\r\n value: '2.31%',\r\n sell: 'Sell 189.27',\r\n buy: 'Buy 103.12',\r\n },\r\n {\r\n market: 'NASDAQ',\r\n subValue: 'NASDAQ Stock Market',\r\n buySell: 'Selling',\r\n invested: '8.41%',\r\n pl: '5.89%',\r\n value: '6.74%',\r\n sell: 'Sell 121.48',\r\n buy: 'Buy 134.55',\r\n },\r\n {\r\n market: 'DIFX',\r\n subValue: 'Dubai Financial Market',\r\n buySell: 'Selling',\r\n invested: '3.48%',\r\n pl: '7.62%',\r\n value: '4.86%',\r\n sell: 'Sell 88.35',\r\n buy: 'Buy 143.97',\r\n },\r\n {\r\n market: 'LSE',\r\n subValue: 'London Stock Exchange',\r\n buySell: 'Buying',\r\n invested: '5.12%',\r\n pl: '2.04%',\r\n value: '8.97%',\r\n sell: 'Sell 57.09',\r\n buy: 'Buy 116.84',\r\n }\r\n\r\n // ... more row data\r\n ]);\r\n\r\n // Custom cell renderer for the Market column\r\n const MarketCellRenderer = ({ value, data }) => {\r\n const iconStyle = {\r\n height: '20px',\r\n width: '20px',\r\n borderRadius: '50%',\r\n backgroundColor: '#ddd', // Placeholder for the icon background\r\n display: 'inline-block',\r\n marginRight: '5px',\r\n backgroundImage: '', // Uncomment and replace with your icon URL\r\n backgroundSize: 'cover',\r\n };\r\n\r\n const mainValueStyle = {\r\n fontWeight: 'bold',\r\n };\r\n\r\n const subValueStyle = {\r\n fontSize: '0.85em',\r\n color: 'grey',\r\n };\r\n\r\n return (\r\n\r\n
\r\n {/* Icon placeholder */}\r\n
\r\n
{value}
\r\n
{data.subValue}
\r\n
\r\n
\r\n );\r\n };\r\n\r\n // Custom cell renderer for the BUY/SELL column\r\n const BuySellRenderer = ({ value }) => {\r\n const buySellStyle = {\r\n color: value === 'Buying' ? '#0c9801' : '#ee0000',\r\n fontWeight: 'bold',\r\n textAlign: 'center',\r\n border: value === 'Buying' ? '1px solid #0c9801' : '1px solid #ee0000',\r\n padding: \"5px\",\r\n marginTop: \"2px\",\r\n };\r\n return {value};\r\n };\r\n\r\n const PLRenderer = (params) => {\r\n const plStyle = {\r\n color: params.data.buySell === 'Buying' ? '#0c9801' : '#ee0000',\r\n };\r\n return {params.value};\r\n };\r\n\r\n // Custom cell renderer for the action buttons\r\n const ActionCellRenderer = ({ value }) => {\r\n const [action, price] = value.split(' ');\r\n const actionStyle = {\r\n color: 'white',\r\n backgroundColor: action === 'Buy' ? '#0c9801' : '#ee0000',\r\n padding: '5px 10px',\r\n border: 'none',\r\n borderRadius: '5px',\r\n cursor: 'pointer',\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n marginRight: '4px'\r\n };\r\n return (\r\n \r\n );\r\n };\r\n\r\n // Framework components for custom cell renderers\r\n const frameworkComponents = {\r\n marketCellRenderer: MarketCellRenderer,\r\n buySellRenderer: BuySellRenderer,\r\n actionCellRenderer: ActionCellRenderer,\r\n plRenderer: PLRenderer,\r\n };\r\n\r\n // Default column definitions\r\n const defaultColDef = {\r\n flex: 1,\r\n minWidth: 120,\r\n sortable: true,\r\n resizable: true,\r\n cellStyle: { textAlign: 'center', lineHeight: '2.5' },\r\n headerClass: headerClass,\r\n };\r\n\r\n\r\n const rowHeight = 50; // Adjust this value as needed\r\n\r\n\r\n return (\r\n \r\n \r\n ' +\r\n i18n.t(\"ag-overlay-loading-center\") +\r\n \"\"\r\n }\r\n overlayNoRowsTemplate={\r\n '' +\r\n i18n.t(\"ag-overlay-noRow-center\") +\r\n \"\"\r\n }\r\n />\r\n
\r\n
Balance
\r\n
\r\n
1939%
\r\n
Balance
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MediumRiskScore;\r\n","import React from 'react';\r\nimport './TopTraded.css'\r\nimport { useTranslation } from \"react-i18next\";\r\nimport * as Colors from '../../../constants/Colors';\r\n\r\nconst TopTraded = () => {\r\n const { i18n } = useTranslation();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TopTraded;\r\n\r\n\r\n","import React from 'react';\r\nimport './About.css'\r\nimport CopyPeople from '../CopyPeopleList/CopyPeople'\r\nimport TopTraded from '../TopTraded/TopTraded'\r\n\r\nconst About = (props) => {\r\n const profiles = [\r\n {\r\n name: \"David James\",\r\n region: \"United Arab Emirates\",\r\n risk: 5,\r\n return: 7.14,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 1356,\r\n copyPercentage: -2.21,\r\n type: \"Top Investors\"\r\n },\r\n {\r\n name: \"David James\",\r\n region: \"United Arab Emirates\",\r\n risk: 5,\r\n return: 7.14,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 1356,\r\n copyPercentage: -2.21,\r\n type: \"Top Investors\"\r\n },\r\n {\r\n name: \"David James\",\r\n region: \"United Arab Emirates\",\r\n risk: 5,\r\n return: 7.14,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 1356,\r\n copyPercentage: -2.21,\r\n type: \"Top Investors\"\r\n },\r\n\r\n {\r\n name: \"David James\",\r\n region: \"United Arab Emirates\",\r\n risk: 5,\r\n return: 7.14,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 1356,\r\n copyPercentage: -2.21,\r\n type: \"Top Investors\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 3,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Trending\"\r\n },\r\n\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Low Risk Score\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Low Risk Score\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Low Risk Score\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Low Risk Score\"\r\n },\r\n\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Low Risk Score\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Medium Risk Score\"\r\n },\r\n {\r\n name: \"Emma Thompson\",\r\n region: \"United Kingdom\",\r\n risk: 7,\r\n return: 5.25,\r\n image: \"https://st.depositphotos.com/2218212/2938/i/450/depositphotos_29387653-stock-photo-facebook-profile.jpg\",\r\n copiers: 845,\r\n copyPercentage: 1.35,\r\n type: \"Medium Risk Score\"\r\n },\r\n ];\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n Dear investors, Hi!
\r\n Professional Fund Manager for more than 20 years. I am the most copied Popular investor specialized in Forex trading\r\n This low risk strategy aims consistent positive returns (40 months in a row since inception) with strict money management rules. My target is 1% per month. I monitor currency pairs all day to find the best entry. There is some management/scaling position for perfect entry. The risk control is a big part of my strategy, I take care a lot of my copiers' funds that I consider like mine.\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n {profiles\r\n .filter(profile => profile.type === \"Top Investors\")\r\n .map((profile, index) => (\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 About;","export default __webpack_public_path__ + \"static/media/1.3dd3ca5a.jpeg\";","export default __webpack_public_path__ + \"static/media/like.be1d10c9.png\";","export default __webpack_public_path__ + \"static/media/heart.d03a6207.png\";","import React from 'react';\r\nimport \"./Post.css\";\r\nimport { ThreeDotsVertical } from 'react-bootstrap-icons';\r\n\r\nimport { useState } from \"react\";\r\nimport per from '../../../assets/person/1.jpeg';\r\nimport Like from '../../../assets/post/like.png';\r\nimport heart from '../../../assets/post/heart.png';\r\n\r\n\r\nfunction Post({ post }) {\r\n\r\n const [like, setLike] = useState(post.like)\r\n const [isLiked, setIsLiked] = useState(false)\r\n\r\n const likeHandler = () => {\r\n setLike(isLiked ? like - 1 : like + 1)\r\n setIsLiked(!isLiked)\r\n }\r\n\r\n const Users = [\r\n {\r\n id: 1,\r\n profilePicture: per,\r\n username: \"Safak Kocaoglu\",\r\n },\r\n {\r\n id: 2,\r\n profilePicture: per,\r\n username: \"Janell Shrum\",\r\n },\r\n {\r\n id: 3,\r\n profilePicture: per,\r\n username: \"Alex Durden\",\r\n },\r\n {\r\n id: 4,\r\n profilePicture: per,\r\n username: \"Dora Hawks\",\r\n },\r\n {\r\n id: 5,\r\n profilePicture: per,\r\n username: \"Thomas Holden\",\r\n },\r\n {\r\n id: 6,\r\n profilePicture: per,\r\n username: \"Shirley Beauchamp\",\r\n },\r\n {\r\n id: 7,\r\n profilePicture: per,\r\n username: \"Travis Bennett\",\r\n },\r\n {\r\n id: 8,\r\n profilePicture: per,\r\n username: \"Kristen Thomas\",\r\n },\r\n {\r\n id: 9,\r\n profilePicture: per,\r\n username: \"Gary Duty\",\r\n },\r\n {\r\n id: 10,\r\n profilePicture: per,\r\n username: \"Safak Kocaoglu\",\r\n },\r\n ];\r\n\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n u.id === post?.userId)[0].profilePicture}\r\n alt=\"\"\r\n />\r\n \r\n {Users.filter((u) => u.id === post?.userId)[0].username}\r\n \r\n {post.date}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {post?.desc}\r\n \"\"\r\n
\r\n\r\n
\r\n
\r\n \"\"\r\n \"\"\r\n {like} people like it\r\n
\r\n
\r\n {post.comment} comments\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\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 Post\r\n","export default __webpack_public_path__ + \"static/media/2.5d8d56b7.jpeg\";","import React from 'react';\r\nimport Post from '../Post/Post'\r\nimport per from '../../../assets/post/2.jpeg';\r\n\r\nconst News = () => {\r\n const Posts = [\r\n {\r\n id: 1,\r\n desc: \"As we close out the week slightly back in the red for May I wanted to make a quick post to briefly discuss the volatility and remind you all about what you need to do in July due to me adding funds.\",\r\n photo: per,\r\n date: \"5 mins ago\",\r\n userId: 1,\r\n like: 32,\r\n comment: 9,\r\n },\r\n {\r\n id: 2,\r\n photo: per,\r\n date: \"15 mins ago\",\r\n userId: 2,\r\n like: 2,\r\n comment: 1,\r\n },\r\n {\r\n id: 3,\r\n desc: \"As we close out the week slightly back in the red for May I wanted to make a quick post to briefly discuss the volatility and remind you all about what you need to do in July due to me adding funds.\",\r\n\r\n date: \"1 hour ago\",\r\n userId: 3,\r\n like: 61,\r\n comment: 2,\r\n },\r\n {\r\n id: 4,\r\n photo: per,\r\n date: \"4 hours ago\",\r\n userId: 4,\r\n like: 7,\r\n comment: 3,\r\n },\r\n {\r\n id: 5,\r\n desc: \"As we close out the week slightly back in the red for May I wanted to make a quick post to briefly discuss the volatility and remind you all about what you need to do in July due to me adding funds.\",\r\n date: \"5 hours ago\",\r\n userId: 5,\r\n like: 23,\r\n comment: 5,\r\n },\r\n {\r\n id: 6,\r\n photo: per,\r\n date: \"1 day ago\",\r\n userId: 6,\r\n like: 44,\r\n comment: 6,\r\n },\r\n {\r\n id: 7,\r\n desc: \"As we close out the week slightly back in the red for May I wanted to make a quick post to briefly discuss the volatility and remind you all about what you need to do in July due to me adding funds.\",\r\n photo: per,\r\n date: \"2 days ago\",\r\n userId: 7,\r\n like: 52,\r\n comment: 3,\r\n },\r\n {\r\n id: 8,\r\n photo: per,\r\n date: \"3 days ago\",\r\n userId: 8,\r\n like: 15,\r\n comment: 1,\r\n },\r\n {\r\n id: 9,\r\n desc: \"As we close out the week slightly back in the red for May I wanted to make a quick post to briefly discuss the volatility and remind you all about what you need to do in July due to me adding funds.\",\r\n\r\n date: \"5 days ago\",\r\n userId: 9,\r\n like: 11,\r\n comment: 2,\r\n },\r\n {\r\n id: 10,\r\n photo: per,\r\n date: \"1 week ago\",\r\n userId: 10,\r\n like: 104,\r\n comment: 12,\r\n }\r\n ];\r\n return (\r\n
\r\n {\r\n Posts.map((p) => (\r\n \r\n ))\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default News;","import React, { useState, useEffect } from 'react';\r\nimport * as Helpers from \"../../../global/Helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ComponentChildCode } from '../../../constants/Constants';\r\nimport About from './About';\r\nimport News from './News';\r\n\r\n\r\nimport '../CopyPeopleProfile.css'\r\n\r\n\r\nconst Feed = (props) => {\r\n const { i18n } = useTranslation();\r\n\r\n const DefaultOpen = 1;\r\n const [openedTab, setOpenedTab] = useState(DefaultOpen);\r\n\r\n\r\n /* Transfer component mounted */\r\n useEffect(() => {\r\n /* componentDidMount */\r\n\r\n openTab(null, DefaultOpen);\r\n }, [])\r\n\r\n let ml2Localized = \"ml-2\";\r\n let leftLocalized = \"left\";\r\n let dir = \"ltr\";\r\n var height = \"150px\";\r\n\r\n if (Helpers.getIsIPad()) {\r\n height = \"185px\";\r\n }\r\n\r\n if (i18n.language === \"ar\") {\r\n ml2Localized = \"mr-2\";\r\n leftLocalized = \"right\";\r\n dir = \"rtl\";\r\n }\r\n\r\n function openTab(evt, tab) {\r\n var i, tablinksCopyPeople;\r\n setOpenedTab(tab);\r\n tablinksCopyPeople = document.getElementsByClassName(\"Feedtablinks\");\r\n\r\n for (i = 0; i < tablinksCopyPeople.length; i++) {\r\n tablinksCopyPeople[i].className = tablinksCopyPeople[i].className.replace(\" active\", \"\");\r\n }\r\n if (tablinksCopyPeople.length !== 0)\r\n if (evt) {\r\n evt.currentTarget.className += \" active\";\r\n } else {\r\n tablinksCopyPeople[0].className += \" active\";\r\n }\r\n }\r\n return (\r\n <>\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n {\r\n openedTab === 1\r\n ?
\r\n \r\n
\r\n\r\n : openedTab === 2\r\n ?\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n : null\r\n\r\n }\r\n
\r\n\r\n \r\n );\r\n};\r\n\r\nexport default Feed;","import React from 'react';\r\nimport { FaStar } from 'react-icons/fa';\r\nimport { RiWallet3Line, RiUserFollowLine, RiArrowUpSLine } from \"react-icons/ri\";\r\nimport { MdOutlineLocationOn } from \"react-icons/md\";\r\nimport { BsCashStack, BsPeople } from \"react-icons/bs\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport personImg from '../../assets/person/images.jpg';\r\nimport styles from './ProfileCard.module.css'; // Import the CSS module\r\n\r\n\r\nfunction ProfileCard() {\r\n const { i18n } = useTranslation();\r\n const isRtl = i18n.language === 'ar';\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {`profile`}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
David James
\r\n
\r\n
\r\n \r\n
\r\n\r\n
United Arab Emirates\r\n
\r\n
\r\n
\r\n
+4.58%
\r\n
(Last 1 week)
\r\n
\r\n
\r\n
RISK
\r\n
1
\r\n
\r\n
\r\n
\r\n
\r\n \r\n 14,540
\r\n
Followers
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
^ 147 COPIERS
\r\n
LAST 7 DAYS
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n 43,321
\r\n
COPIERS
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ProfileCard;\r\n","import React, { useState, useEffect } from 'react';\r\nimport * as Helpers from \"../../global/Helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Person, BarChartLine, GraphUp, CardText } from 'react-bootstrap-icons';\r\nimport { ComponentChildCode } from '../../constants/Constants';\r\nimport ChartCopyProfile from '././MainChart/ChartCopyProfile';\r\nimport Stats from './Stats/Stats';\r\nimport PortfolioCopyProfile from './PortfolioCopyProfile';\r\nimport Feed from './Feed/Feed';\r\nimport './CopyPeopleProfile.css'\r\n\r\nimport ProfileCard from './ProfileCard';\r\n\r\n\r\n\r\nconst CopyPeopleProfile = (props) => {\r\n \r\n const { i18n } = useTranslation();\r\n\r\n const DefaultOpen = 1;\r\n const [openedTab, setOpenedTab] = useState(DefaultOpen);\r\n\r\n\r\n /* Transfer component mounted */\r\n useEffect(() => {\r\n /* componentDidMount */\r\n\r\n openTab(null, DefaultOpen);\r\n }, [])\r\n\r\n let ml2Localized = \"ml-2\";\r\n let leftLocalized = \"left\";\r\n let dir = \"ltr\";\r\n var height = \"150px\";\r\n\r\n if (Helpers.getIsIPad()) {\r\n height = \"185px\";\r\n }\r\n\r\n if (i18n.language === \"ar\") {\r\n ml2Localized = \"mr-2\";\r\n leftLocalized = \"right\";\r\n dir = \"rtl\";\r\n }\r\n\r\n function openTab(evt, tab) {\r\n var i, tablinksCopyPeople;\r\n setOpenedTab(tab);\r\n tablinksCopyPeople = document.getElementsByClassName(\"CopyPeopleProfiletablinks\");\r\n\r\n for (i = 0; i < tablinksCopyPeople.length; i++) {\r\n tablinksCopyPeople[i].className = tablinksCopyPeople[i].className.replace(\" active\", \"\");\r\n }\r\n if (tablinksCopyPeople.length !== 0)\r\n if (evt) {\r\n evt.currentTarget.className += \" active\";\r\n } else {\r\n tablinksCopyPeople[0].className += \" active\";\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n {\r\n Helpers.getIsIPad()\r\n ?
\r\n
\r\n {i18n.t(\"transfersTitle\")}\r\n
\r\n
\r\n : null\r\n }\r\n\r\n\r\n
\r\n {/* ProfileCard */}\r\n
\r\n \r\n
\r\n\r\n <>\r\n {/* tabs buttons */}\r\n\r\n {/*
*/}\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n {\r\n openedTab === 1\r\n ?
\r\n \r\n
\r\n\r\n : openedTab === 2\r\n ?\r\n
\r\n \r\n
\r\n\r\n\r\n : openedTab === 3\r\n ?
\r\n \r\n
\r\n\r\n\r\n : openedTab === 4\r\n ?
\r\n \r\n
\r\n : null\r\n\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n );\r\n};\r\n\r\nexport default CopyPeopleProfile;","\r\nexport let localStorageConstants = {\r\n app_path: \"app_path\",\r\n company_name: \"company_name\",\r\n Region: \"Region\",\r\n server_url: \"server_url\",\r\n chart_iq_url: \"chart_iq_url\",\r\n chart_trading_url: \"chart_trading_url\",\r\n signalr_url: \"signalr_url\",\r\n signalr_hub: \"signalr_hub\",\r\n theme: \"theme\",\r\n isTickerVisible: \"isTickerVisible\",\r\n last_Work_day: \"last_Work_day\",\r\n Foreign_Market: \"Foreign_Market\",\r\n PortfolioProvider: \"PortfolioProvider\",\r\n EnableTags: \"EnableTags\",\r\n EnableIPOQuickSell: \"EnableIPOQuickSell\",\r\n EnableSymbolFullName: \"EnableSymbolFullName\",\r\n EnableMarketWatchCache: \"EnableMarketWatchCache\",\r\n signalrCallInterval: \"signalrCallInterval\"\r\n};\r\n\r\nexport let serverURL = \"\";\r\nexport let signalrURL = \"\";\r\nexport let signalrHub = \"\";\r\nexport let domainURL = \"\";\r\nexport let baseURL = \"\";\r\n\r\n//Login/logoff\r\nexport let userAuthintications = \"UserAuthintications\";\r\nexport let UserAuthinticationAdvance = baseURL + \"UserAuthinticationAdvance\"; //new api\r\nexport let ForGotUsername = baseURL + \"ForGotUsername\"; //new api\r\nexport let UserAuthinticationIPOQuickSell = baseURL + \"UserAuthinticationIPOQuickSell\"; //new api\r\nexport let ResetUserNameAdvance = baseURL + \"ResetUserNameAdvance\"; //new api\r\nexport let ResetPasswordAdvance = baseURL + \"ResetPasswordAdvance\"; //new api\r\n\r\nexport let logOff = \"UsersLogOff\";\r\nexport let registrationsOTP = \"RegistrationsOTP\";\r\nexport let changesPassword = \"ChangesPassword\";\r\nexport let renewSubscriptionUser = \"\";\r\n\r\n//profile api\r\nexport let profileBaseUrl = \"\";\r\nexport let profileBaseUrlPart2 = \"\";\r\nexport let getProfiles = \"\";\r\nexport let getCompaniesLookups = \"\";\r\n\r\nexport let GetUserAccounts = \"\";\r\nexport let addMarketWatchProfileSymbol = \"\";\r\nexport let addMarketWatchProfileName = \"\";\r\nexport let deleteMarketWatchProfile = \"\";\r\nexport let HeartBeat = \"\";\r\nexport let RenewUserSesssion = \"\";\r\nexport let deleteMarketWatchProfileSymbol = \"\"; //{ProfileID}/{Symbol}/{WebCode}\r\nexport let DeleteMarketWatchProfileAllSymbols = \"\"; //{ProfileID}/{Symbol}/{WebCode}\r\nexport let GetAvgIndexes = \"\";\r\nexport let getMarketByProfileDefault = \"GetMarketWatchByProfileID/1/\";\r\nexport let getMarketByProfile = \"GetMarketWatchByProfileID/\";\r\nexport let GetMarketWatchCacheDataByProfileID = \"GetMarketWatchCacheDataByProfileID/\";\r\nexport let GetMarketWatchByProfileIDAndSymbol = \"GetMarketWatchByProfileIDAndSymbol/\";\r\nexport let getExchangeSummary = \"\";\r\nexport let getIndexesSummary = \"GetMarketIndiciesSecound/\";\r\nexport let getAllMarketNews = \"GetAllMarketNews/\";\r\nexport let GetUSCompaniesResults = \"\";\r\nexport let CheckIfUSSymbolExist = \"\";\r\nexport let AddUSTOCompaniesLookups = \"\";\r\n\r\nexport let addMarketWatchProfileSymbolCache = \"\";\r\nexport let DeleteMarketWatchProfileAllSymbolsCache = \"\";\r\nexport let DeleteMarketWatchProfileSymbolCache = \"\";\r\n\r\nexport let GetCryptoCompaniesResults = \"\";\r\nexport let CheckIfCryptoSymbolExist = \"\";\r\nexport let AddCryptoSymbolToCompaniesList = \"\";\r\n\r\nexport let TraceInfoPost = \"\";\r\n\r\nexport let GetMarketIndicies = \"\";\r\n\r\nexport let getLookups = \"\"; //+ localStorage.getItem(\"WebCode\") + '?' + Math.random()\r\nexport let getRiskManagement = \"\";\r\nexport let GetRiskManagment = \"\";\r\nexport let GetRiskManagmentCash = \"\";\r\nexport let calculatesShares = \"\";\r\nexport let addBasketOrderDetails = \"\";\r\nexport let modifyBasketOrderDetails = \"\";\r\n\r\nexport let addOrder = \"\";\r\nexport let addOrdersRealTime = \"\";\r\nexport let modifyOrderRealTime = \"\";\r\nexport let cancelOrderRealTime = \"\";\r\n\r\n//Workspace\r\nexport let getProfilesByUserId = \"\"; //+ localStorage.getItem(\"WebCode\");\r\n\r\nexport let GetSettingWorkSpaceByUserID = \"\"; //+ localStorage.getItem(\"WebCode\");\r\n\r\nexport let addProfile = \"\";\r\nexport let updateProfile = \"\";\r\nexport let UpdateUserProfileSettings = \"\";\r\nexport let UpdatePreferredLangAccount = \"\";\r\nexport let deleteProfile = \"\";\r\n\r\nexport let getPasswordPolicy = \"\";\r\n\r\n/* Account Summary */\r\nexport let getAccSummary = \"\";\r\nexport let getExpectedProfitLoss = \"\"; //portfolio api\r\nexport let GetPortfolioAndAccSum = \"\"; //portfolio api and account Summary\r\nexport let getTransactionSummary = \"\";\r\n\r\n//statement\r\nexport let getStatmentOfAccount = \"\";\r\nexport let getGroupByOrderStatmentOfAccount = \"\";\r\nexport let getGroupedStatmentOfAccount = \"\";\r\nexport let sendDocumentByEmail = \"\";\r\n\r\nexport let getTradeConfirmation = \"\";\r\nexport let TradeConfirmationReport = \"\";\r\nexport let getBankTransferInfo = \"\"; //deprecated\r\nexport let getAccountTransferInfo = \"\";\r\nexport let getBalanceBreakdown = \"\";\r\nexport let transferAmountSec = \"\";\r\nexport let submitCrmRequestRamz = \"\";\r\nexport let submitCrmRequestRamz2 = \"\";\r\nexport let getBankIBAN = \"\";\r\nexport let AddBankIBAN = \"\";\r\nexport let CancelB2bRequest = \"\";\r\nexport let CancelEquityTransferRequest = \"\";\r\nexport let checkIBAN = \"\";\r\nexport let AllTransfersReq = \"\";\r\nexport let GetTransferReqPenddingShares = \"\";\r\n\r\nexport let getAllPushNotificationsByUser = \"\";\r\nexport let getAllPushNotificationsFromFirebase = \"\";\r\nexport let updateReadPushNotificationsFlag = \"\";\r\nexport let getHistorySymbolData = \"\";\r\nexport let getAlerts = \"\";\r\nexport let addAlert = \"\";\r\nexport let deleteAlertByAlertID = \"\";\r\nexport let getConditionalByUsr = \"\";\r\nexport let GetBracketOrder = \"\";\r\nexport let deleteConditionalByID = \"\";\r\nexport let addConditionalOrder = \"\";\r\nexport let getDFN_StockData = \"\";\r\n\r\nexport let getChatWebBRKLookup = \"\";\r\nexport let getLastChatConversion = \"\";\r\nexport let GetShareTransferLogGrouped = \"\";\r\nexport let GetShareTransferLogWithDetails = \"\";\r\nexport let GetShareTransferLogDetails = \"\";\r\nexport let GetNextRequestID = \"\";\r\nexport let SubmitShareTransferReq = \"\";\r\nexport let SubmitEquityTransferReq = \"\";\r\nexport let GetAccountTransferInfo = \"\";\r\nexport let GetExpectedProfitLossSec = \"\";\r\n\r\nexport let GetUserPermissionsByGroupID = \"\";\r\n\r\n//Report Service\r\nexport let GetAccountSummaryReport = \"\";\r\nexport let GetExpectedPortfolioReport = \"\";\r\nexport let GetProfitLossTransactionReport = \"\";\r\nexport let GetTradesConfirmationReport = \"\";\r\n\r\nexport let GetUSSymbolNews = \"\";\r\nexport let CheckUpdateIdValidity = \"\";\r\nexport let UpdateIdValidity = \"\";\r\nexport let UploadClientDocuments = \"\";\r\nexport let GetRequiredUserDocuments2 = \"\";\r\n\r\nexport let GetContactInfo = \"\";\r\nexport let GetCashDepURL = \"\";\r\nexport let GetDeviceConfigs = \"\";\r\nexport let TechnicalIndicator = \"\";\r\nexport let BasketOrederURL = \"\";\r\nexport let DeleteBasketOrder = \"\";\r\nexport let UpdateRejectReasonBasketOrder = \"\";\r\nexport let CustodiansByClientID = \"\";\r\nexport let GetDailyReports = \"\";\r\nexport let TransferAmount = \"\";\r\nexport let GetIPOLink = \"\";\r\nexport let UpdateTermsAndConditionsVersion = \"\";\r\nexport let GetTermsAndConditionsText = \"\";\r\nexport let GetChartIntraDayData = \"\"; // mustafa\r\nexport let GetSymbolsTrades = \"\";\r\nexport let GetSubscriptionPlans = \"\"; // mustafa\r\nexport let GetSubscribedPlans = \"\"; // mustafa\r\nexport let AddSubscription = \"\"; // mustafa\r\nexport let GetCurrencyConversion = \"\"; // mustafa\r\n\r\n\r\n\r\n//function to update basic exported values, since exported Let variables are only modified in its module\r\nexport function updateUrls(server_url, signalr_url, signalr_hub) {\r\n serverURL = server_url;\r\n signalrURL = signalr_url;\r\n signalrHub = signalr_hub;\r\n domainURL = server_url;\r\n\r\n baseURL = server_url + \"GeneralWServices/\";\r\n UserAuthinticationAdvance = baseURL + \"UserAuthinticationAdvance\"; //new api\r\n ForGotUsername = baseURL + \"ForgotUsername\"; //new api\r\n UserAuthinticationIPOQuickSell = baseURL + \"UserAuthinticationIPOQuickSell\"; //new api\r\n ResetUserNameAdvance = baseURL + \"ResetUserNameAdvance\"; //new api\r\n ResetPasswordAdvance = baseURL + \"ResetPasswordAdvance\"; //new api\r\n getCompaniesLookups = baseURL + \"GetCompaniesLookups/\";\r\n CheckIfUSSymbolExist = baseURL + \"CheckIfUSSymbolExist/\";\r\n AddUSTOCompaniesLookups = baseURL + \"AddUSTOCompaniesLookups/\";\r\n CheckIfCryptoSymbolExist = baseURL + \"CheckIfCryptoSymbolExist/\";\r\n AddCryptoSymbolToCompaniesList = baseURL + \"AddCryptoSymbolToCompaniesList/\";\r\n\r\n TraceInfoPost = baseURL + \"TraceInfoPost\";\r\n\r\n HeartBeat = baseURL + \"HeartBeat/\";\r\n RenewUserSesssion = baseURL + \"RenewUserSesssion/\";\r\n\r\n profileBaseUrl = domainURL + \"MarektWServices/\";\r\n profileBaseUrlPart2 = domainURL + \"RealTimeWServices/\";\r\n getProfiles = profileBaseUrl + \"GetAllProfilesLookupsByUSerCode/\";\r\n addMarketWatchProfileSymbol = profileBaseUrl + \"AddMarketWatchProfileSymbol/\";\r\n addMarketWatchProfileName = profileBaseUrl + \"AddMarketWatchProfileName/\";\r\n deleteMarketWatchProfile = profileBaseUrl + \"DeleteMarketWatchProfile/\";\r\n deleteMarketWatchProfileSymbol = profileBaseUrl + \"DeleteMarketWatchProfileSymbol/\"; //{ProfileID}/{Symbol}/{WebCode}\r\n DeleteMarketWatchProfileAllSymbols = profileBaseUrl + \"DeleteMarketWatchProfileAllSymbols\"; //{ProfileID}/{Symbol}/{WebCode}\r\n\r\n addMarketWatchProfileSymbolCache = profileBaseUrlPart2 + \"AddMarketWatchProfileSymbolCache/\";\r\n DeleteMarketWatchProfileSymbolCache = profileBaseUrlPart2 + \"DeleteMarketWatchProfileSymbolCache/\";\r\n DeleteMarketWatchProfileAllSymbolsCache = profileBaseUrlPart2 + \"DeleteMarketWatchProfileAllSymbolsCache\"; //{ProfileID}/{Symbol}/{WebCode}\r\n GetMarketWatchCacheDataByProfileID = \"GetMarketWatchCacheDataByProfileID/\";\r\n\r\n\r\n getMarketByProfileDefault = \"GetMarketWatchByProfileID/1/\";\r\n getMarketByProfile = \"GetMarketWatchByProfileID/\";\r\n GetMarketWatchByProfileIDAndSymbol = \"GetMarketWatchByProfileIDAndSymbol/\";\r\n getAllMarketNews = \"GetAllMarketNews/\";\r\n\r\n getExchangeSummary = domainURL + \"MarektWServices/GetExchangeSummary/\";\r\n getIndexesSummary = domainURL + \"MarektWServices/GetMarketIndiciesSecound/\";\r\n GetMarketIndicies = domainURL + \"MarektWServices/GetMarketIndicies/\";\r\n GetAvgIndexes = domainURL + \"MarektWServices/GetAvgIndexes/\";\r\n\r\n getRiskManagement = domainURL + \"TradingWServices/GetRsikManagment/\";\r\n GetRiskManagment = domainURL + \"TradingWServices/GetRiskManagment\";\r\n GetRiskManagmentCash = domainURL + \"TradingWServices/GetRsikManagmentCache\";\r\n calculatesShares = domainURL + \"TradingWServices/CalculatesShares/\";\r\n addBasketOrderDetails = domainURL + \"TradingWServices/AddBasketOrderDetails\";\r\n modifyBasketOrderDetails = domainURL + \"TradingWServices/ModifyBasketOrderDetails\";\r\n addOrder = domainURL + \"TradingWServices/AddOrder\";\r\n\r\n addOrdersRealTime = domainURL + \"RealTimeWServices/AddOrders\";\r\n modifyOrderRealTime = domainURL + \"RealTimeWServices/ModifyOrders\";\r\n cancelOrderRealTime = domainURL + \"RealTimeWServices/CancelOrder\";\r\n\r\n GetUserAccounts = domainURL + \"GeneralWServices/GetUserAccounts/\";\r\n getLookups = domainURL + \"GeneralWServices/getlookups/\"; //+ localStorage.getItem(\"WebCode\") + '?' + Math.random()\r\n getProfilesByUserId = domainURL + \"GeneralWServices/GetProfilesLookupByUserID/\"; //+ localStorage.getItem(\"WebCode\");\r\n GetSettingWorkSpaceByUserID = domainURL + \"GeneralWServices/GetSettingWorkSpaceByUserID/\"; //+ localStorage.getItem(\"WebCode\");\r\n addProfile = domainURL + \"GeneralWServices/AddProfile\";\r\n updateProfile = domainURL + \"GeneralWServices/UpdateProfile\";\r\n\r\n UpdateUserProfileSettings = domainURL + \"GeneralWServices/UpdateUserProfileSettings\";\r\n UpdatePreferredLangAccount = domainURL + \"GeneralWServices/UpdatePreferredLang/\";\r\n deleteProfile = domainURL + \"GeneralWServices/DeleteProfile\";\r\n getPasswordPolicy = domainURL + \"GeneralWServices/GetPasswordPolicy/\";\r\n GetUserPermissionsByGroupID = domainURL + \"GeneralWServices/GetUserPermissionsByGroupID/\"; //{GROUPCODE}/{WEBCODE}\r\n CheckUpdateIdValidity = domainURL + \"GeneralWServices/CheckUpdateIdValidity/\";\r\n UpdateIdValidity = domainURL + \"GeneralWServices/UpdateIdValidity3\";\r\n UploadClientDocuments = domainURL + \"GeneralWServices/UploadClientDocuments\";\r\n GetRequiredUserDocuments2 = domainURL + \"GeneralWServices/GetRequiredUserDocuments2\";\r\n\r\n getAccSummary = domainURL + \"FinancialWServices/GetAccSummary/\";\r\n getExpectedProfitLoss = domainURL + \"FinancialWServices/GetExpectedProfitLoss/\"; //portfolio api\r\n GetPortfolioAndAccSum = domainURL + \"FinancialWServices/GetPortfolioAndAccSum/\"; //portfolio api\r\n getStatmentOfAccount = domainURL + \"FinancialWServices/GetStatmentOfAccount/\";\r\n getGroupByOrderStatmentOfAccount = domainURL + \"FinancialWServices/GetGroupByOrderStatmentOfAccount/\";\r\n getGroupedStatmentOfAccount = domainURL + \"FinancialWServices/GetGroupedStatmentOfAccount/\";\r\n getTradeConfirmation = domainURL + \"FinancialWServices/GetTradesConfirmation/\";\r\n TradeConfirmationReport = domainURL + \"FinancialWServices/TradeConfirmationReport/\";\r\n getBankTransferInfo = domainURL + \"FinancialWServices/GetBankTransferInfo/\";\r\n getAccountTransferInfo = domainURL + \"FinancialWServices/GetAccountTransferInfo\";\r\n getBalanceBreakdown = domainURL + \"FinancialWServices/GetBalanceBreakDown/\";\r\n transferAmountSec = domainURL + \"FinancialWServices/TransferAmountSec\";\r\n submitCrmRequestRamz = domainURL + \"FinancialWServices/SubmitCrmRequestRamz\";\r\n submitCrmRequestRamz2 = domainURL + \"FinancialWServices/submitCrmRequestRamz2\";\r\n sendDocumentByEmail = domainURL + \"FinancialWServices/SendDocumentByEmails/\";\r\n renewSubscriptionUser = domainURL + \"FinancialWServices/RenewSubscriptionUser/\";\r\n getTransactionSummary = domainURL + \"FinancialWServices/getTransactionSummary/\";\r\n getBankIBAN = domainURL + \"FinancialWServices/GetBankIBAN/\";\r\n AddBankIBAN = domainURL + \"FinancialWServices/AddBankIBAN\";\r\n CancelEquityTransferRequest = domainURL + \"FinancialWServices/CancelEquityTransferRequest\";\r\n CancelB2bRequest = domainURL + \"FinancialWServices/CancelB2bRequest\";\r\n checkIBAN = domainURL + \"FinancialWServices/checkIBAN/\";\r\n AllTransfersReq = domainURL + \"FinancialWServices/GetB2bRequests/\";\r\n GetTransferReqPenddingShares = domainURL + \"FinancialWServices/GetTransferReqPenddingShares/\";\r\n\r\n getAllPushNotificationsByUser = domainURL + \"NotificationWServices/GetAllPushNotificationsByUser/\";\r\n getAllPushNotificationsFromFirebase = domainURL + \"NotificationWServices/GetAdminNotification/\";\r\n updateReadPushNotificationsFlag = domainURL + \"NotificationWServices/UpdateReadPushNotificationsFlag/\";\r\n getHistorySymbolData = domainURL + \"NotificationWServices/GetHistorySymbolData/\";\r\n getAlerts = domainURL + \"NotificationWServices/GetAlertByUSerCode/\";\r\n addAlert = domainURL + \"NotificationWServices/AddAlert/\";\r\n deleteAlertByAlertID = domainURL + \"NotificationWServices/DeleteAlertByAlertID/\";\r\n getConditionalByUsr = domainURL + \"NotificationWServices/GetConditionalByUsr/\";\r\n deleteConditionalByID = domainURL + \"NotificationWServices/DeleteConditionalByID/\";\r\n addConditionalOrder = domainURL + \"NotificationWServices/AddConditionalOrder\";\r\n getDFN_StockData = domainURL + \"RealTimeWServices/GetDFN_StockData\";\r\n getLastChatConversion = domainURL + \"NotificationWServices/GetLastChatConversion/\";\r\n getChatWebBRKLookup = domainURL + \"NotificationWServices/GetChatWebBRKLookup/\";\r\n GetShareTransferLogGrouped = domainURL + \"FinancialWServices/GetShareTransferLogGrouped/\";\r\n GetShareTransferLogWithDetails = domainURL + \"FinancialWServices/GetShareTransferLogWithDetails/\";\r\n GetShareTransferLogDetails = domainURL + \"FinancialWServices/GetShareTransferLog/\";\r\n GetNextRequestID = domainURL + \"FinancialWServices/GetNextRequestID/\";\r\n SubmitShareTransferReq = domainURL + \"FinancialWServices/SubmitShareTransferReq\";\r\n SubmitEquityTransferReq = domainURL + \"FinancialWServices/SubmitEquityTransferReq\";\r\n GetAccountTransferInfo = domainURL + \"FinancialWServices/GetAccountTransferInfo\";\r\n GetExpectedProfitLossSec = domainURL + \"FinancialWServices/GetExpectedProfitLossSec/\";\r\n\r\n GetAccountSummaryReport = domainURL + \"ReportGeneratorWServices/GetAccountSummaryReport\";\r\n GetExpectedPortfolioReport = domainURL + \"ReportGeneratorWServices/GetExpectedPortfolioReport\";\r\n GetProfitLossTransactionReport = domainURL + \"ReportGeneratorWServices/GetProfitLossTransactionReport\";\r\n GetTradesConfirmationReport = domainURL + \"ReportGeneratorWServices/GetTradesConfirmationReport\";\r\n GetUSCompaniesResults = domainURL + \"RealTimeWServices/GetUSCompaniesResults/\";\r\n GetUSSymbolNews = domainURL + \"RealTimeWServices/GetUSSymbolNews/\";\r\n\r\n GetCryptoCompaniesResults = domainURL + \"RealTimeWServices/GetCryptoCompaniesLookup/\";\r\n\r\n GetContactInfo = domainURL + \"GeneralWServices/GetContactInfo\";\r\n GetCashDepURL = domainURL + \"GeneralWServices/GetCashDepURL/\";\r\n GetDeviceConfigs = domainURL + \"GeneralWServices/GetDeviceConfigs\";\r\n TechnicalIndicator = domainURL + \"RealTimeWServices/TechnicalIndicator\";\r\n CustodiansByClientID = domainURL + \"TradingWServices/GetCustodiansByClientID\";\r\n BasketOrederURL = domainURL + \"TradingWServices/GetBasketOrderDetails\";\r\n DeleteBasketOrder = domainURL + \"TradingWServices/DeleteBasketOrderDetails\";\r\n UpdateRejectReasonBasketOrder = domainURL + \"TradingWServices/UpdateRejectReasonBasketOrder\";\r\n GetDailyReports = domainURL + 'GeneralWServices/GetDailyReports';\r\n TransferAmount = domainURL + 'FinancialWServices/CrmRequest';\r\n GetIPOLink = domainURL + \"GeneralWServices/GetIPOLink/\";\r\n UpdateTermsAndConditionsVersion = domainURL + \"GeneralWServices/UpdateTermsAndConditionsVersion/\";\r\n GetTermsAndConditionsText = domainURL + \"GeneralWServices/GetTermsAndConditionsText/\";\r\n GetChartIntraDayData = serverURL + \"RealTimeWServices/GetChartIntraDayData/\"; //mustafa\r\n GetSubscriptionPlans = domainURL +\"FinancialWServices/GetSubscriptionPlans\";//mustafa\r\n GetSubscribedPlans = domainURL +\"FinancialWServices/GetSubscribedPlans\";//mustafa\r\n AddSubscription = domainURL + \"FinancialWServices/AddSubscription\";//mustafa\r\n GetCurrencyConversion = domainURL + \"FinancialWServices/GetCurrencyConversion\";//mustafa\r\n\r\n\r\n GetSymbolsTrades = domainURL + \"TradingWServices/GetSymbolTrades/\";\r\n GetBracketOrder = domainURL + \"TradingWServices/GetBracketOrder/\";\r\n}\r\n\r\n/* Orders */\r\nexport let config = {\r\n RealTimeOrders: true,\r\n AllowOfflineOrder: true,\r\n CompanyName: \"RAMZ\",\r\n RememberUserName: true,\r\n RememberPassword: true,\r\n};\r\n\r\n/* End Orders */\r\nexport let OrderStatusText = {\r\n Active: \"Active\",\r\n Traded: \"Traded\",\r\n Canceled: \"Canceled\",\r\n Suspended: \"Suspended\",\r\n Expired: \"Expired\",\r\n Pending: \"Pending\",\r\n New: \"New\",\r\n Outstanding: \"Outstanding\",\r\n Partially_Filled: \"Partially Filled\",\r\n Rejected: \"Rejected\",\r\n Fully_Filled: \"Fully Filled\",\r\n Sent: \"Sent\",\r\n Waiting: \"Waiting\",\r\n Private_Order: \"Private Order\",\r\n Unplaced_Order: \"Unplaced Order\",\r\n Pending_Modify: \"Pending Modify\", //1s\r\n Pending_New: \"Pending New\", //1s\r\n Pending_Canceld: \"Pending Canceld\", //1s\r\n InActive_Trigger: \"InActive Trigger\", //1s\r\n};\r\nexport let OrderStatusTextArabic = {\r\n Active: \"فعال\",\r\n Traded: \"Traded\",\r\n Canceled: \"ملغى\",\r\n Suspended: \"Suspended\",\r\n Expired: \"انتهت صلاحيته\",\r\n Pending: \"قيد التنفيذ\",\r\n New: \"جديد\",\r\n Outstanding: \"Outstanding\",\r\n Partially_Filled: \"منفذ جزئي\",\r\n Rejected: \"مرفوض\",\r\n Fully_Filled: \"منفذ بالكامل\",\r\n Sent: \"مرسل\",\r\n Waiting: \"انتظار\",\r\n Private_Order: \"Private Order\",\r\n Unplaced_Order: \"Unplaced Order\",\r\n Pending_Modify: \"Pending Modify\", //1s\r\n Pending_New: \"Pending New\", //1s\r\n Pending_Canceld: \"Pending Canceld\", //1s\r\n InActive_Trigger: \"InActive Trigger\", //1s\r\n};\r\nexport let OrderStatusResponse = {\r\n Active: \"A\",\r\n //Traded: 'T',// P or S partialy or fully filled\r\n Canceled: \"C\",\r\n Suspended: \"D\",\r\n Expired: \"E\",\r\n Pending: \"I\",\r\n New: \"N\",\r\n //Outstanding: 'O',\r\n Partially_Filled: \"P\",\r\n Rejected: \"R\",\r\n Fully_Filled: \"S\",\r\n Sent: \"T\", // T\r\n Waiting: \"W\",\r\n Private_Order: \"Z\",\r\n Unplaced_Order: \"L\",\r\n Pending_Canceld: \"H\", //1s\r\n Pending_New: \"F\", //1s\r\n Pending_Modify: \"G\", //1s\r\n InActive_Trigger: \"X\", //1s\r\n Resumed: \"U\", //1s \r\n};\r\nexport let OrderValidityResponse = {\r\n Day: \"0001\",\r\n GTC: \"0002\",\r\n GTD: \"0003\",\r\n GTW: \"0004\",\r\n GTM: \"0005\",\r\n FOK: \"0006\",\r\n FAK: \"0007\",\r\n};\r\n\r\nexport let CriteriaConditionalOrders = {\r\n Equals: \"0\",\r\n GreaterThan: \"1\",\r\n LessThan: \"2\"\r\n};\r\nexport let ParametersConditionalOrders = {\r\n LastPrice: \"1\",\r\n HighPrice: \"2\",\r\n LowPrice: \"3\",\r\n BidPrice: \"4\",\r\n OfferPrice: \"5\",\r\n NeChange: \"6\",\r\n NetChangePerc: \"7\",\r\n AveragePrice: \"8\",\r\n TotalValue: \"9\",\r\n TotalVolume: \"10\"\r\n}\r\n\r\nexport let account = {\r\n ALLOW_DERIV_TRADING: \"\",\r\n AccType: \"\",\r\n AccountDesc: \"\",\r\n AccountID: \"\",\r\n CL_BANK_ID: \"\",\r\n CL_BANK_ID2: \"\",\r\n CUR_CODE: \"\",\r\n ClientID: \"\",\r\n ClientNameA: \"\",\r\n ClientNameE: \"\",\r\n Email_Address: \"\",\r\n Exchange: \"\",\r\n Exchange_DESC_A: \"\",\r\n Exchange_DESC_E: \"\",\r\n IS_DEFAULT_ACC: \"\",\r\n IS_INTER: \"\",\r\n IS_Islamic: \"\",\r\n IS_MARGIN_ACC: \"\",\r\n IS_SAMEDAY: \"\",\r\n MainClientID: \"\",\r\n MainClientNameA: \"\",\r\n MainClientNameE: \"\",\r\n Mobile_NO: \"\",\r\n NIN: \"\",\r\n};\r\n\r\nexport let Layouts = {\r\n Trading: 1,\r\n Market_Overview: 2,\r\n Account_Summary: 3,\r\n New_Workspace: 4,\r\n fit_ag_grid: 5,\r\n Advance_Chart: 6,\r\n Stock_Profile: 7,\r\n settings: 999,\r\n defaultWorkspace: 8,\r\n binanceWorkspace: 9\r\n};\r\n\r\nexport let DockingTabs = {\r\n\r\n Main_Grid: \"t01\",\r\n Order_List: \"t02\",\r\n Order_Basket: \"t10\",\r\n Orders_Entry: \"t11\",\r\n Order_Search: \"t12\",\r\n Information: \"t13\",\r\n Market_Time_And_Sales: \"t14\",\r\n Tops: \"t15\",\r\n News_And_Announcements: \"t16\",\r\n Transfers: \"t17\",\r\n Account_Summary: \"t18\",\r\n Portfolio: \"t19\",\r\n Statement: \"t20\",\r\n Chart: \"t21\",\r\n Trade_Confirmation: \"t22\",\r\n Market_Indicies: \"t23\",\r\n Conditional_Orders: \"t24\",\r\n Balance_Breakdown: \"t25\",\r\n Historical_Symbol: \"t26\",\r\n Alert_Manager: \"t27\",\r\n Fundamental_Data: \"t28\",\r\n Client_Information: \"t29\",\r\n Market_Depth: \"p30\",\r\n Stock_Details: \"p31\",\r\n ChartIQ: \"p32\",\r\n SymbolTimeAndSales: \"p34\",\r\n SymbolNewAndAnnouncements: \"p35\",\r\n DetailQuote: \"p36\",\r\n TopsActive: \"p37\",\r\n Sector_overview: \"p38\",\r\n MarketSummary: \"p39\",\r\n AccountSummaryChart: \"p40\",\r\n HoldingsAllocation: \"p41\",\r\n TransactionSummary: \"p42\",\r\n ShortMWSymbol: \"p43\",\r\n VerticalMarketDepth: \"p44\",\r\n EquityTransfer: \"p45\",\r\n AllTransfersScreen: \"p46\",\r\n BinanceOrderEntry: \"p47\",\r\n AnalysisIndecator: \"p48\",\r\n BasketOrders: \"p49\",\r\n DailyReports: \"p50\",\r\n Requests: \"p51\",\r\n PortfolioFromDB: \"p52\",\r\n CopyPeopleList: \"p54\",\r\n TopTradersPortfolio: \"p55\",\r\n ChartTradeMarkets: \"p56\",\r\n MarginSharesList: \"p57\",\r\n cashFlowStatements: \"p58\",\r\n SymbolsTrades: \"p59\",\r\n BracketOrder: \"p60\"\r\n\r\n\r\n};\r\n\r\n//Id tab include linking Color button:\r\nexport let linkingColorTabs =\r\n \"t01, t02 , t11 , t12 , t26, t27 , t28 , p30, p31 , p32 , p34 , p35 , p36\";\r\n\r\nexport let LoginStatus = {\r\n Success: \"0\", //Sucess login\r\n InvalidLogin: \"-1\", //Invalid login\r\n invalidTokenID: \"-2\", //Invalid TokenID\r\n TokenSent: \"-3\", //OTP Token Sent\r\n TokenExpire: \"-4\", //Token is Expired\r\n noPermetions: \"N\", //No Permissions\r\n ExceedNoTrials: \"-6\", //Exceed No of Trials\r\n AlreadyLoggedIn: \"-7\", //Already logged in\r\n NotAgreeTermCondtion: \"-8\", //Didn't agree to terms and conditions\r\n UnknowError: \"-10\", //Unknow Error\r\n IPOQuickSell: \"-11\", //IPO Quick sell Acount_Not_EXIST OR More_Then_One_User\r\n EnableEtrade: \"-22\"\r\n};\r\n\r\nexport let ComponentChildCode = {\r\n Market_Watch: \"1\",\r\n Market_Watch_Trade: \"49\",\r\n Order_List: \"13\",\r\n Order_List_1: \"164\",\r\n Sell_Orders_Entry: \"11\",\r\n Buy_Orders_Entry: \"12\",\r\n Shares_Transfer: \"377\",\r\n\r\n TransferParent: \"34\",\r\n Transfer: \"370\",\r\n Internal_Transfer: \"382\",\r\n Wire_Transfer: \"384\",\r\n Cheque_Transfer: \"383\",\r\n IBAN_Transfer: \"385\",\r\n Cancel_Transfer: \"374\",\r\n Request_Log: \"386\",\r\n\r\n Account_Summary: \"44\",\r\n Account_Statement: \"46\", //=> Component: Statment\r\n Live_Chart: \"24\", //=> Component: Chart\r\n Trade_Confirmation: \"78\", //=> Component: Trade Confirmation\r\n Balance_Breakdown: \"76\",\r\n Historical_Symbol_Meta_Data: \"83\", //=>Component: Historical Symbol\r\n Alert: \"21\",\r\n Client_Informations: \"77\",\r\n Market_Depth: \"85\",\r\n Market_Depth_Order: \"3\",\r\n Market_Depth_price: \"2\",\r\n\r\n Martet_By_Symbol: \"4\",\r\n Conditional_Orders: \"35\",\r\n Fundamental_Data: \"96\",\r\n ChartIQ: \"10\",\r\n Portfolio: \"20\",\r\n Stock_Details: \"100\",\r\n Market_Indicies: \"22\",\r\n Market_Time_And_Sales: \"29\",\r\n Symbol_Time_And_Sales: \"103\",\r\n Market_News_And_Announsments: \"6\",\r\n Symbol_News_And_Announsments: \"97\",\r\n\r\n Tops: \"16\",\r\n Tops_Gainers: \"25\",\r\n Tops_Losers: \"26\",\r\n Tops_Value: \"27\",\r\n Tops_Volume: \"28\",\r\n Top_Trades: \"106\",\r\n\r\n Order_Search: \"13408\",\r\n Order_Basket: \"14\",\r\n change_password: \"19\",\r\n Quick_Order: \"47\",\r\n Market_trade_summary: \"30\",\r\n ShortMWSymbol: \"104\",\r\n TransactionSummary: \"105\",\r\n\r\n EtradeTicker: \"72\",\r\n ChangePassword: \"19\",\r\n subscriptionPlan: \"123\",\r\n\r\n // Equity Transfer\r\n EquityTransfer: \"107\",\r\n EquityTransferDisplay: \"1\",\r\n EquityTransferIn: \"2\",\r\n EquityTransferOut: \"3\",\r\n EquityTransferBetween: \"4\",\r\n EquityTransferLog: \"5\",\r\n EquityTransferCancel: \"6\",\r\n // --\r\n ContactUS: \"108\",\r\n UpdateIdValidity: \"109\",\r\n cashDeposit: \"110\",\r\n KYCLink: \"111\",\r\n IPOLink: \"112\",\r\n PreferredLanguage: \"113\",\r\n Subscription: \"114\",\r\n\r\n //DailyReports\r\n DailyReports: \"115\",\r\n DailyReportsDisplay: \"1\",\r\n Highlights: \"2\",\r\n EgyptDaily: \"3\",\r\n TechnicalReport: \"4\",\r\n AuthorityFiles: \"5\",\r\n //--\r\n\r\n CrmRequest: \"34\",\r\n\r\n // Copy People profile screen\r\n CopyPeopleList: \"116\",\r\n TopTradersPortfolio: \"117\",\r\n ChartTradeMarkets: \"118\",\r\n AboutMyAccount: \"119\",\r\n // --\r\n\r\n\r\n\r\n MarginSharesList: \"120\",\r\n cashFlowStatements: \"121\",\r\n SymbolsTrades: \"122\"\r\n\r\n\r\n};\r\n\r\nexport let redirectMobileURLS = {\r\n IOS: \" https://apps.apple.com/us/app/intl-securities/id1048904565\",\r\n Android: \"https://play.google.com/store/apps/details?id=app.id_IntegratedS_95149acdecf047db9b60bfc7b84de372\",\r\n};\r\n\r\nexport let dateFormat = \"ddMMyyyy\";\r\nexport let dateFormat_4 = \"dd-MM-yyyy\";\r\n\r\nexport let defaultTheme = \"light\"; //options: dark, light\r\n\r\nexport let errorNotifyDuration = 2000;\r\nexport let successNotifyDuration = 2000;\r\n","// HeaderTitle.js\r\nimport React from 'react';\r\nimport styles from './HeaderTitle.module.css'; // Import the CSS module\r\n\r\n\r\nconst HeaderTitle = ({ title, dir }) => {\r\n const isRTL = dir === 'rtl';\r\n\r\n return (\r\n
\r\n
\r\n {title}\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default HeaderTitle;\r\n","/* eslint-disable no-useless-escape */\r\n/* Section 1: General Functions */\r\nimport {\r\n OrderStatusText,\r\n OrderStatusResponse,\r\n OrderStatusTextArabic,\r\n} from \"../constants/Constants\";\r\nimport { lightTheme, darkTheme } from \"../global/theme\";\r\n\r\nimport * as Constants from \"../constants/Constants\";\r\nimport * as utils from \"./utils\";\r\nimport moment from \"moment\";\r\nimport { number } from \"prop-types\";\r\nimport { debug } from \"winston\";\r\nimport $ from \"jquery\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nvar numeral = require(\"numeral\");\r\n\r\nconst options = {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n};\r\nexport function numberFormatter(value) {\r\n const formatted = Number(value).toLocaleString(\"en\", options);\r\n return formatted;\r\n}\r\nexport function errorNotify(message, lang = \"en\") {\r\n\r\n toast.error(message, {\r\n position: toast.POSITION.BOTTOM_CENTER,\r\n hideProgressBar: true,\r\n autoClose: Constants.errorNotifyDuration,\r\n style: lang === \"ar\" ? { textAlign: \"right\" } : {},\r\n });\r\n}\r\nexport function successNotify(message, lang = \"en\") {\r\n toast.success(message, {\r\n position: toast.POSITION.BOTTOM_CENTER,\r\n hideProgressBar: true,\r\n autoClose: Constants.successNotifyDuration,\r\n style: lang === \"ar\" ? { textAlign: \"right\" } : {},\r\n });\r\n}\r\n\r\nexport function numberFormatterWithCommas(value) {\r\n if (isNaN(value) || value === null || value === \"\") return 0;\r\n return Number(value)\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n}\r\nexport function numberFormatterWithCommasGrid(param) {\r\n var value = param.value;\r\n if (isNaN(value) || value === null || value === \"\") return 0;\r\n var val = Number(value)\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n return val;\r\n}\r\n\r\nexport function numberFormatterDigits(value, numberOfDigits) {\r\n if (isNaN(value) || value === null || value === \"\") return 0;\r\n const formatted = Number(value).toFixed(numberOfDigits);\r\n return formatted;\r\n}\r\n\r\nexport function numberFormatterWithCommasAndDigits(value, numberOfDigits) {\r\n if (isNaN(value) || value === null || value === \"\") return 0;\r\n let options = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: numberOfDigits,\r\n };\r\n const formatted = Number(value).toLocaleString(\"en\", options);\r\n return formatted;\r\n}\r\n\r\nexport function numberFormatterWithCommasAndDigitsFixed(value, numberOfDigits) {\r\n if (isNaN(value) || value === null || value === \"\") return 0;\r\n\r\n let options = {\r\n minimumFractionDigits: numberOfDigits,\r\n maximumFractionDigits: numberOfDigits,\r\n };\r\n const formatted = Number(value).toLocaleString(\"en\", options);\r\n return formatted;\r\n}\r\n\r\nexport function threeDigitFormatValue(value, option = 3) {\r\n let option1 = {\r\n minimumFractionDigits: option,\r\n maximumFractionDigits: option,\r\n };\r\n\r\n let option2 = {\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4,\r\n };\r\n\r\n if (value === \"\" || value === null || value === undefined || isNaN(value)) {\r\n return 0;\r\n }\r\n\r\n if (value === \"Total\" || value === \"المجموع\") {\r\n return value;\r\n }\r\n\r\n // var rtn = localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"OMAN\"\r\n // ? value : Number(value).toLocaleString(\"en\", option1)\r\n\r\n return Number(value).toLocaleString(\"en\", option1);\r\n}\r\n\r\nexport function agGridSymbolLosses(params) {\r\n let value = params.value;\r\n if (params.data.Losses === \"2\") {\r\n value += \" | \";\r\n value += \"Accumulated Losses between 20% to 50% of issued capital\";\r\n } else if (params.data.Losses === \"3\") {\r\n value += \" | \";\r\n value += \"Accumulated Losses 50% or above of issued capital\";\r\n }\r\n return value;\r\n}\r\n\r\nexport function agGridThreeDigitFormatValue(params) {\r\n\r\n if (params === 0) {\r\n return params;\r\n }\r\n let value = params.value;\r\n if (params.data.hasOwnProperty(\"CUR_CODE\") || params.data.hasOwnProperty(\"CurCode\")) {\r\n var CurCode = params.data.hasOwnProperty(\"CUR_CODE\") ? params.data.CUR_CODE : params.data.CurCode\r\n if (CurCode === \"USD\" && params.colDef.field === \"NetChangePerc\") {\r\n value = threeDigitFormatValue(value, 2);\r\n } else {\r\n value = threeDigitFormatValue(value);\r\n }\r\n } else {\r\n value = threeDigitFormatValue(value);\r\n }\r\n // value = localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"OMAN\"\r\n // ? params.value : threeDigitFormatValue(value);\r\n return value;\r\n}\r\n\r\nexport function agGridCustomDigitFormatValue(params) {\r\n //\r\n let value = params.value;\r\n if (params.data.hasOwnProperty(\"CUR_CODE\") || params.data.hasOwnProperty(\"CurCode\")) {\r\n var CurCode = params.data.hasOwnProperty(\"CUR_CODE\") ? params.data.CUR_CODE : params.data.CurCode\r\n\r\n if (CurCode === \"USD\") {\r\n\r\n // if (Number(params.data.LastTradePrice) < 1 && Number(params.data.LastTradePrice) != 0) {\r\n // value = threeDigitFormatValue(value, 4);\r\n // } else if (Number(params.data.LastTradePrice) > 1 && Number(params.data.LastTradePrice) != 0) {\r\n // value = threeDigitFormatValue(value, 2);\r\n // } else\r\n // value = threeDigitFormatValue(value, 3);\r\n\r\n if ((Number(params.data.BidPrice) < 1 && Number(params.data.BidPrice) != 0) || (Number(params.data.OfferPrice) < 1 && Number(params.data.OfferPrice) != 0) || (Number(params.data.LastTradePrice) < 1 && Number(params.data.LastTradePrice) != 0)) {\r\n value = threeDigitFormatValue(value, 4);\r\n } else if ((Number(params.data.BidPrice) > 1 && Number(params.data.BidPrice) != 0) || (Number(params.data.OfferPrice) > 1 && Number(params.data.OfferPrice) != 0) || (Number(params.data.LastTradePrice) > 1 && Number(params.data.LastTradePrice) != 0)) {\r\n value = threeDigitFormatValue(value, 2);\r\n } else\r\n value = threeDigitFormatValue(value, 4);\r\n\r\n } else\r\n value = threeDigitFormatValue(value, 3);\r\n }\r\n else {\r\n value = threeDigitFormatValue(value, 3);\r\n }\r\n\r\n // value = (localStorage.getItem(Constants.localStorageConstants.Region)).toUpperCase() === \"OMAN\"\r\n // ? params.value : threeDigitFormatValue(value, 3);\r\n\r\n return value;\r\n}\r\n\r\nexport function qtyFormatValue(value) {\r\n\r\n if (value === \"\" || value === null || value === undefined) {\r\n return \"\";\r\n }\r\n if (value === \"Total\" || value === \"المجموع\") {\r\n return value;\r\n }\r\n return Number(value)\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n}\r\n\r\n\r\nexport function agGridQtyFormatValue(params) {\r\n let value = params.value;\r\n value = qtyFormatValue(value);\r\n return value;\r\n}\r\n\r\nexport function changePercentageFormatter(value) {\r\n if (value === \"\" || value === null || value === undefined) return 0;\r\n return value + \" %\";\r\n}\r\n\r\nexport function agGridChangePercentageFormatter(params) {\r\n if (params.value === \"\" || params.value === null || params.value === undefined) {\r\n return agGridThreeDigitFormatValue(0);\r\n }\r\n\r\n return agGridThreeDigitFormatValue(params);\r\n}\r\n\r\nexport function datetimeformatter(params) {\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(params);\r\n if (r && r.length === 7) {\r\n return new Date(\r\n parseInt(r[3]),\r\n parseInt(r[2]) - 1,\r\n parseInt(r[1]),\r\n parseInt(r[4]),\r\n parseInt(r[5]),\r\n parseInt(r[6])\r\n );\r\n }\r\n}\r\n\r\nexport function StatusFormatter(params, isAgGrid = true, language = \"en\") {\r\n let OrderStatus = \"\";\r\n switch (isAgGrid ? params.value : params) {\r\n case OrderStatusResponse.Active: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Active\r\n : OrderStatusText.Active;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Traded: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Traded\r\n : OrderStatusText.Traded;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Canceled: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Canceled\r\n : OrderStatusText.Canceled;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Suspended: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Suspended\r\n : OrderStatusText.Suspended;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Expired: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Expired\r\n : OrderStatusText.Expired;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.Pending: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Pending\r\n : OrderStatusText.Pending;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.New: {\r\n OrderStatus =\r\n language === \"ar\" ? OrderStatusTextArabic.New : OrderStatusText.New;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.Outstanding: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Outstanding\r\n : OrderStatusText.Outstanding;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.Partially_Filled: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Partially_Filled\r\n : OrderStatusText.Partially_Filled;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Rejected: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Rejected\r\n : OrderStatusText.Rejected;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.Fully_Filled: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Fully_Filled\r\n : OrderStatusText.Fully_Filled;\r\n return OrderStatus;\r\n }\r\n\r\n case OrderStatusResponse.Sent: {\r\n OrderStatus =\r\n language === \"ar\" ? OrderStatusTextArabic.Sent : OrderStatusText.Sent;\r\n return OrderStatus;\r\n }\r\n case OrderStatusResponse.Waiting: {\r\n OrderStatus =\r\n language === \"ar\"\r\n ? OrderStatusTextArabic.Waiting\r\n : OrderStatusText.Waiting;\r\n return OrderStatus;\r\n }\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport function isLoggedIn(abortController) {\r\n if (localStorage.getItem(\"user\")) {\r\n //console.log(\"logged in \");\r\n return auth(false, abortController);\r\n } else {\r\n //console.log(\"not logged in \");\r\n return false;\r\n }\r\n}\r\n\r\nexport async function auth(isfromHeader = false, abortController) {\r\n let getProfilesResponse = utils.getHeartBeat(abortController);\r\n getProfilesResponse\r\n .then((data) => {\r\n\r\n if (Number(data.data) > 0) return true;\r\n else {\r\n // if (!isfromHeader) window.appComponent.errorHandling();\r\n window.appComponent.errorHandling();\r\n return false;\r\n }\r\n })\r\n .finally(() => {\r\n if (abortController) abortController.abort();\r\n })\r\n .catch((error) => {\r\n if (error.response === undefined) {\r\n //console.log(error.message);\r\n return false;\r\n }\r\n let resStatus = error.response.status;\r\n let isAuthorized = utils.responseProcess(resStatus, true); //to check the user is logged in\r\n if (!isAuthorized) {\r\n //console.log(\"user unauthorized\");\r\n }\r\n if (abortController) abortController.abort();\r\n //console.log(error.message);\r\n return false;\r\n });\r\n}\r\n\r\nexport function dateFromString(s) {\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(s);\r\n //alert(r)\r\n\r\n if (r && r.length === 7) {\r\n return new Date(\r\n parseInt(r[3]),\r\n parseInt(r[2]) - 1,\r\n parseInt(r[1]),\r\n parseInt(r[4]),\r\n parseInt(r[5]),\r\n parseInt(r[6])\r\n );\r\n }\r\n return dateFromStringPlanB(s);\r\n}\r\nexport function dateFromStringPlanC(s, withTime = false) {\r\n var str = s;\r\n str = str.replace(\"+0300\", \"\");\r\n str = str.replace(\"+0200\", \"\");\r\n str = str.replace(\"+0400\", \"\");\r\n var num = parseInt(str.replace(/[^0-9]/g, \"\"));\r\n var date = new Date(num);\r\n\r\n var stringDate =\r\n (date.getMonth() + 1).toString() +\r\n \"/\" +\r\n date.getDate().toString() +\r\n \"/\" +\r\n date.getFullYear().toString() +\r\n (withTime\r\n ? \" \" +\r\n date.getHours() +\r\n \":\" +\r\n date.getMinutes() +\r\n \":\" +\r\n date.getSeconds() +\r\n (date.getHours() > 12 ? \" PM\" : \" AM\")\r\n : \"\");\r\n\r\n return stringDate;\r\n}\r\nexport function dateFromStringPlanE(s, withTime = false) {\r\n var str = s;\r\n // str = str.replace(\"+0300\", \"\")\r\n // str = str.replace(\"+0200\", \"\")\r\n // str = str.replace(\"+0400\", \"\")\r\n // var num = parseInt(str.replace(/[^0-9]/g, \"\"));\r\n var date = new Date(str);\r\n\r\n var stringDate =\r\n (date.getMonth() + 1).toString() +\r\n \"/\" +\r\n date.getDate().toString() +\r\n \"/\" +\r\n date.getFullYear().toString() +\r\n (withTime\r\n ? \" \" +\r\n date.getHours() +\r\n \":\" +\r\n date.getMinutes() +\r\n \":\" +\r\n date.getSeconds() +\r\n (date.getHours() > 12 ? \" PM\" : \" AM\")\r\n : \"\");\r\n\r\n return stringDate;\r\n}\r\nexport function dateFromStringPlanD(s) {\r\n var str = s;\r\n str = str.replace(\"+0300\", \"\");\r\n str = str.replace(\"+0200\", \"\");\r\n str = str.replace(\"+0400\", \"\");\r\n var num = parseInt(str.replace(/[^0-9]/g, \"\"));\r\n var date = new Date(num);\r\n\r\n // var stringDate = (date.getMonth() + 1).toString() + \"/\" + date.getDate().toString() + \"/\" + date.getFullYear().toString()\r\n\r\n return date;\r\n}\r\nexport function dateFromStringPlanB(s) {\r\n try {\r\n var strMod = s.replace(/\\ /gi, \"\");\r\n strMod = strMod.replace(/\\:/gi, \"\");\r\n strMod = strMod.replace(/\\-/gi, \"\");\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(strMod);\r\n //alert(\"planb\",r)\r\n if (r && r.length === 7) {\r\n return new Date(\r\n parseInt(r[3]),\r\n parseInt(r[2]) - 1,\r\n parseInt(r[1]),\r\n parseInt(r[4]),\r\n parseInt(r[5]),\r\n parseInt(r[6])\r\n );\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n return new Date(); //ragheb //ragheb //nbo ETRADE-11\r\n}\r\n\r\n//check if string is parseable to JSON\r\nexport function isJsonString(str) {\r\n if (str === null) {\r\n return false;\r\n }\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/* Is child descendant from parent */\r\nexport function isDescendant(parent, child) {\r\n var node = child.parentNode;\r\n while (node !== null) {\r\n if (node === parent) {\r\n return true;\r\n }\r\n node = node.parentNode;\r\n }\r\n return false;\r\n}\r\n\r\n//date to string\r\nexport function dateToString(d, dateOnly) {\r\n var str =\r\n twoDigitNumberToString(d.getDate()) +\r\n twoDigitNumberToString(d.getMonth() + 1) +\r\n d.getFullYear();\r\n if (dateOnly) str += \"000000\";\r\n else\r\n str +=\r\n twoDigitNumberToString(d.getHours()) +\r\n twoDigitNumberToString(d.getMinutes()) +\r\n twoDigitNumberToString(d.getSeconds());\r\n return str;\r\n}\r\n\r\n//returns yyyy-MM-dd\r\nexport function dateToFormatyyyyMMdd(d, dateOnly) {\r\n let date = dateToString(d, dateOnly); //returns: 25052021000000\r\n let day = date.substring(0, 2);\r\n let month = date.substring(2, 4);\r\n let year = date.substring(4, 8);\r\n let returnedDate = year + \"-\" + month + \"-\" + day;\r\n return returnedDate;\r\n}\r\n\r\n//by mhmd ramadan\r\nexport function DateFromYYYYMMDDtoDDMMYYYY(str, separator = \"-\") {\r\n if (str == undefined || str == null || str == 0 || str == \"0\") {\r\n return \"-\";\r\n }\r\n return str\r\n .split(\"\")\r\n .slice(6, 8)\r\n .toString()\r\n .replace(\",\", \"\")\r\n .concat(\r\n separator.concat(\r\n str\r\n .split(\"\")\r\n .slice(4, 6)\r\n .toString()\r\n .replace(\",\", \"\")\r\n .concat(\r\n separator.concat(\r\n str\r\n .split(\"\")\r\n .slice(0, 4)\r\n .toString()\r\n .replace(\",\", \"\")\r\n .replace(\",\", \"\")\r\n .replace(\",\", \"\")\r\n )\r\n )\r\n )\r\n );\r\n}\r\n\r\n//returns a string date: dd-MM-yyyy hh:mm:ss | example: 27-01-2021 13:23:10\r\nexport function dateFrommater(d) {\r\n\r\n let datestring =\r\n (\"0\" + d.getDate()).slice(-2) +\r\n \"-\" +\r\n (\"0\" + (d.getMonth() + 1)).slice(-2) +\r\n \"-\" +\r\n d.getFullYear() +\r\n \" \" +\r\n (\"0\" + d.getHours()).slice(-2) +\r\n \":\" +\r\n (\"0\" + d.getMinutes()).slice(-2) +\r\n \":\" +\r\n (\"0\" + d.getSeconds()).slice(-2);\r\n return datestring;\r\n}\r\n\r\nexport function yyyymmdd() {\r\n var now = new Date();\r\n var y = now.getFullYear();\r\n var m = now.getMonth() + 1;\r\n var d = now.getDate();\r\n return \"\" + y + (m < 10 ? \"0\" : \"\") + m + (d < 10 ? \"0\" : \"\") + d;\r\n}\r\n\r\n//return date with format 'ddMMyyyyHHmmss'\r\nexport function dateTimeFillFormat(date) {\r\n return moment(date).format(\"ddMMyyyyHHmmss\");\r\n}\r\n//return date with format 'ddMMyyyyHHmmss'\r\nexport function dateTimeFillFormat2(dates) {\r\n let date_ob = dates;\r\n\r\n // adjust 0 before single digit date\r\n let date = (\"0\" + date_ob.getDate()).slice(-2);\r\n\r\n // current month\r\n let month = (\"0\" + (date_ob.getMonth() + 1)).slice(-2);\r\n\r\n // current year\r\n let year = date_ob.getFullYear();\r\n\r\n // current hours\r\n let hours = \"00\";\r\n\r\n // current minutes\r\n let minutes = \"00\";\r\n\r\n // current seconds\r\n let seconds = \"00\";\r\n return date + month + year + hours + minutes + seconds;\r\n}\r\n\r\nexport function twoDigitNumberToString(dig) {\r\n if (dig >= 10) return dig.toString();\r\n return \"0\" + dig;\r\n}\r\n\r\n//example: 100,000 will be returned: 100k\r\nexport function nFormatter(num, digits) {\r\n if (num === null) {\r\n return null;\r\n } // terminate early\r\n if (num === 0) {\r\n return \"0\";\r\n } // terminate early\r\n /* digits = (!digits || digits < 0) ? 0 : digits; // number of decimal places to show\r\n var b = (num).toPrecision(2).split(\"e\"), // get power\r\n k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3), // floor at decimals, ceiling at trillions\r\n c = k < 1 ? num.toFixed(0 + digits) : (num / Math.pow(10, k * 3)).toFixed(1 + digits), // divide by power\r\n d = c < 0 ? c : Math.abs(c), // enforce -0 is 0\r\n e = d + ['', ' K', ' M', ' B', ' T',' P', ' E'][k]; // append power */\r\n let zeros = \"\";\r\n if (digits !== undefined && (digits !== null) & (digits > 0)) {\r\n zeros += \".\"; //place a point before zeros\r\n for (let i = 0; i < digits; i++) {\r\n zeros += \"0\";\r\n }\r\n }\r\n let e = numeral(num).format(\"0\" + zeros + \" a\");\r\n return e;\r\n}\r\n\r\n//convert string to html\r\nexport function convertStringToHtml(desc) {\r\n let linkEN = \"\";\r\n if (desc !== null) {\r\n linkEN = desc;\r\n var rg =\r\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/gi;\r\n var substring = \"]*[>]/gi, \"
\");\r\n linkEN = linkEN.replace(/;/g, \"; \");\r\n linkEN = linkEN.replace(/&/g, \" &\");\r\n linkEN = linkEN.replace(/http:/g, \" http:\");\r\n linkEN = linkEN.replace(/https:/g, \" https:\");\r\n linkEN = linkEN.replace(rg, \"
$1\");\r\n }\r\n }\r\n\r\n return linkEN;\r\n}\r\n\r\n//get language\r\nexport function getCurrentLanguage() {\r\n let language = \"en\";\r\n if (localStorage.getItem(\"language\") !== null) {\r\n if (localStorage.getItem(\"language\") === \"ar\") language = \"ar\";\r\n else language = \"en\";\r\n }\r\n return language;\r\n}\r\n\r\nexport function getMarketStatusName(StatusCode, i18n) {\r\n\r\n switch (StatusCode) {\r\n case \"0001\":\r\n return i18n.t(\"Pre_Open\");\r\n case \"0002\":\r\n return i18n.t(\"Open\");\r\n case \"0003\":\r\n return i18n.t(\"Continuous\");\r\n case \"0004\":\r\n return i18n.t(\"Closed\");\r\n case \"0005\":\r\n return i18n.t(\"Suspended\");\r\n case \"0006\":\r\n return i18n.t(\"Pre_Close\");\r\n case \"0007\":\r\n return i18n.t(\"Closing\");\r\n case \"0008\":\r\n return i18n.t(\"Late_Trading\");\r\n case \"0009\":\r\n return i18n.t(\"EOD_Monitoring\");\r\n case \"0010\":\r\n return i18n.t(\"Preclose-Adjustment\");\r\n case \"0011\":\r\n return i18n.t(\"Trade-At-Last\");\r\n case \"0012\":\r\n return i18n.t(\"Post-Close\");\r\n case \"0013\":\r\n return i18n.t(\"intraDayAction\");\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport function getComponentPermission(\r\n permData,\r\n ParentCode,\r\n ChildCode = \"-1\",\r\n isfromScreen = false\r\n) {\r\n let result = false;\r\n if (permData !== null && permData !== undefined && permData.length > 0) {\r\n if (isfromScreen) {\r\n let Check2 = permData.filter(\r\n (perm) => perm.ParentCode === ParentCode && perm.ChildCode === ChildCode\r\n );\r\n if (Check2 !== undefined && Check2 !== null && Check2.length > 0)\r\n result = true;\r\n } else {\r\n let Check = permData.filter(\r\n (perm) => perm.ChildCode === ParentCode && perm.ParentCode === \"0\"\r\n );\r\n if (Check !== undefined && Check !== null && Check.length > 0)\r\n result = true;\r\n }\r\n\r\n // permData.forEach(element => {\r\n // if (!isfromScreen) {\r\n // if (element.ChildCode === ParentCode) {\r\n // result = true;\r\n // }\r\n // }\r\n // else {\r\n //\r\n // if (element.ParentCode === ParentCode && element.ChildCode === ChildCode) {\r\n // result = true;\r\n // }\r\n // }\r\n // });\r\n }\r\n return result;\r\n}\r\n\r\n/* export function deepEqual(object1, object2) {\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n const val2 = object2[key];\r\n const areObjects = isObject(val1) && isObject(val2);\r\n if (\r\n areObjects && !deepEqual(val1, val2) ||\r\n !areObjects && val1 !== val2\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function isObject(object) {\r\n return object !== null && typeof object === 'object';\r\n} */\r\n\r\n/************ End Section 1 ************/\r\n\r\n/* Section 2: AgGrid Functions */\r\n\r\n/* Numbers Comparator */\r\nexport function numberSort(num1, num2) {\r\n return num1 - num2;\r\n}\r\n\r\n// DATE COMPARATOR FOR SORTING\r\nexport function dateComparator(date1, date2) {\r\n let date1Number = monthToNum(date1);\r\n let date2Number = monthToNum(date2);\r\n\r\n if (date1 === null && date2 === null) {\r\n return 0;\r\n }\r\n if (date1 === null) {\r\n return -1;\r\n }\r\n if (date2 === null) {\r\n return 1;\r\n }\r\n\r\n return date1Number - date2Number;\r\n}\r\n\r\n// HELPER FOR DATE COMPARISON\r\nexport function monthToNum(date) {\r\n if (date === undefined || date === null || date.length === 0 || isNaN(date)) {\r\n return null;\r\n }\r\n\r\n // date from response: \"11012021023313\"\r\n let yearNumber = date.substring(4, 8);\r\n let monthNumber = date.substring(2, 4);\r\n let dayNumber = date.substring(0, 2);\r\n let timeNumber = date.substring(8);\r\n\r\n let result = yearNumber * 10000 + monthNumber * 100 + dayNumber + timeNumber;\r\n // 29/08/2004 => 20040829 2021/01/0010\r\n return result;\r\n}\r\n\r\nexport function dateSort(a, b) {\r\n return a.getTime() - b.getTime();\r\n}\r\n\r\nexport function datetimeformatterAgGrid(params, isAgGrid = true) {\r\n let value = isAgGrid ? params.value : params;\r\n let date = dateFromString(value);\r\n return date.toLocaleString(\"en-US\");\r\n}\r\n\r\nexport function ValidityCodeFormatterAgGrid(params) {\r\n let value = params.value.toString();\r\n\r\n if (value.length < 8) {\r\n if (value.length == 2) value = \"00\" + value;\r\n else if (value.length == 1) value = \"000\" + value;\r\n }\r\n\r\n switch (value) {\r\n case Constants.OrderValidityResponse.Day:\r\n return \"Day\";\r\n case Constants.OrderValidityResponse.GTC:\r\n return \"GTC\";\r\n case Constants.OrderValidityResponse.GTD:\r\n return \"GTD\";\r\n case Constants.OrderValidityResponse.GTW:\r\n return \"GTW\";\r\n case Constants.OrderValidityResponse.GTM:\r\n return \"GTM\";\r\n case Constants.OrderValidityResponse.FOK:\r\n return \"FOK\";\r\n case Constants.OrderValidityResponse.FAK:\r\n return \"FAK\";\r\n default:\r\n return \"\";\r\n }\r\n\r\n // if (params.value === \"0001\")\r\n // return \"Day\";\r\n // else if (params.value === \"0002\")\r\n // return \"GTC\";\r\n // else if (params.value === \"0003\")\r\n // return \"GTD\";\r\n // else if (params.value === \"0004\")\r\n // return \"GTW\";\r\n // else if (params.value === \"0005\")\r\n // return \"GTM\";\r\n // else if (params.value === \"0006\")\r\n // return \"FOK\";\r\n // else if (params.value === \"0007\")\r\n // return \"FAK\";\r\n // else\r\n // return \"\";\r\n}\r\nexport function ValidityCodeFormatter(values, language = \"en\") {\r\n\r\n let value = values.toString();\r\n let ValidityCode = \"\";\r\n if (value.length < 8) {\r\n if (value.length == 2) value = \"00\" + value;\r\n else if (value.length == 1) value = \"000\" + value;\r\n }\r\n switch (value) {\r\n case Constants.OrderValidityResponse.Day: {\r\n ValidityCode = language === \"ar\" ? \"يوم واحد\" : \"Day\";\r\n return ValidityCode;\r\n }\r\n case Constants.OrderValidityResponse.GTC:\r\n return \"GTC\";\r\n case Constants.OrderValidityResponse.GTD:\r\n return \"GTD\";\r\n case Constants.OrderValidityResponse.GTW:\r\n return \"GTW\";\r\n case Constants.OrderValidityResponse.GTM:\r\n return \"GTM\";\r\n case Constants.OrderValidityResponse.FOK:\r\n return \"FOK\";\r\n case Constants.OrderValidityResponse.FAK:\r\n return \"FAK\";\r\n default:\r\n return value;\r\n }\r\n}\r\n\r\nexport function ConditionalParametersFormatter(values, language = \"en\") {\r\n\r\n let value = values.toString();\r\n \r\n switch (value) {\r\n \r\n case Constants.ParametersConditionalOrders.LastPrice:\r\n return language === \"ar\" ? \"آخر سعر\" : \"Last Price\";\r\n case Constants.ParametersConditionalOrders.HighPrice:\r\n return language === \"ar\" ? 'أعلى سعر' : \"High Price\";\r\n case Constants.ParametersConditionalOrders.LowPrice:\r\n return language === \"ar\" ? 'أدنى سعر' : \"Low Price\";\r\n case Constants.ParametersConditionalOrders.BidPrice:\r\n return language === \"ar\" ? 'سعر الطلب' : \"Bid Price\";\r\n case Constants.ParametersConditionalOrders.OfferPrice:\r\n return language === \"ar\" ? 'سعر العرض' : \"Offer Price\";\r\n case Constants.ParametersConditionalOrders.NeChange:\r\n return language === \"ar\" ? 'التغير' : \"Net Change\";\r\n case Constants.ParametersConditionalOrders.NetChangePerc:\r\n return language === \"ar\" ? 'نسبة التغير' : \"Net Change%\";\r\n case Constants.ParametersConditionalOrders.AveragePrice:\r\n return language === \"ar\" ? 'معدل السعر' : \"Average Price\";\r\n case Constants.ParametersConditionalOrders.TotalValue:\r\n return language === \"ar\" ? 'القيمة الكلية' : \"Total Value\";\r\n case Constants.ParametersConditionalOrders.TotalVolume:\r\n return language === \"ar\" ? \"الحجم الكلي\" : \"Total Volume\";\r\n default:\r\n return value;\r\n }\r\n}\r\nexport function ConditionalCriteriaFormatter(values, language = \"en\") {\r\n\r\n let value = values.toString();\r\n \r\n switch (value) {\r\n \r\n case Constants.CriteriaConditionalOrders.Equals:\r\n return language === \"ar\" ? \"يساوي\": \"Equals\";\r\n case Constants.CriteriaConditionalOrders.GreaterThan:\r\n return language === \"ar\" ? \"أكثر من\" : \"Greater Than\";\r\n case Constants.CriteriaConditionalOrders.LessThan:\r\n return language === \"ar\" ? \"أقل من\" : \"Less Than\";\r\n default:\r\n return value;\r\n }\r\n}\r\n\r\nexport function BuySellFormatterAgGrid(params) {\r\n if (params.value === \"B\") return \"Buy\";\r\n else if (params.value === \"S\") return \"Sell\";\r\n else return \"\";\r\n}\r\n\r\n/************ End Section 2 ************/\r\n\r\n/* Section 3: Global Constant */\r\n\r\nexport const TopsEnum = Object.freeze({\r\n TopGainers: \"topGainer\",\r\n TopLoosers: \"topLooser\",\r\n TopVolume: \"topVolume\",\r\n TopTrades: \"topTrades\",\r\n TopTurnover: \"topTurnover\",\r\n});\r\n\r\n/* End Section 3 */\r\n\r\n/* empty cache function */\r\nexport function emptyCache() {\r\n if (\"caches\" in window) {\r\n caches.keys().then((names) => {\r\n // Delete all the cache files\r\n names.forEach((name) => {\r\n caches.delete(name);\r\n });\r\n });\r\n }\r\n setTimeout(() => window.location.reload());\r\n}\r\n\r\n/* Orders Functions */\r\n\r\nexport function getSelectedAccountBySymbol(\r\n exchange,\r\n account,\r\n allAccount,\r\n customThis\r\n) {\r\n let found = false;\r\n\r\n for (let x = 0; x < allAccount.length; x++) {\r\n found = undefined;\r\n\r\n if (\r\n allAccount[x].ClientID === account.ClientID &&\r\n allAccount[x].Exchange === exchange\r\n ) {\r\n found = true;\r\n console.error(\"found=\" + found);\r\n return allAccount[x];\r\n }\r\n }\r\n if (!found) {\r\n customThis.errorNotify(\r\n \"Selected company does not exist with the selected account\"\r\n );\r\n return null;\r\n }\r\n}\r\n\r\nexport function UnformatNumber(value) {\r\n if (Constants.config.CompanyName !== \"NBO\") return value;\r\n if (value) return value.replace(/,/g, \"\");\r\n else return \"\";\r\n}\r\n\r\nexport function getCustodianID(CustodianText, symbols) {\r\n for (var i in symbols) {\r\n var val = symbols[i];\r\n\r\n if (val.DescE === CustodianText || val.DescA === CustodianText) {\r\n return val.ID;\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nexport function getExchangeStatusCode(exchangeID, markets) {\r\n if (markets.length > 0 && markets[0].ClientID !== \"\") {\r\n for (let x = 0; x < markets.length; x++) {\r\n if (markets[x].ExchangeID === exchangeID) return markets[x].StatusCode;\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nexport function calculateShares(useOrderValue, thisParam) {\r\n if (thisParam.state.symbolDetails.Symbol === \"\") return;\r\n let selectedSymbol = thisParam.state.symbolDetails;\r\n //let expectedQty;\r\n let orderId =\r\n thisParam.state.order.OrderID !== null\r\n ? thisParam.state.order.OrderID\r\n : \"-1\"; // which means that if there is and order i.e _order then set the orderid of this order otherwise add -1\r\n let bsFlag = thisParam.state.orderType; //OrderType\r\n let cash = useOrderValue ? thisParam.state.orderValueInputNotDisabled : \"-1\";\r\n let shares_price =\r\n thisParam.state.price.toString().trim().length > 0\r\n ? parseFloat(thisParam.state.price)\r\n : 0;\r\n //let shares_quantity = UnformatNumber(thisParam.state.quantity).toString().trim().length > 0\r\n //? parseInt(UnformatNumber(thisParam.state.quantity))\r\n //: 0;\r\n\r\n let validity = thisParam.state.selectedValidityDateType.ID;\r\n let validityDate = thisParam.state.validityDate;\r\n if ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") && thisParam.state.isIPOChange) {\r\n validityDate = new Date(thisParam.state.validityDate);\r\n } else {\r\n validityDate = thisParam.state.validityDate;\r\n\r\n }\r\n if (shares_price === 0) {\r\n if (bsFlag === \"B\") shares_price = parseFloat(selectedSymbol.MaxPrice);\r\n else shares_price = parseFloat(selectedSymbol.MinPrice);\r\n }\r\n\r\n var new_validity =\r\n Constants.config.CompanyName === \"QSC\"\r\n ? validity + \" \" + dateToString(validityDate, false)\r\n : validity + dateToString(validityDate, false);\r\n\r\n let allAccounts = [...thisParam.props.accounts];\r\n /* expectedQty = custom.calculateSharesService(\r\n getSelectedAccountBySymbol(selectedSymbol.Exchange, custom.state.selectedAccount, allAccounts),\r\n custom.state.symbolDetails.Symbol,\r\n custom.state.symbolDetails.MarketType,\r\n bsFlag,\r\n cash, shares_price, orderId, validity, new_validity, bsFlag); */\r\n\r\n let account = getSelectedAccountBySymbol(\r\n selectedSymbol.Exchange,\r\n thisParam.state.selectedAccount,\r\n allAccounts\r\n );\r\n let symbol = thisParam.state.symbolDetails.Symbol;\r\n let marketType = thisParam.state.symbolDetails.MarketType;\r\n let orderType = bsFlag;\r\n //let cash = cash;\r\n //let price = shares_price;\r\n //let orderId = orderId;\r\n let validityCode = validity;\r\n let Validity = new_validity;\r\n let Side = bsFlag;\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n let typeCode = marketType;\r\n let usercat = user.UserType;\r\n let portmang = user.BrokerID;\r\n let memberid = user.BrokerID;\r\n let compinit = user.CompInit;\r\n let url =\r\n Constants.calculatesShares +\r\n account.MainClientID +\r\n \"/\" +\r\n account.AccountID +\r\n \"/\" +\r\n account.NIN +\r\n \"/\" +\r\n symbol +\r\n \"/\" +\r\n orderType +\r\n \"/\" +\r\n cash +\r\n \"/\" +\r\n shares_price +\r\n \"/\" +\r\n orderId +\r\n \"/\" +\r\n usercat +\r\n \"/\" +\r\n user.UCode +\r\n \"/\" +\r\n portmang +\r\n \"/\" +\r\n memberid +\r\n \"/\" +\r\n compinit +\r\n \"/\" +\r\n account.ClientID +\r\n \"/\" +\r\n typeCode +\r\n \"/\" +\r\n validityCode +\r\n \"/\" +\r\n Validity +\r\n \"/\" +\r\n Side +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n\r\n thisParam.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let calculatesSharesResponse = utils.calculatesShares(url);\r\n calculatesSharesResponse\r\n .then((response) => {\r\n thisParam.setIsLoaderVisible(false);\r\n //console.log(\"#CalculatesShares response: \", response.data);\r\n thisParam.setState({ quantity: response.data }, () => {\r\n //lastEditRajaa callGetRiskManagement(false, thisParam);\r\n switchRiskManagementType(false, thisParam);\r\n });\r\n })\r\n .catch((error) => {\r\n thisParam.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n}\r\n\r\n/* called multiple in component */\r\nexport function callGetRiskManagement(\r\n isConfirmAndSubmit = false,\r\n thisParam,\r\n isModify = false,\r\n BtnClicked = false\r\n) {\r\n\r\n // console.log(\"callGetRiskManagementscreenid\", thisParam.state.screenid)\r\n if (isConfirmAndSubmit && BtnClicked) {\r\n validateAndConfirmOrder(thisParam, isModify);\r\n return;\r\n }\r\n\r\n let options = { withCredentials: true };\r\n\r\n //from local storage\r\n let user = JSON.parse(localStorage.getItem(\"user\")); /* Error */\r\n let userType = user[\"UserType\"];\r\n let uCode = user[\"UCode\"];\r\n let borkerId = user[\"BrokerID\"];\r\n let compInit = user[\"CompInit\"];\r\n let webCode = user[\"WebCode\"];\r\n\r\n let price = 0;\r\n if (thisParam.state.price !== 0 && thisParam.state.price !== \"\") {\r\n price = thisParam.state.price;\r\n } else {\r\n price = thisParam.state.symbolDetails.MaxPrice;\r\n }\r\n //\r\n price = thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price;\r\n let validityDate = thisParam.state.validityDate;\r\n\r\n if ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") && thisParam.state.isIPOChange) {\r\n validityDate = dateToString(new Date(thisParam.state.validityDate));\r\n } else {\r\n validityDate = dateToString(thisParam.state.validityDate);\r\n }\r\n\r\n if (thisParam.state.selectedAccount === null) {\r\n setTimeout(() => {\r\n //lastEditRajaa callGetRiskManagement(isConfirmAndSubmit, thisParam);\r\n switchRiskManagementType(isConfirmAndSubmit, thisParam);\r\n }, 500);\r\n return;\r\n }\r\n let url =\r\n \"MainClientID: \" +\r\n thisParam.state.selectedAccount.MainClientID +\r\n \"/\" +\r\n \"AccountID: \" +\r\n thisParam.state.selectedAccount.AccountID +\r\n \"/\" +\r\n \"NIN: \" +\r\n thisParam.state.selectedAccount.NIN +\r\n \"/\" +\r\n \"Symbol: \" +\r\n thisParam.state.symbolDetails.Symbol +\r\n \"/\" +\r\n \"orderType: \" +\r\n thisParam.state.orderType +\r\n \"/\" +\r\n \"quantity: \" +\r\n (thisParam.state.quantity === null || thisParam.state.quantity === \"\"\r\n ? \"0\"\r\n : thisParam.state.quantity) +\r\n \"/\" +\r\n \"price: \" +\r\n (thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price) +\r\n \"/\" +\r\n \"userType: \" +\r\n userType +\r\n \"/\" +\r\n \"uCode: \" +\r\n uCode +\r\n \"/\" +\r\n \"borkerId: \" +\r\n borkerId +\r\n \"/\" +\r\n \"compInit: \" +\r\n compInit +\r\n \"/\" +\r\n \"ClientID: \" +\r\n thisParam.state.selectedAccount.ClientID +\r\n \"/\" +\r\n \"MarketType: \" +\r\n thisParam.state.symbolDetails.MarketType +\r\n \"/\" +\r\n \"selectedValidityDateType: \" +\r\n thisParam.state.selectedValidityDateType.ID +\r\n \"/\";\r\n //console.log(\"riskManagement\", url)\r\n let obj = {\r\n MainClientID: thisParam.state.selectedAccount.MainClientID,\r\n AccountID: thisParam.state.selectedAccount.AccountID,\r\n NIN: thisParam.state.selectedAccount.NIN,\r\n Symbol: thisParam.state.symbolDetails.Symbol,\r\n OrderType: thisParam.state.orderType,\r\n Qty: thisParam.state.quantity === null || thisParam.state.quantity === \"\" ? \"0\" : thisParam.state.quantity,\r\n Price: thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price,\r\n OrderID: isModify ? thisParam.state.orderToModify.OrderID : \"-1\",\r\n UserCat: userType,\r\n UCode: uCode,\r\n PortMang: borkerId,\r\n MemberID: borkerId,\r\n CompInit: compInit,\r\n IncludeMargin: \"Y\",\r\n IncludeFacil: \"Y\",\r\n ClientID: thisParam.state.selectedAccount.ClientID,\r\n TypeCode: thisParam.state.symbolDetails.MarketType,\r\n ValidityCode: thisParam.state.selectedValidityDateType.ID,\r\n Validity: validityDate,\r\n settType: localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" && thisParam.state.orderType === \"S\" ? thisParam.state.selectedSettelmentType : \"-1\",\r\n CustodyID: localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" ? thisParam.state.selectedCustodian : \"-1\",\r\n // settType: \"-1\",\r\n // CustodyID: \"-1\",\r\n webCode: webCode,\r\n Leverage: thisParam.state.LeverageValue.toString(),\r\n };\r\n\r\n var riskManagementResponse = utils.GetRiskManagment(obj, thisParam);\r\n riskManagementResponse\r\n .then((response) => response.data)\r\n .then((data) => {\r\n\r\n // console.log(\"#BuyOrdersEntry getRiskManagement response: \", data);\r\n thisParam.setState(\r\n {\r\n riskManagement: {\r\n AccountID: data.AccountID,\r\n Approval_Type: data.Approval_Type,\r\n AvailBal: data.AvailBal,\r\n BANK: data.BANK,\r\n BANK_ACCOUNT_NO: data.BANK_ACCOUNT_NO,\r\n BuyOrders: data.BuyOrders,\r\n BuyPower: data.BuyPower,\r\n BuyTrades: data.BuyTrades,\r\n CLIENT_NAME_A: data.CLIENT_NAME_A,\r\n CLIENT_NAME_E: data.CLIENT_NAME_E,\r\n Cash: data.Cash,\r\n ClientID: data.ClientID,\r\n FacilitiesAmt: data.FacilitiesAmt,\r\n Flag: data.Flag,\r\n FlagMsgA: data.FlagMsgA,\r\n FlagMsgE: data.FlagMsgE,\r\n MSValidation: data.MSValidation,\r\n MarginAmnt: data.MarginAmnt,\r\n MemberID: data.MemberID,\r\n NIN: data.NIN,\r\n OffLineOrderDate: data.OffLineOrderDate,\r\n OrderValue: data.OrderValue,\r\n SellOrders: data.SellOrders,\r\n SellTrades: data.SellTrades,\r\n Shares: data.Shares,\r\n UnpostedCRTrxns: data.UnpostedCRTrxns,\r\n UnpostedDBTrxns: data.UnpostedDBTrxns,\r\n broker_ID: data.broker_ID,\r\n fromCurrentScreen: false,\r\n PopulatedRiskManagement: false,\r\n MaxLeverage: data.MaxLeverage,\r\n AvilableShares: data.AvilableShares,\r\n },\r\n orderValueInput: data.OrderValue,\r\n },\r\n () => {\r\n\r\n if (\r\n thisParam.state.riskManagement.FlagMsgE !== \"\" &&\r\n thisParam.state.isfillDatafromMarketWatch !== undefined\r\n ) {\r\n if (thisParam.state.isfillDatafromMarketWatch)\r\n if (\r\n isConfirmAndSubmit &&\r\n thisParam.state.riskManagement.FlagMsgE === \"\" &&\r\n BtnClicked\r\n ) {\r\n //console.log(\"e.FlagMsgE\", thisParam.state.riskManagement.FlagMsg)\r\n // thisParam.errorNotify(thisParam.state.riskManagement.FlagMsgE)\r\n validateAndConfirmOrder(thisParam);\r\n }\r\n } else if (\r\n thisParam.state.riskManagement.Flag === \"13\" ||\r\n thisParam.state.riskManagement.Flag === \"17\" ||\r\n thisParam.state.riskManagement.Flag === \"19\"\r\n ) {\r\n // console.log(\"e.FlagMsgE\", thisParam.state.riskManagement.FlagMsgE)\r\n var msgText = thisParam.props.i18n.language === \"ar\" ? thisParam.state.riskManagement.FlagMsgA : thisParam.state.riskManagement.FlagMsgE;\r\n errorNotify(msgText, thisParam.props.i18n.language);\r\n } else if (\r\n thisParam.state.riskManagement.Flag === \"43\"\r\n ) {\r\n // console.log(\"e.FlagMsgE\", thisParam.state.riskManagement.FlagMsgE)\r\n var msgText = thisParam.props.i18n.language === \"ar\" ? thisParam.state.riskManagement.FlagMsgA : thisParam.state.riskManagement.FlagMsgE;\r\n errorNotify(msgText, thisParam.props.i18n.language);\r\n }\r\n\r\n thisParam.props.changeSymbol(null, null, null, null, null, null, false);\r\n\r\n if (thisParam.state.selectedValidityDateType.ID === \"0001\") {\r\n //Day\r\n validityDateChecker(thisParam, data.OffLineOrderDate);\r\n }\r\n\r\n if ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\")) {\r\n let result = thisParam.props.symbols.find((obj) => {\r\n return obj.Symbol === thisParam.state.symbolDetails.Symbol\r\n });\r\n if (result !== undefined && result !== null) {\r\n\r\n var OffLineOrderDate = utils\r\n .dateFromString(data.OffLineOrderDate)\r\n .toLocaleString(\"en-US\");\r\n\r\n var IPOValidityDate = utils\r\n .dateFromString(result.IPOValidityDate)\r\n .toLocaleString(\"en-US\");\r\n\r\n //OffLineOrderDate = Date(OffLineOrderDate)\r\n\r\n // var IPOValidityDate = Date(result.IPOValidityDate);\r\n\r\n // let dateObj = new Date(OffLineOrderDate);\r\n // dateObj = dateObj.toDateString();\r\n\r\n // let dateObjIPO = new Date(IPOValidityDate);\r\n // dateObjIPO = dateObjIPO.toDateString();\r\n\r\n if (IPOValidityDate > OffLineOrderDate) {\r\n if (thisParam.props.lookups !== null && thisParam.props.lookups !== undefined) {\r\n var tif = thisParam.props.lookups.filter((look) => (look.Type === \"TIF\" && look.ID !== \"0001\"))\r\n if (tif.length !== 0) {\r\n\r\n tif.forEach(item => {\r\n if (item.ID === \"0003\") {\r\n thisParam.setState({ selectedValidityDateType: item }, () => {\r\n validityDateChecker(thisParam, IPOValidityDate, true)\r\n })\r\n }\r\n })\r\n\r\n thisParam.setState({\r\n validityDateTypes: tif,\r\n isLookupsPupulated: true,\r\n isIPOChange: true\r\n // isIPOValidityDatePopulated : true\r\n })\r\n }\r\n }\r\n\r\n } else {\r\n if (thisParam.props.lookups !== null && thisParam.props.lookups !== undefined) {\r\n var tif = thisParam.props.lookups.filter((look) => (look.Type === \"TIF\"))\r\n if (tif.length !== 0) {\r\n\r\n tif.forEach(item => {\r\n if (item.ID === \"0001\") {\r\n thisParam.setState({ selectedValidityDateType: item }, () => {\r\n validityDateChecker(thisParam, data.OffLineOrderDate, false)\r\n })\r\n }\r\n })\r\n\r\n thisParam.setState({\r\n validityDateTypes: tif,\r\n isLookupsPupulated: true,\r\n isIPOChange: false\r\n // isIPOValidityDatePopulated : true\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n );\r\n })\r\n .finally(() => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n })\r\n .catch((error) => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n //console.log(error);\r\n });\r\n}\r\n\r\nexport function callGetRiskManagementCash(isConfirmAndSubmit = false, thisParam, isModify = false, BtnClicked = false) {\r\n // console.log(\"callGetRiskManagementscreenid\", thisParam.state.screenid)\r\n if (isConfirmAndSubmit && BtnClicked) {\r\n validateAndConfirmOrder(thisParam, isModify);\r\n\r\n return;\r\n }\r\n\r\n let options = { withCredentials: true };\r\n\r\n //from local storage\r\n let user = JSON.parse(localStorage.getItem(\"user\")); /* Error */\r\n let userType = user[\"UserType\"];\r\n let uCode = user[\"UCode\"];\r\n let borkerId = user[\"BrokerID\"];\r\n let compInit = user[\"CompInit\"];\r\n let webCode = user[\"WebCode\"];\r\n\r\n let price = 0;\r\n if (thisParam.state.price !== 0 && thisParam.state.price !== \"\") {\r\n price = thisParam.state.price;\r\n } else {\r\n price = thisParam.state.symbolDetails.MaxPrice;\r\n }\r\n //\r\n price = thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price;\r\n let validityDate = dateToString(thisParam.state.validityDate);\r\n\r\n if (thisParam.state.selectedAccount === null) {\r\n setTimeout(() => {\r\n //lastEditRajaa callGetRiskManagement(isConfirmAndSubmit, thisParam);\r\n switchRiskManagementType(isConfirmAndSubmit, thisParam);\r\n }, 500);\r\n return;\r\n }\r\n\r\n let obj = {\r\n MainClientID: thisParam.state.selectedAccount.MainClientID,\r\n AccountID: thisParam.state.selectedAccount.AccountID,\r\n NIN: thisParam.state.selectedAccount.NIN,\r\n Symbol: thisParam.state.symbolDetails.Symbol,\r\n OrderType: thisParam.state.orderType,\r\n Qty: thisParam.state.quantity === null || thisParam.state.quantity === \"\" ? \"0\" : thisParam.state.quantity,\r\n Price: thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price,\r\n OrderID: isModify ? thisParam.state.orderToModify.OrderID : \"-1\",\r\n UserCat: userType,\r\n UCode: uCode,\r\n PortMang: borkerId,\r\n MemberID: borkerId,\r\n CompInit: compInit,\r\n IncludeMargin: \"Y\",\r\n IncludeFacil: \"Y\",\r\n ClientID: thisParam.state.selectedAccount.ClientID,\r\n TypeCode: thisParam.state.symbolDetails.MarketType,\r\n ValidityCode: thisParam.state.selectedValidityDateType.ID,\r\n Validity: validityDate,\r\n settType: \"-1\",\r\n CustodyID: \"-1\",\r\n webCode: webCode,\r\n Leverage: thisParam.state.LeverageValue.toString(),\r\n };\r\n\r\n var riskManagementResponse = utils.GetRiskManagmentCash(obj, thisParam);\r\n riskManagementResponse\r\n .then((response) => response.data)\r\n .then((data) => {\r\n // console.log(\"#BuyOrdersEntry getRiskManagement response: \", data);\r\n thisParam.setState(\r\n {\r\n riskManagement: {\r\n AccountID: data.AccountID,\r\n Approval_Type: data.Approval_Type,\r\n AvailBal: data.AvailBal,\r\n BANK: data.BANK,\r\n BANK_ACCOUNT_NO: data.BANK_ACCOUNT_NO,\r\n BuyOrders: data.BuyOrders,\r\n BuyPower: data.BuyPower,\r\n BuyTrades: data.BuyTrades,\r\n CLIENT_NAME_A: data.CLIENT_NAME_A,\r\n CLIENT_NAME_E: data.CLIENT_NAME_E,\r\n Cash: data.Cash,\r\n ClientID: data.ClientID,\r\n FacilitiesAmt: data.FacilitiesAmt,\r\n Flag: data.Flag,\r\n FlagMsgA: data.FlagMsgA,\r\n FlagMsgE: data.FlagMsgE,\r\n MSValidation: data.MSValidation,\r\n MarginAmnt: data.MarginAmnt,\r\n MemberID: data.MemberID,\r\n NIN: data.NIN,\r\n OffLineOrderDate: data.OffLineOrderDate,\r\n OrderValue: data.OrderValue,\r\n SellOrders: data.SellOrders,\r\n SellTrades: data.SellTrades,\r\n Shares: data.Shares,\r\n UnpostedCRTrxns: data.UnpostedCRTrxns,\r\n UnpostedDBTrxns: data.UnpostedDBTrxns,\r\n broker_ID: data.broker_ID,\r\n fromCurrentScreen: false,\r\n PopulatedRiskManagement: false,\r\n MaxLeverage: data.MaxLeverage,\r\n AvilableShares: data.AvilableShares,\r\n },\r\n orderValueInput: data.OrderValue,\r\n },\r\n () => {\r\n if (\r\n thisParam.state.riskManagement.FlagMsgE !== \"\" &&\r\n thisParam.state.isfillDatafromMarketWatch !== undefined\r\n ) {\r\n if (thisParam.state.isfillDatafromMarketWatch)\r\n if (\r\n isConfirmAndSubmit &&\r\n thisParam.state.riskManagement.FlagMsgE === \"\" &&\r\n BtnClicked\r\n ) {\r\n //console.log(\"e.FlagMsgE\", thisParam.state.riskManagement.FlagMsg)\r\n // thisParam.errorNotify(thisParam.state.riskManagement.FlagMsgE)\r\n validateAndConfirmOrder(thisParam);\r\n }\r\n } else if (\r\n thisParam.state.riskManagement.Flag === \"13\" ||\r\n thisParam.state.riskManagement.Flag === \"17\" ||\r\n thisParam.state.riskManagement.Flag === \"19\"\r\n ) {\r\n // console.log(\"e.FlagMsgE\", thisParam.state.riskManagement.FlagMsgE)\r\n var msgText = thisParam.props.i18n.language === \"ar\" ? thisParam.state.riskManagement.FlagMsgA : thisParam.state.riskManagement.FlagMsgE;\r\n errorNotify(msgText, thisParam.props.i18n.language);\r\n }\r\n\r\n thisParam.props.changeSymbol(null, null, null, null, null, null, false);\r\n\r\n if (thisParam.state.selectedValidityDateType.ID === \"0001\") {\r\n //Day\r\n validityDateChecker(thisParam, data.OffLineOrderDate);\r\n }\r\n }\r\n );\r\n })\r\n .finally(() => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n })\r\n .catch((error) => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n //console.log(error);\r\n });\r\n}\r\n\r\nexport function switchRiskManagementType(isConfirmAndSubmit = false, thisParam, isModify = false, BtnClicked = false) {\r\n\r\n if (thisParam.props.updateFromBasketOrder === true || thisParam.props.fromBasketOrder === true) {\r\n if (isConfirmAndSubmit && BtnClicked) {\r\n\r\n validateAndConfirmOrder(thisParam, isModify);\r\n return;\r\n }\r\n return\r\n } else {\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\")\r\n callGetRiskManagementCash(isConfirmAndSubmit, thisParam, isModify, BtnClicked);\r\n else\r\n callGetRiskManagement(isConfirmAndSubmit, thisParam, isModify, BtnClicked);\r\n }\r\n\r\n}\r\n\r\n/* called once in component */\r\nexport function useAllCash(thisParam) {\r\n //the button of All balance click\r\n\r\n if (thisParam.state.selectedAccount.ClientID !== \"\") {\r\n\r\n if (thisParam.state.symbolDetails.Symbol !== \"\") {\r\n calculateShares(false, thisParam);\r\n\r\n //calculateRisk();//to update the order value readonly textbox . and show alerts if error happens the same function I sent yesterday including validations\r\n //lastEditRajaa callGetRiskManagement(false, thisParam);\r\n switchRiskManagementType(false, thisParam);\r\n } else {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"symbol_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n }\r\n } else {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"account_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n }\r\n}\r\n\r\n/* not called in component */\r\nexport function validateAndConfirmOrder(thisParam, isModify) {\r\n\r\n let account = thisParam.state.selectedAccount;\r\n let symbol = thisParam.state.symbolDetails.Symbol;\r\n let custodian = \"-1\";\r\n\r\n let MarketOrderType = thisParam.state.marketOrderType;\r\n let validity = thisParam.state.selectedValidityDateType.ID;\r\n let validityDate = new Date();\r\n let orderDate = new Date();\r\n let orderType = thisParam.state.orderType;\r\n let MinFill = thisParam.state.MinFillQty;\r\n let TotalVolume = 0;\r\n let quantity = Number(thisParam.state.quantity);\r\n let remaining = 0;\r\n let isConditionalOrder = thisParam.state.isConditionalOrder;\r\n let orderId = isModify ? thisParam.state.orderToModify.OrderID : \"-1\";\r\n let Sett_Type = \"\";\r\n let TransferReq = false;\r\n let VisibleQuantity = thisParam.state.VisibleQty;\r\n let SmartOrderID = \"\";\r\n let Remarks = \"\";\r\n let TP_price = thisParam.state.TP_price;\r\n let SL_price = thisParam.state.SL_price;\r\n placeNewOrder(\r\n account,\r\n symbol,\r\n custodian,\r\n thisParam.state.price,\r\n isModify,\r\n MarketOrderType,\r\n validity,\r\n validityDate,\r\n orderDate,\r\n orderType,\r\n MinFill,\r\n TotalVolume,\r\n quantity,\r\n remaining,\r\n isConditionalOrder,\r\n orderId,\r\n Sett_Type,\r\n TransferReq,\r\n VisibleQuantity,\r\n SmartOrderID,\r\n Remarks,\r\n TP_price,\r\n SL_price,\r\n thisParam\r\n );\r\n}\r\n\r\n/* not called in component */\r\nexport function placeNewOrder(\r\n account,\r\n symbol,\r\n custodian = \"-1\",\r\n price,\r\n isModify = false,\r\n MarketOrderType,\r\n Validity,\r\n ValidityDate,\r\n orderDate,\r\n OrderType = { Buy: 0, Sell: 1 },\r\n MinFill,\r\n TotalVolume,\r\n quantity,\r\n Remaining,\r\n isConditionalOrder = false,\r\n orderId = \"-1\",\r\n Sett_Type,\r\n TransferReq,\r\n VisibleQuantity = \"\",\r\n SmartOrderID = \"\",\r\n Remarks = \"\",\r\n TP_price = \"\",\r\n SL_price = \"\",\r\n thisParam\r\n) {\r\n\r\n let Symbols = [...thisParam.props.symbols]; //state of symbols lookups\r\n\r\n if (!account) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Account_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n // errorNotify(thisParam.props.i18n.t(\"account is required\"), thisParam.props.i18n.language);\r\n\r\n var selectedSymbol = thisParam.state.symbolDetails; //either full from beginning or get from the below for loop\r\n\r\n if (!symbol || symbol.length === 0) {\r\n\r\n errorNotify(thisParam.props.i18n.t(\"symbol_is_required\"), thisParam.props.i18n.language);\r\n return;\r\n } else {\r\n for (let i in Symbols) {\r\n if (Symbols[i].Symbol === symbol || Symbols[i].SymbolCompanyE === symbol || Symbols[i].SymbolCompanyA === symbol) {\r\n selectedSymbol = Symbols[i];\r\n symbol = Symbols[i].Symbol;\r\n break;\r\n }\r\n }\r\n if (!selectedSymbol) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"please_select_a_symbol_from_the_list\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n }\r\n //let symbols = thisParam.props.symbols;\r\n //let selectedCustodian = getCustodianID(custodian, symbols);\r\n\r\n if (thisParam.state.orderType === \"\") {\r\n errorNotify(thisParam.props.i18n.t(\"Select_order_type_[Buy or Sell]\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if (!quantity || parseInt(quantity) <= 0) {\r\n errorNotify(thisParam.props.i18n.t(\"quantity_is_required\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n //let price = '';\r\n\r\n if (thisParam.state.price === \"\") {\r\n if (thisParam.state.marketOrderTypeSelected === \"2\") {\r\n errorNotify(thisParam.props.i18n.t(\"Enter_price\"), thisParam.props.i18n.language);\r\n return;\r\n } else {\r\n price = thisParam.state.symbolDetails.MaxPrice;\r\n }\r\n } else {\r\n price = thisParam.state.price;\r\n }\r\n\r\n if ((parseFloat(price) < thisParam.state.symbolDetails.MinPrice || parseFloat(price) > thisParam.state.symbolDetails.MaxPrice) && (thisParam.state.IsValidateMinMax != \"N\")\r\n &&\r\n ((thisParam.props.updateFromBasketOrder === false && thisParam.props.fromBasketOrder === false))\r\n\r\n ) {\r\n let MaxPriceValue =\r\n localStorage.getItem(Constants.localStorageConstants.company_name) ===\r\n \"IFS\"\r\n ? thisParam.state.symbolDetails.MaxPrice\r\n : localStorage.getItem(Constants.localStorageConstants.company_name) ===\r\n \"UNITED\"\r\n ? numberFormatterWithCommasAndDigitsFixed(\r\n thisParam.state.symbolDetails.MaxPrice,\r\n 4\r\n )\r\n : thisParam.state.symbolDetails.MaxPrice;\r\n\r\n let MinPriceValue =\r\n localStorage.getItem(Constants.localStorageConstants.company_name) ===\r\n \"IFS\"\r\n ? thisParam.state.symbolDetails.MinPrice\r\n : localStorage.getItem(Constants.localStorageConstants.company_name) ===\r\n \"UNITED\"\r\n ? numberFormatterWithCommasAndDigitsFixed(\r\n thisParam.state.symbolDetails.MinPrice,\r\n 4\r\n )\r\n : thisParam.state.symbolDetails.MinPrice;\r\n\r\n // thisParam.errorNotify(\"Price must be less than max \"\r\n // + MaxPriceValue +\r\n // \" price and greater than min price \"\r\n // + MinPriceValue)\r\n //\r\n var MSG = thisParam.props.i18n.t(\"Price_must_be_between_min\") + MinPriceValue + thisParam.props.i18n.t(\"and\") + MaxPriceValue;\r\n errorNotify(MSG, thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n try {\r\n price = parseFloat(price).toString();\r\n\r\n if (Constants.config.CompanyName === \"NBO\") {\r\n if (\r\n !UnformatNumber(quantity) ||\r\n parseInt(UnformatNumber(quantity)) <= 0\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"quantity_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n } else {\r\n if (\r\n price.indexOf(\".\") > -1 &&\r\n Constants.config.CompanyName.toUpperCase() === \"QATAR\"\r\n ) {\r\n if (\r\n price.split(\".\")[1].length > 2 &&\r\n selectedSymbol.Precision === \"2\"\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"price_should_not_exceed_two_decimals\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n if (selectedSymbol.IsFund === \"Y\") {\r\n if (\r\n price.split(\".\")[1].length > 3 &&\r\n parseFloat(price) >= 1 &&\r\n selectedSymbol.Precision === \"3\"\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"price_should_not_exceed_three_decimals\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n } else {\r\n if (\r\n price.split(\".\")[1].length > 2 &&\r\n parseFloat(price) >= 1 &&\r\n selectedSymbol.Precision === \"3\"\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"price_should_not_exceed_two_decimals\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n }\r\n if (\r\n price.split(\".\")[1].length > 3 &&\r\n selectedSymbol.Precision === \"3\" &&\r\n parseFloat(price) < 1\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"price_should_not_exceed_three_decimals\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n //console.log(e);\r\n }\r\n\r\n if (\r\n (price || parseFloat(price) <= 0 || price.length === 0) &&\r\n (Constants.config.CompanyName === \"QNB\" ||\r\n Constants.config.Region === \"EGYPT\") &&\r\n MarketOrderType === MarketOrderType.Limit\r\n ) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"price_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n if (price && selectedSymbol !== null && (parseFloat(price) > parseFloat(selectedSymbol.MaxPrice) || parseFloat(price) < parseFloat(selectedSymbol.MinPrice))) {\r\n //var error_msg = \"\"//priceisoutofrangemin_X0_max_X1\r\n\r\n var error_msg = \"priceisoutofrangemin_X0_max_X1\";\r\n //console.log(\"e.FlagMsgE\", error_msg)\r\n // thisParam.errorNotify(error_msg)\r\n return;\r\n }\r\n\r\n if (!Constants.config.AllowOfflineOrder && selectedSymbol !== null) {\r\n let markets = [...thisParam.state.markets];\r\n var status = getExchangeStatusCode(selectedSymbol.Exchange, markets);\r\n if (status === \"0005\" || status === \"0004\") {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"offlineorder\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n }\r\n\r\n if (!Validity || Validity.length === 0) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Valdity_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n\r\n\r\n if ([\"0003\"].indexOf(Validity) > 0) {\r\n if (!ValidityDate) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Validity_Date_is_required\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n } else if (orderDate && ValidityDate < orderDate) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"validitydatemustbegreaterthan\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n }\r\n\r\n if (thisParam.state.ISTradingSession === \"Y\" && !thisParam.state.TradingSessionDisabled && thisParam.state.selectedTradingSession.ID === \"\") {\r\n errorNotify(thisParam.props.i18n.t(\"TradingSession_is_required\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if (parseInt(VisibleQuantity) > parseInt(UnformatNumber(quantity))) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"visiblequantitymustbelessthanquantity\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n\r\n if (parseInt(MinFill) > parseInt(UnformatNumber(quantity))) {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"minimumfillmustbelessthanquantity\"),\r\n thisParam.props.i18n.language\r\n );\r\n return;\r\n }\r\n\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" && account.IS_MARGIN_ACC === \"Y\") {\r\n var maxL = thisParam.state.riskManagement.MaxLeverage === \"null\" ||\r\n thisParam.state.riskManagement.MaxLeverage === null\r\n ? \"0\"\r\n : thisParam.state.riskManagement.MaxLeverage;\r\n if (account.IS_MARGIN_ACC === \"Y\" && parseFloat(thisParam.state.LeverageValue) > parseFloat(maxL)) {\r\n errorNotify(thisParam.props.i18n.t(\"Leverage_Value_must_be_less_than_Max_Leverage\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if (account.IS_MARGIN_ACC === \"Y\" && 1 > parseFloat(thisParam.state.LeverageValue) && parseFloat(thisParam.state.LeverageValue) < parseFloat(maxL) && parseFloat(maxL) >= 1 && thisParam.state.orderType == \"B\") {\r\n errorNotify(thisParam.props.i18n.t(\"LeverageValueMust\") + parseFloat(maxL), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if (parseFloat(maxL) < 1)\r\n if (parseFloat(thisParam.state.LeverageValue) != parseFloat(maxL)) {\r\n errorNotify(\"Leverage Value must be equal Max Leverage \" + parseFloat(maxL), thisParam.props.i18n.language);\r\n return;\r\n }\r\n }\r\n\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"EGYPT\" && (thisParam.state.selectedCustodian === null || thisParam.state.selectedCustodian === \"\")) {\r\n errorNotify(\"custodianisrequired\", thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n\r\n if (thisParam.state.isConditionalOrder) {\r\n if (thisParam.state.conditionalValue === null || thisParam.state.conditionalValue === \"0\") {\r\n errorNotify(thisParam.props.i18n.t(\"Please_input_value\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n if (thisParam.state.selectedParameter.value === null || thisParam.state.selectedParameter.value === \"\") {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_parameter\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n if (thisParam.state.selectedCriteria.value === null || thisParam.state.selectedCriteria.value === \"\") {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_criteria\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if ((thisParam.state.conditionalValueTwo !== null && thisParam.state.conditionalValueTwo !== \"0\") && (thisParam.state.selectedParameter2.value === null || thisParam.state.selectedParameter2.value === \"\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_parameter\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if ((thisParam.state.selectedParameter2.value !== null && thisParam.state.selectedParameter2.value !== \"\") && (thisParam.state.conditionalValueTwo === null || thisParam.state.conditionalValueTwo === \"0\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_input_value\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n if ((thisParam.state.selectedCriteria2.value !== null && thisParam.state.selectedCriteria2.value !== \"\") && (thisParam.state.conditionalValueTwo === null || thisParam.state.conditionalValueTwo === \"0\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_input_value\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if ((thisParam.state.conditionalValueTwo !== null && thisParam.state.conditionalValueTwo !== \"0\") && (thisParam.state.selectedCriteria2.value === null || thisParam.state.selectedCriteria2.value === \"\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_criteria\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n debugger\r\n if ((thisParam.state.conditionalValueThree !== null && thisParam.state.conditionalValueThree !== \"0\") && (thisParam.state.selectedParameter3.value === null || thisParam.state.selectedParameter3.value === \"\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_parameter\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if ((thisParam.state.selectedParameter3.value !== null && thisParam.state.selectedParameter3.value !== \"\") && (thisParam.state.conditionalValueThree === null || thisParam.state.conditionalValueThree === \"0\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_input_value\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n if ((thisParam.state.selectedCriteria3.value !== null && thisParam.state.selectedCriteria3.value !== \"\") && (thisParam.state.conditionalValueThree === null || thisParam.state.conditionalValueThree === \"0\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_input_value\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n if ((thisParam.state.conditionalValueThree !== null && thisParam.state.conditionalValueThree !== \"0\") && (thisParam.state.selectedCriteria3.value === null || thisParam.state.selectedCriteria3.value === \"\")) {\r\n errorNotify(thisParam.props.i18n.t(\"Please_select_criteria\"), thisParam.props.i18n.language);\r\n return;\r\n }\r\n\r\n }\r\n\r\n //let allAccounts = [...thisParam.props.accounts];\r\n //var acc = getSelectedAccountBySymbol(selectedSymbol.Exchange, account, allAccounts, this);//Selected account;\r\n //var op = OrderType;\r\n\r\n var order_quantity =\r\n UnformatNumber(quantity).toString().trim().length > 0\r\n ? parseInt(UnformatNumber(quantity))\r\n : 0;\r\n var executed = (parseFloat(TotalVolume) || 0) - (parseFloat(Remaining) || 0);\r\n var total_volume = executed + order_quantity;\r\n //var remaining = order_quantity;\r\n //var totalQty = Constants.config.RealTimeOrders ? total_volume : remaining;\r\n var order_price = 0;\r\n\r\n if (selectedSymbol === null) return;\r\n order_price = price.toString().trim().length > 0 ? parseFloat(price) : 0;\r\n\r\n if (isNaN(order_price) || isNaN(parseFloat(order_price))) {\r\n price = 0;\r\n }\r\n\r\n //var bsFlag = OrderType === OrderType.Buy ? 'B' : 'S';\r\n //var risk_validity = (Constants.config.CompanyName === \"QSC\") ? Validity + ' ' + dateToString(ValidityDate, false) : Validity + dateToString(ValidityDate, false);\r\n\r\n //call api\r\n\r\n let options = { withCredentials: true };\r\n\r\n //from local storage\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n let userType = user[\"UserType\"];\r\n let uCode = user[\"UCode\"];\r\n let borkerId = user[\"BrokerID\"];\r\n let compInit = user[\"CompInit\"];\r\n let webCode = user[\"WebCode\"];\r\n\r\n let priceForApi = 0;\r\n if (thisParam.state.price !== 0 && thisParam.state.price !== \"\") {\r\n priceForApi = thisParam.state.price;\r\n } else {\r\n priceForApi = thisParam.state.symbolDetails.MaxPrice;\r\n }\r\n let validityDate = thisParam.state.validityDate;\r\n\r\n if ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") && thisParam.state.isIPOChange) {\r\n validityDate = dateToString(new Date(thisParam.state.validityDate));\r\n } else {\r\n validityDate = dateToString(thisParam.state.validityDate);\r\n }\r\n\r\n // let url = Constants.getRiskManagement +\r\n // thisParam.state.selectedAccount.MainClientID + '/' +\r\n // thisParam.state.selectedAccount.AccountID + '/' +\r\n // thisParam.state.selectedAccount.NIN + '/' +\r\n // thisParam.state.symbolDetails.Symbol + '/' +\r\n // thisParam.state.orderType + '/' +\r\n // thisParam.state.quantity + '/' +\r\n // priceForApi + '/' + orderId + '/' +\r\n // userType + '/' +\r\n // uCode + '/' +\r\n // borkerId + '/' +\r\n // borkerId + '/' +\r\n // compInit + '/' +\r\n // thisParam.state.selectedAccount.ClientID + '/' +\r\n // thisParam.state.symbolDetails.MarketType + '/' +\r\n // thisParam.state.selectedValidityDateType.ID + '/' +\r\n // validityDate + \"/\" +\r\n // \"-1/-1/\" +\r\n // webCode;\r\n\r\n // let url =\r\n // \"MainClientID: \" +\r\n // thisParam.state.selectedAccount.MainClientID +\r\n // \"/\" +\r\n // \"AccountID: \" +\r\n // thisParam.state.selectedAccount.AccountID +\r\n // \"/\" +\r\n // \"NIN: \" +\r\n // thisParam.state.selectedAccount.NIN +\r\n // \"/\" +\r\n // \"Symbol: \" +\r\n // thisParam.state.symbolDetails.Symbol +\r\n // \"/\" +\r\n // \"orderType: \" +\r\n // thisParam.state.orderType +\r\n // \"/\" +\r\n // \"quantity: \" +\r\n // (thisParam.state.quantity === null || thisParam.state.quantity === \"\"\r\n // ? \"0\"\r\n // : thisParam.state.quantity) +\r\n // \"/\" +\r\n // \"price: \" +\r\n // (thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : price) +\r\n // \"/\" +\r\n // \"userType: \" +\r\n // userType +\r\n // \"/\" +\r\n // \"uCode: \" +\r\n // uCode +\r\n // \"/\" +\r\n // \"borkerId: \" +\r\n // borkerId +\r\n // \"/\" +\r\n // \"compInit: \" +\r\n // compInit +\r\n // \"/\" +\r\n // \"ClientID: \" +\r\n // thisParam.state.selectedAccount.ClientID +\r\n // \"/\" +\r\n // \"MarketType: \" +\r\n // thisParam.state.symbolDetails.MarketType +\r\n // \"/\" +\r\n // \"selectedValidityDateType: \" +\r\n // thisParam.state.selectedValidityDateType.ID +\r\n // \"/\";\r\n // //console.log(\"riskManagement\", url)\r\n\r\n let obj = {\r\n MainClientID: thisParam.state.selectedAccount.MainClientID,\r\n AccountID: thisParam.state.selectedAccount.AccountID,\r\n NIN: thisParam.state.selectedAccount.NIN,\r\n Symbol: thisParam.state.symbolDetails.Symbol,\r\n OrderType: thisParam.state.orderType,\r\n Qty:\r\n thisParam.state.quantity === null || thisParam.state.quantity === \"\"\r\n ? \"0\"\r\n : thisParam.state.quantity,\r\n Price:\r\n thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : priceForApi,\r\n OrderID: isModify ? thisParam.state.orderToModify.OrderID : \"-1\",\r\n UserCat: userType,\r\n UCode: uCode,\r\n PortMang: borkerId,\r\n MemberID: borkerId,\r\n CompInit: compInit,\r\n IncludeMargin: \"Y\",\r\n IncludeFacil: \"Y\",\r\n ClientID: thisParam.state.selectedAccount.ClientID,\r\n TypeCode: thisParam.state.symbolDetails.MarketType,\r\n ValidityCode: thisParam.state.selectedValidityDateType.ID,\r\n Validity: validityDate,\r\n settType: localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" && thisParam.state.orderType === \"S\" ? thisParam.state.selectedSettelmentType : \"-1\",\r\n CustodyID: localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" ? thisParam.state.selectedCustodian : \"-1\",\r\n // settType: \"-1\",\r\n // CustodyID: \"-1\",\r\n webCode: webCode,\r\n Leverage: thisParam.state.LeverageValue.toString(),\r\n };\r\n if ((thisParam.props.updateFromBasketOrder === true || thisParam.props.fromBasketOrder === true) && localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\") {\r\n // this.props.toggleDropDown();\r\n // onClose();\r\n // // for basket order mustafa\r\n // if (thisParam.props.fromBasketOrder === true && thisParam.props.updateFromBasketOrder === false) {\r\n // thisParam.props.setfromBasketOrder(true);\r\n // thisParam.props.setupdateFromBasketOrder(false);\r\n // // Helpers.ev.emit(\"orderFilled\",Helpers.basketOrderArr.peek());\r\n // // Helpers.successNotify(\r\n // // this.props.t(\"Add To Basket Order\"),\r\n // // this.props.i18n.language\r\n // // );\r\n // onClose();\r\n // } else if (thisParam.props.updateFromBasketOrder === true && thisParam.props.fromBasketOrder === false) {\r\n // thisParam.props.setupdateFromBasketOrder(true);\r\n // thisParam.props.setfromBasketOrder(false);\r\n // onClose();\r\n // }\r\n\r\n\r\n if (isModify /* && _order */) {\r\n callAddOrder(total_volume, thisParam, 2);\r\n\r\n } else {\r\n callAddOrder(total_volume, thisParam);\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n\r\n thisParam.setIsLoaderVisible(true);\r\n var riskManagementResponse =\r\n localStorage.getItem(Constants.localStorageConstants.company_name) ===\r\n \"ALRAMZ\"\r\n ? utils.GetRiskManagmentCash(obj, thisParam)\r\n : utils.GetRiskManagment(obj, thisParam);\r\n riskManagementResponse\r\n .then((response) => response.data)\r\n .then((data) => {\r\n thisParam.setState(\r\n {\r\n riskManagement: {\r\n AccountID: data.AccountID,\r\n Approval_Type: data.Approval_Type,\r\n AvailBal: data.AvailBal,\r\n BANK: data.BANK,\r\n BANK_ACCOUNT_NO: data.BANK_ACCOUNT_NO,\r\n BuyOrders: data.BuyOrders,\r\n BuyPower: data.BuyPower,\r\n BuyTrades: data.BuyTrades,\r\n CLIENT_NAME_A: data.CLIENT_NAME_A,\r\n CLIENT_NAME_E: data.CLIENT_NAME_E,\r\n Cash: data.Cash,\r\n ClientID: data.ClientID,\r\n FacilitiesAmt: data.FacilitiesAmt,\r\n Flag: data.Flag,\r\n FlagMsgA: data.FlagMsgA,\r\n FlagMsgE: data.FlagMsgE,\r\n MSValidation: data.MSValidation,\r\n MarginAmnt: data.MarginAmnt,\r\n MemberID: data.MemberID,\r\n NIN: data.NIN,\r\n OffLineOrderDate: data.OffLineOrderDate,\r\n OrderValue: data.OrderValue,\r\n SellOrders: data.SellOrders,\r\n SellTrades: data.SellTrades,\r\n Shares: data.Shares,\r\n UnpostedCRTrxns: data.UnpostedCRTrxns,\r\n UnpostedDBTrxns: data.UnpostedDBTrxns,\r\n broker_ID: data.broker_ID,\r\n MaxLeverage: data.MaxLeverage,\r\n AvilableShares: data.AvilableShares\r\n },\r\n },\r\n () => {\r\n let e = thisParam.state.riskManagement;\r\n if (\r\n e.Flag === \"6\" &&\r\n Constants.config.CompanyName === \"NBO\" &&\r\n !TransferReq\r\n ) {\r\n //CallBankTransfareRequest(e, selectedSymbol, totalQty, \"confirmMessage\"); to be done later\r\n return;\r\n } else if (e.Flag !== \"0\") {\r\n // console.log(\"e.FlagMsgE\", e.FlagMsgE)\r\n // if (Constants.config.CompanyName !== \"CIC\")\r\n // console.log(\"e.FlagMsgE\", e.FlagMsgE)\r\n var msgText = thisParam.props.i18n.language === \"ar\" ? e.FlagMsgA : e.FlagMsgE;\r\n errorNotify(\r\n thisParam.props.i18n.t(msgText),\r\n thisParam.props.i18n.language\r\n );\r\n // if (thisParam.state.isfillDatafromMarketWatch !== undefined)\r\n // if (!thisParam.state.isfillDatafromMarketWatch) {\r\n // console.log(\"e.FlagMsgE\", e.FlagMsgE)\r\n // thisParam.errorNotify(e.FlagMsgE)\r\n // }\r\n // // thisParam.errorNotify(e.FlagMsgE)\r\n // else {\r\n // if (e.FlagMsgE.indexOf('No Data') > -1) {\r\n\r\n // e.FlagMsgE = \"Company not traded to this account\";\r\n // e.FlagMsgA = \"الشركة لا يمكن تداولها على هذا الحساب\";\r\n // thisParam.errorNotify(e.FlagMsgE)\r\n // }\r\n // if (thisParam.state.isfillDatafromMarketWatch !== undefined)\r\n // if (!thisParam.state.isfillDatafromMarketWatch) {\r\n // console.log(\"e.FlagMsgE\", e.FlagMsgE)\r\n // thisParam.errorNotify(e.FlagMsgE)\r\n // }\r\n\r\n // //thisParam.errorNotify(e.FlagMsgE)\r\n // }\r\n\r\n return;\r\n }\r\n\r\n //offline order\r\n /* var orderTypeCode = '-1';\r\n switch (MarketOrderType) {\r\n case thisParam.state.MarketOrderType.Market:\r\n orderTypeCode = '1';\r\n break;\r\n case thisParam.state.MarketOrderType.Limit:\r\n orderTypeCode = '2';\r\n break;\r\n default:\r\n orderTypeCode = \"-1\";\r\n break;\r\n } */\r\n if (isModify /* && _order */) {\r\n //def = Services.modifyOrder(selectedSymbol.Symbol, bsFlag, totalQty.Remaining, price, Validity, orderTypeCode, orderId);\r\n thisParam.confirmAndSubmitOrder(total_volume, true);\r\n } else {\r\n thisParam.confirmAndSubmitOrder(total_volume);\r\n //def = Services.createOrder(selectedSymbol.Symbol, bsFlag, totalQty.Remaining, price, Validity, orderTypeCode);\r\n }\r\n }\r\n );\r\n\r\n thisParam.setIsLoaderVisible(false);\r\n })\r\n .finally(() => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n })\r\n .catch((error) => {\r\n if (thisParam.abortController) thisParam.abortController.abort();\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Error_please_try_again_later\"),\r\n thisParam.props.i18n.language\r\n );\r\n thisParam.setIsLoaderVisible(false);\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\n/* called once in component */\r\nexport function callAddOrder(TotalVolume, thisParam, type = 1) {\r\n /* new signalr add/modify order */\r\n // new -> type = 1\r\n // modify -> type = 2\r\n\r\n let order = {};\r\n let isModify = type === 2;\r\n let selectedSymbol = thisParam.state.symbolDetails;\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n //let selectedAccount = thisParam.state.selectedAccount;\r\n let newDate = new Date();\r\n\r\n let date = dateFrommater(newDate);\r\n\r\n let result = thisParam.props.symbols.find((obj) => {\r\n return obj.Symbol === selectedSymbol.Symbol\r\n });\r\n if (result !== undefined && result !== null) {\r\n order.SymbolCode = result.SymbolID\r\n } else {\r\n order.SymbolCode = selectedSymbol.SymbolID;\r\n }\r\n\r\n\r\n order.OrderID = isModify ? thisParam.state.orderToModify.OrderID : \"\";\r\n order.Exchange = selectedSymbol.Exchange;\r\n order.BookCode = \"0001\";\r\n order.BrokerID = user.BrokerID;\r\n order.AccountID = thisParam.state.selectedAccount.AccountID;\r\n order.Symbol = selectedSymbol.Symbol;\r\n\r\n let price = \"\";\r\n if (thisParam.state.price === \"\") {\r\n if (thisParam.state.orderType === \"B\") {\r\n price = thisParam.state.symbolDetails.MaxPrice;\r\n } else {\r\n price = thisParam.state.symbolDetails.MinPrice;\r\n }\r\n } else {\r\n price = thisParam.state.price;\r\n }\r\n order.Price = thisParam.state.marketOrderTypeSelected === \"1\" ? \"0\" : String(price);\r\n order.ValidityCode = thisParam.state.selectedValidityDateType.ID;\r\n\r\n if ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") && thisParam.state.isIPOChange) {\r\n order.ValidityDate = dateFrommater(new Date(thisParam.state.validityDate));\r\n } else {\r\n order.ValidityDate = dateFrommater(thisParam.state.validityDate);\r\n }\r\n\r\n let total = thisParam.state.quantity;\r\n let remaining = thisParam.state.quantity;\r\n let execqty = 0;\r\n\r\n if (isModify)\r\n if (thisParam.state.orderToModify.StatusCode === \"P\") {\r\n execqty = Number(thisParam.state.orderToModify.TotalVolume) - Number(thisParam.state.orderToModify.Remaining);\r\n total = execqty + parseInt(thisParam.state.quantity);\r\n remaining = Number(total) - execqty;\r\n }\r\n\r\n order.TotalVolume = String(total);\r\n order.Remaining = String(remaining);\r\n\r\n /* order.TotalVolume = String(parseInt(thisParam.state.quantity))\r\n order.Remaining = isModify ? remaining : String(parseInt(thisParam.state.quantity)); */\r\n //\r\n order.SourceCode = \"c\";\r\n order.StatusCode = isModify ? thisParam.state.orderToModify.StatusCode : \"W\"; //isCancel ? \"C\" : \"W\";\r\n order.EntryDate = isModify ? \"\" : date; // bs iza new order\r\n order.ModifyDate = /* isModify ? */ date; /* : \"\" */ // bs iza modify order\r\n order.UserID = user.UCode;\r\n order.OrigUserID = user.UCode;\r\n order.MarketTypeCode = selectedSymbol.MarketType; // symbol.MarketType\r\n order.Source2Code = \"c\";\r\n order.MinFillQty = thisParam.state.MinFillQty;\r\n //order.VisibleQty = thisParam.state.VisibleQty;\r\n\r\n order.VisibleQty = thisParam.state.selectedExecutionRole === \"0020\" && localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" ? -1 : thisParam.state.VisibleQty; //Mustafa changes\r\n\r\n order.OrderTypeCode = thisParam.state.marketOrderTypeSelected;\r\n if (order.Price === \"0\") {\r\n order.OrderTypeCode = \"1\";\r\n }\r\n order.NIN = thisParam.state.selectedAccount.NIN;\r\n order.ProcSentFlag = \"Y\";\r\n order.MarketOrderID = \"\";\r\n order.OriginCode = \"E\";\r\n order.IntOrderID = \"\";\r\n order.TP_price = thisParam.state.TP_price;\r\n order.SL_price = thisParam.state.SL_price;\r\n\r\n order.TrxnID = isModify ? String((parseInt(thisParam.state.orderToModify.TrxnID) ?? 0) + 1) : \"0\";\r\n if (thisParam.state.orderType === \"B\") {\r\n order.SellBuyFlag = \"B\";\r\n order.msgCode = isModify ? \"C15\" : \"C11\";\r\n } else {\r\n order.SellBuyFlag = \"S\";\r\n order.msgCode = isModify ? \"C14\" : \"C10\";\r\n }\r\n order.AccountNameA = thisParam.state.selectedAccount.ClientNameA;\r\n order.AccountNameE = thisParam.state.selectedAccount.ClientNameE; // account.ClientNameE\r\n order.Remark = \"\"; // remarks\r\n order.SenderSubID = \"\";\r\n order.BuyerMember = \"\";\r\n order.SellerMember = \"\";\r\n order.AvgExePrice = \"\";\r\n order.IsinCode = \"\"; // symbol.IsinCode\r\n order.FIXOrderID = \"\";\r\n order.ClientID = thisParam.state.selectedAccount.ClientID;\r\n //order.ClientID = thisParam.state.selectedAccount.AccountID;\r\n order.RejectReason = \"\";\r\n\r\n order.TR_price = \"\";\r\n order.Max_TR_price = String(order.Price);\r\n order.TR_Price_is_perc = \"\";\r\n order.BE_Price = \"\";\r\n order.SPL_Order_flag = \"N\";\r\n order.ApprovalStatusCode = user.WebCode;\r\n order.ApprovalTypeCode = thisParam.state.riskManagement.MSValidation; // key\r\n order.StopLossPx = \"\";\r\n order.SenderCompanyID = \"\";\r\n order.LocalValue = \"\";\r\n order.SymbolLongName = \"\";\r\n order.LastUpdateTime = \"01-01-2000 22:51:14\"; //weird\r\n\r\n\r\n // order.Sett_Type = \"\"; //selectedOrder.SettlementType.value\r\n // order.CustodianID = \"\"; //selectedOrder.CustodianID.id // CustodianID\r\n\r\n order.Sett_Type = localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" && thisParam.state.orderType === \"S\" ? thisParam.state.selectedSettelmentType : \"\"; //Mustafa changes\r\n order.CustodianID = localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" ? thisParam.state.selectedCustodian : \"\"; //Mustafa changes\r\n\r\n order.IP_Address = localStorage.getItem(\"ipAddress\");\r\n order.Leverage = parseFloat(thisParam.state.LeverageValue);\r\n order.TradingSessionID = type === 2 ? \"\" : thisParam.state.selectedTradingSession.ID; \r\n\r\n\r\n order.SmartOrderID = thisParam.state.SmartOrderID; // SmartOrderID\r\n order.SmartOrderType = thisParam.state.isConditionalOrder ? \"3\" : thisParam.state.SmartOrderType; // SmartOrderType\r\n // if (localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\" && thisParam.state.IsPortfolioPopulited) {\r\n // if (thisParam.state.profitLossData.length > 0) {\r\n // var checkSymbol = thisParam.state.profitLossData.find((el) => el.Symbol === order.Symbol);\r\n // if (checkSymbol === undefined || checkSymbol === null) {\r\n // errorNotify(thisParam.props.t(\"notEnableTrade\"), thisParam.props.i18n.language);\r\n // return\r\n // }\r\n\r\n // }\r\n // }\r\n var ConditionalOrderList = [];\r\n if (thisParam.state.selectedParameter.value !== \"\" && thisParam.state.selectedCriteria.value !== \"\" && thisParam.state.conditionalValue !== null && thisParam.state.conditionalValue !== \"0\" && thisParam.state.isConditionalOrder) {\r\n ConditionalOrderList.push({ \"ItemNumber\": 0, \"Field\": thisParam.state.selectedParameter.value, \"Criteria\": thisParam.state.selectedCriteria.value, \"AlertValue\": parseFloat(thisParam.state.conditionalValue) })\r\n }\r\n if (thisParam.state.selectedParameter2.value !== \"\" && thisParam.state.selectedCriteria2.value !== \"\" && thisParam.state.conditionalValueTwo !== null && thisParam.state.conditionalValueTwo !== \"0\" && thisParam.state.isConditionalOrder) {\r\n ConditionalOrderList.push({ \"ItemNumber\": 0, \"Field\": thisParam.state.selectedParameter2.value, \"Criteria\": thisParam.state.selectedCriteria2.value, \"AlertValue\": parseFloat(thisParam.state.conditionalValueTwo) })\r\n }\r\n if (thisParam.state.selectedParameter3.value !== \"\" && thisParam.state.selectedCriteria3.value !== \"\" && thisParam.state.conditionalValueThree !== null && thisParam.state.conditionalValueThree !== \"0\" && thisParam.state.isConditionalOrder) {\r\n ConditionalOrderList.push({ \"ItemNumber\": 0, \"Field\": thisParam.state.selectedParameter3.value, \"Criteria\": thisParam.state.selectedCriteria3.value, \"AlertValue\": parseFloat(thisParam.state.conditionalValueThree) })\r\n }\r\n order.lstConditionalParameters = ConditionalOrderList;\r\n\r\n\r\n\r\n order.bracketOrdParam = {\r\n \"ReferencePrice\": thisParam.state.BracketOrderSelected,\r\n \"isStopLoss\": thisParam.state.isStopLoss,\r\n \"StopLossValue\": thisParam.state.STValue === \"\" ? 0 : parseFloat(thisParam.state.STValue),\r\n \"StopLossValueType\": thisParam.state.STSelectedCriteria === \"\" ? \"1\" : thisParam.state.STSelectedCriteria,\r\n \"isTakeProfit\": thisParam.state.isTakeProfit,\r\n \"TakeProfitValue\": thisParam.state.TPValue === \"\" ? 0 : parseFloat(thisParam.state.TPValue),\r\n \"TakeProfitValueType\":thisParam.state.TPSelectedCriteria === \"\" ? \"1\" : thisParam.state.TPSelectedCriteria\r\n };\r\n\r\n if (thisParam.props.signalr_connection !== undefined && thisParam.props.signalr_connection !== null && thisParam.props.signalr_connection.state === 1) {\r\n let order1 = order;\r\n order = [order];\r\n\r\n console.log(\"order to invoke: \", order1, \" username: \", localStorage.getItem(\"username\"));\r\n // thisParam.props.signalr_connection.proxies.myhub.invoke(\"sendAddOrderRequest\", localStorage.getItem(\"username\"), order)\r\n\r\n\r\n //rajaa before BasketOrder correct\r\n // thisParam.props.signalr_connection.proxies.myhub\r\n // .invoke(\"sendAddOrderRequest\", localStorage.getItem(\"username\"), order1)\r\n // .then((res) => {\r\n // if (!res) {\r\n // errorNotify(thisParam.props.t(\"MsgErrNetWork\"), thisParam.props.i18n.language);\r\n // }\r\n // });\r\n\r\n // Mustafa changes BasketOrder\r\n if (thisParam.props.fromBasketOrder) {\r\n console.log(\r\n \"order to invoke: \",\r\n order1,\r\n \" username: \",\r\n localStorage.getItem(\"username\")\r\n );\r\n addBasketOrderDetails(order1, thisParam);\r\n } else if (thisParam.props.updateFromBasketOrder) {\r\n console.log(\r\n \"order to invoke: \",\r\n order1,\r\n \" username: \",\r\n localStorage.getItem(\"username\")\r\n );\r\n ModifyBasketOrderDetails(order1, thisParam);\r\n }\r\n else {\r\n console.log(\"invoke\", order1);\r\n // thisParam.props.signalr_connection.proxies.myhub.invoke(\"sendAddOrderRequest\", localStorage.getItem(\"username\"), order)\r\n thisParam.props.signalr_connection.proxies.myhub\r\n .invoke(\"sendAddOrderRequest\", localStorage.getItem(\"username\"), order1)\r\n .then((res) => {\r\n if (!res) {\r\n errorNotify(thisParam.props.t(\"MsgErrNetWork\"), thisParam.props.i18n.language);\r\n }\r\n });\r\n }\r\n } else {\r\n errorNotify(thisParam.props.i18n.t(\"error\"), thisParam.props.i18n.language);\r\n }\r\n\r\n return;\r\n}\r\n\r\n//Mustafa changes\r\nexport function addBasketOrderDetails(orderObj, thisParam) {\r\n\r\n // basketOrderArr.value = orderObj;\r\n\r\n let params = {\r\n AccountID: orderObj.AccountID,\r\n AccountNameA: orderObj.AccountNameA,\r\n AccountNameE: orderObj.AccountNameE,\r\n ApprovalStatusCode: orderObj.ApprovalStatusCode,\r\n ApprovalTypeCode: orderObj.ApprovalTypeCode,\r\n AvgExePrice: orderObj.AvgExePrice,\r\n BE_Price: orderObj.BE_Price,\r\n B_GroupName: thisParam.state.selectedGroupName,\r\n B_OutOfMarketDate: orderObj.B_OutOfMarketDate,\r\n B_OutOfMarketType: orderObj.B_OutOfMarketType,\r\n BookCode: orderObj.BookCode,\r\n BrokerID: orderObj.BrokerID,\r\n BuyerMember: orderObj.BuyerMember,\r\n ClientID: orderObj.ClientID,\r\n CompanyShortNameA: orderObj.CompanyShortNameA,\r\n CompanyShortNameE: orderObj.CompanyShortNameE,\r\n CustodianID: orderObj.CustodianID,\r\n EntryDate: orderObj.EntryDate,\r\n Exchange: orderObj.Exchange,\r\n ExecOrderComm: orderObj.ExecOrderComm,\r\n FIXOrderID: orderObj.FIXOrderID,\r\n IntOrderID: orderObj.IntOrderID,\r\n vIsinCode: orderObj.IsinCode,\r\n vvLastUpdateTime: \"/Date(928138800000+0300)/\", //\"19-01-2023 15:52:02\",\r\n LocalValue: orderObj.LocalValue,\r\n MarketOrderID: orderObj.MarketOrderID,\r\n MarketTypeCode: orderObj.MarketTypeCode,\r\n MaxPrice: orderObj.MaxPrice,\r\n Max_TR_price: orderObj.Max_TR_price,\r\n MinFillQty: orderObj.MinFillQty.toString(),\r\n MinPrice: orderObj.MinPrice,\r\n ModifyDate: orderObj.ModifyDate,\r\n NIN: orderObj.NIN,\r\n No_of_trades: orderObj.No_of_trades,\r\n OrdComm: orderObj.OrdComm,\r\n OrderID: orderObj.OrderID,\r\n OrderTypeCode: orderObj.OrderTypeCode,\r\n OrigUserID: orderObj.OrigUserID,\r\n OriginCode: orderObj.OriginCode,\r\n Precision: orderObj.Precision,\r\n Price: orderObj.Price,\r\n ProcSentFlag: orderObj.ProcSentFlag,\r\n RejectReason: orderObj.RejectReason,\r\n Remaining: orderObj.Remaining,\r\n Remark: orderObj.Remark,\r\n SL_price: orderObj.SL_price.toString(),\r\n SMART_ORDER_ID: orderObj.SMART_ORDER_ID,\r\n SPL_Order_flag: orderObj.SPL_Order_flag,\r\n SellBuyFlag: orderObj.SellBuyFlag,\r\n SellerMember: orderObj.SellerMember,\r\n SenderCompanyID: orderObj.SenderCompanyID,\r\n SenderSubID: orderObj.SenderSubID,\r\n Source2Code: orderObj.Source2Code,\r\n SourceCode: orderObj.SourceCode,\r\n StatusCode: orderObj.StatusCode,\r\n StopLossPx: orderObj.StopLossPx,\r\n Symbol: orderObj.Symbol,\r\n SymbolCode: orderObj.SymbolCode,\r\n SymbolLongName: orderObj.SymbolLongName,\r\n TP_price: orderObj.TP_price.toString(),\r\n TR_Price_is_perc: orderObj.TR_Price_is_perc,\r\n TR_price: orderObj.TR_price,\r\n TotalVolume: orderObj.TotalVolume,\r\n TrxnID: orderObj.TrxnID,\r\n UserID: localStorage.getItem(\"WebCode\"),\r\n ValidityCode: orderObj.ValidityCode,\r\n ValidityDate: orderObj.ValidityDate,\r\n VisibleQty: orderObj.VisibleQty.toString(),\r\n cur_code: orderObj.cur_code,\r\n msgCode: orderObj.msgCode,\r\n Sett_Type: orderObj.Sett_Type,\r\n };\r\n\r\n\r\n let AddBasketOrderResponse = utils.addBasketOrderDetails(params);\r\n AddBasketOrderResponse.then((response) => {\r\n console.log(\"response addBasketOrderDetails called\", response);\r\n\r\n\r\n\r\n if (response.data) {\r\n if (response.data !== \"false\" && response.data !== \"\") {\r\n\r\n params = {\r\n ...params,\r\n OrderID: response.data\r\n }\r\n successNotify(\r\n thisParam.props.t(\"Add To Basket Order\"),\r\n thisParam.props.i18n.language\r\n );\r\n\r\n thisParam.props.setBasketOrderObject([params]);\r\n thisParam.clear();\r\n } else {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Error\"),\r\n thisParam.props.i18n.language\r\n );\r\n }\r\n } else {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Error\"),\r\n thisParam.props.i18n.language\r\n );\r\n }\r\n\r\n //this.clearAll(e);\r\n }).catch((error) => {\r\n errorNotify(error, \"EN\");\r\n });\r\n}\r\n\r\n//Mustafa changes\r\nexport function ModifyBasketOrderDetails(updateOrderObj, thisParam) {\r\n // basketOrderArr.value = orderObj;\r\n\r\n let params = {\r\n\r\n AccountID: updateOrderObj.AccountID,\r\n AccountNameA: updateOrderObj.AccountNameA,\r\n AccountNameE: updateOrderObj.AccountNameE,\r\n ApprovalStatusCode: updateOrderObj.ApprovalStatusCode,\r\n ApprovalTypeCode: updateOrderObj.ApprovalTypeCode,\r\n AvgExePrice: updateOrderObj.AvgExePrice,\r\n BE_Price: updateOrderObj.BE_Price,\r\n B_GroupName: thisParam.state.selectedGroupName,\r\n B_OutOfMarketDate: updateOrderObj.B_OutOfMarketDate,\r\n B_OutOfMarketType: updateOrderObj.B_OutOfMarketType,\r\n BookCode: updateOrderObj.BookCode,\r\n BrokerID: updateOrderObj.BrokerID,\r\n BuyerMember: updateOrderObj.BuyerMember,\r\n ClientID: updateOrderObj.ClientID,\r\n CompanyShortNameA: updateOrderObj.CompanyShortNameA,\r\n CompanyShortNameE: updateOrderObj.CompanyShortNameE,\r\n CustodianID: updateOrderObj.CustodianID,\r\n EntryDate: updateOrderObj.EntryDate,\r\n Exchange: updateOrderObj.Exchange,\r\n ExecOrderComm: updateOrderObj.ExecOrderComm,\r\n FIXOrderID: updateOrderObj.FIXOrderID,\r\n IntOrderID: updateOrderObj.IntOrderID,\r\n IsinCode: updateOrderObj.IsinCode,\r\n LastUpdateTime: \"/Date(928138800000+0300)/\", //\"19-01-2023 15:52:02\",\r\n LocalValue: updateOrderObj.LocalValue,\r\n MarketOrderID: updateOrderObj.MarketOrderID,\r\n MarketTypeCode: updateOrderObj.MarketTypeCode,\r\n MaxPrice: updateOrderObj.MaxPrice,\r\n Max_TR_price: updateOrderObj.Max_TR_price,\r\n MinFillQty: updateOrderObj.MinFillQty.toString(),\r\n MinPrice: updateOrderObj.MinPrice,\r\n ModifyDate: updateOrderObj.ModifyDate,\r\n NIN: updateOrderObj.NIN,\r\n No_of_trades: updateOrderObj.No_of_trades,\r\n OrdComm: updateOrderObj.OrdComm,\r\n OrderID: thisParam.state.basketOrderIDUpdated,\r\n OrderTypeCode: updateOrderObj.OrderTypeCode,\r\n OrigUserID: updateOrderObj.OrigUserID,\r\n OriginCode: updateOrderObj.OriginCode,\r\n Precision: updateOrderObj.Precision,\r\n Price: updateOrderObj.Price,\r\n ProcSentFlag: updateOrderObj.ProcSentFlag,\r\n RejectReason: updateOrderObj.RejectReason,\r\n Remaining: updateOrderObj.Remaining,\r\n Remark: updateOrderObj.Remark,\r\n SL_price: updateOrderObj.SL_price.toString(),\r\n SMART_ORDER_ID: updateOrderObj.SMART_ORDER_ID,\r\n SPL_Order_flag: updateOrderObj.SPL_Order_flag,\r\n SellBuyFlag: updateOrderObj.SellBuyFlag,\r\n SellerMember: updateOrderObj.SellerMember,\r\n SenderCompanyID: updateOrderObj.SenderCompanyID,\r\n SenderSubID: updateOrderObj.SenderSubID,\r\n Source2Code: updateOrderObj.Source2Code,\r\n SourceCode: updateOrderObj.SourceCode,\r\n StatusCode: updateOrderObj.StatusCode,\r\n StopLossPx: updateOrderObj.StopLossPx,\r\n Symbol: updateOrderObj.Symbol,\r\n SymbolCode: updateOrderObj.SymbolCode,\r\n SymbolLongName: updateOrderObj.SymbolLongName,\r\n TP_price: updateOrderObj.TP_price.toString(),\r\n TR_Price_is_perc: updateOrderObj.TR_Price_is_perc,\r\n TR_price: updateOrderObj.TR_price,\r\n TotalVolume: updateOrderObj.TotalVolume,\r\n TrxnID: updateOrderObj.TrxnID,\r\n UserID: localStorage.getItem(\"WebCode\"),\r\n ValidityCode: updateOrderObj.ValidityCode,\r\n ValidityDate: updateOrderObj.ValidityDate,\r\n VisibleQty: updateOrderObj.VisibleQty.toString(),\r\n cur_code: updateOrderObj.cur_code,\r\n msgCode: updateOrderObj.msgCode,\r\n Sett_Type: updateOrderObj.Sett_Type,\r\n };\r\n\r\n // console.log(\"modyfy\", params);\r\n\r\n let ModifyBasketResponse = utils.ModifyBasketOrderDetails(params);\r\n ModifyBasketResponse.then((response) => {\r\n //console.log(\"response ModifyBasketOrderDetails called\", response);\r\n\r\n if (response.data) {\r\n\r\n successNotify(\r\n thisParam.props.t(\"Update Order\"),\r\n thisParam.props.i18n.language\r\n );\r\n thisParam.props.setBasketOrderObject([params]);\r\n thisParam.clear();\r\n } else {\r\n errorNotify(\r\n thisParam.props.i18n.t(\"Error\"),\r\n thisParam.props.i18n.language\r\n );\r\n }\r\n\r\n //this.clearAll(e);\r\n }).catch((error) => {\r\n errorNotify(error, \"EN\");\r\n });\r\n}\r\nexport function callCancelOrder(props, errorNotify) {\r\n if (\r\n props.signalr_connection !== undefined &&\r\n props.signalr_connection !== null &&\r\n props.signalr_connection.state === 1\r\n ) {\r\n let order = {};\r\n let selectedSymbol = props.data;\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n let newDate = new Date();\r\n let date = dateFrommater(newDate);\r\n\r\n order.OrderID = selectedSymbol.OrderID ?? \"\";\r\n order.SymbolCode = selectedSymbol.Symbol;\r\n order.Exchange = selectedSymbol.Exchange;\r\n order.BookCode = \"0001\";\r\n order.BrokerID = user.BrokerID;\r\n order.AccountID = selectedSymbol.AccountID;\r\n order.Symbol = selectedSymbol.Symbol;\r\n\r\n order.Price = selectedSymbol.Price ?? \"\";\r\n\r\n let value = selectedSymbol.ValidityCode.toString();\r\n if (!value.includes(\"0001,0002,0003,0004,0005,0006,0007\")) {\r\n let values = value;\r\n // if (value.length < 4) {\r\n // if (value.length == 2)\r\n // value = \"00\" + value;\r\n // else if (value.length == 1)\r\n // value = \"000\" + value;\r\n // }\r\n switch (values) {\r\n case \"Day\":\r\n value = \"0001\";\r\n break;\r\n case \"GTC\":\r\n value = \"0002\";\r\n break;\r\n case \"GTD\":\r\n value = \"0003\";\r\n break;\r\n case \"GTW\":\r\n value = \"0004\";\r\n break;\r\n case \"GTM\":\r\n value = \"0005\";\r\n break;\r\n case \"FOK\":\r\n value = \"0006\";\r\n break;\r\n case \"FAK\":\r\n value = \"0007\";\r\n break;\r\n case \"1\":\r\n value = \"0001\";\r\n break;\r\n case \"2\":\r\n value = \"0002\";\r\n break;\r\n case \"3\":\r\n value = \"0003\";\r\n break;\r\n case \"4\":\r\n value = \"0006\";\r\n break;\r\n case \"5\":\r\n value = \"0005\";\r\n break;\r\n case \"6\":\r\n value = \"0006\";\r\n break;\r\n case \"7\":\r\n value = \"0007\";\r\n break;\r\n }\r\n }\r\n\r\n order.ValidityCode = value ?? \"\";\r\n order.ValidityDate = selectedSymbol.ValidityDate ?? \"\";\r\n\r\n order.TotalVolume = selectedSymbol.TotalVolume ?? \"\";\r\n order.Remaining = selectedSymbol.Remaining ?? \"\";\r\n\r\n order.SourceCode = \"c\";\r\n order.StatusCode = selectedSymbol.StatusCode ?? \"\";\r\n\r\n order.EntryDate = selectedSymbol.EntryDate ?? \"\";\r\n order.ModifyDate = date;\r\n\r\n order.UserID = user.UCode;\r\n order.OrigUserID = user.UCode;\r\n order.MarketTypeCode = selectedSymbol.MarketTypeCode; // symbol.MarketType\r\n order.Source2Code = \"c\";\r\n order.MinFillQty = selectedSymbol.MinFillQty ?? \"\";\r\n\r\n order.VisibleQty = selectedSymbol.VisibleQty ?? \"\";\r\n order.OrderTypeCode = selectedSymbol.OrderTypeCode ?? \"\";\r\n\r\n order.NIN = selectedSymbol.NIN ?? \"\";\r\n order.ProcSentFlag = \"Y\";\r\n order.MarketOrderID = \"\";\r\n order.OriginCode = \"E\";\r\n order.IntOrderID = \"\";\r\n order.TP_price = selectedSymbol.TP_price;\r\n order.SL_price = selectedSymbol.SL_price;\r\n\r\n order.TrxnID = String((parseInt(selectedSymbol.TrxnID ?? \"0\") ?? 0) + 1);\r\n\r\n order.SellBuyFlag = selectedSymbol.SellBuyFlag ?? \"\";\r\n\r\n if (selectedSymbol.orderType === \"B\") {\r\n if (\r\n selectedSymbol.StatusCode.toUpperCase() === \"W\" ||\r\n selectedSymbol.StatusCode.toUpperCase() === \"T\"\r\n ) {\r\n order.msgCode = \"C27\";\r\n } else {\r\n order.msgCode = \"C19\";\r\n }\r\n } else {\r\n if (\r\n selectedSymbol.StatusCode.toUpperCase() === \"W\" ||\r\n selectedSymbol.StatusCode.toUpperCase() === \"T\"\r\n ) {\r\n order.msgCode = \"C26\";\r\n } else {\r\n order.msgCode = \"C18\";\r\n }\r\n }\r\n\r\n order.AccountNameA = selectedSymbol.AccountNameA ?? \"\";\r\n order.AccountNameE = selectedSymbol.AccountNameE ?? \"\";\r\n order.Remark = selectedSymbol.Remark ?? \"\";\r\n\r\n order.SenderSubID = \"\";\r\n order.BuyerMember = \"\";\r\n order.SellerMember = \"\";\r\n\r\n order.AvgExePrice = selectedSymbol.AvgExePrice ?? \"\";\r\n order.IsinCode = \"\";\r\n order.FIXOrderID = \" \";\r\n\r\n order.ClientID = selectedSymbol.ClientID ?? \"\";\r\n\r\n order.RejectReason = \"\";\r\n order.TR_price = \"\";\r\n\r\n order.Max_TR_price = selectedSymbol.Max_TR_price ?? \"\";\r\n\r\n order.TR_Price_is_perc = \"\";\r\n order.BE_Price = \"\";\r\n order.SPL_Order_flag = \"N\";\r\n\r\n order.ApprovalStatusCode = user.WebCode;\r\n order.ApprovalTypeCode = \"\"; // key\r\n order.StopLossPx = \"\";\r\n order.SenderCompanyID = \"\";\r\n order.LocalValue = \"\";\r\n order.SymbolLongName = \"\";\r\n order.LastUpdateTime = \"0001-01-01T00:00:00\"; //weird\r\n order.SmartOrderID = \"\"; // SmartOrderID\r\n\r\n order.Sett_Type = \"\"; //selectedOrder.SettlementType.value\r\n order.CustodianID = \"\"; //selectedOrder.CustodianID.id // CustodianID\r\n order.IP_Address = localStorage.getItem(\"ipAddress\");\r\n\r\n order.Leverage = 0;\r\n order.TradingSessionID = \"\" ;\r\n order.SmartOrderType = \"\";\r\n order.lstConditionalParameters = [];\r\n\r\n order.bracketOrdParam = {\r\n \"ReferencePrice\": \"\",\r\n \"isStopLoss\": false,\r\n \"StopLossValue\": 0,\r\n \"StopLossValueType\": \"1\",\r\n \"isTakeProfit\": false,\r\n \"TakeProfitValue\": 0,\r\n \"TakeProfitValueType\": \"1\"\r\n };\r\n\r\n\r\n //console.log(\"order to cancel: \", order, \" username: \", localStorage.getItem(\"username\"));\r\n // thisParam.props.signalr_connection.proxies.myhub.invoke(\"sendAddOrderRequest\", localStorage.getItem(\"username\"), order)\r\n props.signalr_connection.proxies.myhub.invoke(\r\n \"sendAddOrderRequest\",\r\n localStorage.getItem(\"username\"),\r\n order\r\n );\r\n } else {\r\n errorNotify(\"error\");\r\n }\r\n}\r\n\r\nexport function validityDateChecker(thisParam, validityDate = null, isIPOChange = false) {\r\n\r\n let today = new Date();\r\n let fromDate = new Date();\r\n fromDate.setDate(fromDate.getDate() + 1);\r\n\r\n let OffLineOrderDate = utils\r\n .dateFromStringDateOnly(thisParam.state.riskManagement.OffLineOrderDate)\r\n .toLocaleString(\"en-US\");\r\n\r\n let OffLineOrderDateformat = new Date();\r\n if (OffLineOrderDate !== null && OffLineOrderDate !== \"\") {\r\n if (OffLineOrderDate.includes(\",\"))\r\n OffLineOrderDateformat = new Date(OffLineOrderDate);\r\n else {\r\n OffLineOrderDateformat.setHours(today.getHours());\r\n OffLineOrderDateformat.setTime(today.getTime());\r\n OffLineOrderDateformat.setSeconds(today.getSeconds());\r\n OffLineOrderDateformat.setFullYear(\r\n Number(OffLineOrderDate.split(\"/\")[2])\r\n );\r\n OffLineOrderDateformat.setMonth(\r\n Number(OffLineOrderDate.split(\"/\")[1]) - 1\r\n );\r\n OffLineOrderDateformat.setDate(Number(OffLineOrderDate.split(\"/\")[0]));\r\n\r\n // OffLineOrderDateformat = new Date(OffLineOrderDate.split(\"/\")[2], Number(OffLineOrderDate.split(\"/\")[1]) - 1, OffLineOrderDate.split(\"/\")[0] );\r\n }\r\n }\r\n\r\n if (validityDate !== null) {\r\n today = validityDate;\r\n }\r\n if (thisParam.state.selectedValidityDateType.ID === \"0001\") {\r\n //Day\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: OffLineOrderDateformat,\r\n });\r\n } else if (thisParam.state.selectedValidityDateType.ID === \"0002\") {\r\n //GTC\r\n if (validityDate !== null) {\r\n today = validityDate;\r\n } else {\r\n today.setFullYear(today.getFullYear() + 1);\r\n }\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: today,\r\n });\r\n } else if (\r\n thisParam.state.selectedValidityDateType.ID === \"0003\" &&\r\n thisParam.state.isModify === false\r\n ) {\r\n //GTD\r\n\r\n // thisParam.setState({ isValidityDatePickerDisabled: false, validityDate: fromDate })\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: false,\r\n validityDate: OffLineOrderDateformat,\r\n });\r\n } else if (\r\n thisParam.state.selectedValidityDateType.ID === \"0003\" &&\r\n thisParam.state.isModify === true\r\n ) {\r\n //GTD\r\n var x = isIPOChange ? new Date(validityDate) : validityDate\r\n if (x !== null) {\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: false,\r\n validityDate: x,\r\n });\r\n } else {\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: false,\r\n validityDate: OffLineOrderDateformat,\r\n });\r\n }\r\n // thisParam.setState({ isValidityDatePickerDisabled: false, validityDate: fromDate })\r\n } else if (\r\n thisParam.state.selectedValidityDateType.ID === \"0003\" &&\r\n thisParam.state.isModify === undefined\r\n ) {\r\n //GTD\r\n\r\n // thisParam.setState({ isValidityDatePickerDisabled: false, validityDate: fromDate }) \r\n\r\n var x = isIPOChange ? new Date(validityDate) : OffLineOrderDateformat;\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: false,\r\n validityDate: x,\r\n });\r\n } else if (thisParam.state.selectedValidityDateType.ID === \"0004\") {\r\n //GTW\r\n\r\n if (validityDate !== null) {\r\n today = validityDate;\r\n } else {\r\n var endingday = localStorage.getItem(\"last_Work_day\");\r\n today = getNextDayOfTheWeek(endingday);\r\n // var endingday = \"Thursday\"\r\n // switch (localStorage.getItem(\"Region\")) {\r\n // case \"UAE\":\r\n // // need to be changed in the begining of the year to Friday on UAE Only\r\n // endingday = \"Friday\"\r\n // break;\r\n // case \"OMAN\":\r\n // endingday = \"Thursday\"\r\n // break;\r\n // case \"QATAR\":\r\n // endingday = \"Thursday\"\r\n // break;\r\n // default:\r\n // endingday = \"Thursday\"\r\n // break;\r\n // }\r\n\r\n // switch (localStorage.getItem(\"last_Work_day\")) {\r\n // case \"0\":\r\n // endingday = \"Sunday\"\r\n // break;\r\n // case \"1\":\r\n // endingday = \"Monday\"\r\n // break;\r\n // case \"2\":\r\n // endingday = \"Tuesday\"\r\n // break;\r\n // case \"3\":\r\n // endingday = \"Wednesday\"\r\n // break;\r\n // case \"4\":\r\n // endingday = \"Thursday\"\r\n // break;\r\n // case \"5\":\r\n // endingday = \"Friday\"\r\n // break;\r\n // case \"6\":\r\n // endingday = \"Saturday\"\r\n // break;\r\n // default:\r\n // endingday = \"Thursday\"\r\n // break;\r\n // }\r\n // today = getNextDayOfTheWeek(endingday);\r\n }\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: today,\r\n });\r\n } else if (thisParam.state.selectedValidityDateType.ID === \"0005\") {\r\n //GTM\r\n if (validityDate !== null) {\r\n today = validityDate;\r\n } else {\r\n var d = new Date(),\r\n pd = d;\r\n for (var o = 1; pd.getMonth() == d.getMonth() || d.getDate() != 1; o++) {\r\n pd = d;\r\n d = new Date($.now() + o * 24 * 3600000);\r\n }\r\n\r\n // today = d.setDate(-1);\r\n today = pd;\r\n }\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: today,\r\n });\r\n } else if (thisParam.state.selectedValidityDateType.ID === \"0006\") {\r\n //FOK\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: today,\r\n });\r\n } else if (thisParam.state.selectedValidityDateType.ID === \"0007\") {\r\n //FAK\r\n thisParam.setState({\r\n isValidityDatePickerDisabled: true,\r\n validityDate: today,\r\n });\r\n }\r\n}\r\n\r\nexport function getNextDayOfTheWeek(\r\n dayName,\r\n excludeToday = true,\r\n refDate = new Date()\r\n) {\r\n // const dayOfWeek = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"]\r\n // .indexOf(dayName.slice(0, 3).toLowerCase());\r\n var now = new Date();\r\n const dayOfWeek = Number(dayName);\r\n if (dayOfWeek < 0) return;\r\n\r\n refDate.setDate(\r\n refDate.getDate() +\r\n +!!excludeToday +\r\n ((dayOfWeek + 7 - refDate.getDay() - +!!excludeToday) % 7)\r\n );\r\n refDate.setHours(now.getHours());\r\n refDate.setTime(now.getTime());\r\n refDate.setSeconds(now.getSeconds());\r\n refDate.setDate(\r\n refDate.getDate() +\r\n +!!excludeToday +\r\n ((dayOfWeek + 7 - refDate.getDay() - +!!excludeToday) % 7)\r\n );\r\n return refDate;\r\n}\r\n\r\n/* select symbol in orders */\r\nexport function selectSymbol(symbol, thisParam, isHeader = false, isModify = false, isOrderScreen = false) {\r\n\r\n console.log(\"order selected symbol: \", symbol);\r\n thisParam.setState(\r\n { selectedSymbolSearchSelect: symbol, isSymbolDetailsPopulated: false, isLookupsPupulatedExecution: false },\r\n () => {\r\n\r\n let result = thisParam.props.symbols.filter((obj) => {\r\n return obj.Symbol === symbol;\r\n });\r\n if (result !== undefined && result !== null && result.length > 0) {\r\n //console.log(\"obj.Symbol \", result[0]);\r\n if (isOrderScreen)\r\n populateAccounts(result[0], thisParam, isHeader, isModify);\r\n callSignalr(symbol, result[0].MarketType, thisParam);\r\n\r\n thisParam.setState({ IsValidateMinMax: result[0].IsValidateMinMax, ISTradingSession: result[0].IS_US_ONLINE })\r\n // if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"GLOBAL\") {\r\n // thisParam.setState({ IsValidateMinMax: result[0].IsValidateMinMax, ISTradingSession: result[0].IS_US_ONLINE })\r\n\r\n // }\r\n }\r\n // else {\r\n // errorNotify(\r\n // thisParam.props.i18n.t(\"Something_went_wrong\"),\r\n // thisParam.props.i18n.language\r\n // );\r\n // }\r\n }\r\n );\r\n}\r\n\r\nexport function populateAccounts(SymbolData, thisParam, isHeader = false, isModify = false) {\r\n\r\n if (thisParam.props.allAccounts !== undefined && thisParam.props.allAccounts !== null && thisParam.props.allAccounts.length > 0) {\r\n\r\n let accounts = thisParam.props.allAccounts.filter(\r\n (item) => SymbolData.Exchange === item.Exchange\r\n );\r\n if (accounts.length === 0) {\r\n // errorNotify(thisParam.props.i18n.t(\"You_dont_have_an_Account_to_trade_on_this_Symbol\"), thisParam.props.i18n.language);\r\n thisParam.setState({\r\n accounts: accounts,\r\n });\r\n if ((localStorage.getItem(Constants.localStorageConstants.company_name)).toUpperCase() === \"IFS\") {\r\n thisParam.AlertMSG();\r\n }\r\n return;\r\n }\r\n // console.log(\"accoutntsPopulated: \", accounts);\r\n // console.log(\"thisParam.props.allAccounts \", thisParam.props.allAccounts);\r\n thisParam.setState(\r\n {\r\n accounts: accounts,\r\n isAccountSelectedFromProps: true,\r\n },\r\n () => {\r\n //console.log(\"accoutntsPopulated: \", thisParam.state.accounts);\r\n if (isHeader) {\r\n thisParam.setState({\r\n accountsOptions: thisParam.state.accounts.map(\r\n ({ AccountID, ClientNameE }) => ({\r\n value: AccountID,\r\n name: ClientNameE,\r\n })\r\n ),\r\n });\r\n }\r\n let existed = false;\r\n var display_Leverage = false;\r\n var countCall = 0;\r\n thisParam.state.accounts.forEach((item) => {\r\n if (\r\n SymbolData.Exchange === item.Exchange &&\r\n SymbolData.CurrCode === item.CUR_CODE &&\r\n SymbolData.IS_DERIVATIVE === item.ALLOW_DERIV_TRADING &&\r\n (SymbolData.allow_short_sell === item.cl_allow_short_sell_market ||\r\n SymbolData.allow_short_sell === \"Y\")\r\n ) {\r\n\r\n if (item.IS_MARGIN_ACC === \"Y\") {\r\n display_Leverage = true;\r\n } else {\r\n display_Leverage = false;\r\n }\r\n\r\n if (item.IS_DEFAULT_ACC === \"Y\") {\r\n existed = true;\r\n if (!isModify)\r\n thisParam.setState({\r\n selectedAccount: item,\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n IsPortfolioPopulited: false\r\n }, () => {\r\n\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n else\r\n thisParam.setState({\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n }, () => {\r\n debugger\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n } else {\r\n if (!isModify)\r\n thisParam.setState({\r\n selectedAccount: item,\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n IsPortfolioPopulited: false\r\n }, () => {\r\n\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n else\r\n thisParam.setState({\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n IsPortfolioPopulited: false\r\n }, () => {\r\n debugger\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n if (existed) return;\r\n if (!existed) {\r\n thisParam.state.accounts.forEach((item, index) => {\r\n if (item.IS_MARGIN_ACC === \"Y\") {\r\n display_Leverage = true;\r\n } else {\r\n display_Leverage = false;\r\n }\r\n if (index === 0) {\r\n existed = true;\r\n if (!isModify)\r\n thisParam.setState({\r\n selectedAccount: item,\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n IsPortfolioPopulited: false\r\n }, () => {\r\n\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n else\r\n thisParam.setState({\r\n isAccountDropdownDisabled: false,\r\n displayLeverage: display_Leverage,\r\n IsPortfolioPopulited: false\r\n }, () => {\r\n debugger\r\n if (countCall === 0) {\r\n thisParam.callgetCustodiansByClientID();\r\n thisParam.callgetPortfolioForIPOQuickSell();\r\n countCall = + 1;\r\n }\r\n });\r\n return;\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport function callSignalr(symbol, MarketType, thisParam) {\r\n //window.isBuyOrdersEntry = true;\r\n //window.BuyOrdersEntry = thisParam;\r\n //window[\"symbolDetails\"](symbol, \"001\");\r\n //console.log(\"BuyOrdersEntry symbol: \", symbol, \" MarketType: \", MarketType);\r\n if (\r\n thisParam.props.signalr_connection !== undefined &&\r\n thisParam.props.signalr_connection !== null &&\r\n thisParam.props.signalr_connection.state === 1\r\n ) {\r\n thisParam.props.signalr_connection.proxies.myhub.invoke(\r\n \"sendSymbolDetails\",\r\n symbol,\r\n MarketType\r\n );\r\n thisParam.props.signalr_connection.proxies.myhub.invoke(\r\n \"AddMarketWatchProfileSymbol\",\r\n localStorage.getItem(\"username\"),\r\n symbol\r\n );\r\n thisParam.props.setSymbolToSub(thisParam.props.screenid, symbol);\r\n } else {\r\n //console.log(\"Something went wrong.\")\r\n // thisParam.errorNotify(\"Something went wrong.\")\r\n }\r\n}\r\n\r\nexport function getUser() {\r\n if (\r\n localStorage.getItem(\"user\") === null ||\r\n localStorage.getItem(\"user\") === undefined\r\n ) {\r\n return null;\r\n }\r\n if (!isJsonString(localStorage.getItem(\"user\"))) {\r\n return null;\r\n }\r\n let user = JSON.parse(localStorage.getItem(\"user\"));\r\n return user;\r\n}\r\n\r\nexport function getExchangesWithSelected(exchanges, selectedID) {\r\n //to set DFM always as initial selection\r\n\r\n let isFound = false;\r\n for (let i = 0; i < exchanges.length; i++) {\r\n // if (exchanges[i].ExchangeID === \"DFM\") {\r\n // isFound = true;\r\n // }\r\n if (exchanges[i].ExchangeID === selectedID) {\r\n isFound = true;\r\n }\r\n }\r\n\r\n let exchangesArray = exchanges.map((obj, index) =>\r\n isFound\r\n ? obj.ExchangeID === selectedID\r\n ? Object.assign(obj, { isSelected: true })\r\n : Object.assign(obj, { isSelected: false })\r\n : index === 0\r\n ? Object.assign(obj, { isSelected: true })\r\n : Object.assign(obj, { isSelected: false })\r\n );\r\n // console.log(\"exchangesArray\", exchangesArray);\r\n // console.log(\"exchanges\", exchanges);\r\n return exchangesArray;\r\n}\r\n\r\n// Get max value of an array in Javascript\r\nexport function getMaxValue(array) {\r\n let value = Math.max.apply(null, array);\r\n return value;\r\n}\r\n\r\n/* Global function for AgGridReact */\r\nexport function autoSizeAll(skipHeader, thisParam) {\r\n var allColumnIds = [];\r\n thisParam.gridColumnApi.getAllColumns().forEach(function (column) {\r\n allColumnIds.push(column.colId);\r\n });\r\n thisParam.gridColumnApi.autoSizeColumns(allColumnIds, skipHeader);\r\n}\r\n\r\nexport function getIsIPad() {\r\n return window.innerWidth <= 1024;\r\n}\r\n\r\nexport function getIsMobile() {\r\n /*mini mobile screen*/\r\n return window.innerWidth <= 475;\r\n}\r\n\r\nexport function isNight() {\r\n var date = new Date();\r\n if (date.getHours() > 19 || date.getHours() < 6) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nexport function isShuaa() {\r\n return true;\r\n}\r\n\r\nexport function getCompanyName() {\r\n return localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase();\r\n}\r\n\r\nexport function removeExistingItem(key) {\r\n if (localStorage.getItem(key) !== null) localStorage.removeItem(key);\r\n}\r\n\r\nexport function getAppTheme() {\r\n let appThemeClass = \"app-theme-white \";\r\n let theme = localStorage.getItem(\"theme\");\r\n if (theme !== null) {\r\n if (theme === \"dark\") {\r\n appThemeClass = \"app-theme-dark \";\r\n }\r\n }\r\n return appThemeClass;\r\n}\r\n\r\nexport function getAppThemeMode() {\r\n let themeMode = lightTheme;\r\n let theme = localStorage.getItem(\"theme\");\r\n if (theme !== null) {\r\n if (theme === \"dark\") {\r\n themeMode = darkTheme;\r\n }\r\n }\r\n return themeMode;\r\n}\r\n\r\nexport function getIsTickerVisible() {\r\n let isTickerVisible = true;\r\n let isTickerVisibleLocalStorage = localStorage.getItem(\r\n Constants.localStorageConstants.isTickerVisible\r\n );\r\n if (isTickerVisibleLocalStorage !== null) {\r\n if (isTickerVisibleLocalStorage === \"true\") {\r\n isTickerVisible = true;\r\n } else {\r\n isTickerVisible = false;\r\n }\r\n }\r\n //console.log(\"getIsTickerVisible: \", isTickerVisible);\r\n return isTickerVisible;\r\n}\r\n\r\nexport function setIsTickerVisible(isTickerVisibleParam) {\r\n //console.log(\"setIsTickerVisible: \", isTickerVisibleParam);\r\n localStorage.setItem(\r\n Constants.localStorageConstants.isTickerVisible,\r\n isTickerVisibleParam\r\n );\r\n}\r\n\r\nexport function getPreviousConfig() {\r\n var data = {\r\n app_path: localStorage.getItem(Constants.localStorageConstants.app_path),\r\n company_name: localStorage.getItem(Constants.localStorageConstants.company_name),\r\n Region: localStorage.getItem(Constants.localStorageConstants.Region),\r\n server_url: localStorage.getItem(Constants.localStorageConstants.server_url),\r\n chart_iq_url: localStorage.getItem(Constants.localStorageConstants.chart_iq_url),\r\n chart_trading_url: localStorage.getItem(Constants.localStorageConstants.chart_trading_url),\r\n signalr_url: localStorage.getItem(Constants.localStorageConstants.signalr_url),\r\n signalr_hub: localStorage.getItem(Constants.localStorageConstants.signalr_hub),\r\n last_Work_day: localStorage.getItem(Constants.localStorageConstants.last_Work_day),\r\n Foreign_Market: localStorage.getItem(Constants.localStorageConstants.Foreign_Market),\r\n PortfolioProvider: localStorage.getItem(Constants.localStorageConstants.PortfolioProvider),\r\n EnableTags: localStorage.getItem(Constants.localStorageConstants.EnableTags),\r\n EnableIPOQuickSell: localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell),\r\n EnableSymbolFullName: localStorage.getItem(Constants.localStorageConstants.EnableSymbolFullName),\r\n EnableMarketWatchCache: localStorage.getItem(Constants.localStorageConstants.EnableMarketWatchCache),\r\n signalrCallInterval: localStorage.getItem(Constants.localStorageConstants.signalrCallInterval)\r\n };\r\n return data;\r\n}\r\nexport function SetpreviosConfig(data) {\r\n localStorage.setItem(Constants.localStorageConstants.app_path, data.app_path);\r\n localStorage.setItem(Constants.localStorageConstants.company_name, data.company_name);\r\n localStorage.setItem(Constants.localStorageConstants.Region, data.Region);\r\n localStorage.setItem(Constants.localStorageConstants.server_url, data.server_url);\r\n localStorage.setItem(Constants.localStorageConstants.chart_iq_url, data.chart_iq_url);\r\n localStorage.setItem(Constants.localStorageConstants.chart_trading_url, data.chart_trading_url);\r\n localStorage.setItem(Constants.localStorageConstants.signalr_url, data.signalr_url);\r\n localStorage.setItem(Constants.localStorageConstants.signalr_hub, data.signalr_hub);\r\n localStorage.setItem(Constants.localStorageConstants.last_Work_day, data.last_Work_day);\r\n localStorage.setItem(Constants.localStorageConstants.Foreign_Market, data.Foreign_Market);\r\n localStorage.setItem(Constants.localStorageConstants.PortfolioProvider, data.PortfolioProvider);\r\n localStorage.setItem(Constants.localStorageConstants.EnableTags, data.EnableTags);\r\n localStorage.setItem(Constants.localStorageConstants.EnableIPOQuickSell, data.EnableIPOQuickSell);\r\n localStorage.setItem(Constants.localStorageConstants.EnableSymbolFullName, data.EnableSymbolFullName);\r\n localStorage.setItem(Constants.localStorageConstants.EnableMarketWatchCache, data.EnableMarketWatchCache);\r\n localStorage.setItem(Constants.localStorageConstants.signalrCallInterval, data.signalrCallInterval);\r\n}\r\n\r\nexport function isNullOrEmpty(str) {\r\n if (str != undefined && str != null && str != \"\") {\r\n return false;\r\n } else return true;\r\n}\r\n\r\nexport async function getAsByteArray(file) {\r\n return new Uint8Array(await readFile(file));\r\n}\r\n\r\nfunction readFile(file) {\r\n return new Promise((resolve, reject) => {\r\n // Create file reader\r\n let reader = new FileReader();\r\n\r\n // Register event listeners\r\n reader.addEventListener(\"loadend\", (e) => resolve(e.target.result));\r\n reader.addEventListener(\"error\", reject);\r\n\r\n // Read file\r\n reader.readAsArrayBuffer(file);\r\n });\r\n}\r\n\r\nexport function getKeyOfObj(Obj) {\r\n var keyOfNewData = Object.keys(Obj);\r\n return keyOfNewData;\r\n}\r\n\r\nexport function ExchangesUpdateDisableTagValue(Obj) {\r\n\r\n return \"\"\r\n}\r\nexport function ExchangesUpdateEnableTagValue(state, exchangesUpdateMsg, fromRedux = false) {\r\n // exchangesUpdateMsg = [\r\n // {\r\n // \"ExchangeID\": \"XNYS\",\r\n // \"CurrentValue\": \"9183.48\",\r\n // \"Volume\": \"2\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"XNAS\",\r\n // \"CurrentValue\": \"9183.48\",\r\n // \"Volume\": \"44\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"TDWL\",\r\n // \"CurrentValue\": \"986.31\",\r\n // \"Volume\": \"5\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"BHB\",\r\n // \"CurrentValue\": \"8250.61\",\r\n // \"ExchangeNameE\": \"BHB\",\r\n // \"ExchangeNameA\": \"BHB\",\r\n // \"Volume\": \"0\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"CRYP\",\r\n // \"CurrentValue\": \"9183.48\",\r\n // \"ExchangeNameE\": \"BINANCE\",\r\n // \"ExchangeNameA\": \"BINANCE\",\r\n // \"Volume\": \"0\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"DFM\",\r\n // \"CurrentValue\": \"100\",\r\n // \"ExchangeNameE\": \"DFM DUBAI\",\r\n // \"ExchangeNameA\": \"DFM DUBAI\",\r\n // \"Volume\": \"228506827\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"ADSM\",\r\n // \"CurrentValue\": \"9971.57\",\r\n // \"ExchangeNameE\": \"ADSM\",\r\n // \"ExchangeNameA\": \"سوق أبو ظبي\",\r\n // \"Volume\": \"241239735\",\r\n\r\n // },\r\n // {\r\n // \"ExchangeID\": \"DIFX\",\r\n // \"CurrentValue\": \"3587.44\",\r\n // \"ExchangeNameE\": \"DIFX\",\r\n // \"ExchangeNameA\": \"سوق دبي العالمي \",\r\n // \"Volume\": \"92120\",\r\n\r\n // }\r\n // ]\r\n let oldOrigenalexchange = [];\r\n\r\n oldOrigenalexchange = fromRedux ? state.OrigenalExchanges : state\r\n\r\n if (\r\n oldOrigenalexchange !== null &&\r\n oldOrigenalexchange.length !== 0 &&\r\n (exchangesUpdateMsg !== null) &\r\n (exchangesUpdateMsg !== undefined) &&\r\n exchangesUpdateMsg.length === undefined\r\n ) {\r\n\r\n var list = []\r\n let oldExchange = oldOrigenalexchange.find((e) => e.ExchangeID === exchangesUpdateMsg.ExchangeID);\r\n\r\n if (oldExchange !== undefined && oldExchange !== null) {\r\n var keysOfNewData = Object.keys(exchangesUpdateMsg);\r\n keysOfNewData.forEach(key => {\r\n if (key !== \"ExchangeID\")\r\n oldExchange[key] = exchangesUpdateMsg[key];\r\n });\r\n list.push(oldExchange);\r\n oldOrigenalexchange.map(obj => list.find(o => o.ExchangeID === obj.ExchangeID) || obj);\r\n\r\n state = fromRedux ? {\r\n ...state,\r\n exchanges: oldOrigenalexchange,\r\n } : oldOrigenalexchange\r\n\r\n }\r\n\r\n }\r\n else if (\r\n oldOrigenalexchange !== null &&\r\n oldOrigenalexchange.length !== 0 &&\r\n (exchangesUpdateMsg !== null) &\r\n (exchangesUpdateMsg !== undefined) &&\r\n exchangesUpdateMsg.length > 0\r\n ) {\r\n\r\n let oldExchange = null;\r\n let list = [];\r\n\r\n exchangesUpdateMsg.forEach((str, idx) => {\r\n\r\n oldExchange = oldOrigenalexchange.find((e) => e.ExchangeID === exchangesUpdateMsg[idx].ExchangeID);\r\n if (oldExchange !== undefined && oldExchange !== null) {\r\n\r\n var keysOfNewData = Object.keys(exchangesUpdateMsg[idx]);\r\n keysOfNewData.forEach(key => {\r\n if (key !== \"ExchangeID\")\r\n oldExchange[key] = exchangesUpdateMsg[idx][key];\r\n });\r\n list.push(oldExchange);\r\n\r\n\r\n }\r\n });\r\n\r\n if (list.length != 0) {\r\n state = fromRedux ? {\r\n ...state,\r\n exchanges: list,\r\n } : list\r\n }\r\n\r\n\r\n }\r\n return state;\r\n}\r\n\r\n\r\n\r\nexport function addConditionalOrder(order, thisParam) {\r\n\r\n\r\n if (thisParam.state.selectedParameter.value === \"\") {\r\n errorNotify(thisParam.props.t(\"Please_select_parameter\"), thisParam.props.i18n.language)\r\n\r\n return false\r\n }\r\n if (thisParam.state.selectedCriteria.value === \"\") {\r\n errorNotify(thisParam.props.t(\"Please_select_criteria\"), thisParam.props.i18n.language)\r\n\r\n return false\r\n }\r\n\r\n if (thisParam.state.conditionalValue === null || thisParam.state.conditionalValue === \"\") {\r\n errorNotify(thisParam.props.t(\"Please_input_value\"), thisParam.props.i18n.language)\r\n return false\r\n }\r\n\r\n\r\n let user = getUser();\r\n if (user === null) {\r\n errorNotify(thisParam.props.t(\"user_not_available\"), thisParam.props.i18n.language)\r\n return;\r\n }\r\n let userCode = user.UCode;\r\n\r\n let webCode = user.WebCode;\r\n let dateNow = new Date();\r\n\r\n let postdata = {\r\n AccountNameA: order.AccountNameA,\r\n AccountNameE: order.AccountNameE,\r\n BrokerID: order.BrokerID,\r\n BuysellFlag: order.SellBuyFlag,\r\n CAccount: order.AccountID,\r\n COLUMN_NAME_1: thisParam.state.selectedParameter.value !== \"\" ? thisParam.state.selectedParameter.value : \"\",\r\n COLUMN_NAME_2: \"\",\r\n COLUMN_NAME_3: \"\",\r\n CONDITION_1: thisParam.state.selectedCriteria.value !== \"\" ? thisParam.state.selectedCriteria.value : \"\",\r\n CONDITION_2: \"\",\r\n CONDITION_3: \"\",\r\n ClientID: order.ClientID,\r\n Condtion_Symbol: \"\",\r\n CustodianID: order.CustodianID,\r\n Exchange: order.Exchange,\r\n IsExcuted: \"N\",\r\n Min_Fill_Qty: \"\",\r\n NIN: order.NIN,\r\n Price: order.Price,\r\n QTY: order.Remaining,\r\n RejectedReason: \"\",\r\n Sett_Type: order.Sett_Type,\r\n StopLossPx: order.StopLossPx,\r\n Symbol: order.Symbol,\r\n Symbol_ID: order.SymbolCode,\r\n TifDate: order.ValidityDate,\r\n TifType: order.ValidityCode,\r\n UCode: userCode,\r\n UpdateDate: dateToString(dateNow, false),\r\n VALUE_1: thisParam.state.conditionalValue !== null ? thisParam.state.conditionalValue : \"\",\r\n VALUE_2: \"\",\r\n VALUE_3: \"\",\r\n ValidTillDate: order.ValidityDate,\r\n Visible_Qty: order.VisibleQty,\r\n WebCode: webCode,\r\n };\r\n\r\n let addConditionalOrderResponse = utils.addConditionalOrder(postdata);\r\n addConditionalOrderResponse.then((response) => {\r\n if (response.data) {\r\n\r\n if (response.data.AlertID !== null && response.data.AlertID !== \"\") {\r\n successNotify(thisParam.props.t(\"Alert_Added_Successfully\"), thisParam.props.i18n.language);\r\n thisParam.props.setIsConditionalOrderDeleted(true);\r\n thisParam.clear();\r\n\r\n thisParam.props.toggleDropDown();\r\n } else {\r\n errorNotify(thisParam.props.t(\"somethingwentwrong\"), thisParam.props.i18n.language)\r\n }\r\n // thisParam.callGetConditionalByUsr();\r\n } else {\r\n errorNotify(thisParam.props.t(\"somethingwentwrong\"), thisParam.props.i18n.language)\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n}","export default __webpack_public_path__ + \"static/media/ic-check-mark-correct.f4d88690.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"Chart2_first__fkphw\",\"second\":\"Chart2_second__3g6_H\",\"third\":\"Chart2_third__1DVze\",\"four\":\"Chart2_four__3JtAn\",\"five\":\"Chart2_five__1lXIw\",\"six\":\"Chart2_six__xKsbR\"};","export default __webpack_public_path__ + \"static/media/bg2.063c37e1.png\";","import React, { useEffect } from 'react';\r\nimport './LoginSignup.css';\r\n\r\n\r\n\r\n\r\nimport LeftImage from '../../assets/images/RAMZ/bg2.png?ver=1';\r\n\r\n\r\nimport { ThemeProvider } from 'styled-components';\r\nimport { lightTheme, darkTheme } from '../../global/theme';\r\nimport { GlobalStyles } from '../../global/global';\r\nimport { useDarkMode } from '../shared/Toggle/useDarkMode';\r\nimport * as actions from \"../../store/actionTypes\";\r\nimport { connect } from \"react-redux\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { useTranslation } from 'react-i18next';\r\nimport * as Constants from '../../constants/Constants';\r\n// import ImagesSlider from '../ImagesSlider/ImagesSlider'\r\n\r\n\r\nfunction AuthContainer(props) {\r\n const { t } = useTranslation();\r\n const [theme, componentMounted] = useDarkMode();\r\n\r\n /* componentDidMount */\r\n useEffect(() => {\r\n //console.log(\"AuthContainer Mounted\");\r\n }, [])\r\n\r\n const themeMode = theme === 'light' ? lightTheme : darkTheme;\r\n if (theme === 'dark') {\r\n props.setDarkMode(true)\r\n } else {\r\n props.setDarkMode(false)\r\n }\r\n\r\n if (!componentMounted) {\r\n return
\r\n };\r\n\r\n let imageClass = \"col-md-6 auth-left hidden-sm\";\r\n let formClass = \"col-md-6 col-sm-12 auth-right\";\r\n let flexClass = \"flex-row\";\r\n let formDirection = \"ltr\";\r\n\r\n if (props.i18n.language === \"ar\") {\r\n flexClass = \"flex-row-reverse\";\r\n formDirection = \"rtl\";\r\n }\r\n\r\n // let logo = null;\r\n // if (props.i18n.language === \"en\") {\r\n // if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"FIT\") {\r\n // logo = FitLogo\r\n // } else {\r\n // if (theme === 'dark') {\r\n // logo = ShuaaLogoWhiteEnglish\r\n // } else {\r\n // logo = ShuaaLogoBlueEnglish\r\n // }\r\n\r\n // }\r\n // } else {\r\n // if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"FIT\") {\r\n // logo = FitLogo\r\n // } else {\r\n // if (theme === 'dark') {\r\n // logo = ShuaaLogoWhiteArabic\r\n // } else {\r\n // logo = ShuaaLogoBlueArabic\r\n // }\r\n\r\n // }\r\n // }\r\n\r\n const renderNavbarForSharjah = () => {\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"SHARJAH\") {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n \r\n\r\n\r\n\r\n return (\r\n \r\n <>\r\n \r\n\r\n\r\n\r\n {/*

It's a {theme === 'light' ? 'light theme' : 'dark theme'}!

*/}\r\n
\r\n {renderNavbarForSharjah()}\r\n
\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" ?\r\n
\r\n
\r\n \r\n {/* */}\r\n
\r\n
\r\n\r\n : null\r\n }\r\n
\r\n
\r\n {/* */}\r\n\r\n {\r\n localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"SHARJAH\" ? null :\r\n
\r\n \r\n
\r\n }\r\n\r\n\r\n\r\n\r\n\r\n {/*

{props.title}

*/}\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"UNITED\"\r\n ?
\r\n
مرحباً بكم في موقع التداول الإلكتروني لشركة المتحدة للأوراق المالية
\r\n
Welcome to UNITED SECURITIES Online Trading Portal
\r\n
:\r\n localStorage.getItem(Constants.localStorageConstants.company_name) === \"GLOBAL\"\r\n ?
\r\n
مرحباً بكم في موقع التداول الإلكتروني لشركة الدولية للأوراق المالية
\r\n
Welcome to GLOBAL FINANCIAL SECURITIES Online Trading Portal
\r\n
:\r\n
{props.subTitle}
\r\n }\r\n\r\n
\r\n {props.form}\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n {/*
\r\n {t(\"terms\")}\r\n
*/}\r\n\r\n {/*
\r\n \r\n
*/}\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setDarkMode: (isDarkMode) => {\r\n dispatch({\r\n type: actions.SET_DARK_MODE,\r\n payload: {\r\n isDarkMode: isDarkMode\r\n }\r\n })\r\n },\r\n }\r\n}\r\n\r\n//export default connect(null, mapDispatchToProps)(withTranslation(null))(AuthContainer);\r\nexport default connect(null, mapDispatchToProps, null, { forwardRef: true })(withTranslation(null, { withRef: true })(AuthContainer));","// useDarkMode.js\r\nimport { useEffect, useState } from 'react';\r\nimport * as Constants from \"../../../constants/Constants\";\r\n\r\nexport const useDarkMode = () => {\r\n const [theme, setTheme] = useState(Constants.defaultTheme);\r\n const [componentMounted, setComponentMounted] = useState(false);\r\n\r\n const setMode = mode => {\r\n window.localStorage.setItem('theme', mode)\r\n setTheme(mode)\r\n };\r\n\r\n const toggleTheme = () => {\r\n if (theme === 'light') {\r\n setMode('dark');\r\n } else {\r\n setMode('light');\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const localTheme = window.localStorage.getItem('theme');\r\n if (localTheme) {\r\n setTheme(localTheme);\r\n } else {\r\n setMode(Constants.defaultTheme);\r\n }\r\n setComponentMounted(true);\r\n }, []);\r\n\r\n return [theme, toggleTheme, componentMounted]\r\n};","export default __webpack_public_path__ + \"static/media/ico-1.e555940c.svg\";","export default __webpack_public_path__ + \"static/media/ico-2.aa032fab.svg\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { authenticate, encryptedString, GetSettingWorkSpaceByUserID } from \"../../global/utils\";\r\nimport \"./LoginSignup.css\";\r\nimport { useDispatch } from 'react-redux';\r\nimport * as actions from \"../../store/actionTypes\";\r\n\r\nimport { LoginStatus } from \"../../constants/Constants\";\r\n\r\nimport { Redirect } from \"react-router-dom\";\r\n\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\n\r\n//loader\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport * as Constants from \"../../constants/Constants\";\r\n\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport Keyboard from \"react-simple-keyboard\";\r\nimport \"react-simple-keyboard/build/css/index.css\";\r\nimport KeyboardIcon from '../../assets/images/keyboard_icon.png';\r\nimport ico from '../../assets/images/Sharjah/ico-1.svg';\r\nimport ico2 from '../../assets/images/Sharjah/ico-2.svg';\r\n\r\nimport * as Helpers from \"../../global/Helpers\";\r\n\r\nimport * as utils from \"../../global/utils\";\r\nimport i18next from 'i18next';\r\n\r\n\r\n\r\n// import { GoPerson } from \"react-icons/go\";\r\nimport { Person } from \"react-bootstrap-icons\";\r\n\r\nimport appStoreIcon from '../../assets/images/Sharjah/apple.png';\r\nimport googlePlayIcon from '../../assets/images/Sharjah/google.png';\r\n\r\n// import TermsAndConditions from '../TermsAndConditions/TermsAndConditions'\r\n\r\n\r\ntoast.configure();\r\n\r\nfunction Login(props) {\r\n const abortController = new AbortController();\r\n //const counter = useSelector((state) => state)\r\n const dispatch = useDispatch()\r\n const { t, i18n } = useTranslation();\r\n /* static login: to be uncommented */\r\n /* localStorage.setItem(\"user\", \"FIT\");\r\n localStorage.setItem(\"username\", \"FIT\");\r\n localStorage.setItem(\"WebCode\", \"50\"); */\r\n\r\n const androidUrl = 'https://play.google.com/store/apps/details?id=com.SIB.TradeNet.TTouch';\r\n const iosUrl = 'https://apps.apple.com/jo/app/sifs-mobile-trading/id1172220173';\r\n let language = localStorage.getItem(\"language\");\r\n\r\n if (language === \"null\" || language === null || language === undefined || language === \"undefined\") {\r\n language = \"en\"\r\n }\r\n let fromLogin = localStorage.getItem(\"isLanguageSelectedFromLogin\");\r\n if (fromLogin === \"null\" || fromLogin === null || fromLogin === undefined || fromLogin === \"undefined\") {\r\n fromLogin = false\r\n }\r\n\r\n const [username, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [LanguageSelectedFromLogin, setLanguageSelected] = useState(language);\r\n const [isLanguageSelectedFromLogin, setIsLanguageSelectedFromLogin] = useState(fromLogin);\r\n const [passwordType, setPasswordType] = useState(\"password\");\r\n const [isRememberMe, setIsRememberMe] = useState(false);\r\n const [isDisclaimerLogin, setisDisclaimerLogin] = useState(false);\r\n const [redirect, setRedirect] = useState(null);\r\n /* const [ipAddress, setIpAddress] = useState(\"\"); */\r\n const [visible, setVisible] = useState(false);\r\n const [keyboardVisible, setKeyboardVisible] = useState(false);\r\n const [passwordDisabled, setPasswordDisabled] = useState(false);\r\n const [layout, setLayout] = useState(\"default\");\r\n const [keyboardLanguage, setKeyboardLanguage] = useState(\"en\");\r\n const keyboard = useRef();\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n\r\n\r\n /* componentDidMount */\r\n localStorage.setItem(\"LanguageSelectedFromLogin\", LanguageSelectedFromLogin);\r\n localStorage.setItem(\"isLanguageSelectedFromLogin\", isLanguageSelectedFromLogin);\r\n localStorage.setItem('Netconnected', false);\r\n if (localStorage.getItem(\"isRememberMe\") === 'true') {\r\n setUsername(localStorage.getItem(\"username\"));\r\n // setPassword(localStorage.getItem(\"password\"));\r\n setIsRememberMe(true);\r\n } else {\r\n setUsername(\"\");\r\n setPassword(\"\");\r\n setIsRememberMe(false);\r\n }\r\n GetDeviceConfigs();\r\n }, [])\r\n\r\n const onChange = input => {\r\n setPassword(input);\r\n // console.log(\"Input changed\", input);\r\n };\r\n\r\n const handleShift = () => {\r\n\r\n const newLayoutName = layout === \"default\" ? \"shift\" : \"default\";\r\n setLayout(newLayoutName);\r\n };\r\n\r\n const onKeyPress = button => {\r\n\r\n // console.log(\"Button pressed\", button);\r\n if (button === \"{shift}\" || button === \"{lock}\") handleShift();\r\n if (button === \"{ar}\") {\r\n setKeyboardLanguage(\"ar\")\r\n } else if (button === \"{en}\") {\r\n setKeyboardLanguage(\"en\")\r\n }\r\n };\r\n\r\n var tokenId = \"\"\r\n\r\n // const errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n // const successNotify = (message) => {\r\n // toast.success(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.successNotifyDuration\r\n // });\r\n // };\r\n\r\n function changeLanguageNew(e) {\r\n\r\n e.preventDefault();\r\n var newlang = \"\";\r\n if (LanguageSelectedFromLogin === \"en\") {\r\n newlang = \"ar\";\r\n } else {\r\n newlang = \"en\";\r\n }\r\n setLanguageSelected(newlang);\r\n setIsLanguageSelectedFromLogin(true);\r\n localStorage.removeItem(\"LanguageSelectedFromLogin\");\r\n localStorage.removeItem(\"isLanguageSelectedFromLogin\");\r\n localStorage.setItem(\"LanguageSelectedFromLogin\", newlang);\r\n localStorage.setItem(\"isLanguageSelectedFromLogin\", true);\r\n props.changeLanguageNew();\r\n\r\n\r\n\r\n };\r\n\r\n // function TermsAndConditionsPOPUP() {\r\n // confirmAlert({\r\n // customUI: ({ onClose }) => {\r\n // return (\r\n //
\r\n // \r\n //
\r\n // \r\n\r\n // {t(\"TermsAndConditions\")}\r\n // \r\n //
\r\n // \r\n\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // },\r\n // });\r\n // }\r\n function alreadyLoggedInFunc() {\r\n\r\n // tokenId = \"1\";\r\n // console.log(\"token id\", tokenId);\r\n // callLoginApi();\r\n // return;\r\n var yes = t(\"Yes\");\r\n var no = t(\"No\");\r\n confirmAlert({\r\n title: 'Confirm to submit',\r\n message: t(\"userAlreadyLoggedIn\"),\r\n buttons: [\r\n {\r\n label: String(yes),\r\n onClick: () => {\r\n // console.log('Click Yes')\r\n tokenId = \"1\";\r\n // console.log(\"token id\", tokenId);\r\n callLoginApi();\r\n }\r\n },\r\n {\r\n label: String(no),\r\n //onClick: () => console.log('Click No')\r\n }\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n })\r\n };\r\n\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n if (!validate()) {\r\n return\r\n }\r\n callLoginApi();\r\n }\r\n\r\n function NotEnableEtrade() {\r\n var msg =\r\n \r\n \r\n {t(\"NotEnableEtrade1\")}\r\n https://webtrade.alramz.ae\r\n {t(\"NotEnableEtrade2\")}\r\n 800 RAMZ (7269) or email us at cs@alramz.ae\r\n \r\n \r\n\r\n\r\n var yes = t(\"Yes\");\r\n var no = t(\"ok\");\r\n confirmAlert({\r\n title: '',\r\n message: msg,\r\n buttons: [\r\n // {\r\n // label: String(yes),\r\n\r\n // },\r\n {\r\n label: String(no),\r\n //onClick: () => console.log('Click No')\r\n }\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n })\r\n };\r\n\r\n function validate() {\r\n\r\n if (!username) {\r\n Helpers.errorNotify(t(\"Please_enter_username_and_try_again.\"), i18next.language);\r\n return false;\r\n }\r\n\r\n if (!password) {\r\n Helpers.errorNotify(t(\"Please_enter_password_and_try_again.\"), i18next.language);\r\n return false\r\n }\r\n\r\n if (!isDisclaimerLogin && localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"PIONEERS\") {\r\n Helpers.errorNotify(t(\"DisclaimerRequired\"), i18next.language);\r\n return false\r\n }\r\n\r\n\r\n\r\n return true;\r\n }\r\n\r\n function rememberMeFunction() {\r\n // if (isRememberMe) {\r\n // localStorage.setItem(\"password\", password);\r\n // } else {\r\n // Helpers.removeExistingItem(\"password\")\r\n // }\r\n }\r\n const getUserSettings = () => {\r\n\r\n let response = GetSettingWorkSpaceByUserID();\r\n response.then((response) => {\r\n let data = response.data[0]\r\n\r\n if (data.WorkSpaceSettings !== undefined && data.WorkSpaceSettings !== null && data.WorkSpaceSettings !== \"\") {\r\n\r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n localStorage.setItem(\"selectedProfile\", res.selectedProfile);\r\n localStorage.setItem(\"theme\", res.theme)\r\n localStorage.setItem(\"UserSettings\", data.WorkSpaceSettings);\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_SYMBOL,\r\n payload: {\r\n PreferredSymbol: res.PreferredSymbol\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_EXCHANGE,\r\n payload: {\r\n PreferredExchange: res.PreferredExchange\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.UPDATE_ENABLE_EXPAND_ROW,\r\n payload: {\r\n EnableExpandRow: res.expandRow === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.ENABLE_TRADE_TICKER,\r\n payload: {\r\n EnableTradeTicker: res.tradeTicker === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.ENABLE_ROUND_TICKER,\r\n payload: {\r\n EnableRoundTicker: res.RoundTicker === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n // if (i18n.language === \"ar\" && res.lang === \"en\")\r\n // props.changeLanguageNew()\r\n // else if (i18n.language === \"en\" && res.lang === \"ar\")\r\n // props.changeLanguageNew()\r\n // console.log(\"getUserSettings Login\", data);\r\n saveSettings(data);\r\n }\r\n }).catch((error) => {\r\n\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n function saveSettings(data) {\r\n console.log(\"saveSettings\", data)\r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n let settings = {\r\n lang: isLanguageSelectedFromLogin ? LanguageSelectedFromLogin : res.lang,\r\n theme: res.theme,\r\n\r\n expandRow: res.expandRow,\r\n PreferredSymbol: res.PreferredSymbol,\r\n PreferredExchange: res.PreferredExchange,\r\n selectedProfile: res.selectedProfile,\r\n tradeTicker: res.tradeTicker,\r\n RoundTicker: res.RoundTicker\r\n }\r\n //console.log(\"Settings Successfully Updated Login\", res.PreferredExchange);\r\n if (data !== undefined && data !== null) {\r\n let postdata = {\r\n profileUniqueID: data.profileUniqueID,\r\n ProfileID: data.ProfileID,\r\n ProfileName: data.ProfileName,\r\n ProfileNameAr: data.ProfileNameAr,\r\n ProfileSettings: data.ProfileSettings,\r\n WorkSpaceSettings: JSON.stringify(settings),\r\n WebCode: localStorage.getItem(\"WebCode\")\r\n };\r\n\r\n //console.log(\"Settings Successfully Updated Login postdata\", postdata);\r\n var updateWorkSpaceSettings = utils.UpdateUserProfileSettings(postdata);\r\n updateWorkSpaceSettings.then((response) => {\r\n\r\n if (response.data) {\r\n //console.log(\"Settings Successfully Updated\");\r\n // this.props.setUserSettings(settings)\r\n localStorage.setItem(\"UserSettings\", JSON.stringify(settings));\r\n\r\n if (i18n.language === \"ar\" && settings.lang == \"en\")\r\n props.changeLanguageNew()\r\n else if (i18n.language === \"en\" && settings.lang === \"ar\")\r\n props.changeLanguageNew()\r\n\r\n } else {\r\n console.log(\"Unsuccessfull Update Settings, please contact Administrator\")\r\n }\r\n })\r\n .finally(() => {\r\n if (abortController) abortController.abort();\r\n })\r\n .catch((error) => {\r\n console.log(\"Unsuccessfull Update Settings, please contact Administrator\")\r\n if (abortController) abortController.abort();\r\n });\r\n }\r\n }\r\n\r\n const GetDeviceConfigs = () => {\r\n\r\n let getProfilesByUserIdResponse = utils.GetDeviceConfigs();\r\n getProfilesByUserIdResponse\r\n .then(response => response.data)\r\n .then(data => {\r\n localStorage.setItem(\"ForgotPasswordMethod\", data.ForgotPasswordMethod);\r\n localStorage.setItem(\"DeviceConfigs\", JSON.stringify(data));\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const callLoginApi = () => {\r\n setVisible(true);\r\n setPasswordDisabled(true);\r\n\r\n let options = { withCredentials: true };\r\n var response = authenticate(username, password, \"\", \"\", \"185.99.34.25\", tokenId, \"\", \"\", \"\", \"\", \"N\", options);\r\n // console.log(response);\r\n response.then((response) => {\r\n //\r\n setVisible(false);\r\n if (!keyboardVisible)\r\n setPasswordDisabled(false);\r\n //console.log(\"#Login rresponse\", response.data);\r\n //console.log(response);\r\n var status = response.data[\"Status\"]\r\n let isFirstLoggedIn = response.data[\"IsFirstLogin\"];\r\n // if (isFirstLoggedIn === \"Y\") {\r\n\r\n // localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n // setRedirect(AppUrls.changePassword);\r\n // return;\r\n // }\r\n\r\n if (status === null) {\r\n // errorNotify(t(\"somethingwentwrong\"));\r\n Helpers.errorNotify(t(\"servicesIsDownMSG\"), i18next.language);\r\n return;\r\n }\r\n\r\n switch (status) {\r\n case LoginStatus.Success:\r\ndebugger\r\n if (isFirstLoggedIn === \"Y\") {\r\n localStorage.setItem(\"loginFirst\", true);\r\n localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"passwordToOTp\", encryptedString(password));\r\n localStorage.setItem(\"validValue\", \"\");\r\n localStorage.setItem(\"username\", username);\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n localStorage.setItem(\"IsNormalLogin\", true);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n getUserSettings();\r\n setRedirect(AppUrls.changePassword);\r\n return;\r\n } else {\r\n localStorage.setItem(\"loginFirst\", true);\r\n Helpers.successNotify(t(\"loggedinsuccessfully\"), i18next.language);\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n localStorage.setItem(\"username\", username);\r\n rememberMeFunction();\r\n localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"isRememberMe\", \"\" + isRememberMe);\r\n localStorage.setItem(\"IsNormalLogin\", true);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n getUserSettings();\r\n\r\n // if (response.data[\"isTermsAndConditions\"] === \"N\" && localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\") {\r\n // setRedirect(AppUrls.TermsAndConditions);\r\n // }\r\n // else {\r\n setRedirect(AppUrls.trading);\r\n //}\r\n }\r\n\r\n break;\r\n case LoginStatus.InvalidLogin:\r\n Helpers.errorNotify(t(\"invalidusernamepassword\"), i18next.language);\r\n break;\r\n case LoginStatus.invalidTokenID:\r\n Helpers.errorNotify(t(\"invalidToken\"), i18next.language);\r\n break;\r\n case LoginStatus.TokenSent:\r\n Helpers.successNotify(t(\"tokenSent\"), i18next.language);\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n localStorage.setItem(\"username\", username);\r\n localStorage.setItem(\"passwordToOTp\", encryptedString(password));\r\n rememberMeFunction();\r\n localStorage.setItem(\"ipAddress\", \"185.99.34.25\");\r\n localStorage.setItem(\"isRememberMe\", isRememberMe);\r\n localStorage.setItem(\"isFirstLoggedIn\", isFirstLoggedIn);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"IsNormalLogin\", true);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n setRedirect(AppUrls.otp);\r\n break;\r\n case LoginStatus.TokenExpire:\r\n Helpers.errorNotify(t(\"tokenExpire\"), i18next.language);\r\n break;\r\n case LoginStatus.noPermetions:\r\n Helpers.errorNotify(t(\"nopermissions\"), i18next.language);\r\n break;\r\n case LoginStatus.ExceedNoTrials:\r\n Helpers.errorNotify(t(\"userLocked\"), i18next.language);\r\n break;\r\n case LoginStatus.AlreadyLoggedIn: //Case: Already logged in\r\n alreadyLoggedInFunc();\r\n break;\r\n case LoginStatus.NotAgreeTermCondtion:\r\n Helpers.errorNotify(t(\"notAgreeTermCondtion\"), i18next.language);\r\n break;\r\n case LoginStatus.UnknowError:\r\n Helpers.errorNotify(t(\"somethingwentwrong\"), i18next.language);\r\n break;\r\n case LoginStatus.EnableEtrade:\r\n NotEnableEtrade();\r\n break;\r\n default:\r\n var message = t(\"somethingwentwrong\");\r\n if (response.data[\"ErrorMsg\"])\r\n Helpers.errorNotify(message, i18next.language);\r\n break;\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n if (!keyboardVisible)\r\n setPasswordDisabled(false);\r\n console.log(\"error\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n var hideLoader = \"\";\r\n if (visible) {\r\n hideLoader = \"\";\r\n } else {\r\n hideLoader = \"hide-loader\";\r\n }\r\n\r\n function signupBtnClicked() {\r\n setRedirect(AppUrls.signUp);\r\n }\r\n\r\n if (redirect !== null) {\r\n\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"HORIZON\") {\r\n return ;\r\n }\r\n else\r\n return ;\r\n } else {\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"HORIZON\") {\r\n return ;\r\n }\r\n }\r\n\r\n\r\n let requiredClass = \"\";\r\n\r\n let localizationBtnClass = \"mt-2 mr-2\";\r\n let localizationBtnFloat = \"right\";\r\n let paddingleft = \"70px \";\r\n let paddingRight = \"0px\";\r\n let paddingleft2 = \"63px \";\r\n let paddingRight2 = \"0px\";\r\n \r\n let background = \"linear-gradient(310deg, #ebe3cf, #878787 48%, white 48%, #faf6f6 52%, #f3b21f 52%)\";\r\n if (i18n.language === \"ar\") {\r\n localizationBtnClass = \"mt-2 ml-2\";\r\n localizationBtnFloat = \"left\";\r\n paddingleft = \"0px \";\r\n paddingRight = \"48px\";\r\n background = \"linear-gradient(310deg, #f3b21f, #f3b21f 60%, white 48%, #faf6f6 64%, #878787 22%)\";\r\n paddingleft2 = \"0px \";\r\n paddingRight2 = \"11px\";\r\n \r\n }\r\n\r\n let customLayout = {\r\n default: [\r\n \"` 1 2 3 4 5 6 7 8 9 0 - = {bksp}\",\r\n \"{tab} q w e r t y u i o p [ ] \\\\\",\r\n \"{lock} a s d f g h j k l ; ' {enter}\",\r\n \"{shift} z x c v b n m , . / {shift}\",\r\n \"{ar} @ {space}\"\r\n ],\r\n shift: [\r\n \"~ ! @ # $ % ^ & * ( ) _ + {bksp}\",\r\n \"{tab} Q W E R T Y U I O P { } |\",\r\n '{lock} A S D F G H J K L : \" {enter}',\r\n \"{shift} Z X C V B N M < > ? {shift}\",\r\n \"{ar} @ {space}\"\r\n ],\r\n };\r\n let arabicLayoutCustom = {\r\n default: [\r\n \"ذ 1 2 3 4 5 6 7 8 9 0 - = {bksp}\",\r\n \"{tab} ض ص ث ق ف غ ع ه خ ح ج د \\\\\",\r\n \"{lock} ش س ي ب ل ا ت ن م ك ط {enter}\",\r\n \"{shift} ئ ء ؤ ر لا ى ة و ز ظ {shift}\",\r\n \"{en} @ {space}\"],\r\n shift: [\r\n \"ّ ! @ # $ % ^ & * ) ( _ + {bksp}\",\r\n \"{tab} َ ً ُ ٌ لإ إ ‘ ÷ × ؛ < > |\",\r\n '{lock} ِ ٍ ] [ لأ أ ـ ، / : \" {enter}',\r\n \"{shift} ~ ْ } { لآ آ ’ , . ؟ {shift}\",\r\n \"{en} @ {space}\"\r\n ]\r\n };\r\n\r\n if (keyboardLanguage === \"ar\") {\r\n customLayout = arabicLayoutCustom;\r\n }\r\n\r\n let display = {\r\n '{ar}': 'ar',\r\n '{en}': 'en',\r\n '{tab}': 'tab',\r\n '{bksp}': 'backspace',\r\n '{lock}': 'caps',\r\n '{shift}': 'shift',\r\n '{space}': ' ',\r\n '{enter}': '< enter'\r\n }\r\n\r\n let keyboardTheme = \"hg-theme-default\";\r\n if (localStorage.getItem(\"theme\") !== null) {\r\n if (localStorage.getItem(\"theme\") === \"dark\")\r\n keyboardTheme = \"hg-theme-custom\";\r\n }\r\n\r\n let keyboardVisibleDisplay = \"none\";\r\n\r\n if (keyboardVisible) {\r\n keyboardVisibleDisplay = \"block\";\r\n paddingleft = \"0px \";\r\n paddingRight = \"0px \";\r\n background = \"linear-gradient(270deg, #ebe3cf, #878787 48%, white 48%, #faf6f6 52%, #f3b21f 52%)\";\r\n }\r\n // \r\n if (Helpers.getCompanyName() === \"UNITED\") {\r\n background = background;\r\n }\r\n else {\r\n background = \"none\"\r\n\r\n }\r\n\r\n\r\n return (\r\n
\r\n
handleSubmit(e)}>\r\n \r\n
\r\n
\r\n setUsername(e.target.value)}\r\n disabled={visible}\r\n autoComplete=\"new-password\"\r\n />\r\n \r\n\r\n {\r\n localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"GLOBAL\" || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"UNITED\" ?\r\n
\r\n {\r\n event.preventDefault();\r\n\r\n setRedirect(AppUrls.ForgotUsername)\r\n\r\n }}\r\n >\r\n {t(\"ForgotUsername\")}\r\n \r\n\r\n
: null\r\n }\r\n\r\n
\r\n
\r\n {\r\n const input = e.target.value;\r\n setPassword(input);\r\n if (keyboardVisible)\r\n keyboard.current.setInput(input);\r\n }}\r\n disabled={passwordDisabled}\r\n autoComplete=\"new-password\"\r\n />\r\n {\r\n e.preventDefault();\r\n if (passwordType === \"password\") {\r\n setPasswordType(\"text\")\r\n } else {\r\n setPasswordType(\"password\")\r\n }\r\n }}\r\n >\r\n {\r\n e.preventDefault();\r\n setKeyboardVisible(!keyboardVisible);\r\n setPasswordDisabled(!passwordDisabled);\r\n keyboard.current.setInput(password);\r\n }}\r\n />\r\n
\r\n
\r\n (keyboard.current = r)}\r\n layoutName={layout}\r\n onChange={onChange}\r\n onKeyPress={onKeyPress}\r\n theme={keyboardTheme}\r\n layout={customLayout}\r\n display={display}\r\n\r\n /* rtl={true} */\r\n />\r\n
\r\n
\r\n \r\n
\r\n setIsRememberMe(!isRememberMe)}\r\n disabled={visible}\r\n\r\n />\r\n {t(\"RememberMe\")}\r\n
\r\n\r\n
\r\n {\r\n event.preventDefault();\r\n if (!visible) {\r\n setRedirect(AppUrls.forgetPassword)\r\n };\r\n }}\r\n >\r\n {localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"SHARJAH\" ? t(\"resetPassword\") : t(\"ForgotPassword\")}\r\n \r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n setisDisclaimerLogin(!isDisclaimerLogin)}\r\n disabled={visible}\r\n\r\n />\r\n
{t(\"DisclaimerLogin\")}\r\n\r\n \r\n {t(\"MoreInformation\")} \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n {t(\"KYCLink\")}\r\n \r\n
\r\n\r\n
\r\n handleSubmit(e)}\r\n disabled={visible}\r\n type='submit'\r\n >\r\n {t(\"Login\")}\r\n \r\n {/* \r\n {t(\"Signup\")}\r\n */}\r\n
\r\n {localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" ?\r\n
\r\n setRedirect(AppUrls.SellIPOShares)}\r\n disabled={visible}\r\n type='submit'\r\n >\r\n {t(\"IPO_Authintication\")}\r\n \r\n {/* \r\n {t(\"Signup\")}\r\n */}\r\n
\r\n : null}\r\n\r\n\r\n
\r\n changeLanguageNew(e)}\r\n disabled={visible}\r\n >\r\n \r\n
{t(\"localizationLanguage\")}
\r\n \r\n
\r\n {/* {localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" ?\r\n
\r\n {\r\n event.preventDefault();\r\n setRedirect(AppUrls.SellIPOShares)\r\n }}\r\n >\r\n {t(\"IPO_Authintication\")}\r\n \r\n
\r\n : null} */}\r\n \r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" ?\r\n \r\n \r\n {t(\"Signup\")}\r\n \r\n : null}\r\n
\r\n \r\n
\r\n
\r\n

عزيزي العميل\r\n
الرجاء إستخدام الرابط أدناه للتداول في الأسواق العالمية

\r\n
\r\n
\r\n {window.innerWidth > 2500 ?\r\n

Dear Client\r\n
Click the Below Link to TRADE INTERNATIONAL MARKETS

:\r\n

Dear Client\r\n
Click the Below Link to TRADE
INTERNATIONAL MARKETS

\r\n }\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"ADCB\" ?\r\n
\r\n

{t(\"loginFooter1\")}

\r\n
{t(\"loginFooter2\")}
\r\n

{t(\"loginFooter3\")}

\r\n
{t(\"loginFooter4\")}
\r\n

{t(\"loginFooter5\")}

\r\n
: null}\r\n
\r\n \r\n
\r\n\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"SHARJAH\" ?\r\n i18n.language === \"ar\" ?\r\n
\r\n
\r\n

نصائح أمنية، كن حذراً!

\r\n
\r\n \r\n يرجى الدخول إلى خدمة الأونلاين المصرفية فقط عبر www.sib.ae\r\n
\r\n
\r\n \r\n لا تشارك معلوماتك الشخصية مثل (رقم الحساب، رقم البطاقة، اسم المستخدم، كلمة السر، الرمز المطبوع على البطاقة، الرمز المؤقت) رداً على أي رسالة نصية، بريد إلكتروني أو مكالمة هاتفية\r\n
\r\n
\r\n
\r\n \r\n \"Google\r\n \r\n \r\n \"App\r\n \r\n
\r\n
\r\n\r\n :\r\n
\r\n
\r\n

Security Tips, beware!

\r\n
\r\n \r\n Login to SIB Online Banking only through www.sib.ae\r\n
\r\n
\r\n \r\n Do NOT provide any sensitive information like Account number, Card number, Online/Mobile Banking User ID, Password, CVV, PIN or OTP in response to SMS, Email or Call Queries\r\n
\r\n
\r\n
\r\n \r\n \"Google\r\n \r\n \r\n \"App\r\n \r\n
\r\n
\r\n\r\n : null}\r\n \r\n\r\n );\r\n}\r\n\r\nexport default Login;","export default \"data:image/png;base64,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\"","import { withTranslation } from 'react-i18next';\r\nimport React from \"react\";\r\nimport * as Constants from \"../../../constants/Constants\";\r\n\r\n\r\nclass OtpPopup extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n otp: \"\"\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
{this.props.t(\"otp\")}
\r\n
\r\n {\r\n this.props.onClose(e);\r\n }}>X\r\n
\r\n
\r\n \r\n {\r\n e.preventDefault();\r\n this.setState({ otp: e.target.value });\r\n }}\r\n />\r\n
\r\n {\r\n this.props.callRegistrationsOTP(this.props.onClose, this.state.otp);\r\n }}\r\n >\r\n {this.props.t(\"sendOtp\")}\r\n \r\n\r\n this.props.onClose(e)}>{this.props.t(\"cancel\")}\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withTranslation()(OtpPopup)","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { InputMask } from 'primereact/inputmask';\r\nimport \"../LoginSignup/LoginSignup.css\";\r\n\r\nfunction InputMSX(props) {\r\n const [maskVal, setmaskVal] = useState(\"\");\r\n\r\n const convertString = (input) => {\r\n // Remove underscores and leading zeros\r\n const cleanedInput = input.replace(/_/g, '').replace(/^0+/, '');\r\n\r\n // Calculate the number of zeros to add\r\n const zerosToAdd = Math.max(8 - cleanedInput.length, 0);\r\n\r\n // Create the final output by adding zeros and the cleaned input\r\n const output = '0'.repeat(zerosToAdd) + cleanedInput;\r\n\r\n return output;\r\n }\r\n return (\r\n
\r\n {\r\n setmaskVal(event.target.value);\r\n // console.log(\"maskval :\", maskVal);\r\n }}\r\n onBlur={(event) => {\r\n let r = maskVal;\r\n //console.log(\"maskval blur :\", r);\r\n let converted = convertString(r);\r\n /// console.log(\"converted :\", converted);\r\n let zerosCount = r.length - converted.length;\r\n // console.log(\"zerosCount :\", zerosCount);\r\n let zeros = \"\";\r\n for (let i = 0; i < zerosCount; i++) {\r\n zeros += \"0\";\r\n }\r\n // console.log(\"zeros :\", zeros);\r\n\r\n let splitted = converted.split(\"D\");\r\n // console.log(\"splitted :\", splitted);\r\n let newSplit = splitted[0] + \"D\" + zeros + splitted[1];\r\n if (newSplit === \"00000000Dundefined\") {\r\n newSplit = \"\"\r\n }\r\n //console.log(\"newsplit :\", newSplit);\r\n\r\n props.onChange(newSplit);\r\n }}\r\n mask={props.mask}\r\n placeholder={props.placeholder}\r\n onComplete={(event) => {\r\n let r = maskVal;\r\n // console.log(\"maskval blur :\", r);\r\n let converted = convertString(r);\r\n // console.log(\"converted :\", converted);\r\n let zerosCount = r.length - converted.length;\r\n // console.log(\"zerosCount :\", zerosCount);\r\n let zeros = \"\";\r\n for (let i = 0; i < zerosCount; i++) {\r\n zeros += \"0\";\r\n }\r\n //console.log(\"zeros :\", zeros);\r\n\r\n let splitted = converted.split(\"D\");\r\n //console.log(\"splitted :\", splitted);\r\n let newSplit = splitted[0] + \"D\" + zeros + splitted[1];\r\n if (newSplit === \"00000000Dundefined\") {\r\n newSplit = \"\"\r\n }\r\n console.log(\"newsplit :\", newSplit);\r\n\r\n props.onChange(newSplit);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n}\r\n\r\nexport default InputMSX;","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport \"./LoginSignup.css\";\r\nimport * as utils from '../../global/utils';\r\nimport * as Helpers from '../../global/Helpers';\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport i18next from 'i18next';\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\nimport OtpPopup from '../popups/OtpPopup/OtpPopup';\r\nimport * as Constants from \"../../constants/Constants\";\r\nimport * as actions from \"../../store/actionTypes\";\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { LoginStatus } from \"../../constants/Constants\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { Display } from \"react-bootstrap-icons\";\r\nimport InputMSX from '../InputMSX/InputMSX'\r\n\r\nfunction SellIPOShares(props) {\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n\r\n let language = localStorage.getItem(\"language\");\r\n if (language === null) {\r\n language = \"en\"\r\n }\r\n const [idNumber, setidNumber] = useState();\r\n const [mobileNumber, setmobileNumber] = useState();\r\n const [visible, setVisible] = useState(false);\r\n const [redirect, setRedirect] = useState(null);\r\n const [OmanAccBfx, setOmanAccBfx] = useState(\"\");\r\n const [OmanAccAfx, setOmanAccAfx] = useState(\"\");\r\n const [LanguageSelectedFromLogin, setLanguageSelected] = useState(language);\r\n const [isLanguageSelectedFromLogin, setIsLanguageSelectedFromLogin] = useState(false);\r\n\r\n useEffect(() => {\r\n \r\n var DeviceConfigs = JSON.parse(localStorage.getItem(\"DeviceConfigs\"));\r\n if (DeviceConfigs !== null && DeviceConfigs !== undefined) {\r\n setOmanAccBfx(DeviceConfigs.OmanAccBfx)\r\n setOmanAccAfx(DeviceConfigs.OmanAccAfx)\r\n\r\n\r\n } else {\r\n GetDeviceConfigs();\r\n }\r\n }, [])\r\n\r\n\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n if (!validate()) {\r\n return\r\n }\r\n callUserAuthinticationIPOQuickSell();\r\n }\r\n\r\n function callUserAuthinticationIPOQuickSell() {\r\n\r\n setVisible(true);\r\n\r\n let response = utils.UserAuthinticationIPOQuickSell(\"IOS\", \"192.168.26.1\", \"\", idNumber, mobileNumber, \"\", \"\")\r\n\r\n response.then((response) => {\r\n\r\n setVisible(false);\r\n console.log(\"UserAuthinticationIPOQuickSell: \", response);\r\n\r\n // let status = response.data[\"Status\"]\r\n // switch (status) {\r\n // case Constants.LoginStatus.Success:\r\n // localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n // localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n // otpPrompt();\r\n // break;\r\n // case \"-1\":\r\n // Helpers.errorNotify(t(\"InvalidNINorMobileNo\"), i18next.language)\r\n // break;\r\n // default:\r\n // Helpers.errorNotify(\"error has occured\", i18next.language)\r\n // // Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language)\r\n // break;\r\n // }\r\n\r\n\r\n var status = response.data[\"Status\"]\r\n let isFirstLoggedIn = response.data[\"IsFirstLogin\"];\r\n // if (isFirstLoggedIn === \"Y\") {\r\n\r\n // localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n // setRedirect(AppUrls.changePassword);\r\n // return;\r\n // }\r\n\r\n if (status === null) {\r\n // errorNotify(t(\"somethingwentwrong\"));\r\n Helpers.errorNotify(t(\"servicesIsDownMSG\"), i18next.language);\r\n return;\r\n }\r\n\r\n switch (status) {\r\n case LoginStatus.Success:\r\n\r\n if (isFirstLoggedIn === \"Y\") {\r\n localStorage.setItem(\"loginFirst\", true);\r\n localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"passwordToOTp\", \"false\");\r\n localStorage.setItem(\"validValue\", \"\");\r\n localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n localStorage.setItem(\"IsNormalLogin\", false);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n\r\n getUserSettings();\r\n // setRedirect(AppUrls.changePassword);\r\n\r\n return;\r\n } else {\r\n localStorage.setItem(\"loginFirst\", true);\r\n Helpers.successNotify(t(\"loggedinsuccessfully\"), i18next.language);\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"IsNormalLogin\", false);\r\n // localStorage.setItem(\"isRememberMe\", \"\" + isRememberMe);\r\n getUserSettings();\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n getUserSettings();\r\n\r\n // if (response.data[\"isTermsAndConditions\"] === \"N\" && localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"OMAN\") {\r\n // setRedirect(AppUrls.TermsAndConditions);\r\n // }\r\n // else {\r\n setRedirect(AppUrls.trading);\r\n // }\r\n\r\n }\r\n\r\n break;\r\n case LoginStatus.InvalidLogin:\r\n Helpers.errorNotify(t(\"InvalidNINorMobileNo\"), i18next.language);\r\n break;\r\n case LoginStatus.invalidTokenID:\r\n Helpers.errorNotify(t(\"invalidToken\"), i18next.language);\r\n break;\r\n case LoginStatus.TokenSent:\r\n Helpers.successNotify(t(\"tokenSent\"), i18next.language);\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n localStorage.setItem(\"passwordToOTp\", \"false\");\r\n localStorage.setItem(\"ipAddress\", \"185.99.34.25\");\r\n localStorage.setItem(\"isFirstLoggedIn\", isFirstLoggedIn);\r\n localStorage.setItem(\"ExpiredDocument\", response.data[\"isExpiredDocument\"]);\r\n localStorage.setItem(\"isIndividual\", response.data[\"isIndividual\"]);\r\n localStorage.setItem(\"IsNormalLogin\", false);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n setRedirect(AppUrls.otp);\r\n break;\r\n case LoginStatus.TokenExpire:\r\n Helpers.errorNotify(t(\"tokenExpire\"), i18next.language);\r\n break;\r\n case LoginStatus.noPermetions:\r\n Helpers.errorNotify(t(\"nopermissions\"), i18next.language);\r\n break;\r\n case LoginStatus.ExceedNoTrials:\r\n Helpers.errorNotify(t(\"userLocked\"), i18next.language);\r\n break;\r\n // case LoginStatus.AlreadyLoggedIn: //Case: Already logged in\r\n // alreadyLoggedInFunc();\r\n // break;\r\n case LoginStatus.NotAgreeTermCondtion:\r\n Helpers.errorNotify(t(\"notAgreeTermCondtion\"), i18next.language);\r\n break;\r\n case LoginStatus.UnknowError:\r\n Helpers.errorNotify(t(\"somethingwentwrong\"), i18next.language);\r\n break;\r\n case LoginStatus.IPOQuickSell:\r\n Helpers.errorNotify(t(\"pleaseContactAdminstrator\"), i18next.language);\r\n break;\r\n\r\n default:\r\n var message = t(\"somethingwentwrong\");\r\n if (response.data[\"ErrorMsg\"])\r\n Helpers.errorNotify(message, i18next.language);\r\n break;\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(\"error\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n if (redirect !== null) {\r\n return ;\r\n }\r\n\r\n\r\n function validate() {\r\n\r\n if (idNumber === \"\" || idNumber === null || idNumber === undefined) {\r\n Helpers.errorNotify(t(\"Trading_Number_is_required\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (mobileNumber === \"\" || mobileNumber === null || mobileNumber === undefined) {\r\n Helpers.errorNotify(t(\"mobileRequired\"), i18next.language)\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n const getUserSettings = () => {\r\n\r\n let response = utils.GetSettingWorkSpaceByUserID();\r\n response.then((response) => {\r\n let data = response.data[0]\r\n\r\n if (data.WorkSpaceSettings !== undefined && data.WorkSpaceSettings !== null && data.WorkSpaceSettings !== \"\") {\r\n \r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n localStorage.setItem(\"selectedProfile\", res.selectedProfile);\r\n localStorage.setItem(\"theme\", res.theme)\r\n localStorage.setItem(\"UserSettings\", data.WorkSpaceSettings);\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_SYMBOL,\r\n payload: {\r\n PreferredSymbol: res.PreferredSymbol\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_EXCHANGE,\r\n payload: {\r\n PreferredExchange: res.PreferredExchange\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.UPDATE_ENABLE_EXPAND_ROW,\r\n payload: {\r\n EnableExpandRow: res.expandRow === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.ENABLE_TRADE_TICKER,\r\n payload: {\r\n EnableTradeTicker: res.tradeTicker === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n dispatch({\r\n type: actions.ENABLE_ROUND_TICKER,\r\n payload: {\r\n EnableRoundTicker: res.RoundTicker === \"Y\" ? true : false\r\n }\r\n })\r\n\r\n\r\n saveSettings(data);\r\n }\r\n }).catch((error) => {\r\n\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n function saveSettings(data) {\r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n let LanguageSelectedFromLogin = localStorage.getItem(\r\n \"LanguageSelectedFromLogin\"\r\n );\r\n let isLanguageSelectedFromLogin = localStorage.getItem(\r\n \"isLanguageSelectedFromLogin\"\r\n );\r\n var lang = \"\";\r\n if (isLanguageSelectedFromLogin === \"true\") lang = LanguageSelectedFromLogin;\r\n else lang = res.lang;\r\n let settings = {\r\n lang: lang,\r\n theme: res.theme,\r\n //theme: '',\r\n expandRow: res.expandRow,\r\n PreferredSymbol: res.PreferredSymbol,\r\n PreferredExchange: res.PreferredExchange,\r\n selectedProfile: res.selectedProfile,\r\n tradeTicker: res.tradeTicker,\r\n RoundTicker: res.RoundTicker,\r\n };\r\n\r\n if (data !== undefined && data !== null) {\r\n let postdata = {\r\n profileUniqueID: data.profileUniqueID,\r\n ProfileID: data.ProfileID,\r\n ProfileName: data.ProfileName,\r\n ProfileNameAr: data.ProfileNameAr,\r\n ProfileSettings: data.ProfileSettings,\r\n WorkSpaceSettings: JSON.stringify(settings),\r\n WebCode: localStorage.getItem(\"WebCode\"),\r\n };\r\n var updateWorkSpaceSettings = utils.UpdateUserProfileSettings(postdata);\r\n updateWorkSpaceSettings\r\n .then((response) => {\r\n if (response.data) {\r\n // console.log(\"Settings Successfully Updated\");\r\n // this.props.setUserSettings(settings)\r\n localStorage.setItem(\"UserSettings\", JSON.stringify(settings));\r\n\r\n if (i18next.language === \"ar\" && settings.lang === \"en\")\r\n props.changeLanguageNew();\r\n else if (i18next.language === \"en\" && settings.lang === \"ar\")\r\n props.changeLanguageNew();\r\n } else {\r\n console.log(\r\n \"Unsuccessfull Update Settings, please contact Administrator\"\r\n );\r\n }\r\n })\r\n .finally(() => {\r\n\r\n })\r\n .catch((error) => {\r\n console.log(\r\n \"Unsuccessfull Update Settings, please contact Administrator\"\r\n );\r\n\r\n });\r\n }\r\n }\r\n\r\n const GetDeviceConfigs = () => {\r\n\r\n let getProfilesByUserIdResponse = utils.GetDeviceConfigs();\r\n getProfilesByUserIdResponse\r\n .then(response => response.data)\r\n .then(data => {\r\n localStorage.setItem(\"ForgotPasswordMethod\", data.ForgotPasswordMethod);\r\n localStorage.setItem(\"DeviceConfigs\", JSON.stringify(data));\r\n setOmanAccBfx(data.OmanAccBfx)\r\n setOmanAccAfx(data.OmanAccAfx)\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n }\r\n\r\n const handleChange1 = (event) => {\r\n \r\n let inputValue = event.target.value;\r\n inputValue = inputValue.replace(/[^0-9]/g, '').substring(0, 9); \r\n setidNumber(inputValue)\r\n\r\n };\r\n\r\n const handleBlur = () => {\r\n \r\n if (idNumber !== '' && idNumber !== undefined && idNumber !== null) {\r\n var Bfx = idNumber.substring(0,5);\r\n var Afx = idNumber.slice(-2);\r\n if(Bfx === OmanAccBfx && Afx === OmanAccAfx){\r\n if(idNumber.includes(Bfx) && idNumber.includes(Afx)){\r\n const formattedValue = idNumber.padStart(9, '0')\r\n setidNumber(formattedValue) \r\n } else{\r\n const formattedValue = OmanAccBfx + idNumber.padStart(9, '0') + OmanAccAfx ;\r\n setidNumber(formattedValue) \r\n } \r\n }else{\r\n const formattedValue = OmanAccBfx + idNumber.padStart(9, '0') + OmanAccAfx ;\r\n setidNumber(formattedValue) \r\n }\r\n \r\n } \r\n };\r\n\r\n function changeLanguageNew(e) {\r\n\r\n e.preventDefault();\r\n var newlang = \"\";\r\n if (LanguageSelectedFromLogin === \"en\") {\r\n newlang = \"ar\";\r\n } else {\r\n newlang = \"en\";\r\n }\r\n setLanguageSelected(newlang);\r\n setIsLanguageSelectedFromLogin(true);\r\n localStorage.removeItem(\"LanguageSelectedFromLogin\");\r\n localStorage.removeItem(\"isLanguageSelectedFromLogin\");\r\n localStorage.setItem(\"LanguageSelectedFromLogin\", newlang);\r\n localStorage.setItem(\"isLanguageSelectedFromLogin\", true);\r\n props.changeLanguageNew();\r\n\r\n\r\n\r\n };\r\n\r\n const callLogOff = () => {\r\n // \r\n // props.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let logOffResponse = utils.logOff();\r\n logOffResponse\r\n .then((response) => {\r\n // props.setIsLoaderVisible(false);\r\n //console.log(\"Logged Off\", response)\r\n if (response.status === 200) {\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"ExpiredDocument\");\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n\r\n let Comapnyname = localStorage.getItem(\r\n Constants.localStorageConstants.company_name\r\n );\r\n var prev = Helpers.getPreviousConfig();\r\n if (RememberMe === \"true\") {\r\n localStorage.clear();\r\n localStorage.setItem(\"isRememberMe\", true);\r\n localStorage.setItem(\"username\", UserName);\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n } else {\r\n localStorage.clear();\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n }\r\n Helpers.SetpreviosConfig(prev);\r\n setRedirect(AppUrls.login);\r\n // setState({ redirect: AppUrls.login }, () => {\r\n // disconnectSignalr();\r\n // });\r\n }\r\n })\r\n .catch((error) => {\r\n //props.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n };\r\n\r\n let localizationBtnClass = \"mt-2 mr-2\";\r\n let localizationBtnFloat = \"right\";\r\n if (i18next.language === \"ar\") {\r\n localizationBtnClass = \"mt-2 ml-2\";\r\n localizationBtnFloat = \"left\"; \r\n }\r\n \r\n return (\r\n <>\r\n {/* setidNumber(e.target.value)}\r\n /> */}\r\n {\r\n Helpers.getIsIPad() || (localStorage.getItem(Constants.localStorageConstants.company_name) === \"HORIZON\" )? :\r\n setidNumber(e)}\r\n mask={OmanAccBfx + \"999999999\" + OmanAccAfx}\r\n />\r\n }\r\n setmobileNumber(e.target.value)}\r\n />\r\n handleSubmit(e)}\r\n type='submit'\r\n >\r\n {t(\"Login\")}\r\n \r\n\r\n {\r\n event.preventDefault();\r\n callLogOff();\r\n // setRedirect(AppUrls.login);\r\n // localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n\r\n }}\r\n >\r\n {t(\"cancelForgotPassword\")}\r\n \r\n\r\n
\r\n changeLanguageNew(e)}\r\n disabled={visible}\r\n >\r\n \r\n
{t(\"localizationLanguage\")}
\r\n \r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default SellIPOShares\r\n","import React, { useEffect, useState } from 'react';\r\nimport './LoginSignup.css'\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Redirect } from \"react-router-dom\";\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport * as Constants from \"../../constants/Constants\";\r\n\r\nimport * as utils from '../../global/utils';\r\nimport * as Helpers from '../../global/Helpers';\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//loader\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\nimport OtpPopup from '../popups/OtpPopup/OtpPopup';\r\nimport i18next from 'i18next';\r\nimport checkMarkCorrect from \"../../assets/icons/ic-check-mark-correct.png\";\r\nimport checkMarkFalse from \"../../assets/icons/ic-check-mark-x.png\";\r\nimport { format } from 'react-string-format';\r\n\r\n\r\ntoast.configure();\r\nfunction ForgetPassword() {\r\n const { t } = useTranslation();\r\n\r\n const [redirect, setRedirect] = useState(null);\r\n const [email, setEmail] = useState(\"\");\r\n const [mobile, setMobile] = useState(\"\");\r\n const [username, setUsername] = useState(\"\");\r\n const [nin, setNin] = useState(\"\");\r\n const [qId, setQId] = useState(\"\");\r\n const [isNewPasswordVisible, setIsNewPasswordVisible] = useState(false);\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [confirmNewPassword, setConfirmNewPassword] = useState(\"\");\r\n\r\n const [visible, setVisible] = useState(false);\r\n\r\n const [MINLENGTH, set_MINLENGTH] = useState(\"\");\r\n const [ENFORCE_START_WITH_ALPHA, set_ENFORCE_START_WITH_ALPHA] = useState(\"\");\r\n const [ENFORCE_SPECIAL_CHAR, set_ENFORCE_SPECIAL_CHAR] = useState(\"\");\r\n const [NUM_SMALL_CHAR, set_NUM_SMALL_CHAR] = useState(\"\");\r\n const [NUM_SPECIAL_CHAR, set_NUM_SPECIAL_CHAR] = useState(\"\");\r\n const [NUM_CAPITAL_CHAR, set_NUM_CAPITAL_CHAR] = useState(\"\");\r\n const [IC_MINLENGTH, set_IC_MINLENGTH] = useState(checkMarkFalse);\r\n const [IC_ENFORCE_START_WITH_ALPHA, set_IC_ENFORCE_START_WITH_ALPHA] = useState(checkMarkFalse);\r\n const [IC_ENFORCE_SPECIAL_CHAR, set_IC_ENFORCE_SPECIAL_CHAR] = useState(checkMarkFalse);\r\n const [IC_NUM_SMALL_CHAR, set_IC_NUM_SMALL_CHAR] = useState(checkMarkFalse);\r\n const [IC_NUM_CAPITAL_CHAR, set_IC_NUM_CAPITAL_CHAR] = useState(checkMarkFalse);\r\n const [IC_NUM_SPECIAL_CHAR, set_IC_NUM_SPECIAL_CHAR] = useState(checkMarkFalse);\r\n\r\n\r\n let leftLocalized = \"left\";\r\n let mr2Localized = \"mr-2\";\r\n\r\n if (i18next.language === \"ar\") {\r\n leftLocalized = \"right\";\r\n mr2Localized = \"ml-2\";\r\n }\r\n\r\n function validate() {\r\n\r\n if (!isNewPasswordVisible) {\r\n if (localStorage.getItem(\"ForgotPasswordMethod\") === \"S\") {\r\n\r\n\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\") {\r\n if (username.length === 0 || username === \"\" || username === null) {\r\n Helpers.errorNotify(t(\"Please_enter_username_and_try_again.\"), i18next.language);\r\n return false;\r\n }\r\n }\r\n if (email.length === 0 || email === \"\" || email === null) {\r\n Helpers.errorNotify(t(\"emailisrequired\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (mobile.length === 0 || mobile === \"\" || mobile === null) {\r\n Helpers.errorNotify(t(\"mobileRequired\"), i18next.language)\r\n return false;\r\n }\r\n } else if (localStorage.getItem(\"ForgotPasswordMethod\") === \"O\") {\r\n if (nin.length === 0 || nin === \"\" || nin === null) {\r\n Helpers.errorNotify(t(\"Trading_Number_is_required\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (mobile.length === 0 || mobile === \"\" || mobile === null) {\r\n Helpers.errorNotify(t(\"mobileRequired\"), i18next.language)\r\n return false;\r\n }\r\n } else if (localStorage.getItem(\"ForgotPasswordMethod\") === \"U\" || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"SHARJAH\") {\r\n if (email.length === 0 || email === \"\" || email === null) {\r\n Helpers.errorNotify(t(\"Please_enter_username_and_try_again.\"), i18next.language)\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n // if (nin.length === 0 || nin === \"\" || nin === null) {\r\n // Helpers.errorNotify(t(\"NIN_is_required\"), i18next.language)\r\n // return false;\r\n // }\r\n\r\n // if (qId.length === 0 || qId === \"\" || qId === null) {\r\n // Helpers.errorNotify(t(\"QID_is_required\"), i18next.language)\r\n // return false;\r\n // }\r\n\r\n if (email.length === 0 || email === \"\" || email === null) {\r\n Helpers.errorNotify(t(\"emailisrequired\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (mobile.length === 0 || mobile === \"\" || mobile === null) {\r\n Helpers.errorNotify(t(\"mobileRequired\"), i18next.language)\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n //else {\r\n // if (newPassword.length === 0 || newPassword === \"\" || newPassword === null) {\r\n // Helpers.errorNotify(t(\"New_Password_is_required\"), i18next.language)\r\n // return false;\r\n // }\r\n\r\n // if (confirmNewPassword.length === 0 || confirmNewPassword === \"\" || confirmNewPassword === null) {\r\n // Helpers.errorNotify(t(\"Confirm_New_Password_is_required\"), i18next.language)\r\n // return false;\r\n // }\r\n\r\n // if (confirmNewPassword !== newPassword) {\r\n // Helpers.errorNotify(t(\"passwordnotmatchconfirmedpassword\"), i18next.language)\r\n // return false;\r\n // }\r\n // }\r\n return true\r\n }\r\n\r\n function callRegistrationsOTP(onClose, otp) {\r\n\r\n setVisible(false);\r\n\r\n if (otp.length === 0) {\r\n Helpers.errorNotify(t(\"OTP_required\"), i18next.language);\r\n }\r\n\r\n setVisible(false);\r\n var isIPOQuickSell = localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" ? \"Y\" : \"N\";\r\n\r\n let registrationsOTPResponse = utils.registrationsOTP(localStorage.getItem(\"username\"), otp, \"\", \"\", \"\", \"\", \"Y\", isIPOQuickSell);\r\n\r\n registrationsOTPResponse.then((response) => {\r\n\r\n // console.log(\"registrationsOTPResponse: \", response);\r\n let status = response.data[\"Status\"]\r\n if (response.data[\"Status\"] === \"0\") {\r\n setVisible(false);\r\n //successNotify(t(\"passwordReset\"));\r\n setIsNewPasswordVisible(true);\r\n onClose();\r\n } else {\r\n Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language);\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n //console.log(\"callRegistrationsOTP error\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n function otpPrompt() {\r\n confirmAlert({\r\n customUI: ({ onClose }) => {\r\n return (\r\n \r\n );\r\n }\r\n });\r\n\r\n };\r\n\r\n function callUserAuthinticationAdvance() {\r\n\r\n if (!validate()) {\r\n return;\r\n }\r\n setVisible(true);\r\n // let requestType = localStorage.getItem(Constants.localStorageConstants.company_name) === \"IFS\" ? \"S\" : \"C\";\r\n let requestType = \"\";\r\n\r\n // if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"IFS\") {\r\n // requestType = \"S\"\r\n // }\r\n // else if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"GLOBAL\") {\r\n // requestType = \"O\"\r\n // }\r\n // else {\r\n // requestType = \"C\"\r\n // }\r\n let response = utils.userAuthinticationAdvance(\"Etrade\", \"192.168.26.1\", nin, qId, mobile, email, requestType, username)\r\n //console.log(response);\r\n response.then((response) => {\r\n\r\n setVisible(false);\r\n // console.log(\"userAuthinticationAdvance: \", response);\r\n if (response.data.PasswordPolicy !== null && response.data.PasswordPolicy !== undefined && Object.keys(response.data.PasswordPolicy).length !== 0) {\r\n set_MINLENGTH(response.data.PasswordPolicy[\"MINLENGTH\"]);\r\n set_ENFORCE_START_WITH_ALPHA(response.data.PasswordPolicy[\"ENFORCE_START_WITH_ALPHA\"]);\r\n set_ENFORCE_SPECIAL_CHAR(response.data.PasswordPolicy[\"ENFORCE_SPECIAL_CHAR\"]);\r\n set_NUM_SMALL_CHAR(response.data.PasswordPolicy[\"NUM_SMALL_CHAR\"]);\r\n set_NUM_CAPITAL_CHAR(response.data.PasswordPolicy[\"NUM_CAPITAL_CHAR\"]);\r\n set_NUM_SPECIAL_CHAR(response.data.PasswordPolicy[\"NUM_SPECIAL_CHAR\"]);\r\n }\r\n\r\n debugger\r\n let status = response.data[\"Status\"]\r\n switch (status) {\r\n case Constants.LoginStatus.Success:\r\n localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n localStorage.setItem(\"WebCode\", response.data[\"WebCode\"]);\r\n otpPrompt();\r\n break;\r\n case \"-1\":\r\n localStorage.getItem(\"ForgotPasswordMethod\") === \"S\" ?\r\n Helpers.errorNotify(t(\"InvalidEmailorMobileNo\"), i18next.language)\r\n : localStorage.getItem(\"ForgotPasswordMethod\") === \"O\" ?\r\n Helpers.errorNotify(t(\"InvalidNINorMobileNo\"), i18next.language)\r\n : (localStorage.getItem(\"ForgotPasswordMethod\") === \"U\" || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"SHARJAH\") ? Helpers.errorNotify(t(\"InvalidUserName\"), i18next.language)\r\n : Helpers.errorNotify(t(\"InvalidEmailorMobileNo\"), i18next.language)\r\n break;\r\n default:\r\n // errorNotify(\"error has occured\")\r\n Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language)\r\n break;\r\n }\r\n\r\n\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(\"error\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n function callResetPassword() {\r\n\r\n if (!validateForResetPassword()) {\r\n return;\r\n }\r\n setVisible(true);\r\n let response = utils.resetPasswordAdvance(mobile, email, utils.encryptedString(newPassword), \"\", \"Etrade\", \"192.168.26.1\", \"\", localStorage.getItem(\"username\"), nin, qId)\r\n //console.log(response);\r\n response.then((response) => {\r\n setVisible(false);\r\n\r\n // console.log(\"userAuthinticationAdvance: \", response);\r\n let status = response.data[\"Status\"]\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n\r\n switch (status) {\r\n case Constants.LoginStatus.Success:\r\n // \r\n // if (response.data[\"isTermsAndConditions\"] === \"N\" && localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\") {\r\n // setRedirect(AppUrls.TermsAndConditions);\r\n // }\r\n // else {\r\n Helpers.successNotify(t(\"ChangePasswordMsg\"), i18next.language);\r\n setRedirect(AppUrls.trading);\r\n // }\r\n break;\r\n default:\r\n Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language)\r\n break;\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(\"error:\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n let hideLoader = \"\";\r\n if (visible) {\r\n hideLoader = \"\";\r\n } else {\r\n hideLoader = \"hide-loader\";\r\n }\r\n\r\n if (redirect !== null) {\r\n return ;\r\n }\r\n\r\n function onChangeNewPassword(e) {\r\n var Newpassword = e.target.value\r\n setNewPassword(e.target.value);\r\n if (Newpassword.length >= parseInt(MINLENGTH) && IC_MINLENGTH === checkMarkFalse) {\r\n set_IC_MINLENGTH(checkMarkCorrect);\r\n }\r\n\r\n if (Newpassword.length < parseInt(MINLENGTH) && IC_MINLENGTH === checkMarkCorrect) {\r\n set_IC_MINLENGTH(checkMarkFalse);\r\n }\r\n\r\n if (Newpassword.length > 0) {\r\n if (Newpassword.charAt(0) <= '9' && Newpassword.charAt(0) >= '0')\r\n set_IC_ENFORCE_START_WITH_ALPHA(checkMarkFalse);\r\n else\r\n set_IC_ENFORCE_START_WITH_ALPHA(checkMarkCorrect);\r\n\r\n let specialFormat = localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" ? /[!$@%#]/ : /[~!@#$*]/;\r\n let containsSpecialChar = false;\r\n if (specialFormat.test(Newpassword)) {\r\n containsSpecialChar = true;\r\n }\r\n\r\n if (localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\") {\r\n const specialChars = /[`*^&()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\r\n if (specialChars.test(Newpassword)) {\r\n containsSpecialChar = false;\r\n } else {\r\n containsSpecialChar = true;\r\n\r\n }\r\n }\r\n\r\n let numberFormat = /\\d/;\r\n let containsNumberChar = false;\r\n if (numberFormat.test(Newpassword)) {\r\n containsNumberChar = true;\r\n }\r\n\r\n let stringFormat = /[a-zA-Z]/\r\n let containsletterChar = false;\r\n if (stringFormat.test(Newpassword)) {\r\n containsletterChar = true;\r\n }\r\n\r\n if (containsSpecialChar && containsNumberChar && containsletterChar)\r\n set_IC_ENFORCE_SPECIAL_CHAR(checkMarkCorrect);\r\n else\r\n set_IC_ENFORCE_SPECIAL_CHAR(checkMarkFalse);\r\n\r\n //checks small letter count\r\n if (parseInt(NUM_SMALL_CHAR) > 0) {\r\n let smallLetter = /[a-z]/;\r\n let smallLetterCount = 0;\r\n for (let position = 0; position < Newpassword.length; position++) {\r\n if (smallLetter.test(Newpassword.charAt(position))) {\r\n smallLetterCount += 1;\r\n }\r\n }\r\n if (parseInt(NUM_SMALL_CHAR) > smallLetterCount)\r\n set_IC_NUM_SMALL_CHAR(checkMarkFalse);\r\n else\r\n set_IC_NUM_SMALL_CHAR(checkMarkCorrect);\r\n }\r\n //checks capital letter count\r\n if (parseInt(NUM_CAPITAL_CHAR) > 0) {\r\n let capitalLetter = /[A-Z]/;\r\n let capitalLetterCount = 0;\r\n for (let position = 0; position < Newpassword.length; position++) {\r\n if (capitalLetter.test(Newpassword.charAt(position))) {\r\n capitalLetterCount += 1;\r\n }\r\n }\r\n if (parseInt(NUM_CAPITAL_CHAR) > capitalLetterCount)\r\n set_IC_NUM_CAPITAL_CHAR(checkMarkFalse);\r\n else\r\n set_IC_NUM_CAPITAL_CHAR(checkMarkCorrect);\r\n\r\n }\r\n\r\n //checks special letter count\r\n if (parseInt(NUM_SPECIAL_CHAR) > 0) {\r\n let specialLetterCount = 0;\r\n for (let position = 0; position < Newpassword.length; position++) {\r\n if (specialFormat.test(Newpassword.charAt(position))) {\r\n specialLetterCount += 1;\r\n }\r\n }\r\n if (parseInt(NUM_SPECIAL_CHAR) > specialLetterCount)\r\n set_IC_NUM_SPECIAL_CHAR(checkMarkFalse);\r\n else\r\n set_IC_NUM_SPECIAL_CHAR(checkMarkCorrect);\r\n }\r\n } else {\r\n if (IC_ENFORCE_START_WITH_ALPHA === checkMarkCorrect) {\r\n\r\n set_IC_NUM_SMALL_CHAR(checkMarkFalse);\r\n set_IC_NUM_CAPITAL_CHAR(checkMarkFalse);\r\n set_IC_NUM_SPECIAL_CHAR(checkMarkFalse);\r\n set_IC_ENFORCE_START_WITH_ALPHA(checkMarkFalse);\r\n set_ENFORCE_SPECIAL_CHAR(checkMarkFalse);\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n function validateForResetPassword() {\r\n if (newPassword.length === 0 || newPassword === \"\" || newPassword === null) {\r\n Helpers.errorNotify(t(\"New_Password_is_required\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (confirmNewPassword.length === 0 || confirmNewPassword === \"\" || confirmNewPassword === null) {\r\n Helpers.errorNotify(t(\"Confirm_New_Password_is_required\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (confirmNewPassword !== newPassword) {\r\n Helpers.errorNotify(t(\"passwordnotmatchconfirmedpassword\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (MINLENGTH !== \"\" && IC_MINLENGTH === checkMarkFalse) {\r\n Helpers.errorNotify(t(\"passwordtooshort\"), i18next.language + \" \" + MINLENGTH)\r\n return false;\r\n }\r\n\r\n if (ENFORCE_START_WITH_ALPHA !== \"\" && IC_ENFORCE_START_WITH_ALPHA === checkMarkFalse) {\r\n Helpers.errorNotify(t(\"passwordcantstartno\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (NUM_SPECIAL_CHAR !== \"\" && NUM_SPECIAL_CHAR !== \"0\" && IC_NUM_SPECIAL_CHAR === checkMarkFalse && ENFORCE_SPECIAL_CHAR === \"Y\") {\r\n Helpers.errorNotify(format(t(\"passwordcountspecialchar_X0\"), i18next.language, NUM_SPECIAL_CHAR))\r\n return false;\r\n }\r\n\r\n if (ENFORCE_SPECIAL_CHAR !== \"\" && ENFORCE_SPECIAL_CHAR === \"Y\" && IC_ENFORCE_SPECIAL_CHAR === checkMarkFalse) {\r\n localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" ? Helpers.errorNotify(t(\"passwordEnforceSpecialCharALRAMZ\"), i18next.language)\r\n : Helpers.errorNotify(t(\"passwordEnforceSpecialChar\"), i18next.language);\r\n return false;\r\n }\r\n if (NUM_SMALL_CHAR !== \"\" && NUM_SMALL_CHAR !== \"0\" && IC_NUM_SMALL_CHAR === checkMarkFalse) {\r\n Helpers.errorNotify(format(t(\"passwordcountsmallchar_X0\"), i18next.language, NUM_SMALL_CHAR))\r\n return false;\r\n }\r\n\r\n\r\n if (NUM_CAPITAL_CHAR !== \"\" && NUM_CAPITAL_CHAR !== \"0\" && IC_NUM_CAPITAL_CHAR === checkMarkFalse) {\r\n Helpers.errorNotify(format(t(\"passwordcountcapitalchar_X0\"), i18next.language, NUM_CAPITAL_CHAR))\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n\r\n // const errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n // const successNotify = (message) => {\r\n // toast.success(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.successNotifyDuration\r\n // });\r\n // };\r\n console.log(\"isNewPasswordVisible\", isNewPasswordVisible);\r\n\r\n const callLogOff = () => {\r\n // \r\n // props.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let logOffResponse = utils.logOff();\r\n logOffResponse\r\n .then((response) => {\r\n\r\n // props.setIsLoaderVisible(false);\r\n //console.log(\"Logged Off\", response)\r\n // if (response.status === 200) {\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"ExpiredDocument\");\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n\r\n let Comapnyname = localStorage.getItem(\r\n Constants.localStorageConstants.company_name\r\n );\r\n var prev = Helpers.getPreviousConfig();\r\n if (RememberMe === \"true\") {\r\n localStorage.clear();\r\n localStorage.setItem(\"isRememberMe\", true);\r\n localStorage.setItem(\"username\", UserName);\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n } else {\r\n localStorage.clear();\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n }\r\n Helpers.SetpreviosConfig(prev);\r\n setRedirect(AppUrls.login);\r\n // setState({ redirect: AppUrls.login }, () => {\r\n // disconnectSignalr();\r\n // });\r\n //}\r\n })\r\n .catch((error) => {\r\n //props.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n !isNewPasswordVisible\r\n ? localStorage.getItem(\"ForgotPasswordMethod\") === \"O\"\r\n ? <>\r\n
\r\n {\r\n e.preventDefault();\r\n setNin(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n \r\n : localStorage.getItem(\"ForgotPasswordMethod\") === \"S\" ?\r\n <>\r\n {localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\" ?\r\n\r\n
\r\n {\r\n e.preventDefault();\r\n setUsername(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n : null\r\n }\r\n
\r\n {\r\n e.preventDefault();\r\n setEmail(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n
\r\n \r\n : localStorage.getItem(\"ForgotPasswordMethod\") === \"U\" || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"SHARJAH\" ?\r\n <>\r\n
\r\n {\r\n e.preventDefault();\r\n setEmail(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n \r\n\r\n\r\n : <>\r\n
\r\n {\r\n e.preventDefault();\r\n setEmail(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n
\r\n \r\n\r\n : <>\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n onChangeNewPassword(e);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n setConfirmNewPassword(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n MINLENGTH !== \"\"\r\n ?\r\n
\r\n \"\"\r\n {t(\"passwordtooshort\") + \" \" + MINLENGTH}\r\n
\r\n : null\r\n }\r\n {\r\n ENFORCE_START_WITH_ALPHA !== \"\" && ENFORCE_START_WITH_ALPHA === \"Y\"\r\n ?\r\n
\r\n \"\"\r\n {t(\"passwordcantstartno\")}\r\n
\r\n : null\r\n }\r\n {\r\n ENFORCE_SPECIAL_CHAR !== \"\" && ENFORCE_SPECIAL_CHAR === \"Y\"\r\n ?\r\n
\r\n \"\"\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"ALRAMZ\" ? {t(\"passwordEnforceSpecialCharALRAMZ\")}\r\n : {t(\"passwordEnforceSpecialChar\")}}\r\n
\r\n : null\r\n }\r\n {\r\n NUM_SMALL_CHAR !== \"\" && parseInt(NUM_SMALL_CHAR) > 0\r\n ?\r\n
\r\n \"\"\r\n {format(t(\"passwordcountsmallchar_X0\"), NUM_SMALL_CHAR)}\r\n
\r\n : null\r\n }\r\n {\r\n NUM_CAPITAL_CHAR !== \"\" && parseInt(NUM_CAPITAL_CHAR) > 0\r\n ?\r\n
\r\n \"\"\r\n {format(t(\"passwordcountcapitalchar_X0\"), NUM_CAPITAL_CHAR)}\r\n
\r\n : null\r\n }\r\n {\r\n NUM_SPECIAL_CHAR !== \"\" && parseInt(NUM_SPECIAL_CHAR) > 0 && ENFORCE_SPECIAL_CHAR === \"Y\"\r\n ?\r\n
\r\n \"\"\r\n {format(t(\"passwordcountspecialchar_X0\"), NUM_SPECIAL_CHAR)}\r\n
\r\n : null\r\n }\r\n {\r\n Constants.config.CompanyName === \"CIC\"\r\n ?\r\n
\r\n \"\"\r\n {t(\"secondpasswordpolicy\")}\r\n
\r\n : null\r\n }\r\n
\r\n
\r\n\r\n \r\n }\r\n\r\n\r\n
\r\n
\r\n {\r\n !isNewPasswordVisible\r\n ? {\r\n e.preventDefault();\r\n callUserAuthinticationAdvance();\r\n }}\r\n >\r\n {t(\"request\")}\r\n \r\n : {\r\n e.preventDefault();\r\n callResetPassword();\r\n }}\r\n >\r\n {t(\"changePassword\")}\r\n \r\n }\r\n\r\n
\r\n
\r\n {\r\n event.preventDefault();\r\n callLogOff();\r\n // setRedirect(AppUrls.login);\r\n // localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n }}\r\n >\r\n {t(\"cancelForgotPassword\")}\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 ForgetPassword;","import React, { useEffect, useState } from 'react';\r\nimport './LoginSignup.css'\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Redirect } from \"react-router-dom\";\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport * as Constants from \"../../constants/Constants\";\r\n\r\nimport * as utils from '../../global/utils';\r\nimport * as Helpers from '../../global/Helpers';\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//loader\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\nimport OtpPopup from '../popups/OtpPopup/OtpPopup';\r\nimport i18next from 'i18next';\r\nimport checkMarkCorrect from \"../../assets/icons/ic-check-mark-correct.png\";\r\nimport checkMarkFalse from \"../../assets/icons/ic-check-mark-x.png\";\r\nimport { format } from 'react-string-format';\r\n\r\n\r\ntoast.configure();\r\nfunction ForgotUsername() {\r\n const { t } = useTranslation();\r\n\r\n const [redirect, setRedirect] = useState(null);\r\n const [nin, setNin] = useState(\"\");\r\n const [mobile, setMobile] = useState(\"\");\r\n\r\n const [visible, setVisible] = useState(false);\r\n\r\n\r\n\r\n let leftLocalized = \"left\";\r\n let mr2Localized = \"mr-2\";\r\n\r\n if (i18next.language === \"ar\") {\r\n leftLocalized = \"right\";\r\n mr2Localized = \"ml-2\";\r\n }\r\n\r\n function validate() {\r\n\r\n if (nin.length === 0 || nin === \"\" || nin === null) {\r\n Helpers.errorNotify(t(\"Trading_Number_is_required\"), i18next.language)\r\n return false;\r\n }\r\n\r\n if (mobile.length === 0 || mobile === \"\" || mobile === null) {\r\n Helpers.errorNotify(t(\"mobileRequired\"), i18next.language)\r\n return false;\r\n }\r\n\r\n\r\n return true\r\n }\r\n\r\n\r\n\r\n let hideLoader = \"\";\r\n if (visible) {\r\n hideLoader = \"\";\r\n } else {\r\n hideLoader = \"hide-loader\";\r\n }\r\n\r\n if (redirect !== null) {\r\n return ;\r\n }\r\n\r\n function callForgotUsername() {\r\n if (!validate()) {\r\n return;\r\n }\r\n setVisible(true);\r\n let response = utils.forGotusername(\"IOS\", \"192.168.26.1\", nin, mobile)\r\n //console.log(response);\r\n response.then((response) => {\r\n\r\n setVisible(false);\r\n console.log(\"forGotusername: \", response);\r\n\r\n let status = response.data[\"Status\"]\r\n \r\n switch (status) {\r\n case Constants.LoginStatus.Success:\r\n Helpers.successNotify(t(\"successfully\"), i18next.language);\r\n // setRedirect(AppUrls.login);\r\n break;\r\n case \"-1\":\r\n Helpers.errorNotify(t(\"InvalidNINorMobileNo\"), i18next.language)\r\n\r\n break;\r\n default:\r\n Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language)\r\n break;\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(\"error\", error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n }\r\n\r\n const callLogOff = () => {\r\n // \r\n // props.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let logOffResponse = utils.logOff();\r\n logOffResponse\r\n .then((response) => {\r\n // props.setIsLoaderVisible(false);\r\n //console.log(\"Logged Off\", response)\r\n if (response.status === 200) {\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"ExpiredDocument\");\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n\r\n let Comapnyname = localStorage.getItem(\r\n Constants.localStorageConstants.company_name\r\n );\r\n var prev = Helpers.getPreviousConfig();\r\n if (RememberMe === \"true\") {\r\n localStorage.clear();\r\n localStorage.setItem(\"isRememberMe\", true);\r\n localStorage.setItem(\"username\", UserName);\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n } else {\r\n localStorage.clear();\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n }\r\n Helpers.SetpreviosConfig(prev);\r\n setRedirect(AppUrls.login);\r\n // setState({ redirect: AppUrls.login }, () => {\r\n // disconnectSignalr();\r\n // });\r\n }\r\n })\r\n .catch((error) => {\r\n //props.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n };\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n <>\r\n
\r\n {\r\n e.preventDefault();\r\n setNin(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n {\r\n e.preventDefault();\r\n callForgotUsername();\r\n }}\r\n >\r\n {t(\"request\")}\r\n \r\n
\r\n {\r\n event.preventDefault();\r\n callLogOff();\r\n // setRedirect(AppUrls.login);\r\n // localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n\r\n }}\r\n >\r\n {t(\"cancelForgotPassword\")}\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 ForgotUsername;","import React, { useState, useEffect } from \"react\";\r\nimport \"./LoginSignup.css\";\r\nimport { Redirect } from \"react-router\";\r\nimport {\r\n registrationsOTP,\r\n GetSettingWorkSpaceByUserID,\r\n} from \"../../global/utils\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//loader\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from \"react-loader-spinner\";\r\n\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport * as Constants from \"../../constants/Constants\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\nimport * as utils from \"../../global/utils\";\r\n\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport * as actions from \"../../store/actionTypes\";\r\nimport * as Helpers from \"../../global/Helpers\";\r\nimport i18next from \"i18next\";\r\nimport Keyboard from \"react-simple-keyboard\";\r\nimport \"react-simple-keyboard/build/css/index.css\";\r\nimport { Shift } from \"react-bootstrap-icons\";\r\n\r\ntoast.configure();\r\n\r\nfunction OTP(props) {\r\n const [input, setInput] = useState(\"\");\r\n const [layoutName, setLayoutName] = useState(\"default\")\r\n\r\n const [keyboardLayout, setKeyboardLayout] = useState(generateKeyboardLayout());\r\n\r\n function generateKeyboardLayout() {\r\n const letters = \"qwertyuiopasdfghjklzxcvbnm\";\r\n const number = \"1234567890\"\r\n const lettersCaps = \"QWERTYUIOPASDFGHJKLZXCVBNM\";\r\n const lettersCapsNum = \"!@#$%^&*()\";\r\n\r\n const shuffledLetters = shuffle(letters.split(\"\"));\r\n const shuffledNumber = shuffle(number.split(\"\"));\r\n const shuffledlettersCaps = shuffle(lettersCaps.split(\"\"));\r\n const shuffledlettersCapsNum = shuffle(lettersCapsNum.split(\"\"));\r\n\r\n const layout = [\r\n \"1 2 3 4 5 6 7 8 9 0\",\r\n \"q w e r t y u i o p {bksp}\",\r\n \"a s d f g h j k l\",\r\n \"{shift} z x c v b n m {shift}\",\r\n \"{capslock} {space} {enter}\",\r\n ];\r\n const shiftLayout = [\r\n \"! @ # $ % ^ & * ( )\",\r\n \"Q W E R T Y U I O P {bksp}\",\r\n \"A S D F G H J K L\",\r\n \"{shift} Z X C V B N M {shift}\",\r\n \"{capslock} {space} {enter}\"\r\n ];\r\n const capsLayout = [\r\n \"! @ # $ % ^ & * ( )\",\r\n \"Q W E R T Y U I O P\",\r\n \"A S D F G H J K L\",\r\n \"{shift} Z X C V B N M {bksp}\",\r\n \"{capslock} {space} {enter}\"\r\n ];\r\n\r\n for (let i = 0; i < layout.length; i++) {\r\n const row = layout[i];\r\n layout[i] = row\r\n .split(\" \")\r\n .map((key) => {\r\n if (key === \"{bksp}\" || key === \"{shift}\" || key === \"{space}\" || key === \"{capslock}\" || key === \"{enter}\") {\r\n return key;\r\n } else if (layoutName === \"default\") {\r\n return i > 0 ? shuffledLetters.pop() : shuffledNumber.pop()\r\n } else if (layoutName === \"shift\") {\r\n return i > 0 ? shuffledlettersCaps.pop() : shuffledlettersCapsNum.pop()\r\n }\r\n })\r\n .join(\" \");\r\n }\r\n\r\n // for (let i = 0; i < shiftLayout.length; i++) {\r\n // const row = shiftLayout[i];\r\n // shiftLayout[i] = row\r\n // .split(\" \")\r\n // .map((key) => {\r\n // // \r\n // if (key === \"{bksp}\" || key === \"{shift}\" || key === \"{space}\" || key === \"{capslock}\" || key === \"{enter}\" ) {\r\n // return key;\r\n // } else {\r\n // return i > 0 ? shuffledlettersCaps.pop() : shuffledlettersCapsNum.pop()\r\n // }\r\n // })\r\n // .join(\" \");\r\n // }\r\n\r\n // for (let i = 0; i < capsLayout.length; i++) {\r\n // const row = capsLayout[i];\r\n // capsLayout[i] = row\r\n // .split(\" \")\r\n // .map((key) => {\r\n // if (key === \"{bksp}\" || key === \"{shift}\" || key === \"{space}\" || key === \"{capslock}\" || key === \"{enter}\" ) {\r\n // return key;\r\n // } else {\r\n // return shuffledlettersCaps.pop();\r\n // }\r\n // })\r\n // .join(\" \");\r\n // }\r\n\r\n return { default: layout, shift: shiftLayout, caps: capsLayout };\r\n }\r\n\r\n function shuffle(array) {\r\n let currentIndex = array.length,\r\n temporaryValue,\r\n randomIndex;\r\n\r\n // While there remain elements to shuffle...\r\n while (0 !== currentIndex) {\r\n // Pick a remaining element...\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex -= 1;\r\n\r\n // And swap it with the current element.\r\n temporaryValue = array[currentIndex];\r\n array[currentIndex] = array[randomIndex];\r\n array[randomIndex] = temporaryValue;\r\n }\r\n\r\n return array;\r\n }\r\n const onKeyPress = (button) => {\r\n if (button === \"{shift}\" || button === \"{lock}\") handleShift();\r\n if (button === \"{capslock}\") handleCapsLock();\r\n if (button === \"{space}\") handleSpace();\r\n if (button === \"{bksp}\") handleBackspace();\r\n // Add more custom handlers for special characters here\r\n };\r\n const handleShift = () => {\r\n setLayoutName(layoutName === \"default\" ? \"shift\" : \"default\");\r\n };\r\n\r\n const handleCapsLock = () => {\r\n setLayoutName(layoutName === \"default\" ? \"shift\" : \"default\");\r\n };\r\n\r\n const handleSpace = () => {\r\n setInput(input + \" \");\r\n };\r\n\r\n const handleBackspace = () => {\r\n setInput(input.slice(0, -1));\r\n };\r\n\r\n\r\n\r\n const abortController = new AbortController();\r\n const dispatch = useDispatch();\r\n const { t, i18n } = useTranslation();\r\n const [otp, setOtp] = useState(\"\");\r\n const [redirect, setRedirect] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n const [otpType, setotpType] = useState(\"password\");\r\n\r\n // const errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n // const successNotify = () => {\r\n // toast.success(\"Successful Login!\", {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.successNotifyDuration\r\n // });\r\n // };\r\n const getUserSettings = () => {\r\n let response = GetSettingWorkSpaceByUserID();\r\n response\r\n .then((response) => {\r\n //\r\n let data = response.data[0];\r\n if (\r\n data.WorkSpaceSettings !== undefined &&\r\n data.WorkSpaceSettings !== null &&\r\n data.WorkSpaceSettings !== \"\"\r\n ) {\r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n\r\n localStorage.setItem(\"selectedProfile\", res.selectedProfile);\r\n localStorage.setItem(\"theme\", res.theme);\r\n localStorage.setItem(\"UserSettings\", data.WorkSpaceSettings);\r\n // if (i18n.language === \"ar\" && res.lang === \"en\")\r\n // props.changeLanguageNew()\r\n // else if (i18n.language === \"en\" && res.lang === \"ar\")\r\n // props.changeLanguageNew()\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_SYMBOL,\r\n payload: {\r\n PreferredSymbol: res.PreferredSymbol,\r\n },\r\n });\r\n\r\n dispatch({\r\n type: actions.SELECT_PREFERRED_EXCHANGE,\r\n payload: {\r\n PreferredExchange: res.PreferredExchange,\r\n },\r\n });\r\n\r\n dispatch({\r\n type: actions.UPDATE_ENABLE_EXPAND_ROW,\r\n payload: {\r\n EnableExpandRow: res.expandRow === \"Y\" ? true : false,\r\n },\r\n });\r\n\r\n dispatch({\r\n type: actions.ENABLE_TRADE_TICKER,\r\n payload: {\r\n EnableTradeTicker: res.tradeTicker === \"Y\" ? true : false,\r\n },\r\n });\r\n\r\n dispatch({\r\n type: actions.ENABLE_ROUND_TICKER,\r\n payload: {\r\n EnableRoundTicker: res.RoundTicker === \"Y\" ? true : false,\r\n },\r\n });\r\n saveSettings(data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n };\r\n\r\n\r\n function saveSettings(data) {\r\n var res = JSON.parse(data.WorkSpaceSettings);\r\n let LanguageSelectedFromLogin = localStorage.getItem(\r\n \"LanguageSelectedFromLogin\"\r\n );\r\n let isLanguageSelectedFromLogin = localStorage.getItem(\r\n \"isLanguageSelectedFromLogin\"\r\n );\r\n var lang = \"\";\r\n if (isLanguageSelectedFromLogin === \"true\") lang = LanguageSelectedFromLogin;\r\n else lang = res.lang;\r\n let settings = {\r\n lang: lang,\r\n theme: res.theme,\r\n //theme: '',\r\n expandRow: res.expandRow,\r\n PreferredSymbol: res.PreferredSymbol,\r\n PreferredExchange: res.PreferredExchange,\r\n selectedProfile: res.selectedProfile,\r\n tradeTicker: res.tradeTicker,\r\n RoundTicker: res.RoundTicker,\r\n };\r\n\r\n if (data !== undefined && data !== null) {\r\n let postdata = {\r\n profileUniqueID: data.profileUniqueID,\r\n ProfileID: data.ProfileID,\r\n ProfileName: data.ProfileName,\r\n ProfileNameAr: data.ProfileNameAr,\r\n ProfileSettings: data.ProfileSettings,\r\n WorkSpaceSettings: JSON.stringify(settings),\r\n WebCode: localStorage.getItem(\"WebCode\"),\r\n };\r\n var updateWorkSpaceSettings = utils.UpdateUserProfileSettings(postdata);\r\n updateWorkSpaceSettings\r\n .then((response) => {\r\n if (response.data) {\r\n // console.log(\"Settings Successfully Updated\");\r\n // this.props.setUserSettings(settings)\r\n localStorage.setItem(\"UserSettings\", JSON.stringify(settings));\r\n\r\n if (i18n.language === \"ar\" && settings.lang === \"en\")\r\n props.changeLanguageNew();\r\n else if (i18n.language === \"en\" && settings.lang === \"ar\")\r\n props.changeLanguageNew();\r\n } else {\r\n console.log(\r\n \"Unsuccessfull Update Settings, please contact Administrator\"\r\n );\r\n }\r\n })\r\n .finally(() => {\r\n if (abortController) abortController.abort();\r\n })\r\n .catch((error) => {\r\n console.log(\r\n \"Unsuccessfull Update Settings, please contact Administrator\"\r\n );\r\n if (abortController) abortController.abort();\r\n });\r\n }\r\n }\r\n\r\n function validate() {\r\n if (!otp) {\r\n Helpers.errorNotify(t(\"Please_enter_OTP\"), i18n.language);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n function submit(e) {\r\n e.preventDefault();\r\n if (!validate()) {\r\n return;\r\n }\r\n setVisible(true);\r\n\r\n var isIPOQuickSell = localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\" ? \"Y\" : \"N\";\r\n var passwordToOTp = (localStorage.getItem(\"passwordToOTp\") === \"false\") ? \"\" : localStorage.getItem(\"passwordToOTp\");\r\n var isAuthorizeOnly = (localStorage.getItem(\"passwordToOTp\") === \"false\") ? \"Y\" : \"N\";\r\n\r\n var response = registrationsOTP(localStorage.getItem(\"username\"), otp, \"\", passwordToOTp, \"\", \"\", isAuthorizeOnly, isIPOQuickSell);\r\n\r\n //console.log(response);\r\n response\r\n .then((response) => {\r\n setVisible(false);\r\n\r\n let responseJson = response.data;\r\n let webcode = responseJson[\"WebCode\"];\r\n let isFirstLoggedIn = localStorage.getItem(\"isFirstLoggedIn\");\r\n\r\n if (\r\n webcode !== undefined &&\r\n webcode !== null &&\r\n webcode !== \"\" &&\r\n webcode !== \"-1\" &&\r\n responseJson[\"Status\"] === \"0\"\r\n ) {\r\n if (isFirstLoggedIn === \"Y\") {\r\n localStorage.setItem(\"WebCode\", webcode);\r\n localStorage.setItem(\"loginFirst\", true);\r\n localStorage.setItem(\"validValue\", otp);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n getUserSettings();\r\n setRedirect(AppUrls.changePassword);\r\n //localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n return;\r\n } else {\r\n Helpers.successNotify(t(\"Successful_Login!\"), i18next.language);\r\n localStorage.setItem(\"WebCode\", webcode);\r\n localStorage.setItem(\"loginFirst\", true);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n getUserSettings();\r\n //localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n\r\n\r\n // if (response.data[\"isTermsAndConditions\"] === \"N\" &&\r\n // ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\")) {\r\n // setRedirect(AppUrls.TermsAndConditions);\r\n\r\n // }\r\n // else {\r\n setRedirect(AppUrls.trading);\r\n //}\r\n }\r\n } else {\r\n Helpers.errorNotify(t(\"invalidOTP\"), i18next.language)\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(\"error\", error);\r\n Helpers.errorNotify(error.message, i18n.language);\r\n });\r\n }\r\n const callLogOff = () => {\r\n // \r\n // props.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let logOffResponse = utils.logOff();\r\n logOffResponse\r\n .then((response) => {\r\n // props.setIsLoaderVisible(false);\r\n //console.log(\"Logged Off\", response)\r\n if (response.status === 200) {\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"ExpiredDocument\");\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n\r\n let Comapnyname = localStorage.getItem(\r\n Constants.localStorageConstants.company_name\r\n );\r\n var prev = Helpers.getPreviousConfig();\r\n debugger\r\n if (RememberMe === \"true\") {\r\n localStorage.clear();\r\n localStorage.setItem(\"isRememberMe\", true);\r\n localStorage.setItem(\"username\", UserName);\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n } else {\r\n localStorage.clear();\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n }\r\n Helpers.SetpreviosConfig(prev);\r\n setRedirect(AppUrls.login);\r\n // setState({ redirect: AppUrls.login }, () => {\r\n // disconnectSignalr();\r\n // });\r\n }\r\n })\r\n .catch((error) => {\r\n //props.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n };\r\n\r\n var hideLoader = \"\";\r\n if (visible) {\r\n hideLoader = \"\";\r\n } else {\r\n hideLoader = \"hide-loader\";\r\n }\r\n\r\n if (redirect) {\r\n return ;\r\n }\r\n\r\n const onChange = (otp) => {\r\n setOtp(otp);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {/* setOtp(e.target.value)}\r\n /> */}\r\n
\r\n
\r\n
\r\n setOtp(e.target.value)}\r\n autoComplete=\"new-password\"\r\n disabled={\r\n localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"CIBC\" ? true : false\r\n }\r\n />\r\n {\r\n e.preventDefault();\r\n if (otpType === \"password\") {\r\n setotpType(\"text\");\r\n } else {\r\n setotpType(\"password\");\r\n }\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {t(\"sendOtp\")}\r\n \r\n
\r\n
\r\n {\r\n event.preventDefault();\r\n // setRedirect(AppUrls.login);\r\n callLogOff();\r\n //localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n }}\r\n >\r\n {t(\"cancelForgotPassword\")}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n {localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"CIBC\" ?\r\n
\r\n
\r\n \r\n
\r\n
\r\n : null}\r\n
\r\n );\r\n}\r\n\r\nexport default OTP;\r\n","import React, { useState/* , useEffect */ } from 'react';\r\nimport './LoginSignup.css'\r\nimport { toast } from \"react-toastify\";\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Redirect } from 'react-router-dom';\r\nimport axios from 'axios';\r\n//loader\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\nimport * as Constants from \"../../constants/Constants\";\r\nimport * as utils from \"../../global/utils\";\r\nimport * as AppUrls from \"../../constants/AppUrls\";\r\nimport * as Helpers from \"../../global/Helpers\";\r\nimport i18next from 'i18next';\r\n\r\n\r\ntoast.configure();\r\n\r\nfunction ChangePassword() {\r\n const { t } = useTranslation();\r\n const [username, setUsername] = useState(\"\");\r\n // const [oldPassword, setOldPassword] = useState(\"\");\r\n const [oldPassword, setoldPassword] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [password2, setPassword2] = useState(\"\");\r\n const [confirmPassword, setConfirmPassword] = useState(\"\");\r\n const [confirmPassword2, setConfirmPassword2] = useState(\"\");\r\n const [redirect, setRedirect] = useState(null);\r\n const [visible, setVisible] = useState(false);\r\n\r\n // const errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n function validate() {\r\n\r\n // if (!username) {\r\n // errorNotify(\"Please enter username and try again.\");\r\n // return false;\r\n // }\r\n\r\n // if (!oldPassword) {\r\n // errorNotify(\"Please enter old password and try again.\");\r\n // return false\r\n // }\r\n\r\n // if (!oldPassword) {\r\n // errorNotify(\"Please enter old password and try again.\");\r\n // return false\r\n // }\r\n if (!password) {\r\n Helpers.errorNotify(t(\"Please_enter_password_and_try_again.\"), i18next.language);\r\n return false\r\n }\r\n\r\n if (!confirmPassword) {\r\n Helpers.errorNotify(t(\"Please_enter_confirm_password_and_try_again.\"), i18next.language);\r\n return false\r\n }\r\n debugger\r\n\r\n if (password !== confirmPassword) {\r\n Helpers.errorNotify(t(\"passwordnotmatchconfirmedpassword\"), i18next.language)\r\n return false;\r\n }\r\n\r\n\r\n if (password2 !== confirmPassword2 && (localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\")) {\r\n Helpers.errorNotify(t(\"passwordnotmatchconfirmedpassword2\"), i18next.language)\r\n return false;\r\n }\r\n if ((password2 === \"\" || confirmPassword2 === \"\") && (localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\")) {\r\n Helpers.errorNotify(t(\"passwordandconfirmedpasswordarerequired2\"), i18next.language)\r\n return false;\r\n }\r\n\r\n\r\n if ((password2 !== \"\" && password2.length < 4) && (localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\")) {\r\n Helpers.errorNotify(t(\"Secondpasswordtooshort\") + \" 4 \", i18next.language)\r\n return false;\r\n }\r\n\r\n\r\n\r\n return true;\r\n }\r\n\r\n function submit(e) {\r\n\r\n e.preventDefault();\r\n if (!validate()) {\r\n return;\r\n }\r\n callChangePasswordApi();\r\n }\r\n\r\n const callChangePasswordApi = async () => {\r\n\r\n setVisible(true);\r\n const params = {\r\n \"UserName\": localStorage.getItem(\"username\"),//username,\r\n \"Password\": utils.encryptedString(password),\r\n \"Password2\": utils.encryptedString(password2),\r\n \"MobileType\": \"\",\r\n \"SessionID\": \"\",\r\n \"UserIPAddress\": \"185.99.34.25\",\r\n \"TokenID\": \"\",\r\n \"HdnKey\": \"\",\r\n \"FingerPrintID\": \"\",\r\n \"FingerPrintLevel\": \"\",\r\n \"RegistrationId\": \"\",\r\n \"isAuthorizeOnly\": \"N\",\r\n \"OldPassword\": localStorage.getItem(\"passwordToOTp\"),\r\n \"WebCode\": localStorage.getItem(\"WebCode\")\r\n };\r\n let url = Constants.baseURL + Constants.changesPassword;\r\n // let changesPasswordResponse = utils.changesPassword(params);\r\n // changesPasswordResponse\r\n let options = { withCredentials: true };\r\n\r\n await axios.post(url, params, options)\r\n .then((response) => {\r\n setVisible(false);\r\n // console.log(response);\r\n\r\n var status = response.data[\"Status\"];\r\n if (status === \"0\") {\r\n // toast.success(\"Password changed Successfully.\", {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: 1000\r\n // });\r\n Helpers.successNotify(\"Password changed Successfully.\", i18next.language);\r\n debugger\r\n let user = JSON.stringify(response.data);\r\n let webcode = response.data[\"WebCode\"];\r\n //localStorage.setItem(\"user\", user);\r\n localStorage.setItem(\"username\", response.data[\"UserName\"]);\r\n localStorage.setItem(\"WebCode\", webcode);\r\n localStorage.setItem(\"isTermsAndConditions\", response.data[\"isTermsAndConditions\"]);\r\n localStorage.setItem(\"UpdateInfo\", response.data[\"UpdateInfo\"]);\r\n\r\n //window[\"connectionInitialize\"](username, webcode);\r\n\r\n // if (response.data[\"isTermsAndConditions\"] === \"N\" &&\r\n // ((localStorage.getItem(Constants.localStorageConstants.EnableIPOQuickSell).toUpperCase() === \"TRUE\" && localStorage.getItem(\"IsNormalLogin\") === \"false\") || localStorage.getItem(Constants.localStorageConstants.company_name).toUpperCase() === \"IFS\")) {\r\n // setRedirect(AppUrls.TermsAndConditions);\r\n // }\r\n // else {\r\n setRedirect(AppUrls.trading);\r\n // }\r\n } else if (status === null) {\r\n setRedirect(AppUrls.login);\r\n // localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n\r\n } else {\r\n\r\n // Helpers.errorNotify(response.data[t(\"ErrorMsg\"),i18next.language]) \r\n Helpers.errorNotify(response.data[\"ErrorMsg\"], i18next.language)\r\n }\r\n })\r\n .catch((error) => {\r\n setVisible(false);\r\n console.log(error);\r\n Helpers.errorNotify(error.message, i18next.language);\r\n });\r\n\r\n }\r\n\r\n const callLogOff = () => {\r\n // \r\n // props.setIsLoaderVisible(true);\r\n //console.log(\"logging out...\");\r\n let logOffResponse = utils.logOff();\r\n logOffResponse\r\n .then((response) => {\r\n // props.setIsLoaderVisible(false);\r\n //console.log(\"Logged Off\", response)\r\n if (response.status === 200) {\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"ExpiredDocument\");\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n\r\n let Comapnyname = localStorage.getItem(\r\n Constants.localStorageConstants.company_name\r\n );\r\n var prev = Helpers.getPreviousConfig();\r\n if (RememberMe === \"true\") {\r\n localStorage.clear();\r\n localStorage.setItem(\"isRememberMe\", true);\r\n localStorage.setItem(\"username\", UserName);\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n } else {\r\n localStorage.clear();\r\n localStorage.setItem(\"language\", language);\r\n\r\n localStorage.setItem(\r\n Constants.localStorageConstants.company_name,\r\n Comapnyname\r\n );\r\n }\r\n Helpers.SetpreviosConfig(prev);\r\n setRedirect(AppUrls.login);\r\n // setState({ redirect: AppUrls.login }, () => {\r\n // disconnectSignalr();\r\n // });\r\n }\r\n })\r\n .catch((error) => {\r\n //props.setIsLoaderVisible(false);\r\n //console.log(\"error\", error);\r\n });\r\n };\r\n\r\n var hideLoader = \"\";\r\n if (visible) {\r\n hideLoader = \"\";\r\n } else {\r\n hideLoader = \"hide-loader\";\r\n }\r\n\r\n\r\n if (redirect) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {/*
\r\n setUsername(e.target.value)} />\r\n
*/}\r\n {/*
\r\n setOldPassword(e.target.value)}\r\n />\r\n
*/}\r\n {/*
\r\n setoldPassword(e.target.value)}\r\n />\r\n
*/}\r\n
\r\n setPassword(e.target.value)}\r\n />\r\n
\r\n
\r\n setConfirmPassword(e.target.value)}\r\n />\r\n
\r\n\r\n {localStorage.getItem(Constants.localStorageConstants.Region).toUpperCase() === \"EGYPT\" ?\r\n <>\r\n\r\n\r\n {/*
*/}\r\n {/*
\r\n {t(\"password2\")}\r\n
*/}\r\n
\r\n {\r\n setPassword2(e.target.value);\r\n\r\n }}\r\n placeholder={t(\"password2\")}\r\n />\r\n {\r\n /* showRequired\r\n ?
\r\n This field is required\r\n
\r\n : null */\r\n }\r\n\r\n {/*
*/}\r\n
\r\n\r\n {/*
*/}\r\n {/*
\r\n {t(\"conpassword2\")}\r\n
*/}\r\n
\r\n setConfirmPassword2(e.target.value)}\r\n placeholder={t(\"conpassword2\")}\r\n />\r\n
\r\n {/*
*/}\r\n \r\n : null}\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n event.preventDefault();\r\n // setRedirect(AppUrls.login);\r\n callLogOff();\r\n // localStorage.getItem(Constants.localStorageConstants.company_name) === \"CIBC\" ? setRedirect(AppUrls.loginCIBC) : setRedirect(AppUrls.login);\r\n }}\r\n >\r\n {t(\"cancelForgotPassword\")}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ChangePassword;","export const RelatedLicences = {\r\n LicencesAgGrid: 'CompanyName=FIRST Information Technology,LicensedApplication=FIT eTrade,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=1,LicensedProductionInstancesCount=3,AssetReference=AG-021214,ExpiryDate=18_October_2022_[v2]_MTY2NjA0NzYwMDAwMA==c6ff7a0b054e51eb41a303672398b044'\r\n}","export default __webpack_public_path__ + \"static/media/Shuaa_splach_center.9405122e.png\";","\r\nimport React, { Component, Suspense, lazy } from \"react\";\r\n\r\nimport \"./App.css?ver=1\";\r\nimport './components/Header/Header.css';\r\nimport './components/Main/Main.css';\r\nimport './components/FitAgGrid/FitAgGridContainer.css';\r\n\r\nimport { Route, Switch, Redirect } from \"react-router-dom\";\r\n\r\n\r\nimport AuthContainer from \"./components/LoginSignup/AuthContainer\";\r\nimport Login from \"./components/LoginSignup/Login\";\r\nimport SellIPOShares from \"./components/LoginSignup/SellIPOShares\";\r\n\r\n// import Signup from \"./components/LoginSignup/Signup\";\r\nimport ForgetPassword from \"./components/LoginSignup/ForgetPassword\";\r\nimport ForgotUsername from \"./components/LoginSignup/ForgotUsername\";\r\nimport OTP from \"./components/LoginSignup/OTP\";\r\n\r\nimport ChangePassword from \"./components/LoginSignup/ChangePassword\";\r\n\r\nimport { isLoggedIn } from './global/Helpers';\r\n\r\nimport * as AppUrls from './constants/AppUrls';\r\nimport * as Helpers from './global/Helpers';\r\nimport * as Licences from './global/Licences';\r\nimport * as Constants from './constants/Constants';\r\n\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nimport SplashScreenImage from \"./assets/images/splash_icons/Shuaa_splach_center.png?ver=1\"\r\n// import SplashScreenImage from \"./assets/images/splash_icons/IS_logo_icon_white.png\"\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport { LicenseManager } from \"ag-grid-enterprise\";\r\n\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n// import firebase from '././global/firebase';\r\n// import ReactGA from 'react-ga'; //Google Analytics:\r\n\r\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\r\nimport Loader from 'react-loader-spinner';\r\n\r\n import TermsAndConditions from './components/TermsAndConditions/TermsAndConditions'\r\n\r\n\r\n// import MobileDetect from 'mobile-detect';\r\n// import $ from \"jquery\";\r\n\r\ntoast.configure();\r\n\r\nconst Container = React.lazy(() => import('./components/Main/Container'));\r\n\r\nclass App extends Component {\r\n abortController = new window.AbortController();\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: \"en\",\r\n isPopulated: false,\r\n redirect: null,\r\n isMobile: false,\r\n isLoaderVisible: false\r\n }\r\n\r\n this.getConfig();\r\n window.appComponent = this;\r\n // if (window.orientation == 0) {\r\n // document.getElementById('portrait').style.display = '';\r\n // document.getElementById('landscape').style.display = 'none';\r\n // }\r\n // else if (window.orientation == 90) {\r\n // document.getElementById('portrait').style.display = 'none';\r\n // document.getElementById('landscape').style.display = '';\r\n // }\r\n //const [isMobile, setIsMobile] = useState(true);\r\n // var md = new MobileDetect(window.navigator.userAgent);\r\n // //var x = md.is('iPhone');\r\n // if (md.os()) {\r\n // if (md.os().toUpperCase() == 'IOS') {\r\n // this.setState({ isMobile: true });\r\n // }\r\n // else if (md.os().toUpperCase() == 'ANDROIDOS') {\r\n // this.setState({ isMobile: true });\r\n // }\r\n // else {\r\n // this.getConfig();\r\n // window.appComponent = this;\r\n // }\r\n // } else {\r\n // this.getConfig();\r\n // window.appComponent = this;\r\n // }\r\n }\r\n\r\n getConfig = () => {\r\n\r\n LicenseManager.setLicenseKey(Licences.RelatedLicences.LicencesAgGrid);\r\n\r\n fetch(process.env.PUBLIC_URL + '/config.json?var=' + Math.random(), {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n })\r\n .then((r) => r.json())\r\n .then((config) => {\r\n\r\n //console.log(\"config response: \", data);\r\n var data = config.relatedConfig[config.company_name];\r\n document.title = data.website_name;\r\n // $(\"#fav\").attr(\"href\",)\r\n //1. remove old values\r\n \r\n Helpers.removeExistingItem(Constants.localStorageConstants.app_path);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.company_name);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.Region);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.server_url);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.chart_iq_url);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.chart_trading_url);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.signalr_url);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.signalr_hub);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.last_Work_day);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.Foreign_Market);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.PortfolioProvider);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.EnableTags);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.EnableIPOQuickSell);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.EnableSymbolFullName);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.EnableMarketWatchCache);\r\n Helpers.removeExistingItem(Constants.localStorageConstants.signalrCallInterval);\r\n\r\n\r\n //2. set new values\r\n localStorage.setItem(Constants.localStorageConstants.app_path, data.app_path);\r\n localStorage.setItem(Constants.localStorageConstants.company_name, data.company_name);\r\n localStorage.setItem(Constants.localStorageConstants.Region, data.Region);\r\n localStorage.setItem(Constants.localStorageConstants.server_url, data.server_url);\r\n localStorage.setItem(Constants.localStorageConstants.chart_iq_url, data.chart_iq_url);\r\n localStorage.setItem(Constants.localStorageConstants.chart_trading_url, data.chart_trading_url);\r\n localStorage.setItem(Constants.localStorageConstants.signalr_url, data.signalr_url);\r\n localStorage.setItem(Constants.localStorageConstants.signalr_hub, data.signalr_hub);\r\n localStorage.setItem(Constants.localStorageConstants.last_Work_day, data.last_Work_day);\r\n localStorage.setItem(Constants.localStorageConstants.Foreign_Market, data.Foreign_Market);\r\n localStorage.setItem(Constants.localStorageConstants.PortfolioProvider, data.PortfolioProvider);\r\n localStorage.setItem(Constants.localStorageConstants.EnableTags, data.EnableTags);\r\n localStorage.setItem(Constants.localStorageConstants.EnableIPOQuickSell, data.EnableIPOQuickSell);\r\n localStorage.setItem(Constants.localStorageConstants.EnableSymbolFullName, data.EnableSymbolFullName);\r\n localStorage.setItem(Constants.localStorageConstants.EnableMarketWatchCache, data.EnableMarketWatchCache);\r\n localStorage.setItem(Constants.localStorageConstants.signalrCallInterval, data.signalrCallInterval);\r\n\r\n\r\n //3. update urls\r\n Constants.updateUrls(data.server_url, data.signalr_url, data.signalr_hub);\r\n AppUrls.updateAppUrls(data.app_path);\r\n\r\n //4. set isPopulated to finish splash screen\r\n this.setState({ isPopulated: true });\r\n\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n // var messaging = firebase.messaging();\r\n if (this.props.i18n.language === \"ar\" && localStorage.getItem(\"language\") !== null && localStorage.getItem(\"language\") === \"ar\") {\r\n this.props.i18n.changeLanguage(\"ar\");\r\n this.setState({ value: \"ar\" });\r\n }\r\n // Google Analytics\r\n // ReactGA.initialize('UA-150693920-1');\r\n // ReactGA.pageview(window.location.pathname + window.location.search);\r\n\r\n // // GetToken for client (firebase notification):\r\n // messaging.getToken({ vapidKey: 'BH_g7O3bUxHx9JUpBAi0Ko673EL3I2eqzGSK-QTz59Hz1dbe-ngF40Kyh1Qn1hQhS2Tg2Fi5PvmjZLeVg_fIuYg' }).then((currentToken) => {\r\n // if (currentToken) {\r\n // console.log('current token for client: ', currentToken);\r\n // } else {\r\n\r\n // console.log('No registration token available. Request permission to generate one.');\r\n\r\n // }\r\n // }).catch((err) => {\r\n // console.log('An error occurred while retrieving token. ', err);\r\n\r\n // });\r\n\r\n }\r\n\r\n changeLanguageNew = () => {\r\n\r\n var newlang = \"\";\r\n if (this.state.value === \"en\") {\r\n newlang = \"ar\";\r\n } else {\r\n newlang = \"en\";\r\n }\r\n localStorage.setItem(\"language\", newlang);\r\n localStorage.setItem(\"LanguageSelectedFromLogin\", newlang);\r\n localStorage.setItem(\"isLanguageSelectedFromLogin\", true);\r\n this.setState({ value: newlang });\r\n this.props.i18n.changeLanguage(newlang);\r\n\r\n\r\n \r\n \r\n };\r\n\r\n errorHandling = () => {\r\n\r\n confirmAlert({\r\n // title: 'Confirm to submit',\r\n message: this.props.i18n.t(\"sessionclientexpired\"),\r\n buttons: [\r\n {\r\n label: 'Ok',\r\n onClick: () => {\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n localStorage.clear();\r\n if (RememberMe !== undefined || RememberMe !== null) {\r\n localStorage.setItem(\"isRememberMe\", RememberMe);\r\n }\r\n if (RememberMe === \"true\") {\r\n if (UserName !== undefined || UserName !== null) {\r\n localStorage.setItem(\"username\", UserName);\r\n }\r\n }\r\n if (language !== undefined || language !== null) {\r\n localStorage.setItem(\"language\", language === \"null\" ? \"en\" : language);\r\n }\r\n // localStorage.removeItem(\"user\");\r\n Helpers.emptyCache();\r\n }\r\n }\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n })\r\n\r\n setTimeout(() => {\r\n let UserName = localStorage.getItem(\"username\");\r\n let RememberMe = localStorage.getItem(\"isRememberMe\");\r\n let language = localStorage.getItem(\"language\");\r\n localStorage.clear();\r\n if (RememberMe !== undefined || RememberMe !== null) {\r\n localStorage.setItem(\"isRememberMe\", RememberMe);\r\n }\r\n if (RememberMe === \"true\") {\r\n if (UserName !== undefined || UserName !== null) {\r\n localStorage.setItem(\"username\", UserName);\r\n }\r\n }\r\n if (language !== undefined || language !== null) {\r\n localStorage.setItem(\"language\", language === \"null\" ? \"en\" : language);\r\n }\r\n // localStorage.removeItem(\"user\");\r\n Helpers.emptyCache();\r\n }, 10000);\r\n };\r\n\r\n errorNotify = (message) => {\r\n toast.error(message, {\r\n position: toast.POSITION.BOTTOM_CENTER,\r\n hideProgressBar: true,\r\n autoClose: Constants.errorNotifyDuration\r\n });\r\n };\r\n\r\n setIsLoaderVisible = (isLoaderVisible) => {\r\n if (this.state.isLoaderVisible !== isLoaderVisible)\r\n this.setState({ isLoaderVisible: isLoaderVisible });\r\n }\r\n\r\n getLoader = (isLoaderVisible) => {\r\n return (\r\n isLoaderVisible\r\n ?
\r\n
\r\n \r\n
\r\n
\r\n : null\r\n )\r\n }\r\n\r\n render() {\r\n // \r\n let mobileView = Helpers.getIsIPad() ? \"mobile-view\" : \"web-view\"\r\n let companyName = localStorage.getItem(Constants.localStorageConstants.company_name) + \"-CSS\"\r\n let appClassLanguage = \"app-en \" + mobileView;\r\n if (this.props.i18n.language === \"ar\") {\r\n appClassLanguage = \"app-ar \" + mobileView;\r\n }\r\n\r\n if (this.state.redirect) {\r\n return \r\n }\r\n // var isMobile = false\r\n // var md = new MobileDetect(window.navigator.userAgent);\r\n // //var x = md.is('iPhone');\r\n // if (md.os()) {\r\n // if (md.os().toUpperCase() == 'IOS') {\r\n // isMobile = true;\r\n // window.location = Constants.redirectMobileURLS.IOS;\r\n // }\r\n // else if (md.os().toUpperCase() == 'ANDROIDOS') {\r\n // isMobile = true;\r\n // window.location = Constants.redirectMobileURLS.Android;\r\n // }\r\n // else {\r\n // isMobile = false;\r\n // }\r\n // } else {\r\n // isMobile = false;\r\n // }\r\n\r\n return (\r\n
\r\n
\r\n {\r\n !this.state.isPopulated\r\n ? \r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"IFS\" ?\r\n \r\n : this.getLoader(true)\r\n }\r\n\r\n
\r\n : \r\n\r\n \r\n isLoggedIn(this.abortController)\r\n ? (\r\n \r\n ) : (\r\n }\r\n />\r\n )\r\n }\r\n />\r\n\r\n\r\n\r\n \r\n isLoggedIn(this.abortController)\r\n ? \r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"IFS\" ?\r\n \r\n : this.getLoader(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 isLoggedIn(this.abortController)\r\n ? \r\n\r\n {localStorage.getItem(Constants.localStorageConstants.company_name) === \"IFS\" ?\r\n \r\n : this.getLoader(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 i18n={this.props.i18n}\r\n />\r\n )}\r\n /> */}\r\n\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n (\r\n }\r\n i18n={this.props.i18n}\r\n />\r\n )}\r\n />\r\n \r\n isLoggedIn(this.abortController)\r\n ? \r\n : \r\n\r\n\r\n }\r\n />\r\n \r\n }\r\n \r\n\r\n \r\n\r\n );\r\n }\r\n componentWillUnmount() {\r\n //if (this.gridApi) this.gridApi.destroy();\r\n //if (this.channel) this.channel.close();\r\n if (this.abortController) this.abortController.abort();\r\n }\r\n}\r\n\r\nexport default withTranslation()(App);\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n // console.log(\n // 'This web app is being served cache-first by a service ' +\n // 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n // );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker === null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n // console.log(\n // 'New content is available and will be used when all ' +\n // 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n // );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n //console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType !== null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n // console.log(\n // 'No internet connection found. App is running in offline mode.'\n // );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from 'react-i18next'\r\n// import $ from 'jquery';\r\n// import translationEn from './locales/en/translationEn.json'\r\nimport translationPT from './locales/pt/translationPT.json'\r\n// import translationAr from './locales/ar/translationAr.json'\r\n\r\nimport * as OverrideLocals from './locales/LocalOverride.js'\r\n\r\n//the translations\r\nconst resources = {\r\n \r\n en: {\r\n translation: OverrideLocals.OverrideLocalEn()\r\n },\r\n pt: {\r\n translation: translationPT\r\n },\r\n ar: {\r\n translation: OverrideLocals.OverrideLocalAr()\r\n }\r\n};\r\n\r\n\r\nlet language = \"en\";\r\nif (localStorage.getItem(\"language\") !== null) {\r\n if (localStorage.getItem(\"language\") === \"ar\")\r\n language = \"ar\";\r\n else\r\n language = \"en\";\r\n}\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n resources,\r\n lng: language,\r\n keySeparator: false, // we do not use keys in form messages.welcome\r\n interpolation: {\r\n escapeValue: false //react already safes from xss\r\n }\r\n })\r\n\r\n\r\n\r\nexport default i18n;","import translationEn from './en/translationEn.json'\r\nimport translationAr from './ar/translationAr.json'\r\nimport * as Constants from \"../constants/Constants.js\";\r\n// import * as Helpers from \"../global/Helpers\";\r\n\r\nexport function OverrideLocalEn() {\r\n\r\n let local = translationEn;\r\n switch (localStorage.getItem(Constants.localStorageConstants.company_name)) {\r\n case \"IFS\":\r\n local[\"orderid\"] = \"Order ID\";\r\n local[\"closeprice\"] = \"Close price\";\r\n local[\"marketvaluePortfolio\"] = \"Market value\";\r\n local[\"mobileNo\"] = \"Mobile No (971xxxxxxxxxx)\";\r\n local[\"breakevenPrice\"] = \"Break-even\";\r\n local[\"UnUtilizedMarginAmount\"] = \"Utilized Margin Amount\";\r\n\r\n break;\r\n case \"UNITED\":\r\n local[\"WelcomeMessage\"] = \"Welcome to UNITED SECURITIES Online Trading Portal\";\r\n local[\"last\"] = \"Price\";\r\n local[\"qty\"] = \"Shares\";\r\n local[\"NAV\"] = \"Value\";\r\n local[\"breakevenPrice\"] = \"Breakeven price\";\r\n local[\"closeprice\"] = \"Close price\";\r\n local[\"marketvaluePortfolio\"] = \"Market value\";\r\n local[\"profitloss\"] = \"Profit/Loss\";\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"TradingNumber\"] = \"MSM Number\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n\r\n break;\r\n case \"GLOBAL\":\r\n local[\"WelcomeMessage\"] = \"Welcome to GLOBAL FINANCIAL SECURITIES Online Trading Portal\";\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"last\"] = \"Price\";\r\n local[\"qty\"] = \"Shares\";\r\n local[\"NAV\"] = \"Value\";\r\n local[\"breakevenPrice\"] = \"Breakeven price\";\r\n local[\"closeprice\"] = \"Close price\";\r\n local[\"marketvaluePortfolio\"] = \"Market value\";\r\n local[\"profitloss\"] = \"Profit/Loss\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n break;\r\n case \"ADCB\":\r\n local[\"WelcomeMessage\"] = \"Sign in to start trading online\";\r\n break;\r\n case \"ALRAMZ\":\r\n local[\"mobileNo\"] = \"Mobile No (971xxxxxxxxxx)\";\r\n break;\r\n case \"CIBC\":\r\n local[\"WelcomeMessage\"] = \"Welcome to Mahfazty\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"otp\"] = \"Enter Your Second Authentication.\";\r\n local[\"otpDesc\"] = \"second password\";\r\n local[\"validity\"] = \"Execution Type\";\r\n break;\r\n case \"FSC\":\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Verify\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n break;\r\n case \"UBHAR\":\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n break;\r\n case \"HORIZON\":\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n\r\n break;\r\n case \"AHLI\":\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n\r\n break;\r\n case \"Vision\":\r\n local[\"mobileNo\"] = \"Mobile No (968xxxxxxxxxx)\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"IPO_Authintication\"] = \"Sell IPO shares\";\r\n\r\n break;\r\n case \"SHARJAH\":\r\n local[\"ForgotPassword\"] = \"Reset password\";\r\n\r\n break;\r\n case \"PIONEERS\":\r\n local[\"WelcomeMessage\"] = \"Pioneers Securities E-Trade\";\r\n local[\"sendOtp\"] = \"Submit\";\r\n local[\"otp\"] = \"Enter Your Second Authentication.\";\r\n local[\"otpDesc\"] = \"second password\";\r\n local[\"bankName\"] = \"Deposit Bank\";\r\n local[\"bankAccountNo\"] = \"Account Number/IBAN\";\r\n local[\"branch\"] = \"Country/Branch\";\r\n local[\"Please_enter_OTP\"] = \"Please enter second password\";\r\n local[\"invalidOTP\"] = \"invalid second password\";\r\n local[\"closeprice\"] = \"Close price\";\r\n break;\r\n\r\n\r\n\r\n\r\n\r\n }\r\n return local;\r\n}\r\n\r\nexport function OverrideLocalAr() {\r\n let local = translationAr;\r\n switch (localStorage.getItem(Constants.localStorageConstants.company_name)) {\r\n case \"IFS\":\r\n local[\"orderid\"] = \"رقم الطلب\";\r\n local[\"mobileNo\"] = \"رقم الموبايل (971xxxxxxxxxx)\";\r\n break;\r\n case \"UNITED\":\r\n local[\"WelcomeMessage\"] = \"مرحباً بكم في موقع التداول الإلكتروني لشركة المتحدة للأوراق المالية\";\r\n local[\"last\"] = \"السعر\";\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n\r\n break;\r\n case \"GLOBAL\":\r\n local[\"WelcomeMessage\"] = \"مرحباً بكم في موقع التداول الإلكتروني لشركة الدولية للأوراق المالية\";\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"ADCB\":\r\n local[\"WelcomeMessage\"] = \"قم بتسجيل الدخول لبدء التداول عبر الإنترنت\";\r\n break;\r\n case \"ALRAMZ\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (971xxxxxxxxxx)\";\r\n break;\r\n case \"CIBC\":\r\n local[\"WelcomeMessage\"] = \"مرحبا بك في محفظتي\";\r\n local[\"otp\"] = \"كلمة المرور الثانية\";\r\n break;\r\n case \"FSC\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"UBHAR\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"HORIZON\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"AHLI\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"Vision\":\r\n local[\"mobileNo\"] = \"رقم الموبايل (968xxxxxxxxxx)\";\r\n local[\"IPO_Authintication\"] = \"بيع اسهم االاكتتاب\";\r\n break;\r\n case \"SHARJAH\":\r\n local[\"ForgotPassword\"] = \"تعيين كلمة المرور\";\r\n break;\r\n case \"PIONEERS\":\r\n local[\"otp\"] = \"كلمة المرور الثانية\";\r\n local[\"bankName\"] = \"البنك المحول اليه\";\r\n local[\"bankAccountNo\"] = \"رقم الحساب / IBAN المحول اليه\";\r\n local[\"branch\"] = \"الدولة/الفرع\";\r\n local[\"Please_enter_OTP\"] = \"يجب ادخال كلمة المرور الثانية\";\r\n local[\"invalidOTP\"] = \"كلمة المرور الثانية غير صحيحة\";\r\n\r\n break;\r\n\r\n }\r\n return local;\r\n}","import * as actions from \"./actionTypes\";\r\nimport * as Helpers from \"../global/Helpers\";\r\n\r\n\r\nlet isTickerVisibleInitial = Helpers.getIsTickerVisible();\r\nconst initialState = {\r\n\r\n connectionStatus: null,\r\n symbolSelected: null,\r\n orderTypeSelected: null,\r\n symbols: [],\r\n accounts: [],\r\n allAccounts: [],\r\n activeProfile: {\r\n ProfileID: null,\r\n ProfileName: null,\r\n ProfileNameAr: null,\r\n ProfileSettings: null,\r\n WebCode: null,\r\n WorkSpaceSettings: null,\r\n isLocked: false,\r\n isSearch: false,\r\n profileUniqueID: null,\r\n },\r\n orders: [],\r\n orderSelected: null,\r\n IsorderSelectedAgain: false,\r\n notificationCount: null,\r\n exchanges: [],\r\n isDarkMode: false,\r\n signalr_connection: null,\r\n symbolDetails: null,\r\n profileIdSelected: null,\r\n profiles: [],\r\n subscribedSymbols: [],\r\n subscribedSymbolsTicker: [],\r\n isSubscribedSymbolsChanged: false,\r\n isLoaderVisible: false,\r\n isNewWorkspaceLayout: false,\r\n isAlertDeleted: false,\r\n AlertDeleted: 0,\r\n SymbolDeleted: \"\",\r\n isConditionalOrderDeleted: false,\r\n config: null,\r\n isSidebarOpen: false,\r\n isTickerVisible: isTickerVisibleInitial, //binded intial value of redux to local storage\r\n symbolSelectedForLinkingTab: \"\",\r\n linkingColorAnyScreen: null,\r\n linkingTab: [],\r\n permData: null,\r\n isSidebarMenuOpen: true,\r\n isNewWorkspaceChartLayout: false,\r\n workspaceChartProfiles: [],\r\n workspaceChartAdvanceFocous: \"\",\r\n AdvanceSerachSymbol: \"\",\r\n SelectdProfiles: [],\r\n IsProfilesUpdated: false,\r\n ProfileList: [],\r\n Indexes: [],\r\n EnableExpandRow: false,\r\n refreashTimeSettings: [20, 20, 1, 1],\r\n numberofTradingSettings: [20, 20],\r\n BidPrice: \"\",\r\n BidVolume: \"\",\r\n OfferPrice: \"\",\r\n OfferVolume: \"\",\r\n BidPriceOrderPopUP: null,\r\n BidVolumeOrderPopUP: null,\r\n OfferPriceOrderPopUP: null,\r\n OfferVolumeOrderPopUP: null,\r\n SymbolTrades: [],\r\n MarketWatchDatafeed: \"\",\r\n mboDataFeed: \"\",\r\n mbpDataFeed: \"\",\r\n SymbolNewData: \"\",\r\n SymbolToBesubscribed: [],\r\n OrderIsUpdated: 0,\r\n ClientIDOrderIsUpdated: \"\",\r\n OrderDataFeed: null,\r\n defaultWorkspace: {\r\n ProfileID: null,\r\n ProfileName: null,\r\n ProfileNameAr: null,\r\n ProfileSettings: null,\r\n WebCode: null,\r\n isLocked: false,\r\n isSearch: false,\r\n profileUniqueID: null,\r\n },\r\n ActiveProfileForDefaultWorkspace: {\r\n ProfileID: null,\r\n ProfileName: null,\r\n ProfileNameAr: null,\r\n ProfileSettings: null,\r\n profileUniqueID: \"\",\r\n WebCode: null,\r\n isLocked: false,\r\n isSearch: false,\r\n profileUniqueID: null,\r\n },\r\n workSpaceLayoutsNumber: null,\r\n SymbolTSSubscrib: [],\r\n marketOverviewProfile: null,\r\n MarketTrades: [],\r\n selectedAccountFromPortfolioWorkspace: [],\r\n selectedSymbolFromPortfolio: null,\r\n Comp_IDFromPortfolio: null,\r\n PreferredSymbol: \"\",\r\n portfolioData: [],\r\n totalHoldingCost: 0,\r\n QtyFromPortfolio: {\r\n Symbol: \"\",\r\n Qty: 0,\r\n ClientID: \"\",\r\n Exchange: \"\",\r\n CustodianId: \"\"\r\n },\r\n //RowFromMW: null,\r\n isRowInMWClicked: 0,\r\n portfolioDataFirstReq: [],\r\n PreferredExchange: null,\r\n Settings: null,\r\n ActiveWorkspaceUniqueID: \"T\",\r\n AvgIndexes: [],\r\n EnableTradeTicker: false,\r\n EnableRoundTicker: false,\r\n PopulatedRiskManagement: false,\r\n IsMobileSize: false,\r\n lookups: [],\r\n SectorOfMarket: [],\r\n IDValidityResult: null,\r\n OrigenalExchanges: [],\r\n PreferredLangAcc: null,\r\n MainClientID_DefaultAcc: null,\r\n fromBasketOrder: false,\r\n updateFromBasketOrder: false,\r\n basketOrderObject: [],\r\n GroupName: [{ B_GroupName: \"Default Group\" }],\r\n //mustafa\r\n ObjectTradeMarket: { Symbol: \"\", BuyOrSell: \"\" },\r\n fromTradeMarket: false,\r\n SelectedAccountSummaries: null,\r\n SmartOrderObj: null \r\n};\r\n\r\nconst reducer = (state = initialState, action) => {\r\n const newState = { ...state };\r\n\r\n switch (action.type) {\r\n case actions.SYMBOL_CHANGED:\r\n newState.symbolSelected = action.payload.symbolSelected;\r\n newState.orderTypeSelected = action.payload.orderTypeSelected;\r\n newState.BidPriceOrderPopUP = action.payload.BidPriceOrderPopUP;\r\n newState.BidVolumeOrderPopUP = action.payload.BidVolumeOrderPopUP;\r\n newState.OfferPriceOrderPopUP = action.payload.OfferPriceOrderPopUP;\r\n newState.OfferVolumeOrderPopUP = action.payload.OfferVolumeOrderPopUP;\r\n newState.PopulatedRiskManagement = action.payload.PopulatedRiskManagement;\r\n break;\r\n case actions.GET_SYMBOLS:\r\n let newState1 = Object.assign({}, state);\r\n newState1.symbols = action.payload.symbols;\r\n return newState1;\r\n break;\r\n case actions.GET_ACCOUNTS:\r\n\r\n state = {\r\n ...state,\r\n accounts: action.payload.accounts,\r\n allAccounts: action.payload.allAccounts,\r\n };\r\n return state;\r\n case actions.SET_ACTIVE_PROFILE:\r\n newState.activeProfile = action.payload.activeProfile;\r\n break;\r\n case actions.GET_ORDERS:\r\n state = {\r\n ...state,\r\n orders: action.payload.orders,\r\n };\r\n return state;\r\n case actions.APPEND_ORDERS:\r\n let oldorders = state.orders;\r\n let NewOrder = [action.payload.appendOrder];\r\n\r\n let checkofOrderExist = oldorders.filter(\r\n (ord) => ord.OrderID === NewOrder[0].OrderID\r\n );\r\n if (checkofOrderExist.length > 0 && checkofOrderExist !== null) {\r\n let NewOrders = oldorders.map(\r\n (ex) => NewOrder.find((e) => e.OrderID === ex.OrderID) || ex\r\n );\r\n state = {\r\n ...state,\r\n orders: NewOrders,\r\n };\r\n return state;\r\n }\r\n state = {\r\n ...state,\r\n orders: [...state.orders, action.payload.appendOrder],\r\n };\r\n return state;\r\n case actions.GET_SIGNALR:\r\n state = {\r\n ...state,\r\n signalr_connection: action.payload.signalr_connection,\r\n };\r\n return state;\r\n case actions.SELECT_ORDER:\r\n state = {\r\n ...state,\r\n orderSelected: action.payload.orderSelected,\r\n IsorderSelectedAgain: true,\r\n };\r\n return state;\r\n case actions.SET_ORDER_SELECTED_FALSE:\r\n state = {\r\n ...state,\r\n IsorderSelectedAgain: false,\r\n };\r\n return state;\r\n case actions.SET_NOTIFICATION_COUNT:\r\n newState.notificationCount = action.payload.notificationCount;\r\n break;\r\n case actions.DECREMENT_NOTIFICATION_COUNT:\r\n newState.notificationCount = newState.notificationCount - 1;\r\n break;\r\n case actions.INCREMENT_NOTIFICATION_COUNT:\r\n newState.notificationCount = newState.notificationCount + 1;\r\n break;\r\n case actions.GET_EXCHANGES:\r\n state = {\r\n ...state,\r\n exchanges: action.payload.exchanges,\r\n };\r\n return state;\r\n case actions.GET_INDEXES:\r\n state = {\r\n ...state,\r\n Indexes: action.payload.Indexes,\r\n };\r\n return state;\r\n case actions.GET_EXCHANGES_UPDATE:\r\n let oldexchange = state.exchanges;\r\n\r\n if (\r\n oldexchange !== null &&\r\n oldexchange.length !== 0 &&\r\n (action.payload.exchangesUpdate !== null) &\r\n (action.payload.exchangesUpdate !== undefined) &&\r\n action.payload.exchangesUpdate.length > 0\r\n ) {\r\n let Newexchange = oldexchange.map(\r\n (ex) =>\r\n action.payload.exchangesUpdate.find(\r\n (e) => e.ExchangeID === ex.ExchangeID\r\n ) || ex\r\n );\r\n if (Newexchange !== null && Newexchange.length > 0) {\r\n if (!Newexchange[0].hasOwnProperty(\"ExchangeNameE\")) {\r\n var result = Newexchange.map((el) => {\r\n var o = Object.assign({}, el);\r\n o.ExchangeNameE = el.NameE;\r\n o.ExchangeNameA = el.NameA;\r\n return o;\r\n });\r\n Newexchange = result;\r\n }\r\n if (!Newexchange[0].hasOwnProperty(\"EquityTransferComm\")) {\r\n var result = Newexchange.map((el) => {\r\n var o = Object.assign({}, el);\r\n o.EquityTransferComm =\r\n oldexchange.filter((old) => old.ExchangeID == el.ExchangeID)[0][\r\n \"EquityTransferComm\"\r\n ] ?? 0;\r\n return o;\r\n });\r\n Newexchange = result;\r\n }\r\n\r\n if (!Newexchange[0].hasOwnProperty(\"IndexAvailable\")) {\r\n var result = Newexchange.map((el) => {\r\n var o = Object.assign({}, el);\r\n o.IndexAvailable =\r\n oldexchange.filter((old) => old.ExchangeID == el.ExchangeID)[0][\r\n \"IndexAvailable\"\r\n ] ?? 0;\r\n return o;\r\n });\r\n Newexchange = result;\r\n }\r\n\r\n\r\n // if (!Newexchange[0].hasOwnProperty(\"ORDER_INDEX\")) {\r\n // var result = Newexchange.map((el) => {\r\n // var o = Object.assign({}, el);\r\n // o.ORDER_INDEX = oldexchange.filter((old) => (old.ExchangeID == el.ExchangeID))[0][\"ORDER_INDEX\"] ?? 0;\r\n // return o;\r\n // })\r\n // Newexchange = result;\r\n // }\r\n // if (!Newexchange[0].hasOwnProperty(\"EquityTransferComm\") || !Newexchange[0].hasOwnProperty(\"ConfirmMessage\") || !Newexchange[0].hasOwnProperty(\"ConfirmMessageAR\") ) {\r\n // var result = Newexchange.map((el) => {\r\n // var o = Object.assign({}, el);\r\n // o.EquityTransferComm = oldexchange.filter((old) => (old.ExchangeID == el.ExchangeID))[0][\"EquityTransferComm\"] ?? 0;\r\n // o.ConfirmMessage = oldexchange.filter((old) => (old.ExchangeID == el.ExchangeID))[0][\"ConfirmMessage\"] ?? \"\";\r\n // o.ConfirmMessageAR = oldexchange.filter((old) => (old.ExchangeID == el.ExchangeID))[0][\"ConfirmMessageAR\"] ?? \"\";\r\n // return o;\r\n // })\r\n // Newexchange = result;\r\n // }\r\n }\r\n //console.log(\"NewexchangeRedux\", Newexchange)\r\n state = {\r\n ...state,\r\n exchanges: Newexchange,\r\n };\r\n }\r\n return state;\r\n case actions.SET_DARK_MODE:\r\n newState.isDarkMode = action.payload.isDarkMode;\r\n break;\r\n case actions.SET_SYMBOL_DETAILS:\r\n state = {\r\n ...state,\r\n symbolDetails: action.payload.symbolDetails,\r\n };\r\n return state;\r\n case actions.SET_PROFILE_ID_SELECTED:\r\n state = {\r\n ...state,\r\n profileIdSelected: action.payload.profileIdSelected,\r\n };\r\n return state;\r\n case actions.SET_PROFILES:\r\n state = {\r\n ...state,\r\n profiles: action.payload.profiles,\r\n };\r\n return state;\r\n case actions.SET_PERM_DATA:\r\n state = {\r\n ...state,\r\n permData: action.payload.permData,\r\n };\r\n return state;\r\n case actions.SET_SUBSCRIBED_SYMBOLS:\r\n state = {\r\n ...state,\r\n subscribedSymbols: action.payload.subscribedSymbols,\r\n };\r\n return state;\r\n case actions.SET_IS_SUBSCRIBED_SYMBOLS_CHANGED:\r\n state = {\r\n ...state,\r\n isSubscribedSymbolsChanged: action.payload.isSubscribedSymbolsChanged,\r\n };\r\n return state;\r\n case actions.SET_IS_LOADER_VISIBLE:\r\n state = {\r\n ...state,\r\n isLoaderVisible: action.payload.isLoaderVisible,\r\n };\r\n return state;\r\n case actions.SET_IS_NEW_WORKSPACE_LAYOUT:\r\n state = {\r\n ...state,\r\n isNewWorkspaceLayout: action.payload.isNewWorkspaceLayout,\r\n };\r\n return state;\r\n case actions.SET_IS_ALERT_DELETED:\r\n state = {\r\n ...state,\r\n isAlertDeleted: action.payload.isAlertDeleted,\r\n AlertDeleted: action.payload.AlertDeleted,\r\n SymbolDeleted: action.payload.SymbolDeleted,\r\n };\r\n return state;\r\n case actions.SET_IS_CONDITIONAL_ORDER_DELETED:\r\n state = {\r\n ...state,\r\n isConditionalOrderDeleted: action.payload.isConditionalOrderDeleted,\r\n };\r\n return state;\r\n case actions.SET_CONFIG:\r\n state = {\r\n ...state,\r\n config: action.payload.config,\r\n };\r\n return state;\r\n case actions.SET_IS_SIDEBAR_OPEN:\r\n state = {\r\n ...state,\r\n isSidebarOpen: action.payload.isSidebarOpen,\r\n };\r\n return state;\r\n case actions.SET_IS_TICKER_VISIBLE:\r\n state = {\r\n ...state,\r\n isTickerVisible: action.payload.isTickerVisible,\r\n };\r\n return state;\r\n case actions.LINKING_TAP:\r\n newState.symbolSelectedForLinkingTab =\r\n action.payload.symbolSelectedForLinkingTab;\r\n newState.ColorFromAgGrideContainer =\r\n action.payload.ColorFromAgGrideContainer;\r\n newState.BidPrice = action.payload.BidPrice;\r\n newState.BidVolume = action.payload.BidVolume;\r\n newState.OfferPrice = action.payload.OfferPrice;\r\n newState.OfferVolume = action.payload.OfferVolume;\r\n state.ColorFromAgGrideContainer =\r\n action.payload.ColorFromAgGrideContainer;\r\n state.symbolSelectedForLinkingTab =\r\n action.payload.symbolSelectedForLinkingTab;\r\n state.BidPrice = action.payload.BidPrice;\r\n state.BidVolume = action.payload.BidVolume;\r\n state.OfferPrice = action.payload.OfferPrice;\r\n state.OfferVolume = action.payload.OfferVolume;\r\n break;\r\n\r\n case actions.LINKING_ALL_TAPS_OPEN:\r\n if (\r\n action.payload.allTabWithColor !== undefined &&\r\n action.payload.allTabWithColor !== null &&\r\n action.payload.allTabWithColor !== \"\"\r\n ) {\r\n state = {\r\n ...state,\r\n linkingTab: action.payload.allTabWithColor,\r\n };\r\n }\r\n return state;\r\n case actions.SET_ADVANCE_SEARCH_SYMBOL:\r\n if (\r\n action.payload.Symbol !== undefined &&\r\n action.payload.Symbol !== null &&\r\n action.payload.Symbol !== \"\"\r\n ) {\r\n state = {\r\n ...state,\r\n AdvanceSerachSymbol: action.payload.Symbol,\r\n };\r\n }\r\n return state;\r\n\r\n case actions.CLOSE_BTN:\r\n state = {\r\n ...state,\r\n isOpen: action.isOpen,\r\n };\r\n return state;\r\n case actions.SET_IS_SIDEBAR_MENU_OPEN:\r\n state = {\r\n ...state,\r\n isSidebarMenuOpen: action.payload.isSidebarMenuOpen,\r\n };\r\n return state;\r\n case actions.SET_IS_NEW_WORKSPACE_CHART_LAYOUT:\r\n state = {\r\n ...state,\r\n isNewWorkspaceChartLayout: action.payload.isNewWorkspaceChartLayout,\r\n };\r\n return state;\r\n\r\n case actions.WORKSPACE_CHART_PROFILES:\r\n state = {\r\n ...state,\r\n workspaceChartProfiles: action.payload.workspaceChartProfiles,\r\n };\r\n return state;\r\n case actions.SET_IS_NEW_WORKSPACE_CHART_ADVANCE_FOCOUS:\r\n state = {\r\n ...state,\r\n workspaceChartAdvanceFocous: action.payload.workspaceChartAdvanceFocous,\r\n };\r\n return state;\r\n case actions.IS_PROFILES_UPDATED:\r\n state = {\r\n ...state,\r\n IsProfilesUpdated: action.payload.IsProfilesUpdated,\r\n };\r\n return state;\r\n case actions.IS_ADD_DELETE_PROFILE:\r\n state = {\r\n ...state,\r\n IsAddOrDeleteProfile: action.payload.IsAddOrDeleteProfile,\r\n };\r\n return state;\r\n case actions.UPDATE_ENABLE_EXPAND_ROW:\r\n state = {\r\n ...state,\r\n EnableExpandRow: action.payload.EnableExpandRow,\r\n };\r\n return state;\r\n case actions.UPDATE_RFREASH_TIME_SETTINGS:\r\n state = {\r\n ...state,\r\n refreashTimeSettings: action.payload.refreashTimeSettings,\r\n };\r\n return state;\r\n case actions.UPDATE_NUM_OF_TRADING:\r\n state = {\r\n ...state,\r\n numberofTradingSettings: action.payload.numberofTradingSettings,\r\n };\r\n return state;\r\n case actions.MARKET_WATCH_UPDATE:\r\n state = {\r\n ...state,\r\n MarketWatchDatafeed: action.payload.MarketWatchDatafeed,\r\n };\r\n return state;\r\n case actions.MARKET_DEPTH_UPDATE:\r\n state = {\r\n ...state,\r\n SymbolNewData: action.payload.SymbolNewData,\r\n mboDataFeed: action.payload.mboDataFeed,\r\n mbpDataFeed: action.payload.mbpDataFeed,\r\n };\r\n return state;\r\n case actions.SET_SUBSCRIBED_SYMBOLS_TICKER:\r\n state = {\r\n ...state,\r\n subscribedSymbolsTicker: action.payload.subscribedSymbolsTicker,\r\n };\r\n return state;\r\n case actions.ORDER_IS_UPDATED:\r\n //\r\n state = {\r\n ...state,\r\n OrderIsUpdated: action.payload.OrderIsUpdated,\r\n ClientIDOrderIsUpdated: action.payload.ClientIDOrderIsUpdated,\r\n };\r\n return state;\r\n case actions.ORDER_LIST_DATAFEED:\r\n state = {\r\n ...state,\r\n OrderDataFeed: action.payload.OrderDataFeed,\r\n };\r\n return state;\r\n case actions.SET_SYMBOLS_TO_SUBSCRIBED:\r\n let SymbolToBesubscribed = state.SymbolToBesubscribed;\r\n if (\r\n SymbolToBesubscribed !== null &&\r\n SymbolToBesubscribed.length > 0\r\n ) {\r\n let filterSymbolToBesubscribed = SymbolToBesubscribed.filter(\r\n (sss) => sss.ScreenID === action.payload.ScreenID\r\n );\r\n if (filterSymbolToBesubscribed.length > 0) {\r\n let symbols = {\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n };\r\n var foundIndex = SymbolToBesubscribed.findIndex(\r\n (x) => x.ScreenID == symbols.ScreenID\r\n );\r\n SymbolToBesubscribed[foundIndex] = symbols;\r\n } else {\r\n SymbolToBesubscribed.push({\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n });\r\n }\r\n } else {\r\n SymbolToBesubscribed.push({\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n });\r\n }\r\n state = {\r\n ...state,\r\n SymbolToBesubscribed: SymbolToBesubscribed,\r\n };\r\n return state;\r\n case actions.SYMBOL_TIME_SALE_SUB:\r\n let SymbolTSSubscrib = state.SymbolTSSubscrib;\r\n if (\r\n SymbolTSSubscrib !== null &&\r\n SymbolTSSubscrib.length > 0\r\n ) {\r\n let filterSymbolTSSubscrib = SymbolTSSubscrib.filter(\r\n (sss) => sss.ScreenID === action.payload.ScreenID\r\n );\r\n if (filterSymbolTSSubscrib.length > 0) {\r\n let symbols = {\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n };\r\n var foundIndex = SymbolTSSubscrib.findIndex(\r\n (x) => x.ScreenID == symbols.ScreenID\r\n );\r\n SymbolTSSubscrib[foundIndex] = symbols;\r\n } else {\r\n SymbolTSSubscrib.push({\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n });\r\n }\r\n } else {\r\n SymbolTSSubscrib.push({\r\n ScreenID: action.payload.ScreenID,\r\n Symbol: action.payload.Symbol,\r\n });\r\n }\r\n state = {\r\n ...state,\r\n SymbolTSSubscrib: SymbolTSSubscrib,\r\n };\r\n return state;\r\n case actions.UPDATE_SYMBOL_TIME_SALE_SUB:\r\n let UpdateSymbolTSSubscrib = action.payload.SymbolTSSubscrib;\r\n\r\n state = {\r\n ...state,\r\n SymbolTSSubscrib: UpdateSymbolTSSubscrib,\r\n };\r\n return state;\r\n case actions.SYMBOL_TRADES_DATAFEED:\r\n let OldDataFeed = state.SymbolTrades.filter(\r\n (trades) => trades.Symbol !== action.payload.Symbol\r\n );\r\n let Trades = OldDataFeed;\r\n Trades = [...action.payload.SymbolTrades];\r\n state = {\r\n ...state,\r\n SymbolTrades: Trades,\r\n };\r\n return state;\r\n case actions.UPDATE_SELECTED_PROFILE:\r\n let SelectdProfiles = state.SelectdProfiles;\r\n let IsProfilesUpdated = false;\r\n if (\r\n SelectdProfiles !== null &&\r\n SelectdProfiles.length > 0\r\n ) {\r\n let filterprofiles = SelectdProfiles.filter(\r\n (SelectdProfiles) =>\r\n SelectdProfiles.ScreenProfileID === action.payload.ScreenID\r\n );\r\n if (filterprofiles.length > 0) {\r\n let profile = {\r\n ProfileID: action.payload.ProfileID,\r\n ScreenProfileID: action.payload.ScreenID,\r\n };\r\n var foundIndex = SelectdProfiles.findIndex(\r\n (x) => x.ScreenProfileID == profile.ScreenProfileID\r\n );\r\n SelectdProfiles[foundIndex] = profile;\r\n } else {\r\n let profile = {\r\n ProfileID: action.payload.ProfileID,\r\n ScreenProfileID: action.payload.ScreenID,\r\n };\r\n SelectdProfiles.push(profile);\r\n }\r\n IsProfilesUpdated = true;\r\n } else {\r\n let profile = {\r\n ProfileID: action.payload.ProfileID,\r\n ScreenProfileID: action.payload.ScreenID,\r\n };\r\n SelectdProfiles.push(profile);\r\n IsProfilesUpdated = true;\r\n }\r\n state = {\r\n ...state,\r\n SelectdProfiles: SelectdProfiles,\r\n IsProfilesUpdated: IsProfilesUpdated,\r\n };\r\n return state;\r\n case actions.SET_DEFAULT_WORKSPACE:\r\n state = {\r\n ...state,\r\n defaultWorkspace: action.payload.defaultWorkspace,\r\n };\r\n return state;\r\n case actions.SET_WORKSPACE_LAYOUTS_NUMBER:\r\n newState.workSpaceLayoutsNumber = action.payload.workSpaceLayoutsNumber;\r\n break;\r\n\r\n case actions.SET_ACTIVE_PROFILE_FOR_DEFAULT_WORKSPACE:\r\n state = {\r\n ...state,\r\n ActiveProfileForDefaultWorkspace:\r\n action.payload.ActiveProfileForDefaultWorkspace,\r\n };\r\n return state;\r\n case actions.SET_MAEKET_FOR_MARKET_OVER_VIEW_PROFILE:\r\n newState.marketOverviewProfile = action.payload.marketOverviewProfile;\r\n break;\r\n case actions.MARKET_TRADES:\r\n let OldDataFeedMarket = state.MarketTrades.filter(\r\n (trades) => trades.Exchange !== action.payload.Market\r\n );\r\n let MarketTrades = OldDataFeedMarket;\r\n MarketTrades = [...action.payload.MarketTrades];\r\n state = {\r\n ...state,\r\n MarketTrades: MarketTrades,\r\n };\r\n return state;\r\n case actions.SELECTED_ACCOUNT_FROM_PORTFOLIO_WORKSPACE:\r\n newState.selectedAccountFromPortfolioWorkspace =\r\n action.payload.selectedAccountFromPortfolioWorkspace;\r\n break;\r\n case actions.SET_SELECT_SYMBOL_FROM_PORTFOLIO:\r\n newState.selectedSymbolFromPortfolio =\r\n action.payload.selectedSymbolFromPortfolio;\r\n newState.Comp_IDFromPortfolio = action.payload.Comp_IDFromPortfolio;\r\n break;\r\n case actions.SELECT_PREFERRED_SYMBOL:\r\n state = {\r\n ...state,\r\n PreferredSymbol: action.payload.PreferredSymbol,\r\n };\r\n return state;\r\n\r\n case actions.SYBMOL_QTY_TO_SELL:\r\n state = {\r\n ...state,\r\n QtyFromPortfolio: {\r\n ...state.QtyFromPortfolio,\r\n Symbol: action.payload.Symbol,\r\n Qty: action.payload.Qty,\r\n ClientID: action.payload.ClientID,\r\n Exchange: action.payload.Exchange,\r\n CustodianId: action.payload.CustodianId,\r\n },\r\n };\r\n return state;\r\n case actions.SET_PORTFOLIO_Data:\r\n state = {\r\n ...state,\r\n portfolioData: action.payload.portfolioData,\r\n totalHoldingCost: action.payload.totalHoldingCost,\r\n };\r\n return state;\r\n // case actions.selected_Row_From_MW:\r\n // //\r\n // state = {\r\n // ...state,\r\n // RowFromMW: action.payload.RowFromMW,\r\n // };\r\n // return state;\r\n case actions.IS_Row_In_MW_Clicked:\r\n state = {\r\n ...state,\r\n isRowInMWClicked: action.payload.isRowInMWClicked,\r\n };\r\n return state;\r\n case actions.PORTFOLIO_FIRST_REQUEST:\r\n state = {\r\n ...state,\r\n portfolioDataFirstReq: action.payload.portfolioDataFirstReq,\r\n };\r\n return state;\r\n case actions.CHECK_CONNECTION:\r\n state = {\r\n ...state,\r\n connectionStatus: action.payload.connectionStatus,\r\n };\r\n return state;\r\n\r\n case actions.SELECT_PREFERRED_EXCHANGE:\r\n state = {\r\n ...state,\r\n PreferredExchange: action.payload.PreferredExchange,\r\n };\r\n return state;\r\n case actions.USER_SETTINGS:\r\n state = {\r\n ...state,\r\n Settings: action.payload.Settings,\r\n };\r\n return state;\r\n case actions.USER_SETTINGS:\r\n state = {\r\n ...state,\r\n Settings: action.payload.Settings,\r\n };\r\n return state;\r\n case actions.AVG_INDEXES:\r\n state = {\r\n ...state,\r\n AvgIndexes: action.payload.AvgIndexes,\r\n };\r\n return state;\r\n case actions.ENABLE_TRADE_TICKER:\r\n state = {\r\n ...state,\r\n EnableTradeTicker: action.payload.EnableTradeTicker,\r\n };\r\n return state;\r\n case actions.ENABLE_ROUND_TICKER:\r\n state = {\r\n ...state,\r\n EnableRoundTicker: action.payload.EnableRoundTicker,\r\n };\r\n return state;\r\n case actions.Is_Mobile_Size:\r\n state = {\r\n ...state,\r\n IsMobileSize: action.payload.IsMobileSize,\r\n };\r\n case actions.GET_LOOKUPS:\r\n\r\n state = {\r\n ...state,\r\n lookups: action.payload.lookups,\r\n };\r\n return state;\r\n case actions.GET_SectorOfMarket:\r\n state = {\r\n ...state,\r\n SectorOfMarket: action.payload.SectorOfMarket,\r\n };\r\n return state;\r\n case actions.Active_Workspace_UniqueID:\r\n\r\n state = {\r\n ...state,\r\n ActiveWorkspaceUniqueID: action.payload.ActiveWorkspaceUniqueID,\r\n };\r\n return state;\r\n case actions.get_ID_Validity_Result:\r\n state = {\r\n ...state,\r\n IDValidityResult: action.payload.IDValidityResult,\r\n };\r\n return state;\r\n case actions.GET_ExchangesOriginal:\r\n state = {\r\n ...state,\r\n OrigenalExchanges: action.payload.OrigenalExchanges,\r\n };\r\n return state;\r\n case actions.get_BasketOrder:\r\n state = {\r\n ...state,\r\n fromBasketOrder: action.payload.fromBasketOrder,\r\n };\r\n return state;\r\n case actions.get_updateFromBasketOrder:\r\n state = {\r\n ...state,\r\n updateFromBasketOrder: action.payload.updateFromBasketOrder,\r\n };\r\n return state;\r\n case actions.get_basketOrderObject:\r\n state = {\r\n ...state,\r\n basketOrderObject: action.payload.basketOrderObject,\r\n };\r\n return state;\r\n case actions.get_GroupName:\r\n state = {\r\n ...state,\r\n GroupName: action.payload.GroupName,\r\n };\r\n return state;\r\n case actions.Get_Default_AccountInfo:\r\n state = {\r\n ...state,\r\n PreferredLangAcc: action.payload.PreferredLangAcc,\r\n MainClientID_DefaultAcc: action.payload.MainClientID_DefaultAcc,\r\n };\r\n return state;\r\n case actions.GET_EXCHANGES_UPDATE_EnableTags:\r\n\r\n return Helpers.ExchangesUpdateEnableTagValue(state, action.payload.exchangesUpdate, true)\r\n // let oldexchangeArr = state.OrigenalExchanges\r\n\r\n // if (\r\n // oldexchangeArr !== null &&\r\n // oldexchangeArr !== [] &&\r\n // (action.payload.exchangesUpdate !== null) &\r\n // (action.payload.exchangesUpdate !== []) &\r\n // (action.payload.exchangesUpdate !== undefined) &&\r\n // action.payload.exchangesUpdate.length === undefined\r\n // ) {\r\n // \r\n // var list2 = []\r\n // let oldExchange = oldexchangeArr.find((e) => e.ExchangeID === action.payload.exchangesUpdate.ExchangeID);\r\n\r\n // if (oldExchange !== undefined && oldExchange !== null) {\r\n // var keysOfNewData = Object.keys(action.payload.exchangesUpdate);\r\n // keysOfNewData.forEach(key => {\r\n // if (key !== \"ExchangeID\")\r\n // oldExchange[key] = action.payload.exchangesUpdate[key];\r\n // });\r\n // list2.push(oldExchange);\r\n // oldexchangeArr.map(obj => list2.find(o => o.ExchangeID === obj.ExchangeID) || obj);\r\n // console.log(\"rajaa\", oldexchangeArr)\r\n // state = {\r\n // ...state,\r\n // exchanges: oldexchangeArr,\r\n // };\r\n // return state;\r\n // }\r\n\r\n // }\r\n // else if (\r\n // oldexchangeArr !== null &&\r\n // oldexchangeArr !== [] &&\r\n // (action.payload.exchangesUpdate !== null) &\r\n // (action.payload.exchangesUpdate !== []) &\r\n // (action.payload.exchangesUpdate !== undefined) &&\r\n // action.payload.exchangesUpdate.length > 0\r\n // ) {\r\n // let Newexchange = oldexchangeArr.map(\r\n // (ex) =>\r\n // action.payload.exchangesUpdate.find(\r\n // (e) => e.ExchangeID === ex.ExchangeID\r\n // ) || ex\r\n // );\r\n // }\r\n // return state;\r\n //mustafa\r\n case actions.Get_TradeMarket_Object:\r\n state = {\r\n ...state,\r\n ObjectTradeMarket: action.payload.ObjectTradeMarket,\r\n };\r\n return state;\r\n //mustafa\r\n case actions.From_TradeMarket:\r\n state = {\r\n ...state,\r\n fromTradeMarket: action.payload.fromTradeMarket,\r\n };\r\n return state;\r\n case actions.Selected_Account_Summaries:\r\n newState.SelectedAccountSummaries = action.payload.SelectedAccountSummaries;\r\n break;\r\n case actions.SMART_ORDER_OBJECT:\r\n \r\n state = {\r\n ...state,\r\n SmartOrderObj: action.payload.SmartOrderObj\r\n };\r\n return state;\r\n default:\r\n break;\r\n }\r\n return newState;\r\n};\r\n\r\nexport default reducer;\r\n","import { createStore } from \"redux\";\r\nimport reducer from \"./reducer\";\r\n\r\nconst store = createStore(reducer);\r\n\r\nexport default store;","//import './wdyr'; // <--- first import\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport './index.css?ver=1';\nimport App from './App?ver=1';\nimport * as serviceWorker from './serviceWorker';\nimport { BrowserRouter } from 'react-router-dom';\nimport { I18nextProvider } from \"react-i18next\";\nimport i18n from \"./i18n\";\nimport * as AppUrls from \"./constants/AppUrls\";\n\n/* import './assets/fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf' */\n\nimport \"./i18n\";\nimport { Provider } from 'react-redux';\nimport store from \"./store/store\";\n\n\n\n\nconst app = (\n \n \n \n \n \n \n \n);\n\nReactDOM.render(\n app,\n document.getElementById('root')\n);\n\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"Chart3_first__3KgLp\",\"second\":\"Chart3_second__1NcCF\",\"third\":\"Chart3_third__3eZWS\",\"four\":\"Chart3_four__lb0Ag\",\"five\":\"Chart3_five__2x4sa\"};","export const SYMBOL_CHANGED = \"SYMBOL_CHANGED\";\r\nexport const GET_SYMBOLS = \"GET_SYMBOLS\";\r\nexport const GET_ORDERS = \"GET_ORDERS\";\r\nexport const APPEND_ORDERS = \"APPEND_ORDERS\";\r\nexport const GET_ACCOUNTS = \"GET_ACCOUNTS\";\r\nexport const SET_ACTIVE_PROFILE = \"SET_ACTIVE_PROFILE\";\r\nexport const SELECT_ORDER = \"SELECT_ORDER\";\r\nexport const SET_NOTIFICATION_COUNT = \"SET_NOTIFICATION_COUNT\";\r\nexport const DECREMENT_NOTIFICATION_COUNT = \"DECREMENT_NOTIFICATION_COUNT\";\r\nexport const INCREMENT_NOTIFICATION_COUNT = \"INCREMENT_NOTIFICATION_COUNT\";\r\nexport const GET_EXCHANGES = \"GET_EXCHANGES\";\r\nexport const GET_ExchangesOriginal = \"GET_ExchangesOriginal\";\r\nexport const SET_DARK_MODE = \"SET_DARK_MODE\";\r\nexport const GET_SIGNALR = \"GET_SIGNALR\";\r\nexport const SET_SYMBOL_DETAILS = \"SET_SYMBOL_DETAILS\";\r\nexport const SET_PROFILES = \"SET_PROFILES\";\r\nexport const SET_PROFILE_ID_SELECTED = \"SET_PROFILE_ID_SELECTED\";\r\nexport const SET_SUBSCRIBED_SYMBOLS = \"SET_SUBSCRIBED_SYMBOLS\";\r\nexport const SET_IS_SUBSCRIBED_SYMBOLS_CHANGED = \"SET_IS_SUBSCRIBED_SYMBOLS_CHANGED\";\r\nexport const SET_IS_LOADER_VISIBLE = \"SET_IS_LOADER_VISIBLE\";\r\nexport const SET_IS_NEW_WORKSPACE_LAYOUT = \"SET_IS_NEW_WORKSPACE_LAYOUT\";\r\nexport const SET_IS_ALERT_DELETED = \"SET_IS_ALERT_DELETED\";\r\nexport const SET_IS_CONDITIONAL_ORDER_DELETED = \"SET_IS_CONDITIONAL_ORDER_DELETED\";\r\nexport const SET_CONFIG = \"SET_CONFIG\";\r\nexport const SET_IS_SIDEBAR_OPEN = \"SET_IS_SIDEBAR_OPEN\";\r\nexport const SET_IS_TICKER_VISIBLE = \"SET_IS_TICKER_VISIBLE\";\r\nexport const LINKING_TAP = \"LINKING_TAP\";\r\nexport const LINKING_ALL_TAPS_OPEN = \"LINKING_ALL_TAPS_OPEN\";\r\nexport const CLOSE_BTN = \"CLOSE_BTN\";\r\nexport const SET_PERM_DATA = \"SET_PERM_DATA\";\r\nexport const SET_IS_SIDEBAR_MENU_OPEN = \"SET_IS_SIDEBAR_MENU_OPEN\";\r\nexport const SET_IS_NEW_WORKSPACE_CHART_LAYOUT = \"SET_IS_NEW_WORKSPACE_CHART_LAYOUT\";\r\nexport const WORKSPACE_CHART_PROFILES = \"WORKSPACE_CHART_PROFILES\";\r\nexport const SET_IS_NEW_WORKSPACE_CHART_ADVANCE_FOCOUS = \"SET_IS_NEW_WORKSPACE_CHART_ADVANCE_FOCOUS\";\r\nexport const SET_ADVANCE_SEARCH_SYMBOL = \"SET_ADVANCE_SEARCH_SYMBOL\";\r\nexport const GET_EXCHANGES_UPDATE = \"GET_EXCHANGES_UPDATE\";\r\nexport const UPDATE_SELECTED_PROFILE = \"UPDATE_SELECTED_PROFILE\";\r\nexport const UPDATE_PROFILE_LIST = \"UPDATE_PROFILE_LIST\";\r\nexport const IS_PROFILES_UPDATED = \"IS_PROFILES_UPDATED\";\r\nexport const IS_ADD_DELETE_PROFILE = \"IS_ADD_DELETE_PROFILE\";\r\nexport const GET_INDEXES = \"GET_INDEXES\";\r\nexport const UPDATE_ENABLE_EXPAND_ROW = \"UPDATE_ENABLE_EXPAND_ROW\";\r\nexport const UPDATE_RFREASH_TIME_SETTINGS = \"UPDATE_RFREASH_TIME_SETTINGS\";\r\nexport const UPDATE_NUM_OF_TRADING = \"UPDATE_NUM_OF_TRADING\";\r\nexport const SYMBOL_TRADES_DATAFEED = \"SYMBOL_TRADES_DATAFEED\";\r\nexport const MARKET_WATCH_UPDATE = \"MARKET_WATCH_UPDATE\";\r\nexport const MARKET_DEPTH_UPDATE = \"MARKET_DEPTH_UPDATE\";\r\nexport const SET_SUBSCRIBED_SYMBOLS_TICKER = \"SET_SUBSCRIBED_SYMBOLS_TICKER\";\r\nexport const SET_SYMBOLS_TO_SUBSCRIBED = \"SET_SYMBOLS_TO_SUBSCRIBED\";\r\nexport const ORDER_IS_UPDATED = \"ORDER_IS_UPDATED\";\r\nexport const ORDER_LIST_DATAFEED = \"ORDER_LIST_DATAFEED\";\r\nexport const SET_DEFAULT_WORKSPACE = \"SET_DEFAULT_WORKSPACE\";\r\nexport const SET_WORKSPACE_LAYOUTS_NUMBER = \"SET_WORKSPACE_LAYOUTS_NUMBER\";\r\nexport const SET_ACTIVE_PROFILE_FOR_DEFAULT_WORKSPACE = \"SET_ACTIVE_PROFILE_FOR_DEFAULT_WORKSPACE\";\r\nexport const SET_ORDER_SELECTED_FALSE = \"SET_ORDER_SELECTED_FALSE\";\r\nexport const SYMBOL_TIME_SALE_SUB = \"SYMBOL_TIME_SALE_SUB\";\r\nexport const SYMBOL_MARKET_DEPTH_SUB = \"SYMBOL_TIME_SALE_SUB\";\r\nexport const UPDATE_SYMBOL_TIME_SALE_SUB = \"UPDATE_SYMBOL_TIME_SALE_SUB\";\r\nexport const SET_MAEKET_FOR_MARKET_OVER_VIEW_PROFILE = \"SET_MAEKET_FOR_MARKET_OVER_VIEW_PROFILE\";\r\nexport const MARKET_TRADES = \"MARKET_TRADES\";\r\nexport const SELECTED_ACCOUNT_FROM_PORTFOLIO_WORKSPACE = \"SELECTED_ACCOUNT_FROM_PORTFOLIO_WORKSPACE\";\r\nexport const GET_INDEXES_UPDATE = \"GET_INDEXES_UPDATE\";\r\nexport const SET_SELECT_SYMBOL_FROM_PORTFOLIO = \"SET_SELECT_SYMBOL_FROM_PORTFOLIO\";\r\nexport const SELECT_PREFERRED_SYMBOL = \"SELECT_PREFERRED_SYMBOL\";\r\nexport const SET_PORTFOLIO_Data = \"SET_PORTFOLIO_Data\";\r\nexport const SYBMOL_QTY_TO_SELL = \"SYBMOL_QTY_TO_SELL\";\r\nexport const selected_Row_From_MW = \"selected_Row_From_MW\";\r\nexport const IS_Row_In_MW_Clicked = \"IS_Row_In_MW_Clicked\";\r\nexport const PORTFOLIO_FIRST_REQUEST = \"PORTFOLIO_FIRST_REQUEST\";\r\nexport const CHECK_CONNECTION = \"CHECK_CONNECTION\";\r\nexport const SELECT_PREFERRED_EXCHANGE = \"SELECT_PREFERRED_EXCHANGE\";\r\nexport const USER_SETTINGS = \"USER_SETTINGS\";\r\nexport const USER_WORKSPACES_SETTINGS = \"USER_WORKSPACE_SETTINGS\";\r\nexport const AVG_INDEXES = \"AVG_INDEXES\";\r\nexport const ENABLE_TRADE_TICKER = \"ENABLE_TRADE_TICKER\";\r\nexport const ENABLE_ROUND_TICKER = \"ENABLE_ROUND_TICKER\";\r\nexport const Is_Mobile_Size = \"Is_Mobile_Size\";\r\nexport const GET_LOOKUPS = \"GET_LOOKUPS\";\r\nexport const GET_SectorOfMarket = \"GET_SectorOfMarket\";\r\nexport const Active_Workspace_UniqueID = \"Active_Workspace_UniqueID\";\r\nexport const get_ID_Validity_Result = \"get_ID_Validity_Result\";\r\nexport const Get_Default_AccountInfo = \"Get_Default_AccountInfo\";\r\nexport const get_BasketOrder = \"get_BasketOrder\";\r\nexport const get_updateFromBasketOrder = \"get_updateFromBasketOrder\";\r\nexport const get_basketOrderObject = \"get_basketOrderObject\";\r\nexport const get_GroupName = \"get_GroupName\";\r\nexport const GET_EXCHANGES_UPDATE_EnableTags = \"GET_EXCHANGES_UPDATE_EnableTags\";\r\n//mustafa\r\nexport const Get_TradeMarket_Object = \"Get_TradeMarket_Object\";\r\nexport const From_TradeMarket = \"From_TradeMarket\";\r\n\r\n\r\nexport const Selected_Account_Summaries = \"Selected_Account_Summaries\";\r\nexport const SMART_ORDER_OBJECT = \"SMART_ORDER_OBJECT\";\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"Chart1_first__14Rw1\",\"second\":\"Chart1_second__27Lfq\",\"third\":\"Chart1_third__AZoE5\"};","// theme.js\r\nexport const lightTheme = {\r\n //body: '#E2E2E2',\r\n body: '#F0F0F7',\r\n text: '#363537',\r\n //text: '#000000',\r\n toggleBorder: '#FFF',\r\n gradient: 'linear-gradient(#39598A, #79D7ED)',\r\n secondaryBackgrounColor: \"#FFF\",\r\n buttonColor: \"#495057\",\r\n newBackgroundColor: \"#f5f6f8\"\r\n}\r\n\r\nexport const darkTheme = {\r\n body: '#000',\r\n text: '#FAFAFA',\r\n toggleBorder: '#6B8096',\r\n gradient: 'linear-gradient(#091236, #1E215D)',\r\n secondaryBackgrounColor: \"#000\",\r\n buttonColor: \"#FFF\",\r\n newBackgroundColor: \"#000\"\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"first\":\"HeaderTitle_first__vB-ZS\",\"second\":\"HeaderTitle_second__12pJR\",\"third\":\"HeaderTitle_third__2DlW7\",\"four\":\"HeaderTitle_four__yQ4r4\"};","/* eslint-disable no-useless-escape */\r\nimport axios from \"axios\";\r\nimport * as Constants from \"../constants/Constants\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport * as Helpers from \"./Helpers\";\r\n\r\nconst Enum = {\r\n KEY1: 1,\r\n KEY2: 2,\r\n KEY3: 3,\r\n KEY4: 4,\r\n};\r\n\r\nObject.freeze(Enum); //Object.freeze will freeze the object so that no new enum can be added to it.\r\n\r\n//MARK: POST methods\r\nexport function callApi(username, password, tokenId) {\r\n // const errorNotify = (message) => {\r\n // toast.error(message, {\r\n // position: toast.POSITION.BOTTOM_CENTER,\r\n // hideProgressBar: true,\r\n // autoClose: Constants.errorNotifyDuration\r\n // });\r\n // };\r\n\r\n const params = {\r\n UserName: username,\r\n Password: password,\r\n MobileType: \"\",\r\n SessionID: \"\",\r\n UserIPAddress: \"185.99.34.25\",\r\n TokenID: tokenId,\r\n HdnKey: \"\",\r\n FingerPrintID: \"\",\r\n FingerPrintLevel: \"\",\r\n RegistrationId: \"\",\r\n isAuthorizeOnly: \"N\",\r\n };\r\n\r\n axios\r\n .post(Constants.baseURL + Constants.userAuthintications, params, {\r\n withCredentials: true,\r\n })\r\n .then((response) => {\r\n return response;\r\n })\r\n .catch((error) => {\r\n //console.log(\"error\", error);\r\n Helpers.errorNotify(this.props.t(error), this.props.i18n.language);\r\n });\r\n}\r\n\r\nvar _keyStr =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport function authenticate(\r\n UserName,\r\n Password,\r\n MobileType,\r\n SessionID,\r\n UserIPAddress,\r\n TokenID,\r\n HdnKey,\r\n FingerPrintID,\r\n FingerPrintLevel,\r\n RegistrationId,\r\n isAuthorizeOnly,\r\n options\r\n) {\r\n const params = {\r\n UserName: encryptedString(UserName),\r\n Password: encryptedString(Password),\r\n MobileType: MobileType,\r\n SessionID: SessionID,\r\n UserIPAddress: UserIPAddress,\r\n TokenID: TokenID,\r\n HdnKey: HdnKey,\r\n FingerPrintID: FingerPrintID,\r\n FingerPrintLevel: FingerPrintLevel,\r\n RegistrationId: RegistrationId,\r\n isAuthorizeOnly: isAuthorizeOnly,\r\n };\r\n\r\n //console.log(\"baseUrl: \", Constants.baseURL)\r\n return NewHttpPost(\r\n Constants.baseURL + Constants.userAuthintications,\r\n params,\r\n options\r\n );\r\n}\r\nexport function registrationsOTP(\r\n username,\r\n tokenID,\r\n tradingNo,\r\n password,\r\n key,\r\n fingerPrintID,\r\n isAuthorizeOnly = \"N\",\r\n isIPOQuickSell,\r\n options = { withCredentials: true }\r\n) {\r\n const params = {\r\n UserName: username,\r\n Password: password,\r\n MobileType: \"\",\r\n SessionID: \"\",\r\n UserIPAddress: \"127.0.0.1\",\r\n TokenID: tokenID,\r\n TradingNo: tradingNo,\r\n HdnKey: key,\r\n FingerPrintID: fingerPrintID,\r\n FingerPrintEnabled: \"N\",\r\n isAuthorizeOnly: isAuthorizeOnly,\r\n isIPOQuickSell: isIPOQuickSell\r\n };\r\n return NewHttpPost(\r\n Constants.baseURL + Constants.registrationsOTP,\r\n params,\r\n options\r\n );\r\n}\r\n\r\nexport function userAuthinticationAdvance(\r\n MobileType,\r\n UserIPAddress,\r\n NIN,\r\n ID,\r\n Mobile,\r\n Email,\r\n RequestType,\r\n UserName,\r\n options = { withCredentials: true }\r\n) {\r\n const params = {\r\n MobileType: MobileType,\r\n UserIPAddress: UserIPAddress,\r\n NIN: NIN,\r\n ID: ID,\r\n Mobile: encryptedString(Mobile),\r\n Email: localStorage.getItem(\"ForgotPasswordMethod\") === \"U\" ? encryptedString(Email) : encryptedString(Email),\r\n RequestType: RequestType,\r\n UserName: encryptedString(UserName)\r\n };\r\n return NewHttpPost(Constants.UserAuthinticationAdvance, params, options);\r\n}\r\nexport function forGotusername(MobileType, UserIPAddress, NIN, Mobile, options = { withCredentials: true }) {\r\n const params = {\r\n MobileType: MobileType,\r\n UserIPAddress: UserIPAddress,\r\n NIN: NIN,\r\n ID: \"\",\r\n Mobile: Mobile,\r\n Email: \"\",\r\n RequestType: \"\",\r\n };\r\n return NewHttpPost(Constants.ForGotUsername, params, options);\r\n}\r\nexport function UserAuthinticationIPOQuickSell(MobileType, UserIPAddress, NIN, ID, Mobile, Email, RequestType, options = { withCredentials: true }) {\r\n const params = {\r\n MobileType: MobileType,\r\n UserIPAddress: UserIPAddress,\r\n NIN: NIN,\r\n ID: ID,\r\n Mobile: Mobile,\r\n Email: Email,\r\n RequestType: RequestType,\r\n };\r\n return NewHttpPost(Constants.UserAuthinticationIPOQuickSell, params, options);\r\n}\r\n\r\nexport function resetUserNameAdvance(\r\n MobileType,\r\n NIN,\r\n ID,\r\n NewUser,\r\n UserIPAddress,\r\n UserName,\r\n options = { withCredentials: true }\r\n) {\r\n const params = {\r\n MobileType: MobileType, // \"IOS\"\r\n NIN: NIN, // -> entered in first page\r\n ID: ID, // -> entered in first page\r\n NewUser: NewUser, // -> enter by user\r\n UserIPAddress: UserIPAddress,\r\n UserName: UserName, // -> Old user, from preview api\r\n };\r\n return NewHttpPost(Constants.ResetUserNameAdvance, params, options);\r\n}\r\n\r\nexport function resetPasswordAdvance(\r\n Mobile,\r\n Email,\r\n Password,\r\n OldPassword,\r\n MobileType,\r\n UserIPAddress,\r\n RequestType,\r\n UserName,\r\n NIN,\r\n ID,\r\n options = { withCredentials: true }\r\n) {\r\n const params = {\r\n Mobile: Mobile, // -> remplir if Shuaa\r\n Email: localStorage.getItem(\"ForgotPasswordMethod\") === \"U\" ? encryptedString(Email) : Email, // -> remplir if Shuaa\r\n Password: Password, // new password\r\n OldPassword: OldPassword,\r\n MobileType: MobileType,\r\n UserIPAddress: UserIPAddress,\r\n RequestType: RequestType,\r\n UserName: encryptedString(UserName),\r\n NIN: NIN,\r\n ID: ID,\r\n };\r\n return NewHttpPost(Constants.ResetPasswordAdvance, params, options);\r\n}\r\n\r\nexport function addProfile(params, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(Constants.addProfile, params, options);\r\n}\r\n\r\nexport function updateProfile(params, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(Constants.updateProfile, params, options);\r\n}\r\nexport function TraceInfoPost(params) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(Constants.TraceInfoPost, params, options);\r\n}\r\n\r\nexport function UpdateUserProfileSettings(params, thisparam) {\r\n let abortController =\r\n thisparam === undefined ? new AbortController() : thisparam.abortController;\r\n let options = { withCredentials: true, signal: abortController.signal };\r\n return NewHttpPost(Constants.UpdateUserProfileSettings, params, options);\r\n}\r\n\r\nexport function addConditionalOrder(params) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(Constants.addConditionalOrder, params, options);\r\n}\r\n\r\nexport function deleteProfile(params) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(Constants.deleteProfile, params, options);\r\n}\r\n\r\nexport function addMarketWatchProfileSymbol(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function logOff() {\r\n\r\n let options = { withCredentials: true };\r\n let url =\r\n Constants.baseURL +\r\n Constants.logOff +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function deleteMarketWatchProfile(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function addMarketWatchProfileName(profileName, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let url =\r\n Constants.addMarketWatchProfileName +\r\n localStorage.getItem(\"WebCode\") +\r\n \"/\" +\r\n profileName;\r\n return NewHttpPost(url, null, options);\r\n}\r\nexport function updateReadPushNotificationsFlag(url) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function deleteAlertByAlertID(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function deleteMarketWatchProfileSymbol(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return NewHttpPost(url, null, options);\r\n}\r\nexport function DeleteMarketWatchProfileAllSymbols(\r\n url,\r\n ProfileID,\r\n WebCode,\r\n thisparam\r\n) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let param = {\r\n ProfileID: ProfileID,\r\n WebCode: WebCode,\r\n };\r\n return NewHttpPost(url, param, options);\r\n}\r\nexport function CancelB2bRequest(url, Reqid, WebCode) {\r\n let options = { withCredentials: true };\r\n let param = {\r\n REQ_ID: Reqid,\r\n WEB_CODE: WebCode,\r\n };\r\n return NewHttpPost(url, param, options);\r\n}\r\nexport function CancelEquityTransferRequest(url, Reqid, WebCode) {\r\n let options = { withCredentials: true };\r\n let param = {\r\n REQ_ID: Reqid,\r\n WEB_CODE: WebCode,\r\n };\r\n return NewHttpPost(url, param, options);\r\n}\r\n\r\nexport function deleteConditionalByID(url) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function changesPassword(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.baseURL + Constants.changesPassword;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\nexport function addAlert(url) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function getBankTransferInfo(url) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function getAccountTransferInfo(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.getAccountTransferInfo;\r\n return NewHttpPost(url, params, options);\r\n}\r\nexport function callAddBankIBAN(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.AddBankIBAN;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\nexport function callDeleteBasketOrder(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.DeleteBasketOrder;\r\n return NewHttpPost(url, params, options);\r\n}\r\nexport function callUpdateRejectReasonBasketOrder(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.UpdateRejectReasonBasketOrder;\r\n return NewHttpPost(url, params, options);\r\n}\r\nexport function transferAmountSec(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.transferAmountSec;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\nexport function submitCrmRequestRamz(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.submitCrmRequestRamz2;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\nexport function addBasketOrderDetails(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.addBasketOrderDetails;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\nexport function ModifyBasketOrderDetails(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.modifyBasketOrderDetails;\r\n return NewHttpPost(url, params, options);\r\n}\r\nexport function renewSubscriptionUser(url) {\r\n let options = { withCredentials: true };\r\n return NewHttpPost(url, null, options);\r\n}\r\n\r\nexport function GenerateReports(url, params) {\r\n let options = { withCredentials: true, responseType: \"arraybuffer\" };\r\n return NewHttpPostfile(url, params, options);\r\n}\r\n\r\nexport function TransferAmount(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.TransferAmount;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\n\r\n\r\n\r\n//MARK: GET methods\r\nexport async function getAlerts(webcode, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let get_alert_url = Constants.getAlerts + webcode;\r\n return await NewHttpGet(get_alert_url, options);\r\n}\r\nexport async function GetTransferReqPenddingShares(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getAllPushNotificationsByUser() {\r\n let options = { withCredentials: true };\r\n let url =\r\n Constants.getAllPushNotificationsByUser + localStorage.getItem(\"WebCode\");\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getAllPushNotificationsByFirebase(\r\n Tokenid,\r\n googleId,\r\n Title,\r\n Body,\r\n Tag,\r\n isNew\r\n) {\r\n let options = { withCredentials: true };\r\n let url =\r\n Constants.getAllPushNotificationsFromFirebase +\r\n localStorage.getItem(\"WebCode\") +\r\n \"/\" +\r\n Tokenid +\r\n \"/\" +\r\n googleId +\r\n \"/\" +\r\n Title.trim() +\r\n \"/\" +\r\n Body.trim() +\r\n \"/\" +\r\n Tag.trim() +\r\n \"/\" +\r\n isNew.trim();\r\n //console.log(\"urlNOT\", url)\r\n // let url = Constants.getAllPushNotificationsByFirebase + localStorage.getItem(\"WebCode\") + '/Tokenid/googleId/Title/Body/Tag/N';\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getExpectedProfitLoss(url) {\r\n\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getPortfolioAndAccSum(url) {\r\n\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getTradeConfirmation(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function TradeConfirmationReport(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getStatmentOfAccount(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getSymbolsTrades(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function sendDocumentByEmail(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getMarketByProfile(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getMarketWatchByProfileIDAndSymbol(url, thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function calculatesShares(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getProfiles(thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let url = Constants.getProfiles + localStorage.getItem(\"WebCode\");\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getConditionalByUsr() {\r\n let options = { withCredentials: true };\r\n let url = Constants.getConditionalByUsr + localStorage.getItem(\"WebCode\");\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getBracketOrder() {\r\n let options = { withCredentials: true };\r\n let url = Constants.GetBracketOrder + localStorage.getItem(\"WebCode\");\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getLookups() {\r\n let options = { withCredentials: true };\r\n let url =\r\n Constants.getLookups +\r\n localStorage.getItem(\"WebCode\") +\r\n \"?\" +\r\n Math.random();\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getUserAccounts() {\r\n let url = Constants.GetUserAccounts + localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getCompaniesLookups() {\r\n let url =\r\n Constants.getCompaniesLookups +\r\n localStorage.getItem(\"WebCode\") +\r\n \"?\" +\r\n Math.random();\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function GetUSCompaniesResults(symbol) {\r\n let url =\r\n Constants.GetUSCompaniesResults +\r\n symbol +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function GetCryptoCompaniesResults(symbol) {\r\n let url =\r\n Constants.GetCryptoCompaniesResults +\r\n symbol +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function CheckIfUSSymbolExist(symbol) {\r\n let url =\r\n Constants.CheckIfUSSymbolExist +\r\n localStorage.getItem(\"WebCode\") +\r\n \"/\" +\r\n symbol;\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function CheckIfCryptoSymbolExist(symbol) {\r\n let url =\r\n Constants.CheckIfCryptoSymbolExist +\r\n localStorage.getItem(\"WebCode\") +\r\n \"/\" +\r\n symbol;\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function AddUSTOCompaniesLookups(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function AddCryptoSymbolTOCompaniesLookups(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getProfilesByUserId(thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n let url = Constants.getProfilesByUserId + localStorage.getItem(\"WebCode\");\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getCashDepURL(thisparam, themeOfSys, lang) {\r\n thisparam.abortController = new window.AbortController();\r\n\r\n let url =\r\n Constants.GetCashDepURL +\r\n themeOfSys +\r\n \"/\" +\r\n lang +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetIPOLink(thisparam, themeOfSys, lang) {\r\n thisparam.abortController = new window.AbortController();\r\n\r\n let url =\r\n Constants.GetIPOLink +\r\n themeOfSys +\r\n \"/\" +\r\n lang +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function UpdateTermsAndConditionsVersion(thisparam) {\r\n thisparam.abortController = new window.AbortController();\r\n\r\n let url = Constants.UpdateTermsAndConditionsVersion + localStorage.getItem(\"WebCode\");\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function GetTermsAndConditionsText(appLang) {\r\n\r\n let url = Constants.GetTermsAndConditionsText + appLang;\r\n let options = {\r\n withCredentials: true\r\n };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetDeviceConfigs() {\r\n let url = Constants.GetDeviceConfigs;\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetSettingWorkSpaceByUserID() {\r\n let url =\r\n Constants.GetSettingWorkSpaceByUserID + localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getRiskManagement(url, options) {\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function GetRiskManagment(obj, thisparam) {\r\n\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let url = Constants.GetRiskManagment;\r\n return NewHttpPost(url, obj, options);\r\n // let url = Constants.GetRiskManagment\r\n // return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetRiskManagmentBasket(obj) {\r\n\r\n let options = {\r\n withCredentials: true,\r\n };\r\n let url = Constants.GetRiskManagment;\r\n return NewHttpPost(url, obj, options);\r\n // let url = Constants.GetRiskManagment\r\n // return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetRiskManagmentCash(obj, thisparam) {\r\n\r\n thisparam.abortController = new window.AbortController();\r\n let options = {\r\n withCredentials: true,\r\n signal: thisparam.abortController.signal,\r\n };\r\n let url = Constants.GetRiskManagmentCash;\r\n return NewHttpPost(url, obj, options);\r\n // let url = Constants.GetRiskManagment\r\n // return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getAvgIndexes(excangeID, day, sector) {\r\n let options = { withCredentials: true };\r\n let url =\r\n Constants.GetAvgIndexes +\r\n excangeID +\r\n \"/\" +\r\n day +\r\n \"/\" +\r\n sector +\r\n \"/\" +\r\n localStorage.getItem(\"WebCode\");\r\n //console.log(\"GetAvgIndexes\", url)\r\n // let url = Constants.getAllPushNotificationsByFirebase + localStorage.getItem(\"WebCode\") + '/Tokenid/googleId/Title/Body/Tag/N';\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getContactInfo() {\r\n let options = { withCredentials: true };\r\n let url = Constants.GetContactInfo;\r\n\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getIpAddress() {\r\n let options = { withCredentials: false };\r\n let url = \"https://geolocation-db.com/json/\";\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getAllMarketNews() {\r\n let url =\r\n Constants.profileBaseUrl +\r\n Constants.getAllMarketNews +\r\n localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getHistorySymbolData(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getGetProfiles() {\r\n let url = Constants.getProfiles + localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getBankIBAN(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function CallCheckIBAN(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getAllTransfersReq(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getShareTransferLogWithDetails(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function getHeartBeat(abortController) {\r\n abortController = new window.AbortController();\r\n\r\n let url = Constants.HeartBeat + localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true, signal: abortController.signal };\r\n return await NewHttpGet(url, options);\r\n}\r\nexport async function RenewUserSesssion(abortController) {\r\n abortController = new window.AbortController();\r\n\r\n let url = Constants.RenewUserSesssion + localStorage.getItem(\"WebCode\");\r\n let options = { withCredentials: true, signal: abortController.signal };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getBalanceBreakdown(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getDFN_StockData(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getUserPermissionsByGroupID(url) {\r\n //let url = Constants.GetUserPermissionsByGroupID ;\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getPasswordPolicy() {\r\n let url =\r\n Constants.getPasswordPolicy +\r\n localStorage.getItem(\"WebCode\") +\r\n \"?\" +\r\n Math.random();\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getExchangeSummary(webcode, options) {\r\n let get_exchange_summary_url =\r\n Constants.getExchangeSummary + webcode + \"?\" + Math.random();\r\n return await NewHttpGet(get_exchange_summary_url, options);\r\n}\r\n\r\nexport async function GetRequiredUserDocuments2(\r\n webcode,\r\n MainClientID,\r\n options\r\n) {\r\n let CheckUpdateIdValidity =\r\n Constants.GetRequiredUserDocuments2 + \"/\" + webcode + \"/\" + MainClientID;\r\n return await NewHttpGet(CheckUpdateIdValidity, options);\r\n}\r\n\r\nexport async function CheckUpdateIdValidity(webcode, options) {\r\n let CheckUpdateIdValidity = Constants.CheckUpdateIdValidity + webcode;\r\n return await NewHttpGet(CheckUpdateIdValidity, options);\r\n}\r\n\r\nexport async function getAnalysisIndecator(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getBasketOrders(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getCustodiansByClientID(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function GetBasketOrderDetails(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function UpdatePreferredLangAccount(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport function encryptedString(value) {\r\n var svalue = encode(value, \"s\");\r\n var bvalue = encode(svalue[0], \"b\");\r\n var gen = generate(3);\r\n value = bvalue[0] + gen + svalue[1];\r\n return value;\r\n}\r\n\r\nfunction _utf8_encode(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n\r\n for (var n = 0; n < string.length; n++) {\r\n var c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n } else if (c > 127 && c < 2048) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n } else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n}\r\n\r\nexport async function GetDailyReports(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\n\r\nfunction generate(n) {\r\n var add = 1,\r\n max = 12 - add; // 12 is the min safe number Math.random() can generate without it starting to pad the end with zeros.\r\n\r\n if (n > max) {\r\n return generate(max) + generate(n - max);\r\n }\r\n\r\n max = Math.pow(10, n + add);\r\n var min = max / 10; // Math.pow(10, n) basically\r\n var number = Math.floor(Math.random() * (max - min + 1)) + min;\r\n\r\n return \"!\" + (\"\" + number).substring(add);\r\n}\r\n\r\nfunction encode(input, type) {\r\n var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n\r\n var i = 0;\r\n if (type === \"b\") input = _utf8_encode(\"**\" + input);\r\n else input = _utf8_encode(input);\r\n while (i < input.length) {\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n\r\n output =\r\n output +\r\n _keyStr.charAt(enc1) +\r\n _keyStr.charAt(enc2) +\r\n _keyStr.charAt(enc3) +\r\n _keyStr.charAt(enc4);\r\n }\r\n var retValue = [];\r\n if (type === \"b\") {\r\n retValue[0] =\r\n output + Math.floor(Math.random() * 10) + Math.floor(Math.random() * 10);\r\n retValue[1] = \"\";\r\n\r\n return retValue;\r\n } else {\r\n retValue[1] = output.substring(0, output.length / 2); //key\r\n\r\n output = output.substring(output.length / 2, output.length);\r\n\r\n retValue[0] = output;\r\n\r\n return retValue;\r\n }\r\n}\r\n\r\nexport async function NewHttpPost(url, params, options) {\r\n let postRequest = await axios.post(url, params, options).catch((err) => {\r\n console.log(url);\r\n console.log(err);\r\n if (!(url.includes(\"UsersLogOff\"))) {\r\n\r\n responseProcess(err.response.status);\r\n }\r\n\r\n });\r\n return postRequest;\r\n}\r\nexport async function NewHttpPostfile(url, params, options) {\r\n let postRequest = await axios.post(url, params, options).catch((err) => {\r\n console.log(url);\r\n console.log(err);\r\n responseProcess(err.response.status);\r\n });\r\n return postRequest;\r\n}\r\n\r\nexport function SubmitShareTransferReq(\r\n params,\r\n options = { withCredentials: true }\r\n) {\r\n // const params = {\r\n // \"USR_CODE\": WebCode,\r\n // \"REQUEST_ID\": REQUEST_ID,\r\n // \"SEQ_REQ_ID\": SEQ_REQ_ID,\r\n // \"REQ_DATE_STR\": REQ_DATE_STR,\r\n // \"REQ_TYPE\": REQ_TYPE,\r\n // \"MAIN_CLIENT_ID\": MAIN_CLIENT_ID,\r\n // \"FROM_ACC\": FROM_ACC,\r\n // \"TO_ACC\": TO_ACC,\r\n // \"FROM_ACC_TYPE\": FROM_ACC_TYPE,\r\n // \"TO_ACC_TYPE\": TO_ACC_TYPE,\r\n // \"M_CODE\": M_CODE,\r\n // \"COMP_ID\": COMP_ID,\r\n // \"QTY\": QTY,\r\n // \"CLOSE_PRICE\": CLOSE_PRICE,\r\n // };\r\n\r\n return NewHttpPost(Constants.SubmitShareTransferReq, params, options);\r\n}\r\nexport function SubmitEquityTransferReq(\r\n params,\r\n options = { withCredentials: true }\r\n) {\r\n return NewHttpPost(Constants.SubmitEquityTransferReq, params, options);\r\n}\r\nexport function GetAccountTransferInfo(\r\n params,\r\n options = { withCredentials: true }\r\n) {\r\n return NewHttpPost(Constants.GetAccountTransferInfo, params, options);\r\n}\r\nexport function UpdateIdValidity(params, options = { withCredentials: true }) {\r\n return NewHttpPost(Constants.UpdateIdValidity, params, options);\r\n}\r\nexport function UploadClientDocuments(\r\n params,\r\n options = { withCredentials: true }\r\n) {\r\n return NewHttpPost(Constants.UploadClientDocuments, params, options);\r\n}\r\n\r\nexport async function NewHttpGet(url, options) {\r\n let getRequest = await axios.get(url, options).catch((err) => {\r\n console.log(url);\r\n console.log(err);\r\n responseProcess(err.response.status);\r\n });\r\n\r\n return getRequest;\r\n}\r\n\r\nexport async function responseProcess(resStatus, isFirstTime = false) {\r\n \r\n switch (resStatus) {\r\n case 200:\r\n return true;\r\n case 201:\r\n break;\r\n case 400:\r\n console.log(\"something wen wrong\");\r\n break;\r\n case 408:\r\n\r\n errorHandling(isFirstTime);\r\n break;\r\n case 401:\r\n\r\n errorHandling(isFirstTime);\r\n break;\r\n case 500:\r\n //console.log('server error, try again');\r\n break;\r\n default:\r\n //console.log('unhandled error code: ', resStatus);\r\n break;\r\n }\r\n return false;\r\n}\r\n\r\nfunction errorHandling(isFirstTime) {\r\n if (isFirstTime) window.appComponent.redirectFunctionality();\r\n else window.appComponent.errorHandling();\r\n}\r\n\r\nexport function dateFromStringDateOnly(s) {\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(s);\r\n //alert(r)\r\n\r\n if (r && r.length === 7) {\r\n let datestring = r[1] + \"/\" + r[2] + \"/\" + r[3];\r\n return datestring;\r\n }\r\n return dateFromStringPlanB(s);\r\n}\r\nexport function dateFromString(s) {\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(s);\r\n //alert(r)\r\n\r\n if (r && r.length === 7) {\r\n return new Date(\r\n parseInt(r[3]),\r\n parseInt(r[2]) - 1,\r\n parseInt(r[1]),\r\n parseInt(r[4]),\r\n parseInt(r[5]),\r\n parseInt(r[6])\r\n );\r\n }\r\n return dateFromStringPlanB(s);\r\n}\r\nexport function TimeStamptodate(s) {\r\n var fixstring = s.replace(\"/Date(\", \"\").replace(\")/\", \"\");\r\n let unix_timestamp = fixstring.substring(0, 10);\r\n // Create a new JavaScript Date object based on the timestamp\r\n // multiplied by 1000 so that the argument is in milliseconds, not seconds.\r\n var date = new Date(unix_timestamp * 1000).toLocaleString();\r\n // // Hours part from the timestamp\r\n // var hours = date.getHours();\r\n // // Minutes part from the timestamp\r\n // var minutes = \"0\" + date.getMinutes();\r\n // // Seconds part from the timestamp\r\n // var seconds = \"0\" + date.getSeconds();\r\n\r\n // // Will display time in 10:30:23 format\r\n // var formattedTime =date.getFullYear().toString() +date.getMonth.toString() + date.getDay.toString() + \" \" + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);\r\n\r\n // var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(s);\r\n // //alert(r)\r\n\r\n // if (r && r.length === 7) {\r\n\r\n // return new Date(parseInt(r[3]), parseInt(r[2]) - 1, parseInt(r[1]), parseInt(r[4]), parseInt(r[5]), parseInt(r[6]));\r\n // }\r\n return date;\r\n}\r\nexport async function getMarketIndices(\r\n exchange_id,\r\n webcode,\r\n options = { withCredentials: true }\r\n) {\r\n let get_market_indices_url =\r\n Constants.GetMarketIndicies + exchange_id + \"/\" + webcode;\r\n //console.log(get_market_indices_url);\r\n return await NewHttpGet(get_market_indices_url, options);\r\n}\r\n\r\nexport async function getMarketIndicesVer2(\r\n exchange_id,\r\n webcode,\r\n options = { withCredentials: true }\r\n) {\r\n let get_market_indices_url =\r\n Constants.getIndexesSummary + exchange_id + \"/\" + webcode;\r\n //console.log(get_market_indices_url);\r\n return await NewHttpGet(get_market_indices_url, options);\r\n}\r\n\r\nexport async function getAccountSummary(url, thisparam) {\r\n var options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport async function getTransactionSummary(\r\n url,\r\n options = { withCredentials: true }\r\n) {\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\nexport function dateFromStringPlanB(s) {\r\n try {\r\n var strMod = s.replace(/\\ /gi, \"\");\r\n strMod = strMod.replace(/\\:/gi, \"\");\r\n strMod = strMod.replace(/\\-/gi, \"\");\r\n var r = /\\d*(\\d{2})(\\d{2})(\\d{4})(\\d{2})(\\d{2})(\\d{2})/.exec(strMod);\r\n //alert(\"planb\",r)\r\n if (r && r.length === 7) {\r\n return new Date(\r\n parseInt(r[3]),\r\n parseInt(r[2]) - 1,\r\n parseInt(r[1]),\r\n parseInt(r[4]),\r\n parseInt(r[5]),\r\n parseInt(r[6])\r\n );\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n return new Date(); //ragheb //ragheb //nbo ETRADE-11\r\n}\r\n\r\n// Shared Transfer Services\r\nexport async function GetShareTransferLogGrouped(\r\n WebCode,\r\n MainClientID,\r\n options = { withCredentials: true }\r\n) {\r\n let get_sharer_transfer_log_grouped_url =\r\n Constants.GetShareTransferLogGrouped + \"-1/\" + WebCode + \"/\" + MainClientID;\r\n //console.log(get_sharer_transfer_log_grouped_url);\r\n return await NewHttpGet(get_sharer_transfer_log_grouped_url, options);\r\n}\r\n\r\nexport async function GetNextRequestID(\r\n webcode,\r\n options = { withCredentials: true }\r\n) {\r\n let get_next_request_id_url = Constants.GetNextRequestID + webcode;\r\n //console.log(get_next_request_id_url);\r\n return await NewHttpGet(get_next_request_id_url, options);\r\n}\r\n\r\n//Account portfolio Service\r\nexport async function GetExpectedProfitLossSec(\r\n MainClientID,\r\n ClientID,\r\n WebCode,\r\n Date,\r\n BrokerID,\r\n ExchangeID,\r\n options = { withCredentials: true }\r\n) {\r\n let get_expectedprofitlosssec_url =\r\n Constants.GetExpectedProfitLossSec +\r\n MainClientID +\r\n \"/\" +\r\n ClientID +\r\n \"/\" +\r\n WebCode +\r\n \"/\" +\r\n Date +\r\n \"/\" +\r\n BrokerID +\r\n \"/\" +\r\n ExchangeID;\r\n //console.log(\"URLGetExpectedProfitLossSec\", get_expectedprofitlosssec_url);\r\n return await NewHttpGet(get_expectedprofitlosssec_url, options);\r\n}\r\n\r\n// //chatbot\r\nexport async function GetChatWebBRKLookup(WebCode) {\r\n let getchatbotwebbrklookup_url = Constants.getChatWebBRKLookup + WebCode;\r\n //console.log(\"chatbot_url\", getchatbotwebbrklookup_url);\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(getchatbotwebbrklookup_url, options);\r\n}\r\n\r\nexport async function GetLastChatConversion(WebCode, BRKID, dateFrom, DateTo) {\r\n let getLastChatConversion =\r\n Constants.getLastChatConversion +\r\n WebCode +\r\n \"/\" +\r\n BRKID +\r\n \"/\" +\r\n dateFrom +\r\n \"/\" +\r\n DateTo;\r\n //console.log(\"GetLastChatConversion\", getLastChatConversion);\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(getLastChatConversion, options);\r\n}\r\nexport async function GetUSSymbolNews(Symbol, WebCode) {\r\n let getLastChatConversion =\r\n Constants.GetUSSymbolNews + Symbol + \"/\" + WebCode;\r\n //console.log(\"GetLastChatConversion\", getLastChatConversion);\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(getLastChatConversion, options);\r\n}\r\n\r\nexport async function gethandleServerTime(url) {\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\n\r\n//mustafa\r\nexport async function GetChartIntraDayData(symbol, exchange, from, to, period, type, WebCode) {\r\n\r\n // Construct the URL with the required parameters\r\n let url = Constants.GetChartIntraDayData\r\n + symbol\r\n + \"/\" +\r\n exchange\r\n + \"/\" +\r\n from +\r\n \"/\" +\r\n to +\r\n \"/\" +\r\n period +\r\n \"/\" +\r\n type +\r\n \"/\" +\r\n WebCode;\r\n let options = { withCredentials: true };\r\n return await NewHttpGet(url, options);\r\n}\r\n\r\n\r\n\r\n// mustafa\r\nexport function callGetSubscriptionPlans(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.GetSubscriptionPlans;\r\n return NewHttpPost(url, params, options);\r\n}\r\n// mustafa\r\nexport function callGetSubscribedPlans(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.GetSubscribedPlans;\r\n return NewHttpPost(url, params, options);\r\n}\r\n// mustafa\r\nexport function callAddSubscription(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.AddSubscription;\r\n return NewHttpPost(url, params, options);\r\n}\r\n\r\n// mustafa\r\nexport function callGetCurrencyConversion(params) {\r\n let options = { withCredentials: true };\r\n let url = Constants.GetCurrencyConversion;\r\n return NewHttpPost(url, params, options);\r\n}","//import * as Constants from '../constants/Constants'\r\n\r\nimport CopyPeople from \"../components/CopyPeopleProfile/CopyPeopleList/CopyPeople\";\r\nimport CopyPeopleProfile from \"../components/CopyPeopleProfile/CopyPeopleProfile\";\r\n\r\n//export const basename = \"/fit_react\";\r\nexport let basename = \"\";//\"/fit_react_v2\";\r\nexport let login = \"/login\";\r\nexport let loginCIBC = \"/loginCIBC\";\r\nexport let SellIPOShares = \"/SellIPOShares\";\r\n\r\nexport let signUp = \"/signup\";\r\nexport let forgetPassword = \"/forgetpassword\";\r\nexport let ForgotUsername = \"/ForgotUsername\";\r\nexport let otp = \"/otp\";\r\nexport let changePassword = \"/changepassword\";\r\nexport let logout = \"/logout\";\r\nexport let TermsAndConditions = \"/TermsAndConditions\";\r\n\r\nexport let fitGrid = \"/fitGrid\";\r\n\r\nexport let trading = \"/main\";\r\nexport let marketOverview = \"/main/MarketOverview\"\r\nexport let accountSettings = \"\";\r\nexport let settings = \"/main/Settings\";\r\nexport let newWorkspace = \"/main/NewWorkspace\";\r\nexport let AdvanceChart = \"/main/AdvanceChart\";\r\nexport let StockProfile = \"/main/StockProfile\";\r\nexport let TechnicalAnalysis = \"/TechnicalAnalysis\";\r\nexport let binanceWorkspace = \"/main/binanceWorkspace\";\r\nexport let CopyPeopleProfileListWorkspace = \"/main/CopyPeopleProfileList\";\r\nexport let AboutMyAccount = \"/main/AboutMyAccount\";\r\n\r\n\r\n\r\nexport function updateAppUrls(basenameParam) {\r\n basename = basenameParam;\r\n login = basenameParam + \"/login\";\r\n loginCIBC = basenameParam + \"/loginCIBC\";\r\n SellIPOShares = basenameParam + \"/SellIPOShares\";\r\n TechnicalAnalysis = basenameParam + \"/TechnicalAnalysis\";\r\n signUp = basenameParam + \"/signup\";\r\n forgetPassword = basenameParam + \"/forgetpassword\";\r\n ForgotUsername = basenameParam + \"/ForgotUsername\";\r\n otp = basenameParam + \"/otp\";\r\n changePassword = basenameParam + \"/changepassword\";\r\n logout = basenameParam + \"/logout\";\r\n TermsAndConditions = basenameParam + \"/TermsAndConditions\";\r\n\r\n fitGrid = basenameParam + \"/fitGrid\";\r\n\r\n trading = basenameParam + \"/main\";\r\n marketOverview = basenameParam + \"/main/MarketOverview\";\r\n accountSettings = basenameParam + \"/main/AccountSettings\";\r\n\r\n settings = basenameParam + \"/main/Settings\"; \r\n newWorkspace = basenameParam + \"/main/NewWorkspace\";\r\n AdvanceChart = basenameParam + \"/main/AdvanceChart\";\r\n StockProfile = basenameParam + \"/main/StockProfile\";\r\n TechnicalAnalysis = basenameParam + \"/TechnicalAnalysis\";\r\n binanceWorkspace = basenameParam + \"/main/binanceWorkspace\";\r\n CopyPeopleProfileListWorkspace = basenameParam + \"/main/CopyPeopleProfileList\";\r\n AboutMyAccount = basenameParam + \"/main/AboutMyAccount\";\r\n\r\n /* if(localStorage.getItem(Constants.localStorageConstants.company_name) !== \"IFS\"){\r\n accountSettings = basenameParam + \"/main/AccountSettings\";\r\n } */ \r\n}\r\n\r\n\r\nexport const test = \"/test\";\r\n\r\n\r\nexport const any = \"/\";"],"sourceRoot":""}