{"version":3,"sources":["helpers/history.js","helpers/PrivateRoute.js","helpers/actionType.js","action/alertAction.js","helpers/commonClass.js","services/userService.js","action/loginAction.js","component/Pages/Login.js","services/gameService.js","action/gamesAction.js","services/accountService.js","action/accountAction.js","component/Pages/Home/LatestResult.js","component/Pages/IdelSessionTimer.js","component/LangSelector.js","component/Header/Header.js","component/Pages/Home/Home.js","component/Pages/Lotto/lottoLeft.js","component/Pages/Lotto/lottoRight.js","action/lottoAction.js","component/Pages/Lotto/lottoIndex.js","component/Pages/QuickWin/quickWinLeft.js","services/quickWinService.js","action/quickWinAction.js","component/Pages/QuickWin/quickWinRight.js","component/Pages/QuickWin/webGL.js","component/Pages/QuickWin/quickWinIndex.js","component/Pages/Target10/target10Left.js","component/Pages/Target10/target10Right.js","services/target10Service.js","action/target10Action.js","component/Pages/Target10/webGL.js","component/Pages/Target10/target10Index.js","component/Pages/common.js","component/Footer/Footer.js","component/Pages/Account/AccountInfo.js","component/Pages/Account/Addmoney.js","component/Pages/Account/Withdraw.js","component/Pages/Account/BetHistory.js","component/Pages/Account/AccountActivity.js","component/Pages/Account/AccountHistory.js","component/Pages/Account/AccountSummary.js","component/Pages/Account/ChangePassword.js","component/Pages/Account/UserProfile.js","component/Pages/Account/AccountIndex.js","component/Pages/Account/ResultReport.js","component/Pages/Faq.js","component/Pages/PrivacyPolicy.js","component/Pages/TermsAndCondition.js","component/Pages/UnderConstruction.js","component/Pages/Contact.js","component/Pages/AboutUs.js","component/Pages/CookiePolicy.js","component/Pages/HowToPlay.js","component/Pages/HelpAndSupport.js","component/Pages/BecomeAnAgent.js","component/Pages/SocialResponsibility.js","component/Pages/PressRelease.js","component/Error.js","component/Pages/Winners.js","component/Pages/Casino/Instant.js","services/raffleService.js","action/raffleAction.js","component/Pages/Raffle/RaffleIndex.js","component/Pages/Pick3/pick3Left.js","component/Pages/Pick3/pick3Right.js","component/Pages/Pick3/webGL.js","component/Pages/Pick3/pick3Index.js","component/Pages/Roulette/RouletteLeft.js","services/rouletteService.js","action/RouletteAction.js","component/Pages/Roulette/RouletteRight.js","component/Pages/Roulette/webGL.js","component/Pages/Roulette/RouletteIndex.js","component/Pages/Rafflephone/RafflePhoneIndex.js","component/Pages/RaffleBike/RaffleBikeIndex.js","App.js","reportWebVitals.js","reducer/loginReducer.js","reducer/gameReducer.js","reducer/commonReducer.js","reducer/rootReducer.js","reducer/alertReducer.js","reducer/lottoReducer.js","reducer/accountReducer.js","reducer/quickWinReducer.js","reducer/target10Reducer.js","reducer/raffleReducer.js","reducer/RouletteReducer.js","helpers/store.js","i18n.js","index.js"],"names":["history","createBrowserHistory","basename","process","PrivateRoute","Component","component","rest","render","props","localStorage","getItem","to","pathname","state","from","location","appConstants","alertActions","success","message","type","error","clear","loading","CryptoJS","require","commonClass","generateBetSlip","mybet","gamegroupID","betArr","split","status","msg","tempStr","tempStr1","forEach","el","tempStr2","length","push","no","amt","_bMsg","Id","TransDate","TransTime","DrawNo","DrawDate","DrawTime","Ball","TotalStakeAmount","GameName","balance","winbalance","ticketStatus","familyID","reprint","buttomMsg","ex","writeLog","generateBetSlipLotto","generateBetSlipRaffle","generateBetSlipQW","searchBetSlip","checkRptDateFilter","fr","datepattern","isValidDate","fr1","Date","replace","to1","alert","setHours","date","ss","getDate","slice","getMonth","getFullYear","cdate","fdate","handleResponse","response","text","then","ok","statusText","Promise","reject","Decryption","JSON","parse","requestOptions","Encryption","substring","tempStr3","ele","_betValue","BallNo","StakeValue","parseFloat","SubTotal","OddsValue","GameTime","GameID","parseInt","TransDateTime","betLst","data","isEncription","_auth","en_data","method","headers","Authorization","body","stringify","dateStr","matchArray","match","month","day","year","methodName","fetch","console","log","key","enc","Utf8","iv","AES","encrypt","keySize","mode","CBC","padding","pad","Pkcs7","toString","ciphertext","_str","decrypt","userService","login","_apiUrl","user","registration","logout","forgotPassword","changePassword","otpAuthentication","getBalance","reSendOtp","saveCustomerComplaint","saveAgentRequest","removeItem","loginActions","mobileNo","password","langID","dispatch","strArr","userdata","userid","username","loginKey","emailID","loginExpiry","setItem","serverTime","loginSkip","_flog","regFirstName","regLastName","regPassword","regEmailID","regMobileNo","regDob","regOtpCode","ipAddress","regRefNo","reg","pageFlog","otpMobileNo","regOtp","Status","Msg","setPage","forgotMobileNo","oldPassword","newPassword","setPageMenu","pageMenuID","_balArr","setTimeout","otpFor","playerName","mobNo","email","complaint","businessName","businessLocation","Login","showMsg","alertError","t","isDate18orMoreYearsOld","birthday","lst","optimizedBirthday","myBirthday","currentDate","toJSON","now","isRegister","submitted","regConfirmPassword","regTC","regSubmitted","forgotSubmitted","otpCode","otpSubmitted","regOtpSubmitted","isOtpSendNeed","handleInputChange","bind","submitLogin","submitRegister","submitForgotPassword","submitOtpValidate","submitSendOtp","e","name","target","value","toLowerCase","includes","test","document","getElementById","this","dt","setState","preventDefault","appvariables","countryCode","i18n","language","regDobTemp","handleFormValidation","flog","window","documentReadyDatePicker","class","style","minHeight","height","src","className","id","maxLength","placeholder","onChange","onClick","docMapVisiblePwd","color","fontSize","marginRight","aria-hidden","defaultChecked","float","marginLeft","mapActionToProps","connect","loginReducer","loggingIn","withTranslation","gameService","GetGameFamily","games","gamefamily","startsWith","elementobj","element","minSt","maxSt","prizeSt","ball","minSelect","maxSelect","minStakePerTrans","maxStakePerTrans","GetAvailableGames","GetServerTime","GetLatestResult","results","LotteryOnlineSale","GetCasinoGames","gameActions","GameFamily","SetGameFamily","gFamily","GameAvailableGames","familyId","currentAvailableDraws","cDraw","ClearAvailableGames","_date","getTime","SetServerTime","gameID","undefined","lResult","closeBetSlip","userID","casinoGame","accountService","getbetHistory","getAccountHistory","addMoney","withdrawMoney","getAccountSummary","getResultReport","getAccountActivity","ReprintTicket","getUserProfile","accountActions","GetBetHistory","dtFrom","dtTo","bet","strArr1","join","_his","strArr2","GameGroupId","TotalBet","DrawDateTime","WinAmount","bethistory","GetAccountHistory","accountHistory","AddMoney","txnNo","TransID","addmoney","WithdrawMoney","withdraw","GetAccountSummary","accountSummary","openBalance","totSale","totClaim","totCashIn","totCashOut","netTotal","GetResultReport","resultReport","GetAccountActivity","accountActivity","transID","_gameGroup","buyInfo","ss1","myBet","GetUserProfile","userProfile","profile","LatestResult","ResultReport","map","x","idx","GameDateTime","Result","z","inx","colSpan","accountReducer","IdelSessionTimer","_onAction","isTimedOut","_onActive","_onIdle","showPopUp","idleTimer","reset","handleClose","handleLogout","counter","ref","onActive","onIdle","onAction","debounce","timeout","transform","display","borderColor","width","backgroundColor","clearAlerts","LangSelector","useTranslation","useState","parts","cookie","lang_val","pop","shift","getCookie","selectedLang","setSelectedLang","changeLanguage","event","useEffect","documentReadyjQueryLang","Header","searchPrintTicker","searchTransID","trim","submitLogout","gamesTab","homeTab","accountTab","logoutTab","resultTab","contactTab","howtoplay","becomeanagent","helpsupport","documentReadyjQuery","alt","cursor","href","currency","indx","SelectGameFamily","gameReducer","Home","setjsondata","myJson","json","bannerList","items","item","selectGameFamily","documentReadyjQueryFlex","imagPath","tabIDT","maxHeight","overflowY","paddingBottom","title","frameborder","allow","allowfullscreen","Left","selectDraw","currentDraw","DrawID","borderBottom","gameFamily","prizeInfo","filter","a","lottoReducer","Right","cartItems","drawDateTime","removeFromCart","balls","bx","indx1","total","reduce","b","clearCart","buyLotteryBet","latestResult","Drawdatetime","WinningNo","background","lottoActions","AddToCart","cItem","SetCurrentDraw","RemoveFromCart","cid","ClearCart","RemoveClosedDrawbetFromCart","did","Buybet","buyStr","Lotto","calculateLottoPermCombinations","classType","ballscnt","i","Perm","Numerator","Denominator","checkBallCountAndCalculateCombination","selectedCount","default_Min_val","currentGamesFamily","default_max_val","default_val","createBall","ballLst","b_i","selectBall","currentCartItem","ballStartNumber","ballEndNumber","showSingleMsg","b_id","Object","keys","obj","cnt","ballCount","arrResult","objLst","gameName","LotName","drawID","GameId","amount","RateInPs","combination","_draw","selectRunningDraw","coundownStart","currentFinishingDraw","currentRunningDraw","sTime","setSeconds","getSeconds","dStr","getHours","getMinutes","timer","startDraw","RefreshAfterGameClose","my_componentWillUnmount","_serverTimeDiff","addToCart","newid","max","Math","clearAfterAddToCart","viewAnimationResult","isViewAnimation","random","QPBallCount","quickPick","k","_bal","generateRandomInteger","min","temp","floor","indexOf","countdownCompleted","getGameTime","renderer","days","hours","minutes","seconds","completed","zeroPad","getServerTime","reCount","rundraw","onComplete","BuyLotteryBet","totstake","minTotStake","maxTotStake","betInfo","cartList","sort","_dratID","_betType","totStakeAmt","betCountPerDraw","ballData","result","charCodeAt","String","fromCharCode","dateArr","butStr","coundTime","allGameClosed","previousProps","previousState","addEventListener","documentReadyResize","borderRight","commonReducer","QuickWinLeft","quickWinReducer","quickWinService","QuickWinOnlineSale","GetCurrentResult","Pick3OnlineSale","quickWinActions","UpdateStakeAll","stake","cResult","UpdateCartAll","Items","BuybetPick3","QuickWinRight","setUpdateStake","updatesStakeValue","bid","stakeValue","maxStake","minStake","oddsValue","ballNo","drawNo","readOnly","webGLApp","unityContext","UnityContext","loaderUrl","dataUrl","frameworkUrl","codeUrl","fnWelcome","strkey","tmr","setInterval","getElementsByClassName","clearInterval","send","fnStartAnimation","progression","proCompleted","sss","on","_prog","textAlign","QuickWin","qpMax","gameGroupID","_noOfBalls","NoofBalls","bMax","timerGetResultCount","timerGetResult","setWelcomScreenWebGL","s","startAnimationWebGL","currentResult","clearTimeout","timerGetLatestResult","index","valFound","totStake","transactionString","gamestring","subgameId","webglInit","dd","stakeAll","multiStake","target10Service","Target10OnlineSale","target10Actions","Target10","Common","PrintBetSlip","flst","_transID","_gameID","_gameTime","displayValue","format","fontFamily","Set","x1","idx1","Footer","getServerTimeF","d","getlatestTime","date1","dateMDY","dateTime","LocalTime","difTime","abs","AcccountInfo","toFixed","Addmoney","submitAddMoney","clearAddMoney","_addUrl","Withdraw","submitWithdraw","clearWithdraw","BetHistory","getRecord","flg","startDate","endDate","TransId","gameGroupId","reSetFilter","innerWidth","rePrintTicker","colspan","isActiveID","position","right","marginTop","AccountActivity","Description","Transdate","OpenBalance","Debit","Credit","CloseBalance","AccountHistory","AddmoneyAmt","Createddatetime","TransType","TransDesc","AcccountSummary","AccountSummary","ChangePassword","clearChangePwd","newConfirmPassword","changeSubmitted","submitChangePassword","UserProfile","UserName","DOB","PhoneNo","Email","AccountIndex","setTab","tabID","closeOption","documentReadyjQueryAcc","AccountInfo","reportID","handleChange","_id","checked","for","Faq","applyFAQaccordion","scrollTo","PrivacyPolicy","TermsAndCondition","UnderConsruction","Contact","firstName","lastName","submitCustomerQuery","border","cols","rows","AboutUs","CookiePolicy","HowToPlay","cTab","HelpAndSupport","BecomeAnAgent","submitAgent","SocialResponsibility","mystyle","pressList","pressname","linkUrl","ErrorBoundary","errorInfo","_dd","children","React","Winners","winnerList","applywinnerslid","popUpObj","Instant","ecry","showModalPopUp","url","_categoryID","datastr","orientation","close","open","focus","_mobNo","_loginkey","_lang","pmethod","closed","casinoGames","GameUrl","GameTypeID","CategoryID","GameTypeName","GameIcon","raffleService","GetSearchTicket","ClearSearchTicket","OnlineSale","raffleActions","searchType","searchKey","loginID","lstTicket","ClearSelectionTicket","Raffle","clearSearchTicket","searchkey","TicketID","TicketNo","selectTicket","_ticket","Active","TransactionID","lstAvailableTickets","setSearchOption","op","_len","_txtenable","SearchOption","WholeNumber","QuickPick","txtSearchEnable","txtSearchMaxLen","searchOptionID","searchTickets","Last2","First2","AnyWhere2","margin","font","xy","AvailableTickets","raffleReducer","pick3Left","pick3Right","pick3","pick3Lst","j","row_i","row_id","isQP","obj1","$","hasClass","removeClass","ballItem","RouletteLeft","rouletteService","RouletteSale","rouletteActions","RS","RSDESC","RouletteRight","nos","rouletteReducer","Roulette","gameGroupid","GameGroupID","replaceAll","betcomb","LstRouletteBetType","Number","ID","PutCoin","objEle","isFromOvelForChecking","cTabid","CurrentBallAction","coinVal","CurrentCoinValue","newID","newIDonly","refIDCount","disName","_refID","dataset","refid","cn","dcn","each","ids","ids1","_dname","dname","noVal","fLst1","fLst","maxValueLst","CateID","innerMaxpoint","MaxValue","outerMaxpoint","_oldVal","_ballcnt","newVal","ChecktheinnerMaxPoint","outerMinpoint","html","addtoCart","OtherGames","oldBetSlipList","objSelectedDraw","CurrentoldBetSlip","str","onclick","onmouseleave","onmouseover","data-coinval","data-ballno","data-ballcount","data-dname","parent","append","addtoCartOnReload","ballClick","attr","ObjEle","mouseLeaveEvt","DeleteBetSlip","toggleClass","mouseEnterEvt","ballno","coinValue","ballCnt","displayName","IsUpdate","_ballcount","stakeval","_dispName","isExist","UpdateAmountInControl","CalculateBetSlipTotal","_oddsValue","CurrentOddsValue","_bet","SubGameID","obj2","repeat","totamt","c_id","sessionStorage","lstSelectLottoBalls","lstSelectLottoBallsTemp","validreturn","key1","value1","value12","lstSelectLottoBallsTemp1","_val","idgame","$qty","currentVal","isNaN","UpdateTotalInListOnly","betAmt","v","ShowEmptyLottery","is","hide","IsAutoApply","AutoApplyCount","appendBetSlip","topdrawsection","footerbetsilpsection","DispName","fullbetslip","prepend","animate","scrollTop","isadd","show","ShowAdds","search","subTotal","css","_CurrentoldBetSlip","BallCount","UpdateTotalInListOnlappendBetSlip","gameid","fromHtml","remove","p","item3","click","DeleteAllBetSlip","val","showchooseCoin","parentElement","addClass","innerText","ballClickNew","_objIDArr","_objID","Stake","CoinID","coinParient","pos1","newObjXval","newObjYval","objClassName","objHeight","objWidth","objHeight_New","objWidth_New","left","top","Position","getRouletteBetType","_self","mouseover","mouseleave","currentTarget","tooltipSpan","mouseenter","mousemove","clientX","y","clientY","RaffleCar","RaffleBike","App","hideFooter","_pathname","hideNavLink","loadsitedata","version","listen","action","_myapp","_user","documentReadyHome","alertReducer","alertcolor","alertTitle","Error","exact","path","Account","UnderConstruction","PressRelease","Pick3","Rafflephone","mapDispatchToProps","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","appVar","pagemenu","initialState","loggedIn","allFamily","cFamily","initFamily","rootReducer","combineReducers","target10Reducer","store","createStore","applyMiddleware","thunkMiddleware","use","Backend","LanguageDetector","initReactI18next","init","lng","backend","loadPath","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","ReactDOM","fallback"],"mappings":"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vB,GAAQ,uCACVA,G,gEAINsP,OAAO4f,SAAS,EAAE,K,+BAGZ,IACEjgB,EAASN,KAAK3O,MAAdiP,KACR,OACI,sBAAKY,UAAU,gBAAf,UACI,cAAC,GAAD,IACA,qBAAKL,MAAM,YAAX,SACsB,MAAjBP,EAAKC,SACF,sBAAKM,MAAM,cAAX,UACI,gDACA,gDACA,qeACA,6mBACA,sBACA,0EACA,4DACA,6iBACA,oQACA,qDACA,kWAMA,+CACA,6aACA,yFACA,8DAEA,kMACA,wLACA,6bACA,qSAEA,kFACA,sPACA,4bACA,8GACA,uQACA,q6BAEA,6DACA,8GACA,6SACA,uhBACA,ifACA,mEACA,6KACA,8FACA,+HACA,yLACA,6UAA+S,mBAAGqL,KAAK,yBAAR,yCAC/S,wGACA,qBAAIrL,MAAM,UAAV,UACI,wFACA,6GACA,mIACA,uGACA,mGACA,qGACA,+DACA,mIACA,yNAGJ,sFACA,wJACA,qBAAIA,MAAM,UAAV,UACI,sMACA,8MACA,iLACA,moBACA,2nBACA,wlBACA,qIAGJ,sDACA,45BACA,4aACA,kDACA,qmBACA,2kBAEA,4NACA,mDACA,mnBACA,kLACA,gJACA,yQAEA,sDACA,maACA,iDACA,iPACA,gjBAEA,2OACA,2LAIJ,qBAAKA,MAAM,cAAX,SACI,sBAAKA,MAAM,cAAX,UACI,iEACA,4EACA,kJAAoH,mBAAGqL,KAAK,wBAAR,gCAApH,sUAAyd,mBAAGA,KAAK,8BAAR,2CACzd,6lBACA,mFACA,wDACA,idACA,mTACA,gDACA,wLAA2I,mBAAGA,KAAK,gCAAR,oCAA3I,4EACA,qBAAIrL,MAAM,UAAV,UACI,qEACA,kEACA,uDACA,iEAfR,KAgBW,+DACP,glBACA,sFACA,gDACA,mNACA,8LACA,2QACA,gQACA,mFACA,yMACA,6TACA,+GACA,gJACA,owBACA,kEACA,0FACA,kRACA,ueACA,8cACA,sEACA,qKACA,6HACA,uGACA,6KACA,wTAA0R,mBAAGqL,KAAK,gCAAR,yCAC1R,gFACA,qBAAIrL,MAAM,UAAV,UACI,2FACA,6HACA,qFACA,4LACA,wHACA,0FACA,qFACA,gJACA,sOAEJ,gFACA,0JACA,qBAAIA,MAAM,UAAV,UACI,2JACA,yMACA,kKACA,oeACA,ilBACA,sXACA,wHAEJ,0DACA,uuBACA,yJACA,qEACA,seACA,2ZACA,2KACA,2DACA,yeACA,sKACA,gJACA,uMACA,kEACA,oYACA,iDACA,sLACA,uZACA,0MACA,kR,GAlMJ5P,aA+M5B,IAGegR,gBANf,SAAyBvQ,GACrB,MAAO,KAEc,GAGVuQ,CAA2CG,eAAkBoe,KClNtEC,G,kDACF,WAAYpvB,GAAQ,uCACVA,G,kGAMA,IACEiP,EAASN,KAAK3O,MAAdiP,KACR,OACI,qBAAKY,UAAU,wBAAf,SACI,sBAAKL,MAAM,YAAX,UAEI,qBAAKA,MAAM,QAAX,SACI,qBAAKI,IAAI,wBAAwB+K,IAAI,uBAEvB,MAAjB1L,EAAKC,SACF,sBAAKM,MAAM,cAAX,UACI,qDACA,4CAAc,mBAAGqL,KAAK,sBAAsBzM,OAAO,SAArC,kCAAd,4PAA+S,mBAAGyM,KAAK,+BAAR,6CAC/S,yUAA6Q,mBAAGA,KAAK,0BAAR,qCAA7Q,oMAA2gB,mBAAGA,KAAK,0BAAR,qCAA3gB,yLACA,+XACA,kDACA,kFACA,w/BACA,yEACA,mDACA,uXACA,qjBACA,ywBACA,i/BACA,8DACA,4JACA,iDACA,06BACA,0IACA,yEACA,8lBACA,8CACA,iTACA,ioBACA,+gBACA,uEACA,iKACA,+CACA,k5BACA,+CACA,4TACA,mBAAGrL,MAAM,QAAT,mWACA,qEACA,gyBACA,sDACA,sTACA,4EACA,kTACA,6zBACA,wFACA,+DACA,ybACA,+2CACA,yDACA,g6BACA,kDACA,6fACA,kDACA,uvBACA,kDACA,4NACA,2DACA,0cACA,4DACA,iEACA,yHACA,gsBAGA,kEACA,2ZACA,iEACA,oWACA,uDACA,+CACA,2NACA,qcACA,uDACA,uSACA,4DACA,0oBACA,uEACA,khBACA,0YAEA,ySAGA,qmBACA,kJACA,4LACA,ydACA,sOAEA,wVACA,8WACA,+IACA,sUACA,8QACA,8QACA,2ZAEA,yQACA,yjBAGA,2iBACA,q2BACA,q0BACA,4eACA,uFACA,sDACA,kmBACA,2DACA,8EACA,yGACA,kKACA,8LACA,uOACA,wYACA,uXAGA,6HACA,mOACA,4DACA,owBACA,8CACA,0yBACA,iUACA,wEACA,siBACA,qjBACA,2DACA,uuBACA,sEACA,8FACA,obACA,qVACA,4JACA,wIACA,sJACA,8CACA,qBAAIA,MAAM,UAAV,UACI,gFACA,0JAEJ,6JACA,iDACA,qZACA,wDACA,iFACA,wnCACA,+DACA,w1CACA,wWACA,8DACA,u6CACA,iZACA,kXACA,qDACA,0jCACA,0EACA,6eACA,gYAEA,oDACA,kXACA,2DACA,8iBACA,6DACA,wvBAGA,gDACA,0gBACA,6DACA,glBACA,mDACA,umBACA,+DACA,8BAAG,cAAC,KAAD,CAAMrP,GAAG,iBAAiBiO,OAAO,SAAjC,mBAAH,2CACA,6CACA,8BAAG,cAAC,KAAD,CAAMjO,GAAG,gBAAgBiO,OAAO,SAAhC,mBAAH,2CACA,sDACA,qnBAIJ,sBAAKoB,MAAM,cAAX,UACI,6DACA,6CACA,oDAAsB,mBAAGqL,KAAK,qBAAqBzM,OAAO,SAApC,gCAAtB,2PACA,iVACA,mTACA,8DACA,kFACA,woBACA,mFACA,gDACA,+RACA,4cACA,meACA,onBACA,+DACA,+LACA,4DACA,uvBACA,kHACA,2DACA,sWACA,8CACA,+UACA,ikBACA,uaACA,4DACA,kHACA,yDACA,6uBACA,+CACA,yOACA,mBAAGoB,MAAM,QAAT,mQACA,gFACA,00BACA,4EACA,+SACA,+DACA,gUACA,6qBACA,4FACA,gEACA,qbACA,8pBAAinB,mBAAGqL,KAAK,gCAAR,qCAAjnB,qZACA,oDACA,waAA0Y,mBAAGA,KAAK,gCAAR,qCAA1Y,gNACA,iDACA,iWACA,yDACA,2jBACA,mDACA,wGAA0E,mBAAGA,KAAK,gCAAR,qCAA1E,sFACA,oEACA,8bACA,+DACA,uEACA,+GAAuE,uBAAvE,kbAGA,2EACA,kWACA,4EACA,2UACA,gEACA,iDACA,wNACA,uQACA,+MACA,qEACA,4QA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","file":"static/js/main.4e158dff.chunk.js","sourcesContent":["import {createBrowserHistory } from 'history';\r\n\r\n//export const history = createBrowserHistory({basename:\"/RwandaApp\"});\r\nexport const history = createBrowserHistory({basename:process.env.REACT_APP_BASENAME});\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\n\r\nexport const PrivateRoute = ({ component: Component, ...rest }) => ( \r\n (localStorage.getItem('user')? : \r\n )} />\r\n)","export const appConstants={\r\n LOGIN_REQUEST : 'LOGIN_REQUEST',\r\n LOGIN_SUCCESS : 'LOGIN_SUCCESS',\r\n LOGIN_ERROR : 'LOGIN_ERROR',\r\n LOGOUT : 'LOGOUT',\r\n\r\n REGISTER_REQUEST : 'REGISTER_REQUEST',\r\n REGISTER_SUCCESS : 'REGISTER_SUCCESS',\r\n REGISTER_ERROR : 'REGISTER_ERROR',\r\n\r\n SUCCESS: 'ALERT_SUCCESS',\r\n\tERROR: 'ALERT_ERROR',\r\n CLEAR: 'ALERT_CLEAR',\r\n \r\n GET_GAMEFAMILY_SUCCESS : 'GET_GAMEFAMILY',\r\n GET_GAMEFAMILY_ERROR : 'GET_GAMEFAMILY',\r\n\r\n SET_GAMEFAMILY: 'SET_GAMEFAMILY',\r\n\r\n //GET_GAME_SUCCESS: 'GET_GAME_SUCCESS',\r\n //GET_GAME_ERROR: 'GET_GAME_ERROR',\r\n\r\n GET_AVAILDRAWS_SUCCESS:\"GET_AVAILDRAWS_SUCCESS\",\r\n GET_AVAILDRAWS_ERROR:\"GET_AVAILDRAWS_ERROR\",\r\n\r\n GET_SERVERTIME_SUCCESS:\"GET_SERVERTIME_SUCCESS\",\r\n GET_SERVERTIME_ERROR:\"GET_SERVERTIME_ERROR\",\r\n\r\n SET_DRAW:\"SET_DRAW\",\r\n\r\n ADD_CARTITEM: 'ADD_CARTITEM', \r\n UPDATE_CARTITEM: 'UPDATE_CARTITEM',\r\n REMOVE_CARTITEM: 'REMOVE_CARTITEM',\r\n CLEAR_CARTITEM: 'CLEAR_CARTITEM',\r\n REMOVE_CLOSEDDRAW_CARTITEM: 'REMOVE_CLOSEDDRAW_CARTITEM',\r\n\r\n BUY_SUCCESS: 'BUY_SUCCESS',\r\n BUY_ERROR:'BUY_ERROR',\r\n LOADING:'LOADING',\r\n LOADED:'LOADED',\r\n\r\n GET_BALANCE:'GET_BALANCE',\r\n\r\n GET_BET_HISTORY:'GET_BET_HISTORY',\r\n GET_ACCOUNT_HISTORY:'GET_ACCOUNT_HISTORY',\r\n GET_ACCOUNT_ACTIVITY:'GET_ACCOUNT_ACTIVITY',\r\n GET_RESULT_REPORT:'GET_RESULT_REPORT',\r\n GET_ACCOUNT_SUMMARY:'GET_ACCOUNT_SUMMARY',\r\n ADD_MONEY_SUCCESS:'ADD_MONEY_SUCCESS',\r\n WITHDRAW_MONEY_SUCCESS:'WITHDRAW_MONEY_SUCCESS',\r\n SET_PAGE_MENU:'SET_PAGE_MENU',\r\n UPDATE_STAKE_ALL:\"UPDATE_STAKE_ALL\",\r\n\r\n GET_LATEST_RESULT_SUCCESS:\"GET_LATEST_RESULT_SUCCESS\",\r\n GET_LATEST_RESULT_ERROR:\"GET_LATEST_RESULT_ERROR\",\r\n GET_CURRENT_RESULT:\"GET_CURRENT_RESULT\",\r\n GET_USER_PROFILE:\"GET_USER_PROFILE\",\r\n\r\n GET_CASINO_GAMES:\"GET_CASINO_GAMES\",\r\n\r\n SET_SEARCH_TICKET:\"SET_SEARCH_TICKET\",\r\n\r\n}\r\n","import { appConstants } from '../helpers/actionType';\r\n\r\nexport const alertActions = {\r\n\tsuccess,\r\n\terror,\r\n\tclear,\r\n\tloading\r\n};\r\n\r\nfunction success(message) {\r\n\treturn { type: appConstants.SUCCESS, message };\r\n}\r\n\r\nfunction error(message) {\r\n\treturn { type: appConstants.ERROR, message };\r\n}\r\n\r\nfunction clear() {\r\n\treturn { type: appConstants.CLEAR };\r\n}\r\n\r\nfunction loading(message) {\r\n\treturn { type: appConstants.LOADING, message };\r\n}","var CryptoJS = require(\"crypto-js\");\r\n\r\nexport const commonClass = {\r\n generateBetSlip,\r\n searchBetSlip,\r\n checkRptDateFilter,\r\n writeLog,\r\n handleResponse,\r\n requestOptions,\r\n Encryption,\r\n Decryption\r\n};\r\n\r\nfunction searchBetSlip(mybet, gamegroupID) {\r\n return generateBetSlipQW(mybet, gamegroupID);\r\n};\r\n\r\nfunction generateBetSlip(mybet, gamegroupID) {\r\n if (gamegroupID == \"4\")\r\n return generateBetSlipLotto(mybet);\r\n if (gamegroupID == \"1\" || gamegroupID == \"9\" || gamegroupID == \"10\")\r\n return generateBetSlipRaffle(mybet);\r\n else if (gamegroupID == \"5\" || gamegroupID == \"3\")//5-quicklotto ,3-quick10\r\n return generateBetSlipQW(mybet);\r\n else if (gamegroupID == \"7\")\r\n return generateBetSlipQW(mybet);\r\n /* else if (gamegroupID == \"8\")\r\n return generateBetSlipRoulette(mybet); */\r\n else\r\n return null;\r\n};\r\n\r\nfunction generateBetSlipLotto(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n let tempStr = betArr[9].split('|');\r\n //let tempStr1 = tempStr[0].split('@');\r\n //let tempStr2 = tempStr[1].split('|');\r\n let tempStr1 = [];\r\n tempStr.forEach(el => {\r\n let tempStr2 = el.split('@');\r\n if (tempStr2.length > 1) {\r\n tempStr1.push({ no: tempStr2[0], amt: tempStr2[1] });\r\n }\r\n });\r\n let _bMsg = \"\";\r\n if (betArr.length > 16) {\r\n _bMsg = betArr[16];\r\n }\r\n let betObj = {\r\n Id: betArr[2],\r\n TransDate: betArr[3],\r\n TransTime: betArr[4],\r\n DrawNo: betArr[5],\r\n DrawDate: betArr[6],\r\n DrawTime: betArr[7],\r\n Ball: tempStr1,\r\n TotalStakeAmount: betArr[10],\r\n GameName: betArr[13],\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: betArr[11],\r\n winbalance: betArr[12],\r\n ticketStatus: null,//betArr.length > 15 ? betArr[15] : \"-\"\",\r\n familyID: 4,\r\n reprint: true,\r\n buttomMsg: _bMsg\r\n }\r\n return betObj;\r\n } catch (ex) {\r\n writeLog(ex);\r\n }\r\n};\r\n\r\nfunction generateBetSlipQW(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n mybet = mybet.substring(2, mybet.length - 1);\r\n let tempStr = mybet.split('@');\r\n //let tempStr1 = tempStr[1].split('~');\r\n let tempStr2 = tempStr[0].split('|');\r\n let tempStr3 = [];\r\n tempStr2.forEach(ele => {\r\n let _betValue = ele.split('~');\r\n if (_betValue.length > 1) {\r\n tempStr3.push({\r\n Id: _betValue[0],\r\n BallNo: _betValue[2].split(' ')[1],\r\n StakeValue: parseFloat(_betValue[3]),\r\n SubTotal: parseFloat(_betValue[4]),\r\n OddsValue: _betValue[5],\r\n GameTime: _betValue[6] + \" \" + _betValue[7],\r\n GameID: parseInt(_betValue[8]),\r\n TransDateTime: _betValue[10],\r\n GameName: _betValue[12],\r\n });\r\n }\r\n });\r\n let _bMsg = \"\";\r\n if (tempStr.length > 1) {\r\n _bMsg = tempStr[1];\r\n }\r\n let betObj = {\r\n betLst: tempStr3,\r\n status: betArr[0],\r\n msg: \"success\",\r\n //balance: tempStr1[0],\r\n //winbalance: tempStr1[1], \r\n ticketStatus: null, //tempStr2[tempStr2.length - 1],\r\n familyID: 5,\r\n reprint: true,\r\n buttomMsg: _bMsg\r\n }\r\n return betObj;\r\n } catch (ex) {\r\n writeLog(ex);\r\n }\r\n};\r\n\r\nfunction generateBetSlipRaffle(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n let tempStr = betArr[2].split('^');\r\n let tempStr1 = [];\r\n tempStr.forEach(el => {\r\n let tempStr2 = el.split('@');\r\n if (tempStr2.length > 1) {\r\n tempStr1.push({ no: tempStr2[0], amt: tempStr2[1] });\r\n }\r\n });\r\n let _bMsg = \"\";\r\n if (betArr.length > 12) {\r\n _bMsg = betArr[12];\r\n }\r\n let betObj = {\r\n Id: betArr[1],\r\n TransDate: betArr[7],\r\n TransTime: betArr[8],\r\n DrawNo: betArr[6],\r\n DrawDate: betArr[4],\r\n DrawTime: betArr[5],\r\n Ball: tempStr1,\r\n TotalStakeAmount: betArr[3],\r\n GameName: betArr[9],\r\n status: betArr[0],\r\n msg: \"success\",\r\n // balance : betArr[10],\r\n // winbalance : betArr[11],\r\n familyID: 4,\r\n buttomMsg: _bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n writeLog(ex);\r\n }\r\n};\r\n/* function generateBetSlipRoulette(mybet) {\r\n try {\r\n let betArr = mybet.RS.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: mybet.RSDESC };\r\n } \r\n let tempStr = mybet.RSDESC.split('|');\r\n let tempStr3 = [];\r\n tempStr.forEach(ele => {\r\n let _betValue = ele.split('~');\r\n if (_betValue.length > 1) {\r\n tempStr3.push({\r\n Id: _betValue[0],\r\n BallNo: _betValue[4],\r\n GameName: _betValue[3],\r\n StakeValue: parseFloat(_betValue[5]),\r\n SubTotal: parseFloat(_betValue[7]),\r\n OddsValue: _betValue[6],\r\n GameTime: _betValue[1],\r\n GameID: parseInt(_betValue[2]),\r\n TransDateTime: _betValue[1]\r\n });\r\n }\r\n }); \r\n let betObj = {\r\n betLst: tempStr3,\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: betArr[1],\r\n winbalance: betArr[2],\r\n familyID: 5,\r\n //buttomMsg:_bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n writeLog(ex);\r\n }\r\n};\r\n */\r\n\r\nfunction requestOptions(data, isEncription = true) {\r\n let _auth = process.env.REACT_APP_API_USERNAME + ':' + process.env.REACT_APP_API_PASSWORD;\r\n if (data) {\r\n let en_data = isEncription == true ? Encryption(data) : data;\r\n return {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Basic ' + _auth,\r\n },\r\n body: JSON.stringify({ \"data\": en_data })\r\n };\r\n }\r\n else {\r\n return {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Basic ' + _auth,\r\n }\r\n };\r\n }\r\n};\r\n\r\nfunction handleResponse(response) {\r\n try {\r\n return response.text().then(text => {\r\n if (!response.ok) {\r\n //if (response.status === 401) {\r\n //auto logout if 401 response returned from api\r\n //logout();\r\n //location.reload(true);\r\n //}\r\n\r\n //const error = (data && data.message) || response.statusText;\r\n //const error ={message:( (data && data.message) || response.statusText)};\r\n const error = { message: response.statusText };\r\n return Promise.reject(error);\r\n }\r\n const data = text && JSON.parse(text);\r\n let en_data = Decryption(data);\r\n return en_data;\r\n });\r\n } catch (ex) {\r\n writeLog(ex);\r\n }\r\n};\r\n\r\nfunction checkRptDateFilter(fr, to) {\r\n let datepattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n if (!isValidDate(fr)) {\r\n return false;\r\n } if (!isValidDate(to)) {\r\n return false;\r\n }\r\n var fr1 = new Date(new Date(fr.replace(datepattern, '$3-$2-$1').replace(/-/g, '/')));\r\n var to1 = new Date(new Date(to.replace(datepattern, '$3-$2-$1').replace(/-/g, '/')));\r\n if (fr1 > to1) {\r\n alert(\"Invalid Date Filter\");\r\n return false;\r\n }\r\n fr1.setHours(0, 0, 0, 0);\r\n to1.setHours(0, 0, 0, 0);\r\n if (fr1 > to1 || fr1 < to1) {\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n var cdate = new Date(new Date(ss.replace(datepattern, '$3-$2-$1').replace(/-/g, '/')));\r\n var to = (\"0\" + to1.getDate()).slice(-2) + \"/\" + (\"0\" + (to1.getMonth() + 1)).slice(-2) + \"/\" + to1.getFullYear();\r\n var fdate = new Date(new Date(to.replace(datepattern, '$3-$2-$1').replace(/-/g, '/')));\r\n cdate.setHours(0, 0, 0, 0);\r\n fdate.setHours(0, 0, 0, 0);\r\n if (!(cdate > fdate || cdate < fdate)) {\r\n alert(\"Current date can't combine with other date!\");\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\n//This function validates the date for DD/MM/YYYY format. \r\nfunction isValidDate(dateStr) {\r\n // Checks for the following valid date formats:\r\n // DD/MM/YYYY\r\n // Also separates date into month, day, and year variables\r\n var datePat = /^(\\d{2,2})(\\/)(\\d{2,2})\\2(\\d{4}|\\d{4})$/;\r\n var matchArray = dateStr.match(datePat); // is the format ok?\r\n if (matchArray == null) {\r\n alert(\"Date must be in dd/MM/yyyy format!\")\r\n return false;\r\n }\r\n let month = matchArray[3]; // parse date into variables\r\n let day = matchArray[1];\r\n let year = matchArray[4];\r\n if (month < 1 || month > 12) { // check month range\r\n alert(\"Invalid date format!\");\r\n return false;\r\n }\r\n if (day < 1 || day > 31) {\r\n alert(\"Invalid date format!\");\r\n return false;\r\n }\r\n if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {\r\n alert(\"Month \" + month + \" doesn't have 31 days!\")\r\n return false;\r\n }\r\n if (month == 2) { // check for february 29th\r\n var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));\r\n if (day > 29 || (day == 29 && !isleap)) {\r\n alert(\"February \" + year + \" doesn't have \" + day + \" days!\");\r\n return false;\r\n }\r\n }\r\n return true; // date is valid\r\n};\r\n\r\nfunction writeLog(ex, methodName = \"\") {\r\n try {\r\n ////let data=\"ERROR : \"+ex.error +\"\\n ERROR INFO : \"+ex.errorInfo;\r\n\r\n // let data = \"ERROR : \" + ex + \" at \" + methodName;\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: { 'Content-Type': 'application/json' },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n let data = JSON.stringify(ex) + \" , Method : \" + methodName;\r\n return fetch(`${process.env.REACT_APP_API_URL}/log/writeLog`, requestOptions(data, false));\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n};\r\n\r\nvar key = CryptoJS.enc.Utf8.parse(process.env.REACT_APP_ENC_KEY);\r\nvar iv = CryptoJS.enc.Utf8.parse(process.env.REACT_APP_ENC_KEY);\r\nfunction Encryption(data) {\r\n try {\r\n // var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), process.env.REACT_APP_ENC_KEY).toString();\r\n // return ciphertext;\r\n\r\n var ciphertext = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(data)), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString();\r\n return ciphertext;\r\n }\r\n catch (ex) {\r\n writeLog(ex);\r\n }\r\n return '';\r\n};\r\n\r\nfunction Decryption(ciphertext) {\r\n try {\r\n // var bytes = CryptoJS.AES.decrypt(ciphertext, process.env.REACT_APP_ENC_KEY);\r\n // let _str=bytes.toString(CryptoJS.enc.Utf8);\r\n // var decryptedData = JSON.parse(_str);\r\n // return decryptedData;\r\n\r\n var decrypted = CryptoJS.AES.decrypt(ciphertext, key, {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n let _str = decrypted.toString(CryptoJS.enc.Utf8);\r\n var decryptedData = JSON.parse(_str);\r\n return decryptedData;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n return '';\r\n};\r\n","import { commonClass } from \"../helpers/commonClass\"\r\nexport const userService = {\r\n\tlogin,\r\n\tregistration,\r\n\tlogout,\r\n\tforgotPassword,\r\n\tchangePassword,\r\n\totpAuthentication,\r\n\tgetBalance,\r\n\treSendOtp,\r\n\tsaveCustomerComplaint,\r\n\tsaveAgentRequest\r\n};\r\n//const _apiUrl=\"http://localhost:2000/api\";\r\n//const _apiUrl=\"http://www.nodetest.com/api\";\r\n//const _apiUrl=\"http://220.225.104.132:8080/api\";\r\nconst _apiUrl=process.env.REACT_APP_API_URL;\r\n\r\nfunction login(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// }; \r\n\treturn fetch(`${_apiUrl}/user/login`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"login\");\r\n\t}\r\n};\r\n\r\nfunction registration(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/register`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"registration\");\r\n\t}\r\n};\r\n\r\nfunction forgotPassword(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/forgotPassword`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"forgotPassword\");\r\n\t}\r\n};\r\n\r\nfunction changePassword(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/changePassword`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"changePassword\");\r\n\t}\r\n};\r\n\r\nfunction otpAuthentication(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/otpAuthentication`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"otpAuthentication\");\r\n\t}\r\n};\r\n\r\nfunction reSendOtp(data) {\r\ntry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/resendOtp`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"reSendOtp\");\r\n\t}\r\n};\r\n\r\n\r\nfunction getBalance(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/getBalance`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"getBalance\");\r\n\t}\r\n};\r\n\r\nfunction saveCustomerComplaint(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/saveCustomerComplaint`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"saveCustomerComplaint\");\r\n\t}\r\n};\r\n\r\nfunction saveAgentRequest(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/user/saveAgentDetails`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\r\n\t\t\t// store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('user', JSON.stringify(user));\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex,\"saveAgentRequest\");\r\n\t}\r\n};\r\n\r\nfunction handleResponse_old(response) {\r\n\ttry{\r\n\treturn response.text().then(text => {\r\n\t\tconst data = text && JSON.parse(text);\r\n\t\tif (!response.ok) {\r\n\t\t\tif (response.status === 401) {\r\n\t\t\t\t// auto logout if 401 response returned from api\r\n\t\t\t\tlogout();\r\n\t\t\t\t// location.reload(true);\r\n\t\t\t}\r\n\t\t\tconst error = (data && data.message) || response.statusText;\r\n\t\t\treturn Promise.reject(error);\r\n\t\t}\r\n\t\treturn data;\r\n\t});\r\n}\r\ncatch (ex) {\t\t\r\n\tcommonClass.writeLog(ex);\r\n}\r\n};\r\n\r\n// remove user from local storage to log user out\r\nfunction logout(data) {\r\n\tlocalStorage.removeItem('user');\t\r\n\tif(data)\r\n\t{\r\n\ttry{\t\t\r\n\t\treturn fetch(`${_apiUrl}/user/logout`, commonClass.requestOptions(data))\r\n\t\t\t.then(commonClass.handleResponse)\r\n\t\t\t.then(user => {\t\t\r\n\t\t\t\treturn user;\r\n\t\t\t});\r\n\t\t}\r\n\t\tcatch (ex) {\t\t\r\n\t\t\tcommonClass.writeLog(ex,\"logout\");\r\n\t\t}\r\n\t}\r\n};","import { appConstants } from '../helpers/actionType';\r\nimport { userService } from '../services/userService';\r\nimport { history } from '../helpers/history';\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { commonClass } from \"..//helpers/commonClass\"\r\n\r\nexport const loginActions = {\r\n\tlogin,\r\n\tloginSkip,\r\n\tregistration,\r\n\totpAuthentication,\r\n\tsetPage,\r\n\tforgotPassword,\r\n\tchangePassword,\r\n\tlogout,\r\n\tsetPageMenu,\r\n\tgetBalance,\r\n\treSendOtp,\r\n\tsaveCustomerComplaint,\r\n\tsaveAgentRequest\r\n}\r\n\r\n\r\nfunction loginSkip(_flog) {\r\n\tlet _timeout = (1000 * 60 * 2);\r\n\treturn dispatch => {\r\n\t\tlet userdata = { userid: \"0\", username: \"\", mobileNo: \"0\", balance: \"0\", winbalance: \"0\", loginKey: \"0\", emailID: \"\", loginExpiry: _timeout };\r\n\t\tlocalStorage.setItem('user', JSON.stringify(userdata));\r\n\t\tdispatch({ type: appConstants.LOGIN_SUCCESS, userdata });\r\n\t\tif (_flog != 1) {\r\n\t\t\thistory.push('/');\r\n\t\t}\r\n\t}\r\n};\r\n\r\n\r\nfunction login(mobileNo, password,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\t//dispatch({ type: appConstants.LOGIN_REQUEST, mobileNo });\t\t\r\n\t\t\tlet data = `'0','0','${mobileNo}','${password}','','${langID}'`;\r\n\t\t\tuserService.login(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tuser => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet strArr = user.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(\"Login Success\"));\r\n\t\t\t\t\t\t\t//let dt=(new Date().getTime() + (1 * 1 * 1 * 60 * 1000)); //(1 * 24 * 60 * 60 * 1000) //day hour min sec msec \t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tlet userdata = { userid: strArr[1], username: strArr[2], mobileNo: strArr[1], balance: strArr[3], winbalance: strArr[4], loginKey: strArr[5], emailID: strArr[6], loginExpiry:parseInt(strArr[7]) };\r\n\t\t\t\t\t\t\tlocalStorage.setItem('user', JSON.stringify(userdata));\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOGIN_SUCCESS, userdata });\r\n\t\t\t\t\t\t\tif (strArr.length > 9) {\r\n\t\t\t\t\t\t\t\tlet serverTime = strArr[9];\r\n\t\t\t\t\t\t\t\tdispatch({ type: appConstants.GET_SERVERTIME_SUCCESS, serverTime });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\thistory.push('/');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = strArr[1];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOGIN_ERROR, error });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOGIN_ERROR, error });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction registration(regFirstName, regLastName, regPassword, regEmailID, regMobileNo, regDob, regOtpCode, ipAddress, regRefNo,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `0,'0','${regMobileNo}','${regPassword}','${regFirstName} ${regLastName}','${regEmailID}','${regDob}','${regOtpCode}','${langID}'`;\r\n\t\t\tuserService.registration(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t\tlet pageFlog = 0;\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog });\r\n\t\t\t\t\t\t\thistory.push('/');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (strArr[0] == '2') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t\tlet pageFlog = 3;\r\n\t\t\t\t\t\t\tlet otpMobileNo = strArr[2];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog, otpMobileNo });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = strArr[1];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction forgotPassword(forgotMobileNo,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${forgotMobileNo}','${langID}'`;\r\n\t\t\tuserService.forgotPassword(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t\tlet pageFlog = 0;\r\n\t\t\t\t\t\t\tlet otpMobileNo = forgotMobileNo;\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog, otpMobileNo });\r\n\t\t\t\t\t\t\thistory.push('/');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = strArr[1];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction changePassword(forgotMobileNo, oldPassword, newPassword,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tlet data = `'${forgotMobileNo}','${oldPassword}','${newPassword}','${langID}'`;\r\n\t\t\tuserService.changePassword(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tlet pageFlog = 0;\r\n\t\t\t\t\t\t\tlet otpMobileNo = forgotMobileNo;\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog, otpMobileNo });\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t\tlogout();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (strArr[0] != '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = reg.data;\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction otpAuthentication(regMobileNo, regOtp,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tlet data = `'${regMobileNo}','${regOtp}','${langID}'`;\r\n\t\t\tuserService.otpAuthentication(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tif (reg.Status == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(reg.Msg));\r\n\t\t\t\t\t\t\tlet pageFlog = 2;\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog });\r\n\t\t\t\t\t\t\thistory.push('/');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = reg.Msg;\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction reSendOtp(regMobileNo, regEmailID,otpFor,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${regMobileNo}','${regEmailID}',${otpFor},'${langID}'`;\r\n\t\t\tuserService.reSendOtp(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t\tlogout();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (strArr[0] != '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = reg.data;\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.REGISTER_ERROR, error });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getBalance(regMobileNo, loginKey,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tlet data = `0,0,'${regMobileNo}','${loginKey}','${langID}'`;\r\n\t\t\tuserService.getBalance(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tlet _balArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (_balArr[0] == '0') {\r\n\t\t\t\t\t\t\tlet balance = _balArr[1];\r\n\t\t\t\t\t\t\tlet winbalance = _balArr[2];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (_balArr[0] == '4') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(_balArr[1]));\r\n\t\t\t\t\t\t\tsetTimeout(() => { history.push('/login') }, 2000);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet balance = 0;\r\n\t\t\t\t\t\tlet winbalance = 0;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction setPage(pageFlog, otpMobileNo) {\r\n\treturn dispatch => {\r\n\t\tdispatch({ type: appConstants.REGISTER_SUCCESS, pageFlog, otpMobileNo });\r\n\t}\r\n};\r\n\r\nfunction setPageMenu(pageMenuID) {\r\n\treturn dispatch => {\r\n\t\tdispatch({ type: appConstants.SET_PAGE_MENU, pageMenuID });\r\n\t}\r\n};\r\n\r\nfunction saveCustomerComplaint(playerName, mobNo, email, complaint,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tlet data = `'${playerName}','${mobNo}','${email}','${complaint}','${langID}'`;\r\n\t\t\tuserService.saveCustomerComplaint(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (strArr[0] != '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = reg.data;\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction saveAgentRequest(playerName, mobNo, email, businessName,businessLocation,langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tlet data = `'${playerName}','${mobNo}','${email}','${businessName}','${businessLocation}','${langID}'`;\r\n\t\t\tuserService.saveAgentRequest(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\treg => {\r\n\t\t\t\t\t\tlet strArr = reg.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (strArr[0] != '0') {\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(strArr[1]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet error = reg.data;\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch(alertActions.error(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction logout() {\r\n\tuserService.logout();\r\n\thistory.push('/login');\r\n\treturn { type: appConstants.LOGOUT }\r\n};\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { loginActions } from '../../action/loginAction';\r\nimport { alertActions } from \"../../action/alertAction\";\r\nimport { commonClass } from \"../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass Login extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.props.logout();\r\n\r\n\t\tif (this.props.location.state && this.props.location.state.isRegister) {\r\n\t\t\tthis.props.setPage(this.props.location.state.isRegister)\r\n\t\t}\r\n\t\tthis.state = {\r\n\t\t\tmobileNo: '',\r\n\t\t\tpassword: '',\r\n\t\t\tsubmitted: false,\r\n\r\n\t\t\tregFirstName: '',\r\n\t\t\tregLastName: '',\r\n\t\t\tregPassword: '',\r\n\t\t\tregConfirmPassword: '',\r\n\t\t\tregEmailID: '',\r\n\t\t\tregMobileNo: '',\r\n\t\t\tregOtp: '',\r\n\t\t\tregTC: false,\r\n\t\t\tregDob: '',\r\n\t\t\tregSubmitted: false,\r\n\r\n\t\t\tforgotMobileNo: '',\r\n\t\t\tforgotSubmitted: false,\r\n\r\n\t\t\totpCode: '',\r\n\t\t\totpSubmitted: false,\r\n\r\n\t\t\tregOtpCode: '',\r\n\t\t\tregOtpSubmitted: false,\r\n\t\t\tisOtpSendNeed: false,\r\n\t\t};\r\n\t\tthis.handleInputChange = this.handleInputChange.bind(this);\r\n\t\tthis.submitLogin = this.submitLogin.bind(this);\r\n\t\tthis.submitRegister = this.submitRegister.bind(this);\r\n\t\tthis.submitForgotPassword = this.submitForgotPassword.bind(this);\r\n\t\tthis.submitOtpValidate = this.submitOtpValidate.bind(this);\r\n\t\tthis.submitSendOtp = this.submitSendOtp.bind(this);\r\n\r\n\t}\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tpageFlog: props.pageFlog,\r\n\t\t\totpMobileNo: props.otpMobileNo\r\n\t\t};\r\n\t};\r\n\thandleInputChange(e) {\r\n\t\ttry {\r\n\t\t\tlet name = e.target.name;\r\n\t\t\tlet value = e.target.value;\r\n\t\t\tif ((name.toLowerCase().includes(\"mobile\") || name.toLowerCase().includes(\"otp\")) && value && (/^[0-9\\b]+$/.test(value)) == false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (name == \"regDob\") {\r\n\t\t\t\tvalue = document.getElementById(\"datepicker1\").value;\r\n\t\t\t}\r\n\t\t\telse if (this.state.pageFlog == 1) {\r\n\t\t\t\tlet dt = document.getElementById(\"datepicker1\").value;\r\n\t\t\t\tif (this.state.regDob != dt) {\r\n\t\t\t\t\tthis.setState({ regDob: dt });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (name == \"regTC\") {\r\n\t\t\t\t//this.setState({ regTC: !regTC }) \r\n\t\t\t\tvalue = !this.state.regTC;\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\t[name]: value\r\n\t\t\t});\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"handleInputChange\");\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tsubmitLogin(e) {\r\n\t\ttry {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({ submitted: true });\r\n\t\t\tlet { mobileNo, password } = this.state;\r\n\t\t\tif (mobileNo && password) {\r\n\t\t\t\tmobileNo = \"250\" + mobileNo.substring(1, mobileNo.length);\r\n\t\t\t\tpassword = password.replace(/'/g, \"''\");\r\n\t\t\t\tthis.props.login(this.props.appvariables.countryCode + mobileNo, password, this.props.i18n.language);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"submitLogin\");\r\n\t\t}\r\n\t};\r\n\r\n\tsubmitRegister(e) {\r\n\t\ttry {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({ regSubmitted: true });\r\n\t\t\tlet { regFirstName, regLastName, regPassword, regConfirmPassword, regEmailID, regDob, regMobileNo, regTC, regOtpCode } = this.state;\r\n\t\t\tlet regDobTemp = document.getElementById(\"datepicker1\").value;\r\n\t\t\tif (regDobTemp != regDob) {\r\n\t\t\t\tregDob = regDobTemp;\r\n\t\t\t\tthis.setState({ regDob: regDobTemp });\r\n\t\t\t}\r\n\t\t\tif (regFirstName && regLastName && regPassword && regConfirmPassword && regMobileNo && regDob && regTC) {\r\n\t\t\t\tif (this.handleFormValidation(1, regMobileNo) && this.handleFormValidation(2, regEmailID) && this.handleFormValidation(3, regDob)) { }\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.showMsg(\"Must fill all field value with correct format. or else refresh this page and try again.\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tlet ss = this.isDate18orMoreYearsOld(regDob);\r\n\t\t\t\tif (ss == false) {\r\n\t\t\t\t\tthis.showMsg(\"lblAgeshouldbe\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (regOtpCode) {\r\n\t\t\t\t\tregMobileNo = \"250\" + regMobileNo.substring(1, regMobileNo.length);\r\n\t\t\t\t\tregFirstName = regFirstName.replace(/'/g, \"''\");\r\n\t\t\t\t\tregLastName = regLastName.replace(/'/g, \"''\");\r\n\t\t\t\t\tregPassword = regPassword.replace(/'/g, \"''\");\r\n\t\t\t\t\tregEmailID = regEmailID.replace(/'/g, \"''\");\r\n\t\t\t\t\tregDob = regDob.replace(/'/g, \"''\");\r\n\t\t\t\t\tregOtpCode = regOtpCode.replace(/'/g, \"''\");\r\n\t\t\t\t\tthis.props.registration(regFirstName, regLastName, regPassword, regEmailID, this.props.appvariables.countryCode + regMobileNo, regDob, regOtpCode, '', '0', this.props.i18n.language);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.showMsg(\"lblmobileverifymust\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.state.regSubmitted)\r\n\t\t\t\t\tthis.props.alertError(\"Must fill all field value with correct format. or else refresh this page and try again.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"submitRegister\");\r\n\t\t}\r\n\t};\r\n\r\n\tsubmitForgotPassword(e) {\r\n\t\ttry {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({ forgotSubmitted: true });\r\n\t\t\tlet { forgotMobileNo } = this.state;\r\n\t\t\tif (forgotMobileNo && this.handleFormValidation(1, forgotMobileNo)) {\r\n\t\t\t\tforgotMobileNo = \"250\" + forgotMobileNo.substring(1, forgotMobileNo.length);\r\n\t\t\t\tthis.props.forgotPassword(this.props.appvariables.countryCode + forgotMobileNo, this.props.i18n.language);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"submitForgotPassword\");\r\n\t\t}\r\n\t};\r\n\r\n\tsubmitOtpValidate(e) {\r\n\t\ttry {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({ otpSubmitted: true });\r\n\t\t\tlet { otpMobileNo, otpCode } = this.state;\r\n\t\t\tif (otpMobileNo && otpCode && this.handleFormValidation(1, otpMobileNo)) {\r\n\t\t\t\totpMobileNo = \"250\" + otpMobileNo.substring(1, otpMobileNo.length);\r\n\t\t\t\totpCode = otpCode.replace(/'/g, \"''\");\r\n\t\t\t\tthis.props.otpAuthentication(this.props.appvariables.countryCode + otpMobileNo, otpCode, this.props.i18n.language);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"submitOtpValidate\");\r\n\t\t}\r\n\t};\r\n\r\n\tsubmitSendOtp(e) {\r\n\t\ttry {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({ regOtpSubmitted: true });\r\n\t\t\tlet { regMobileNo, regEmailID } = this.state;\r\n\t\t\tif (regMobileNo && this.handleFormValidation(1, regMobileNo)) {\r\n\t\t\t\tthis.setState({ isOtpSendNeed: true })\r\n\t\t\t\tregMobileNo = \"250\" + regMobileNo.substring(1, regMobileNo.length);\r\n\t\t\t\tregEmailID = regEmailID.replace(/'/g, \"''\");\r\n\t\t\t\tthis.props.reSendOtp(this.props.appvariables.countryCode + regMobileNo, regEmailID, 0, this.props.i18n.language);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"submitSendOtp\");\r\n\t\t}\r\n\t};\r\n\tshowMsg = (msg) => {\r\n\t\tthis.props.alertError(this.props.t(msg));\r\n\t}\r\n\thandleFormValidation(flog, data) {\r\n\t\ttry {\r\n\t\t\t//Phone number \r\n\t\t\t//var mobPattern = /^(?:(?:\\\\+|0{0,2})91(\\s*[\\\\-]\\s*)?|[0]?)?[789]\\d{9}$/;\r\n\t\t\t//var mobPattern = /^\\d{10}$/;\r\n\t\t\tvar mobPattern = /^[0]\\d{9}$/;\r\n\t\t\tif (flog == 1 && !mobPattern.test(data)) {\r\n\t\t\t\tthis.showMsg('lblInvalidMobileNo');\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t//Email \r\n\t\t\tif (flog == 2 && data && !(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(data))) {\r\n\t\t\t\tthis.showMsg(\"lblInvalidEmailID\");\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t//DOB \r\n\t\t\tvar pattern = /^(0[1-9]|1[0-9]|2[0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/([0-9]{4})$/;\r\n\t\t\tif (flog == 3 && !pattern.test(data)) {\r\n\t\t\t\tthis.showMsg(\"lblDateFormatMust\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tcommonClass.writeLog(ex, \"handleFormValidation\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\t};\r\n\tcomponentDidUpdate() {\r\n\t\twindow.documentReadyDatePicker();\r\n\t};\r\n\tcomponentDidMount() {\r\n\t\t//window.docMapVisiblePwd();\r\n\t};\r\n\r\n\tisDate18orMoreYearsOld = (birthday) => {\r\n\t\tvar lst = birthday.split('/');\r\n\t\t// it will accept two types of format yyyy-mm-dd and yyyy/mm/dd\r\n\t\t///var optimizedBirthday = birthday.replace(/-/g, \"/\");\t\r\n\t\tvar optimizedBirthday = lst[2] + \"/\" + lst[1] + \"/\" + lst[0];\r\n\t\t//set date based on birthday at 01:00:00 hours GMT+0100 (CET)\r\n\t\tvar myBirthday = new Date(optimizedBirthday + ' 01:00:00');\r\n\t\t// set current day on 01:00:00 hours GMT+0100 (CET)\r\n\t\tvar currentDate = new Date().toJSON().slice(0, 10) + ' 01:00:00';\r\n\t\t// calculate age comparing current date and borthday\r\n\t\tvar myAge = ~~((Date.now(currentDate) - myBirthday) / (31557600000));\r\n\t\tif (myAge < 18) {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\t//const { loggingIn } = this.props;\r\n\t\tconst { mobileNo, password, submitted } = this.state;\r\n\t\tconst { regFirstName, regLastName, regPassword, regConfirmPassword, regEmailID, regMobileNo, regOtpCode, regDob, regTC, regSubmitted } = this.state;\r\n\t\tconst { forgotMobileNo, forgotSubmitted } = this.state;\r\n\t\tconst { regOtpSubmitted } = this.state;\r\n\t\tconst { otpCode, otpSubmitted } = this.state;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{/* Login Form */}\r\n\t\t\t\t\t{this.state.pageFlog == 0 &&\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('lblLogin')}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{submitted && !mobileNo && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t\t{submitted && mobileNo && (!(/[0]\\d{9}$/.test(mobileNo))) && {t('lblInvalidMobileNo')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n\t\t\t\t\t\t\t\t\t\t{submitted && !password && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t { this.props.loginSkip() }}>{t('lblHome')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{/* Register Form */}\r\n\t\t\t\t\t{this.state.pageFlog == 1 &&\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('lblSignUp')}

\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regFirstName && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regLastName && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regPassword && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regConfirmPassword && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && regPassword != regConfirmPassword && {t('lblPasswordMismatch')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{/* {regSubmitted && !regEmailID && Required} */}\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && regEmailID && (!(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(regEmailID))) && {t('lblInvalidEmailID')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regDob && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && regDob && (!(/^(0[1-9]|1[0-9]|2[0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/([0-9]{4})$/.test(regDob))) && {t('lblInvalidDate')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* { this.setState({ isOtpSendNeed: 1 }); }} /> */}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{(regSubmitted || regOtpSubmitted) && !regMobileNo && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && regMobileNo && (!(/[0]\\d{9}$/.test(regMobileNo))) && {t('lblInvalidMobileNo')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{this.state.isOtpSendNeed &&
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{regSubmitted && !regOtpCode && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('lblTermsAndCondition')}{t('lblTermsAndCondition1')}.\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{regSubmitted && !regTC && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t { this.props.setPage(0) }}>{t('lblsignin')}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{/* Forgot Password Form */}\r\n\t\t\t\t\t{this.state.pageFlog == 2 &&\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('lblForgetpwd')}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{forgotSubmitted && !forgotMobileNo && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t\t{forgotSubmitted && forgotMobileNo && (!(/[0]\\d{9}$/.test(forgotMobileNo))) && {t('lblInvalidMobileNo')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t { this.props.setPage(0) }}>{t('lblsignin')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{this.state.pageFlog == 3 &&\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('lblOTPVerification')}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{otpSubmitted && !otpCode && {t('lblRequired')}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('lblClickto')} { this.props.setPage(0) }}>{t('lblsignin')}.\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { loggingIn, appvariables, pageFlog, otpMobileNo } = state.loginReducer;\r\n\treturn { loggingIn, appvariables, pageFlog, otpMobileNo };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tlogin: loginActions.login,\r\n\tloginSkip: loginActions.loginSkip,\r\n\tlogout: loginActions.logout,\r\n\tsetPage: loginActions.setPage,\r\n\tregistration: loginActions.registration,\r\n\tforgotPassword: loginActions.forgotPassword,\r\n\totpAuthentication: loginActions.otpAuthentication,\r\n\treSendOtp: loginActions.reSendOtp,\r\n\talertError: alertActions.error,\r\n\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Login))","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const gameService = {\r\n\tGetGameFamily,\r\n\tGetAvailableGames,\r\n\tGetServerTime,\r\n\tGetLatestResult,\r\n\tLotteryOnlineSale,\r\n\tGetCasinoGames\r\n};\r\n//const _apiUrl=\"http://localhost:2000/api\";\r\n//const _apiUrl=\"http://www.nodetest.com/api\";\r\n//const _apiUrl=\"http://220.225.104.132:8080/api\";\r\nconst _apiUrl = process.env.REACT_APP_API_URL;\r\n\r\nfunction GetGameFamily(data) {\r\n\ttry {\r\n\t\t// const requestOptions = {\r\n\t\t// \tmethod: 'POST',\r\n\t\t// \theaders: {\r\n\t\t// \t\t'Content-Type': 'application/json'\r\n\t\t// \t},\r\n\t\t// \tbody: JSON.stringify({ \"data\": data })\r\n\t\t// };\r\n\t\treturn fetch(`${_apiUrl}/games/GameFamily`, commonClass.requestOptions(data))\r\n\t\t\t.then(commonClass.handleResponse)\r\n\t\t\t.then(games => {\r\n\t\t\t\tlet gamefamily = null;\r\n\t\t\t\tif (games != null && games.data != null) { games = games.data; }\r\n\t\t\t\tif (games != null && games.startsWith(\"0~\")) {\r\n\t\t\t\t\tgamefamily = [];\r\n\t\t\t\t\tgames = games.replace(\"0~\", \"\");\r\n\t\t\t\t\tlet strArr = games.split('|');\r\n\r\n\t\t\t\t\tstrArr.forEach(elementobj => {\r\n\t\t\t\t\t\tif (elementobj !== \"\") {\r\n\t\t\t\t\t\t\tlet element = elementobj.split('~');\r\n\t\t\t\t\t\t\tlet minSt=500;\r\n\t\t\t\t\t\t\tlet maxSt=10000;\r\n\t\t\t\t\t\t\tlet prizeSt=\"\";\r\n\t\t\t\t\t\t\tif(element.length>6)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tminSt=parseInt(element[5]);\r\n\t\t\t\t\t\t\t\tmaxSt=parseInt(element[6]);\r\n\t\t\t\t\t\t\t\tif(element.length>7)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tprizeSt=element[7];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\t\t\t\r\n\r\n\t\t\t\t\t\t\tgamefamily.push(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: element[0],\r\n\t\t\t\t\t\t\t\t\tname: element[1],\r\n\t\t\t\t\t\t\t\t\tball: parseInt(element[2]),\r\n\t\t\t\t\t\t\t\t\tminSelect: parseInt(element[3]),\r\n\t\t\t\t\t\t\t\t\tmaxSelect: parseInt(element[4]),\r\n\t\t\t\t\t\t\t\t\tminStakePerTrans: minSt,\r\n\t\t\t\t\t\t\t\t\tmaxStakePerTrans: maxSt,\r\n\t\t\t\t\t\t\t\t\tmaxStakePerTrans: maxSt,\r\n\t\t\t\t\t\t\t\t\tprizeInfo:prizeSt,\r\n\t\t\t\t\t\t\t\t\textraBall: 0\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn gamefamily;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetAvailableGames(data) {\r\n\ttry {\r\n\t\t// const requestOptions = {\r\n\t\t// \tmethod: 'POST',\r\n\t\t// \theaders: {\r\n\t\t// \t\t'Content-Type': 'application/json'\r\n\t\t// \t},\r\n\t\t// \tbody: JSON.stringify({ \"data\": data })\r\n\t\t// };\r\n\t\treturn fetch(`${_apiUrl}/games/GetAvailableGames`, commonClass.requestOptions(data))\r\n\t\t\t.then(commonClass.handleResponse)\r\n\t\t\t.then(games => {\r\n\t\t\t\tlet gamefamily = null;\r\n\t\t\t\tif (games != null && games.data != null) { games = games.data; }\r\n\t\t\t\tgamefamily = games;\r\n\t\t\t\treturn gamefamily;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetLatestResult(data) {\r\n\ttry {\r\n\t\t// const requestOptions = {\r\n\t\t// \tmethod: 'POST',\r\n\t\t// \theaders: {\r\n\t\t// \t\t'Content-Type': 'application/json'\r\n\t\t// \t},\r\n\t\t// \tbody: JSON.stringify({ \"data\": data })\r\n\t\t// };\r\n\t\treturn fetch(`${_apiUrl}/quickwin/latestResult`, commonClass.requestOptions(data))\r\n\t\t\t .then(commonClass.handleResponse)\r\n\t\t\t.then(results => {\r\n\t\t\t\tif (results != null && results.data != null) { results = results.data; }\r\n\t\t\t\treturn results;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\n\r\nfunction GetServerTime(data) {\r\n\ttry {\r\n\t\t// const requestOptions = {\r\n\t\t// \tmethod: 'POST',\r\n\t\t// \theaders: {\r\n\t\t// \t\t'Content-Type': 'application/json'\r\n\t\t// \t},\r\n\t\t// };\r\n\t\treturn fetch(`${_apiUrl}/games/GetServerTime`, commonClass.requestOptions())\r\n\t\t\t .then(commonClass.handleResponse)\r\n\t\t\t.then(serverTime => {\r\n\t\t\t\treturn serverTime.data;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction LotteryOnlineSale(data) {\r\n\ttry {\r\n\t\t// const requestOptions = {\r\n\t\t// \tmethod: 'POST',\r\n\t\t// \theaders: {\r\n\t\t// \t\t'Content-Type': 'application/json'\r\n\t\t// \t},\r\n\t\t// \tbody: JSON.stringify({ \"data\": data })\r\n\t\t// };\r\n\t\treturn fetch(`${_apiUrl}/games/onlineSale`, commonClass.requestOptions(data))\r\n\t\t\t.then(commonClass.handleResponse)\r\n\t\t\t.then(games => {\r\n\t\t\t\tlet gamefamily = null;\r\n\t\t\t\tif (games != null && games.data != null) { games = games.data; }\r\n\t\t\t\tgamefamily = games;\r\n\t\t\t\treturn gamefamily;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\nfunction GetCasinoGames(data) {\r\n\ttry {\t\r\n\t\treturn fetch(`${_apiUrl}/games/GetCasinoGames`, commonClass.requestOptions(data))\r\n\t\t\t .then(commonClass.handleResponse)\r\n\t\t\t.then(results => {\r\n\t\t\t\tif (results != null && results.data != null) { results = results.data; }\r\n\t\t\t\treturn results;\r\n\t\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\n\r\n\r\nfunction handleResponse_old(response) {\r\n\ttry {\r\n\t\treturn response.text().then(text => {\r\n\t\t\tconst data = text && JSON.parse(text);\r\n\t\t\tif (!response.ok) {\r\n\t\t\t\tif (response.status === 401) {\r\n\t\t\t\t\t// auto logout if 401 response returned from api\r\n\t\t\t\t\t//logout();\r\n\t\t\t\t\t// location.reload(true);\r\n\t\t\t\t}\r\n\t\t\t\tconst error = (data && data.message) || response.statusText;\r\n\t\t\t\treturn Promise.reject(error);\r\n\t\t\t}\r\n\t\t\treturn data;\r\n\t\t});\r\n\t} catch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n}","import { appConstants } from '../helpers/actionType';\r\nimport { gameService } from '../services/gameService';\r\nimport { history } from '../helpers/history';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nexport const gameActions = {\r\n GameFamily,\r\n SetGameFamily,\r\n GameAvailableGames,\r\n ClearAvailableGames,\r\n GetServerTime,\r\n SetServerTime,\r\n GetLatestResult,\r\n closeBetSlip,\r\n GetCasinoGames,\r\n}\r\n\r\nfunction GameFamily(mobileNo, langID) {\r\n try {\r\n return dispatch => {\r\n // dispatch({ type: appConstants.LOADING });\r\n localStorage.removeItem('cFamily');\r\n let data = `'${mobileNo}','${langID}'`;\r\n gameService.GetGameFamily(data)\r\n .then(\r\n games => { \r\n localStorage.setItem('allFamily', JSON.stringify(games));\r\n dispatch({ type: appConstants.GET_GAMEFAMILY_SUCCESS, games });\r\n // dispatch({ type: appConstants.LOADED });\r\n },\r\n error => {\r\n error = error.message;\r\n dispatch({ type: appConstants.GET_GAMEFAMILY_ERROR, error });\r\n // dispatch({ type: appConstants.LOADED });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n//if new games ,add here and gameReducer file\r\nfunction SetGameFamily(gFamily, langID) {\r\n try {\r\n return dispatch => {\r\n localStorage.setItem('cFamily', JSON.stringify(gFamily));\r\n dispatch({ type: appConstants.SET_GAMEFAMILY, gFamily });\r\n if (gFamily.id == 4)\r\n history.push('/lotto');\r\n if (gFamily.id == 5)\r\n history.push('/quickwin');\r\n if (gFamily.id == 3)\r\n history.push('/target');\r\n if (gFamily.id == 1)\r\n history.push('/igitego');\r\n if (gFamily.id == 7)\r\n history.push('/Pick3');\r\n if (gFamily.id == 8)\r\n history.push('/Roulette');\r\n if (gFamily.id == 9)\r\n history.push('/moto');\r\n if (gFamily.id == 10)\r\n history.push('/iphone');\r\n\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction ClearAvailableGames() {\r\n return dispatch => {\r\n let error = [];\r\n dispatch({ type: appConstants.GET_AVAILDRAWS_ERROR, error });\r\n }\r\n};\r\nfunction GameAvailableGames(mobileNo, familyId, langID) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n //by thamil for fix the session share diff browser tabs with diff games on 24/02/2023\r\n //localStorage.removeItem('cDraw');\r\n let data = `'${mobileNo}','${familyId}','${langID}'`;\r\n gameService.GetAvailableGames(data)\r\n .then(\r\n currentAvailableDraws => {\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.GET_AVAILDRAWS_SUCCESS, currentAvailableDraws });\r\n if (currentAvailableDraws.length > 0) {\r\n let cDraw = currentAvailableDraws[0];\r\n dispatch({ type: appConstants.SET_DRAW, cDraw });\r\n }\r\n else {\r\n dispatch({ type: appConstants.SET_DRAW });\r\n }\r\n },\r\n error => {\r\n error = error.message;\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.GET_AVAILDRAWS_ERROR, error });\r\n dispatch({ type: appConstants.SET_DRAW });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction GetServerTime() {\r\n try {\r\n return dispatch => {\r\n gameService.GetServerTime()\r\n .then(\r\n _date => {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n //let serverTime = (new Date(ss.setSeconds(ss.getSeconds())).getTime());\r\n //let serverTime = (ss.getTime()+((110*60*6000)+ 73*60000));\r\n let serverTime = (ss.getTime());\r\n console.log(\"ServerTime form db : \" + serverTime);\r\n dispatch({ type: appConstants.GET_SERVERTIME_SUCCESS, serverTime });\r\n },\r\n error => {\r\n error = error.message;\r\n dispatch({ type: appConstants.GET_SERVERTIME_ERROR, error });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction SetServerTime(serverTime) {\r\n return dispatch => { dispatch({ type: appConstants.GET_SERVERTIME_SUCCESS, serverTime }); }\r\n};\r\n\r\n\r\nfunction GetLatestResult(gameID, langID) {\r\n try {\r\n if (gameID == undefined) { return; }\r\n return dispatch => {\r\n //no need ,bcoz it will distrub while buy next draw.\r\n //dispatch({ type: appConstants.LOADING });\r\n let data = `'1','${gameID}','${langID}'`;\r\n gameService.GetLatestResult(data)\r\n .then(\r\n lResult => {\r\n // dispatch({ type: appConstants.LOADED});\r\n dispatch({ type: appConstants.GET_LATEST_RESULT_SUCCESS, lResult });\r\n },\r\n error => {\r\n // dispatch({ type: appConstants.LOADED });\r\n error = error.message;\r\n dispatch({ type: appConstants.GET_LATEST_RESULT_ERROR, error });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\n\r\nfunction closeBetSlip() {\r\n return dispatch => { dispatch({ type: appConstants.BUY_ERROR }); }\r\n};\r\n\r\n\r\nfunction GetCasinoGames(userID, gameID, langID) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = `'${userID}','${gameID}','${langID}'`;\r\n gameService.GetCasinoGames(data)\r\n .then(\r\n casinoGame => {\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.GET_CASINO_GAMES, casinoGame });\r\n },\r\n error => {\r\n dispatch({ type: appConstants.LOADED });\r\n error = [];\r\n dispatch({ type: appConstants.GET_CASINO_GAMES, error });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const accountService = {\r\n\tgetbetHistory,\r\n\tgetAccountHistory,\r\n addMoney,\r\n withdrawMoney,\r\n\tgetAccountSummary,\r\n\tgetResultReport,\r\n\tgetAccountActivity,\r\n\tReprintTicket,\r\n\tgetUserProfile\r\n};\r\n//const _apiUrl=\"http://localhost:2000/api\";\r\n//const _apiUrl=\"http://www.nodetest.com/api\";\r\n//const _apiUrl=\"http://220.225.104.132:8080/api\";\r\nconst _apiUrl=process.env.REACT_APP_API_URL;\r\n\r\nfunction getbetHistory(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/getBetBistory`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getAccountHistory(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/getAccountHistoryReport`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction addMoney(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/addMoney`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction withdrawMoney(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/withdrawMoney`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getAccountSummary(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/getAccountSummary`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getResultReport(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/getResultReport`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getAccountActivity(data) {\r\n\ttry{\r\n\t// const requestOptions = {\r\n\t// \tmethod: 'POST',\r\n\t// \theaders: {\r\n\t// \t\t'Content-Type': 'application/json'\r\n\t// \t},\t\t\r\n\t// \tbody: JSON.stringify({\"data\":data})\r\n\t// };\r\n\treturn fetch(`${_apiUrl}/account/getAccountActivityReport`, commonClass.requestOptions(data))\r\n\t\t.then(commonClass.handleResponse)\r\n\t\t.then(user => {\t\t\r\n\t\t\treturn user;\r\n\t\t});\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction ReprintTicket(data) {\r\n\ttry{\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/account/getReprintTicket`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction getUserProfile(data) {\r\n\ttry{\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/account/getUserProfile`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n\t}\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction handleResponse_old(response) {\r\n\ttry{\r\n\treturn response.text().then(text => {\r\n\t\tconst data = text && JSON.parse(text);\r\n\t\tif (!response.ok) {\r\n\t\t\tif (response.status === 401) {\r\n\t\t\t\t//auto logout if 401 response returned from api\r\n\t\t\t\t//logout();\r\n\t\t\t\t//location.reload(true);\r\n\t\t\t}\r\n\t\t\tconst error = (data && data.message) || response.statusText;\r\n\t\t\treturn Promise.reject(error);\r\n\t\t}\r\n\t\treturn data;\r\n\t});\r\n}\r\ncatch (ex) {\t\t\r\n\tcommonClass.writeLog(ex);\r\n}\r\n};\r\n","import { appConstants } from '../helpers/actionType';\r\nimport { accountService } from '../services/accountService';\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { commonClass } from \"../helpers/commonClass\";\r\nexport const accountActions = {\r\n\tGetBetHistory,\r\n\tGetAccountHistory,\r\n\tAddMoney,\r\n\tWithdrawMoney,\r\n\tGetAccountSummary,\r\n\tGetResultReport,\r\n\tGetAccountActivity,\r\n\tReprintTicket,\r\n\tGetUserProfile\r\n}\r\n\r\nfunction GetBetHistory(mobileNo, dtFrom, dtTo, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'0','0','${mobileNo}','0','${dtFrom}','${dtTo}','${langID}'`;\r\n\t\t\taccountService.getbetHistory(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbet => {\r\n\t\t\t\t\t\tlet strArr = bet.data.split('|');\r\n\t\t\t\t\t\tlet strArr1 = strArr[0].split('~');\r\n\t\t\t\t\t\tif (strArr1[0] == '0') {\r\n\t\t\t\t\t\t\tstrArr[0] = strArr1.slice(1, strArr1.length).join(\"~\");\r\n\t\t\t\t\t\t\tlet _his = [];\r\n\t\t\t\t\t\t\tstrArr.forEach(element => {\r\n\t\t\t\t\t\t\t\tif (element == \"\") { return; }\r\n\t\t\t\t\t\t\t\tlet strArr2 = element.split('~');\r\n\t\t\t\t\t\t\t\t_his.push({\r\n\t\t\t\t\t\t\t\t\t// Id: strArr2[0],\r\n\t\t\t\t\t\t\t\t\t// Ball: strArr2[1].split(';'),\r\n\t\t\t\t\t\t\t\t\t// GameName: strArr2[2],\r\n\t\t\t\t\t\t\t\t\t// GameGroupId: strArr2[3],\r\n\t\t\t\t\t\t\t\t\t// TransDateTime: strArr2[4] + \" \" + strArr2[5],\r\n\t\t\t\t\t\t\t\t\t// StakeAmount: strArr2[7],\r\n\t\t\t\t\t\t\t\t\t// DrawDateTime: strArr2[8],\r\n\t\t\t\t\t\t\t\t\t// EstimateWin: strArr2[9],\r\n\t\t\t\t\t\t\t\t\t// Status: strArr2[10],\r\n\t\t\t\t\t\t\t\t\tId: strArr2[0],\r\n\t\t\t\t\t\t\t\t\tGameName: strArr2[1],\r\n\t\t\t\t\t\t\t\t\tGameGroupId: strArr2[2],\r\n\t\t\t\t\t\t\t\t\tTransDateTime: strArr2[3] + \" \" + strArr2[4],\r\n\t\t\t\t\t\t\t\t\tTotalBet: strArr2[5],\r\n\t\t\t\t\t\t\t\t\tTotalStakeAmount: strArr2[6],\r\n\t\t\t\t\t\t\t\t\tDrawDateTime: strArr2[7],\r\n\t\t\t\t\t\t\t\t\tStatus: strArr2[8],\r\n\t\t\t\t\t\t\t\t\tWinAmount: strArr2[9],\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet bethistory = { status: \"0\", data: _his };\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.GET_BET_HISTORY, bethistory });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet strArr = bet.data.split('~');\r\n\t\t\t\t\t\t\tlet bethistory = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.GET_BET_HISTORY, bethistory });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet bethistory = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_BET_HISTORY, bethistory });\r\n\t\t\t\t\t\tdispatch(alertActions.error(bethistory.msg));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetAccountHistory(mobileNo, dtFrom, dtTo, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${dtFrom}','${dtTo}','${langID}'`;\r\n\t\t\taccountService.getAccountHistory(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbet => {\r\n\t\t\t\t\t\tlet accountHistory = {};\r\n\t\t\t\t\t\tif (bet && bet.length > 0)\r\n\t\t\t\t\t\t\taccountHistory = { status: \"0\", data: bet };\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\taccountHistory = { status: \"1\", msg: \"No Data\" };\r\n\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_HISTORY, accountHistory });\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet accountHistory = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_HISTORY, accountHistory });\r\n\t\t\t\t\t\tdispatch(alertActions.error(accountHistory.msg));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetResultReport(dtFrom, dtTo, familyID, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tif (familyID != -1)\r\n\t\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${dtFrom}','${dtTo}',0,0,'${familyID}','${langID}'`;\r\n\t\t\taccountService.getResultReport(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tresultReport => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_RESULT_REPORT, resultReport });\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\terror = error.message;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_RESULT_REPORT, error });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction AddMoney(mobileNo, txnNo, TransID, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${txnNo}','${TransID}','','${langID}'`;\r\n\t\t\taccountService.addMoney(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbet => {\r\n\t\t\t\t\t\tlet strArr = bet.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tlet addmoney = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\tlet balance = strArr[2];\r\n\t\t\t\t\t\t\tlet winbalance = strArr[3];\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.ADD_MONEY_SUCCESS, addmoney });\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(addmoney.msg));\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet strArr = bet.data.split('~');\r\n\t\t\t\t\t\t\tlet addmoney = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.ADD_MONEY_SUCCESS, addmoney });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(addmoney.msg));\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet addmoney = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.ADD_MONEY_SUCCESS, addmoney });\r\n\t\t\t\t\t\tdispatch(alertActions.error(error.msg));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction WithdrawMoney(mobileNo, amt, TransID, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${amt}','${TransID}','','${langID}'`;\r\n\t\t\taccountService.withdrawMoney(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbet => {\r\n\t\t\t\t\t\tlet strArr = bet.data.split('~');\r\n\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\tlet withdraw = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.WITHDRAW_MONEY_SUCCESS, withdraw });\r\n\t\t\t\t\t\t\tdispatch(alertActions.success(withdraw.msg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tlet strArr = bet.data.split('~');\r\n\t\t\t\t\t\t\tlet withdraw = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t\tdispatch({ type: appConstants.WITHDRAW_MONEY_SUCCESS, withdraw });\r\n\t\t\t\t\t\t\tdispatch(alertActions.error(withdraw.msg));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tlet withdraw = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.WITHDRAW_MONEY_SUCCESS, withdraw });\r\n\t\t\t\t\t\tdispatch(alertActions.error(withdraw.msg));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetAccountSummary(mobileNo, dtFrom, dtTo, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'0','0','${mobileNo}','${dtFrom}','${dtTo}','${langID}'`;\r\n\t\t\taccountService.getAccountSummary(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\taccountSummary => {\r\n\t\t\t\t\t\tif (accountSummary.data != null) {\r\n\t\t\t\t\t\t\tlet strArr = accountSummary.data.split('~');\r\n\t\t\t\t\t\t\tif (strArr[0] == '0') {\r\n\t\t\t\t\t\t\t\taccountSummary = {\r\n\t\t\t\t\t\t\t\t\tstatus: strArr[0], openBalance: strArr[3], totSale: strArr[4],\r\n\t\t\t\t\t\t\t\t\ttotClaim: strArr[5], totCashIn: strArr[6], totCashOut: strArr[7], netTotal: strArr[9]\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\taccountSummary = { status: strArr[0], msg: strArr[1] };\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\r\n\t\t\t\t\t\t\taccountSummary = { status: \"1\", msg: \"No Data\" };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_SUMMARY, accountSummary });\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet accountSummary = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_SUMMARY, accountSummary });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetAccountActivity(mobileNo, dtFrom, dtTo, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${dtFrom}','${dtTo}','${langID}'`;\r\n\t\t\taccountService.getAccountActivity(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbet => {\r\n\t\t\t\t\t\tlet accountActivity = {};\r\n\t\t\t\t\t\tif (bet && bet.length > 0)\r\n\t\t\t\t\t\t\taccountActivity = { status: \"0\", data: bet };\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\taccountActivity = { status: \"1\", msg: \"No Data\" };\r\n\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_ACTIVITY, accountActivity });\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet accountActivity = { status: \"2\", msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_ACCOUNT_ACTIVITY, accountActivity });\r\n\t\t\t\t\t\tdispatch(alertActions.error(accountActivity.msg));\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction ReprintTicket(transID, mobileNo, _gameGroup, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${transID}','${langID}'`;\r\n\t\t\taccountService.ReprintTicket(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tbuyInfo => {\r\n\t\t\t\t\t\tif (_gameGroup == \"-1\") {\r\n\t\t\t\t\t\t\tlet ss = buyInfo.toLowerCase().includes('jackpot');\r\n\t\t\t\t\t\t\tlet ss1 = buyInfo.toLowerCase().includes('igitego');\r\n\t\t\t\t\t\t\tif (ss)\r\n\t\t\t\t\t\t\t\t_gameGroup = 4;//jackpot\r\n\t\t\t\t\t\t\tif (ss1)\r\n\t\t\t\t\t\t\t\t_gameGroup = 1;//igitego-lotto,motto,iphone\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t_gameGroup = 5;//quick lotto\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet myBet = commonClass.generateBetSlip(buyInfo, _gameGroup);\r\n\t\t\t\t\t\tdispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\t//let balance = myBet.balance;\r\n\t\t\t\t\t\t//let winbalance =myBet.winbalance; \r\n\t\t\t\t\t\t//dispatch({ type: appConstants.GET_BALANCE, balance, winbalance }); \r\n\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet myBet = { status: 2, msg: \"Something Wrong!\" };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetUserProfile(mobileNo, langID) {\r\n\ttry {\r\n\t\treturn dispatch => {\r\n\t\t\tdispatch({ type: appConstants.LOADING });\r\n\t\t\tlet data = `'${mobileNo}','${langID}'`;\r\n\t\t\taccountService.getUserProfile(data)\r\n\t\t\t\t.then(\r\n\t\t\t\t\tuserProfile => {\r\n\t\t\t\t\t\tlet profile = userProfile;\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_USER_PROFILE, profile });\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tlet profile = { userProfile: null };\r\n\t\t\t\t\t\tdispatch({ type: appConstants.GET_USER_PROFILE, profile });\r\n\t\t\t\t\t\tdispatch({ type: appConstants.LOADED });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\tcatch (ex) {\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass LatestResult extends Component{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state={\r\n ResultReport:{}\r\n };\r\n }\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n ResultReport:props.ResultReport!=undefined? props.ResultReport.slice(0,5):[],\r\n }\r\n };\r\n componentDidMount() {\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.props.GetResultReport(ss, ss,-1,this.props.i18n.language);\r\n };\r\n render(){ \r\n\t\tconst { t } = this.props;\r\n return(\r\n
\r\n

{t('lblLotres')}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.ResultReport && this.state.ResultReport.length > 0 && this.state.ResultReport[0].GameName && this.state.ResultReport.map((x, idx) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {(this.state.ResultReport ==null ||this.state.ResultReport.length <= 0 || (this.state.ResultReport.length > 0 && this.state.ResultReport[0].GameName==undefined) )&&\r\n \r\n \r\n \r\n }\r\n
{t('lblgamename')}{t('lbldrawdatetime')}{t('lbldrawno')}{t('lblResults')}
{x.GameName}{x.GameDateTime}{x.GameID}\r\n {x.Result.split(';').map((z, inx) =>\r\n {z}\r\n )} \r\n
{t('lblnorecordfound')}
\r\n
\r\n
\r\n\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { ResultReport } = state.accountReducer;\r\n return { ResultReport };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetResultReport: accountActions.GetResultReport,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(LatestResult))\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport IdleTimer from 'react-idle-timer';\r\n\r\nimport { loginActions } from '../../action/loginAction';\r\nimport { alertActions } from '../../action/alertAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass IdelSessionTimer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { counter: 1 }\r\n }\r\n _onAction = (e) => {\r\n console.log('user did something', e)\r\n this.setState({ isTimedOut: false })\r\n };\r\n _onActive = (e) => {\r\n console.log('user is active', e)\r\n this.setState({ isTimedOut: false })\r\n };\r\n _onIdle = (e) => {\r\n console.log('user is idle', e)\r\n const isTimedOut = this.state.isTimedOut\r\n if (isTimedOut) {\r\n this.props.logout();\r\n } else {\r\n this.setState({ showPopUp: true })\r\n this.idleTimer.reset();\r\n this.setState({ isTimedOut: true })\r\n }\r\n };\r\n handleClose = () => {\r\n this.setState({ showPopUp: false })\r\n\r\n // $('.overlay').fadeOut();\r\n //$('#lightBox9').fadeOut();\r\n }\r\n handleLogout = () => {\r\n this.setState({ showPopUp: false })\r\n\r\n //$('.overlay').fadeOut();\r\n //$('#lightBox9').fadeOut();\r\n this.props.logout();\r\n }\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n { this.idleTimer = ref }}\r\n element={document} onActive={() => { this._onActive() }} onIdle={() => { this._onIdle() }} onAction={() => { this._onAction() }}\r\n debounce={250} timeout={this.props.user.loginExpiry} />\r\n\r\n {this.state.showPopUp &&
\r\n
\r\n
\r\n
\r\n

{t('lblAlert')}

\r\n {t('lblSessionExpired')}? \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n return { user };\r\n}\r\nconst mapActionToProps = {\r\n clearAlerts: alertActions.clear,\r\n logout: loginActions.logout,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(IdelSessionTimer))","import React, { useState,useEffect } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nconst LangSelector = () => {\r\n\r\n const getCookie = (name) => {\r\n try {\r\n const value = `; ${document.cookie}`;\r\n const parts = value.split(`; ${name}=`);\r\n let lang_val = process.env.REACT_APP_DEFAULT_LANGUAGE;\r\n if (parts.length === 2)\r\n lang_val = parts.pop().split(';').shift();\r\n console.log(\"selected lang : \" + lang_val);\r\n return lang_val;\r\n }\r\n catch (ex) {\r\n return process.env.REACT_APP_DEFAULT_LANGUAGE;\r\n }\r\n };\r\n\r\n const { i18n } = useTranslation();\r\n const [selectedLang, setSelectedLang] = useState(getCookie(\"lang\"));\r\n\r\n\r\n const changeLanguage = (event) => {\r\n setSelectedLang(event);\r\n i18n.changeLanguage(event);\r\n document.cookie = \"lang=\" + event;\r\n }\r\n useEffect(() => {\r\n window.documentReadyjQueryLang(); \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\nexport default LangSelector;","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { loginActions } from '../../action/loginAction'\r\nimport { gameActions } from '../../action/gamesAction';\r\nimport { accountActions } from '../../action/accountAction';\r\nimport { history } from '../../helpers/history';\r\nimport IdelSessionTimer from \"../Pages/IdelSessionTimer\";\r\n\r\nimport LangSelector from '../LangSelector';\r\n\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Header extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.submitLogout = this.submitLogout.bind(this);\r\n\t\tthis.state = {\r\n\t\t\tgamesTab: \"0\",\r\n\t\t\thomeTab: \"1\",\r\n\t\t\taccountTab: \"2\",\r\n\t\t\tlogoutTab: \"3\",\r\n\t\t\tresultTab: \"4\",\r\n\t\t\tcontactTab: \"5\",\r\n\t\t\thowtoplay: \"6\",\r\n\t\t\tbecomeanagent: \"7\",\r\n\t\t\thelpsupport: \"8\",\r\n\t\t\tsearchTransID: \"\"\r\n\t\t}\r\n\t\tif (history && history.location) {\r\n\t\t\tswitch (history.location.pathname) {\r\n\t\t\t\tcase \"/\":\r\n\t\t\t\t\tthis.setPageMenu(0);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/home\":\r\n\t\t\t\t\tthis.setPageMenu(1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/howtoplay\":\r\n\t\t\t\t\tthis.setPageMenu(6);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/result\":\r\n\t\t\t\t\tthis.setPageMenu(4);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/becomeanagent\":\r\n\t\t\t\t\tthis.setPageMenu(7);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/helpsupport\":\r\n\t\t\t\t\tthis.setPageMenu(8);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/pressrelease\":\r\n\t\t\t\t\tthis.setPageMenu(9);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/winners\":\r\n\t\t\t\t\tthis.setPageMenu(10);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/underconstruction\":\r\n\t\t\t\t\tthis.setPageMenu(10);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"/instant\":\r\n\t\t\t\t\tthis.setPageMenu(11);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\t//props.setPageMenu(6);\r\n\t}\r\n\tsubmitLogout(e) {\r\n\t\te.preventDefault();\r\n\t\tthis.props.logout();\r\n\t}\r\n\r\n\tsetPageMenu = (id) => {\r\n\t\tthis.props.setPageMenu(id);\r\n\t};\r\n\tcomponentDidMount() {\r\n\t\twindow.documentReadyjQuery();\r\n\t};\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tgames: props.games,\r\n\t\t\tpageMenuID: props.pageMenuID\r\n\t\t};\r\n\t};\r\n\r\n\tsearchPrintTicker = () => {\r\n\t\tif (this.state.searchTransID && this.state.searchTransID.trim() != \"\") {\r\n\t\t\tthis.props.ReprintTicket(this.state.searchTransID.trim(), this.props.user.mobileNo, \"-1\", this.props.i18n.language);\r\n\t\t}\r\n\t\telse {\r\n\t\t\talert(this.props.t('lblEnter') + \" Barcode/SlipId\");\r\n\t\t}\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{this.props.user && this.props.user.mobileNo != \"0\" && }\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\"inzozilotto\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.props.user && this.props.user.mobileNo == \"0\" &&\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('lblsignin')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('lblRegister')}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t{this.props.user && this.props.user.mobileNo != \"0\" &&\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
history.push('/account')}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.user.mobileNo != \"0\" ? ID: {this.props.user.mobileNo} : }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('lblCreditsBal')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.appvariables.currency} {this.props.user.balance}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('lblWinBal')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.appvariables.currency} {this.props.user.winbalance}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblhome')}
  • }\r\n\t\t\t\t\t\t\t\t{/* {this.props.user &&
  • Home
  • } */}\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{this.props.games && this.props.games.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t\t\t\t this.props.SelectGameFamily(x)} >{x.name}\r\n\t\t\t\t\t\t\t\t\t\t)}\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • }\r\n\t\t\t\t\t\t\t {/* {this.props.user &&
  • {t('lblInstant')}
  • } */}\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblHtp')}
  • }\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblResults')}
  • }\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblBecanagt')}
  • }\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblHelpSupt')}
  • }\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblPressRelease')}
  • }\r\n\t\t\t\t\t\t\t\t{this.props.user &&
  • {t('lblOurWinners')}
  • }\r\n\t\t\t\t\t\t\t\t{/* {this.props.user && this.props.user.mobileNo != \"0\" &&
  • Logout
  • } */}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t this.setState({ searchTransID: e.target.value })} placeholder={`${t('lblEnter')} Barcode/SlipID`} />\r\n\t\t\t\t\t\t\t\t\t this.searchPrintTicker()}>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{t('lblQuickLinks')}

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblHome')}
  • \r\n\t\t\t\t\t\t\t\t\t{/*
  • Games
  • */}\r\n\t\t\t\t\t\t\t\t\t{this.props.games && this.props.games.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t\t\t
  • this.props.SelectGameFamily(x)} >{x.name}
  • \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{/*
  • {t('lblInstant')}
  • */}\r\n\t\t\t\t\t\t\t\t\t
  • {t('lblHtp')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblResults')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblBecanagt')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblHelpSupt')}
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblAboutus')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblContus')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblTercon')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblPripol')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblPressRelease')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblOurWinners')}
  • \r\n\t\t\t\t\t\t\t\t\t
  • {t('lblFAQ')}
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { loggingIn, user, pageMenuID, appvariables } = state.loginReducer;\r\n\tconst { games } = state.gameReducer;\r\n\treturn { loggingIn, user, pageMenuID, games, appvariables };\r\n}\r\nconst mapActionToProps = {\r\n\tlogout: loginActions.logout,\r\n\tSelectGameFamily: gameActions.SetGameFamily,\r\n\tsetPageMenu: loginActions.setPageMenu,\r\n\tReprintTicket: accountActions.ReprintTicket,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Header))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { gameActions } from '../../../action/gamesAction';\r\n//import { loginActions } from '../../../action/loginAction';\r\n//import UpcomingDraws from './UpcomingDraws';\r\nimport LatestResult from './LatestResult';\r\n\r\nimport Header from \"../../Header/Header\";\r\nimport { Link } from 'react-router-dom';\r\n//import Footer from \"../../Footer/Footer\";\r\n//import bannerList from \"../../../banner.json\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Home extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tgames: [],\r\n\t\t\tbannerList: []\r\n\t\t};\r\n\t\t//props.GameFamily(this.props.user.mobileMo);\t\t\r\n\t\tprops.GameFamily('1', this.props.i18n.language);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\t//\twindow.documentReadyjQuery();\r\n\t\tthis.setjsondata();\r\n\t};\r\n\tcomponentDidUpdate() {\r\n\t\twindow.documentReadyjQueryFlex();\r\n\t};\r\n\r\n\tsetjsondata = (myJson) => {\r\n\t\t//fetch('assets/img/banner/banner.json')\t\t\r\n\t\tfetch(process.env.REACT_APP_BANNER_URL + 'HomeBanner.json?v1')\r\n\t\t\t.then(response => response.json())\r\n\t\t\t.then(data =>\r\n\t\t\t\tthis.setState({ bannerList: data.data })\r\n\t\t\t);\r\n\t};\r\n\r\n\thandleInputChange = (e, inx) => {\r\n\t\tvar items = this.state.games\r\n\t\tvar item = this.state.games[inx];\r\n\t\tlet name = e.target.name;\r\n\t\tlet value = e.target.value;\r\n\t\titem[name] = value;\r\n\t\tthis.setState({\r\n\t\t\tgames: items\r\n\t\t});\r\n\t};\r\n\r\n\tselectGameFamily = (inx) => {\r\n\t\tvar item = this.state.games[inx];\r\n\t\t// item.ball = parseInt(item.ball);\r\n\t\t// item.minSelect = parseInt(item.minSelect);\r\n\t\t// item.maxSelect = parseInt(item.maxSelect);\r\n\t\tthis.props.SelectGameFamily(item);\r\n\t\t//this.props.GameAvailableGames(this.props.user.mobileNo, item.id);\r\n\t};\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tgames: props.games\r\n\t\t};\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{/*
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • */}\r\n\t\t\t\t\t\t\t{this.state.bannerList && this.state.bannerList.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t//
  • {x.linkUrl !=undefined && x.linkUrl != \"\" ? :}
  • \t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.state.games && this.state.games.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

{x.name}

\r\n\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t { this.selectGameFamily(indx) }}>{t('lblPlaynow')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblFndyouwal')}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblPlaygame')}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblCashoutwin')}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{t('lblStucksomewhere')}\r\n\t\t\t\t\t\t\t\t\t\t

{t('lblCall')} 2424

{/*+250 789 231 231*/}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('lblHowwork')}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

IGITEGO MILLION

{t('lblHowToplayRaffle')}.

\r\n\t\t\t\t\t\t\t\t

QUICK 10

{t('lblHowToplayQuick10')}.

\r\n\t\t\t\t\t\t\t\t

IMPAMO JACKPOT

{t('lblHowToplayjackpot')}.

\r\n\t\t\t\t\t\t\t\t

QUICK LOTTO

{t('lblHowToplayQucik')}.

\r\n\t\t\t\t\t\t\t\t

WATATU

{t('lblHowToplayPick3')}.

\r\n\t\t\t\t\t\t\t\t

IGITEGO-MOTO

{t('lblHowToplayMotto')}.

\r\n\t\t\t\t\t\t\t\t

IGITEGO-IPHONE

{t('lblHowToplayPhone')}.

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

{t('lblInzozioffpart')}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
*/}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { games } = state.gameReducer;\r\n\tconst { user } = state.loginReducer;\r\n\treturn { games, user };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tSelectGameFamily: gameActions.SetGameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Home))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\n//import {lottoActions} from '../../../action/lottoAction';\r\nclass Left extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tgameFamily: props.games.filter(a => a.id == 4)\r\n\t\t};\r\n\t};\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.props.currentAvailableDraws && this.props.currentAvailableDraws.length > 0 ? this.props.currentAvailableDraws.map((x, indx) =>\r\n\t\t\t\t\t\t\t
  • { this.props.selectDraw(x) }} key={`draw_${x.DrawID}`} className={(this.props.currentDraw != undefined && x.DrawID == this.props.currentDraw.DrawID) ? \"Active\" : \"\"}>\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{x.DrawTime}\r\n\t\t\t\t\t\t\t\t\t{x.DrawDate}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t) :
  • {t('lblNoMoreDraws')}
  • }\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.state.gameFamily && this.state.gameFamily.length > 0 && this.state.gameFamily[0].prizeInfo != \"\" && this.state.gameFamily[0].prizeInfo.split('^').map((x, indx) =>\r\n\t\t\t\t\t\t\t\t{x}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { user } = state.loginReducer;\r\n\tconst { currentDraw } = state.lottoReducer;\r\n\tconst { games } = state.gameReducer;\r\n\treturn { user, currentDraw, games };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\t//SetCurrentDraw:lottoActions.SetCurrentDraw,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Left))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\nclass Right extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n }\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n cartItems: props.cartItems\r\n };\r\n }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblgameslip')}

\r\n
\r\n {this.state.cartItems && this.state.cartItems.length <= 0 &&
\r\n

{t('lblplcurbet')}

\r\n
}\r\n
    \r\n {this.state.cartItems.map((x, indx) =>\r\n
  • \r\n
    \r\n {x.drawDateTime}\r\n
    { this.props.removeFromCart(x.id) }}>\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {x.balls && x.balls.map((bx, indx1) =>
    {bx.id}
    \r\n )}\r\n
    \r\n {x.total}\r\n
    \r\n
  • \r\n )}\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {t('lbltotbet')} : {this.state.cartItems.length}\r\n
\r\n
\r\n {t('lbltotamt')} : {this.state.cartItems.reduce((a, b) => a = a + b.total, 0)}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

{t('lbllatresult')}

\r\n
\r\n \r\n
    \r\n {this.props.latestResult ? this.props.latestResult.map((x, indx) =>\r\n
  • \r\n
    \r\n #{x.DrawNo} {x.Drawdatetime}\r\n
    \r\n
    \r\n
    \r\n {x.WinningNo.split(\",\").map((bx, indx1) =>\r\n
    {bx}
    \r\n )}\r\n
    \r\n
    \r\n
  • \r\n ) :\r\n
  • \r\n
    {t('lblnorecordfound')}
    \r\n
  • \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { cartItems } = state.lottoReducer;\r\n return { user, cartItems };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Right))","import {appConstants} from '../helpers/actionType';\r\nimport { gameService } from '../services/gameService';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { history } from '../helpers/history';\r\nexport const lottoActions={\r\n AddToCart,\r\n SetCurrentDraw,\r\n RemoveFromCart,\r\n ClearCart,\r\n RemoveClosedDrawbetFromCart,\r\n Buybet, \r\n}\r\n\r\nfunction AddToCart(cItem){ \r\n return dispatch =>{ \r\n dispatch({type:appConstants.ADD_CARTITEM,cItem}); \r\n }\r\n};\r\n\r\nfunction RemoveFromCart(cid){ \r\n return dispatch =>{ \r\n dispatch({type:appConstants.REMOVE_CARTITEM,cid}); \r\n }\r\n};\r\n\r\nfunction RemoveClosedDrawbetFromCart(did){ \r\n return dispatch =>{ \r\n dispatch({type:appConstants.REMOVE_CLOSEDDRAW_CARTITEM,did}); \r\n }\r\n};\r\n\r\nfunction ClearCart(){ \r\n return dispatch =>{ \r\n dispatch({type:appConstants.CLEAR_CARTITEM}); \r\n }\r\n};\r\n\r\nfunction SetCurrentDraw(cDraw){ \r\n return dispatch =>{ \r\n dispatch({type:appConstants.SET_DRAW,cDraw}); \r\n }\r\n};\r\n\r\n\r\nfunction Buybet(buyStr) {\r\n try{\r\n return dispatch => { \r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n gameService.LotteryOnlineSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo); \r\n dispatch({ type: appConstants.LOADED });\r\n\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000)\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance =myBet.winbalance; \r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance }); \r\n }\r\n \r\n },\r\n error => {\r\n //dispatch({ type: appConstants.BUY_ERROR, error });\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n}\r\ncatch (ex) {\t\t\r\n commonClass.writeLog(ex);\r\n}\r\n};\r\n\r\nfunction generateBetSlip(mybet) {\r\n try{\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n let tempStr = betArr[9].split('|');\r\n //let tempStr1 = tempStr[0].split('@');\r\n //let tempStr2 = tempStr[1].split('|');\r\n let tempStr1 = [];\r\n tempStr.forEach(el => {\r\n let tempStr2 = el.split('@');\r\n if (tempStr2.length > 1) {\r\n tempStr1.push({ no: tempStr2[0], amt: tempStr2[1] });\r\n }\r\n });\r\n let _bMsg=\"\";\r\n if( betArr.length>16)\r\n {\r\n _bMsg=betArr[16];\r\n }\r\n let betObj = {\r\n Id: betArr[2],\r\n TransDate: betArr[3],\r\n TransTime: betArr[4],\r\n DrawNo: betArr[5],\r\n DrawDate: betArr[6],\r\n DrawTime: betArr[7],\r\n Ball: tempStr1,\r\n TotalStakeAmount: betArr[10],\r\n GameName: betArr[13],\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance : betArr[11],\r\n winbalance : betArr[12],\r\n familyID:4,\r\n buttomMsg:_bMsg\r\n } \r\n return betObj;\r\n}\r\ncatch (ex) {\t\t\r\n commonClass.writeLog(ex);\r\n}\r\n};\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Left from \"./lottoLeft\";\r\nimport Right from \"./lottoRight\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { lottoActions } from '../../../action/lottoAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Lotto extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcartItems: [],\r\n\t\t\tcurrentRunningDraw: {},\r\n\t\t\tcurrentFinishingDraw: {},\r\n\t\t\tcoundownStart: 0,\r\n\t\t\tcoundTime: 18900000,\r\n\t\t\tcurrentDraw: {},\r\n\t\t\tcurrentAvailableDraws: [],\r\n\t\t\tcurrentCartItem: { id: 0, balls: [], amount: 0, ballCount: 0, combination: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, gameID: 0 },\r\n\r\n\t\t\tballStartNumber: 1,\r\n\t\t\tballEndNumber: 0,\r\n\t\t\tQPBallCount: 0,\r\n\t\t\trandom: [],\r\n\t\t\tshowSingleMsg: false,\r\n\t\t\t_serverTimeDiff: 0,\r\n\t\t\tallGameClosed: 0,\r\n\t\t\tisViewAnimation: false,\r\n\t\t};\r\n\t\tthis.my_componentWillUnmount();\r\n\t\tif (props.currentGamesFamily.id !== undefined) {\r\n\t\t\tprops.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\tthis.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language);\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tcalculateLottoPermCombinations = (classType, ballscnt) => {\r\n\t\ttry {\r\n\t\t\tvar i;\r\n\t\t\tvar Numerator = 1;\r\n\t\t\tvar Denominator = 1;\r\n\t\t\tvar NetResult, Perm;\r\n\t\t\tPerm = classType;\r\n\t\t\tfor (i = 0; i < Perm; i++) {\r\n\t\t\t\tNumerator = Numerator * ballscnt;\r\n\t\t\t\tballscnt = ballscnt - 1;\r\n\t\t\t}\r\n\t\t\tdo {\r\n\t\t\t\tDenominator = Denominator * Perm;\r\n\t\t\t\tPerm = Perm - 1;\r\n\t\t\t} while (Perm != 0);\r\n\t\t\tNetResult = Numerator / Denominator;\r\n\t\t\treturn NetResult;\r\n\t\t} catch (ex) {\r\n\t\t}\r\n\t\treturn 0;\r\n\t};\r\n\r\n\tcheckBallCountAndCalculateCombination = (selectedCount) => {\r\n\t\tlet default_Min_val = this.state.currentGamesFamily.minSelect;\r\n\t\tlet default_max_val = this.state.currentGamesFamily.maxSelect;\r\n\t\tlet default_val = default_Min_val;\r\n\t\tlet resultStr = \"\";\r\n\t\tif (default_Min_val <= selectedCount && default_max_val >= selectedCount) {\r\n\t\t\tresultStr = \"1~\" + this.calculateLottoPermCombinations(default_val, selectedCount);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (default_max_val < selectedCount) {\r\n\t\t\t\tresultStr = \"0~\" + this.props.t('lblMaximumselection') + \" : \" + default_max_val;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tresultStr = \"1~0\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultStr;\r\n\t};\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tcurrentAvailableDraws: props.currentAvailableDraws,\r\n\t\t\tcartItems: props.cartItems,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentGamesFamily: props.currentGamesFamily,\r\n\t\t\tlatestResult: props.latestResult\r\n\t\t};\r\n\t};\r\n\r\n\tcreateBall = () => {\r\n\t\tlet ballLst = [];\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tfor (let i = this.state.ballStartNumber; i < this.state.currentGamesFamily.ball + this.state.ballStartNumber; i++) {\r\n\t\t\t\tlet b_i = (\"0\" + i).slice(-2);\r\n\t\t\t\tballLst.push(
{ this.selectBall(b_i) }} className={`lotteryBalls ${this.state.currentCartItem.balls.filter(x => x.id == b_i).length > 0 ? \"lottoBallsActive\" : \"\"}`}>{b_i}
);\r\n\t\t\t}\r\n\t\t\tthis.state.ballEndNumber = this.state.currentGamesFamily.ball + (-1 + this.state.ballStartNumber);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn
{this.props.t('lblDrawClosed')}
;\r\n\t\t}\r\n\t\treturn ballLst;\r\n\t};\r\n\r\n\tshowSingleMsg = false;\r\n\tselectBall = (b_id) => {\r\n\t\tif (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n\t\t\tthis.state.showSingleMsg = true; alert(this.props.t('lblSelectDraw')); return;\r\n\t\t}\r\n\t\tlet obj = this.state.currentCartItem.balls.filter(x => x.id == b_id);\r\n\t\tlet cnt = 0;\r\n\t\tif (obj.length <= 0) {\r\n\t\t\tcnt = this.state.currentCartItem.ballCount + 1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tcnt = this.state.currentCartItem.ballCount - 1;\r\n\t\t}\r\n\t\tvar checkResult = this.checkBallCountAndCalculateCombination(cnt);\r\n\t\tlet arrResult = checkResult.split('~');\r\n\t\tif (arrResult[0] == '0') { this.state.showSingleMsg = true; alert(arrResult[1]); return; }\r\n\r\n\t\tlet objLst = this.state.currentCartItem;\r\n\t\tif (obj.length > 0) {\r\n\t\t\tobjLst.ballCount--;\r\n\t\t\tobjLst.balls = this.state.currentCartItem.balls.filter(x => x.id !== b_id);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tobjLst.gameName = this.state.currentDraw.LotName;\r\n\t\t\tobjLst.drawID = this.state.currentDraw.DrawID;\r\n\t\t\tobjLst.gameID = this.state.currentDraw.GameId;\r\n\t\t\tobjLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime\r\n\t\t\tobjLst.ballCount++;\r\n\t\t\tobjLst.amount = this.state.currentDraw.RateInPs;\r\n\t\t\tobjLst.balls.push({ id: b_id });\r\n\t\t}\r\n\t\tobjLst.combination = parseInt(arrResult[1]);\r\n\t\tobjLst.total = this.state.currentDraw.RateInPs * objLst.combination;\r\n\r\n\t\tthis.setState({\r\n\t\t\tcurrentCartItem: objLst\r\n\t\t});\r\n\t};\r\n\r\n\tselectDraw = (_draw) => {\r\n\t\tthis.props.SetCurrentDraw(_draw);\r\n\t};\r\n\r\n\tselectRunningDraw = () => {\r\n\t\tif (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\r\n\t\t\t//if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\tif (this.state.currentFinishingDraw != undefined) {\r\n\t\t\t\t//if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n\t\t\t\tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t\tif (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\t\t\t//let _draw = lst[0];\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentRunningDraw: _draw,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\t\t\tthis.selectDraw(_draw);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\t// \tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t// \tif (lst.length > 0) {\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\tif (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n\t\t\ttry {\r\n\t\t\t\tlet sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n\t\t\t\tif (_draw != undefined) {\r\n\t\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\t\tlet ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\t\tsTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n\t\t\t\t}\r\n\t\t\t\tlet dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n\t\t\t\twindow.timer = null;\r\n\t\t\t\tthis.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\talert(ex);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(previousProps, previousState) {\r\n\t\t//if ((this.state.currentRunningDraw ==null || Object.keys(this.state.currentRunningDraw).length == 0) && this.state.currentAvailableDraws.length>0) {\r\n\t\t//if ((this.state.currentDraw ==null || Object.keys(this.state.currentDraw).length == 0) && (previousState.currentDraw ==null && (this.state.currentDraw==null || this.state.currentAvailableDraws.length>0))) {\r\n\t\tif (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n\t\t\tthis.state.allGameClosed = 0;\r\n\t\t}\r\n\t\tif (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n\t\t//if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) \r\n\t\t{\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\t//window.documentReadyjQuery();\r\n\t\twindow.addEventListener('resize', window.documentReadyResize);\r\n\t};\r\n\tmy_componentWillUnmount = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\tcurrentRunningDraw: null\r\n\t\t})\r\n\t\tthis.props.ClearAvailableGames();\r\n\t}\r\n\r\n\tRefreshAfterGameClose = () => {\r\n\t\t//alert(\"coundown finish\");\r\n\t\tthis.state.coundownStart = 0;\r\n\t\tthis.state._serverTimeDiff = 0;\r\n\t\tthis.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n\r\n\t\tthis.props.RemoveClosedDrawbetFromCart(this.state.currentFinishingDraw.DrawID);\r\n\t\tthis.state.currentRunningDraw = {};\r\n\t\tthis.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\tthis.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language);\r\n\t};\r\n\r\n\r\n\taddToCart = () => {\r\n\t\tif (this.state.currentCartItem.combination <= 0) { alert(this.props.t('lblCompleteGame')); return; }\r\n\t\tlet newid = 1;\r\n\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.id), this.state.cartItems[0].id);\r\n\t\t}\r\n\t\tthis.state.currentCartItem.id = newid + 1;\r\n\t\tthis.props.AddToCart(this.state.currentCartItem);\r\n\t\tthis.clearAfterAddToCart();\r\n\t};\r\n\tviewAnimationResult = (flog) => {\r\n\t\tif (flog == 1 && this.state.isViewAnimation == true) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ isViewAnimation: !this.state.isViewAnimation });\r\n\t}\r\n\tclearAfterAddToCart = () => {\r\n\t\tthis.setState({\r\n\t\t\tcurrentCartItem: { id: 0, balls: [], amount: 0, ballCount: 0, combination: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0 },\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tclearCart = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tquickPick = () => {\r\n\t\tif (this.state.currentCartItem.balls.length == this.state.currentGamesFamily.maxSelect) {\r\n\t\t\tthis.state.currentCartItem = { id: 0, balls: [], amount: 0, ballCount: 0, combination: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, gameID: 0 };\r\n\t\t\tthis.clearAfterAddToCart();\r\n\t\t}\r\n\t\tthis.state.random = this.state.currentCartItem.balls.map(a => a.id);\r\n\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect - this.state.random.length;\r\n\t\tif (this.state.QPBallCount <= 0) {\r\n\t\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect;\r\n\t\t}\r\n\t\tvar index = -1;\r\n\t\tfor (var k = this.state.ballStartNumber; k <= this.state.QPBallCount; k++) {\r\n\t\t\tindex = this.generateRandomInteger();\r\n\t\t\tlet _bal = index\r\n\t\t\tthis.selectBall(_bal);\r\n\t\t\tif (this.state.showSingleMsg == true) {\r\n\t\t\t\tthis.state.showSingleMsg = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tgenerateRandomInteger = () => {\r\n\t\tvar min = this.state.ballStartNumber;\r\n\t\tvar max = this.state.ballEndNumber;\r\n\t\tif (this.state.random.length >= this.state.QPBallCount) {\r\n\t\t\tthis.state.random = [];\r\n\t\t}\r\n\t\tfor (var i = min; i <= max; i++) {\r\n\t\t\tvar temp = Math.floor(max - Math.random() * (max - min));\r\n\t\t\ttemp = (\"0\" + temp).slice(-2);\r\n\t\t\tif (this.state.random.indexOf(temp) == -1) {\r\n\t\t\t\tthis.state.random.push(temp);\r\n\t\t\t\treturn temp;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tremoveFromCart = (cid) => {\r\n\t\tthis.props.RemoveFromCart(cid);\r\n\t};\r\n\r\n\tcountdownCompleted = () => {\r\n\t\tthis.RefreshAfterGameClose();\r\n\t};\r\n\r\n\tgetGameTime = () => {\r\n\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n\t\t\tconsole.log(\"getGameTime : \" + sTime);\r\n\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\treturn sTime;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t};\r\n\r\n\t// Renderer callback with condition\r\n\trenderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n\t\tif (completed) {\r\n\t\t\t// Render a completed state\t\t\t\r\n\t\t\treturn Draw Closed!;\r\n\t\t} else {\r\n\t\t\t// Render a countdown\r\n\t\t\treturn {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n\t\t}\r\n\t};\r\n\r\n\tgetServerTime = () => {\r\n\t\tif (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n\t\t\t//return this.state._serverTimeDiff+Date.now()+1000;\r\n\t\t\tconsole.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n\t\t\treturn this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\tlet ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\tvar sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n\t\t\t\t//this.state._serverTimeDiff=Date.now()-sTime;\r\n\t\t\t\tthis.state._serverTimeDiff = sTime;\r\n\t\t\t\tconsole.log(\"getServerTime : \" + sTime);\r\n\t\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\t\treturn sTime;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treCount = (rundraw) => {\r\n\t\t//return ;\r\n\t\t//return ;\t\t\r\n\t\t//return ;\r\n\r\n\t\tif (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.coundownStart = 1;\r\n\t\t\treturn { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
{this.props.t('lblDrawClosed')}
:
{this.props.t('lblnextdraw')} {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
) }} />
;\r\n\t\t}\r\n\t};\r\n\r\n\tBuyLotteryBet = () => {\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\talert(this.props.t('lblLoginValidation'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n\t\t\talert(this.props.t('lblplcurbet'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet totstake = this.state.cartItems.reduce((a, b) => a = a + b.total, 0);\r\n\t\tlet minTotStake = 500;\r\n\t\tlet maxTotStake = 10000;\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tminTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n\t\t\tmaxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n\t\t}\r\n\t\tif (totstake < minTotStake) //300\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if (totstake > maxTotStake)//10000\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\r\n\t\tlet betInfo = \"\";\r\n\t\t//let cartList = this.state.cartItems.sort((a, b) => (a.drawID > b.drawID) ? 1 : -1);\r\n\t\tlet cartList = this.state.cartItems.sort((a, b) => a.drawID - b.drawID);\r\n\t\tlet _dratID = '0';\r\n\t\tlet _betType = \"0\";\r\n\t\tlet _extraBallCount = 0;\r\n\t\tlet extraBallData = \"\";\r\n\t\tlet totStakeAmt = 0;\r\n\t\tcartList.forEach(element => {\r\n\t\t\tlet betCountPerDraw = cartList.filter(a => a.drawID == element.drawID).length;\r\n\t\t\tlet ballData = element.balls.reduce((result, item) => { return `${result}${item.id};` }, \"\");\r\n\t\t\tballData = ballData.substring(0, ballData.length - 1);\r\n\t\t\tif (_dratID != '0' && _dratID != element.drawID) {\r\n\t\t\t\tbetInfo += \"*\";\r\n\t\t\t}\r\n\t\t\tif (_dratID == element.drawID) {\r\n\t\t\t\t_betType = _betType + 1;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_betType = \"A\".charCodeAt(0);\r\n\t\t\t\t//betInfo += element.drawID + \",\" + element.drawDateTime+\",\"+betCountPerDraw + \"@\";\t\t\t\t\r\n\t\t\t}\r\n\t\t\t//betInfo += String.fromCharCode(_betType)+\",\"+ ballData + \",\"+betCountPerDraw+\",0,0,\" + element.ballCount+ \",\" + element.amount + \"$\";\r\n\t\t\tbetInfo += String.fromCharCode(_betType) + \",\" + ballData + \",\" + betCountPerDraw + \",\" + element.ballCount + \",0,\" + element.amount + \",\" + element.total + \",$\";\r\n\t\t\t_dratID = element.drawID;\r\n\t\t\ttotStakeAmt = totStakeAmt + element.total;\r\n\t\t});\r\n\t\t//betInfo += \"*\";\r\n\t\tlet dateArr = cartList[0].drawDateTime.split(\" \");\r\n\t\tlet butStr = `0,0,'${this.props.user.mobileNo}',${cartList[0].gameID},'${dateArr[0]}','${betInfo}','${TransID}',0,${cartList.length},${totStakeAmt},0,'',1,'${this.props.user.loginKey}','${this.props.i18n.language}'`;\r\n\t\tthis.props.Buybet(butStr);\r\n\t\tthis.clearCart();\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t\t{t('lbllatresult')}\r\n\t\t\t\t\t\t\t\t{t('lblgameslip')} {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tGame Slip {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
*/}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{this.reCount(this.state.currentRunningDraw)}\r\n\t\t\t\t\t\t\t\t\t{this.state.currentDraw ? this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime : \"-\"}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { this.viewAnimationResult() }} >{this.state.isViewAnimation ? t('lblHide') : t('lblShow')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('lblstakeval')} : {this.state.currentDraw ? this.state.currentDraw.RateInPs : 0}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{this.createBall()}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { user } = state.loginReducer;\r\n\tconst { cartItems, currentDraw } = state.lottoReducer;\r\n\treturn { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, latestResult };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n\tAddToCart: lottoActions.AddToCart,\r\n\tRemoveFromCart: lottoActions.RemoveFromCart,\r\n\tRemoveClosedDrawbetFromCart: lottoActions.RemoveClosedDrawbetFromCart,\r\n\tSetCurrentDraw: lottoActions.SetCurrentDraw,\r\n\tClearCart: lottoActions.ClearCart,\r\n\tBuybet: lottoActions.Buybet,\r\n\tGetLatestResult: gameActions.GetLatestResult,\r\n\tClearAvailableGames: gameActions.ClearAvailableGames\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Lotto))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\nclass QuickWinLeft extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.props.currentAvailableDraws && this.props.currentAvailableDraws.length>0 ? this.props.currentAvailableDraws.map((x, indx) =>\r\n\t\t\t\t\t\t
  • { this.props.selectDraw(x) }} className={(this.props.currentDraw != undefined && x.DrawID == this.props.currentDraw.DrawID) ? \"Active\" : \"\"}>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{x.DrawTime}\r\n\t\t\t\t\t\t\t\t\t{x.DrawDate}\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t) :\r\n\t\t\t\t\t\t
  • {t('lblNoMoreDraws')}
  • \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { user } = state.loginReducer;\r\n\tconst { currentDraw } = state.quickWinReducer;\r\n\treturn { user, currentDraw };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\t//SetCurrentDraw:lottoActions.SetCurrentDraw,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(QuickWinLeft))","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const quickWinService = {\r\n QuickWinOnlineSale,\r\n GetCurrentResult,\r\n Pick3OnlineSale,\r\n};\r\n//const _apiUrl = \"http://localhost:2000/api\";\r\n//const _apiUrl=\"http://www.nodetest.com/api\";\r\n//const _apiUrl=\"http://220.225.104.132:8080/api\";\r\nconst _apiUrl = process.env.REACT_APP_API_URL;\r\n\r\n\r\nfunction QuickWinOnlineSale(data) {\r\n try {\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/quickwin/quickWinSale`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\nfunction Pick3OnlineSale(data) {\r\n try { \r\n return fetch(`${_apiUrl}/quickwin/Pick3Sale`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\n\r\nfunction GetCurrentResult(data) {\r\n try {\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/quickwin/getCurrentDrawResult`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(results => {\r\n if (results != null && results.data != null) { results = results.data; }\r\n //results=\"0~ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n //results=\"0~12~142~10/09/2021~10:10 AM~Quick Win~9\";\r\n return results;\r\n });\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\n\r\nfunction handleResponse_old(response) {\r\n try {\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n //logout();\r\n // location.reload(true);\r\n }\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n return data;\r\n });\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n}","import { appConstants } from '../helpers/actionType';\r\nimport { quickWinService } from '../services/quickWinService';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { history } from '../helpers/history';\r\nexport const quickWinActions = {\r\n AddToCart,\r\n SetCurrentDraw,\r\n RemoveFromCart,\r\n ClearCart,\r\n RemoveClosedDrawbetFromCart,\r\n Buybet,\r\n UpdateStakeAll,\r\n GetCurrentResult,\r\n UpdateCartAll,\r\n BuybetPick3,\r\n}\r\n\r\nfunction AddToCart(cItem) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.ADD_CARTITEM, cItem });\r\n }\r\n};\r\n\r\n\r\nfunction UpdateCartAll(Items) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_CARTITEM, Items });\r\n }\r\n};\r\n\r\nfunction RemoveFromCart(cid) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CARTITEM, cid });\r\n }\r\n};\r\n\r\nfunction RemoveClosedDrawbetFromCart(did) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CLOSEDDRAW_CARTITEM, did });\r\n }\r\n};\r\n\r\nfunction ClearCart() {\r\n return dispatch => {\r\n dispatch({ type: appConstants.CLEAR_CARTITEM });\r\n }\r\n};\r\n\r\nfunction SetCurrentDraw(cDraw) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.SET_DRAW, cDraw });\r\n }\r\n};\r\n\r\nfunction UpdateStakeAll(stake) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_STAKE_ALL, stake });\r\n }\r\n};\r\n\r\nfunction GetCurrentResult(gameID, langID) {\r\n return dispatch => {\r\n let data = `'${gameID}','${langID}'`;\r\n quickWinService.GetCurrentResult(data)\r\n .then(\r\n cResult => {\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n },\r\n error => {\r\n let cResult = undefined;\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n }\r\n );\r\n }\r\n};\r\n\r\nfunction Buybet(buyStr) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n quickWinService.QuickWinOnlineSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo);\r\n dispatch({ type: appConstants.LOADED });\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000);\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance = myBet.winbalance;\r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n }\r\n },\r\n error => {\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction BuybetPick3(buyStr) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n quickWinService.Pick3OnlineSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo);\r\n dispatch({ type: appConstants.LOADED });\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000);\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance = myBet.winbalance;\r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n }\r\n },\r\n error => {\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\nfunction generateBetSlip(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n mybet = mybet.substring(2, mybet.length);\r\n let tempStr = mybet.split('@');\r\n let tempStr1 = tempStr[1].split('~');\r\n let tempStr2 = tempStr[0].split('|');\r\n let tempStr3 = [];\r\n tempStr2.forEach(ele => {\r\n let _betValue = ele.split('~');\r\n if (_betValue.length > 1) {\r\n tempStr3.push({\r\n Id: _betValue[0],\r\n BallNo: _betValue[2].split(' ')[1],\r\n StakeValue: parseFloat(_betValue[3]),\r\n SubTotal: parseFloat(_betValue[4]),\r\n OddsValue: _betValue[5],\r\n GameTime: _betValue[6] + \" \" + _betValue[7],\r\n GameID: parseInt(_betValue[8]),\r\n TransDateTime: _betValue[10],\r\n GameName: _betValue[12],\r\n });\r\n }\r\n });\r\n let _bMsg = \"\";\r\n if (tempStr.length > 2) {\r\n _bMsg = tempStr[2];\r\n }\r\n let betObj = {\r\n betLst: tempStr3,\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: tempStr1[0],\r\n winbalance: tempStr1[1],\r\n familyID: 5,\r\n buttomMsg: _bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { quickWinActions } from '../../../action/quickWinAction';\r\nimport { withTranslation } from 'react-i18next';\r\nclass QuickWinRight extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stake: 0\r\n }\r\n }\r\n\r\n setUpdateStake = (stake) => {\r\n this.setState({\r\n stake: stake\r\n })\r\n this.props.UpdateStakeAll(stake);\r\n };\r\n\r\n updatesStakeValue = (bid, flog) => {\r\n if (this.state.cartItems != null) {\r\n let lst = this.state.cartItems.filter(a => a.id == bid);\r\n if (lst != null && lst != undefined && lst.length > 0) {\r\n lst = lst[0];\r\n if (flog == \"+\") {\r\n if (lst.stakeValue + 1 > lst.maxStake){\r\n alert(this.props.t('lblMaximumstake')+\" : \"+ lst.maxStake);\r\n return;\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue + 50;\r\n }\r\n else if (flog == \"-\") {\r\n if (lst.stakeValue - 1 <= lst.minStake){ \r\n alert(this.props.t('lblMinimumstake')+\" : \"+lst.minStake);\r\n return\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue - 50;\r\n }\r\n lst.total = lst.stakeValue * lst.oddsValue;\r\n this.props.UpdateCartAll(lst);\r\n }\r\n }\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n cartItems: props.cartItems\r\n };\r\n }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblgameslip')}

\r\n {this.state.cartItems && this.state.cartItems.length<=0 &&
\r\n

{t('lblplcurbet')}

\r\n
}\r\n
\r\n \r\n
    \r\n {this.state.cartItems && this.state.cartItems.map((x, indx) =>\r\n
  • \r\n
    \r\n
    {x.ballNo}
    \r\n
    #{x.drawNo}
    \r\n
    \r\n
    \r\n { this.updatesStakeValue(x.id, \"-\") }}>-\r\n \r\n { this.updatesStakeValue(x.id, \"+\") }}>+\r\n
    \r\n
    \r\n
    \r\n
    \r\n {x.total}\r\n {x.oddsValue}X\r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n )}\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {t('lbltotbet')} : {this.state.cartItems.length}\r\n
\r\n
\r\n {t('lbltotstak')} : {this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0)}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {/*
\r\n ENTER STAKE VALUE\r\n this.setUpdateStake(e.target.value)}/>\r\n
*/}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{t('lbllatresult')}

\r\n
    \r\n {this.props.latestResult ? this.props.latestResult.map((x, indx) =>\r\n
  • \r\n
    \r\n
    #{x.DrawNo}
    \r\n
    {x.Drawdatetime}
    \r\n
    {x.WinningNo}
    \r\n
    \r\n
  • ) :
    }\r\n
\r\n {/*
\r\n View All Results\r\n
*/}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { cartItems } = state.quickWinReducer;\r\n return { user, cartItems };\r\n}\r\n\r\nconst mapActionToProps = {\r\n UpdateStakeAll: quickWinActions.UpdateStakeAll,\r\n UpdateCartAll: quickWinActions.UpdateCartAll,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(QuickWinRight))","import React, { Component } from \"react\";\r\nimport Unity, { UnityContext } from \"react-unity-webgl\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass webGLApp extends Component {\r\n constructor(props) {\r\n super(props); \r\n this.state={progression:0};\r\n }\r\n\r\n unityContext = new UnityContext({\r\n loaderUrl: \"assets/WebGL/QW/Q1.loader.js\",\r\n dataUrl: \"assets/WebGL/QW/Q1.data\",\r\n frameworkUrl: \"assets/WebGL/QW/Q1.framework.js\",\r\n codeUrl: \"assets/WebGL/QW/Q1.wasm\",\r\n });\r\n\r\n\r\n\r\n // unityContent = new UnityContent(\r\n // \"assets/WebGL/QW/Q1.json\",\r\n // \"assets/WebGL/QW/UnityLoader.js\"\r\n // )\r\n\r\n\r\n fnWelcome = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n //let ssd=_flog.style.cursor;\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n this.unityContext.send(\"Inputcontroller\", \"WelcomeData\", strkey)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~2~3:00:00\");\r\n // },5000)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~5~3:00:00\");\r\n // },90000)\r\n\r\n }\r\n }, 1000);\r\n\r\n }\r\n fnStartAnimation = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");//document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n this.unityContext.send(\"Inputcontroller\", \"ResultData\", strkey);\r\n }\r\n }, 1000);\r\n }\r\n componentDidMount() {\r\n this.setState({ proCompleted: 0 });\r\n this.props.fnWelcome(this.fnWelcome);\r\n this.props.fnStartAnimation(this.fnStartAnimation);\r\n let sss=this;\r\n this.unityContext.on(\"progress\", function (_prog) {\r\n sss.setState({progression:_prog});\r\n });\r\n // this.fnUnityLoaded();\r\n\r\n }\r\n // fnUnityLoaded = () => {\r\n // this.unityContent.on(\"loaded\", function () {\r\n // alert(\"loaded\")\r\n // });\r\n // this.unityContext.on(\"progress\", function (progression) {\r\n // console.log(\"progression : \"+progression);\r\n // // this.setState({proCompleted:progression});\r\n // });\r\n // }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (
\r\n {/* \r\n */}\r\n {/* */}\r\n {this.state.progression!=1 &&

{t('lblLoading')} {parseInt(this.state.progression * 100)} %...

}\r\n \r\n
\r\n )\r\n }\r\n\r\n}\r\nexport default withTranslation()(webGLApp)\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport QuickWinLeft from \"./quickWinLeft\";\r\nimport QuickWinRight from \"./quickWinRight\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { quickWinActions } from '../../../action/quickWinAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport WebGLApp from \"./webGL\";\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass QuickWin extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcartItems: [],\r\n\t\t\tcurrentRunningDraw: {},\r\n\t\t\tcurrentFinishingDraw: {},\r\n\t\t\tcoundownStart: 0,\r\n\t\t\tcoundTime: 18900000,\r\n\t\t\tcurrentDraw: {},\r\n\t\t\tcurrentAvailableDraws: [],\r\n\t\t\tcurrentCartItem: { id: 0, ballNo: \"\", stakeValue: 100, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0 },\r\n\r\n\t\t\tballStartNumber: 0,\r\n\t\t\tballEndNumber: 0,\r\n\t\t\tQPBallCount: 0,\r\n\t\t\trandom: [],\r\n\t\t\tshowSingleMsg: false,\r\n\t\t\t_serverTimeDiff: 0,\r\n\t\t\tallGameClosed: 0,\r\n\t\t\tisViewAnimation: false,\r\n\t\t\twebglInit: false,\r\n\t\t\ttimerGetResult: null,\r\n\t\t\ttimerGetLatestResult: null,\r\n\t\t\ttimerGetResultCount: 0,\r\n\t\t};\r\n\t\tthis.my_componentWillUnmount();\r\n\t\tif (props.currentGamesFamily.id !== undefined) {\r\n\t\t\tprops.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\tprops.GetLatestResult(props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\t// let ss = Date.now;\r\n\t\t\t// let ssss = ss();\r\n\t\t\t// console.log(\"Date.now : \" + ss);\r\n\t\t}\r\n\t}\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tcurrentAvailableDraws: props.currentAvailableDraws,\r\n\t\t\tcartItems: props.cartItems,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentGamesFamily: props.currentGamesFamily,\r\n\t\t\tlatestResult: props.latestResult,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentResult: props.currentResult\r\n\t\t};\r\n\t};\r\n\r\n\tcreateBall = () => {\r\n\t\tlet ballLst = [];\r\n\t\tif (this.state.currentGamesFamily != undefined && this.state.currentDraw != null && Object.keys(this.state.currentDraw).length > 0) {\r\n\t\t\tfor (let i = this.state.ballStartNumber; i < this.state.currentGamesFamily.ball + this.state.ballStartNumber; i++) {\r\n\t\t\t\tlet b = (\"0\" + i).slice(-2);\r\n\t\t\t\tlet b_i = this.state.currentDraw.GameId + \"_\" + b;\r\n\t\t\t\tballLst.push(
{ this.selectBall(b_i) }} className={`lottoBalls ${this.state.cartItems.filter(x => x.id == b_i).length > 0 ? \"lottoBallsActive\" : \"\"}`}>{b}
);\r\n\t\t\t}\r\n\t\t\tthis.state.ballEndNumber = this.state.currentGamesFamily.ball + (-1 + this.state.ballStartNumber);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn
Draw Closed
;\r\n\t\t}\r\n\t\treturn ballLst;\r\n\t};\r\n\r\n\tshowSingleMsg = false;\r\n\tselectBall = (b_id, qpMax) => {\r\n\t\tif (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) { this.state.showSingleMsg = true; alert(\"Please select the draw\"); return; }\r\n\t\tlet obj = this.state.cartItems.filter(x => x.id == b_id);\r\n\t\tlet objLst = { id: 0, ballNo: \"\", stakeValue: 100, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0, minStake: 0, maxStake: 0 };\r\n\r\n\t\tlet default_Min_val = this.state.currentGamesFamily.minSelect;\r\n\t\tlet default_max_val = this.state.currentGamesFamily.maxSelect;\r\n\r\n\t\tif (obj.length > 0) {\r\n\t\t\t// this.state.cartItems = this.state.cartItems.filter(x => x.id !== b_id);\r\n\t\t\t// this.setState({\r\n\t\t\t// \tcartItems: this.state.cartItems.filter(x => x.id !== b_id)\r\n\t\t\t// });\r\n\t\t\tthis.props.RemoveFromCart(b_id);\r\n\t\t}\r\n\t\telse if (default_max_val <= this.state.cartItems.length) {\r\n\t\t\tthis.state.showSingleMsg = true;\r\n\t\t\talert(this.props.t('lblMaximumselection : ') + default_max_val);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//no of ball~min select~max select~min stake~max stake~\r\n\t\t\tlet _noOfBalls = this.state.currentDraw.NoofBalls.split('~');\r\n\t\t\tif (_noOfBalls.length > 4) {\r\n\t\t\t\tobjLst.minStake = parseInt(_noOfBalls[3]);\r\n\t\t\t\tobjLst.maxStake = parseInt(_noOfBalls[4]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tobjLst.minStake = 100;\r\n\t\t\t\tobjLst.maxStake = 2000;\r\n\t\t\t}\r\n\t\t\tobjLst.stakeValue = objLst.minStake;\r\n\t\t\tobjLst.gameName = this.state.currentDraw.LotName;\r\n\t\t\tobjLst.drawID = this.state.currentDraw.DrawID;\r\n\t\t\tobjLst.drawNo = this.state.currentDraw.DrawNo;\r\n\t\t\tobjLst.gameID = this.state.currentDraw.GameId;\r\n\t\t\tobjLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime;\r\n\t\t\tobjLst.ballNo = b_id.split(\"_\")[1];\r\n\t\t\tobjLst.id = b_id;\r\n\t\t\tobjLst.oddsValue = this.state.currentDraw.RateInPs;\r\n\t\t\tobjLst.total = objLst.stakeValue * objLst.oddsValue;\r\n\t\t\tif (qpMax) {\r\n\t\t\t\tobjLst.bMax = qpMax;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlet newid = 1;\r\n\t\t\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t\t\t}\r\n\t\t\t\tobjLst.bMax = newid + 1;\r\n\t\t\t}\r\n\t\t\tthis.props.AddToCart(objLst);\r\n\t\t}\r\n\t};\r\n\r\n\tselectDraw = (_draw) => {\r\n\t\tthis.props.SetCurrentDraw(_draw);\r\n\r\n\t};\r\n\r\n\tselectRunningDraw = () => {\r\n\t\tif (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\t\t\t//if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\tif (this.state.currentFinishingDraw != undefined) {\r\n\t\t\t\t//if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n\t\t\t\tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t\tif (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\t\t\t//let _draw = lst[0];\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentRunningDraw: _draw,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\t\t\tthis.selectDraw(_draw);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\t// \tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t// \tif (lst.length > 0) {\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\tif (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n\t\t\ttry {\r\n\t\t\t\tlet sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n\t\t\t\tif (_draw != undefined) {\r\n\t\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\t\tlet ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\t\tsTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n\t\t\t\t}\r\n\t\t\t\tlet dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n\t\t\t\twindow.timer = null;\r\n\t\t\t\tthis.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\talert(ex);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(previousProps, previousState) {\r\n\t\tif ((previousState.currentResult != this.state.currentResult) || (this.state.currentResult && this.state.currentResult.indexOf(\"1~\") == 0)) {\r\n\t\t\tconsole.log(\"start startAnimationWebGL in componentDidUpdate with : \" + this.state.currentResult);\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n\t\t//if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0))\r\n\t\t{\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t};\r\n\r\n\r\n\tcomponentDidUpdate_old(previousProps, previousState) {\r\n\t\t//if ((this.state.currentRunningDraw ==null || Object.keys(this.state.currentRunningDraw).length == 0) && this.state.currentAvailableDraws.length>0) {\r\n\t\t//if ((this.state.currentDraw ==null || Object.keys(this.state.currentDraw).length == 0) && (previousState.currentDraw ==null && (this.state.currentDraw==null || this.state.currentAvailableDraws.length>0))) {\r\n\t\tif (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n\t\t\tthis.state.allGameClosed = 0;\r\n\t\t}\r\n\t\tif (previousState.currentResult != this.state.currentResult) {\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0 && this.state.currentAvailableDraws.length > 0 && this.state.currentAvailableDraws.length == previousState.currentAvailableDraws.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) {\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t//for stake all text box hide\r\n\t\t// if(previousProps.stakeAll !=this.props.stakeAll)\r\n\t\t// {\r\n\t\t// \tif(this.state.cartItems !=null )\r\n\t\t// \t{\r\n\t\t// \t\t\tfor (let i = 0; i < this.state.cartItems.length; i++) {\r\n\t\t// \t\t\t\tthis.state.cartItems[i].stakeValue=this.props.stakeAll;\r\n\t\t// \t\t\t\tthis.state.cartItems[i].total = this.props.stakeAll * a.oddsValue;\r\n\t\t// \t\t\t}\r\n\t\t// \t}\r\n\t\t// }\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\t//setTimeout(\tthis.RefreshAfterGameClose,10000);\r\n\t\t//setInterval(() => {\t\tthis.RefreshAfterGameClose()\t }, 60*1000); \r\n\t\t//window.documentReadyjQuery();\r\n\t\twindow.addEventListener('resize', window.documentReadyResize);\r\n\t\t//window.loadWebGL();\r\n\t\t//window.WelcomeAnimationScreen();\r\n\t\t//this.setWelcomScreenWebGL();\r\n\t};\r\n\tmy_componentWillUnmount = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\tcurrentRunningDraw: null,\r\n\t\t})\r\n\t\tthis.props.ClearAvailableGames();\r\n\t};\r\n\r\n\tRefreshAfterGameClose = () => {\r\n\t\t//alert(\"coundown finish\");\r\n\t\tthis.state.coundownStart = 0;\r\n\t\tthis.state._serverTimeDiff = 0;\r\n\t\tthis.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n\r\n\t\tthis.props.RemoveClosedDrawbetFromCart(this.state.currentFinishingDraw.DrawID);\r\n\t\tsetTimeout(() => { this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language) }, 2000)\r\n\t\tthis.state.currentRunningDraw = {};\r\n\t\t//setTimeout(this.props.GetLatestResult(this.props.currentGamesFamily.id),21000);\r\n\t\tconsole.log(\"RefreshAfterGameClose drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\tthis.state.timerGetResultCount = 0;\r\n\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId) }, 5000);\r\n\t\t//setTimeout(this.props.GetCurrentResult(145), 2000);\r\n\t\t//setTimeout(this.startAnimationWebGL, 5000);\r\n\t};\r\n\r\n\tsetWelcomScreenWebGL = () => {\r\n\t\tif (this.state.currentRunningDraw && this.state.currentRunningDraw.DrawDateTime) {\r\n\t\t\tvar s = this.state.currentRunningDraw.DrawDateTime.split(' ');\r\n\t\t\tvar strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.LotName + \"~\" + this.state.currentRunningDraw.DrawNo + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t//let strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n\t\t\tconsole.log(\"start setWelcomScreenWebGL\");\r\n\t\t\tthis.fnWelcome(strkey);\r\n\t\t}\r\n\t}\r\n\tstartAnimationWebGL = () => {\r\n\t\t//alert(\"call animate\");\r\n\t\t//this.state.currentResult=\"0~1~142~05/09/2021~10:00 AM~Quick Win~9\";\r\n\t\tif (this.state.currentResult) {\r\n\t\t\tlet arr = this.state.currentResult.split(\"~\");\r\n\t\t\tif (arr[0] == \"0\") {\r\n\t\t\t\t//var s = this.state.currentRunningDraw.Drawdatetime.split(' ');\r\n\t\t\t\t//var strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.GameName + \"~\" + this.state.currentRunningDraw.GameID + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t\tlet strkey = \"ThOtArPuElLaThA~\" + this.state.currentResult.substring(2, this.state.currentResult.length);\r\n\t\t\t\tvar s = this.state.currentDraw ? this.state.currentDraw.DrawTime : \"No More\";\r\n\t\t\t\tif (s != null) {\r\n\t\t\t\t\tstrkey = strkey + \"~\" + s;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstrkey = strkey + \"~00:00\";\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(\"start startAnimationWebGL with : \" + strkey);\r\n\t\t\t\tthis.viewAnimationResult(1);\r\n\t\t\t\tthis.fnStartAnimation(strkey);\r\n\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tthis.state.timerGetResult = null;\r\n\t\t\t\tthis.state.timerGetResultCount = 0;\r\n\t\t\t\tthis.state.timerGetLatestResult = setTimeout(() => { this.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language) }, 30000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.state.timerGetResult)\r\n\t\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tif (this.state.timerGetResultCount < 5) {\r\n\t\t\t\t\tconsole.log(\"GetCurrentResult drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\t\t\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId, this.props.i18n.language) }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.timerGetResultCount++;\r\n\t\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//\tthis.props.GetCurrentResult(this.state.currentDraw.DrawNo)\r\n\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tfnWelcome = () => {\r\n\t}\r\n\tfnStartAnimation = () => {\r\n\t}\r\n\tviewAnimationResult = (flog) => {\r\n\t\tif (flog == 1 && this.state.isViewAnimation == true) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ isViewAnimation: !this.state.isViewAnimation });\r\n\t}\r\n\tclearAfterAddToCart = () => {\r\n\t\tlet obj = this.state.cartItems.filter(x => x.gameID == this.state.currentDraw.GameId);\r\n\t\tfor (let i = 0; i < obj.length; i++) {\r\n\t\t\tthis.props.RemoveFromCart(obj[i].id);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tclearCart = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tquickPick = () => {\r\n\t\tif (this.state.cartItems.length == this.state.currentGamesFamily.maxSelect) {\r\n\t\t\t//this.props.ClearCart();\r\n\t\t\t//this.clearAfterAddToCart();\r\n\t\t\talert(this.props.t('lblMaximumselection') + \" : \" + this.state.currentGamesFamily.maxSelect);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.state.random = this.state.cartItems.filter(a => a.gameID == this.state.currentDraw.GameId).map(a => a.ballNo);\r\n\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect - this.state.random.length;\r\n\t\tif (this.state.QPBallCount <= 0) {\r\n\t\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect;\r\n\t\t}\r\n\t\tvar index = -1;\r\n\r\n\t\tlet newid = 0;\r\n\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t}\r\n\r\n\t\t//for (var k = this.state.ballStartNumber; k <= this.state.QPBallCount; k++) {\r\n\t\tindex = this.generateRandomInteger();\r\n\t\tlet _bal = this.state.currentDraw.GameId + \"_\" + index;\r\n\t\tnewid++;\r\n\t\tthis.selectBall(_bal, newid);\r\n\t\tif (this.state.showSingleMsg == true) {\r\n\t\t\tthis.state.showSingleMsg = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//}\r\n\t};\r\n\r\n\tgenerateRandomInteger = () => {\r\n\t\tvar min = this.state.ballStartNumber;\r\n\t\tvar max = this.state.ballEndNumber;\r\n\t\tif (this.state.random.length >= this.state.currentGamesFamily.maxSelect) {\r\n\t\t\tthis.state.random = [];\r\n\t\t}\r\n\t\tlet valFound = false\r\n\t\twhile (valFound == false) {\r\n\t\t\tfor (var i = min; i <= max; i++) {\r\n\t\t\t\tvar temp = Math.floor(max - Math.random() * (max - min));\r\n\t\t\t\ttemp = (\"0\" + temp).slice(-2);\r\n\t\t\t\tif (temp && this.state.random.indexOf(temp) == -1) {\r\n\t\t\t\t\tthis.state.random.push(temp);\r\n\t\t\t\t\tvalFound = true;\r\n\t\t\t\t\treturn temp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// \tconsole.log(\"temp123Test123 : \");\r\n\t\t// return\tthis.generateRandomInteger();\r\n\t};\r\n\r\n\tremoveFromCart = (cid) => {\r\n\t\tthis.props.RemoveFromCart(cid);\r\n\t};\r\n\r\n\tcountdownCompleted = () => {\r\n\t\tthis.RefreshAfterGameClose();\r\n\t};\r\n\r\n\tgetGameTime = () => {\r\n\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n\t\t\tconsole.log(\"getGameTime : \" + sTime);\r\n\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\treturn sTime;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t};\r\n\r\n\t// Renderer callback with condition\r\n\trenderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n\t\tif (completed) {\r\n\t\t\t// Render a completed state\t\t\t\r\n\t\t\treturn Draw Closed!;\r\n\t\t} else {\r\n\t\t\t// Render a countdown\r\n\t\t\treturn {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n\t\t}\r\n\t};\r\n\r\n\tgetServerTime = () => {\r\n\t\tif (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n\t\t\t//return this.state._serverTimeDiff+Date.now()+1000;\r\n\t\t\tconsole.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n\t\t\treturn this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\tlet ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\tvar sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n\t\t\t\t//this.state._serverTimeDiff=Date.now()-sTime;\r\n\t\t\t\tthis.state._serverTimeDiff = sTime;\r\n\t\t\t\tconsole.log(\"getServerTime : \" + sTime);\r\n\t\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\t\treturn sTime;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treCount = (rundraw) => {\r\n\t\t//return ;\r\n\t\t//return ;\t\t\r\n\t\t//return ;\r\n\r\n\t\tif (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.coundownStart = 1;\r\n\t\t\treturn { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
{this.props.t('lblDrawClosed')}
:
{this.props.t('lblnextdraw')} {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
) }} />
;\r\n\t\t}\r\n\t};\r\n\r\n\tBuyLotteryBet = () => {\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\talert(this.props.t('lblLoginValidation'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n\t\t\talert(this.props.t('lblplcurbet'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet totStake = this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0);\r\n\t\tlet minTotStake = 500;\r\n\t\tlet maxTotStake = 10000;\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tminTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n\t\t\tmaxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n\t\t}\r\n\r\n\t\tif (totStake < minTotStake)//300\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if (totStake > maxTotStake)//10000\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\t//let cartList = this.state.cartItems.sort((a, b) => (a.drawID > b.drawID) ? 1 : -1);\t\t\r\n\t\tlet cartList = this.state.cartItems.sort((a, b) => a.drawID - b.drawID);\r\n\t\tlet transactionString = \"\";\r\n\t\tlet gamestring = \"\";\r\n\t\tlet subgameId = 0;\r\n\t\tcartList.forEach(item => {\r\n\t\t\tif (subgameId != 0 && subgameId != item.drawID) {\r\n\t\t\t\tgamestring += \"*\";\r\n\t\t\t}\r\n\t\t\tif (subgameId != item.drawID) {\r\n\t\t\t\tgamestring += item.drawID + \"-\" + item.gameID;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgamestring += item.gameID;\r\n\t\t\t}\r\n\t\t\tgamestring += \"^0\";\r\n\t\t\tgamestring += \"^\" + item.ballNo;\r\n\t\t\tgamestring += \"^\" + parseInt(item.stakeValue);\r\n\t\t\tgamestring += \"^\" + parseInt(item.total);\r\n\t\t\tgamestring += \"^\" + item.oddsValue;\r\n\t\t\tgamestring += \"^0^|\";\r\n\t\t\tsubgameId = item.drawID;\r\n\t\t})\r\n\t\tgamestring += \"*\";\r\n\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo.substring(this.props.user.mobileNo.length - 4);\r\n\r\n\t\tlet betoption = \"2\";\r\n\r\n\t\ttransactionString += `'${this.props.user.mobileNo}',`;\r\n\t\ttransactionString += `'${TransID}',`;\r\n\t\ttransactionString += `'${gamestring}',`;\r\n\t\ttransactionString += `'-',`;\r\n\t\ttransactionString += `${betoption},`;\r\n\t\ttransactionString += `'${this.props.user.loginKey}','0','0','${this.props.i18n.language}'`;\r\n\r\n\t\tthis.props.Buybet(transactionString);\r\n\t\tthis.clearCart();\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t\t{t('lbllatresult')}\r\n\r\n\t\t\t\t\t\t\t\t{t('lblgameslip')} {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tGame Slip {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
*/}\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{this.reCount(this.state.currentRunningDraw)}\r\n\t\t\t\t\t\t\t\t\t{this.state.currentDraw ? this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime : '-'}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { this.viewAnimationResult() }} >{this.state.isViewAnimation ? t('lblHide') : t('lblShow')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t { this.fnWelcome = dd; }} fnStartAnimation={(dd) => { this.fnStartAnimation = dd; }} />\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('lbloddsval')} : {this.state.currentDraw ? this.state.currentDraw.RateInPs : 0}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{this.createBall()}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { user } = state.loginReducer;\r\n\tconst { cartItems, currentDraw, stakeAll, currentResult } = state.quickWinReducer;\r\n\treturn { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, stakeAll, latestResult, currentResult };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n\tAddToCart: quickWinActions.AddToCart,\r\n\tRemoveFromCart: quickWinActions.RemoveFromCart,\r\n\tRemoveClosedDrawbetFromCart: quickWinActions.RemoveClosedDrawbetFromCart,\r\n\tSetCurrentDraw: quickWinActions.SetCurrentDraw,\r\n\tClearCart: quickWinActions.ClearCart,\r\n\tBuybet: quickWinActions.Buybet,\r\n\tGetLatestResult: gameActions.GetLatestResult,\r\n\tGetCurrentResult: quickWinActions.GetCurrentResult,\r\n\tClearAvailableGames: gameActions.ClearAvailableGames\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(QuickWin))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\nclass QuickWinLeft extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.props.currentAvailableDraws && this.props.currentAvailableDraws.length>0 ? this.props.currentAvailableDraws.map((x, indx) =>\r\n\t\t\t\t\t\t
  • { this.props.selectDraw(x) }} className={(this.props.currentDraw != undefined && x.DrawID == this.props.currentDraw.DrawID) ? \"Active\" : \"\"}>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{x.DrawTime}\r\n\t\t\t\t\t\t\t\t\t{x.DrawDate}\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t) :\r\n\t\t\t\t\t\t
  • {t('lblNoMoreDraws')}
  • \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { user } = state.loginReducer;\r\n\tconst { currentDraw } = state.quickWinReducer;\r\n\treturn { user, currentDraw };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\t//SetCurrentDraw:lottoActions.SetCurrentDraw,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(QuickWinLeft))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { quickWinActions } from '../../../action/quickWinAction';\r\nimport { withTranslation } from 'react-i18next';\r\nclass QuickWinRight extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stake: 0\r\n }\r\n }\r\n\r\n setUpdateStake = (stake) => {\r\n this.setState({\r\n stake: stake\r\n })\r\n this.props.UpdateStakeAll(stake);\r\n };\r\n\r\n updatesStakeValue = (bid, flog) => {\r\n if (this.state.cartItems != null) {\r\n let lst = this.state.cartItems.filter(a => a.id == bid);\r\n if (lst != null && lst != undefined && lst.length > 0) {\r\n lst = lst[0];\r\n if (flog == \"+\") {\r\n if (lst.stakeValue + lst.multiStake > lst.maxStake){\r\n alert(this.props.t('lblMaximumstake')+\" : \"+ lst.maxStake);\r\n return;\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue + lst.multiStake;\r\n }\r\n else if (flog == \"-\") {\r\n if (lst.stakeValue - lst.multiStake < lst.minStake){ \r\n alert(this.props.t('lblMinimumstake')+\" : \"+lst.minStake);\r\n return\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue - lst.multiStake;\r\n }\r\n lst.total = lst.stakeValue * lst.oddsValue;\r\n this.props.UpdateCartAll(lst);\r\n }\r\n }\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n cartItems: props.cartItems\r\n };\r\n }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblgameslip')}

\r\n {this.state.cartItems && this.state.cartItems.length<=0 &&
\r\n

{t('lblplcurbet')}

\r\n
}\r\n
\r\n \r\n
    \r\n {this.state.cartItems && this.state.cartItems.map((x, indx) =>\r\n
  • \r\n
    \r\n
    {x.ballNo}
    \r\n
    #{x.drawNo}
    \r\n
    \r\n
    \r\n { this.updatesStakeValue(x.id, \"-\") }}>-\r\n \r\n { this.updatesStakeValue(x.id, \"+\") }}>+\r\n
    \r\n
    \r\n
    \r\n
    \r\n {x.total}\r\n {x.oddsValue}X\r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n )}\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {t('lbltotbet')} : {this.state.cartItems.length}\r\n
\r\n
\r\n {t('lbltotstak')} : {this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0)}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {/*
\r\n ENTER STAKE VALUE\r\n this.setUpdateStake(e.target.value)}/>\r\n
*/}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{t('lbllatresult')}

\r\n
    \r\n {this.props.latestResult ? this.props.latestResult.map((x, indx) =>\r\n
  • \r\n
    \r\n
    #{x.DrawNo}
    \r\n
    {x.Drawdatetime}
    \r\n
    {x.WinningNo}
    \r\n
    \r\n
  • ) :\r\n
  • \r\n
    {t('lblnorecordfound')}
    \r\n
  • \r\n }\r\n
\r\n {/*
\r\n View All Results\r\n
*/}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { cartItems } = state.quickWinReducer;\r\n return { user, cartItems };\r\n}\r\n\r\nconst mapActionToProps = {\r\n UpdateStakeAll: quickWinActions.UpdateStakeAll,\r\n UpdateCartAll: quickWinActions.UpdateCartAll,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(QuickWinRight))","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const target10Service = {\r\n Target10OnlineSale,\r\n GetCurrentResult,\r\n};\r\n//const _apiUrl = \"http://localhost:2000/api\";\r\n//const _apiUrl=\"http://www.nodetest.com/api\";\r\n//const _apiUrl=\"http://220.225.104.132:8080/api\";\r\nconst _apiUrl=process.env.REACT_APP_API_URL;\r\n\r\n\r\nfunction Target10OnlineSale(data) {\r\n try{\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/target/targetSale`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetCurrentResult(data) {\r\n try{\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/target/getCurrentDrawResult`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(results => {\r\n if (results != null && results.data != null) \r\n { results = results.data; }\r\n //results=\"0~ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n //results=\"0~12~142~10/09/2021~10:10 AM~Quick Win~9\";\r\n return results;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\n\r\nfunction handleResponse_old(response) {\r\n try{\r\n return response.text().then(text => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n // auto logout if 401 response returned from api\r\n //logout();\r\n // location.reload(true);\r\n }\r\n const error = (data && data.message) || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n return data;\r\n });\r\n}\r\ncatch (ex) {\t\t\r\n commonClass.writeLog(ex);\r\n}\r\n}","import { appConstants } from '../helpers/actionType';\r\nimport { target10Service } from '../services/target10Service';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { history } from '../helpers/history';\r\nexport const target10Actions = {\r\n AddToCart,\r\n SetCurrentDraw,\r\n RemoveFromCart,\r\n ClearCart,\r\n RemoveClosedDrawbetFromCart,\r\n Buybet,\r\n UpdateStakeAll,\r\n GetCurrentResult,\r\n UpdateCartAll,\r\n}\r\n\r\nfunction AddToCart(cItem) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.ADD_CARTITEM, cItem });\r\n }\r\n};\r\n\r\n\r\nfunction UpdateCartAll(Items) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_CARTITEM, Items });\r\n }\r\n};\r\n\r\nfunction RemoveFromCart(cid) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CARTITEM, cid });\r\n }\r\n};\r\n\r\nfunction RemoveClosedDrawbetFromCart(did) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CLOSEDDRAW_CARTITEM, did });\r\n }\r\n};\r\n\r\nfunction ClearCart() {\r\n return dispatch => {\r\n dispatch({ type: appConstants.CLEAR_CARTITEM });\r\n }\r\n};\r\n\r\nfunction SetCurrentDraw(cDraw) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.SET_DRAW, cDraw });\r\n }\r\n};\r\n\r\nfunction UpdateStakeAll(stake) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_STAKE_ALL, stake });\r\n }\r\n};\r\n\r\nfunction GetCurrentResult(gameID,langID) {\r\n return dispatch => {\r\n let data = `'${gameID}','${langID}'`;\r\n target10Service.GetCurrentResult(data)\r\n .then(\r\n cResult => {\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n },\r\n error => {\r\n let cResult = undefined;\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n }\r\n );\r\n }\r\n};\r\n\r\nfunction Buybet(buyStr) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n target10Service.Target10OnlineSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo);\r\n dispatch({ type: appConstants.LOADED });\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000);\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance = myBet.winbalance;\r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n }\r\n },\r\n error => {\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction generateBetSlip(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n mybet = mybet.substring(2, mybet.length);\r\n let tempStr = mybet.split('@');\r\n let tempStr1 = tempStr[1].split('~');\r\n let tempStr2 = tempStr[0].split('|');\r\n let tempStr3 = [];\r\n tempStr2.forEach(ele => {\r\n let _betValue = ele.split('~');\r\n if (_betValue.length > 1) {\r\n tempStr3.push({\r\n Id: _betValue[0],\r\n BallNo: _betValue[2].split(' ')[1],\r\n StakeValue: parseFloat(_betValue[3]),\r\n SubTotal: parseFloat(_betValue[4]),\r\n OddsValue: _betValue[5],\r\n GameTime: _betValue[6] + \" \" + _betValue[7],\r\n GameID: parseInt(_betValue[8]),\r\n TransDateTime: _betValue[10],\r\n GameName: _betValue[12],\r\n });\r\n }\r\n });\r\n let _bMsg=\"\";\r\n if( tempStr.length>2)\r\n {\r\n _bMsg=tempStr[2];\r\n }\r\n let betObj = {\r\n betLst: tempStr3,\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: tempStr1[0],\r\n winbalance: tempStr1[1],\r\n familyID: 5,\r\n buttomMsg:_bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import React, { Component } from \"react\";\r\nimport Unity, { UnityContext } from \"react-unity-webgl\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass webGLApp extends Component {\r\n constructor(props) {\r\n super(props); \r\n this.state={progression:0};\r\n }\r\n\r\n unityContext = new UnityContext({\r\n loaderUrl: \"assets/WebGL/W9/W9.loader.js\",\r\n dataUrl: \"assets/WebGL/W9/W9.data\",\r\n frameworkUrl: \"assets/WebGL/W9/W9.framework.js\",\r\n codeUrl: \"assets/WebGL/W9/W9.wasm\",\r\n });\r\n\r\n\r\n fnWelcome = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n //let ssd=_flog.style.cursor;\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n this.unityContext.send(\"Inputcontroller\", \"WelcomeData\", strkey)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~2~3:00:00\");\r\n // },5000)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~5~3:00:00\");\r\n // },90000)\r\n\r\n }\r\n }, 1000);\r\n\r\n }\r\n fnStartAnimation = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");//document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n this.unityContext.send(\"Inputcontroller\", \"ResultData\", strkey);\r\n }\r\n }, 1000);\r\n }\r\n componentDidMount() {\r\n this.setState({ proCompleted: 0 });\r\n this.props.fnWelcome(this.fnWelcome);\r\n this.props.fnStartAnimation(this.fnStartAnimation);\r\n let sss=this;\r\n this.unityContext.on(\"progress\", function (_prog) {\r\n sss.setState({progression:_prog});\r\n });\r\n // this.fnUnityLoaded();\r\n\r\n }\r\n // fnUnityLoaded = () => {\r\n // this.unityContent.on(\"loaded\", function () {\r\n // alert(\"loaded\")\r\n // });\r\n // this.unityContext.on(\"progress\", function (progression) {\r\n // console.log(\"progression : \"+progression);\r\n // // this.setState({proCompleted:progression});\r\n // });\r\n // }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (
\r\n {/* \r\n */}\r\n {/* */}\r\n {this.state.progression!=1 &&

{t('lblLoading')} {parseInt(this.state.progression * 100)} %...

}\r\n \r\n
\r\n )\r\n }\r\n\r\n}\r\nexport default withTranslation()(webGLApp)\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport QuickWinLeft from \"./target10Left\";\r\nimport QuickWinRight from \"./target10Right\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { target10Actions } from '../../../action/target10Action';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport WebGLApp from \"./webGL\";\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Target10 extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcartItems: [],\r\n\t\t\tcurrentRunningDraw: {},\r\n\t\t\tcurrentFinishingDraw: {},\r\n\t\t\tcoundownStart: 0,\r\n\t\t\tcoundTime: 18900000,\r\n\t\t\tcurrentDraw: {},\r\n\t\t\tcurrentAvailableDraws: [],\r\n\t\t\tcurrentCartItem: { id: 0, ballNo: \"\", stakeValue: 100, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0 },\r\n\r\n\t\t\tballStartNumber: 0,\r\n\t\t\tballEndNumber: 0,\r\n\t\t\tQPBallCount: 0,\r\n\t\t\trandom: [],\r\n\t\t\tshowSingleMsg: false,\r\n\t\t\t_serverTimeDiff: 0,\r\n\t\t\tallGameClosed: 0,\r\n\t\t\tisViewAnimation: false,\r\n\t\t\twebglInit: false,\r\n\t\t\ttimerGetResult: null,\r\n\t\t\ttimerGetLatestResult: null,\r\n\t\t\ttimerGetResultCount: 0,\r\n\t\t};\r\n\t\tthis.my_componentWillUnmount();\r\n\t\tif (props.currentGamesFamily.id !== undefined) {\r\n\t\t\tprops.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\tprops.GetLatestResult(props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t}\r\n\t\t// let ss = Date.now;\r\n\t\t// let ssss = ss();\r\n\t\t// console.log(\"Date.now : \" + ss);\r\n\t}\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tcurrentAvailableDraws: props.currentAvailableDraws,\r\n\t\t\tcartItems: props.cartItems,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentGamesFamily: props.currentGamesFamily,\r\n\t\t\tlatestResult: props.latestResult,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentResult: props.currentResult\r\n\t\t};\r\n\t};\r\n\r\n\tcreateBall = () => {\r\n\t\tlet ballLst = [];\r\n\t\tif (this.state.currentGamesFamily != undefined && this.state.currentDraw != null && Object.keys(this.state.currentDraw).length > 0) {\r\n\t\t\tfor (let i = this.state.ballStartNumber; i < this.state.currentGamesFamily.ball + this.state.ballStartNumber; i++) {\r\n\t\t\t\t//let b = (\"0\" + i).slice(-2);\r\n\t\t\t\tlet b = i;\r\n\t\t\t\tlet b_i = this.state.currentDraw.GameId + \"_\" + b;\r\n\t\t\t\tballLst.push(
{ this.selectBall(b_i) }} className={`quickBalls ${this.state.cartItems.filter(x => x.id == b_i).length > 0 ? \"quickBallsActive\" : \"\"}`}>{b}
);\r\n\t\t\t}\r\n\t\t\tthis.state.ballEndNumber = this.state.currentGamesFamily.ball + (-1 + this.state.ballStartNumber);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn
Draw Closed
;\r\n\t\t}\r\n\t\treturn ballLst;\r\n\t};\r\n\r\n\tshowSingleMsg = false;\r\n\tselectBall = (b_id, qpMax) => {\r\n\t\tif (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) { this.state.showSingleMsg = true; alert(\"Please select the draw\"); return; }\r\n\t\tlet obj = this.state.cartItems.filter(x => x.id == b_id);\r\n\t\tlet objLst = { id: 0, ballNo: \"\", stakeValue: 100, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0, minStake: 0, maxStake: 0, multiStake: 0 };\r\n\r\n\t\tlet default_Min_val = this.state.currentGamesFamily.minSelect;\r\n\t\tlet default_max_val = this.state.currentGamesFamily.maxSelect;\r\n\r\n\t\tif (obj.length > 0) {\r\n\t\t\t// this.state.cartItems = this.state.cartItems.filter(x => x.id !== b_id);\r\n\t\t\t// this.setState({\r\n\t\t\t// \tcartItems: this.state.cartItems.filter(x => x.id !== b_id)\r\n\t\t\t// });\r\n\t\t\tthis.props.RemoveFromCart(b_id);\r\n\t\t}\r\n\t\telse if (default_max_val <= this.state.cartItems.length) {\r\n\t\t\tthis.state.showSingleMsg = true;\r\n\t\t\talert(this.props.t('lblMaximumselection') + \" : \" + default_max_val);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//no of ball~min select~max select~min stake~max stake~\r\n\t\t\tlet _noOfBalls = this.state.currentDraw.NoofBalls.split('~');\r\n\t\t\tif (_noOfBalls.length > 4) {\r\n\t\t\t\tobjLst.minStake = parseInt(_noOfBalls[3]);\r\n\t\t\t\tobjLst.maxStake = parseInt(_noOfBalls[4]);\r\n\t\t\t\tobjLst.multiStake = parseInt(_noOfBalls[5]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tobjLst.minStake = 100;\r\n\t\t\t\tobjLst.maxStake = 2000;\r\n\t\t\t\tobjLst.multiStake = 50;\r\n\t\t\t}\r\n\t\t\tobjLst.stakeValue = objLst.minStake;\r\n\t\t\tobjLst.gameName = this.state.currentDraw.LotName;\r\n\t\t\tobjLst.drawID = this.state.currentDraw.DrawID;\r\n\t\t\tobjLst.drawNo = this.state.currentDraw.DrawNo;\r\n\t\t\tobjLst.gameID = this.state.currentDraw.GameId;\r\n\t\t\tobjLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime;\r\n\t\t\tobjLst.ballNo = b_id.split(\"_\")[1];\r\n\t\t\tobjLst.id = b_id;\r\n\t\t\tobjLst.oddsValue = this.state.currentDraw.RateInPs;\r\n\t\t\tobjLst.total = objLst.stakeValue * objLst.oddsValue;\r\n\t\t\tif (qpMax) {\r\n\t\t\t\tobjLst.bMax = qpMax;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlet newid = 1;\r\n\t\t\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t\t\t}\r\n\t\t\t\tobjLst.bMax = newid + 1;\r\n\t\t\t}\r\n\t\t\tthis.props.AddToCart(objLst);\r\n\t\t}\r\n\t};\r\n\r\n\tselectDraw = (_draw) => {\r\n\t\tthis.props.SetCurrentDraw(_draw);\r\n\r\n\t};\r\n\r\n\tselectRunningDraw = () => {\r\n\t\tif (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\t\t\t//if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\tif (this.state.currentFinishingDraw != undefined) {\r\n\t\t\t\t//if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n\t\t\t\tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t\tif (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\t\t\t//let _draw = lst[0];\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentRunningDraw: _draw,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\t\t\tthis.selectDraw(_draw);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\t// \tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t// \tif (lst.length > 0) {\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\tif (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n\t\t\ttry {\r\n\t\t\t\tlet sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n\t\t\t\tif (_draw != undefined) {\r\n\t\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\t\tlet ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\t\tsTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n\t\t\t\t}\r\n\t\t\t\tlet dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n\t\t\t\twindow.timer = null;\r\n\t\t\t\tthis.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\talert(ex);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(previousProps, previousState) {\r\n\t\tif ((previousState.currentResult != this.state.currentResult) || (this.state.currentResult && this.state.currentResult.indexOf(\"1~\") == 0)) {\r\n\t\t\tconsole.log(\"start startAnimationWebGL in componentDidUpdate with : \" + this.state.currentResult);\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n\t\t//if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0))\r\n\t\t{\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t};\r\n\r\n\r\n\tcomponentDidUpdate_old(previousProps, previousState) {\r\n\t\t//if ((this.state.currentRunningDraw ==null || Object.keys(this.state.currentRunningDraw).length == 0) && this.state.currentAvailableDraws.length>0) {\r\n\t\t//if ((this.state.currentDraw ==null || Object.keys(this.state.currentDraw).length == 0) && (previousState.currentDraw ==null && (this.state.currentDraw==null || this.state.currentAvailableDraws.length>0))) {\r\n\t\tif (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n\t\t\tthis.state.allGameClosed = 0;\r\n\t\t}\r\n\t\tif (previousState.currentResult != this.state.currentResult) {\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0 && this.state.currentAvailableDraws.length > 0 && this.state.currentAvailableDraws.length == previousState.currentAvailableDraws.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) {\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t//for stake all text box hide\r\n\t\t// if(previousProps.stakeAll !=this.props.stakeAll)\r\n\t\t// {\r\n\t\t// \tif(this.state.cartItems !=null )\r\n\t\t// \t{\r\n\t\t// \t\t\tfor (let i = 0; i < this.state.cartItems.length; i++) {\r\n\t\t// \t\t\t\tthis.state.cartItems[i].stakeValue=this.props.stakeAll;\r\n\t\t// \t\t\t\tthis.state.cartItems[i].total = this.props.stakeAll * a.oddsValue;\r\n\t\t// \t\t\t}\r\n\t\t// \t}\r\n\t\t// }\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\t//setTimeout(\tthis.RefreshAfterGameClose,10000);\r\n\t\t//setInterval(() => {\t\tthis.RefreshAfterGameClose()\t }, 60*1000); \r\n\t\t//window.documentReadyjQuery();\r\n\t\twindow.addEventListener('resize', window.documentReadyResize);\r\n\t\t//window.loadWebGL();\r\n\t\t//window.WelcomeAnimationScreen();\r\n\t\t//this.setWelcomScreenWebGL();\r\n\t};\r\n\tmy_componentWillUnmount = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\tcurrentRunningDraw: null,\r\n\t\t})\r\n\t\tthis.props.ClearAvailableGames();\r\n\t};\r\n\r\n\tRefreshAfterGameClose = () => {\r\n\t\t//alert(\"coundown finish\");\r\n\t\tthis.state.coundownStart = 0;\r\n\t\tthis.state._serverTimeDiff = 0;\r\n\t\tthis.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n\r\n\t\tthis.props.RemoveClosedDrawbetFromCart(this.state.currentFinishingDraw.DrawID);\r\n\t\tsetTimeout(() => { this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language) }, 2000)\r\n\t\tthis.state.currentRunningDraw = {};\r\n\t\t//setTimeout(this.props.GetLatestResult(this.props.currentGamesFamily.id),21000);\r\n\t\tconsole.log(\"RefreshAfterGameClose drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\tthis.state.timerGetResultCount = 0;\r\n\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId) }, 5000);\r\n\t\t//setTimeout(this.props.GetCurrentResult(145), 2000);\r\n\t\t//setTimeout(this.startAnimationWebGL, 5000);\r\n\t};\r\n\r\n\tsetWelcomScreenWebGL = () => {\r\n\t\tif (this.state.currentRunningDraw && this.state.currentRunningDraw.DrawDateTime) {\r\n\t\t\tvar s = this.state.currentRunningDraw.DrawDateTime.split(' ');\r\n\t\t\tvar strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.LotName + \"~\" + this.state.currentRunningDraw.DrawNo + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t//let strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n\t\t\tconsole.log(\"start setWelcomScreenWebGL\");\r\n\t\t\tthis.fnWelcome(strkey);\r\n\t\t}\r\n\t}\r\n\tstartAnimationWebGL = () => {\r\n\t\t//alert(\"call animate\");\r\n\t\t//this.state.currentResult=\"0~1~142~05/09/2021~10:00 AM~Quick Win~9\";\r\n\t\tif (this.state.currentResult) {\r\n\t\t\tlet arr = this.state.currentResult.split(\"~\");\r\n\t\t\tif (arr[0] == \"0\") {\r\n\t\t\t\t//var s = this.state.currentRunningDraw.Drawdatetime.split(' ');\r\n\t\t\t\t//var strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.GameName + \"~\" + this.state.currentRunningDraw.GameID + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t\tlet strkey = \"ThOtArPuElLaThA~\" + this.state.currentResult.substring(2, this.state.currentResult.length);\r\n\t\t\t\tvar s = this.state.currentDraw ? this.state.currentDraw.DrawTime : \"No More\";\r\n\t\t\t\tif (s != null) {\r\n\t\t\t\t\tstrkey = strkey + \"~\" + s;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstrkey = strkey + \"~00:00\";\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(\"start startAnimationWebGL with : \" + strkey);\r\n\t\t\t\tthis.viewAnimationResult(1);\r\n\t\t\t\tthis.fnStartAnimation(strkey);\r\n\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tthis.state.timerGetResult = null;\r\n\t\t\t\tthis.state.timerGetResultCount = 0;\r\n\t\t\t\tthis.state.timerGetLatestResult = setTimeout(() => { this.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language) }, 45000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.state.timerGetResult)\r\n\t\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tif (this.state.timerGetResultCount < 5) {\r\n\t\t\t\t\tconsole.log(\"GetCurrentResult drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\t\t\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId, this.props.i18n.language) }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.timerGetResultCount++;\r\n\t\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//\tthis.props.GetCurrentResult(this.state.currentDraw.DrawNo)\r\n\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tfnWelcome = () => {\r\n\t}\r\n\tfnStartAnimation = () => {\r\n\t}\r\n\tviewAnimationResult = (flog) => {\r\n\t\tif (flog == 1 && this.state.isViewAnimation == true) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ isViewAnimation: !this.state.isViewAnimation });\r\n\t}\r\n\tclearAfterAddToCart = () => {\r\n\t\tlet obj = this.state.cartItems.filter(x => x.gameID == this.state.currentDraw.GameId);\r\n\t\tfor (let i = 0; i < obj.length; i++) {\r\n\t\t\tthis.props.RemoveFromCart(obj[i].id);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tclearCart = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tquickPick = () => {\r\n\t\tif (this.state.cartItems.length == this.state.currentGamesFamily.maxSelect) {\r\n\t\t\t//this.props.ClearCart();\r\n\t\t\t//this.clearAfterAddToCart();\r\n\t\t\talert(this.props.t('lblMaximumselection') + \" : \" + this.state.currentGamesFamily.maxSelect);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.state.random = this.state.cartItems.filter(a => a.gameID == this.state.currentDraw.GameId).map(a => a.ballNo);\r\n\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect - this.state.random.length;\r\n\t\tif (this.state.QPBallCount <= 0) {\r\n\t\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect;\r\n\t\t}\r\n\t\tvar index = -1;\r\n\r\n\t\tlet newid = 0;\r\n\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t}\r\n\r\n\t\t//for (var k = this.state.ballStartNumber; k <= this.state.QPBallCount; k++) {\r\n\t\tindex = this.generateRandomInteger();\r\n\t\tlet _bal = this.state.currentDraw.GameId + \"_\" + index;\r\n\t\tnewid++;\r\n\t\tthis.selectBall(_bal, newid);\r\n\t\tif (this.state.showSingleMsg == true) {\r\n\t\t\tthis.state.showSingleMsg = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//}\r\n\t};\r\n\r\n\tgenerateRandomInteger = () => {\r\n\t\tvar min = this.state.ballStartNumber;\r\n\t\tvar max = this.state.ballEndNumber;\r\n\t\tif (this.state.random.length >= this.state.currentGamesFamily.maxSelect) {\r\n\t\t\tthis.state.random = [];\r\n\t\t}\r\n\t\tlet valFound = false\r\n\t\twhile (valFound == false) {\r\n\t\t\tfor (var i = min; i <= max; i++) {\r\n\t\t\t\tvar temp = Math.floor(max - Math.random() * (max - min));\r\n\t\t\t\t//temp = (\"0\" + temp).slice(-2);\r\n\t\t\t\ttemp = \"\" + temp;\r\n\t\t\t\tif (temp && this.state.random.indexOf(temp) == -1) {\r\n\t\t\t\t\tthis.state.random.push(temp);\r\n\t\t\t\t\tvalFound = true;\r\n\t\t\t\t\treturn temp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// \tconsole.log(\"temp123Test123 : \");\r\n\t\t// return\tthis.generateRandomInteger();\r\n\t};\r\n\r\n\tremoveFromCart = (cid) => {\r\n\t\tthis.props.RemoveFromCart(cid);\r\n\t};\r\n\r\n\tcountdownCompleted = () => {\r\n\t\tthis.RefreshAfterGameClose();\r\n\t};\r\n\r\n\tgetGameTime = () => {\r\n\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n\t\t\tconsole.log(\"getGameTime : \" + sTime);\r\n\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\treturn sTime;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t};\r\n\r\n\t// Renderer callback with condition\r\n\trenderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n\t\tif (completed) {\r\n\t\t\t// Render a completed state\t\t\t\r\n\t\t\treturn Draw Closed!;\r\n\t\t} else {\r\n\t\t\t// Render a countdown\r\n\t\t\treturn {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n\t\t}\r\n\t};\r\n\r\n\tgetServerTime = () => {\r\n\t\tif (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n\t\t\t//return this.state._serverTimeDiff+Date.now()+1000;\r\n\t\t\tconsole.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n\t\t\treturn this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\tlet ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\tvar sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n\t\t\t\t//this.state._serverTimeDiff=Date.now()-sTime;\r\n\t\t\t\tthis.state._serverTimeDiff = sTime;\r\n\t\t\t\tconsole.log(\"getServerTime : \" + sTime);\r\n\t\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\t\treturn sTime;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treCount = (rundraw) => {\r\n\t\t//return ;\r\n\t\t//return ;\t\t\r\n\t\t//return ;\r\n\r\n\t\tif (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.coundownStart = 1;\r\n\t\t\treturn { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
{this.props.t('lblDrawClosed')}
:
{this.props.t('lblnextdraw')} {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
) }} />
;\r\n\t\t}\r\n\t};\r\n\r\n\tBuyLotteryBet = () => {\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\talert(this.props.t('lblLoginValidation'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n\t\t\talert(this.props.t('lblplcurbet'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet totStake = this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0);\r\n\t\tlet minTotStake = 500;\r\n\t\tlet maxTotStake = 10000;\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tminTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n\t\t\tmaxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n\t\t}\r\n\t\tif (totStake < minTotStake) //300\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if (totStake > maxTotStake) //10000\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\t//let cartList = this.state.cartItems.sort((a, b) => (a.drawID > b.drawID) ? 1 : -1);\r\n\t\tlet cartList = this.state.cartItems.sort((a, b) => a.drawID - b.drawID);\r\n\t\tlet transactionString = \"\";\r\n\t\tlet gamestring = \"\";\r\n\t\tlet subgameId = 0;\r\n\t\tcartList.forEach(item => {\r\n\t\t\tif (subgameId != 0 && subgameId != item.drawID) {\r\n\t\t\t\tgamestring += \"*\";\r\n\t\t\t}\r\n\t\t\tif (subgameId != item.drawID) {\r\n\t\t\t\tgamestring += item.drawID + \"-\" + item.gameID;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgamestring += item.gameID;\r\n\t\t\t}\r\n\t\t\tgamestring += \"^0\";\r\n\t\t\tgamestring += \"^\" + item.ballNo;\r\n\t\t\tgamestring += \"^\" + parseInt(item.stakeValue);\r\n\t\t\tgamestring += \"^\" + parseInt(item.total);\r\n\t\t\tgamestring += \"^\" + item.oddsValue;\r\n\t\t\tgamestring += \"^0^|\";\r\n\t\t\tsubgameId = item.drawID;\r\n\t\t})\r\n\t\tgamestring += \"*\";\r\n\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo.substring(this.props.user.mobileNo.length - 4);\r\n\r\n\t\tlet betoption = \"2\";\r\n\r\n\t\ttransactionString += `'${this.props.user.mobileNo}',`;\r\n\t\ttransactionString += `'${TransID}',`;\r\n\t\ttransactionString += `'${gamestring}',`;\r\n\t\ttransactionString += `'-',`;\r\n\t\ttransactionString += `${betoption},`;\r\n\t\ttransactionString += `'${this.props.user.loginKey}','0','0','${this.props.i18n.language}'`;\r\n\r\n\t\tthis.props.Buybet(transactionString);\r\n\t\tthis.clearCart();\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t\t{t('lbllatresult')}\r\n\t\t\t\t\t\t\t\t{t('lblgameslip')} {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tGame Slip {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
*/}\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{this.reCount(this.state.currentRunningDraw)}\r\n\t\t\t\t\t\t\t\t\t{this.state.currentDraw ? this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime : '-'}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { this.viewAnimationResult() }} >{this.state.isViewAnimation ? t('lblHide') : t('lblShow')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t { this.fnWelcome = dd; }} fnStartAnimation={(dd) => { this.fnStartAnimation = dd; }} />\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('lbloddsval')} : {this.state.currentDraw ? this.state.currentDraw.RateInPs : 0}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{this.createBall()}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { user } = state.loginReducer;\r\n\tconst { cartItems, currentDraw, stakeAll, currentResult } = state.quickWinReducer;\r\n\treturn { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, stakeAll, latestResult, currentResult };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n\tAddToCart: target10Actions.AddToCart,\r\n\tRemoveFromCart: target10Actions.RemoveFromCart,\r\n\tRemoveClosedDrawbetFromCart: target10Actions.RemoveClosedDrawbetFromCart,\r\n\tSetCurrentDraw: target10Actions.SetCurrentDraw,\r\n\tClearCart: target10Actions.ClearCart,\r\n\tBuybet: target10Actions.Buybet,\r\n\tGetLatestResult: gameActions.GetLatestResult,\r\n\tGetCurrentResult: target10Actions.GetCurrentResult,\r\n\tClearAvailableGames: gameActions.ClearAvailableGames\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Target10))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { gameActions } from '../../action/gamesAction'\r\nimport Barcode from 'react-barcode';\r\nimport { withTranslation } from 'react-i18next';\r\nclass Common extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { counter: 1 }\r\n }\r\n PrintBetSlip = (id) => {\r\n window.PrintBetSlip(id);\r\n return;\r\n var divToPrint1 = document.getElementById(id);\r\n var newWin1 = window.open('', 'Print-Window');\r\n newWin1.document.open();\r\n let siteRoot1 = \"\";\r\n let dd = './assets/css/common.css'\r\n newWin1.document.write('' + divToPrint1.innerHTML + '');\r\n newWin1.document.close();\r\n setTimeout(function () { newWin1.close(); }, 30);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n let flst = [];\r\n let _transID = \"\";\r\n let _gameID = \"\";\r\n let _gameTime = \"\";\r\n function dd(Id, GameTime, GameID) {\r\n _transID = Id;\r\n _gameTime = GameTime;\r\n _gameID = GameID;\r\n }\r\n function tfilte(betLst) {\r\n flst = [...new Set(betLst.map(item => item.GameID))]\r\n }\r\n return (\r\n
\r\n {/* for lotto,raffle game bet slip */}\r\n {this.props.myBet && this.props.myBet.status == 0 && this.props.myBet.familyID == 4 &&
\r\n
\r\n
\r\n
\r\n \r\n {t('lblgameslip')}\r\n
\r\n\r\n {/*
{ this.PrintBetSlip('lottoprint') }}>\r\n \r\n Print\r\n
*/}\r\n
{ this.props.closeBetSlip() }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{this.props.myBet.GameName}

\r\n {this.props.myBet.TransDate}\r\n {this.props.myBet.TransTime}\r\n
\r\n
\r\n {this.props.myBet.Ball.map((x, idx) =>\r\n
\r\n
\r\n
\r\n {t('lblGameSelection')}\r\n {x.no}\r\n
\r\n
\r\n
\r\n
\r\n {t('lblstakeval')}\r\n {this.props.appvariables.currency} {x.amt} \r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {t('lbldrawno')} :\r\n {this.props.myBet.DrawNo}\r\n {t('lblDrawTime')} :\r\n {this.props.myBet.DrawDate} {this.props.myBet.DrawTime}\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n {/* {this.props.myBet.Id} */}\r\n
\r\n
\r\n {t('lbltotstak')}\r\n {this.props.appvariables.currency} {this.props.myBet.TotalStakeAmount}\r\n
\r\n {this.props.myBet.ticketStatus &&
\r\n {t('lblStatus')}\r\n {this.props.myBet.ticketStatus}\r\n
}\r\n {this.props.myBet.buttomMsg && this.props.myBet.buttomMsg!=\"\" &&
\r\n
\r\n {this.props.myBet.buttomMsg}\r\n
\r\n
}\r\n
\r\n {/* {this.props.myBet.reprint &&
\r\n
{t('lblReprint')}
\r\n
} */}\r\n
\r\n
\r\n
\r\n
\r\n
}\r\n\r\n {/* this if for QuickWin,Target10 bet slip */}\r\n {this.props.myBet && this.props.myBet.status == 0 && this.props.myBet.familyID == 5 &&
\r\n
\r\n
\r\n
\r\n \r\n {t('lblgameslip')}\r\n
\r\n {/*
{ this.PrintBetSlip('qwinprint') }}>\r\n \r\n Print\r\n
*/}\r\n
{ this.props.closeBetSlip() }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{this.props.myBet.betLst[0].GameName}

\r\n {this.props.myBet.betLst[0].TransDateTime}\r\n {/* {this.props.myBet.betLst[0].TransDateTime} */}\r\n
\r\n {/* {flst = [...new Set(this.props.myBet.betLst.map(item => item.GameID))] } */}\r\n {tfilte(this.props.myBet.betLst)}\r\n {/* {this.props.myBet.betLst.map(img => {if (flst.indexOf(img.GameID) === -1) {flst.push(img.GameID)}})} */}\r\n {/*
*/}\r\n
\r\n {flst.map((x1, idx1) =>
\r\n {this.props.myBet.betLst.filter(a => a.GameID == x1).map((x, idx) =>\r\n
\r\n
\r\n
\r\n {t('lblGameSelection')}\r\n {x.BallNo}\r\n
\r\n
\r\n
\r\n
\r\n {t('lblstakeval')}\r\n {this.props.appvariables.currency} {x.StakeValue} \r\n
\r\n
\r\n
\r\n
\r\n {t('lblEstimateWin')} (X{x.OddsValue})\r\n {this.props.appvariables.currency} {x.SubTotal} \r\n
\r\n
\r\n {/* {_transID=x.Id}\r\n {_gameTime=x.GameTime}\r\n {_gameID=x.GameID} */}\r\n {dd(x.Id, x.GameTime, x.GameID)}\r\n
\r\n )}\r\n
\r\n
\r\n {t('lbldrawno')} :\r\n {_gameID}\r\n {t('lblDrawTime')} :\r\n {_gameTime}\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n {/* {_transID} */}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {t('lbltotstak')}\r\n {this.props.appvariables.currency} {this.props.myBet.betLst.reduce((a, b) => a = a + b.StakeValue, 0)}\r\n
\r\n {this.props.myBet.ticketStatus &&
\r\n {t('lblStatus')}\r\n {this.props.myBet.ticketStatus}\r\n
}\r\n {this.props.myBet.buttomMsg && this.props.myBet.buttomMsg!=\"\" &&
\r\n
\r\n {this.props.myBet.buttomMsg}\r\n
\r\n
}\r\n {/* {this.props.myBet.reprint &&
\r\n
{t('lblReprint')}
\r\n
} */}\r\n
\r\n
\r\n
\r\n
\r\n
}\r\n\r\n {this.props.myBet && this.props.myBet.status != 0 &&
\r\n
\r\n
\r\n
\r\n \r\n {t('lblgameslip')}\r\n
\r\n
{ this.props.closeBetSlip() }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.props.myBet.msg}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { myBet } = state.gameReducer;\r\n const { appvariables } = state.loginReducer;\r\n return { myBet, appvariables };\r\n}\r\nconst mapActionToProps = {\r\n closeBetSlip: gameActions.closeBetSlip\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Common))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { gameActions } from '../../action/gamesAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Footer extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = { _serverTimeDiff: 0 };\r\n\t\tprops.GetServerTime();\r\n\t}\r\n\tcomponentDidMount() {\r\n\t\tsetInterval(this.getServerTimeF, 1000);\r\n\t}\r\n\t// hangout time difference \r\n\t/* getServerTimeF = () => {\r\n\t\tif (this.props.serverTime != undefined && this.props.serverTime != null) {\r\n\t\t\t//console.log(\"ServerTime : \" + this.props.serverTime);\t\t\t\r\n\t\t\tthis.props.SetServerTime((this.props.serverTime+1000));\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}; */\r\n\r\n\tgetServerTimeF = () => {\r\n\t\ttry {\r\n\t\t\tif (this.props.serverTime != undefined && this.props.serverTime != null) {\r\n\t\t\t\tthis.props.SetServerTime((this.props.serverTime + 1000));\r\n\t\t\t\tlet d = new Date();\r\n\t\t\t\tlet dd = (d.getSeconds() % 10);\r\n\t\t\t\tif (dd == 0) {\r\n\t\t\t\t\tconsole.log(d.toString());\r\n\t\t\t\t\tvar ss = this;\r\n\t\t\t\t\tsetTimeout(() => { ss.getlatestTime() }, 100);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tconsole.log(ex);\r\n\t\t\treturn 0;\r\n\r\n\t\t}\r\n\t};\r\n\r\n\tgetlatestTime = () => {\r\n\t\ttry {\r\n\t\t\tlet date1 = new Date();\r\n\t\t\tlet dateMDY = (\"0\" + date1.getDate()).slice(-2) + \"/\" + (\"0\" + (date1.getMonth() + 1)).slice(-2) + \"/\" + date1.getFullYear();\r\n\t\t\tlet dateTime = (\"0\" + date1.getHours()).slice(-2) + \":\" + (\"0\" + date1.getMinutes()).slice(-2) + \":\" + date1.getSeconds();\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet ss = new Date((dateMDY + \" \" + dateTime).replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\tlet LocalTime = (ss.getTime());\r\n\t\t\tconsole.log(\"LocalTime from db : \" + LocalTime);\r\n\t\t\tconsole.log(\"serverTime from db : \" + this.props.serverTime);\r\n\t\t\tlet dd = LocalTime - this.props.serverTime;\r\n\t\t\tconsole.log(\"diff Time from db : \" + dd);\r\n\t\t\tlet difTime = Math.abs(dd) / 1000;\r\n\t\t\tconsole.log(\"diff Time from db/S : \" + difTime);\r\n\t\t\tif (this.state._serverTimeDiff == 0 || Math.abs(this.state._serverTimeDiff - difTime) > 9) {\r\n\t\t\t\tthis.state._serverTimeDiff = difTime;\r\n\t\t\t\tconsole.log(\"this.state._serverTimeDiff : \" + this.state._serverTimeDiff);\r\n\t\t\t\tconsole.log(\"props.GetServerTime() \");\r\n\t\t\t\tthis.props.GetServerTime();\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (ex) {\r\n\t\t\tconsole.log(ex);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { serverTime, t } = this.props;\r\n\t\tvar sTime = new Date(serverTime);\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t};\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\t//const { serverTime } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { appvariables } = state.loginReducer;\r\n\treturn { serverTime, appvariables };\r\n}\r\nconst mapActionToProps = {\r\n\tSetServerTime: gameActions.SetServerTime,\r\n\tGetServerTime: gameActions.GetServerTime\r\n}\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Footer))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\nclass AcccountInfo extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() { \r\n\t\tconst { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblWalletDetails')}

\r\n
\r\n
\r\n
    \r\n
  • {t('lblCreditbal')}{this.props.appvariables.currency} {this.props.user.balance}
  • \r\n
  • {t('lblWinningbal')}{this.props.appvariables.currency} {this.props.user.winbalance}
  • \r\n
  • {t('lblTotalbal')}{this.props.appvariables.currency} {(parseFloat(this.props.user.balance) + parseFloat(this.props.user.winbalance)).toFixed(2)}
  • \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { user, appvariables } = state.loginReducer;\r\n return { user, appvariables }\r\n}\r\n\r\nconst mapActionToProps = {\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AcccountInfo))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { alertActions } from '../../../action/alertAction';\r\nimport { withTranslation } from 'react-i18next';\r\n//import { commonClass } from \"../../../helpers/commonClass\"\r\n\r\nclass Addmoney extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n txnNo: \"\"\r\n };\r\n }\r\n submitAddMoney = () => {\r\n if (this.state.txnNo.trim() != \"\") {\r\n var sTime = new Date(this.props.serverTime);\r\n let TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\r\n this.state.txnNo = this.state.txnNo.replace(/'/g, \"''\");\r\n this.props.Addmoney(this.props.user.mobileNo, this.state.txnNo, TransID,this.props.i18n.language);\r\n this.clearAddMoney();\r\n }\r\n else {\r\n this.props.error(this.props.t('lblInvaildTransactionCode'));\r\n }\r\n };\r\n\r\n clearAddMoney = () => {\r\n this.setState({\r\n txnNo: \"\"\r\n });\r\n this.state.txnNo = \"\";\r\n };\r\n render() {\r\n const { t } = this.props; \r\n let _addUrl = `${process.env.REACT_APP_PG_URL}/Paymode/Addmoney?data=player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}`;\r\n let _addMTNUrl = `${process.env.REACT_APP_PG_URL}/MTN/Addmoney?data=player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}|login_key~${this.props.user.loginKey}`;\r\n let _addAirtelUrl = `${process.env.REACT_APP_PG_URL}/Airtel/Addmoney?data=player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}|login_key~${this.props.user.loginKey}`;\r\n //let _edata=commonClass.Encryption(`player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}`)\r\n //let _addUrl = `${process.env.REACT_APP_PG_URL}/Paymode/Addmoney?data=${_edata}`;\r\n return (\r\n
\r\n
\r\n

{t('lblAddMoney')}{t('lblInzoziVoucher')}

\r\n
\r\n
\r\n {this.props.appvariables.currency} {this.props.user.balance}\r\n
\r\n
\r\n this.setState({ txnNo: e.target.value })} />\r\n
\r\n \r\n
\r\n

{t('lblOtherMethods')}

\r\n
\r\n\t\t\t\t\t {/*\t\t\t\t \r\n */}\r\n\t\t\t\t\t\t \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { AddMoney } = state.accountReducer;\r\n const { user, appvariables } = state.loginReducer;\r\n //const { serverTime } = state.gameReducer;\r\n const {serverTime } = state.commonReducer;\r\n return { AddMoney, user, serverTime, appvariables };\r\n}\r\n\r\nconst mapActionToProps = {\r\n Addmoney: accountActions.AddMoney,\r\n error: alertActions.error,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Addmoney))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { alertActions } from '../../../action/alertAction';\r\nimport { withTranslation } from 'react-i18next';\r\n//import { commonClass } from \"../../../helpers/commonClass\"\r\nclass Withdraw extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tamount: 0\r\n\t\t};\r\n\t}\r\n\tsubmitWithdraw = () => {\r\n\t\tif (this.state.amount > 0) {\r\n\t\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\t\t\t\r\n\t\t\tthis.props.WithdrawMoney(this.props.user.mobileNo, this.state.amount, TransID,this.props.i18n.language);\r\n\t\t\tthis.clearWithdraw();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.props.error(this.props.t('lblInvaildWithdrawAmt'))\r\n\t\t}\r\n\t};\r\n\r\n\tclearWithdraw = () => {\r\n\t\tthis.setState({\r\n\t\t\tamount: 0\r\n\t\t});\r\n\t\tthis.state.amount = 0;\r\n\t};\r\n\trender() {\r\n const { t } = this.props;\r\n\t\tlet _addUrl=`${process.env.REACT_APP_PG_URL}/Paymode/Withdraw?data=player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}`;\r\n\t\t//let _edata=commonClass.Encryption(`player_id~${this.props.user.mobileNo}|user_id~${this.props.user.userid}|email_id~${this.props.user.emailID}|player_name~${this.props.user.username}|currency~RWF|cbk_url~${process.env.REACT_APP_PG_CALLBACK_URL}|cbk_card_url~${process.env.REACT_APP_PG_CALLBACK_CARD_URL}`)\r\n //let _addUrl = `${process.env.REACT_APP_PG_URL}/Paymode/Withdraw?data=${_edata}`;\r\n return (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t

{t('lblWithdrawal')}{t('lblInzoziVoucher')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.props.appvariables.currency} {this.props.user.winbalance}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t this.setState({ amount: e.target.value })} />\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t { this.submitWithdraw() }}>{t('lblWithdrawal')}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t

{t('lblOtherMethods')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t \r\n
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { WithdrawMoney } = state.accountReducer;\r\n\tconst { user , appvariables} = state.loginReducer;\r\n\t//const { serverTime } = state.gameReducer;\r\n\tconst {serverTime } = state.commonReducer;\r\n\treturn { WithdrawMoney, user, serverTime, appvariables };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tWithdrawMoney: accountActions.WithdrawMoney,\r\n\terror: alertActions.error,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Withdraw))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass BetHistory extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n getRecord = (flg) => { \r\n if (flg != 1) {\r\n this.state.startDate = document.getElementById(\"datepicker2\").value;\r\n this.state.endDate = document.getElementById(\"datepicker3\").value;\r\n }\r\n let _flog= commonClass.checkRptDateFilter(this.state.startDate,this.state.endDate);\r\n if(_flog)\r\n this.props.GetBetHistory(this.props.user.mobileNo, this.state.startDate, this.state.endDate,this.props.i18n.language);\r\n };\r\n reSetFilter() {\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n BetHistory: props.BetHistory,\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n rePrintTicker(TransId, gameGroupId) {\r\n this.props.ReprintTicket(TransId, this.props.user.mobileNo, gameGroupId,this.props.i18n.language);\r\n }\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblGameDetails')}

\r\n
\r\n \r\n
\r\n {window.innerWidth > 800 ?\r\n (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.BetHistory && this.state.BetHistory.status == 0 && this.state.BetHistory.data.map((x, idx) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {this.props.BetHistory && this.props.BetHistory.status != 0 &&\r\n \r\n \r\n \r\n }\r\n
{t('lblgamename')}{t('lblTransID')}{t('lblDateTime')}{t('lbldrawdatetime')}{t('lblTotalGame')}{t('lblPlayedAmt')}{t('lblStatus')}{t('lblWinningAmt')}
{x.GameName} this.rePrintTicker(x.Id, x.GameGroupId)}>{x.Id}{x.TransDateTime}{x.DrawDateTime}{x.TotalBet}{x.TotalStakeAmount}{x.Status}{x.WinAmount}
{this.props.BetHistory.msg}
\r\n
\r\n
)\r\n :\r\n (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { BetHistory } = state.accountReducer;\r\n const { user } = state.loginReducer;\r\n return { BetHistory, user };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetBetHistory: accountActions.GetBetHistory,\r\n ReprintTicket: accountActions.ReprintTicket,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(BetHistory))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass AccountActivity extends Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n\r\n getRecord = (flg) => {\r\n try{\r\n if(flg!=1)\r\n {\r\n this.state.startDate=document.getElementById(\"datepicker2\").value; \r\n this.state.endDate=document.getElementById(\"datepicker3\").value;\r\n }\r\n let _flog= commonClass.checkRptDateFilter(this.state.startDate,this.state.endDate)\r\n if(_flog)\r\n this.props.GetAccountActivity(this.props.user.mobileNo, this.state.startDate, this.state.endDate,this.props.i18n.language);\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex,\"AccActivity-getRecord\");\r\n return false;\r\n }\r\n };\r\n reSetFilter() {\r\n try{\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex,\"AccActivity-reSetFilter\");\r\n return false;\r\n }\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n AccountActivity: props.AccountActivity,\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n try{\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex,\"AccActivity-componentDidMount\");\r\n return false;\r\n }\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblAccountActivity')}

\r\n
\r\n \r\n
\r\n {window.innerWidth > 800 ?\r\n (
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.AccountActivity && this.state.AccountActivity.status == 0 && this.state.AccountActivity.data.map((x, idx) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.AccountActivity && this.state.AccountActivity.status != 0 &&\r\n \r\n \r\n \r\n }\r\n
{t('lblDescription')}{t('lblTransDate')}{t('lblOpenbal')}{t('lblDebits')}{t('lblCredits')}{t('lblClosebal')}
{x.Description}{x.Transdate}{x.OpenBalance}{x.Debit}{x.Credit}{x.CloseBalance}
{this.state.AccountActivity.msg}
\r\n
\r\n
\r\n ):\r\n (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n const { AccountActivity } = state.accountReducer;\r\n const { user } = state.loginReducer;\r\n return { AccountActivity, user };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetAccountActivity: accountActions.GetAccountActivity,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AccountActivity))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass AccountHistory extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n getRecord = (flg) => {\r\n if (flg != 1) {\r\n this.state.startDate = document.getElementById(\"datepicker2\").value;\r\n this.state.endDate = document.getElementById(\"datepicker3\").value;\r\n }\r\n let _flog= commonClass.checkRptDateFilter(this.state.startDate,this.state.endDate)\r\n if(_flog)\r\n this.props.GetAccountHistory(this.props.user.mobileNo, this.state.startDate, this.state.endDate,this.props.i18n.language);\r\n };\r\n reSetFilter() {\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n AccountHistory: props.AccountHistory,\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n\r\n render() {\r\n //window.applyRptAccordion();\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblAccountDetails')}

\r\n
\r\n \r\n
\r\n {window.innerWidth > 800 ?\r\n (
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.AccountHistory && this.state.AccountHistory.status == 0 && this.state.AccountHistory.data.map((x, idx) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.AccountHistory && this.state.AccountHistory.status != 0 &&\r\n \r\n \r\n \r\n }\r\n
{t('lblTransID')}{t('lblAmount')}{t('lblTransDate')}{t('lblType')}{t('lblStatus')}
{x.TransId}{x.AddmoneyAmt}{x.Createddatetime}{x.TransType}{x.TransDesc}
{this.state.AccountHistory.msg}
\r\n
\r\n
)\r\n :\r\n (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n const { AccountHistory } = state.accountReducer;\r\n const { user } = state.loginReducer;\r\n return { AccountHistory, user };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetAccountHistory: accountActions.GetAccountHistory,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AccountHistory))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass AcccountSummary extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n getRecord = (flg) => {\r\n if (flg != 1) {\r\n this.state.startDate = document.getElementById(\"datepicker2\").value;\r\n this.state.endDate = document.getElementById(\"datepicker3\").value;\r\n }\r\n let _flog= commonClass.checkRptDateFilter(this.state.startDate,this.state.endDate)\r\n if(_flog)\r\n this.props.GetAccountSummary(this.props.user.mobileNo, this.state.startDate, this.state.endDate,this.props.i18n.language);\r\n };\r\n reSetFilter() {\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n AccountSummary: props.AccountSummary,\r\n }\r\n };\r\n componentDidMount() {\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss\r\n });\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblAccountSummary')}

\r\n
\r\n \r\n
\r\n\r\n {this.state.AccountSummary && this.state.AccountSummary.openBalance &&
\r\n
\r\n
\r\n {t('lblOpeningbal')}\r\n
\r\n
\r\n

{this.state.AccountSummary.openBalance}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblTotalPlayedAmount')}\r\n
\r\n
\r\n

{this.state.AccountSummary.totSale}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblTotalWonPrizes')}\r\n
\r\n
\r\n

{this.state.AccountSummary.totClaim}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblTotalCashIn')}\r\n
\r\n
\r\n

{this.state.AccountSummary.totCashIn}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblTotalCashOut')}\r\n
\r\n
\r\n

{this.state.AccountSummary.totCashOut}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblNetAccountBal')}\r\n
\r\n
\r\n

{this.state.AccountSummary.netTotal}

\r\n
\r\n
\r\n
}\r\n {this.state.AccountSummary==undefined ||this.state.AccountSummary.openBalance==undefined &&
\r\n {t('lblnorecordfound')}\r\n
}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { user, appvariables } = state.loginReducer;\r\n const { AccountSummary } = state.accountReducer;\r\n return { user, appvariables, AccountSummary }\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetAccountSummary: accountActions.GetAccountSummary\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AcccountSummary))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { loginActions } from '../../../action/loginAction';\r\nimport { alertActions } from '../../../action/alertAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass ChangePassword extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n oldPassword: '',\r\n newPassword: '',\r\n newConfirmPassword: '',\r\n changeSubmitted: false,\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.submitChangePassword = this.submitChangePassword.bind(this);\r\n }\r\n\r\n submitChangePassword(e) {\r\n try {\r\n e.preventDefault();\r\n this.setState({ changeSubmitted: true });\r\n let { oldPassword, newPassword, newConfirmPassword } = this.state;\r\n if (oldPassword && newPassword && newConfirmPassword && newPassword == newConfirmPassword) {\r\n oldPassword = oldPassword.replace(/'/g, \"''\");\r\n newPassword = newPassword.replace(/'/g, \"''\");\r\n this.props.changePassword(this.props.user.mobileNo, oldPassword, newPassword,this.props.i18n.language);\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex, \"ChangePassword-submitChangePassword\");\r\n return false;\r\n }\r\n };\r\n\r\n\r\n clearChangePwd = () => {\r\n try {\r\n this.setState({\r\n oldPassword: '',\r\n newPassword: '',\r\n newConfirmPassword: '',\r\n changeSubmitted: false,\r\n });\r\n this.state.oldPassword = \"\";\r\n this.state.newPassword = \"\";\r\n this.state.newConfirmPassword = \"\";\r\n this.state.changeSubmitted = false;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex, \"ChangePassword-clearChangePwd\");\r\n return false;\r\n }\r\n };\r\n\r\n handleInputChange(e) {\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n this.setState({\r\n [name]: value\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n\t\t//window.docMapVisiblePwd();\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n const { changeSubmitted, oldPassword, newPassword, newConfirmPassword } = this.state;\r\n return (\r\n
\r\n
\r\n

{t('lblChangepwd')}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n {changeSubmitted && !oldPassword && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n {changeSubmitted && !newPassword && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\t\t\t\t\t\t\t\t\t\t window.docMapVisiblePwd(e)}>\r\n {changeSubmitted && !newConfirmPassword && {t('lblRequired')}}\r\n {changeSubmitted && newPassword && newConfirmPassword && newPassword != newConfirmPassword && {t('lblPasswordMismatch')}}\r\n
\r\n
\r\n
\r\n {t('lblSubmit')}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n return { user };\r\n}\r\n\r\nconst mapActionToProps = {\r\n changePassword: loginActions.changePassword,\r\n error: alertActions.error,\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(ChangePassword))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { withTranslation } from 'react-i18next';\r\nclass UserProfile extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.props.GetUserProfile(this.props.user.mobileNo,this.props.i18n.language);\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n userProfile: props.userProfile,\r\n }\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n

{t('lblProfile')}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n {t('lblBrowseImage')}\r\n
\r\n
\r\n
\r\n {this.state.userProfile &&
\r\n
\r\n
\r\n
\r\n {t('lblFullName')}:\r\n
\r\n
\r\n

{this.state.userProfile.UserName}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblDOB')}:\r\n
\r\n
\r\n

{this.state.userProfile.DOB}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblmobno')}:\r\n
\r\n
\r\n

{this.state.userProfile.PhoneNo}

\r\n
\r\n
\r\n
\r\n
\r\n {t('lblEmail')}:\r\n
\r\n
\r\n

{this.state.userProfile.Email}

\r\n
\r\n
\r\n
\r\n
}\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { userProfile } = state.accountReducer;\r\n return { user, userProfile }\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetUserProfile: accountActions.GetUserProfile\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(UserProfile))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport AccountInfo from \"./AccountInfo\";\r\nimport Addmoney from \"./Addmoney\";\r\nimport Withdraw from \"./Withdraw\";\r\nimport BetHistory from \"./BetHistory\";\r\nimport AccountActivity from \"./AccountActivity\";\r\n\r\nimport { loginActions } from '../../../action/loginAction';\r\nimport AccountHistory from './AccountHistory';\r\nimport AccountSummary from './AccountSummary';\r\nimport ChangePassword from './ChangePassword';\r\nimport UserProfile from './UserProfile';\r\n\r\nimport Header from \"../../Header/Header\";\r\nimport { history } from '../../../helpers/history';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass AccountIndex extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\t// this.state = {\r\n\t\t// \ttabID: 0,\r\n\t\t// }\r\n\t\tif(this.props.location.state &&this.props.location.state.tabIDT){\r\n\t\t\tthis.state = {tabID: this.props.location.state.tabIDT}\r\n\t\t}\t\t\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.state = {tabID: 0}\r\n\t\t}\r\n\t\tif (this.props.user && this.props.user.mobileNo != \"0\") {\r\n\t\tthis.props.getBalance(this.props.user.mobileNo,this.props.user.loginKey,this.props.i18n.language);\r\n\t\t}\r\n\t}\r\n\tsetTab = (id) => {\r\n\t\tif (id == 0 && this.props.user && this.props.user.mobileNo != \"0\") {\r\n\t\t\tthis.props.getBalance(this.props.user.mobileNo,this.props.user.loginKey,this.props.i18n.language);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\ttabID: id,\r\n\t\t});\r\n\t\twindow.closeOption();\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\twindow.documentReadyjQueryAcc();\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\thistory.push('/login');\r\n\t\t}\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('lblOption')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 0 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 1 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 2 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 3 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 4 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 5 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 6 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 7 && }\r\n\t\t\t\t\t\t\t\t{this.state.tabID == 8 && }\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t{/*
*/}\r\n\t\t
\r\n\t\t)\r\n\t}\r\n};\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { user, appvariables } = state.loginReducer;\r\n\treturn { user, appvariables }\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tgetBalance: loginActions.getBalance,\r\n\tlogout: loginActions.logout\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AccountIndex))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { accountActions } from '../../../action/accountAction';\r\nimport { commonClass } from \"../../../helpers/commonClass\";\r\n\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass ResultReport extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.setState({\r\n reportID: 4,\r\n });\r\n }\r\n\r\n getRecord = (flg) => {\r\n if (flg != 1) {\r\n this.state.startDate = document.getElementById(\"datepicker2\").value;\r\n this.state.endDate = document.getElementById(\"datepicker3\").value;\r\n }\r\n let _flog = commonClass.checkRptDateFilter(this.state.startDate, this.state.endDate)\r\n if (_flog)\r\n this.props.GetResultReport(this.state.startDate, this.state.endDate, this.state.reportID, this.props.i18n.language);\r\n };\r\n\r\n handleChange = (e) => {\r\n let _id = 0;\r\n switch (e) {\r\n case \"r4\":\r\n _id = 4;\r\n break;\r\n case \"r5\":\r\n _id = 5;\r\n break;\r\n case \"r3\":\r\n _id = 3;\r\n break;\r\n case \"r1\":\r\n _id = 1;\r\n break;\r\n case \"r7\":\r\n _id = 7;\r\n break;\r\n case \"r8\":\r\n _id = 8;\r\n break;\r\n case \"r9\":\r\n _id = 9;\r\n break;\r\n case \"r10\":\r\n _id = 10;\r\n break;\r\n }\r\n this.setState({\r\n reportID: _id,\r\n });\r\n this.state.reportID = _id;\r\n if (this.state.reportID == _id) {\r\n this.getRecord();\r\n }\r\n };\r\n\r\n reSetFilter() {\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss,\r\n reportID: 4\r\n });\r\n this.state.reportID = 4;\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n ResultReport: props.ResultReport != undefined ? props.ResultReport : [],\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n window.documentReadyDatePicker();\r\n var date = new Date();\r\n var ss = (\"0\" + date.getDate()).slice(-2) + \"/\" + (\"0\" + (date.getMonth() + 1)).slice(-2) + \"/\" + date.getFullYear();\r\n this.setState({\r\n startDate: ss,\r\n endDate: ss,\r\n reportID: 4\r\n });\r\n this.state.reportID = 4;\r\n this.state.startDate = ss;\r\n this.state.endDate = ss;\r\n this.getRecord(1);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblResults')}

\r\n
\r\n { this.handleChange(\"r4\") }} type=\"radio\" name=\"r4\" class=\"radio1\" />\r\n { this.handleChange(\"r5\") }} type=\"radio\" name=\"r5\" class=\"radio2\" />\r\n { this.handleChange(\"r3\") }} type=\"radio\" name=\"r3\" class=\"radio2\" />\r\n { this.handleChange(\"r1\") }} type=\"radio\" name=\"r1\" class=\"radio2\" />\r\n { this.handleChange(\"r7\") }} type=\"radio\" name=\"r7\" class=\"radio2\" />\r\n { this.handleChange(\"r9\") }} type=\"radio\" name=\"r9\" class=\"radio2\" />\r\n { this.handleChange(\"r10\") }} type=\"radio\" name=\"r10\" class=\"radio2\" />\r\n {/* { this.handleChange(\"r2\") }} type=\"radio\" name=\"r8\" class=\"radio2\" /> */}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.ResultReport && this.state.ResultReport.length > 0 && this.state.ResultReport[0].GameName && this.state.ResultReport.map((x, idx) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {(this.state.ResultReport == null || this.state.ResultReport.length <= 0 || (this.state.ResultReport.length > 0 && this.state.ResultReport[0].GameName == undefined)) &&\r\n \r\n \r\n \r\n }\r\n
{t('lblgamename')}{t('lbldrawdatetime')}{t('lbldrawno')}{t('lblResults')}
{x.GameName}{x.GameDateTime}{x.GameID}\r\n {x.Result.split(',').map((z, inx) =>\r\n {z}\r\n )}\r\n
{t('lblnorecordfound')}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { ResultReport } = state.accountReducer;\r\n // const { user } = state.loginReducer;\r\n return { ResultReport };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetResultReport: accountActions.GetResultReport\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(ResultReport))\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Faq extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n\t\twindow.applyFAQaccordion();\r\n\t\twindow.scrollTo(0,0);\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { i18n } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{i18n.language == \"en\" ?\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t

FAQS

\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • What is inzozilotto?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Carousel Ltd is the sole company authorized to operate the national lottery, licensed and regulated by the Ministry of Industry and Trade in charge of the gaming activities https://www.minicom.gov.rw/Carousel built Inzozilotto to become the ultimate lottery ticket management service. Inzozilotto.rw works to solve all of that for you.

      \r\n\t\t\t\t\t\t\t\t\t\t\t

      We also have a dedicated Customer Care team to help address any of your questions or concerns.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How does Inzozilotto work?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Inzozi Lotto is the name of our product which is accessible via our Website, social media pages, mobile apps, online partner marketplaces accounts, Point of Sales, sales events, physical stores or any other form of sales and marketing channels, offline and online to allow purchasing, checking lottery tickets and play the games.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Who is eligible to purchase ticket?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      We are happy to serve customers of 18 years of age or older and If you are under 18, you may use the Website or the Marketplace only with involvement of a parent or guardian.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How do I buy a ticket? Do I have to register to purchase a ticket?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Yes if you are using our online platforms. You are only allowed to register oneAccount, on www.inzozilotto.rw or download the Inzozilotto app to complete the online registration process. You will be required to (i) submit your first and last name and other details as requested including, but not limited to, your ID/Passport Number, your phone number, date of birth, your email address, your residential address, and your payment information.Once you have created your account according to the terms and conditions , you can use Inzozilotto web or app to purchase authentic lottery tickets.

      \r\n\t\t\t\t\t\t\t\t\t\t\t

      Otherwise you can use our representative, agent, or distributors accessible all over the country.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What is my username? Can I change the username and the password?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Your valid mobile number is your username. Once registered with valid mobile number, username cannot be changed. To change your password you click on Change password link.

      \r\n\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How can I Check my Account?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Go to your account and click on account.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What if I forget my User ID? Or Password?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Click on forget User ID link and fill up the email ID, you will receive an email with your username. Click on Forget password link and reset your password.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Do I need to pay any registration Fee?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      No, there is no registration fee required.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How much does it cost to purchase a ticket? Can I buy more than one ticket?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Inzozilotto tickets range from 100 to 500 Rwandan Francs (FRW). Yes, you can buy more than one ticket.To protect our customers, we may set daily spending limits on purchases, including but not limited to ticket purchases. Once a daily spend has been reached, no more transactions can occur on the user’s account until 24 hours after the last qualifying transaction.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Can my tickets be emailed to me?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Yes! let our customer care team or our point of sales know over the phone. Just make sure your email address is correct. To ensure your e-tickets reach your inbox, please use support@inzozilotto.rw and mark us as a safe sender, or if your e-tickets are in your spam or junk folder, you can mark the email as 'not spam/junk.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Do I have to be a Rwandan Citizen? \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      No, You can buy tickets and win prizes regardless of your visa status as long as you have successfully created an account on our online platforms or managed to purchase tickets from our retailers and agents. However be aware that if you do win a prize, we have to deliver prizes within Rwanda, so please be prepared to make suitable arrangements if you do win a prize but don't live here

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What methods of payment can I use?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      You can fund your account using most bankcards, cash or Momo. Our international users are able to pay with Visa and Mastercard.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How Can I create my wallet?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      By registering yourself on Inzozi Website, your Inzozilotto wallet gets created automatically and you can fund it with mobile money / credit card from the minimum amount of RWF 100 to the maximum allowed by our policies. You need to go to your account link and click on Add Money and select the desire payment mode and amount.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How can I play the Games?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      You Need to go to the game menu and select the games you desire to play, further you can check on the link of each game “How to Play”.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Does Lottery.com send me a physical ticket when I play through the app or the web?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      No, but we will send you an email receipt and notify you if you’ve won, and track your winnings.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What is the minimum amount I can play?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      For Quick Win you can play a minimum amount is FWR 100 and For Lotto RWF 500 a ticket.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How Can I Check my Games?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Go to your account and click on ticket details.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What is the maximum amount I can play?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      For Quick Win you can play maximum of RWF 10,000 each ticket and Lotto as you wish.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How do I know I have won and how do I do?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      We will attempt to inform you of any winnings you may be entitled to and, you will be notified of your options to redeem your lottery winnings. Otherwise you can also visit our agents/retailers/distributors present your physical ticket and get the claim. Alternatively you go to Search bar and enter the transaction ID, you will get the ticket status, Games played online get auto claim if it’s a winning ticket.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\r\n\t\t\t\t\t\t\t\t
  • What's the maximum amount I can win?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      The maximum is FRW 1,000,000.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • How can I withdraw?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      You need to register the bank account and on you registered mobile money account.\r\n\t\t\t\t\t\t\t\t\t\t\t\tYou Can only Withdraw your winning balance / Winning amount.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What is the minimum amount I can withdraw?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      You can withdraw FRW 1,000 as minimum amount. For Online player its an auto claim and it automatically credited to the player wallet.\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What is the maximum amount I can withdraw?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      You can withdraw maximum FRW 1,000,000 and if the amount exceeded you need to go to the Head office Claim department.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What's the tax deduction?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      All Inzozilotto Prizes are subject to 15% gaming tax deduction.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Can my ticket expire?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      If you played your games with POS/Agent/Retailers, your physical receipt/ticket will expire in 14 days. If you played the games online get auto claim if it’s a winning ticket.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • What if I lose my ticket?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Inzozilotto will not be responsible for lost or stolen tickets. We advised you keep your tickets properly and away from moisture, heat and water. To avoid losing your ticket, you can play online. As your ticket selection is securely stored in your wallet, there is no worry over losing your ticket.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Is your service secure? How do I know my personal information is safe?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Absolutely. The security of your tickets is our specialty. Not only does Inzozilotto keep your tickets secure, we keep you secure too. We protect your personal data as well. Your payment/banking information is fully encrypted, and we utilize third-party service providers to ensure the safety of your information.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t:\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t

Ibibazo Bikunze kubazwa

\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • Inzozi Lotto ni iki?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Carousel Ltd ni cyo kigo cyonyine mu Rwanda cyemerewe gutegura Tombola ku rwego rw’igihugu, kikaba cyarahawe uburenganzira kandi kigenzurwa na minisiteri y’ubucuruzi n’inganda akaba ari nayo igenga imikino yose y’amahirwe https://www.minicom.gov.rw/ Carousel yatangije Inzozi Lotto mu rwego rwo koroshya serivisi zose zo kugura amatike ku mikino itandukanye ya Tombola.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Inzozi Lotto ikora ite?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Inzozi Lotto ni izina ry’ibicuruzwa byacu byose bikaba biboneka ku rubuga rwa inzozilotto.rw, kuri aplikasiyo ya telephone, ku mbuga nkoranyambaga, ku mbuga zitandukanye z’abafatanyabikorwa bacu ndetse no kuri site zitandukanye twashyizeho mu rwego rwo koroshya icuruzwa ry’amatike ya lotto no gukina imikino ya Tombola.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ninde wemereye kuba yagura itike?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Serivisi zacu zihabwa buri muntu wese wujuje imyaka 18 y’amavuko. Niba uri munsi y’imyaka 18 y’amavuko, urasabwa gukoresha serivisi zacu uherekejwe n’umubyeyi.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute nagura itike? Ese Ngomba kwiyandikisha kugirango mbashe kugura itike?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Yego ni ngombwa kwiyandikisha mbere yo kugura itike. Wemerewe gufunguza konti imwe gusa kuri inzozilotto.rw cyangwa se ugashyira aplikasiyo ya Inzozi Lotto muri telephone yawe kugirango ubashe kwiyandikisha. Usabwa gutanga amazina yawe yombi ndetse n’indi myirodoro ikubiyemo nimero yawe y’indangamuntu, nimero yawe ya telefoni, itariki y’amavuko, email, aho utuye ndetse n’uburyo wahisemo bwo kwishyura. Nyuma yo kwiyandikisha ushobora gukoresha urubuga rwa Inzozi Lotto ndetse ukaba wanabasha kugura amatike ya tombola.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni irihe zina nkoresha kuri konti yanjye? Ese nshobora guhindura iryo zina n’umubare w’ibanga?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Nimero yawe ya telefoni niyo wandika aho usabwa gushyiramo izina rya konti. Iyo umaze kwiyandikisha na nimero ya telefoni yawe ntabwo ushobora kuyihindura. Iyo ukeneye guhindura umubare w’ibanga ukanda kuri link yanditseho guhindura umubae w'ibanga.

      \r\n\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute nareba kuri konti yanjye?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ukanda ku kaziga kanditseho konti ukaba wakwinjira muri konti yawe

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ndamutse se nibagiwe izina riri kuri konti cyangwa se umubare w’ibanga ?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ukanda ahanditse FORGET USER ID hanyuma ukuzuza email yawe mu gasanduku kabugenewe. Uhita ubona ubutumwa kuri email bugusaba guhindura umubare w’ibanga hanyuma ugankandaho ukabasha kuba wahindura umubare w’ibanga.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese nsabwa kwishyura amafaranga kugirango niyandikishe?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Oya kwiyandikisha muri Inzozi Lotto ni ubuntu

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Itike igura amafaranga angahe? Ese nshobora kugura itike irenze imwe?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Amatike ya Inzozi Lotto agura hagati y’amafaranga 100 na 500 y’amanyarwanda. Yego, ushobora kugura itike irenze imwe. Mu rwego rwo guharanira inyungu z’abatugana, hari amafaranga ntarengwa udashobora kurenza ku munsi ugura amatike. Iyo ayo mafaranga ntarengwa wayagejejeho, nta yindi tike wongera kwemererwa kugura kugera amasaha 24 nyuma y’igihe waguriye itike ya nyuma.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese itike yanjye yakoherezwa kuri email?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Yego! Bimenyeshe umukozi wa Inzozi Lotto kuri telephone. Banza urebe neza ko email watanze nta kosa ririmo. Kugirango uhamye neza ko itike waguze iri bukugereho kuri email, twandikire kuri support@inzozilotto.rw hanyuma ukande aho usabwa kwemeza ko Inzozi Lotto ari urubuga rwizewe.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese nsabwa kuba ndi umunyarwanda? \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Oya. Ushobora kugura itike ndetse ukanatsindira ibihembo hatitawe ku bwenegihugu bwawe mu gihe wiyandikishije ku rubuga rwacu ukanagura itike ukoresheje murandasi cyangwa se kuri umwe mu ba ajenti bacu. Gusa ni ngombwa kumenya ko ibihembo byose byatsindiwe byoherezwa hose mu Rwanda ariko tutarenga imipaka. Niba watsindiye ibihembo uri hanze y’igihugu ukora k’uburyo byoherezwa kuri aderesi iri mu Rwanda.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ubuhe buryo bwo kwishyura nakoresha?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ushobora kugura itike ukoresheje konti za banki zitandukanye cyangwa se Momo. Abatugana baherereye hanze bashobora kwishyura bakoresheje ikarita ya Mastercard cyangwa Visa.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute natangiza ikofi yanjye ya Inzozi Lotto?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Iyo ufunguje konti ya Inzozi Lotto, ikofi yawe nayo ihita ifunguka ukaba watangira gushyiraho amafaranga uhereye ku 100 ry’amanyarwanda nkuko amabwiriza yacu abigena. Usabwa kujya kuri konti yawe ugakanda ahanditse ADD MONEY hanyuma ugahita uburyo wifuza bwo kwishyura n’amafaranga wifuza gushyiraho.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute nakina imikino ya Inzozi Lotto?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ujya kuri paji ibanza hanyuma ugahitamo umukino wifuza gukina, kuri buri mukino hariho amabwiriza akwereka uko ukinwa.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese nshobora koherezwa itike iri ku rupapuro nakiniye ku rubuga rwa Inzozi Lotto?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Oya. Icyakora cyo ushobora kubona ubutumwa kuri email watanze bukumenyesha niba watsinze ndetse bukwereka n’inshuro zose umaze gutsinda.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ayahe mafaranga make ashoboka nshobora gukinisha?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ku mikino ya Quick Win ayo utajya munsi ni 100 naho ku mikino ya Lotto ayo utajya munsi ni 500

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute nakurikirana imikino ndi gukina?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ujya kuri konti yawe hanyuma ugakanda ahanditse TICKET DETAILS

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ayahe mafaranga menshi ashoboka nakinisha?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ku mikino ya Quick Win amafaranga ntarengwa ni 10,000 naho kuri Lotto ushobora gukinisha kugeza ku mubare wifuza.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute namenya niba natsinze ? Nakora iki ?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ni inshingano zacu kukumenyesha buri gihe watsinze ndetse tukanakumenyesha uko wabona ibihembo watsindiye. Ushobora no kujya ku mu ajenti wa Inzozi Lotto uri hafi yawe, ukerekana itike yawe hanyuma ugasaba ibihembo byawe. Ku rubuga rwa Inzozi Lotto, ujya mu gasanduku ko guashakisha ugashyiramo nimero iranga itike waguze hanyuma ukabona ubutumwa bukwereka niba iyo tike yatsinze. Iyo wakiniye ku rubuga ukoresheje murandasi ushobora kwishyuza ibihembo byawe niba itike yawe yatsinze.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ayahe mafaranga menshi nshobora gutsindira ?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Amafaranga menshi watsindira ni Miliyoni 1 y’amanyarwanda (1, 000,000)

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni gute nabikuza ?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Usabwa gusa kuba ufite konti ya banki cyangwa se konti ya Momo. Ushobora kubikuza amafaranga watsindiye gusa.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ayahe mafaranga make nabikuza?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Amafaranga utajya munsi ni 1000. Ku wakiniye ku rubuga akoresheje murandasi, amafaranga yongerwa ku ikofi ye ya Inzozi Lotto.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ni ayahe mafaranga menshi ashoboka nabikuza ?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ushobora kubikuza kugeza kuri Miliyoni 1 (1, 000,000) Iyo arenze Miliyoni imwe, usabwa kugera ku cyicaro cya Inzozi Lotto ugasaba ubufasha.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese hari umusoro wishyurwa ku bihembo?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Ku mafaranga yose yatsindiwe muri Inzozi Lotto, hakurwaho umusoro wa 15% nkuko amategeko agenga iyi imikino abigena.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese itike naguze ishobora kurangira?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Niba waraguze itike unyuze ku mu ajenti wa Inzozi Lotto, igihe ntarengwa cyo kuba wayikoresheje ni iminsi 14.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Bigenda bite iyo ntaye itike yanjye?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Inzozi Lotto ntabwo yishingira itike yibwe cyangwa yatakaye. Mu rwego rwo kiwirinda ko itike yakwibwa cyangwa igatakara, dushishikariza buri mukinnyi gukinira ku rubuga bitewe nuko itike yawe ibi ibitse kuri telefone cyangwa mudasobwa ntabwo yakwibwa cyangwa ngo itakare.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • Ese serivisi zanyu ziranoze? Ni gute nakwizera ko imyirondoro natanze itazajya hanze?\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t\t

      Kubika itike yawe ni ingenzi kuri twe. Usibye n’itike, imyirondoro yawe ibitse mu buryo bwizewe ndetse dukoresha abafatanyabikorwa mu rwego rwo kubika amakuru mu buryo bwizewe.

      \r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\treturn {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Faq))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n//import { loginActions } from '../../action/loginAction';\r\n\r\nclass PrivacyPolicy extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0,0);\r\n };\r\n\r\n render() {\r\n const { i18n } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

Privacy Policy

\r\n

Privacy Notice

\r\n

We know that you care about how your information is used and shared, and we, Carousel Ltd. (http://carousel.rw/, “the Company,” “we,” “our,” “us”) care about your privacy. Carousel Ltd through its product inzozilotto.rw. (the “product”) is the sole company authorized to operate the national lottery, licensed and regulated by the Ministry in charge of the gaming activitieshttps://www.minicom.gov.rw/.

\r\n

This Privacy Notice explains how inzozilotto.rw collects, uses, and stores some of your personal data (excluding special categories of personal data and data relating to criminal convictions and offenses) through the use of our website, app, and services (“Product(s)”). This notice also outlines how we protect your personal data when you visit our Products (regardless of where you visit it from) and informs you of your privacy rights and how the law protects you. Please see the “Definitions” portion of this notice to understand many of the terms used throughout.

\r\n

\r\n

1. PURPOSE OF THIS NOTICE AND WHO WE ARE

\r\n

The Purpose of This Notice

\r\n

We provide this Privacy Notice explaining our online information practices and the choices you can make about the way your Personal Information is collected and used in connection with our Products and certain services that we offer through or in connection with our Products. “Personal Information” is defined below in the Definitions Section. It is important that the personal data we hold about you is accurate and current. Please keep us informed if your personal data changes during your relationship with us.

\r\n

By using our Products, you consent to the terms of this Privacy Notice and to the processing of Personal Information for the purposes set forth herein. If you do not agree to this Privacy Notice, please do not use our Products.

\r\n

Our Contact Details

\r\n

If you have any concern about our privacy practices, our use and disclosure practices, your consent choices, or if would like to exercise your rights, please contact us by email at support@inzozilotto.rw, or write to us at:\r\n Carousel Ltd. (http://carousel.rw/)\r\n CHIC Mall, 2nd floor, Romm F019A\r\n Po.Box. 6035, Kigali, Rwanda\r\n\r\n

\r\n

Third Parties

\r\n

This Product may include links to third-party websites, plug-ins, and applications. Clicking on those links or enabling those connections may allow third parties to collect or share data about you. We do not control these third-party websites and are not responsible for their privacy statements. When you leave our Product, we encourage you to read the privacy notice of every website you visit.

\r\n

2. THE INFORMATION WE COLLECT WHEN YOU USE OUR PRODUCTS

\r\n

Information that You Provide

\r\n\r\n

• Registration and Profile Information includes identity data, such as first name, last name, phone number, ID or Passport Number, email, and date of birth.

\r\n

• Financial Information includes payment cards and bank information or other service provider information necessary to transfer and receive funds.

\r\n

• Marketing and Communications that you initiate with us, such as contacting our Customer Care team, may result in us receiving additional information such as your the contents of a message or attachments that you may send us, and other information you may choose to provide. If you choose to opt-out or unsubscribe from any marketing emails, we will also have your marketing and communications preferences.

\r\n

• Career Information. In the event that you apply for a career with us, you may submit your contact information and your resume online. We will collect the information you choose to provide on your resume, such as your education and employment experience.

\r\n\r\n

Information We Collect When You Use Our Products

\r\n

•\tLocation Information. When you use our Products, we receive your general location information (for example, your internet protocol (“IP”) address may indicate your more general geographic region).

\r\n

•\tDevice Information. Access of your device may or may not require, which user need to authenticate at his/her end.We receive information about the device and software you use to access our Products, including IP address, web browser type, operating system version, phone carrier and manufacturer, application installations, device identifiers, mobile advertising identifiers, and push notification tokens.

\r\n

•\tUsage Information includes information about how you use our Products.

\r\n

•\tInformation We Infer. We may derive information or draw inferences about you based on information we collect about you. For example, based on your browsing or purchasing activities, we may infer your purchasing preferences.

\r\n

•\tInformation from Cookies and Similar Technologies. We and third-party partners collect information using cookies, pixel tags, or similar technologies. Our third-party partners, such as analytics and advertising partners, may use these technologies to collect information about your online activities over time and across different services. Cookies are small text files that are stored on your device. We may use both session cookies and persistent cookies. A session cookie disappears after you close your browser. A persistent cookie remains after you close your browser and may be used by your browser on subsequent visits to our Products. Please review your web browser’s “Help” file to learn the proper way to modify your cookie settings. Please note that if you delete or choose not to accept cookies, some of the features may become inaccessible or not function properly.

\r\n\r\n

3. HOW WE COLLECT YOUR DATA

\r\n

We collect data about you using various methods including but not limited to:

\r\n

•\tAutomated interactions and/or technologies – As you interact with our Products, some technical data is automatically collected about your browsing, browsing patterns, and equipment. This data is collected through such technologies as log files and cookies.

\r\n

•\tDirect interactions – You may provide us with some personal information when you communicate with us by email, phone, or otherwise. This includes personal data you provide when you: create an account in our Products; verify your account; receive payments from us (for lottery winnings) or make purchases with us; make a donation; send us an email or “contact us” request; request marketing to be sent to you; enter a sweepstakes, promotion, or survey; or provide us with feedback.

\r\n

•\tThird Parties - We may receive personal data about you from various third parties and public sources, like social media. You may engage with our content, such as video, lottery games, applications, and other offerings. When you engage with our content on or through social networking sites, plug-ins or applications, you may allow us to have access to certain information from your public social media profile or as part of the operation of the application.

\r\n

4. HOW WE USE THE DATA WE COLLECT

\r\n

We will only use your personal data when the law allows us to. Most commonly, we will use your personal data in the following circumstances:

\r\n

When we need to comply with a legal or regulatory obligation.

\r\n

When we need to perform the contract we are about to enter into or have entered into with you.

\r\n

When it is necessary for our legitimate interests (or those of a third party) and your interests and fundamental rights do not override those interests.

\r\n

Generally, we do not rely on consent as a legal basis for processing your personal data other than in relation to sending direct marketing communications to you via push notifications, email, text message, or phone. You have the right to withdraw consent to marketing at any time by contacting us at support@inzozilotto.rw.

\r\n

Your data is used, however, usage is not limited to the following ways:

\r\n
    \r\n
  • •\tTo set up your account and service our Products
  • \r\n
  • •\tTo verify your identity and authenticate your access to our Products
  • \r\n
  • •\tTo process and deliver your purchases, including the management of payment to and from you
  • \r\n
  • •\tTo prevent money laundering, fraud, and other illegal activity
  • \r\n
  • •\tTo provide you with support and troubleshooting assistance
  • \r\n
  • •\tTo communicate with you and keep you apprised of our updates
  • \r\n
  • •\tTo market our Products
  • \r\n
  • •\tTo perform analytics and research to improve our Products and the Products of our partners
  • \r\n
  • •\tTo ensure enforcement of our policies, to investigate any violations, and to comply with laws, government authorities, or similar legal entities, requirements, or processes.
  • \r\n\r\n
\r\n

5. DISCLOSURE OF YOUR PERSONAL DATA TO THIRD PARTIES

\r\n

We do not sell, rent, or share your Personal Information with third parties except as described in this Privacy Notice:

\r\n
    \r\n
  • •\tAffiliates and subsidiaries - We may disclose your information with our affiliates and subsidiaries for any of the purposes described in this Privacy Notice.
  • \r\n
  • •\tVendors and Service Providers - We may share any information we receive with vendors and service providers retained in connection with the provision of our Products.
  • \r\n
  • •\tThird-Party App Integrations - If you connect a third-party application to our Products, we may share information with that third party.
  • \r\n
  • •\tAdvertising Partners. We may work with third-party advertising partners to show you ads we think may interest you. These advertising partners may set and access their own cookies, pixel tags and similar technologies on our Products and they may otherwise collect or have access to information about you which they may collect over time and across different websites and online services. You can also access any settings offered by your mobile operating system to limit ad tracking, or you can install the AppChoices mobile app to learn more about how you may opt-out of personalized ads in mobile apps.
  • \r\n
  • •\tAs Required By Law and Similar Disclosures. We may access, preserve, and disclose your information if we believe doing so is required or appropriate to: (i) comply with law enforcement requests and legal process, such as a court order or other lawful requests by public authorities, including to meet national security or law enforcement requirements; (ii) respond to your requests; or (iii) protect your, our, or others’ rights, property, or safety. For the avoidance of doubt, the disclosure of your information may occur if you post any objectionable content on or through our Products.
  • \r\n
  • •\tMerger, Sale, or Other Asset Transfers. We may transfer your information to service providers, advisors, potential transactional partners, or other third parties in connection with the consideration, negotiation, or completion of a corporate transaction in which we are acquired by or merged with another company or we sell, liquidate, or transfer all or a portion of our assets. The use of your information following any of these events will be governed by the provisions of this Privacy Notice in effect at the time the applicable information was collected.
  • \r\n
  • •\tConsent. We may also disclose your information with your permission or at your direction.
  • \r\n\r\n
\r\n

6. YOUR LEGAL RIGHTS

\r\n

You have a right to request access to and receive information about the Personal Information we maintain about you, update and correct inaccuracies in your Personal Information, restrict or object to the processing of your Personal Information, have the information anonymized or deleted, as appropriate, or exercise your right to data portability to easily transfer your Personal Information to another company. In addition, you may also have the right to lodge a complaint with a supervisory authority. If you wish to access or amend any Personal Information we hold about you. In addition, you may have the right to withdraw any consent you previously provided to us regarding the processing of your personal information, at any time and free of charge. We will apply your preferences going forward and this will not affect the lawfulness of the processing before your consent withdrawal.

\r\n

You have the right to withdraw any consent you previously provided to us regarding the processing of your Personal Information, at any time and free of charge. We will apply your preferences going forward and this will not affect the lawfulness of the processing before your consent withdrawal. If you would like to exercise any of these rights, you may contact us ”inserter the link”.

\r\n

7. DATA SECURITY

\r\n

The security of your personal information is important to us. We follow generally accepted industry standards, including the use of appropriate administrative, physical, and technical safeguards, to prevent your personal data from being accidentally lost, used, altered, disclosed, or accessed in an unauthorized way. In addition, we limit access to your personal data to those employees, agents, contractors, and other third parties who have a business need to know. They will only process your personal data on our instructions and they are subject to a duty of confidentiality.

\r\n

To the extent that we collect sensitive personal data from you (for example, your bank account number or other financial personal information), we use SSL encryption to protect that information. However, no method of transmission over the internet, or method of electronic storage, is 100% secure. Therefore, while we strive to use commercially acceptable means to protect your personal information, we cannot guarantee its absolute security. If you have any questions about the security of our Products, you may contact us ”inserter the link”.

\r\n\r\n

We have put procedures in place to deal with any suspected personal data breach and will always notify you and any applicable regulator of a breach where we are legally required to do so.

\r\n

8. DATA RETENTION

\r\n

We store the information we collect about you for as long as is necessary for the purposes for which we originally collected it. We may retain certain information for legitimate business purposes or as required by law. When determining the retention period, we take into account various criteria, such as the type of products and services requested by or provided to you, the nature and length of our relationship with you, the impact on the services we provide to you if we delete some information from or about you, mandatory retention periods provided by law, and the statute of limitations.

\r\n

We will take steps to maintain an adequate level of protection for this information and guaranty you your data will not be hosted outside Rwanda.

\r\n

We may rectify, replenish or remove incomplete or inaccurate information at any time and at our own discretion.

\r\n

In some circumstances, we may anonymize your personal data (so that it can no longer be associated with you) for research or statistical purposes, in which case we may use such information indefinitely without further notice to you.

\r\n\r\n

9. NOTICE OF CHANGES

\r\n

We will continue to evaluate this Privacy Policy against new technologies, business practices and our users’ needs, and may make changes to the Privacy Policy accordingly. Please check this page periodically for updates. You acknowledge that your continued use of our Products after the posting of any changes to this Privacy Policy means that you agree to be bound by such change.

\r\n

10. DEFINITIONS

\r\n

Personal Information means any information relating to an identified or identifiable data subject that may be used, either alone or in combination with other information, to personally identify an individual.

\r\n

Legitimate Interest means the interest of our business in conducting and managing our business to enable us to give you the best and most secure services, product, and experience. We always consider your rights and weigh any potential impact on you (both positive and negative) before we process your personal data for our legitimate interests. We do not use your personal data for activities where our interests are overridden by the impact on you, unless we have your consent or are otherwise required or permitted to by law.

\r\n\r\n

Performance of Contract means processing your information when necessary for the performance of a contract to which you are a party or to take steps at your request before entering into such a contract.

\r\n

Comply with a legal or regulatory obligation means processing your personal data when we are obligated to comply with a legal or regulatory obligation.

\r\n\r\n
\r\n :\r\n
\r\n
\r\n

Amabwiriza agenga amakuru bwite

\r\n

Inyandiko yerekeranye n’amakuru bwite

\r\n

Tuzi neza ko witaye ku buryo amakuru waduhaye atangwa cyangwa se asakazwa ari yo mpamvu twebwe nka Carousel Ltd. http://carousel.rw twitaye ku kuyarinda uko bishoboka. Carousel ibinyujije mu bicuruzwa byayo bya Inzozi Lotto niyo sosiyete yonyine yemerewe gukoresha no kugenzura gahunda ya tombola k rwego rw’igihugu kandi ikaba yarabiherewe uburenganzira na minisiteri y’ubucuruzi n’inganda ifite imikino y’amahirwe mu nshingano zayo https://www.minicom.gov.rw

\r\n

Iyi nyandiko irasobanura uburyo inzozilotto.rw ikusanya, ikoresha ndetse inabika imyirondoro ndetse n’andi makuru yatanzwe (hakuwemo amabanga yerekeranye n’inkiko ndetse n’ibyaha umuntu yaba akurikiranwaho) aya makuru akaba akusanywa hakoreshejwe urubuga rwa Inzozi Lotto, aplikasiyo n’izindi serivisi zitandukanye. Iyi nyandiko kandi yerekana uburyo ducunga amakuru yatanzwe ndetse ikanakumenyesha n’amategeko akurengera. Urasabwa gusoma ahanditse ‘’definitions’’ kugira usobanukirwe amagambo menshi akubiye muri iyi nyandiko.

\r\n

1. 1.\tICYO IYI NYANDIKO IGAMIJE N’ABO TURIBO

\r\n

Icyo inyandiko igamije

\r\n

Iyi nyandiko tuyitanga mu rwego rwo kugufasha gusobanukirwa uko amakuru watanze akusanywa ndetse anakoreshwa kuri serivisi zacu zitandukanye. Igisobanuro cy’amakuru bwite (Personal Information) uragisanga mu gace kanditseho DEFINITIONS. Ni ngombwa ko amakuru yose tugufiteho cyangwa twakusanije aba ari ay’ukuri igihe cyose. Turagusaba kubitumenyesha haramutse hagize igihinduka mu myirondoro cyangwa andi makuru yatanzwe.

\r\n

Mu gihe ukoresheje ibicuruzwa byacu, bivuze ko wemeye amategeko n’amabwiriza yose akubiye muri iyi nyandiko ndetse n’ikoreshwa ry’amakuru watanze ku mpamvu zavuzwe haruguru. Niba utemeranya n’ibikubiye muri iyi nyandiko, usabwe kudakoresha serivisi zacu.

\r\n

Uko watugeraho

\r\n

Uramutse ugize ikibazo ku byerekeranye n’imikorere yacu, ikusanywa ry’amakuru, uburenganzira bwawe n’uko warenganurwa, watwandikira kurisupport@inzozilotto.rw cyangwa mu gasanduku k’ibitekerezo kabugenewe kuri Carousel Ltd.

\r\n
    \r\n
  • Carousel Ltd. (http://carousel.rw/)
  • \r\n
  • CHIC Mall, 2nd floor, Romm F019A
  • \r\n
  • Tel: (+250) 788301824
  • \r\n
  • Po.Box. 6035, Kigali, Rwanda
  • \r\n

Site z’abafatanyabikorwa

\r\n

Mu rwego rwo kubagezaho serivisi zinoze, ibicuruzwa byacu bishobora kunyura kuri site zitandukanye z’abafatanyabikorwa n’izindi aplikasiyo. Gukanda kuri izo site cyangwa se izo aplikasiyo biha uburenganzira abo bafatanyabikorwa bacu kuba bagera ku myirondoro ndetse n’amakuru watanze. Nta bushobozi bwo kugenzura izo site dufite cyangwa se kumenya uko amakuru akoreshwa. Mu gihe uvuye kuri site yacu usabwa gukoresha indi, turagushishikariza kubanza gusoma amategeko n’amabwiriza agenga izo site zindi mu rwego rwo gucunga amakuru watanze.

\r\n

2. AMAKURU DUKUSANYA IYO UKORESHEJE IBICURUZWA BYACU

\r\n

Amakuru utanga

\r\n

• Imyirondoro usabwa wiyandikisha harimo ibikuranga nk’amazina yombi, nimero ya telephone, indangamuntu cyangwa se pasiporo, email ndetse n’itariki y’amavuko.

\r\n

• Amakuru ajyanye n’uburyo bwo kwishyura wahisemo harimo imyorondoro yo kuri banki n’ibindi bisabwa mu kwakira cyangwa se kohereza amafaranga.

\r\n

• Itumanaho iryo ariryo ryose hagati yawe natwe nko guhamagara umurongo wacu w’ubufasha bishobora kugusaba gutanga amakuru yisumbuyeho. Niba wifuza kutoherezwa ubutumwa buduturutseho kuri email, ayo mahitamo nayo turayaguha.

\r\n

• Amakuru atangwa mu gusaba akazi. Iyo uhisemo gukorana natwe, usabwa imyirondoro yawe ndetse na CV yawe. Amwe mu makuru uzasabwa gutanga kuri CV harimo amashuri wize ndetse n’ubunararibonye wakuye mu tuzi wakoze.

\r\n

Amakuru dukusanya iyo ukoresheje ibicuruzwa byacu

\r\n

• Aho utuye. Iyo ukoresheje ibicuruzwa byacu, dukusanya amakuru yerekeranye n’aho utuye, ndetse na aderesi iva kuri murandasi ukoresha itwereka aho uherereye.

\r\n

• Amakuru kuri telephone ukoresha. Dukusanya amakuru ku gikoresho wakoresheje mu kugera ku bicuruzwa byacu harimo aderesi y’aho uherereye mu gihe usaba serivisi, ubwoko bwa telephone n’uruganda rwayikose, aplikasiyo ukoresha ndetse na byinshi mu biranga telephone yawe.

\r\n

• Amakuru dukusanya kandi harimo n’uburyo ukoresha ibicuruzwa byacu.

\r\n

• Tugendeye ku makuru twakusanije dushobora kugereranya tukamenya ubwoko bw’ibicuruzwa ukunze kugura.

\r\n

• Twebwe n’abafatanyabikorwa bacu dukoresha tekinoloji zitandukanye harimo COOKIES, PIXEL TAGS n’izindi. Abafatanyabikorwa bacu harimo abakora ibarurishamibare n’abamamaza bashobora gukoresha izi tekinoloji bakaba bakusanya amakuru yerekeranye n’ibikorwa ukorera kuri murandasi kuri mbuga cyangwa se serivisi zitandukanye. Icyitwa COOKIES ni inyandiko nto ziba zibitse ku gikoresho wifashisha kuri murandasi. Dukoresha ubwoko bubiri bwa COOKIES arizo session cookies na persistent cookies. Amakuru aturuka kuri session cookies avamo iyo ukuyemo urubuga uri kureberaho naho amakuru ava kuri persistent cookies aguma ku gikoresho wifashishije ukoresha murandasi akaba yakoreshwa inshuro zikurikiye usuye urwo rubuga.

\r\n

3. UKO DUKUSANYA AMAKURU AKUREBA

\r\n

Dukusanya amakuru dukoresheje uburyo butandukanye harimo:

\r\n

• Uburyo buri otomatike _ Iyi ukoresheje ibicuruzwa byacu, dukusanya amwe mu makuru akureba harimo imbuga uba wasuye n’uburyo uba wakoresheje kuzigeraho. Ayo makuru akusanywa hakoreshejwe tekinoloji ya LOG FILES cyangwa se COOKIES.

\r\n

•\tKuvugana natwe. Dukusanya kandi amakuru iyo utwandikiye cyangwa se utuvugishije kuri email, telephone cyangwa se ahandi. Muri ayo makuru dukusanya harimo ayo tubona iyo ufunguje konti, iyo uhawe ibihembo ,iyo uguze ibicuruzwa byacu, iyo utanze inkunga , utwohereje email cyangwa se ukaduhamagara udusaba ko twakohereza ubutumwa. Amakuru kandi akusanywa iyo ukoresheje poromosiyo zacu cyangwa se iyo uduhaye amakuru ku buryo serivisi zacu zitangwa.

\r\n

• Abafatanyabikorwa – Dushobora gukusanya andi makuru akureba tuyahawe n’abafatanyabikorwa bacu cyangwa se ku mbuga zitandukanye za rusange harimo imbuga nkoranyambaga. Cyangwa se urebye ibikorwa byacu dusakaza mu buryo bwa videwo, imikino, aplikasiyo n’ibindi. Iyo utwandikiye cyangwa se ugakurikirana ibikorwa byacu ku mbuga nkoranyambaga cyangwa se aplikasiyo nabyo bishobora gutuma tubona amakuru akureba.

\r\n

4. UKO DUKORESHA AMAKURU TWAKUSANIJE

\r\n

Amakuru yakusanijwe akoreshwa gusa aho amategeko abitwemerera. By’umwihariko amakuru twakusanije akoreshwa mu buryo bukurikira:

\r\n

Mu rwego rwo kubahiriza amabwiriza agenwa n’itegeko cyangwa amabwiriza agenga serivisi.

\r\n

Iyo twifuza gusinyana amasezerano cyangwa se twamaze kuyasinyana nawe.

\r\n

Iyo biri mu nyungu zacu ndetse n’izawe cyangwa se iz’abafatanyabikorwa kandi uburenganzira bwawe nk’umuguzi bukaba bubyemera.

\r\n

Muri rusange, ntabwo bisaba uburenganzira watanze kugirango dukoreshe amakuru akureba wohereje mu buryo butandukanye harimo email, ubutumwa bugufi cyangwa watwohereje ukoresheje telephone. Ufite uburenganzira bwo kwanga ko twakoresha amakuru akureba igihe cyose utwandikira kuri support @inzozilotto.rw.

\r\n

YAmakuru watanze akoreshwa mu buryo bukurikira:

\r\n
    \r\n
  • • Gufunguza konti yawe no gukoresha ibicuruzwa byacu
  • \r\n
  • • Kubarura no kureba ko imyirondoro watanze ihura mbere yo gukoresha ibicuruzwa byacu.
  • \r\n
  • • Kwishyura serivisi cyangwa ibicuruzwa byacu
  • \r\n
  • • Kwirinda ibikorwa byose bya forode no gukoresha amafaranga mu buryo bunyuranije n’amategeko n’ibindi bikorwa bibusanije n’amategeko.
  • \r\n
  • • Kuguha ubufasha butandukanye harimo igihe wagize ikibazo mu gukoresha serivisi
  • \r\n
  • • Kuvugana nawe tukumenyesha ibishya kuri serivisi
  • \r\n
  • • Kumenyekanisha no kwamamaza ibicuruzwa byacu
  • \r\n
  • • Mu gusuzuma uko serivisi zacu n’ibicuruzwa byacu cyangwa se iby’abafatanyabikorwa bacu bikora
  • \r\n
  • • Mu rwego rwo gukurikiza amabwiriza atugenga, kugenzura aho amabwiriza atakurikijwe no kubahiriza amategeko yashyizweho na leta, inzego za leta cyangwa se ibindi bigo bibifitiye ububasha.
  • \r\n
\r\n

5. GUTANGA AMAKURU AKUREBA KU BAFATANYABIKORWA

\r\n

Ntabwo tugurisha cyangwa se ngo dutange amakuru waduhaye ku bafatanyabikorwa keretse mu buryo bwavuzwe muri iyi nyandiko:

\r\n
    \r\n
  • • Ibigo bidushamikiyeho _ Dushobora gutanga amakuru akureba ku bigo bidushamikiyeho nk’uko iyi nyandiko ibigena
  • \r\n
  • •\tAbacuruza n’abatanga serivisi – Dushobora gutanga amakuru akureba ku bagurisha cyangwa batanga serivisi mu gihe bisabwa kugirango iyo serivisi itangwe
  • \r\n
  • •\tSite z’abafatanyabikorwa – Iyo ukoresheje site z’abafatanyabikorwa, bashobora kuba babona amakuru akureba.
  • \r\n
  • •\tAbafatanyabikorwa badufasha kwamamaza _Dushobora gukorana na bamwe mu bafatanyabuikorwa bacu tukugezaho serivisi dukeka ko wakwifuza gukoresha. Aba bafatanyabikorwa nabo bashobora gukoresha tekinoloji nk’izavuzwe haruguru bakaba bagera ku makuru watanze, imbuga wasuye n’izindi serivisi zose wasabye ukoresheje murandasi. Ushobora gukuramo cyangwa kugabanya serivisi zo kwamamaza ushyira aplikasiyo ya AppChoices kuri telephone yawe.
  • \r\n
  • •\tNk’uko itegeko ribigena, dushobora kureba, kubika cyangwa se gusakaza amakuru watanze (i)biramutse bisabwe n’inzego za leta nk’inkiko ndetse n’izindi nzego zibifitiye ububasha, ndetse n’igihe byaba byerekeranye no kubungabunga umutekano w’igihugu cyangwa bisabwa n’inzego z’umutekano. (ii)Mu gihe was abwe guhabwa ubufasha (iii) Mu rwego rwo kubahiriza uburenganzira bwawe. Mu gihe usakaje amakuru asebya ibicuruzwa byacu, dufitw uburenganzira bwo gusakaza amakuru akureba mu rwego rwo kurinda abatugana urujijo.
  • \r\n
  • •\tAmakuru akwerekeye kandi ashobora gutangwa ku bacuruza serivisi zacu, abajyanama, n’abandi bafatanyabikorwa ndetse no ku yindi sosiyete mu gihe iyi iramutse iguzwe cyangwa igurishije imitungo yayo. Uko aya makuru yose azakoreshwa bizajya bigendera ku mabwiriza akubiye muri iyi nyandiko ndetse n’igihe ayo makuru yatangiwe.
  • \r\n
  • •\tAmakuru waduhaye kandi twanayakoresha igihe cyose ubiduhereye uburenganzira.
  • \r\n
\r\n

6. AMATEGEKO AKURENGERA

\r\n

Ufite uburenganzira bwo gusaba cyangwa guhabwa amakuru yose tugufiteho ndetse no gukosoza ahaba harimo amakosa, kwanga ko amakuru yawe yatambuka, kuba wakwifuza ko amakuru asibwa cyangwa atangwa hadatangajwe amazina yawe cyangwa se gukoresha uburenganzira bwawe bukwemerera kuba wahereza amakuru waduhaye ku yindi sosiyete. Byongeye, ufite uburenganzira bwo kuba wageza ikibazo cyawe ku nzego zidukuriye mu gihe ukeneye kwisubiza uburenganzira wari waraduhaye bwo kuba twakoresha amakuru akwerekeye. Ibi bikaba byakorwa igihe icyo ari cyo cyose kandi nta kiguzi. Mu gihe wisubije ubu burenganzira dukora ku buryo twazajya tugendera bishoboka ku gushaka kwawe mbere y’uko bigera ku kwisubiza uburenganzira.

\r\n

Mu gihe waba wifuza gukoresha bumwe muri ubu burenganzira bwavuzwe, ushobora kuba watwandikira cyangwa se ukaduhamagara.

\r\n

7. UMUTEKANO W’AMAKURU TUBITSE

\r\n

Kubungabunga umutekano w’amakuru tubitse ni ngombwa kuri twe. Muri rusange dukurikiza amategeko nk’agenga ibindi bigo harimo gukurikiza amabwiriza yose tugamije kwirinda ko amakuru yatakara, yakoreshwa , yasakazwa, yahindurwa mu buryo butemewe. Byongeye, amakuru watanze agerwaho gusa n’abakozi ba sosiyete, aba ajenti, n’abandi bafatanyabikorwa bacu. Nabo kandi bakayakoesha mu ibanga rikomeye kandi bakurikije amabwiriza twabahaye.

\r\n

Ku makuru akomeye harimo nimero ya konti ya banki cyangwa se izindi konti zitandukanye, dukoresha tekinoloji ya encryption idufasha kuyacunga byimbitse. Cyakoze, nta buryo bwo kubika amakuru ukoresheje murandasi bwizewe ku kigero cy’i 100%. Niyo mpamvu tutakwizeza burundu ko ayo makuru atazasakazwa. Uramutse ugize ikibazo ku mutekano w’amakuru watanze, watwandikira.

\r\n

Twashyizeho uburyo bwo kumenya haramutse hageragejwe kwiba amakuru ariyo mpamvu dufite mu nshingano kubikumenyesha nkuko itegeko ribigena.

\r\n

8. KUBIKA AMAKURU WATANZE

\r\n

Dukomeza kubika amakuru watanze mu gihe cyose tugikeneye kuyakoresha ku mpamvu twayasabiye. Dushobora no gukomeza kubika amakuru ku mpamvu zerekeranye na bizinesi cyangwa se igihe bigenwa n’itegeko. Mbere yo kuba twagumana amakuru hitabwa ku bicuruzwa cyangwa serivisi zacu wakoresheje, igihe tumaze dukorana, n’ingaruka zaramuka zibaye kuri serivisi zacu mu gihe amakuru yawe yasibwa burundu ndetse n’igihe ntarengwa kigenwa n’itegeko.

\r\n

Tukwijeje kubungabunga amakuru watanze mu buryo bwose bushoboka kandi ko inshingano zo kuyacunga zitazakorerwa hanze y’u Rwanda.

\r\n

Dushobora guhindura, kuzuza cyangwa gukuraho amakuru atuzuye igihe icyo aricyo cyose ariko bigakorwa mu ibanga.

\r\n

Hari igihe dushobora kuba twakoresha amakuru watanze tudatangaje amazina yawe, aya makuru akaba yakoreshwa no mu gihe kizaza tutarinze kongera kugusaba uburenganzira.

\r\n

9. INYANDIKO IMENYESHA IMPINDUKA

\r\n

Tuzakomeza guhindura ibikubiye muri iyi nyandiko mu gihe habaye impinduka muri tekinoloji, muri bizinesi no mu byo abaguzi bakenera. Urasabwa kujya usoma iyi paji kugirango umenye niba hari impinduka zabayemo. Gukomeza gukoresha serivisi zacu mu gihe wamaze gusoma impinduka zabayeho, bizaba bisobanura ko wasobanukiwe kandi wemeranya n’izo mpinduka.

\r\n

10. IBISOBANURO

\r\n

Amakuru bwite (personal information) ni amakuru yose yakoreshwa yonyine cyangwa hifashishijwe n’andi mu kuba hamenywa umwirondoro w’umuntu.

\r\n

Inyungu zihariye (legitimate interest) ni inyungu dufite mu kugenzura bizinesi tugamije gutanga serivisi zinoze n’ibicuruzwa by’umwimerere. Twita ku burenganzira bwawe igihe cyose bibaye ngombwa kuba twakoresha amakuru watanze ku nyungu zacu zihariye. Nta na rimwe dukoresha amakuru watanze mu gihe utabiduhereye uburenganzira cyangwa mu gihe itegeko ritabyemera.

\r\n

Imikoreshereze ya kontaro (performance of contract) igena igihe cyose byemewe gukoresha amakuru watanze mu rwego rwo kubahiriza kontaro wasinye cyangwa uteganya gusinya.

\r\n

Kubahiriza itegeko cyangwa amabwiriza agenga serivisi (comply with legal or regulatory obligations) bigena kuba twakoresha amakuru watanze mu gihe tubisabwe n’amategeko cyangwa mu gihe amabwiriza agenga serivisi abigennye.

\r\n
\r\n
\r\n }\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(PrivacyPolicy))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\n//import Header from \"../Header/Header\";\r\n//import { loginActions } from '../../action/loginAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass TermsAndCondition extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n };\r\n\r\n render() {\r\n const { i18n } = this.props;\r\n return (\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \"inzozilotto\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

Terms and Condition

\r\n

Welcome to http://carousel.rw/ (“Company,” “we” or “us”) through its product inzozilotto is the sole company authorized to operate the national lottery, licensed and regulated by the Ministry of Industry and Trade in charge of the gaming activities https://www.minicom.gov.rw/.

\r\n

The following Terms and Conditions of Use, together with any documents expressly incorporate by reference (collectively, these “Terms and Conditions of Use”), govern you and any entity you represent (collectively, “you” or “your”), with respect to access and use of https://inzozilotto.rw/ including any Content (as defined in this terms of service agreement), technology, processes, materials, functionality and services designed, offered, or marketed by the Company on or through https://inzozilotto.rw/ and at such other domain names used to identify websites on which the Company may offer Services (collectively, the “Service”), whether as a guest or a registered user.

\r\n

IMPORTANT LEGAL NOTICE: PLEASE READ THESE TERMS AND CONDITIONS OF USE CAREFULLY AS THEY AFFECT YOUR LEGAL RIGHTS AND OBLIGATIONS. INZOZILOTTO.RW IS OPERATED UNDER A PUBLIC PRIVATE PARNERSHIP AGREEMENT BETWEEN CAROUSEL LTD AND THE GOVERNMENT OF RWANDA. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS OF USE, PLEASE DO NOT ACCESS OR USE THE SERVICE.

\r\n

TABLE OF CONTENT

\r\n

1.\tAcceptance of the Terms and Conditions of Use

\r\n

By playing games and acquiring lottery ticket via our Website, social media pages, mobile apps, online partner marketplaces accounts, point of sales, sales events, physical stores or any other form of sales and marketing channels, offline and online which are operated by us, creating an account via the Service (“Account”), downloading the inzozilotto.rw App or clicking to accept or agree to these Terms and Conditions of Use when this option is made available to you, you hereby (i) acknowledge that you have read and agree to be bound to and abide by these Terms and Conditions of Use and (ii) represent and warrant that you are eligible to access the Service and are authorized and able to accept these Terms and Conditions of Use. If you do not wish to be bound by these Terms and Conditions of Use, you must not access or use the Service. By declining to accept these Terms and Conditions of Use, you will be unable to create an Account or access or use the Service.

\r\n

2.\tGeneral Rules, Policies & Procedures

\r\n

2.1.\tEligibility

\r\n

To be eligible to create an Account and become a registered user of the Service, you must, at the time of registration (i) be at least eighteen (18) years of age or above, (ii) not be a person barred from participating in the Service under the laws of the Republic of Rwanda, and (iii) at all times abide by these Terms and Conditions of Use.

\r\n

If you reside in a Jurisdiction that requires you to be older than eighteen (18) years of age to participate in Lottery activities (as defined in Section 4.1), you must adhere to that territory’s laws in order to use the Service. If you do not meet all of these requirements, you must not access or use the Service. The Company reserves the right to verify your age, identity and eligibility at any time. Any failure to cooperate with the Company in this respect may result in the suspension and/or termination of your Account.

\r\n

Employees, officers, directors, members, managers, investors, agents, and representatives of the Company and any of its or their parent companies, subsidiaries, affiliates as well as direct technology vendors, content providers, component suppliers (both hardware and software) directly related to the Service, and each of their respective immediate family (defined as parents, spouse, partner, and children) and any person residing in the same household are not eligible to use the Service. Such persons may, however, access the Service, and will from time to time do so for the purpose of testing the Service, including, without limitation, evaluating user experience, and other reasonable and fair uses at the sole discretion of the Company.

\r\n

By accessing or using the Service, you represent and warrant that you have the right, authority and capacity to enter into this agreement, to abide by all of these Terms and Conditions of Use, and that you are not prohibited from accessing or using the Service. The Company makes no representations or warranties, implicit or explicit, as to your legal right to access or use the Service and no person affiliated, or claiming affiliation, with the Company shall have authority to make any such representations or warranties. We do not intend for the Service to be used by persons present in Jurisdictions in which participation may be prohibited or restricted. You agree that the availability of the Service does not constitute an offer, solicitation or invitation by the Company for the use of the Service in any Jurisdiction in which such activities are prohibited or restricted. The Company reserves the right to deny access to the Service to anyone at its sole discretion.

\r\n

2.2.\tGames Rules and Schemes

\r\n

Please refer to our “How to Play” and “Winning Schemes” of the various products offered by Inzozilotto.

\r\n

2.3.\tCompliance

\r\n

You will comply with all of the terms and conditions of this Agreement and all applicable laws, regulations and rules when you use the Service. A User must be 18 years or older to participate in the Service. These rules & policies are valid only where legal. You are responsible for ensuring that it is legal for you to use the Service in your local jurisdiction. The Company reserves the right to cancel a user Account if behavior is deemed unacceptable by Carousel Ltd. The Company reserves the right to suspend a user Account if the user’s profile information is incorrect and / or in violation of any of the present Terms and Conditions of Use and / or is in breach of any regulatory and / or statutory regulations. In the event of any winnings generated from an account which is not in strict compliance of the present Terms and Conditions of Use, the rights to said winnings may be compromised.

\r\n

At all times you are responsible to ensure that your user profile information is up to date and accurate.

\r\n

2.4.\tNotice of Modifications or Changes

\r\n

The Company may modify the Service at any time with or without notice to you. The Company and its content including, without limitation, the information, graphics, products, features, functionality, services, and links (collectively the “Content”) may be changed, deleted or updated without notice. Carousel Ltd. may discontinue, suspend or modify the Service at any time without notice, and the Company may block, terminate or suspend your access to the Service at any time for any reason in its sole discretion, even if access continues to be allowed to others.

\r\n

2.5.\tTickets

\r\n

Tickets for a Lottery drawing are purchased by any Natural Customer of at least 18 years of age or older and who is legally able to enter into a valid contract. If you are under 18, you may use the Website or the Marketplace only with involvement of a parent or guardian.

\r\n

The tickets will be processed and posted allowing users to view their ticket numbers online, on radio or on televisions. The numbers for each ticket will also be posted on the Service for group users to view. The Company will record the winning numbers for the corresponding Lottery drawings. In the event incorrect information is sent to a user, the user shall not be entitled to any claim based on the receipt of this information. You agree to immediately notify the Company upon receipt of erroneous information and hereby waive any claim against the Company for the receipt of such erroneous information.

\r\n

Lottery tickets can only be sold by authorized lottery agents/retailers and can only be sold be across Rwandan territory (“the Territory”) using our online platforms. Tickets will be sold by Lottery tickets are purchased in person through Carousel online platform or POS, or one of its representatives from an authorized lottery agent/retailer in each respective point of sale that we offer service. The point of sale where the winnings are won may have the identity of the winner(s).

\r\n

2.6.\tPayouts & Statutory Withholdings

\r\n

Where applicable by law, the Company will subject the payment of any winnings to the statutory withholdings and / or deductions.

\r\n

2.7.\tJackpots

\r\n

Quick Lotto & Impamo Jackpot refer to any Lottery winnings that are only redeemable directly from designated Lottery officials of a given point of sale. The Company will notify a user that a jackpot has been won by contacting the user at the email address and with telephone call provided for their Account at the time of registration or as updated according to these Terms and Conditions of Use. Users will have thirty (30) days from the date of the initial notification email/call/SMS was sent to respond to the Company and to provide any additional information requested and / or required by law. The Company will then endeavor to assist you to collect the winnings from the designated lottery officials or at Carousel offices. You hereby acknowledge and accept that taxes as well as statutory withholdings and / or deductions may be withheld by the Company before distribution.

\r\n

2.8.\tWinnings

\r\n

All other Lottery winnings which are not considered a “Jackpot”, are also settled according to the rules and regulations. The Company will attempt to inform you of any winnings you may be entitled to and, you will be notified of your options to redeem your lottery winnings

\r\n

If your individual winnings or Group Play winnings equal or exceed any applicable specified prize claim threshold, the Company may forward you an official Lottery claim form, which you will be required to fill out, sign, and return to the Company to facilitate the collection of the respective winnings on your or your group’s behalf .

\r\n

2.9.\tInternational Prize Collection

\r\n

If you travel to collect your prize, then you agree that you remain solely responsible and liable for, and shall: (i) obtain all necessary passports, visas, and permits that are necessary to enter the country; (ii) associated travel costs, including flights and accommodations; (iii) secure travel insurance (which must cover you for medical, personal injury and property claims). You acknowledge that your failure to fulfill any of these requirements may preclude you from collecting your prize. You undertake and agree that the travel is entirely at your own risk. You hereby waive any legal or equitable claims, rights or remedies you may have against Carousel Ltd. Alternatively, you may opt to give Carousel Ltd. a Power of Attorney to collect the prize on your

\r\n

2.10.\tPurchase Limit

\r\n

To protect our customers, the Company may set daily spending limits on purchases, including but not limited to ticket purchases. Once a daily spend has been reached, no more transactions can occur on the user’s account until 24 hours after the last qualifying transaction.

\r\n

2.11.\tJurisdictional & Lottery Limitations

\r\n

Upon your Power of Attorney, the Company will attempt to collect your winnings on your behalf using its reasonable best efforts. You acknowledge and agree that the Company will not be held liable for any winnings that cannot be collected because all the conditions are not

\r\n

Lottery tickets can only be sold by the Company and authorized Lottery agents/retailers and canbe sold across the territory with anyone else apart from using our online platforms. It is your responsibility to verify each of your purchases to determine whether you have won any prizes. You further acknowledge and represent that you are aware that the Company will make its best efforts to notify you and, in the event that, for any reason whatsoever, the prize is not claimed within the statutory time limits, you will have no legal recourse against the Company and / or any of its employees or agents, the Company is hereby released of any and all legal recourses and / or remedies as a result of you not verifying your purchases and / or not claiming any winnings within a statutory time frame.

\r\n

3.\tInzozilotto.rw Account Registration & User Accounts

\r\n

3.1.\tRegistration Information

\r\n

To register for an Account, visit www.inzozilotto.rw or download the Inzozilotto app or Dail *240# on USSD to complete the online registration process. You will be required to (i) submit your first and last name and other details as requested including, but not limited to, your ID/Passport Number, your phone number, date of birth, your email address, your residential address, and your payment information.

\r\n

You agree to (i) provide true, accurate, current and complete information about yourself (the “Registration Data”) as prompted by the Service’s online registration form and (ii) maintain and promptly update the Registration Data to keep it true, accurate, current and complete. In addition, you agree that the Company may contact you via mail, email or phone to verify your Account information, update group information or provide responses to your requests. Once an account is created, you will not be able to change your User name but you can for the passwordby clicking on Change password link. For further assistance, please contact customer service at support@inzozilotto.rw. Any information collected by the Company will be held subject to its Privacy Policy, available at (link) and “just-in-time” notices, if any, provided at the point of information collection or use. If we cannot contact you within thirty (30) days or if you provide any information that is untrue, inaccurate, not current or incomplete, or the Company has reasonable grounds to suspect that such information is untrue, inaccurate, not current or incomplete, the Company reserves the right to suspend or terminate your Account immediately, withhold your Account balance and refuse any and all current or future use of the Service (or any portion thereof).

\r\n

3.2.\tSecrecy Obligation

\r\n

You agree to keep your Identifiers secure and confidential. You are solely responsible for all usage or activity on your Account including, but not limited to, use of the Account by any person who uses your Identifiers, with or without authorization, or who has access to any device on which your Account is accessible. In the event that you are concerned that your Account is no longer secure and confidential, you should immediately notify the Company by sending an email to support@inzozilotto.rw. Whereupon new Identifiers may be selected and allocated and any future transactions under the previous Identifiers may be voided, at the sole discretion of the Company. Without limiting the foregoing, any transactions made and accepted within the Service where your Identifiers have been used (and where you have not previously notified the Company as provided herein) will be treated as valid.

\r\n

3.3.\tOne Account

\r\n

Only one (1) Account is allowed per person. In the event the Company determines that you have registered more than one (1) Account, you acknowledge and agree that, in addition to any other rights the Company may have, the Company has the right to suspend or terminate your Account immediately, withhold your Account balance, revoke your right to any Lottery tickets or corresponding prizes, and refuse any and all current or future use of the Service (or any portion thereof).

\r\n

3.4.\tNo Transfer

\r\n

Your Account is not transferable. Under no circumstances shall you allow or permit any other person or third party, including, without limitation, any person under the legal age to use the Service, to use or re-use your Account in such a way that may breach the standards or laws of the territory. You accept full responsibility for any unauthorized use of the Service and for any use of your payment instrument by any other person or third party in connection with your Account. Any person found to have violated this section may be reported to the relevant authorities and will forfeit all funds in their Account. The Company will not be liable for any loss that you may incur as a result of someone else using your Account.

\r\n

3.5.\tUnsubscribe

\r\n

To unsubscribe from the Service and cancel your Account, you will need to email your request to support@inzozilotto.rw. If you unsubscribe, your Account will be cashed out and terminated.

\r\n

3.6.\tEquipment Obligation

\r\n

You must provide all equipment and software necessary to connect to the Service, including, but not limited to, a computer or Mobile Device (as defined in Section 7.1) that is suitable to connect with and use the Service. You are responsible for any fees, including, but not limited to, Internet connection or data usage fees, including, without limitation, SMS/MMS text usage fees, that you incur when accessing the Service

\r\n

4. Inzozilotto.rw Services

\r\n

4.1. Lottery Ticket Agreement

\r\n

As a registered user of the Service, you acknowledge and agree to each of the following:

\r\n

You are participating as a sole ticket holder independently at your own discretion.\r\n You recognize that the payment of Lottery prizes is pursuant to law and regulations. Should the Lottery tickets that are the subject of this agreement result in a prize(s) for which Lottery regulations permit direct payment, then a claim for payment shall be made by the Company on your behalf. Where such regulations permit payment of the prize to only one natural person, then a representative of the Company may claim the prize for the benefit of an individual participant. At all times, any claim for payment will be made in accordance with the laws and regulations of the territory.\r\n

\r\n

4.2. Individual User Commitments

\r\n

Once a ticket (or tickets) has been committed, you cannot terminate your Account until the drawing for which you are committed has occurred. In addition, once a ticket (or tickets) has been committed, you cannot return, exchange, modify or remove your ticket. If a drawing is missed or rescheduled, the Company will conform to this change by entering the next drawing available.

\r\n

4.3. Game Results & Information

\r\n

The “Draw Results” section of the application displays the estimated jackpot and the latest winning numbers at the availed platforms including the radios, televisions, and our socio media platforms. It is your responsibility to verify each of your purchases and to advise the Company in the event of any winnings.

\r\n

5. Billing Agreement

\r\n

5.1. Payment

\r\n

The user must deposit funds into the Inzozilotto Wallet Account, which is linked to the registered user, to enable you to play games. These funds, once in the wallet, are non-refundable.

\r\n

If your payment is declined, you will be notified in the application and contacted by phone or email. We may restrict your ability to use a certain payment method if that payment method fails multiple times. REMEMBER: If your Automatic Payment fails, you will need to replenish your account with another payment method. In the event any payment is not made, no tickets will be purchased without payment made in advance.

\r\n

5.2. Changing Payment

\r\n

If you would like to change your Payment including, for example, making a change from one credit or debit card that was initially selected to another credit or debit card or bank account, you must change the account number in the settings section of the Service.

\r\n

5.3. Security Verification

\r\n

I authorize the Company and their sponsoring agency to run an user verification search where applicable. This verification process is a security measure to protect me, the client, from illegal fraud against my credit card. I guarantee and warrant that I am the legal cardholder for this credit card, and that I am legally authorized to enter into this billing agreement with Carousel.rw. I agree to indemnify, defend and hold Carousel.rw. harmless, against any liability pursuant to this authorization. This Agreement is not transferable and must be agreed to by the person authorized on the Carousel.rw user account.

\r\n

6. Third Party & Interactive Features

\r\n

If you decide to enable, access or use third-party services, be advised that your access and use of such other services are governed solely by the terms and conditions of such other services, and we do not endorse, are not responsible or liable for, and make no representations as to any aspect of such other services, including, without limitation, their content or the manner in which they handle data (including your data) or any interaction between you and the provider of such other services.

\r\n

You irrevocably waive any claim against the Company with respect to such other services. The Company is not liable for any damage or loss caused or alleged to be caused by or in connection with your enablement, access or use of any such other services, or your reliance on the privacy practices, data security processes or other policies of such other services.\r\n

\r\n

You may be required to register for or log into such other services on their respective websites.\r\n By enabling any other services, you are expressly permitting the Company to disclose your data as necessary to facilitate the use or enablement of such other service.\r\n

\r\n

In conjunction with the Products, the Company may offer interactive social features (“Interactive Features”) in which you or third parties, including other users of the Service, are able to communicate and post User Content (defined below) within the Service. The Company does not endorse, approve or pre-screen any User Content that you and other users may contribute to the Service, and is not responsible for the accuracy or inaccuracy of the User Content. You bear the entire risk of the completeness, accuracy or usefulness of the User Content found on the Service.

\r\n

You are solely responsible for your use of the Service’s Interactive Features and use them at your own risk.

\r\n

By using any Interactive Features, you agree not to post, transmit, distribute, create or otherwise publish any of the following on or through the Service:

\r\n

Any messages, comments, data, information, text, or other works, content or materials (“User Content”) that are unlawful, libelous, defamatory, obscene, pornographic, harmful to minors, indecent, lewd, vulgar, suggestive, harassing, threatening, tortious, invasive of personal privacy or publicity rights, abusive, inflammatory, hateful, fraudulent or otherwise objectionable (as determined by the Company in its sole discretion);

\r\n

User Content that would encourage or provide instructions for a criminal offense, violate the rights of any party or that would otherwise create liability or violate any local or international law;\r\n

\r\n

User Content that you do not have the right to post or otherwise transmit under any law or under contractual or fiduciary relationships (such as insider information, proprietary information and confidential information learned or disclosed as part of employment relationships or under nondisclosure agreements);

\r\n

User Content that may violate or infringe any patent, trademark, trade secret, copyright, right of publicity or other intellectual property, content, or proprietary right of any party. By posting User Content, you represent and warrant that you have the lawful right to transmit, distribute, reproduce, and display such User Content;

\r\n

User Content that falsifies or deletes another’s attributions, legal notices or proprietary designations;

\r\n

User Content that impersonates any person or entity (including, without limitation, a director, officer, employee, shareholder, agent or representative of the Company or a celebrity) or falsely states or otherwise misrepresents your affiliation with the Company, or any other person or entity;

\r\n

Unsolicited or unauthorized advertising, campaign or promotional materials, junk mail, spam, chain letters, pyramid schemes or other forms of commercial solicitation and any materials that promote spyware, malware and downloadable items;

\r\n

Private information of any other party, including, without limitation, phone numbers, postal addresses, email addresses, social security information, credit and debit card information, and other financial institution account information;

\r\n

User Content “stalking” or otherwise harassing another user of the Service or an employee of the Company. This may include, but is not limited to harassing, threatening, embarrassing, or doing anything else that is unwanted, such as repeatedly sending unwanted messages or making personal attacks or statements about race, sexual orientation, religion, heritage, etc.;\r\n

\r\n

User Content that disrupts the Service or the servers or networks connected to the Service or collects or stores or attempts to collect or store passwords, user Account information, or other personal data about users of the Service;

\r\n

Software viruses, corrupted data, or other harmful, disruptive or destructive software, computer code, files or programs; and\r\n User Content that, as determined by the Company in its sole discretion, is objectionable or which restricts or inhibits any person from using or enjoying the Interactive Features of the Service, adversely affects the availability of its resources to others (e.g., use of all capital letters or continuous posting of repetitive text), or may expose the Company or its users to any harm or liability of any type.\r\n

\r\n

You are solely responsible for your User Content and may be held liable for User Content you post. To the maximum extent permitted by law, the Company assumes no responsibility or liability for any User Content posted, stored or uploaded to the Service by you or any third party, for any loss or damage thereto, or for any failure to or delay in removing such User Content, nor is the Company liable for any mistakes, defamation, slander, libel, omissions, falsehood, obscenity, pornography or profanity you may encounter.

\r\n

Although the Company has no responsibility for the contents of any User Content posted through any Interactive Features, you agree to grant the Company the unrestricted, unconditional, unlimited, worldwide, irrevocable, royalty-free, non-exclusive, irrevocable right and license to use, exhibit, broadcast, copy, reproduce, publish, distribute, encode, compress, encrypt, incorporate data into, edit, rebroadcast, transmit, record, publicly display, publicly perform and create derivate works from or otherwise exploit in any manner whatsoever, all or any portion of your User Content to which you have contributed, for any purpose, in any and all media, now known or hereafter devised, throughout the world in perpetuity and without any compensation to you. You agree not to delete or revise any User Content posted by any other party.

\r\n

The Company reserves the right, and has absolute discretion, to remove, screen or edit any User Content posted or stored within the Service for any reason without notice. Any use of the Interactive Features or other portions of the Service in violation of the foregoing violates these Terms and Conditions of Use and may result in, among other things, termination or suspension of your Account or your rights to use the Interactive Features and/or the Service. You acknowledge and agree that the Company may access, use or disclose any information about you or your use of the Service, including, without limitation, any User Content, to comply with the law or any legal process, protect and defend the Company’s rights or property or to protect the safety of its employees, customers or the public.

\r\n

Please be aware that any User Content you post within the Service becomes public information, can be collected and used by others, and may result in your receipt of unsolicited messages from third parties. Accordingly, the Company discourages you from posting any personal information that can be used to identify or locate you, such as your addresses or phone number. IF YOU CHOOSE TO POST ANY PERSONALLY IDENTIFIABLE INFORMATION, YOU DO SO AT YOUR OWN RISK.

\r\n

7 Limited License to the Inzozilotto online platforms

\r\n

7.1. License Grant

\r\n

Subject to these Terms and Conditions of Use, the Company grants you a limited, non-exclusive and non-transferable license to (i) download, install and use the Company’s mobile application (“Inzozilotto App”) for your personal, non-commercial use on a mobile device owned or otherwise controlled by you (“Mobile Device”) strictly in accordance with these Terms and Conditions of Use and (ii) access and use the services made available in or otherwise accessible through the Inzozilotto App strictly in accordance with these Terms and Conditions of Use.

\r\n

7.2. License Restrictions

\r\n

You acknowledge and agree that you shall not:

\r\n

Copy the Inzozilotto App, except as expressly permitted by this license;

\r\n

Modify, translate, adapt or otherwise create derivative works or improvements, whether or not patentable, of the Inzozilotto App;

\r\n

Reverse engineer, disassemble, decompile, decode or otherwise attempt to derive or gain access to the source code of the Inzozilotto App or any part thereof;

\r\n

Remove, delete, alter or obscure any trademarks or any copyright, trademark, patent or other intellectual property or proprietary rights notices from the Inzozilotto App, including any copy thereof;

\r\n

Rent, lease, lend, sell, sublicense, assign, distribute, publish, transfer or otherwise make available the Inzozilotto App or any features or functionality of the Inzozilotto App, to any third party for any reason, including by making the Inzozilotto App available on a network where it is capable of being accessed by more than one Mobile Device at any time;

\r\n

Remove, disable, circumvent or otherwise create or implement any workaround to any copy protection, rights management or security features in or protecting the Inzozilotto App; or\r\n Use the Inzozilotto App in a manner prohibited by applicable laws or regulations, including, without limitation, in connection with any form of unlawful gambling.\r\n

\r\n

Use the Inzozilotto App in violation of these Terms and Conditions of Use or applicable law.

\r\n

Any such conduct may result in the immediate termination of your Account as well as your limited right and license to the Inzozilotto App, and may subject you to liability for violations of law.

\r\n

7.3. Reservation of Rights

\r\n

You further acknowledge and agree that the Inzozilotto App is provided under license, and not sold, to you. You do not acquire any ownership interest in the Inzozilotto App under these Terms and Conditions of Use, or any other rights thereto other than to use the Inzozilotto App in accordance with the license granted, and subject to all terms, conditions and restrictions under these Terms and Conditions of Use. The Company and its licensors and service providers reserve and shall retain their entire right, title and interest in and to the Inzozilotto App, including all copyrights, trademarks and other intellectual property rights therein or relating thereto, except as expressly granted to you in these Terms and Conditions of Use.

\r\n

7.4. Updates

\r\n

From time to time, the Company may in its sole discretion develop and provide Inzozilotto App updates, which may include upgrades, bug fixes, patches and other error corrections and/or new features (collectively, including related documentation, “Updates”). Updates may also modify or delete in their entirety certain features and functionality. You agree that the Company has no obligation to provide any Updates or to continue to provide or enable any particular features or functionality. Based on your Mobile Device settings, when your Mobile Device is connected to the Internet either (i) the Inzozilotto App will automatically download and install all available Updates or (ii) you may receive notice of or be prompted to download and install available Updates.

\r\n

You acknowledge and agree that the Inzozilotto App or portions thereof may not properly operate should you fail to promptly download and install all Updates. You further agree that all Updates will be deemed part of the Inzozilotto App and be subject to these Terms and Conditions of Use.

\r\n

7.5. Mobile Device and Service Charges

\r\n

Certain features of the Inzozilotto App require communication with the Company’s servers, including, without limitation, Inzozilotto App downloads and Updates, which may consume and exceed your service provider’s data or minute allowance limits. You acknowledge and agree that you are solely responsible for any charges incurred with your data/mobile service provider as a result of the Inzozilotto App, including any overage and penalties assessed for exceeding the limits imposed by your service provider.

\r\n

You are responsible for the cost of your Mobile Device and to ensure that your Mobile Device meets the system requirements of the Inzozilotto App, including obtaining periodic updates or upgrades from your Mobile Device service provider to continue using the Inzozilotto App. THE COMPANY DOES NOT WARRANT OR GUARANTEE THAT THE INZOZILOTTO APP WILL BE COMPATIBLE OR FUNCTION WITH ANY PARTICULAR MOBILE DEVICE, NOR DOES THE COMPANY WARRANT OR ACCEPT ANY LIABILITY FOR OPERATION OF THE MOBILE DEVICE USED TO ACCESS THE INZOZILOTTO APP.

\r\n

7.6. Term and Termination

\r\n

The term of your limited license to the Inzozilotto App commences when you download the Inzozilotto App and accept these Terms and Conditions of Use and will continue in effect until the earlier of (i) your deletion of the Inzozilotto App from your Mobile Device or (ii) the Company’s termination of your limited license to the Inzozilotto App and/or termination of your Account. Upon termination (i) all rights granted to you under these Terms and Conditions of Use will also terminate and (ii) you must cease all use and delete all copies of the Inzozilotto App from your Mobile Device. Termination of your limited license will not limit any of the Company’s rights or remedies at law or in equity.

\r\n

8 Other Intellectual Property Rights

\r\n

8.1. Copyright Information and Non-Commercial Use Limitation

\r\n

The Service and its contents, features and functionality, including but not limited to, all information, products, services, text, displays, graphics, video, audio and software as well as the design, selection and arrangement thereof (collectively, “Content”), are owned by the Company, its licensors or other providers of such material and are protected by the Laws of the Republic of Rwanda.

\r\n

These Terms and Conditions of Use permit you to use the Service for your personal, non-commercial use only. You must not reproduce, distribute, modify, create derivative works of, publicly display, publicly perform, republish, download, store or transmit any of the Content on the Service, except as follows:

\r\n

Your computer may temporarily store copies of such Content in RAM incidental to your accessing and viewing those materials.

\r\n

You may store files that are automatically cached by your Web browser for display enhancement purposes.

\r\n

If we provide social media features with certain Content, you make take such actions as are enabled by such features.

\r\n

You must not:

\r\n
    \r\n
  • Modify copies of any Content from the Service.
  • \r\n
  • Delete or alter any copyright, trademark or other proprietary rights notices from copies of Content from the Service.
  • \r\n
\r\n

You must not access or use for any commercial purposes any part of the Service or any Content available through the Service.

\r\n

8.2. Trademarks

\r\n

The Company name, the Company logo and all related names, logos, product and service names, designs and slogans are trademarks of the Company or its affiliates or licensors. You must not use such marks without the prior written permission of the Company. All other names, logos, product and service names, designs and slogans are the trademarks of their respective owners.

\r\n

9. General Information

\r\n

9.1. Changes to the Terms and Conditions of Use

\r\n

We reserve the right to change these Terms and Conditions of Use at any time without prior notice to you. If these Terms and Conditions of Use are modified, we will update the “Last Modified Date” and such changes will be effective upon posting. If we make what we determine to be material changes to these Terms and Conditions of Use, we will notify you by prominently posting a notice or by sending a notice to the email addresses on file. It is your obligation to provide us with notice of any change to your email address by sending us notice immediately to support@inzozilotto.rw. Your continued use of the Service following such material changes requires your affirmative consent to the changes. If you do not agree to the changes, your sole remedy is to cease using the Service and provide written notice of same to support@inzozilotto.rw. We will automatically delete your Account and return any funds remaining in your Account, unless you instruct us otherwise. You are expected to check this page each time you access this Service so you are aware of any changes, as they are binding on you.

\r\n

9.2. Disclaimer of Warranties

\r\n

YOUR USE OF THE SERVICE, ITS CONTENT AND ANY ITEMS OBTAINED THROUGH THE SERVICE IS AT YOUR OWN RISK. THE SERVICE, ITS CONTENT AND ANY ITEMS OBTAINED THROUGH THE SERVICE ARE PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS, WITHOUT ANY WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY WARRANTY OR REPRESENTATION WITH RESPECT TO THE COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY OR AVAILABILITY OF THE SERVICE, ITS CONTENT OR ANY ITEMS OBTAINED THROUGH THE SERVICE. WITHOUT LIMITING THE FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE SERVICE, ITS CONTENT OR ANY ITEMS OBTAINED THROUGH THE SERVICE WILL BE ACCURATE, COMPLETE, USEFUL, RELIABLE, ERROR-FREE OR UNINTERRUPTED, THAT THE SERVICE, ITS CONTENT OR ANY ITEMS OBTAINED THROUGH THE SERVICE WILL OPERATE IN THE CONFIGURATION OR WITH THE HARDWARE OR SOFTWARE YOU USE, THAT DEFECTS WILL BE CORRECTED, THAT THE SERVICE OR THE SERVER THAT MAKES IT AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS OR THAT THE SERVICE OR ANY ITEMS OBTAINED THROUGH THE SERVICE WILL OTHERWISE MEET YOUR NEEDS OR EXPECTATIONS. THE INFORMATION IN THE SERVICE MAY BE OUT OF DATE, AND THE COMPANY MAKES NO COMMITMENT TO UPDATE SUCH INFORMATION.

\r\n

THE COMPANY HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR PARTICULAR PURPOSE. THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.

\r\n

9.3. Limitation on Liability

\r\n

YOUR ACCESS TO AND USE OF THE SERVICE, ITS CONTENT AND ANY ITEMS OBTAINED THROUGH THE SERVICE IS AT YOUR OWN RISK. IN NO EVENT WILL THE COMPANY, ITS AFFILIATES, LICENSORS AND SERVICE PROVIDERS, AND ITS AND THEIR RESPECTIVE OFFICERS, DIRECTORS, MANAGERS, EMPLOYEES, SHAREHOLDERS, CONTRACTORS, AGENTS, REPRESENTATIVES, LICENSORS, SUPPLIERS, SUCCESSORS AND ASSIGNS (COLLECTIVELY, THE “RELEASED PARTIES”) BE LIABLE TO YOU OR ANY THIRD PARTY FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR ACCESS, USE, OR INABILITY TO USE, THE SERVICE, ANY SITES LINKED TO IT, ANY CONTENT ON THE SERVICE OR SUCH OTHER ITEMS OBTAINED THROUGH THE SERVICE, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF REVENUE, LOSS OF PROFITS, LOSS OF WINNINGS, LOSS OF BUSINESS OR ANTICIPATED SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF CONTRACT OR OTHERWISE, EVEN IF FORESEEABLE. THE RELEASED PARTIES ASSUME NO LIABILITY OR RESPONSIBILITY FOR ANY ERRORS OR OMISSIONS IN THE CONTENT OF THE SERVICE OR FOR ANY DAMAGES TO OR INTERFERENCE WITH EQUIPMENT, MOBILE DEVICES, PROGRAMS, FILES, OR OTHER PROPERTY, WHETHER SUCH DAMAGES ARE RELATED TO ACCESS OR USE OF THE SERVICE OR ANY SITES LINKED TO IT.

\r\n

FURTHER, IN NO EVENT SHALL THE COMPANY BE LIABLE FOR FAILURE OR DELAY IN PERFORMING AN OBLIGATION UNDER THESE TERMS AND CONDITIONS OF USE, INCLUDING BUT NOT LIMITED TO PURCHASING LOTTERY TICKETS OR COLLECTING WINNINGS, IF IT IS PREVENTED FROM DOING SO BY CAUSES BEYOND ITS CONTROL SUCH AS A FORCE MAJEURE EVENT OR THE ACTIONS OF THE GOVERNMENT OR GOVERNMENT DIRECTIVE.

\r\n

EXCEPT AS PROVIDED OTHERWISE IN THESE TERMS AND CONDITIONS OF USE, YOUR SOLE REMEDY FOR DISSATISFACTION WITH OR DAMAGE SUSTAINED IN CONNECTION WITH THE SERVICE OR THE CONTENT OFFERED THEREON IS TO STOP USING THE SERVICE. YOUR PERMISSION TO USE THE SERVICE MAY AUTOMATICALLY TERMINATE WITHOUT NOTICE AT THE COMPANY’S SOLE DISCRETION.

\r\n

10. Indemnification

\r\n

You agree to defend, indemnify and hold harmless the Released Parties from and against any claims, liabilities, damages, judgments, awards, losses, costs, expenses or fees (including reasonable attorneys’ fees) arising out of or relating to your violation of these Terms and Conditions of Use or your use of the Service, including, but not limited to, any use of the Service’s Content and products other than as expressly authorized in these Terms and Conditions of Use or your use of any information obtained from the Service. If you are obligated to provide indemnification hereunder, the Company may, in its sole and absolute discretion, control the disposition of any claim at your sole cost and expense. Without limitation of the foregoing, you will not settle, compromise or in any other manner dispose of any claim without the Company’s written consent. If you are obligated to provide indemnification hereunder, the Company may withhold any payment it is otherwise required to make to you to offset your indemnity obligations.

\r\n

11. Governing Law and Dispute Resolution

\r\n

Inzozilotto strictly adheres to Rwandan Constitution of 2015 as revised up to date and is compliant with the Law on Prevention and Punishment of Cyber Crimes of 2018, law governing money laundering of 29/01/2020, the Law governing Information and Communication Technologies of 2016, and the Rwandan Penal Code of 2018. Any offences committed under any law during the use of this Agreement, shall be reported to the relevant Authorities as required by the law.

\r\n

All matters relating to the Company, the Service, these Terms and Conditions of Use and any dispute or claim arising therefrom or related thereto (in each case, including non-contractual disputes or claims), shall be governed by and construed in accordance with the laws of the Republic of Rwanda by the Competent courts located in the City of Kigali.

\r\n\r\n

12. Tax Obligation

\r\n

You acknowledge that you are responsible to report your income and pay any taxes due to the appropriate authorities. You further acknowledge that an applicable Lottery organization may retain a portion of your winnings and forward it to the appropriate taxing authority on your behalf. All winnings on inzozilotto are subject to 15% Tax

\r\n

13. Electronic Signatures

\r\n

Acceptance of these Terms of Service constitute a valid contract under Article 158 of the Law N°24/2016 of 18/06/2016 governing Information and Communication Technologies in Rwanda. Should you enter into an online user agreement with the Company, you will not be required to submit a paper application/agreement. The entire agreement between you and the Company will be evidenced by an electronic record. You must agree to the use of an electronic record and agree to read and understand these Terms and Conditions of Use

\r\n

14. Waiver and Severability

\r\n

No waiver of by the Company of any term or condition set forth in these Terms and Conditions of Use shall be deemed a further or continuing waiver of such term or condition or a waiver of any other term or condition, and any failure of the Company to assert a right or provision under these Terms and Conditions of Use shall not constitute a waiver of such right or provision.\r\n If any provision of these Terms and Conditions of Use is held by a court or other tribunal of competent jurisdiction to be invalid, illegal or unenforceable for any reason, such provision shall be eliminated or limited to the minimum extent such that the remaining provisions of the Terms and Conditions of Use will continue in full force and effect.\r\n

\r\n

15. Assignment

\r\n

The Company may assign its rights and obligations under this Agreement, in whole or in part, to any person or entity at any time without notice to you and without your consent. Upon such assignment, the Company may be relieved of any further obligation hereunder. You may not assign or delegate any rights or obligations under these Terms and Conditions of Use without the Company’s prior written consent, and any unauthorized assignment and delegation by you is void and ineffective.

\r\n

16. Relationship of Parties

\r\n

You acknowledge and agree that no joint venture, partnership, or employment relationship exists between you and the Company as a result of these Terms and Conditions of Use or your use of the Service. You agree not to hold yourself out as representative, agent, operator, distributor, or employee of the Company and the Company shall not be liable for any of your representations, acts, or omissions. You also acknowledge and agree that, except as otherwise expressly provided in these Terms and Conditions of Use, there shall be no third-party beneficiaries.

\r\n

17. Force Majeure

\r\n

The Company shall not be liable for any delay or failure to perform resulting from unforeseen circumstances or causes outside its reasonable control, including, without limitation, extreme weather and other acts of God, natural catastrophes, war, terrorism, riots, embargoes, acts of civil or military authorities, fire, floods, accidents, network infrastructure failures, computer viruses strikes, or shortages of transportation facilities, transportation stoppages or slowdowns, and stoppage or slowdown of the Internet or other networks (each, a “Force Majeure Event”).

\r\n

18. Privacy & Data Protection

\r\n

Click here to see our full privacy policy

\r\n

19. Cookies

\r\n

Click here to see our full cookies policy

\r\n

20. Entire Agreement

\r\n

These Terms and Conditions of Use, our Privacy Policy and any applicable Limited Power of Attorney constitute the sole and entire agreement between you and the Company with respect to the Service and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Service. Nothing in the Terms and Conditions of Use, express or implied, shall be deemed to confer any rights or remedies upon, nor obligate any of the parties hereto, to any person or entity other than such parties, unless so stated to the contrary.\r\n

\r\n
\r\n :\r\n
\r\n

Amategeko n’Amabwiriza

\r\n

Intangiriro

\r\n

Murakaza neza kuri http://carousel.rw ari cyo kigo rukumbi cyemerewe gukoresha no kugenzura imikino ya tombola ku rwego rw’igihugu, kikaba ari ikigo cyahawe uburenganzira na minisiteri y’ubucuruzi n’inganda ifite iimikino mu nshingano zayo. https://www.minicom.gov.rw

\r\n

Amabwiriza akurikira agenga imikoreshereze ya https://inzozilotto.rw/ hakubiyemo ibyanditswe byose, tekinoloji na serivisi zose zigurishwa na Carousel cyangwa se zitangirwa ku rubuga rwa https://inzozilotto.rw/ ndetse n’izindi mbuga zose zakoreshwa mu gusakaza no kwamamaza serivisi za Inzozi Lotto.

\r\n

Icyitonderwa: Urasabwa gusoma witonze aya mabwiriza kuko kutayakurikiza byakuviramo gukurikiranwa mu mategeko. Inzozi Lotto igenzurwa ku bufatanye hagati ya Carousel Ltd na guverinoma y’u Rwanda. Mu gihe utemeranya n’aya mabwiriza, usabwe kudakoresha izi serivisi.

\r\n

Imbonerahamwe y’ibirimo

\r\n

1. Kwemeranya ku mabwiriza y’imikoreshereze

\r\n

Mu gihe ukinnye cyangwa uguze itike ya tombola unyuze ku rubuga rwacu, ku mbuga nkoranyambaga, ku bafatanyabikorwa bacu, ku ba ajenti cyangwa se ahandi hagurishirizwa ibicuruzwa bya Inzozi Lotto, washyize aplikasiyo ya inzozilotto.rw kuri telephone yawe cyangwa se ukemeranya n’amabwiriza agenga iyi mikino, uraba wemeye ko wasomye neza kandi wasobanukiwe aya mabwiriza. Uraba wemerewe kuba wakoresha serivisi zose dutanga. Niba utifuza kuba wakurikiza aya mabwiriza, usabwe kudakoresha izi serivisi. Mu gihe utemeranya n’aya mabwiriza kandi ntabwo wemererwa gufunguza konti cynagwa se gukoresha serivisi.

\r\n

2.\tAmategeko rusange, amabwiriza n’imikorere

\r\n

2.1.\tIbisabwa

\r\n

Kugirango wemererwe gufunguza konti cyangwa gukoresha serivisi ugomba kuba wujuje imyaka 18 y’amavuko, kuba wemererwa n’amategeko ya repubulika y’u Rwanda kuba wakoresha serivisi kandi buri gihe ukaba ugendera ku mabwiriza agenga serivisi.

\r\n

Niba utuye ahantu usabwa kuba urengeje imyaka 18 y’amavuko kugirango ukoreshe serivisi, urasabwa gukurikiza amategeko y’ako gace uherereyemo. Niba utujuje ibi bisabwa ntabwo wemerewe gukoresha serivisi. Sosiyete ifite uburenganzira bwo gusuzuma imyaka ufite n’ibikuranga kugirango yizere neza ko wemerewe gukoresha serivisi. Mu gihe unyuranije n’amabwiriza ya sosiyete, konti yawe ishobora gufungwa burundu.

\r\n

Abakozi, abayobozi, abagenzuzi, abashoramari ndetse n’undi wese uhagarariye sosiyete cyangwa sosiyete z’abafatanyabikorwa n’abagize imiryango yabo (harimo ababyeyi, abashakanye, ababana n’abana) n’undi wese uba mu ngo zabo ntibemerewe gukoresha serivisi. Aba bose cyakoze bazajya bahabwa uburenganzira bwo gukoresha serivisi hagamijwe kugenzura imikorere n’uko abakiliya bakirwa n’izindi mpamvu zemejwe na sosiyete.

\r\n

Mu gihe ukoresheje serivisi uraba wemeje ko wabitekerejeho, ubifitiye ubushobozi kandi ubyemererwa n’amategeko. Sosiyete ntabwo yishingira uwemeye gukoresha serivisi mu mategeko kandi yitandukanije n’uwakwemeza ko sosiyete yishingira ukoresha serivisi. Ntabwo twifuza ko serivisi yakoreshwa n’umuntu uwo ari we wese uri gukurikiranwa mu nkiko ariyo mpamvu ibi bibujijwe by’umwihariko. Uremeza ko kuba serivisi ihari atari impamvu yatuma uyikoresha mu gihe uherereye mu gace itemerewe gukoreshwa. Sosiyete ifite uburenganzira bwo kwima serivisi umuguzi ku mpamvu zitandukanye.

\r\n

2.2.\tAmategeko agenga imikino

\r\n

Shakira ahanditse ‘’How to play’’ na ‘’Winning schemes’’ urebe uko wakoresha ibicuruzwa bitandukanye bya Inzozi Lotto.

\r\n

2.3.\tGukurikiza amabwiriza

\r\n

Urasabwa gukurikiza amabwiriza yari muri iyi nyandiko ndetse n’amategeko ayashingiyeho mu gihe ukoresheje serivisi. Ugomba kuba wujuje imyaka 18 y’amavuko kugirango ukoreshe serivisi. Aya mabwiriza akoreshwa gusa aho serivisi yemewe gutangwa. Ugomba kuba wizeye neza ko amategeko y’aho uherereye akwemerera gukoresha serivisi. Sosiyete yemerewe gufunga konti y’uyikoresha mu gihe byemejwe na Carousel Ltd ko imyitwarire ye idahwitse. Sosiyete yemerewe gufunga konti y’uyikoresha mu gihe imyirindoto yatanzwe atariyo cyangwa itagendanye n’amabwiriza agenga serivisi. Mu gihe ibihembo byatsindiwe hakoreshejwe konti itakurikije amategeko agenga serivisi, ibihembo bishobora kwamburwa uwabitsindiye.

\r\n

Usabwe kureba buri gihe niba imyirondoro yawe ihuye ndetse nta mpinduka zabayemo.

\r\n

2.4.\tKumenyesha impinduka

\r\n

TSosiyete ifite uburenganzira bwo guhindura serivisi nta nteguza. Sosiyete ndetse n’inyandiko zayo, amakuru, amafoto cyangwa amavidewo, ibicuruzwa, ibigize serivisi bishobora gusibwa cyangwa bigahindurwa igihe icyo aricyo cyose nta nteguza kandi sosiyete ishobora kuguhagarika gukoresha serivisi igihe icyo aricyo cyose.

\r\n

2.5.\tAmatike

\r\n

Amatike ya tombola ashobora kugurwa na buri wese wujuje imyaka 18 y’amavuko cyangwa uyirengeje kandi wemerewe n’amategeko kuba yasinya amasezerano. Niba uri munsi y’imyaka 18 y’amavuko, ushobora gukoresha urubuga rwacu cyangwa ugakoresha ibicuruzwa byacu uherekejwe n’umubyeyi.

\r\n

Amatike iyo atanzwe, umukinnyi ashobora kureba amakuru yose yerekeranye n’itike yaguze ku rubuga, kuri radiyo cyangwa se kuri televiziyo. Amakuru yerekeranye amatike ndetse azashyirwa ku rubuga rwa serivisi kugirango abakiniye mu matsinda babashe kuyageraho. Sosiyete kandi izabika amakuru ku matike yose yatsinze. Mu gihe hatanzwe amakuru atari yok u itike, umukinnyi ntiyemerewe kuba yarega sosiyete. Mu gihe hatanzwe amakuru atari yo ku matike, usabwa guhita ubimenyesha sosiyete kugirango hirindwe icyatuma sosiyete ishinjwa iryo kosa.

\r\n

Amatike ya Tombola agurishirizwa gusa ku ba ajenti babiherewe uburenganzira kandi agurishirizwa ku butaka bw’u Rwanda gusa hakoreshejwe imbuga zitandukanye. Amatike agurishirizwa ku mbuga za Carousel ndetse no ku ba ajenti babifitiye uburenganzira gusa ku byicaro bitandukanye byashyizweho. Ibyicaro byagurishirijweho amatike yatsinze bemerewe kuba bafite imyirindoro y’abatsinze.

\r\n

2.6.\tKwishyurwa no gukatwa

\r\n

Aho biteganywa n’itegeko, sosiyete yemerewe gukata amafaranga ku yatsindiwe.

\r\n

2.7.\tImikino ya Jackpot

\r\n

Amatike yatsinze mu mikino ya Quick Lotto na Impamo Jackpot ashobora kwishyurirwa gusa ku byicaro byagenwe cyangwa se ku mukozi wa tombola wahiswemo. Umukinnyi azamenyeshwa ko yatsinze hakoreshejwe email cyangwa se nimero ya telephone yatanze mu gihe yiyandikishaga cyangwa se yahinduye akurikije amabwiriza agenga serivisi. Umukinnyi azahabwa iminsi 30 kugirango asubize ubutumwa bumumenyesha ko yatsinze ndetse no gutanga ibindi bisobanuro bisabwa na sosiyete. Sosiyete izafasha uwatsinze kuba yabona ibihembo bye anyuze ku byicaro binyuranye bitanga serivisi cyangwa se ku cyicaro cya Carousel. Uremeza kandi ko imisoro cyangwa se andi mafaranga agenwa n’itegeko yakurwa ku bihembo mbere y’uko ubihabwa.

\r\n

2.8.\tIbihembo

\r\n

Ibindi bihembo byatsindiwe bidafatwa nka JACKPOT nabyo bitangwa hakurikijwe amategeko n’amabwiriza. Sosiyete izakumenyesha igihe cyose watsindiye ibihembo ndetse inagusobanurire uburyo wabihabwa.

\r\n

Mu gihe ibihembo watsindiye wenyine cyangwa mu itsinda birenze ibyantagwe ko bishobora gutsindirwa, sosiyete iguhereza igipapuro wuzuzaho ibisabwa ukagisubiza kugirango ubashe guhabwa ibyo bihembo watsindiye cyangwa se itsinda ryawe ryatsindiye.

\r\n

2.9.\tGusaba ibihembo ku badaherereye mu gihugu

\r\n

Mu gihe wiyemeje gukora urugendo rwo kuza gufata ibihembo byawe, wiyemeje ko ugomba kwiyishyurira ibisabwa byose kuri urwo rugendo harimo (i) pasiporo, visa, uburenganzira bwose busabwa kugirango wemererwe kwinjira mu gihugu harimo (i) itike y’urugendo, itike y’indenge, icumbi (iii) Kwiyishyurira ubwishingizi bw’ingendo (harimo ubwishingizi bwo kwivuza, ndetse n’ubwishingizi bw’imitungo igendanwa). Uremera ko mu gihe udashoboye kuba wakwiyishyurira ibyavuzwe haruguru byose bishobora gutuma utabasha kuba wabona ibihembo watsindiye. Uremera ko wirengeye icyabera mu rugendo cyose. Uremera ko Carousel Ltd nta nshingano n’imwe igufiteho mu gihe cyose wiyemeje gukora urwo rugendo. Ufite ubushobozi bwo kuba wasabi Carousel Ltd kugufatira ibihembo mu gihe ibi byose utabyujuje.

\r\n

2.10.\tUmubare ntarengwa wo kutarenza ugura

\r\n

Mu rwego rwo kubungabunga imitungo y’abatugana, birashoboka ko sosiyete yashyiraho umubare w’amafaranga ntarengwa yo gukoresha. Mu gihe uwo mubare wageze, nta bushobozi bwo kugura uba ufite kugeza nyuma y’amasaha 24 igikorwa giheruka cyo kugura cyabereye.

\r\n

2.11.\tIbice tombola itageramo

\r\n

Mu gihe ibyemerewe n’uguhagarariye mu mategeko, sosiyete yakwakira ibihembo watsindiye mu cyimbo cyawe biramutse ari ibishoboka. Uremera ko mu gihe sosiyete idashoboye kwakira ibihembo watsindiye mu cyimbo cyawe kubera impamvu zitandulanye nta burenganzira bwo kuyikurikirana ufite.

\r\n

Amtike ya tombola agurishwa gusa na sosiyete ndetse n’abandi yabihereye uburenganzira harimo aba ajenti. Ahandi wabona amatike ni ku mbuga zacu gusa. Ni inshingano zabo kwitegereza itike waguze kugirango urebe niba hari ibihembo watsindiye. Uremera ko sosiyete ifite mu nshingano zayo kuba yakumenyesha igihe cyose watsindiye ibihembo kandi ko mu gihe utaje gufata ibihembo byawe mu gihe ntarengwa cyagenwe, nta burenganzira ufite bwo kuba wakurikirana sosiyete, abakozi cyangwa se aba ajenti bayo kandi ko nta tegeko na rimwe rihana sosiyete, abakozi n’aba ajenti bayo mu gihe utasuzumye ko watsindiye ibihembo ngo ubyakire mu gihe cyagenwe.

\r\n

3.\t3.\tKwiyandikisha no gufunguza konti kuri Inzozilotto.rw

\r\n

3.1.\tIbisabwa mu kwiyandikisha

\r\n

Kugirango wiyandikishe, sura urubuga rwa inzozilotto.rw cyangwa se ushyire aplikasiyo ya InzoziLotto kuri telephone yawe cyangwa uhamagare *240# ukurikize amabwiriza. Urasabwa gutanga (i) Amazina yawe ndetse n’ibindi bikuranga birimo ariko bitarangirira ku ndangamuntu/pasiporo, nimeroya telephone, itariki y’amavuko, email, aho utuye ndetse n’uburyo bwo kwishyura wifuza kuzajya ukoresha.

\r\n

Wemeye gutanga imyirondoro yawe y’ukuri nk’uko bisabwa na serivisi yo kwiyandikisha (ii) Guhindura imyirondoro watanze mu gihe haba harabayemo impinduka. Byongeye, wemeye ko sosiyete yaguhamagara cyangwa se ikakwandikira kuri telephone cyangwa email igusaba guhamya koko ko imyirondoro watanze ari iya nyayo, mu rwego rwo kuvugurura amakuru yatanzwe ku baguzi bose cyangwa se gusubiza bimwe mu bibazo wakwibaza. Mu gihe wamaze gufunguza konti ntabwo ushobora guhindura amazina wafunguje ariko ushobora guhindura umubare w’ibanga ukabda ahanditse CHANGE PASSWORD. Ku bundi busobanuro, wahamagara umurongo watwandikira kuri support@inzozilotto.rw. Amakuru yose yakusanijwe azabikwa hakurikijwe amabwiriza yanditse mu mabwiriza agenga amakuru bwite. Mu gihe tuguhamagaye cyangwa se tukakwandikira ntusubize mu gihe kirenze iminsi 30,cyangwa se mu gihe sosiyete ikeka ko amakuru watanze atari ay’ukuri, dufite uburenganzira bwo gufunga konti yawe burundu, kugwatire amafaranga ari kuri konti ndetse no kutaguha serivisi iyo ariyo yose ahazaza.

\r\n

3.2.\tKubika ibanga

\r\n

Uremera kugira ibanga ku bikuranga byose bigaragara kuri konti yawe. Uzirengera ibikorwa byose bizakorerwa kuri konti yawe harimo abantu bose bazakoresha konti yawe wabahaye cyangwa utabahaye uburenganzira cynagwa se bazakoresha igikoresho cyose wifashisha ukoresha konti yawe. Mu gihe ukeka ko konti yawe nta mutekano ifite, ufite inshingano zo kubimenyesha sosiyete wohereza ubutumwa kuri support@inzozilotto.rw. Mu gihe wandikishije ibikuranga bishya ibyo wakoreshaga byose mbere bigirwa impfabusa. Mu gihe utamenyesheje sosiyete ko ukeka ko konti yawe idafite umutekano, ibikorwa byose bizakorerwaho bizanyuramo.

\r\n

3.3.\tKonti imwe

\r\n

Buri muntu wese yemerewe konti imwe. Mu gihe sosiyete imenye ko wafunguje konti irenze imwe ifite uburenganzira bwo guhita ifunga iyo konti, ikagumana amafaranga yose ariho, ndetse ikakwambura uburenganzira bwo kuba wagura indi tike n’ibihembo biyigenewe kandi ikaba yanakubuza kuba wakoresha serivisi zayo ahazaza.

\r\n

3.4.\tKonti ntiyimukanwa

\r\n

Konti yawe ntabwo yimukanwa. Nta mpamvu n’imwe ikwemerera kuba wabwira undi muntu ngo akoreshe konti yawe cyangwa se ngo uyimuhereze burundu mu buryo butemewe n’amategeko. Uzirengera undi muntu wese wakoresha konti yawe cyangwa se agakoresha igikoresha cyawe yishyura serivisi akoresheje konti yawe. Umuntu wese uzafatwa yarenze kuri aya mabwiriza azashyikirizwa inzego zibishinzwe kandi ahare amafaranga yose ari kuri konti ye. Sosisyete ntizishingira ibihombo byose uzagira bitewe n’uko undi muntu yakoresheje konti yawe.

\r\n

3.5.\tKwiyandukuza

\r\n

Kugirango wiyandukuze kandi ufunge konti yawe, watwandikira kuri email support@inzozilotto.rw. Numara gufungisha konti, amafaranga yawe yose azakurwaho kandi ifungwe burundu.

\r\n

3.6.\tKugira ibikoresho byabugenewe

\r\n

Usabwe kuba ufite ibikoresho byabugenewe kugirango ubashe kuba wakoresha serivisi harimo telephone cynagwa se mudasobwa (nk’uko byavuzwe ku murongo wa 7.1) bizakorohera kugirango ubashe gukoresha serivisi. Uzishingira ikiguzi cyose kijyanye no gukoresha murandasi n’ama inite yose uzakoresha wohereza ubutumwa bugufi bwo mu bwoko bwa SMS, MMS ndetse n’andi ma inite yagendera mu gukoresha serivisi.

\r\n

4.0. Serivisi za Inzozi Lotto

\r\n

4.1. Amasezerano ku matike ya tombola

\r\n

Nk’umwe mu bakoresha serivisi, uzi kandi wemeranya n’ibi bikurikira:
\r\n Uri gukina ku bushake bwawe kandi waguze itike ku mpamvu zawe bwite.Uremera ko itangwa ry’ibihembo rigendera ku mategeko n’amabwiriza.Mu gihe itike ya tombola itsindiye ibihembo bisaba kwishyurwa ako kanya, sosiyete izishyuza mu cyimbo cyawe.Niba amabwiriza agaragaza ko ibyo bihabwa umuntu ku giti cye, umukozi wa sosiyete azakwishyuriza.Igihe cyose, kwishyuza bigomba gukorwa hakurikijwe amategeko n’amabwiriza.\r\n

\r\n

4.2. Ibyo ukoresha konti agomba kwiyemeza

\r\n

Mu gihe itike yakaswe, ntabwo wemerewe gufunga konti yawe kugeza igihe tombola ibereye. Ikindi kandi, mu gihe itike yamaze kugurwa ntabwo wemerewe kuyisubiza, kuyihinduza cyangwa se kuyikura muri sisiteme. Mu gihe tombola itabaye cyangwa se ikimurirwa ikindi gihe, sosiyete izamenyekanisha ikindi gihe tombola iteganijwe.

\r\n

4.3. Ibyavuye mu mikino n’andi makuru

\r\n

Agace kanditseho DRAW RESULTS kuri aplikasiyo kagaragaza amafaranga yatsindiwe ndetse n’imibare iheruka gutsinda ku mbuga zitandukanye harimo nka radiyo, televiziyo ndetse n’imbuga nkoranyambaga. Ni inshingano zawe kugenzura itike waguze ukamenyesha sosiyete uramutse watsindiye ibihembo.

\r\n

5.0. Amasezerano yo kwishyuza

\r\n

5.1. Kwishyura

\r\n

Ukoresha konti asabwa kwishyura anyuze ku ikofi (wallet) ya Inzizi Lotto ihabwa uwiyandikishije kugirango abashe gukina. Amafaranga iyo yamaze gushyirwa kuri iyo kofi ntabwo asubizwa.

\r\n

Niba ubwishyu bwawe butakunze, uzahabwa ubutumwa bubigaragaza kuri aplikasiyo cyangwa se kuri telephone/email. Mu gihe uburyo wahisemo kwishyura ukoresheje bwanze inshuro nyinshi, dushobora kuguhagarika kuba wakongera kubukoresha.

\r\n

TWIBUKIRANYE: Niba uburyo wahisemo kwishyura ukoresheje bwanze, uzuza kuri konti ubundi buryo wifuza gusimbuza wishyura. Mu gihe nta mafaranga yishyuwe, nta tike izagurishwa.

\r\n

5.2. Guhindura uburyo bwo kwishyura

\r\n

Niba wifuza guhindura uburyo ukoresha wishyura, nk’urugero guhindura ikarita ya banki usanzwe ukoresha, usabwa guhindura ibiranga iyo karita wari warujuje muri konti mbere ukabisimbuza ibiri kuri iyo karita nshya wifuza gukoresha.

\r\n

5.3. Kubungabunga umutekano wa konti

\r\n

Nemereye sosiyete ndetse n’abaterankunga bayo kuba basuzuma konti yanjye igihe cyose bibaye ngombwa. Ibi bikaba bizajya bikorwa mu rwego rwo kubungabunga umutekano wanjye na konti yanjye no kwirinda ibikorwa bya forode byaba ku ikariya yanjye ya banki. Ndahamya ko arinjye nyirikarita kandi ko nemerewe kuba nakora aya masezerano na carousel.rw. Ndemera kuba narenganura carousel.rw haramutse hagize ikibazo kivuka bitewe n’iki cyemezo. Aya masezerano ntiyimukanwa kandi akorwa na nyiri konti ubwe.

\r\n

6.0. Serivisi na site z’abafatanyabikorwa

\r\n

Niba wiyemeje gukoresha serivisi cyangwa se site z’abafatanyabikorwa, turakuburira ko bagendera ku mabwiriza n’amategeko yabo bwite. Ntabw tuzirengera serivisi iyo ariyo yose batanga ndetse nuko bakusanya cyangwa basakaza amakuru hagati yawe na bo.

\r\n

Uremera ko sosiyete nta ruhare ifite kuri serivisi uzahabwa. Sosiyete kandi ntabwo izirengera ibihombo ibyo aribyo byose bizava mu kwemera gukoresha izo site cyangwa serivisi zitangirwaho cyangwa se mu gukurikiza amategko, amabwiriza ajyanye n’izo serivisi.

\r\n

Mu rwego rwo koroshya serivisi, sosiyete ishobora gutanga imbuga wowe cyangwa se abanda bakoresha serivisi mushobora kuganiriraho n’izo site z’abafatanyabikorwa. Sosiyete ntabwo izirengera ibyo wowe cyangwa abanda bakoresha izo mbuga bazandikaho ndetse ntabwo izirengera kuba amakuru yatanzwe ari ay’ukuri cyangwa se Atari ay’ukuri. Ufite uruhare rusesuye mu kumenyekanisha amakuru ya nyayo ndetse no kumenya ko amakuru yatanzwe kuri izo mbuga abereye.

\r\n

Ufite uruhare kandi rusesuye mu gukoresha izo mbuga kandi uzirenegera icyaba cyose.

\r\n

Mu gihe wiyemeje gukoresha izo mbuga wiyemeje kutazandika, ngo usakaze cyangwa se wohereze ibi bikurikira:

\r\n

Ubutumwa, amakuru, inyandiko cyangwa se ibindi binyuranije n’amategeko, bisebya, by’urukozasoni, byagira ingaruka ku batujuje imyaka 18, bituka, bisebetse, bihohotera, byibasira ubuzima bw’undi, bibiba urwango, birimo forode cyangwa se ibindi bitemewe (nk’uko amategeko agenga sosiyete abivuga)

\r\n

Ubutumwa ubwo aribwo bwose bwashishikariza abandi kwishora mu cyaha, guhohotera umuntu uwo ariwe wese cyangwa kwica amategeko yo mu gihugu cyangwa yo ku rwego mpuzamahanga.

\r\n

Ubutumwa utemerewe gutambutsa bitewe n’uko biteganwa n’itegeko cyangwa se byanditse muri kontaro wasinye, amabanga y’akazi ndetse n’andi masezerano asaba kugira ibanga.

\r\n

Ubutumwa ubwo aribwo bwose bushobora guhonyora ipatanti iyo ariyo yose, ibanga ry’ubucuruzi, uburenganzira bwo kumenyekanisha. Mu kwandika ubutumwa ubwo aribwo bwose wiyemeje ko ufite uburenganzira busesuye bwo kubutanga, kubusakaza, no kubwohereza.

\r\n

Ubutumwa bubeshya cyangwa busiba inshingano z’undi muntu.

\r\n

Ubutumwa bugamije kwiyitirira undi muntu (harimo diregiteri, umu ofisiye, umukozi, umunyamigabane, umu ajenti, uhagarariye sosiyete cyangwa se icyamamare) cyangwa se bubeshya icyo upfana na sosiyete cyangwa undi muntu.

\r\n

Kwamamaza mu buryo butemewe, ubutumwa bugamije forode ikorerwa kuri murandasi ndetse n’ubundi buriganya bukorerwa mu bucuruzi.

\r\n

Amakuru bwite y’undi muntu harimo nimero za telefoni, agasanduku k’iposita, email, imibare yo ku ikarita ya banki ndetse n’izindi konti zishyurirwaho.

\r\n

Ubutumwa butoteza cyangwa buneka ukoresha serivisi cyangwa se umukozi wa sosiyete. Aha hakubiyemo gutoteza, gutera ubwoba, gukoza isoni cyangwa se ibindi byose bidakenewe nko kohereza ubutumwa undi atifuza, kugaba ibitero cyangwa amacakubiri ashingiye ku bwoko, ku gitsina, ku idini no ku murage.

\r\n

Ubutumwa bubangamira itangwa rya serivisi cyangwa se imiyoboro ikoreshwa mu gutanga serivisi cyangwa se bugamije kwiba amakuru arimo imibare y’ibanga, amakuru ya konti ndetse n’andi makuru yatanzwe n’abakoresha serivisi.

\r\n

Ubutumwa burimo virusi cyangwa bugamije gusenya ibikorwa biri kuri za mudasobwa cyangwa bubangamira abakoresha serivisi bukaba bwababuza gukoresha serivisi zirimo izo kuvugana na ba nyiri serivisi cyangwa bubuza abakoresha serivisi kuyigeraho ( harimo kwandika ubutumwa mu nyuguti nkuru gusa cyangwa gusubiramo ubutumwa inshuro nyinshi cyane) cyangwa bwateza ingaru sosiyete n’abakoresha serivisi mu buryo ubwo aribwo bwose.

\r\n

Wishingiye ubutumwa bwose wandika cyangwa wohereza. Nk’uko itegeko ribiteganya, sosiyete ntizishingira ubutumwa bwose bwoherejwe cyangwa bubitswe n’ukoresha serivisi cyangwa se site z’abafatanyabikorwa, ibohombo byose bwatera cyangwa se kutabasha gukuraho ubwo butumwa mu gihe cyagenwe kandi ntabwo sosiyete izishingira ubutumwa bwose bugamije gusebanya, gutukana, kubeshya, burimo urukozasoni, poronogarafi cyangwa irindi sebanya iryo ariryo ryose.

\r\n

N’ubwo sosiyete itazishingira ubutumwa bwose buzoherezwa, uremera kuyihereza uburenganzira busesuye kandi budasubirwaho bwo kugaragaza, kwandukura, gutangaza, gusakaza, kugaragaza mu ruhame no gushingira kuri ubwo butumwa hatangwa ubundu kandi nta kiguzi. Uremera kandi kutazasiba cyangwa se ngo uhindure ubutumwa bwanditswe n’undi muntu.

\r\n

Sosiyete ifite uburenganzira bwo gukuraho, gufotora cyangwa guhindura ubutumwa bwanditswe n’ukoresha serivisi cyangwa se bubitse nta nteguza. Igihe cyose imbuga zikoreshwa mu kohereza ubutumwa no kuvugana na ba nyiri serivisi zikoreshejwe hadakurikijwe ibyavuzwe haruguru, bishobora kuviramo nyiri konti kuba iyo konti yasubikwa cyangwa se igafungwa burundu. Uremera kuba sosiyete yagera ku makuru watanze, ikaba yayakoresha cyangwa ikayatanga, kubahiriza amategeko n’amabwiriza ya leta, guharanira kubungabunga inyungu za sosiyete cyangwa se imitungo yayo ndetse no guharanira umutekano w’abakozi, abakoresha serivisi n’abantu bose muri rusange.

\r\n

Turakumenyesha kandi ko ubutumwa bwose wanditse ku mbuga za serivisi bubonwa na buri wese kandi bushoboroa gufatwa no gukoreshwa n’abandi bantu bikaba byatuma ubona ubutumwa buturutse ku zindi sosiyete. Hagendewe kuri ibi, sosiyete iragushishikariza kwirinda kuba wakwandika cyangwa wasakaza amakuru yawe bwite ashobora kuba yatuma umuntu amenya aho utuye cyangwa uherereye nka aderesi cyangwa se nimero za telephone. NIBA WIYEMEJE GUSAKAZA AMAKURU YAWE BWITE, UZIRENGERA IBIZABA BYOSE.

\r\n

7.0 Uruhushya rwo gukoresha imbuga za Inzozi Lotto

\r\n

7.1. Guhabwa uruhushya

\r\n

Hashingiwe ku mategeko n’amabwiriza yavuzwe haruguru, sosiyete iguhaye uruhushya rudasubirwaho kandi rutimukanwa rwo (i) gutunga no gukoresha aplikasiyo yo kuri telephone (Inzozi Lotto app) ku mpamvu zawe bwite, zitari izubucuruzi kuri telefone utunze cyangwa se ugenzura nk’uko biteganwa n’amategeko n’amabwiriza agenga serivisi, (ii) Kuba wabona ndetse ukanakoresha serivisi zose zitangirwa kuri aplikasiyo ya Inzozi Lotto nk’uko biteganywa n’amategeko n’amabwiriza.

\r\n

7.2. Ibyo utagomba gukoresha uru ruhushya

\r\n

Urahamya kandi uremera ko:

\r\n

Utazigana aplikasiyo ya Inzozi Lotto cyeretse mu gihe ubyemererwa by’umwihariko n’uru ruhushya

\r\n

Ko utazahindura, ugashyira mu rundi rurimi, cyangwa se ugahimba indi aplikasiyo ugendeye kuri iyi kandi ko utazaca ku mpande ngo ube wakwigana ipatanti ya aplikasiyo ya Inzozi Lotto.

\r\n

Ko utazasenya, ngo wice cyangwa ugerageze kuvumbura ibigize aplikasiyo cyangwa se ngo ugerageze kumenya ibigize aplikasiyo mu mizi cyangwa ibice byayo.

\r\n

Ko utazakuraho, ugasiba, ugahindura cyangwa ugakora uburinganya bugamije kurenga ku mategeko agenga ipatanti ndetse n’inyandiko zitanga uburenganzira bwo gukora aplikasiyo ya Inzozi Lotto cyangwa ibice biyigize.

\r\n

Ko utazagurisha, ngo ukodeshe, ngo utize, ngo usakaze,ngo wamamaze cyangwa wimukane aplikasiyo uyishyira andi ma sosiyete harimo ama site aplikasiyo ya Inzozi Lotto yabasha kugerwaho na telefone nyinshi icyarimwe.

\r\n

Ko utazavanaho aplikasiyo, ngo uyikure ku murongo cyangwa ngo ukore uburiganya bugamije kurenga ku mategeko y’ipatanti cyangwa porogaramu zo kurinda aplikasiyo; cyangwa ngo ukoreshe aplikasiyo ya Inzozi Lotto mu buryo bunyuranije n’amategeko, harimo kuyikinisha urusimbi.

\r\n

Kurenga kuri ibi bivuzwe haruguru byakuviramo ko konti yawe ihagarikwa cyangwa igafungwa burundu ndetse ukaba wanakwamburwa uburenganzira bwo kuzongera gukoresha aplikasiyo ya Inzozi Lotto ndetse ukaba wanakurikiranwa mu nkiko.

\r\n

7.3. Uburenganzira duhabwa

\r\n

Uremera kandi ukanahamya ko aplikasiyo ya Inzozi Lotto uyihawe ku masezerano utayigurishwijeho. Nta nyungu n’imwe ituruka kuri aplikasiyo ya Inzozi Lotto ikugenewe nk’uko biteganwa mu mategeko n’amabwiriza, cyangwa se ubundi burenganzira ufite butari ugukoresha aplikasiyo ya Inzozi Lotto ugendeye ku mategeko n’amabwiriza. Sosiyete, abagenzuzi n’abatanga serivisi bafite uburenganzira busesuye n’ipatanti kuri aplikasiyo n’ibiyishamikiyeho byose nk’uko amategeko agenga imikoreshereze abigena.

\r\n

7.4. Impinduka

\r\n

Rimwe na rimwe, sosiyete ishobora kuvugurura aplikasiyo ya Inzozi Lotto, nko gukosora bimwe mu bituma itagenda neza (bugs, fixes, patches) ndetse n’amakosa arimo. Izi mpinduka zishobora gusiga bimwe mu bigize aplikasiyo bisibika cyangwa imwe mu mikorere ya aplikasiyo igahinduka. Uremera ko sosiyete nta nshingano ifite yo gukora izi mpinduka cyangwa se kuba yavugurura aplikasiyo. Bigendeye ku mikorere ya telefone yawe, mu gihe telefone izaba iri gukoresha murandasi, impinduka zashyizwe muri aplikasiyo zizajya zihita zijyamo. Ushobora kujya ubona ubutumwa bugusaba kwemeza ko izo mpinduka zajyamo.

\r\n

Urahamya ndetse ukanemera ko aplikasiyo ya Inzozi Lotto ishobora gutangira gukora nabi mu gihe utemeje ko izi mpinduka zikorwa kuri aplikasiyo cyangwa mu gihe utemeje impinduka zose zashyizwe muri aplikasiyo. Uremera kandi ko izo mpinduka zizaba zigize aplikasiyo ya Inzozi Lotto kandi zikazaba zikurikiza amategeko n’amabwiriza.

\r\n

7.5. Telefoni igendanwa n’mafaranga acibwa kuri serivisi

\r\n

Bimwe mu bigize aplikasiyo ya Inzozi Lotto bikoresha imiyoboro ya murandasi. Bimwe muri ibyo ni impinduka zavuzwe haruguru zishobora gutuma wakoresha ama inite arenze ayo wagenewe kuri serivisi z’itumanaho. Uremera ko uzirengera igiciro cy’ama inite yose azagendera mu gukoresha aplikasiyo ya Inzozi Lotto harimo n’ama inite uzakurwaho mu gihe warengeje pack waguze.

\r\n

Urishingira igiciro cyo kugura telefoni igezweho kandi ihura n’ibisabwa kugirango aplikasiyo ya Inzozi Lotto ikore neza ndetse n’ubutumwa bwa buri gihembwe bukwibutsa kwemeza impinduka zakozwe kuri aplikasiyo ya Inzozi Lotto. SOSIYETE NTABWO YIJEJE KO BURI TELEFONI IGENDANWA IZABA IKORANA NA APLIKASIYO YA INZOZI LOTTO CYANGWA SE NGO IBE IKORANA NA TELEFONI IGENDANWA RUNAKA KANDI NTABWO IZISHINGIRA TELEFONI IGENDANWA ITAZABASHA KUBA YAKORANA NA APLIKASIYO YA INZOZI LOTTO.

\r\n

7.6. Gusesa amasezerano

\r\n

Amategeko n’amabwiriza akubiye mu mikoreshereze ya aplikasiyo ya Inzozi Lotto azakomeza kugenderwaho kugeza igihe (i)usibye aplikasiyo muri telefone (ii)sosiyete ihagaritse amasezerano mwagiranye cyangwa se igafunga konti yawe ya Inzozi Lotto. Nyuma yo gusesa amasezerano (i) Uburenganzira bwose uhabwa bwanditse muri aya mabwiriza y’imikoreshereze nayo azahita arangira (ii) Ugomba rero kuzahita usiba burundu ndetse ukarekera no gukoresha aplikasiyo ya Inzozi Lotto kuri telefone yawe. Guseswa kw’amasezerano nta ngaruka n’imwe bizagira kuri sosiyete mu nkiko.

\r\n

8.0 Ubundi burenganzira butangwa mu ipatanti

\r\n

8.1. Amakuru ajyanye n’ipatanti n’ibibujijwe mu mikoreshereze itari iy’ubucuruzi

\r\n

Serivisi ndetse n’ibikubiyemo byose , amakuru, inyandiko, amafoto, amavidewo, amajwi ndetse na n’imiterere yayo n’uko ipanze n’uko iteguye ni ibya sosiyete, abagenzuzi ndetse n’abandi babyemerewe kandi irinzwe n’amategeko ya Repubulika y’u Rwanda.

\r\n

Aya mabwiriza n’amategeko akwemerera gukoresha serivisi ku giti cyawe ariko atari mu bijyanye n’ubucuruzi. Ntabwo wemerewe kuba wakwigana, ngo usakaze, uhindure cyangwa uhimbe ibindi bikorwa bisa nayo, ngo werekane, utunge cyangwa uhererekanye ibigize serivisi havuyemo ibi bikurikira:

\r\n

Mudasobwa yawe ishobora kujya ibika amakopi y’ibikorwa bya serivisi mu gasanduku ka RAM nyuma y’uko ukoresheje cyangwa se usuye bimwe mu bigize serivisi

\r\n

Ushobora kubika amadosiye ari ku ipaji wakoresheje.

\r\n

Ntabwo ugomba:

\r\n
    \r\n
  • Guhindura amakopi avuga ku bigize serivisi

  • \r\n
  • Gusiba cyangwa guhindura, kwigarurira ipatanti cyangwa uburenganzira bwahawe sosiyete ku mikoreshereze ya serivisi.

  • \r\n
\r\n

Nta na rimwe ugomba gukoresha serivisi cyangwa ibiyigize ugamije inyungu z’ubucuruzi.

\r\n

8.2. Ibirango

\r\n

Izina rya sosiyete, logo n’andi mazina agendanye na serivisi, logo, ibicuruzwa, imiterere ndetse n’insanganyamatsiko ni ibirango bya sosiyete, abatanyabikorwa ndetse n’abagenzuzi. Ntabwo wemerewe kuba wakoresha ibyo birango nta burenganzira wabiherewe. Andi mazina, logo, ibicuruzwa, amazina ya serivisi, imiterere n’isanganyamatsiko zitandukanye ni iby’aba nyir’ama serivisi atandukanye.

\r\n

9.0 Amakuru rusange

\r\n

9.1. Impinduka mu mategeko n’amabwiriza

\r\n

Duhabwa uburenganzira bwo kuba twahindura amategeko n’amabwiriza agenga serivisi igihe icyo aricyo cyose nta nteguza uhawe. Mu gihe amategeko n’amabwiriza bihinduwe, tuzashyiraho itariki byahinduriwe hanyuma ayo mategeko n’amabwiriza atangire gukurikizwa. Nituramuka dukoze impinduka twavuga ko zikomeye mu mategeko n’amabwiriza tuzabikumenyesha mbere mu nyandiko cyangwa iyo nyandiko yoherezwe kuri email watanze. Ni inshingano zawe kutumenyesha mu gihe wahinduye email yawe utwandikira kuri support@inzozilotto.rw. Gukomeza gukoresha serivisi nyuma y’uko izo mpinduka zigaragara zakozwe bigaragaza y’uko wemeranije nazo nta kabuza. Niba utemeranya n’impinduka zakozwe, igisubizo kirambye ni uguhagarika gukoresha serivisi ukabitumenyesha utwandikira kuri support@inzozilotto.rw. Tuzahita dusiba burundu konti yawe tugusubize n’amafaranga yari ari kuri konti usinye igihe uzabishaka ukundi. Usabwe kujya ureba kuri ino paji kugirango umenye niba hari impinduka zakozwe mu mikoreshereze ya serivisi kuko zikureba by’umwihariko.

\r\n

9.2. Guhakana garanti

\r\n

WISHINGIYE GUKORESHA SERIVISI N’IBIYIGIZE KANDI UKIRENGERA ICYABA CYOSE. SERIVISI, IBIYIGIZE NDETSE N’IKINDI KINTU WABA WARABONYE UKIVANYE MURI SERIVISI BITANGWA UKO BIRI KANDI NTIBISUBIZWA SOSIYETE, NTA GARANTI IYO ARIYO YOSE. YABA SOSIYETE CYANGWA SE ABAYIHAGARARIYE NTIBEMEREWE KUBA BATANGA GARANTI KU BYEREKERANYE NO KUBA SERIVISI YUZUYE, IFITE UMUTEKANO, IKORA NEZA CYANGWA IBONEKA IGIHE CYOSE, IBIYIGIZE CYANGWA SE IBITANGWA BYOSE BIVUYE KURI SERIVISI. NTA KUVUGURUZA IBYANDITSWE HARUGURU, YABA SOSIYETE CYANGWA UYIHAGARARIYE NTAWEMEREWE KUBA YATANGA GARANTI KO SERIVISI YUZUYE, IFITE UMUTEKANO, IKORA NEZA CYANGWA IBONEKA IGIHE CYOSE, IBIYIGIZE CYANGWA SE IBITANGWA BYOSE BIVUYE KURI SERIVISI CYANGWA SE KO SERIVISI IZAKORANA N’IKORANABUHANGA UKORESHA, KO AMAKOSA ARI MURI SERIVISI AZAKOSORWA, KO SERIVISI ITAZIGERA YANGA GUKORA CYANGWA SE KO NTA VIRUSI IBARIZWA KU MIYOBORO ITANGA SERIVISI CYANGWA SE KO SERIVISI MURI RUSANGE IZABA ARI NTAMAKEMWA KANDI IHUYE N’IBYO WIFUZA. AMAKURU ARI MURI SERIVISI ASHOBORA KUBA YARARENGEJE IGIHE ARIKO SOSIYETE NTABWO ITEGETSWE KUBA YAYAVUGURURA.

\r\n

SOSIYETE IHEREYEHO IHAKANA GARANTI IYO ARIYO YOSE, YABA IYANDITSWE CYANGWA IVUZWE, HAKUBIYEMO GARANTI KU BICURUZWA NDETSE N’IMIKORERE YA SERIVISI. IBI NTIBIKURAHO GARANTI ZIDASHOBORA GUKURWAHO CYANGWA SE ZITEGANYWA N’ITEGEKO.

\r\n

9.3. Ibyo kutarengwaho

\r\n

WISHINGIYE GUKORESHA SERIVISI N’IBIYIGIZE KANDI UKIRENGERA ICYABA CYOSE. NTA NSHURO N’IMWE SOSIYETE, ABAYIHAGARARIYE, ABAGENZUZI N’ABATANGA SERIVISI NDETSE N’ABAYOBOZI, ABOFISIYE, ABAKOZI, ABANYAMIGABANE, ABAFATANYABIKORWA, ABACURUZA SERIVISI ZABO KURI SOSIYETE BAZIRENGERA IBIHOMBO IBYO ARIBYO BYOSE WABA WARAKUYE MURI SERIVISI, MU KUYIKORESHA, KUTABASHA KUYIKORESHA, SITE ZIYISHINGIYEHO, AMAKURU WAKUYE KURI SERIVISI HARIMO IBIHOMBO WAGIZE KU GITI CYAWE CYANGWA IBISHOBORA GUTUMA WAHANWA N’ITEGEKO HARIMO GUKOMEREKA, KUBABARA, AGAHINDA, KUBA WATAKAZA AMAFARANGA, KUBA WATAKAZA INYUNGU, KUBA WATAKAZA IBIHEMBO, KUBA WATAKAZA BIZINESI CYANGWA AMAFARANGA WATEGANYAGA KWIZIGAMIRA , KUBA WATAKAZA AMAKURU AYO ARIYO YOSE, HAMWE NA KONTARO N’UBWO BYABA BYARAGARAGA MBERE. ABAVUZWE BOSE HARUGURU NTA NSHINGANO BAFITE KU MAKOSA CYANGWA IBIBURA MU MAKURU YATANZWE KURI SERIVISI CYANGWA SE KU BIBAZO YATERA KU MITUNGO HARIMO TELEFONE ZIGENDANWA, POROGARAMU, AMADOSIYE CYANGWA SE INDI MITUNGO, IBYO BIBAZO BYABA BYATEWE NO GUKORESHA SERIVISI CYANGWA SITE ZIYISHAMIKIYEHO.

\r\n

BYONGEYEHO, NTA NSHURO N’IMWE SOSIYETE IZABAZWA KUTABASHA KUBAHIRIZA INSHINGANO ZANDITSWE MURI AYA MATEGEKO N’AMABWIRIZA, HARIMO KUGURA AMATIKE YA TOMBOLA, GUSABA IBIHEMBO BYATSINDIWE, NIBA IBI BYOSE BYABAYE KU MPAMVU ZITAYITURUTSEHO KANDI ZIDASHOBORA GUHINDURWA NA SOSIYETE CYANGWA SE BIVUYE KU MATEGEKO CYANGWA AMABWIRIZA YATANZWE NA LETA.

\r\n

USIBYE AHO BIVUGWA UKUNDI MURI IYI NYANDIKO, IGISUBIZO KIRAMBYE CYO KUBA UTAKWISHIMIRA SERIVISI CYANGWA IBIHOMBO WAVANYE MU GUKORESHA SERIVISI NI UKUREKA KUYIKORESHA BURUNDU. UBURENGANZIRA WAHAWE BWO GUKORESHA SERIVISI SOSIYETE ISHOBORA KUBUKWAMBURA MU GIHE BIGENWE KO BIKWIYE.

\r\n

10. Kurenganura no kwishyura

\r\n

Uremera kurenganura, gutanga indishyi y’akababaro no kuvuganira impande zose zavuzwe haruguru ku bijyanye n’ibihombo, amafaranga yatakajwe (harimo n’ayo kwishyura ubahagarariye mu mategeko) biturutse ku kuba utubahirije amabwiriza n’amategeko agenga serivisi harimo uko serivisi ikoreshwa n’ibindi bikubiye mu mabwiriza y’imikoreshereze ya serivisi. Mu gihe usabwa gutanga indishyi y’akababaro, sosiyete ishobora ku ibanga ryayo kugenzura imiterere y’iyo ndishyi y’akababaro ku mufuka wawe. Mu gihe nta burenganzira bwanditse wabiherewe na sosiyete nta kikubuza kuba wareka kwishyura. Mu gihe utegetswe kwishyura indishyi y’akababaro, sosiyete ifite uburenganzira bwo kuba yafatira amafaranga yose igufitiye mu gihe cyose utarishyura iyo ndishyi.

\r\n

11. Amategeko agendanye no gukemura amakimbirane

\r\n

Inzozi Lotto yubahiriza byimbitse itegeko nshinga ryavuguruwe muri 2015 kandi igendera ku mategeko agamije kwirinda no guhana ibyaha bikorerwa ku mbuga za murandasi (cyber crimes) yo muri 2018, itegeko rigena kunyereza amafaranga ryo kuwa 29/01/2020, itegeko rigena amakuru na tekinoloji z’itumanaho ryo muri 2016, ndetse n’amategeko ari mu gitabo cy’amategeko ahana ibyaha cyo muri 2018. Ibyaha byose bizakorwa mu gihe aya masezerano yasinywe bizatangirwa ikirego ku nzego zibishinzwe.

\r\n

Ingingo zose zerekeranye na serivisi, amategeko n’amabwiriza cyangwa ikirego cyangwa impaka zizavuka (harimo ibirego n’impaka zitagendeye kuri kontaro) bizakemurwa nk’uko amategeko ya Repubulika y’u Rwanda abigena kandi bishyikirizwe inkiko zibifite mu nshingano mu mujyi wa Kigali.

\r\n

12. Imisoro yagenwe

\r\n

Uremera ko ugomba kuvuga amafaranga winjiza ukanishyura umusoro nk’uko itegeko ribigena. Uremera byongeyeho ko sosiyete izakura umusoro wagenwe ku bihembo byose uzatsindira mbere y’uko ubihabwa. Ibihembo byose byatsindiwe muri Inzozi Lotto byishyura umusoro wa 15%

\r\n

13. Umukino wa elegitoroniki

\r\n

Kwemeranya n’aya mategeko n’amabwiriza bikurikiza kontaro iri mu ngingo y’i 158 y’itegeko N°24/2016 ryo kuwa 18/06/2016 rigena amakuru na tekinoloji z’itumanaho mu Rwanda. Mu gihe ugiranye amasezerano na sosiyete, ntabwo uzasabwa kuzuza ibisabwa ku mpapuro. Amasezerano yose azakorwa mu buryo buri elegitoroniki. Ugomba kwemera gukoresha ubwo buryo buri elegitoroniki kandi ukemera gusoma no gusobanukirwa amategeko n’amabwiriza agenga imikoreshereze ya serivisi.

\r\n

14. Amabwiriza y’ikurwaho ry’inshingano n’ingaruka zabyo

\r\n

Nta kurwaho ry’inshingano bikozwe n’ikigo ku itegeko cyangwa ibwirizwa iryariryo ryose riri muri iyi mbonerahamwe y’amategeko n’amabwiriza agenga imikoreshereze rizafatwa nk’irikomeza kuri iryo tegeko cyangwa ibwiriza cyangwa ikurwaho ry’inshingano ry’irindi tegeko cyangwa ibwiriza, kandi kunanirwa ku ikigo kwemeza uburenganzira cyangwa ingingo ikubiye muri aya mategeko n’amabwiriza agenga imikoreshereze ntibizemeza ikurwaho ry’inshingano kuri ubwo burenganzira cyangwa ingingo.

\r\n

Igihe ingingo iyo ari yo yose yo muri aya mategeko n’amabwiriza agenga imikoreshereze izafatwa n’urukiko cyangwa izindi nkiko zibifitiye ububasha nk’itujuje ibisabwa, itemewe n’amategeko cyangwa idakurikizwa ku mpamvu iyo ari yo yose, iyo ngingo izakurwaho cyangwa igire aho igarukira ku ntera ntoya ku buryo ingingo zisigaye z’amategeko n’amabwiriza agenga imikoreshereze zizakomeza gukurikizwa nk’uko bikwiye.

\r\n

15. Ihererekanya

\r\n

Sosiyete ifite uburenganzira bwo guhererekanya inshingano zayo ku wundi muntu cyangwa ikigo igihe icyo aricyo cyose nta nteguza uhawe. Nyuma y’iryo hererekanwa, sosiyete izaba ikuweho inshingano zose zayrebaga. Nta burenganzira uhabwa bwo guhererekanya inshingano zawe cyangwa ibyo usabwa utabiherewe uburenganzira na sosiyete. Mu gihe ubikoze bitemewe bizateshwa agaciro.

\r\n

16. Umubano hagati y’abasinye amasezerano

\r\n

Urahamya kandi uremera ko nta bufantanyabikorwa, ubushuti cyangwa isano ry’akazi riri hagati yawe na sosiyete by’umwihariko ku bijyanye n’amategeko n’amabwiriza agenga imikoreshereze ya serivisi. Uremera kuzigera na rimwe wiyitirira ko uhagarariye, ko uri umu ajenti, utanga serivisi, cyangwa umukozi wa sosiyete kandi ko sosiyete itazishingira ibikorwa cyangwa ibinyoma byo muri ubwo bwoko. Uremera kandi ko usibye aho bivugwa muri aya mategeko n’amabwiriza, ntawe mufatanije inyungu.

\r\n

17. Impamvu zitateganijwe

\r\n

Sosiyete ntabwo izabazwa amakosa cyangwa imikorere idahwitse ya serivisi mu gihe biturutse ku mpamvu idashobora guhindura cyangwa gukosora zirimo ariko zitagarukira ku ihindagurika ry’ibihe, ibikorwa by’Imana, Ibiza, intambara, ibikorwa by’iterabwoba, imyigaragambyo, ibikorwa bya gisirikare, inkongi, imyuzure, impanuka, ibibazo bituruka ku minara , virusi zo kuri mudasobwa, ibura ry’ubwikorezi, ndetse no kugenda gake kwa murandasi (Zose zikaba ari impamvu zidashobora guteganwa).

\r\n

18. Ibanga no kurinda amakuru bwite

\r\n

Kanda hano usome amabwiriza agenga amakuru bwite

\r\n

19. Amabwiriza y’ikoreshwa ry’amakuru

\r\n

Kanda hano urebe amabwiriza y’ikoreshwa ry’amakuru

\r\n

20. Amasezerano yose

\r\n

Aya mategeko n’amabwiriza, amabwiriza agenga amakur bwite ndetse n’ububasha bw’uwunganira buri ruhande mu mategeko niyo yonyine asinywe hagati yawe na sosiyete ku bigendanye na serivisi kandi yisumbuye ku yandi masezerano, ubwumvikane, garanti byaba byaranditswe cyangwa byaravuzwe mbere ku bigendanye na serivisi. Nta ngingo n’imwe iri muri aya mategeko n’amabwiriza, yaba iyanditswe cyangwa iyavuzwe,ireba, iha uburenganzira , itegeka uruhande urwo arirwo rwose, yaba umuntu cyangwa ikigo atari impande zombi zasinye aya masezerano uretse aho byanditswe ukundi.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(TermsAndCondition))","\r\nimport React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\n//import { loginActions } from '../../action/loginAction';\r\nimport { withTranslation } from 'react-i18next';\r\nclass UnderConsruction extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n };\r\n\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n {t('lblUnderCons')}\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(UnderConsruction))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../Header/Header\";\r\nimport { loginActions } from '../../action/loginAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Contact extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n firstName: '',\r\n lastName: '',\r\n mobileNo: '',\r\n email: '',\r\n message: '',\r\n submitted: false,\r\n }\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.submitCustomerQuery = this.submitCustomerQuery.bind(this);\r\n }\r\n\r\n handleInputChange(e) {\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n if (name.toLowerCase().includes(\"mobile\") && value && (/^[0-9\\b]+$/.test(value)) == false) {\r\n return;\r\n }\r\n this.setState({\r\n [name]: value\r\n });\r\n };\r\n\r\n submitCustomerQuery(e) {\r\n e.preventDefault();\r\n this.setState({ submitted: true });\r\n let { firstName, lastName, mobileNo, email, message } = this.state;\r\n if (mobileNo && firstName && message) {\r\n mobileNo = \"250\" + mobileNo.substring(1, mobileNo.length);\r\n email = email.replace(/'/g, \"''\");\r\n message = message.replace(/'/g, \"''\");\r\n firstName = firstName.replace(/'/g, \"''\");\r\n lastName = lastName.replace(/'/g, \"''\");\r\n this.props.saveCustomerComplaint(firstName + lastName, this.props.appvariables.countryCode + mobileNo, email, message,this.props.i18n.language);\r\n this.setState({\r\n firstName: '',\r\n lastName: '',\r\n mobileNo: '',\r\n email: '',\r\n message: '',\r\n submitted: false,\r\n })\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n window.scrollTo(0,0);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n const { firstName, lastName, mobileNo, email, message, submitted } = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t('lblYoutalk')}?

\r\n
\r\n

{t('lblGetIntouch')}

\r\n

Carousel LTD.
CHIC MALL,2nd floor,Room F019A,
KN2 Avenue,KIGALI,RWANDA,
{t('lblmobno')} : 0791402424

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

{t('lblSalesenquriy')} / {t('lblBecanagt')}

\r\n

{t('lblmobno')} : 0791402424

\r\n

{t('lblEmail')} : sales@inzozilotto.rw

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

{t('lblcustomerservice')}

\r\n

{t('lblmobno')} : 0791402424

\r\n

{t('lblEmail')} : customercare@inzozilotto.rw

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {submitted && !firstName && {t('lblRequired')}}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {submitted && !mobileNo && {t('lblRequired')}}\r\n {submitted && mobileNo && (!(/\\d{10}$/.test(mobileNo))) && {t('lblInvalidMobileNo')}}\r\n
\r\n
\r\n \r\n \r\n {submitted && email && (!(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(email))) && {t('lblInvalidEmailID')}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {submitted && !message && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { appvariables } = state.loginReducer;\r\n return { appvariables }\r\n}\r\nconst mapActionToProps = {\r\n\r\n saveCustomerComplaint: loginActions.saveCustomerComplaint,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Contact))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass AboutUs extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0,0);\r\n };\r\n\r\n render() {\r\n const { i18n } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

About Us

\r\n

Rwanda’s 7 year Government program set six specific objectives, where creation of decent jobs for economic development and poverty reduction is one of them. Sport sector has been identified as one of the opportunity to create jobs but also a possible major source of revenues as it is a reality in most developed countries.

\r\n

Carousel LTD is a limited share company, registered in 2018,that has been awarded a ten year license to operate the national lottery in Rwanda.

\r\n

In partnership with the Government of Rwanda through the Ministry of Sports, Carousel is working towards generatingfinancial resources needed to support Sports development programs and sport talents in Rwanda.

\r\n

We created a Commercial brand “ Inzozi Lotto” to drive the business in the market.

\r\n

You can find us at Nyarugenge, Kigali in CHIC Mall, 2nd Floor, Room F019A, KN 2 Ave Kigali

\r\n

You can reach us at info@carousel.rwor call our number 250 788 30 18 24 or +250 788 30 06 74

\r\n

Our Vision is becoming the biggest sponsors for Rwandan sport talents as they chase their winning dreams and positively impact their economic well-being.

\r\n

Our mission is to, by means of the establishment and operation of a National Lottery,fund and promote sports activities in Rwanda,

\r\n

Our potential market is Rwandans residents of 18 years and above.

\r\n

Our Objectivesare to establish a proven and tested business concept and funding for development but also helped to control and prevent abuse of gambling. This journey is made possible by a strong strategic partnership with GI TECH I GAME INDIA PRIVATE LIMITED , an experienced and internationally recognized Indian based lottery system operator, present in more than 20 countries in Africa since 2001.

\r\n
\r\n :\r\n
\r\n

Abo turi bo

\r\n

Gahunda ya guverinoma y’u Rwanda y’imyaka irindwi yashyizeho intego esheshatu nyamukuru harimo guhanga umurimo hagamijwe iterambere ndetse no kugabanya ubukene. Imikino na siporo ni hamwe mu hashobora kuva akazi kandi hakaba hanakurwamo inyungu nkuko bigaragara mu bihugu biteye imbere.

\r\n

Carousel LTD ni ikigo cyashinzwe mu 2018 kikaba cyarahawe uburenganzira bw’imyaka 10 bwo gutegura no kugenzura gahunda ya tombola ku rwego rw’igihugu. Ku bufatanye na guverinoma y’u Rwanda binyuze muri minisiteri ya siporo, Carousel iri gukora igamije guteza imbere gahunda za siporo mu Rwanda ndetse no gushyigikira abafite impano muri siporo zitandukanye. Ni muri urwo rwego twashyizeho ibicuruzwa bya Inzozi Lotto.

\r\n

Wadusanga I Nyarugenge, Kigali mu nyubako ya CHIC kuri etaje ya 2, Icyumba nimero F019A, duherereye kuri KN2 Ave. Wanatwandikira kuri info@carousel.rw cyangwa ukaduhamagara kuri 250 788 30 18 24 cyangwa +250 788 30 06 74.

\r\n

Intumbero yacu ni ukuba sosiyete ya mbere mu guteza imbere abanyempano muri siporo mu Rwanda no kubashyigikira kugera ku nzozi zabo no kwiteza imbere.

\r\n

Icyerekezo cyacu ni ugushyiraho no kugenzura gahunda ya tombola ku rwego rw’igihugu, gutera inkunga ibikorwa bya siporo mu Rwanda, tukaba duteganya ko abaguzi ba serivisi zacu ari buri muntu wese wujuje imyaka 18 y’amavuko.

\r\n

Intego zacu ni ugushyiraho bizinesi ikozwe mu buryo bunoze hagamijwe iterambere ari nako dufatanya kugabanya zimwe mu ngaruka zikunze kugaragara mu mikino y’amahirwe. Ibi byose twizeye kubigeraho ku bufatanye na GI TECH I GAME INDIA PRIVATE LIMITED, sosiyete izobereye mu kugenzura imikino y’amahirwe iherereye mu Buhinde, ikaba ikorera mu bihugu birenga 20 muri Afurika kuva muri 2001.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(AboutUs))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\n//import { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n//import { loginActions } from '../../action/loginAction';\r\n\r\nclass CookiePolicy extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n render() {\r\n const { i18n } = this.props;\r\n return (\r\n
\r\n {/*
*/}\r\n
\r\n
\r\n \"inzozilotto\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

Cookies Policy

\r\n

Welcome to http://carousel.rw/(“Company,” “we” or “us”) through its product inzozi lotto (www.inzozi is the sole company authorized to operate the national lottery, licensed and regulated by the Ministry of Industry and Trade in charge of the gaming activities https://www.minicom.gov.rw/.

\r\n

The following Cookies policy, together with any documents expressly incorporate by reference (collectively, these “Cookies Policy”), govern you and any entity you represent (collectively, “you” or “your”), with respect to access and use of https://inzozilotto.rw/ including any Content (as defined in this terms of service agreement), technology, processes, materials, functionality and services designed, offered, or marketed by the Company on or through https://inzozilotto.rw/and at such other domain names used to identify websites on which the Company may offer Services (collectively, the “Service”), whether as a guest or a registered user.

\r\n

This Privacy Notice explains how inzozilotto.rw deals with cookies.

\r\n

1. Application and Acceptance of the Policy

\r\n

1.1. By continuing to use Our online platformsand services, You are agreeing to the use of cookies (“the Cookies Policy”) and similar technologies for the purposes We describe in this Cookie policy.

\r\n

1.2. If You do not accept the use of cookies and similar technologies, do not use this Website.

\r\n

By using our Products, you consent to the terms of this Privacy Notice and to the processing of Personal Information for the purposes set forth herein. If you do not agree to this Privacy Notice, please do not use our Products.

\r\n

2.Understanding these terms

\r\n

2.1. In this policy, when we refer to \"We“, ”Us\", \"Our\" or “Ours”, we mean “Carousel Ltd. (http://carousel.rw/), and when we refer to “You”, “Your”, “Yours” or “Yourself” We mean You, the person or the company accessing or using (“User”) our platforms; and together hereinafter referred to as “Parties”.

\r\n

2.2. When using the term referred to as “User”, we mean the natural person (“Natural person”) or corporation (“Legal customer”) who enters into an agreement with Us and/or is registered on our online platforms. Natural User shall mean one who has its own legal personality that is an individual human being, as opposed to a Legal customer. Legal User shall mean a legal entity that is acting in a professional or commercial capacity.

\r\n

2.3. When using the term “Cookie”, we shall be meaning the alphanumeric identifiers that our online platformstransfer to your computers hard driver or mobile device through your web browser.

\r\n\r\n

3. What is a cookie?

\r\n

3.1. A cookie is a simple text file that is stored on Your computer or mobile device by a Website’s server. Each cookie is unique to Your web browser. It will contain some anonymous data such as a unique identifier and the site name and some digits and numbers.

\r\n

3.2. Paragraph 2 of the Section 23 of the Rwandan Constitution of 2015 mandates Us not to intercept, collect or store Your data without prior authorisation from Yourself.

\r\n

3.3. Most websites You visit use cookies to improve Your user experience by allowing them to “remember” You, either for the duration of Your visit (using a “session cookie”) or for repeat visits (using a “persistent cookie”).

\r\n

3.4. Cookies may be set by the website You are visiting (“first party cookies”) or they may be set by other websites which run content on the page You are viewing (“third party cookies”).

\r\n\r\n

4. What do cookies do?

\r\n

4.1. Cookies have lots of different jobs, like letting You navigate between pages efficiently, storing Your preferences, and improving Your experience of a website. Cookies make the interaction between You and websites faster and easier. If a website does not use cookies, it will think You are a new visitor every time You move to a new page on that website, for example, even after You “log in”, if You move to another page it will not recognize You and it will not be able to keep you logged in.

\r\n

4.2. This is statistical data about our users’ browsing actions and patterns, and does not identify any individual.

\r\n\r\n

5. How does the Website use cookies?

\r\n

5.1 The Website uses different types of cookies to enhance and improve Your experience. The Website uses cookies for:

\r\n
    \r\n
  • 5.1.1Security: We use cookies to enable and support Our security features, for example: to authenticate Users, prevent fraudulent use of login credentials, and protect User data from unauthorized parties.

  • \r\n
  • 5.1.2Preferences: When you are signed in to Your account, cookies help Us display the correct data and personalize Your experience, by providing You with features, insights, and customized content. They can also help You fill out forms more easily, e.g., Request for information (RFI) forms. Loss of the data stored in a preference cookie may make the Website experience less functional, but should not prevent it from working.

  • \r\n
  • 5.1.3Session state: We collect data about how Our Users use and interact with the Website. This may include the pages You visit most often and when and where You get error messages. We use these “session state cookies” to help Us improve our Website and services. Blocking or deleting these cookies will not prevent the Website from working.

  • \r\n
  • 5.2.4. Analytics: These cookies help Us learn how our Website performs in different locations. We use cookies to understand and improve our services and features.

  • \r\n
\r\n\r\n

6. What third-party cookies does the Website use?

\r\n

Trusted partners like Banks and analytics companies like Google, through their Google Analytics service, may also place cookies on Your device. Please read our partners’ privacy policies listed on their website to ensure that You are comfortable with how they use cookies and to allow You to opt out if you would like.

\r\n

7. What should You do if You do not want cookies to be set?

\r\n\r\n
    \r\n
  • 7.1. Some people find the idea of a website storing data on their computer or mobile device to be intrusive, particularly when these are stored and used by a third-party without them knowing. Although cookies are generally quite harmless, You may not, for example, want to see advertising that has been targeted to Your interests using Your browser’s history. If You prefer, You may choose to block some or all cookies, or even to delete cookies that have already been set; however, You should be aware that you might lose some functions of the Website.

  • \r\n
  • 7.2. If You want to restrict or block the cookies that are set by the Website, or any other website, You can do so through your browser’s setting. The “Help” function in your browser should explain how. The Help feature on most browsers will tell You how to prevent Your browser from accepting new cookies, how to have the browser notify You when You receive a new cookie, or how to disable cookies altogether. Additionally, You can disable or delete similar data used by Your browser’s add-ons, such as Flash cookies, by changing the add-on's settings or visiting the developer’s website. Because cookies allow You to take advantage of some of the Website's essential features, We recommend that you leave them turned on. For instance, if You block or otherwise reject our cookies, You will not be able to add games to Your Shopping card, proceed to checkout, or use any of the Website’s functionalities and services that require You to sign in.

  • \r\n
  • 7.3. Alternatively, You can visit www.aboutcookies.org, which contains comprehensive information on how to do this on a wide variety of browsers. You will find general information about cookies and details on how to delete cookies from Your machine.

  • \r\n
  • 7.4. To opt-out of third-parties collecting any data regarding your interaction on Our Website, please refer to their websites for further information.

  • \r\n
\r\n

8. Contact information

\r\n

Questions about this Cookies policy and Our use of cookies should be sent to us by using Our contact form available at this link and choosing the subject “Privacy Concerns”.

\r\n
\r\n :\r\n
\r\n

AMABWIRIZA Y’IKORESHWA RY’AMAKURU

\r\n

Murakaza neza kuri http://carousel.rw/ari cyo kigo rukumbi cyemerewe gukoresha no kugenzura imikino ya tombola ku rwego rw’igihugu, kikaba ari ikigo cyahawe uburenganzira na minisiteri y’ubucuruzi n’inganda ifite iimikino mu nshingano zayo. https://www.minicom.gov.rw/.

\r\n

Aya mabwiriza y’ikoreshwa ry’amakuru, hakubiyemo ibyanditswe byose, yemeza mu buryo bweruye (byose hamwe, aya “mabwiriza y’ikoreshwa ry’amakuru”), irakuyobora hamwe n’ikigo icyaricyo cyose uhagarariye (byose hamwe, “wowe” or “yawe”), kubijyanye no kugera no gukoresha https://inzozilotto.rw/ harimo Ibirimo byose (nkuko byemejwe muri aya mabwiriza yemeza serivisi), tikinoloji, imikorere, ibikoresho, na serivisi zose zigurishwa na Carousel cyangwa se zitangirwa ku rubuga rwa https://inzozilotto.rw/ndetse n’izindi mbuga zose zakoreshwa mu gusakaza no kwamamaza serivisi za Inzozi Lotto.

\r\n

Aya mabwiriza agenga ubuzima bwite asobanura uburyo inzozilotto.rw ikoresha tekinoloji y’ikoreshwa ry’amakuru

\r\n

1. Gushyira mu bikorwa no kwemera aya mabwiriza

\r\n

1.1. Mu gukomeza gukoresha imbuga zacu na serivisi zacu, wemeye ikoreshwa rya tekinoloji y’ikoreshwa ry’amakuru (“amabwiriza y’ikoreshwa ry’amakuru”) hamwe n’ikoranabuhanga risa naryo ku bw’impamvu dusobanura muri aya mabwiriza y’ikoreshwa ry’amakuru.

\r\n

1.2. Niba utemeye ikoreshwa rya tekinoloji y’ikoreshwa ry’amakuru n’irindi koranabuhanga risa nkaryo, wikoresha uru rubuga.

\r\n

Mu gukomeza gukoresha ibicuruzwa byacu, wemeye ibikubiye muri aya mabwiriza agenga ubuzima bwite ndetse n’ikoreshwa ry’amakuru bwite ku bw’impamvu zateganyijwe. Niba utemeye aya mabwiriza agenga ubuzima bwite wikoresha ibicuruzwa byacu.

\r\n

2.Gusobanukirwa aya mabwiriza

\r\n

2.1. Muri aya mabwiriza, iyo tuvuze “Twebwe”, “Twe” cyangwa “Byacu” tuba tuvuze “Carousel Ltd. (http://carousel.rw/), naho iyo tuvuze “Wowe”, “Yawe” cyangwa “Wowe ubwawe” tuba tuvuze wowe, umuntu cyangwa ikigo gikoresha imbuga zacu; twese hamwe muri rusange tukitwa “abagize aya mabwiriza”

\r\n

2.2. Iyo dukoresha ijambo “umukoresha”, tuba tuvuze umuntu (“Umuntu”) cyangwa ikigo (“Umukiriya wemewe n’amategeko”) winjiye mu masezerano natwe ndetse akaba yiyandikishije ku mbuga zacu. Umukoresha bishatse kuvuga uwo ari we wese ufite ubuzima gatozi bivuze umuntu ku giti cye bitandukanye n’umukiriya wemewe n’amategeko. Umukoresha wemewe n’amategeko bivuze ikigo cyemewe n’amategeko gikora mu bushobozi bw’umwuga cyangwa ubucuruzi.

\r\n

2.3. Iyo dukoresha ijambo “tekinoloji y’ikoreshwa ry’amakuru” tuba tuvuze ibiranga mibare (alphanumeric identifiers) imbuga zacu zohereza kuri disiki ya mudasobwa yawe cyangwa telephone ngendanwa biciye muri murandasi.

\r\n

3. Tekinoloji y’ikoreshwa ry’amakuru ni iki?

\r\n

3.1. Tekinoloji y’ikoreshwa ry’amakuru ni inyandiko ibikwa kuri mudasobwa cyangwa telephone ngendanwa na seriveri y’urubuga. Buri tekinoloji y’ikoreshwa ry’amakuru irihariye kuri murandasi yawe. Ifite amakuru atamenyekana akubiyemo ibirango bwite, izina ry’urubuga n’indi mibare itandukanye.

\r\n

3.2. Igika cya 2 cy’igice cya 23 cy’Itegeko Nshinga ry’u Rwanda ryo muri 2015 ridutegeka kudahagarika, gukusanya cyangwa kubika amakuru yawe utabanje kubiduhera uruhushya.

\r\n

3.3. Imbuga nyinshi usura zikoresha tekinoloji y’ikoreshwa ry’amakuru mu kunoza imikoreshereze y’urubuga ku barusura ubemerera “Kukwibuka”, mu gihe umaze ku rubuga cyangwa inshuro usura urubuga.

\r\n

3.4. Tekinoloji y’ikoreshwa ry’amakuru ishyirwaho n’urubuga usura cyangwa igashyirwaho n’izindi mbuga zishyiraho ibiri ku rubuga.

\r\n

4. Tekinoloji y’ikoreshwa ry’amakuru ikora iki?

\r\n

4.1. Tekinoloji y’ikoreshwa ry’amakuru ifite imikorere igiye itandukanye irimo nko kukorohereza gusura ibice bitandukanye by’urubuga mu buryo bunoze, kubika ibyo ukunda, ndetse no kunoza imikoreshereze y’urubuga. Tekinoloji y’ikoreshwa ry’amakuru ituma imikoranire hagati yawe n’urubuga yoroha kandi ikihuta. Iyo urubuga rudakoresha tekinoloji y’ikoreshwa ry’amakuru, rugufata nk’umushyitsi mushya igihe cyose ugiye ku yindi paji y’urwo rubuga, urugero; ni yo umaze kwinjira ku rubuga, iyo ugiye ku yindi paji, ntabwo rukumenya ndetse ntabwo ugumamo.

\r\n

4.2. Aya ni amakuru y’ibarurishamibare yerekeye ibikorwa by’abasura urubuga rwacu, ntabwo igaragaza imyirondoro by’uwo ari we wese.

\r\n

5. Urubuga rukoresha gute Tekinoloji y’ikoreshwa ry’amakuru?

\r\n

5.1 Urubuga rukoresha tekinoloji zitandukanye z’ikoreshwa ry’amakuru mu kuzamura no kunoza imikoreshereze y’urubuga. Urubuga rukoresha iyi tekinoloji mu buryo bukurikira:

\r\n
    \r\n
  • 5.1.1 Umutekano: Dukoresha tekinoloji y’ikoreshwa ry’amakuru mu kongerera ubushobozi ibikoresho by’umutekano byacu, urugero: kugenzura abakoresha urubuga rwacu, kurwanya uburiganya mu gukoresha ibyangombwa byo kwinjira ku rubuga, ndetse no kurinda amakuru y’umukoresha w’urubuga.

  • \r\n
  • 5.1.2 Ibyo ukunda: Iyo winjiye muri konti yawe, tekinoloji y’ikoreshwa ry’amakuru idufasha kukwereka amakuru ya nyayo ndetse no kukwereka ibyo ukunda byihariye, iguha imiterere, amakuru n’ibigize urubuga byihariye. Igufasha kandi kuzuza amafishi mu buryo bworosye, urugero: amafishi yo gusaba amakuru. Kubura kw’amakuru abitse muri tekinoloji y’ikoreshwa ry’amakuru bishobora gutuma imikoreshereze y’urubuga itagenda neza, ariko ntibirubuza gukora burundu.

  • \r\n
  • 5.1.3 Imiterere y’imikoreshereze y’urubuga: Dukusanya amakuru ajyanye n’uburyo abasura urubuga rwacu barukoresha. Ibi bikubiyemo amapaji usura cyane n’igihe n’aho ubona ubutumwa by’ibitagenze neza. Dukoresha ubu buryo mu kudufasha kuvugurura urubuga rwacu na serivisi zacu. Guhagarika no gusiba iyi tekinoloji ntibibuza urubuga gukora.

  • \r\n
  • 5.1.4 Isesengura: tekinoloji y’ikoreshwa ry’amakuru idufasha kumenya uko urubuga rwacu rukora mu bice bitandukanye. Tuyikoresha mu gusesengura no kuvugurura serivisi zacu.

  • \r\n
\r\n

6. Ni izihe tekinoloji z’ikoreshwa ry’amakuru z’abandi bantu urubuga rukoresha?

\r\n

Abafatanyabikorwa bizewe nk’amabanki n’ibigo bikora ubusesenguzi nka Google, biciye muri serivisi yabo ya Google Analytics, bashobora gushyira tekinoloji y’ikoreshwa ry’amakuru mu bikoresho byawe. Soma neza amabwiriza agenga ubuzima bwite y’abafatanyabikorwa bacu yanditse ku mbuga zabo kugira ngo wemeze ko nta kibazo utewe n’uko bakoresha tekinoloji y’ikoreshwa ry’amakuru ndetse no kukwemera guhitamo kutayikoresha niba ubyifuza.

\r\n

7. Wakora iki igihe utifuza ko tekinoloji y’ikoreshwa ry’amakuru ikoreshwa?

\r\n
    \r\n
  • 7.1. Abantu bamwe na bamwe basanga kubikwa kw’amakuru kuri mudasobwa na telefone ngendanwa zabo bikozwe n’imbuga ari ukwinjira mu buzima bwabo bwite, cyane cyane iyo bikozwe n’abandi bantu batabizi. Nubwo tekinoloji y’ikoreshwa ry’amakuru ntacyo itwaye muri rusange, ushobora kuba utifuza kubona ibyamamajwe byagenewe ibyo ukunda hifashishijwe ibyo wasuye kuri murandasi. Niba ubyifuza ushobora guhagarika zimwe muri tekinoloji z’ikoreshwa ry’amakuru cyangwa zose muri rusange, cyangwa se ugasiba izamaze kujya mu bikoresho byawe; gusa ugomba kumenya ko ushobora gutakaza imikorere imwe n’imwe y’urubuga.

  • \r\n
  • 7.2. Niba wifuza kugabanya cyangwa guhagarika burundu tekinoloji y’ikoreshwa ry’amakuru yashyizweho n’urubuga, cyangwa urundi urwo ari rwo rwose ushobora kubikora uciye mu igenamitere (settings) rya murandasi yawe. Uburyo bwa “Help” buri muri murandasi yawe bugufasha kugusobanurira uko wabigenza. Uburyo bwa help muri murandasi zitandukanye buzakubwira uko warinda murandasi yawe kwemera tekinoloji y’ikoreshwa ry’amakuru, uko murandasi yawe yakumenyesha igihe wakiriye tekinoloji y’ikoreshwa ry’amakuru, cyangwa se uko wahagarika burundu tekinoloji y’ikoreshwa ry’amakuru. Ushobora no guhagarika cyangwa ugasiba amakuru asa ya add-ons yakoreshejwe na murandasi yawe uhindura igenamiterere rya add-ons. Kubera ko tekinoloji y’ikoreshwa ry’amakuru igufasha gukoresha bimwe mu bigize urubuga by’ingenzi, turakugira inama yo kuyigumishaho. Urugero, iyo uhagaritse tekinoloji y’ikoreshwa ry’amakuru yacu ntuzabasha kongera imikino ku ikarita yawe cyangwa gukoresha ibindi bigize urubuga rwacu na serivisi zacu zisaba kwinjira ku rubuga rwacu.

  • \r\n
  • 7.3. Ushobora gusura urubuga rwa www.aboutcookies.org, rufite amakuru yuzuye y’uburyo wakoresha iyi tekinoloji kuri murandasi. Uzahasanga amakuru rusange kuri tekinoloji y’ikoreshwa ry’amakuru n’uburyo wayisiba muri mudasobwa yawe.

  • \r\n
  • 7.4. Kugira ngo uhagarike abandi bantu bakusanya amakuru ajyanye n’uburyo ukoresha urubuga rwacu, sura imbuga zabo ku bindi bisobanuro birambuye.

  • \r\n
\r\n

8. Uko watuvugisha

\r\n

Ibibazo bijyanye n’aya mabwiriza y’ikoreshwa ry’amakuru n’uburyo dukoresha tekinoloji y’ikoreshwa ry’amakuru byoherezwa ukoresheje ifishi yo gutangaho amakuru usanga hano ugahitamo ingingo ya “Privacy Concerns”.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(CookiePolicy))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport { gameActions } from '../../action/gamesAction';\r\nclass HowToPlay extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { cTab: 4 }\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n SelectGameFamily = (inx) => {\r\n var item = this.props.games.filter(x => x.id == inx);\r\n // item.ball = parseInt(item.ball);\r\n // item.minSelect = parseInt(item.minSelect);\r\n // item.maxSelect = parseInt(item.maxSelect);\r\n if (item && item.length > 0) {\r\n this.props.SelectGameFamily(item[0]);\r\n //this.props.GameAvailableGames(this.props.user.mobileNo, item.id);\r\n }\r\n };\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n gameFamily: props.games.filter(a => a.id == 4),\r\n };\r\n };\r\n\r\n render() {\r\n const { t, i18n } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblAboutGames')}

\r\n
\r\n
\r\n
\r\n
    \r\n
  • this.setState({ cTab: 4 })} class={this.state.cTab == 4 ? \"Active\" : \"\"}>Igitego Million
  • \r\n
  • this.setState({ cTab: 3 })} class={this.state.cTab == 3 ? \"Active\" : \"\"}>Quick 10
  • \r\n
  • this.setState({ cTab: 1 })} class={this.state.cTab == 1 ? \"Active\" : \"\"}>Impamo Jackpot
  • \r\n
  • this.setState({ cTab: 2 })} class={this.state.cTab == 2 ? \"Active\" : \"\"}>Quick lotto
  • \r\n
  • this.setState({ cTab: 5 })} class={this.state.cTab == 5 ? \"Active\" : \"\"}>Watatu
  • \r\n
  • this.setState({ cTab: 6 })} class={this.state.cTab == 6 ? \"Active\" : \"\"}>Igitego-Moto
  • \r\n
  • this.setState({ cTab: 7 })} class={this.state.cTab == 7 ? \"Active\" : \"\"}>Igitego-Iphone
  • \r\n {/*
  • Roulette
  • */}\r\n
\r\n
\r\n {this.state.cTab == 1 &&
\r\n
\r\n

Impamo Jackpot

\r\n

{t('lblHowToplayjackpot')}

\r\n {/* {t('lblGetstarted')} */}\r\n { this.SelectGameFamily(4) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n {/* */}\r\n
\r\n {/* */}\r\n \r\n
\r\n {this.state.gameFamily && this.state.gameFamily.length > 0 && this.state.gameFamily[0].prizeInfo != \"\" && this.state.gameFamily[0].prizeInfo.split('^').map((x, indx) =>\r\n {x}\r\n )}\r\n
\r\n
\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “Impamo Jackpot” and click on “Play Now”

\r\n

Step 5:
\r\n • Select 5 numbers of yourchoice between 01 and 35 and they will be added automatically to the game slip.
\r\n • For computer generated numbers, click on “QP” Quick Pick\r\n

\r\n

Step 6: Click on “ADD” to buy the ticket

\r\n

Step 7: Click on “Game Slip”

\r\n

Step 8: Click on “BUY” to buy the ticket

\r\n

Step 9:
\r\n • After clicking on buy, you can view your confirmed ticket.
\r\n • To go back click on the cross (X) on the top right.

\r\n

Step 10: To view the games played, click on account name

\r\n

Step 11: Click on “option”

\r\n

Step 12: Click on “game details”

\r\n

Step 13: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Sign in” kuri pajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweyatelefonen’ijambo banga

\r\n

Intambweya 4: Kanda kuri “games” maze ujye kuri “jackpot lotto”

\r\n

Intambweya 5:
\r\n •\tHitamoimibare 5 wifuzahagatiya 01 na 35
\r\n •\tKu mibareitangwa na mudasobwakandaahanditse“QP”

\r\n

Intambweya 6: Kanda kuri “add”

\r\n

Intambweya 7: Kanda kuri “Game slip”

\r\n

Intambweya 8: Kuguraitike, kanda “buy”

\r\n

Intambweya 9:
\r\n •\tNyumayogukanda kuri buy, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetso ka X kagaragaraiburyohejuru.

\r\n

Intambweya 10: Kurebaimikinoumazegukina, kandaahanditseizina rya kontiyawe.

\r\n

Intambweya 11: Kanda kuri “option”

\r\n

Intabweya 12: Kanda kuri “game details”

\r\n

Intabweya 13: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatike yose yaguzwe

\r\n
}\r\n
\r\n
\r\n }\r\n {/* Quick Lotto */}\r\n {this.state.cTab == 2 &&
\r\n
\r\n

Quick lotto

\r\n

{t('lblHowToplayQucik')}

\r\n {/* {t('lblGetstarted')} */}\r\n { this.SelectGameFamily(5) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “Quick Lotto” and click on “Play Now”

\r\n

Step 5:
\r\n •\tSelect any number of your choice between 00 and 34 and it will be added automatically to the game slip.
\r\n •\tYou can select as many as you wish
\r\n •\tFor computer generated numbers, click on “QP” Quick Pick

\r\n

Step 6: Click on “BUY” to buy the ticket

\r\n

Step 7:
\r\n •\tAfter clicking on buy, you can view your confirmed ticket.
\r\n •\tTo go back click on the cross (X) on the top right.

\r\n

Step 8: To view the games played, click on account name

\r\n

Step 9: Click on “option”

\r\n

Step 10: Click on “game details”

\r\n

Step 11: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Sign in” kuri pajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweyatelefonen’ijambo banga

\r\n

Intambweya 4: Kanda kuri “games” maze ujye kuri “Quick lotto”

\r\n

Intambweya 5:
\r\n •\tHitamoumubarewifuzahagatiya 00 na 34 urahitawongerwamoako kanya kugapapurokumukinokawe
\r\n •\tUshoboraguhitamoimibaremyinshiukoubyifuza
\r\n •\tKu mibareitangwa na mudasobwakandaahanditse “QP”

\r\n

Intambweya 6: Kuguraitike, kanda “buy”

\r\n

Intambweya 7:
\r\n •\tNyumayogukanda kuri buy, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetso ka X kagaragaraiburyohejuru.

\r\n

Intambweya 8: Kurebaimikinoumazegukina, kandaahanditseizina rya kontiyawe.

\r\n

Intambweya 9: Kanda kuri “option”

\r\n

Intambweya 10: Kanda kuri “game details”

\r\n

Intambweya 11: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatike yose yaguzwe

\r\n
\r\n }\r\n
\r\n
\r\n }\r\n {/* Quick 10 */}\r\n {this.state.cTab == 3 &&
\r\n
\r\n

Quick 10

\r\n

{t('lblHowToplayQuick10')}

\r\n { this.SelectGameFamily(3) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “Quick 10” and click on “Play Now”

\r\n

Step 5:
\r\n •\tSelect any number of your choice between 00 and 09 and it will be added automatically to the game slip.
\r\n •\tYou can select as many as you wish
\r\n •\tFor computer generated numbers, click on “QP” Quick Pick

\r\n

Step 6: Click on “BUY” to buy the ticket

\r\n

Step 7:
\r\n •\tAfter clicking on buy, you can view your confirmed ticket.
\r\n •\tTo go back click on the cross (X) on the top right.

\r\n

Step 8: To view the games played, click on account name

\r\n

Step 9: Click on “option”

\r\n

Step 10: Click on “game details”

\r\n

Step 11: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Sign in” kuri pajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweyatelefonen’ijambo banga

\r\n

Intambweya 4: Kanda kuri “games” maze ujye kuri “Quick 10”

\r\n

Intambweya 5:
\r\n •\tHitamoumubarewifuzahagatiya 00 na 09 urahitawongerwamoako kanya kugapapurokumukinokawe
\r\n •\tUshoboraguhitamoimibaremyinshiukoubyifuza
\r\n •\tKu mibareitangwa na mudasobwakandaahanditse “QP”

\r\n

Intambweya 6: Kuguraitike, kanda “buy”

\r\n

Intambweya 7:
\r\n •\tNyumayogukanda kuri buy, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetso ka X kagaragaraiburyohejuru.

\r\n

Intambweya 8: Kurebaimikinoumazegukina, kandaahanditseizina rya kontiyawe.

\r\n

Intambweya 9: Kanda kuri “option”

\r\n

Intambweya 10: Kanda kuri “game details”

\r\n

Intambweya 11: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatike yose yaguzwe

\r\n
\r\n }\r\n
\r\n
\r\n }\r\n {/* Raffle */}\r\n {this.state.cTab == 4 &&
\r\n
\r\n

Igitego Million

\r\n

{t('lblHowToplayRaffle')}

\r\n { this.SelectGameFamily(1) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “IGITEGO MILLION” and click on “Play Now”

\r\n

Step 5:
\r\n \tChoose how you want your numbers;
\r\n 1\tThe first two numbers
\r\n 2\tThe last 2 numbers
\r\n 3\tOr whole numbers
\r\n 4\tYou click on search for tickets
\r\n 5\tYou are given tickets that have not been sold and you choose which ticket you want to buy.\r\n

\r\n

Step 6: Click on “BUY” to buy the ticket

\r\n

Step 7:
\r\n •\tAfter clicking on buy, you can view your confirmed ticket.
\r\n •\tTo go back click on the cross (X) on the top right.

\r\n

Step 8: To view the games played, click on account name

\r\n

Step 9: Click on “option”

\r\n

Step 10: Click on “game details”

\r\n

Step 11: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Injira” kuripajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweya telephone n’ijambo banga

\r\n

Intambweya 4: Kanda ku “imikino” maze ujyekuri “IGITEGO MILLION”

\r\n

Intambweya 5:
\r\n \tHitamouburyoushakaimibareyawe
\r\n 1.\tImibareibiriibanza
\r\n 2.\tImibare 2 iheruka
\r\n 3.\tCyangwaImibareyose
\r\n 4.\tUrakandakurishakishaamatike
\r\n 5.\tUrahabwaitikezitaragurwauhitemoiyowifuzakugura.\r\n

\r\n

Intambweya 6:
\r\n •\tNyumayogukandakurigura, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetsoka X kagaragaraiburyohejuru.

\r\n

Intambweya 7: Kurebaimikinoumazegukina, kandaahanditseizinaryakontiyawe.

\r\n

Intambweya 8: Kanda kuri “option”

\r\n

Intambweya 9: Kanda kuri “game details”

\r\n

Intambweya 10: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatikeyoseyaguzwe

\r\n
\r\n }\r\n
\r\n
\r\n }\r\n {/* Pick3 */}\r\n {this.state.cTab == 5 &&
\r\n
\r\n

Watatu

\r\n

{t('lblHowToplayPick3')}

\r\n { this.SelectGameFamily(7) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1:Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2:On the home page, click on “Sign in”

\r\n

Step 3:your registered mobile number and password and click “Login”

\r\n

Step 4:On the home page, go to “WATATU” and click on “Play Now”

\r\n

Step 5:
\r\n • Select 1 number of your choice between 0 and 9 and I will select each three rows with same.\r\n they will be added automatically to the game slip.\r\n • For computer generated numbers, click on “QP” Quick Pick\r\n\r\n

\r\n

Step 6: Click on “ADD” to buy the ticket

\r\n

Step 7: Click on “Game Slip”

\r\n

Step 8: Click on “BUY” to buy the ticket

\r\n

Step 9:• After clicking on buy, you can view your confirmed ticket.\r\n • To go back click on the cross (X) on the top right.

\r\n

Step 10: To view the games played, click on account name

\r\n

Step 11: Click on “option”

\r\n

Step 12: Click on “game details”

\r\n

Step 13: A report will show all the games you played and your tickets’ status.

\r\n

WINNING POSSIBILITIES

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TYPEMATCHINGODDS
SEQMATCH ALL 3 IN THE SAME ORDERX150
BOXMATCH ALL 3 IN THE ANY ORDERX20
FRONT PAIRFIRST TWO IN THE SAME ORDERX10
BACK PAIRLAST TWO IN THE SAME ORDERX10
LUCKY FIRSTMATCH THE FIRST NUMBERX1.5
\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1 : Funguraurubugarwa www.inzozilotto.rw

\r\n

Intambweya 2 : Kanda \"Injira\" kuripajiibanza

\r\n

Intambweya 3 : Shyiramonimeroyaweya telephone n'ijambobanga

\r\n

Intambweya 4 : Kanda ku \"imikino\" maze ujyekuri \"WATATU\"

\r\n

Intambweya 5 :
\r\n • Hitamoumubareumweushakahagatiya0 na 9 maze uhabweindimibare mu wundimurongo.
\r\n • Kanda \"QP\" uhabweimibare.

\r\n

Intambweya 6 : kandakuri ADD ugureitikeyawe

\r\n

Intambweya 7 :
\r\n • Nyumayogukandakurigura, ushoborakurebaitikeyaweyemejwe.
\r\n • Gusubirainyumakandakukamenyetso ka X kagaragaraiburyohejuru

\r\n

Intambweya 8 : Kurebaimikinoumazegukina, kandaahanditseizina rya kontiyawe.Kanda kuri \"option\", Kanda kuri \"game details\"

\r\n

Intambweya 9 : Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatike yose yaguzwe

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TYPEMATCHINGODDS
SEQMATCH ALL 3 IN THE SAME ORDERX150
BOXMATCH ALL 3 IN THE ANY ORDERX20
FRONT PAIRFIRST TWO IN THE SAME ORDERX10
BACK PAIRLAST TWO IN THE SAME ORDERX10
LUCKY FIRSTMATCH THE FIRST NUMBERX1.5
\r\n
\r\n }\r\n
\r\n
\r\n }\r\n {/* Igitego-moto */}\r\n {this.state.cTab == 6 &&
\r\n
\r\n

Igitego-Moto

\r\n

{t('lblHowToplayMotto')}

\r\n { this.SelectGameFamily(9) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “IGITEGO MOTO” and click on “Play Now”

\r\n

Step 5:
\r\n \tChoose how you want your numbers;
\r\n 1\tThe first two numbers
\r\n 2\tThe last 2 numbers
\r\n 3\tOr whole numbers
\r\n 4\tYou click on search for tickets
\r\n 5\tYou are given tickets that have not been sold and you choose which ticket you want to buy.\r\n

\r\n

Step 6: Click on “BUY” to buy the ticket

\r\n

Step 7:
\r\n •\tAfter clicking on buy, you can view your confirmed ticket.
\r\n •\tTo go back click on the cross (X) on the top right.

\r\n

Step 8: To view the games played, click on account name

\r\n

Step 9: Click on “option”

\r\n

Step 10: Click on “game details”

\r\n

Step 11: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Injira” kuripajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweya telephone n’ijambo banga

\r\n

Intambweya 4: Kanda ku “imikino” maze ujyekuri “IGITEGO MOTO”

\r\n

Intambweya 5:
\r\n \tHitamouburyoushakaimibareyawe
\r\n 1.\tImibareibiriibanza
\r\n 2.\tImibare 2 iheruka
\r\n 3.\tCyangwaImibareyose
\r\n 4.\tUrakandakurishakishaamatike
\r\n 5.\tUrahabwaitikezitaragurwauhitemoiyowifuzakugura.\r\n

\r\n

Intambweya 6:
\r\n •\tNyumayogukandakurigura, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetsoka X kagaragaraiburyohejuru.

\r\n

Intambweya 7: Kurebaimikinoumazegukina, kandaahanditseizinaryakontiyawe.

\r\n

Intambweya 8: Kanda kuri “option”

\r\n

Intambweya 9: Kanda kuri “game details”

\r\n

Intambweya 10: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatikeyoseyaguzwe

\r\n
\r\n }\r\n
\r\n
\r\n }\r\n {/* Igitego-IPhone */}\r\n {this.state.cTab == 7 &&
\r\n
\r\n

Igitego-Iphone

\r\n

{t('lblHowToplayPhone')}

\r\n { this.SelectGameFamily(10) }}>{t('lblGetstarted')}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

How to play

\r\n

Step 1: Open an internet browser and go to www.inzozilotto.rw

\r\n

Step 2: On the home page, click on “Sign in”

\r\n

Step 3: Input your registered mobile number and password and click “Login”

\r\n

Step 4: On the home page, go to “IGITEGO IPHONE” and click on “Play Now”

\r\n

Step 5:
\r\n \tChoose how you want your numbers;
\r\n 1\tThe first two numbers
\r\n 2\tThe last 2 numbers
\r\n 3\tOr whole numbers
\r\n 4\tYou click on search for tickets
\r\n 5\tYou are given tickets that have not been sold and you choose which ticket you want to buy.\r\n

\r\n

Step 6: Click on “BUY” to buy the ticket

\r\n

Step 7:
\r\n •\tAfter clicking on buy, you can view your confirmed ticket.
\r\n •\tTo go back click on the cross (X) on the top right.

\r\n

Step 8: To view the games played, click on account name

\r\n

Step 9: Click on “option”

\r\n

Step 10: Click on “game details”

\r\n

Step 11: A report will show all the games you played and your tickets’ status.

\r\n
\r\n :\r\n
\r\n

Ukobakina

\r\n

Intambweya 1: Funguraurubugarwawww.inzozilotto.rw

\r\n

Intambweya 2: Kanda “Injira” kuripajiibanza

\r\n

Intambweya 3: Shyiramonimeroyaweya telephone n’ijambo banga

\r\n

Intambweya 4: Kanda ku “imikino” maze ujyekuri “IGITEGO IPHONE

\r\n

Intambweya 5:
\r\n \tHitamouburyoushakaimibareyawe
\r\n 1.\tImibareibiriibanza
\r\n 2.\tImibare 2 iheruka
\r\n 3.\tCyangwaImibareyose
\r\n 4.\tUrakandakurishakishaamatike
\r\n 5.\tUrahabwaitikezitaragurwauhitemoiyowifuzakugura.\r\n

\r\n

Intambweya 6:
\r\n •\tNyumayogukandakurigura, ushoborakurebaitikeyaweyemejwe.
\r\n •\tGusubirainyumakandakukamenyetsoka X kagaragaraiburyohejuru.

\r\n

Intambweya 7: Kurebaimikinoumazegukina, kandaahanditseizinaryakontiyawe.

\r\n

Intambweya 8: Kanda kuri “option”

\r\n

Intambweya 9: Kanda kuri “game details”

\r\n

Intambweya 10: Urahitaubonaraporoigaragazaimikinoumazegukinandetsen'amatikeyoseyaguzwe

\r\n
\r\n }\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { games } = state.gameReducer;\r\n return { games };\r\n}\r\nconst mapActionToProps = {\r\n SelectGameFamily: gameActions.SetGameFamily,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(HowToPlay))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { history } from '../../helpers/history';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass HelpAndSupport extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n };\r\n render() {\r\n const { t, i18n } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblhowhelp')}

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

{t('lblhelptopics')}

\r\n
\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    Getting started

    \r\n

    To play Inzozi lotto games, you must have a registered account and you must, at the time of registration be at least eighteen (18) years of age or above. To register in the Inzozi lotto, you must follow the following simple

    \r\n

    \r\n Step 1:
    \r\n Open an internet browser and go to www.inzozilotto.rw\r\n

    \r\n

    \r\n Step 2:
    \r\n On the home page, click on “register”\r\n

    \r\n

    \r\n Step 3:
    \r\n On the register page, you will be required to provide your basic information
    \r\n Input your first name
    \r\n Input your last name
    \r\n Input your desired password
    \r\n Retype the password in “Confirm Password”
    \r\n Input your email ID (If Any)
    \r\n Input your date of Birth (must be 18 years old)
    \r\n Input a valid Mobile Number and click on send OTP to get an OTP for mobile number verification
    \r\n Input the OTP sent to your number via SMS
    \r\n Click on “I understand and agree to the Terms and Conditions”
    \r\n Click on the “Register” Button
    \r\n On Successful registration, you will receive a “Successfully Registered” message via SMS and e-mail\r\n

    \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n

    Billing and Payment

    \r\n

    \r\n You can add/withdraw money on your account using mobile money wallet (MTN mobile money & Airtel money), bank account and credit or debit card.\r\n The user must deposit funds into the Inzozi lotto Wallet Account, which is linked to the registered user, to enable you to play games. These funds, once in the wallet, are non-refundable. If your payment is declined, you will be notified in the application and contacted by phone or email. We may restrict your ability to use a certain payment method if that payment method fails multiple times.\r\n REMEMBER: If your Automatic Payment fails, you will need to replenish your account with another payment method. In the event any payment is not made, no tickets will be purchased without payment made in advance.\r\n

    \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n

    My account

    \r\n

    \r\n You are only allowed to register one account, on www.inzozilotto.rw or download the Inzozi lotto app to complete the online registration process. You will be required to submit your first and last name and other details as requested including, but not limited to, your ID/Passport Number, your phone number, date of birth, your email address, your residential address, and your payment information.\r\n Once you have created your account according to the terms and conditions, you can use Inzozi lotto web or app to purchase authentic lottery tickets. Otherwise, you can use our representative, agent, or distributors accessible all over the country.\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Copyright & Legal

    \r\n

    \r\n The Service and its contents, features and functionality, including but not limited to, all information, products, services, text, displays, graphics, video, audio and software as well as the design, selection and arrangement thereof (collectively, “Content”), are owned by the Company, its licensors or other providers of such material and are protected by the Laws of the Republic of Rwanda.\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n
    history.push('/faq')}>\r\n

    FAQ

    \r\n

    \r\n What is inzozilotto?
    \r\n How does Inzozilotto work?
    \r\n Who is eligible to purchase ticket?
    \r\n How can I Check my Account?
    \r\n Do I need to pay any registration Fee?\r\n

    \r\n
    \r\n
  • \r\n
\r\n
\r\n :\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    Gutangira

    \r\n

    \r\n Kugira ngo ukine imikino ya Inzozi lotto, ugomba kuba warafunguje konti kandi wujuje imyaka 18 y’amavuko. Kugira ngo wiyandikishe mu Inzozi Lotto ugomba gukurikiza intambwe zikurikira:\r\n

    \r\n

    \r\n Intambwe ya 1:
    \r\n Fungura urubuga rwa www.inzozilotto.rw\r\n

    \r\n

    \r\n Intambwe ya 2:
    \r\n Kanda “Register” kuri paji ibanza\r\n

    \r\n

    \r\n Intambwe ya 3:
    \r\n Uzuzamo imyirondoro yawe yose kuri paji yo kwiyandikisha
    \r\n Shyiramo izina ryawe rya mbere
    \r\n Shyiramo izina ryawe rya kabiri
    \r\n Shyiramo ijambo banga wifuza
    \r\n Ongera wandikemo ijambo banga ryawe
    \r\n Shyiramo email (niba uyifite)
    \r\n Shyiramo itariki y’amavuko (ugomba kuba ufite imyaka 18)
    \r\n Shyiramo nimero yawe ya telefone hanyuma wemeze ahanditse OTP
    \r\n Shyiramo imibare ya OTP woherejwe muri SMS
    \r\n Kanda kuri “I understand and agree to the Terms and Conditions”
    \r\n Emeza kwiyandikisha ukanda kuri “Register”
    \r\n Urakira ubutumwa bwemeza ko kwiyandikisha byagenze neza kuri SMS no kuri email\r\n

    \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n

    Ibijyanye no kwishyura

    \r\n

    \r\n Ushobora kongera/kubikuza amafaranga kuri konti yawe ukoresheje MTN mobile money, Airtel money, konti ya banki ndetse n’amakarita yo kwishyura.\r\n Ugomba gushyira amafaranga kuri konti yawe y’inzozi ihujwe n’imyirondoro yawe kugira ngo ubashe gukina imikino y’Inzozi lotto. Aya mafaranga iyo ageze kuri konti ntasubizwa. Iyo ubwishyu bwawe bwanzwe, urabimenyeshwa biciye kuri telephone yawe cyangwa imeyili. Dushobora guhagarika bumwe mu buryo bwo kwishyura iyo ubwo buryo bwanze inshuro nyinshi.\r\n ICYITONDERWA: Iyo kwishyura by’ako kanya byanze, ugomba guhindura uburyo bwo kwishyura kuri konti yawe. Mu gihe nta bwishyu bwabaye, ntabwo itike igurwa utabanje kwishyura mbere.\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Konti yanjye

    \r\n

    \r\n Wemerewe kwandikisha konti imwe kuri www.inzozilotto.rw cyangwa uka downloadinga apulikasiyo y’inzozi lotto kugira ngo ubashe kwiyandikisha uciye kuri murandasi. Urasabwa gutanga imyirondoro yawe yuzuye harimo amazina yombi ndetse n’indi myirondoro y’ingenzi ikubiyemo nomero y’indangamuntu/pasiporo, nimero yawe ya telephone, itariki y’amavuko, adiresi ya imeyili, aho utuye ndetse n’uburyo bwo kwishyura.\r\n Iyo umaze gufunguza konti ukurikije amategeko n’amabwiriza, ushobora gukoresha urubuga rw’inzozi lotto cyangwa apulikasiyo kugira ngo ubashe kugura itike ya tombola yemewe. Ushobora no gukoresha abaduhagarariye, aba ajenti bacu ndetse n’abadandaza bacu ushobora gusanga mu bice bitandukanye by’igihugu.\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Uburenganzira n’amategeko

    \r\n

    \r\n Serivisi ndetse n’ibiyirimo byose, ibiyiranga ndetse n’imikorere ikubiyemo amakuru yose, ibicuruzwa, serivisi, inyandiko, amashusho, ibishushanyo, videwo, amajwi, software ndetse n’ibindi bishushanyo, uko byatoranijwe ndetse n’uko bipanze (mu ncamake, “Ibirimo byose”), bitunzwe na company, abatanga impushya ndetse n’abatanga ibyo bikoresho byose ndetse bikaba bigengwa n’amategeko ya Repubulika y’u Rwanda.\r\n

    \r\n
    \r\n
  • \r\n
  • \r\n
    history.push('/faq')}>\r\n

    Ibibazo Bikunze kubazwa

    \r\n

    \r\n Inzozi Lotto ni iki?
    \r\n Inzozi Lotto ikora ite?
    \r\n Ninde wemereye kuba yagura itike?
    \r\n Ni gute nareba kuri konti yanjye?
    \r\n Ese nsabwa kwishyura amafaranga kugirango niyandikishe?\r\n

    \r\n
    \r\n
  • \r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {}\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(HelpAndSupport))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../Header/Header\";\r\nimport { loginActions } from '../../action/loginAction';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass BecomeAnAgent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n firstName: '',\r\n mobileNo: '',\r\n email: '',\r\n businessName: '',\r\n businessLocation: '',\r\n\t\t\tregTC: false,\r\n submitted: false,\r\n }\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.submitAgent = this.submitAgent.bind(this);\r\n }\r\n\r\n handleInputChange(e) {\r\n let name = e.target.name;\r\n let value = e.target.value;\r\n if (name.toLowerCase().includes(\"mobile\") && value && (/^[0-9\\b]+$/.test(value)) == false) {\r\n return;\r\n }\r\n if (name == \"regTC\") {\r\n\t\t\tvalue = !this.state.regTC;\r\n\t\t}\r\n this.setState({\r\n [name]: value\r\n });\r\n };\r\n\r\n submitAgent(e) {\r\n e.preventDefault();\r\n this.setState({ submitted: true });\r\n let { firstName, mobileNo, email,businessName,businessLocation,regTC } = this.state;\r\n if (mobileNo && firstName && email && businessName && businessLocation,regTC) {\r\n mobileNo = \"250\" + mobileNo.substring(1, mobileNo.length);\r\n email = email.replace(/'/g, \"''\");\r\n businessName = businessName.replace(/'/g, \"''\");\r\n firstName = firstName.replace(/'/g, \"''\");\r\n businessLocation = businessLocation.replace(/'/g, \"''\");\r\n this.props.saveAgentRequest(firstName, mobileNo, email, businessName,businessLocation,this.props.i18n.language);\r\n this.setState({\r\n firstName: '',\r\n mobileNo: '',\r\n email: '',\r\n businessName: '',\r\n businessLocation: '',\r\n regTC: false,\r\n submitted: false,\r\n })\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n window.scrollTo(0,0);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n const { firstName, mobileNo, email, businessName,businessLocation,regTC, submitted } = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('lblBENEFITS')}
{t('lblBecanagt')}

\r\n
    \r\n
  • {t('lblBeyourownboss')}
  • \r\n
  • {t('lblEarnRevenues')}
  • \r\n
  • {t('lblBecamepartLottery')}
  • \r\n
  • {t('lblSupportSports')}
  • \r\n
\r\n
\r\n
\r\n \r\n Sales@inzozilotto.rw\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{t('lblRegister')}
{t('lblBecanagt')}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n {submitted && !firstName && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {submitted && !mobileNo && {t('lblRequired')}}\r\n {submitted && mobileNo && (!(/\\d{10}$/.test(mobileNo))) && {t('lblInvalidMobileNo')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {submitted && email && (!(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(email))) && {t('lblInvalidEmailID')}}\r\n {submitted && !businessName && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {submitted && !businessName && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {submitted && !businessLocation && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {t('lblAccept')}{t('lblTercon')}. \r\n
\r\n {submitted && !regTC && {t('lblRequired')}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { appvariables } = state.loginReducer;\r\n return { appvariables }\r\n}\r\nconst mapActionToProps = {\r\n\r\n saveAgentRequest: loginActions.saveAgentRequest,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(BecomeAnAgent))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n//import { loginActions } from '../../action/loginAction';\r\n\r\nclass SocialResponsibility extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n render() {\r\n const { i18n } = this.props;\r\n const mystyle = { textAlign: \"initial\" };\r\n return (\r\n
\r\n
\r\n
\r\n {i18n.language == \"en\" ?\r\n
\r\n

Responsible Gaming

\r\n

Underage: inzozi Lotto only allows at least eighteen (18) years of age or above and play games.\r\n Fair Gaming: All the inzozi Lotto gaming product are tested by an independent international organisation iTech labs and GLI to ensure they are fair and random and that they are adhere to the rules of that game.\r\n

\r\n

Customer Satisfaction: We are open for comments and complaints and user can reach us on customercare@inzozilotto.rw or escalate to the Ministry of Industry and Trade in charge of the gaming activities if you feel unsatisfied.

\r\n

Instantaneous customer winnings payment: We believe in “Tsinda-Dutsinde” and make sure the customer winning paid on the spot.

\r\n

Money Laundering: Inzozi Lotto are adhered with the land of the law for anti-money laundering policies and procedure, we promote the digitals transaction and transparency and we implement Know Your Customer (KYC) at the time of registration on our Web / USSD platform.

\r\n

\r\n Time Limits: We have limited operation time for the day but you can play at anytime.
\r\n Deposits Limit: We enforce the deposit limit in our platform.
\r\n Temporary / Permanent account closure: We provide the facility to the user to suspend the account temporary or can close it permanent and withdraw the balance from the account.\r\n

\r\n
\r\n :\r\n
\r\n

Gukina mu rugero

\r\n

Imyakay’ubukure: UmuntuwemerewegukinaInzozi lotto niuwujujeimayaka 18 kujyanahejuru.
\r\n Gukinantaburiganya :ImikinoyoseyaInzozi Lotto yagenzuweniikigompuzamahangakigengacyaiTech labs and GLI, cyemeza ko ntaburiganyabushoborakuba mu gukinakandi ko amategekoagengaimikinoakurikizwa.\r\n

\r\n

Kunyurwanaserivisidutanga: Twishimirakwakiraibitekerezoby’abakiliyabacuniyompamvutwashyizehoukomwatwandikira :customercare@inzozilotto.rw. Uwabaatishimiyeserivisen’ibisobanurotwamuhaye, yemerewekandikuganaMinisiteriy’ubucuruzin’ingandank’urwegorukurikiranaibigobcuruzaimikinoy’amahirwe.

\r\n

Guhabwaibihembokuburyobwihuse: Interoyacuni “Tsinda – Dutsinde” niyompamvutwabigizeihamegutangaibihembobyatsindiweakokanya.

\r\n

Ihererekanyary’amafaranga mu buryobutemewe: Inzozi lotto ikurikizaamategekon’amabwirizabyshyiriwekwirindaihererekanyary’amafaranga mu buryobutemewe, niyompamvudushyiraimbereikoreshwary’ikoranabuhanga no Gufataamakuruy’abakiliyaigihebiyandikishak’urubugankoranyambagarwacucyangwa mu buryobw’akanyenyeri (ussd platform).

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(SocialResponsibility))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass SocialResponsibility extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pressList: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setjsondata();\r\n window.scrollTo(0, 0);\r\n };\r\n setjsondata = (myJson) => {\r\n //fetch('assets/img/banner/PressBanner.json')\r\n fetch(process.env.REACT_APP_BANNER_URL+'PressBanner.json')\r\n .then(response => response.json())\r\n .then(data =>\r\n this.setState({ pressList: data.data })\r\n );\r\n };\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t('lblPressRelease')}

\r\n
\r\n {this.state.pressList && this.state.pressList.map((x, indx) =>\r\n
\r\n

{x.pressname}

\r\n

{x.title}

\r\n
\r\n \r\n
\r\n {x.linkUrl}\r\n
\r\n )}\r\n {/*
\r\n

The New Times

\r\n

FEATURED: Winner bags Rwf2m in Inzozi Lotto’s new jackpot

\r\n
\r\n \r\n
\r\n https://www.newtimes.co.rw/featured/winner-bags-rwf2m-inzozi-lottos-new-jackpot\r\n
\r\n
\r\n

Kigali today

\r\n

Yatsindiye Miliyoni ebyiri muri Tombola ‘Inzozi Lotto’

\r\n
\r\n \r\n
\r\n https://www.kigalitoday.com/kwamamaza/article/yatsindiye-miliyoni-ebyiri-muri-tombola-inzozi-lotto\r\n
\r\n
\r\n

Igihe

\r\n

Nsabimana yashyikirijwe miliyoni 1 Frw yatsindiye binyuze muri Inzozi Lotto

\r\n
\r\n \r\n
\r\n https://igihe.com/amakuru/article/nsabimana-yashyikirijwe-miliyoni-1-frw-yatsindiye-binyuze-muri-inzozi-lotto\r\n
\r\n
\r\n

Kigali today

\r\n

Video : Nsabimana abaye uwa mbere utsindiye miliyoni muri tombola ‘Inzozi Lotto’

\r\n
\r\n \r\n
\r\n https://www.kigalitoday.com/imikino-11/indi-mikino/Video-Nsabimana-abaye-uwa-mbere-utsindiye-miliyoni-muri-tombola-Inzozi-Lotto\r\n
\r\n
\r\n

The New Times

\r\n

FEATURED : New lottery lanched to boost national sports development

\r\n
\r\n \r\n
\r\n https://www.newtimes.co.rw/featured/new-lottery-launched-boost-national-sport-development\r\n
\r\n
\r\n

Kigali today

\r\n

Sobanukirwa byinshi kuri tombola ‘Inzozi Lotto’ yatangijwe ku mugaragaro

\r\n
\r\n \r\n
\r\n https://www.kigalitoday.com/imikino-11/indi-mikino/article/sobanukirwa-byinshi-kuri-tombola-inzozi-lotto-yatangijwe-ku-mugaragaro\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(SocialResponsibility))","import React, { Component } from 'react'\r\nimport { commonClass } from \"../helpers/commonClass\"\r\nimport { Link } from 'react-router-dom';\r\nclass ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { error: null, errorInfo: null };\r\n }\r\n \r\n componentDidCatch(error, errorInfo) {\r\n let _dd=errorInfo?\", errorInfo : \"+JSON.stringify(errorInfo):\"\";\r\n commonClass.writeLog(error+_dd,\"componentDidCatch\");\r\n //alert(\"dd\");\r\n // alert(error);\r\n //alert(JSON.stringify(errorInfo));\r\n // alert(errorInfo.componentStack);\r\n \r\n // Catch errors in any components below and re-render with error message\r\n this.setState({\r\n error: error\r\n })\r\n this.state.error=error;\r\n // You can also log error messages to an error reporting service here\r\n }\r\n \r\n render() { \r\n if (this.state.error) {\r\n // Error path\r\n return (\r\n
\r\n

Something went wrong.Please try again!. Click

\r\n {/*
\r\n {this.state.error && this.state.error} \r\n
*/}\r\n
\r\n );\r\n }\r\n // Normally, just render children\r\n return this.props.children;\r\n } \r\n }\r\n\r\nexport default ErrorBoundary","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Winners extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n winnerList: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setjsondata();\r\n };\r\n componentDidUpdate() {\r\n\t\twindow.applywinnerslid();\r\n\t};\r\n\r\n setjsondata = (myJson) => {\r\n //fetch('assets/img/banner/banner.json')\r\n fetch(process.env.REACT_APP_BANNER_URL+'WinnerBanner.json',{ mode: 'no-cors'})\r\n .then(response => response.json())\r\n .then(data =>\r\n this.setState({ winnerList: data.data })\r\n );\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t('lblOurWinners')}

\r\n
\r\n
\r\n
    \r\n {this.state.winnerList && this.state.winnerList.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n
\r\n
\r\n\r\n
\r\n
    \r\n {this.state.winnerList && this.state.winnerList.map((x, indx) =>\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {};\r\n}\r\nconst mapActionToProps = {\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Winners))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Header from \"../../Header/Header\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { loginActions } from '../../../action/loginAction';\r\nimport { withTranslation } from 'react-i18next';\r\nvar CryptoJS = require(\"crypto-js\");\r\nvar popUpObj=null;\r\nclass Instant extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.props.GetCasinoGames(this.props.user.mobileNo,1);\r\n }\r\n \r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n };\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n casinoGames: props.casinoGames,\r\n }\r\n };\r\n ecry = (data) => {\r\n var password = 'U2FsdGVkX1/dTA00hg0swnksKTyUdhPWxhPpY1CEqEs=';\r\n var encrypted = CryptoJS.AES.encrypt(data, password);\r\n return encrypted.toString() + \"~\" + password;\r\n };\r\n showModalPopUp = (url, no, key, _categoryID) => {\r\n if (this.props.user==undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n\r\n var type = 1; // indicate demo or money game.\r\n var loginKey = this.props.user.loginKey; // this key get at the time of login.\r\n var userID = this.props.user.mobileNo;\r\n\r\n if (url.indexOf(\"?\") == -1 && url.indexOf(\"html#\") == -1) {\r\n var datastr = type + \"~\" + userID + \"~\" + key + \"~\" + loginKey + \"~\" + this.props.appvariables.currency + \"~rwanda~\" + this.props.appvariables.currency + \"~\" + 1 + \"~\" + 1 + \"~\" + _categoryID;\r\n var data = this.ecry(datastr);\r\n url = url + \"?data=\" + data;\r\n }\r\n else if (url.indexOf(\"html#\") != -1) // for flash games.\r\n {\r\n var isMobile = window.orientation > -1;\r\n var ss = isMobile ? 0 : 1;\r\n var datastr = this.ecry(userID + \"~\" + loginKey) + \"#\" + ss;\r\n url = url + \"data=\" + datastr;\r\n }\r\n //Comment by thamil for open the slat game with same tab.\r\n //popUpObj = window.open(url,key);\r\n if (popUpObj != null) { popUpObj.close(); }\r\n //For restruct multiple tabs\r\n //popUpObj = window.open(url, \"SulivebetingSlotGames\");\r\n popUpObj = window.open(url, userID);\r\n popUpObj.focus();\r\n var _mobNo=this.props.user.mobileNo\r\n var _loginkey=this.props.user.loginKey;\r\n var _lang=this.props.i18n.language; \r\n var pmethod=this.props;\r\n var timer = setInterval(function () {\r\n if (popUpObj.closed) {\r\n clearInterval(timer);\r\n pmethod.getBalance(_mobNo, _loginkey, _lang);\r\n // document.location.reload();\r\n }\r\n }, 500);\r\n };\r\n\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n {this.state.casinoGames && this.state.casinoGames.map((x, inx) =>\r\n
  • { this.showModalPopUp(x.GameUrl, 1, x.GameTypeID, x.CategoryID) }}>{x.GameTypeName}\r\n \r\n
  • \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { appvariables, user } = state.loginReducer;\r\n const { casinoGames } = state.gameReducer;\r\n return { appvariables, user,casinoGames }\r\n}\r\n\r\nconst mapActionToProps = {\r\n GetCasinoGames:gameActions.GetCasinoGames,\r\n getBalance: loginActions.getBalance,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Instant))","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const raffleService = {\r\n GetSearchTicket,\r\n ClearSearchTicket,\r\n OnlineSale\r\n};\r\nconst _apiUrl=process.env.REACT_APP_API_URL;\r\n\r\nfunction GetSearchTicket(data) {\r\n try{\r\n return fetch(`${_apiUrl}/raffle/getSearchTicket`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(results => {\r\n if (results != null && results.data != null) \r\n { results = results.data; }\r\n return results;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction OnlineSale(data) {\r\n try{ \r\n return fetch(`${_apiUrl}/raffle/onlineSale`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction ClearSearchTicket(data) {\r\n try{\r\n return fetch(`${_apiUrl}/raffle/clearSearchTicket`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(results => {\r\n if (results != null && results.data != null) \r\n { results = results.data; }\r\n return results;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n","\r\nimport { appConstants } from '../helpers/actionType';\r\nimport { raffleService } from '../services/raffleService';\r\nimport { history } from '../helpers/history';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nimport { alertActions } from \"../action/alertAction\";\r\nexport const raffleActions = {\r\n GetSearchTicket,\r\n ClearSearchTicket,\r\n ClearSelectionTicket,\r\n Buybet\r\n}\r\n\r\nfunction GetSearchTicket(searchType, searchKey, gameID, mobileNo, loginID, langID) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n //PlayerID,GameID,BetTypeID(1-Full buy,2-Partial buy),TypeID,Number,IpAddress,SecurityKey\r\n let data = `'${mobileNo}',${gameID},1,${searchType},'${searchKey}','0','${loginID}','${langID}'`;\r\n raffleService.GetSearchTicket(data)\r\n .then(\r\n games => {\r\n let lstTicket = games;\r\n dispatch({ type: appConstants.SET_SEARCH_TICKET, lstTicket });\r\n dispatch({ type: appConstants.LOADED });\r\n },\r\n error => {\r\n let lstTicket = [];\r\n dispatch({ type: appConstants.SET_SEARCH_TICKET, lstTicket });\r\n dispatch({ type: appConstants.LOADED });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction ClearSelectionTicket() {\r\n return dispatch => {\r\n let lstTicket = [];\r\n dispatch({ type: appConstants.SET_SEARCH_TICKET, lstTicket });\r\n }\r\n};\r\n\r\nfunction ClearSearchTicket(mobileNo,loginID) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n //PlayerID,IpAddress,SecurityKey\r\n let data = `'${mobileNo}',0,'${loginID}'`;\r\n raffleService.ClearSearchTicket(data)\r\n .then(\r\n games => {\r\n let lstTicket = [];\r\n dispatch({ type: appConstants.SET_SEARCH_TICKET, lstTicket });\r\n dispatch({ type: appConstants.LOADED });\r\n },\r\n error => {\r\n let lstTicket = [];\r\n dispatch({ type: appConstants.SET_SEARCH_TICKET, lstTicket });\r\n dispatch({ type: appConstants.LOADED });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction Buybet(buyStr) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n raffleService.OnlineSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo);\r\n dispatch({ type: appConstants.LOADED });\r\n\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000)\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance = myBet.winbalance;\r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n }\r\n\r\n },\r\n error => {\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction generateBetSlip(mybet) {\r\n try {\r\n let betArr = mybet.split('~');\r\n if (betArr[0] != 0) {\r\n return { status: betArr[0], msg: betArr[1] };\r\n }\r\n let tempStr = betArr[2].split('^');\r\n let tempStr1 = [];\r\n tempStr.forEach(el => {\r\n let tempStr2 = el.split('@');\r\n if (tempStr2.length > 1) {\r\n tempStr1.push({ no: tempStr2[0], amt: tempStr2[1] });\r\n }\r\n });\r\n let _bMsg = \"\";\r\n if (betArr.length > 12) {\r\n _bMsg = betArr[12];\r\n }\r\n let betObj = {\r\n Id: betArr[1],\r\n TransDate: betArr[7],\r\n TransTime: betArr[8],\r\n DrawNo: betArr[6],\r\n DrawDate: betArr[4],\r\n DrawTime: betArr[5],\r\n Ball: tempStr1,\r\n TotalStakeAmount: betArr[3],\r\n GameName: betArr[9],\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: betArr[10],\r\n winbalance: betArr[11],\r\n familyID: 4,\r\n buttomMsg: _bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { lottoActions } from '../../../action/lottoAction';\r\nimport { raffleActions } from '../../../action/raffleAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass Raffle extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n cartItems: [],\r\n currentRunningDraw: {},\r\n currentFinishingDraw: {},\r\n coundownStart: 0,\r\n coundTime: 18900000,\r\n currentDraw: {},\r\n currentAvailableDraws: [],\r\n ballStartNumber: 1,\r\n ballEndNumber: 0,\r\n QPBallCount: 0,\r\n random: [],\r\n showSingleMsg: false,\r\n _serverTimeDiff: 0,\r\n allGameClosed: 0,\r\n isViewAnimation: false,\r\n\r\n searchOptionID: 2, //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n searchkey: '',\r\n lstAvailableTickets: [],\r\n txtSearchMaxLen: 2,\r\n txtSearchEnable: false,\r\n SearchOption: { WholeNumber: 1, Last2: 2, First2: 3, AnyWhere2: 4, QuickPick: 5 }\r\n };\r\n this.my_componentWillUnmount();\r\n if (props.currentGamesFamily.id !== undefined) {\r\n props.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n // this.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language);\r\n }\r\n }\r\n\r\n selectDraw = (_draw) => {\r\n this.props.SetCurrentDraw(_draw);\r\n };\r\n\r\n selectRunningDraw = () => {\r\n if (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\r\n //if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n if (this.state.currentFinishingDraw != undefined) {\r\n //if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n let lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n if (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n let _draw = this.state.currentAvailableDraws[0];\r\n //let _draw = lst[0];\r\n this.setState({\r\n currentRunningDraw: _draw,\r\n })\r\n this.state.currentRunningDraw = _draw;\r\n this.selectDraw(_draw);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let _draw = this.state.currentAvailableDraws[0];\r\n if (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n try {\r\n let sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n if (_draw != undefined) {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n sTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n }\r\n let dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n window.timer = null;\r\n this.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n }\r\n catch (ex) {\r\n alert(ex);\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(previousProps, previousState) {\r\n if (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n this.state.allGameClosed = 0;\r\n }\r\n if (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n //if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) \r\n {\r\n if (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n this.state.allGameClosed = 1\r\n }\r\n let _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n this.selectDraw(_draw);\r\n this.state.currentRunningDraw = _draw;\r\n this.setState({ currentRunningDraw: _draw });\r\n }\r\n };\r\n\r\n my_componentWillUnmount = () => {\r\n this.props.ClearCart();\r\n this.setState({ currentRunningDraw: null });\r\n this.props.ClearAvailableGames();\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n RefreshAfterGameClose = () => {\r\n this.state.coundownStart = 0;\r\n this.state._serverTimeDiff = 0;\r\n this.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n this.state.currentRunningDraw = {};\r\n this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language);\r\n };\r\n\r\n clearCart = () => {\r\n this.props.ClearCart();\r\n };\r\n\r\n clearSearchTicket = () => {\r\n this.setState({ searchkey: \"\" });\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n return;\r\n }\r\n this.props.ClearSearchTicket(this.props.user.mobileNo, this.props.user.loginKey);\r\n };\r\n\r\n removeFromCart = (cid) => {\r\n this.props.RemoveFromCart(cid);\r\n };\r\n\r\n countdownCompleted = () => {\r\n //this.RefreshAfterGameClose();\r\n };\r\n\r\n getGameTime = () => {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n console.log(\"getGameTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n\r\n // Renderer callback with condition\r\n renderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n if (completed) {\r\n // Render a completed state\t\t\t\r\n return {this.props.t('lblDrawClosed')}!;\r\n } else {\r\n // Render a countdown\r\n return {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n }\r\n };\r\n\r\n getServerTime = () => {\r\n if (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n console.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n return this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n }\r\n else {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n var sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n this.state._serverTimeDiff = sTime;\r\n console.log(\"getServerTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n };\r\n\r\n reCount = (rundraw) => {\r\n if (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n return {this.props.t('lblDrawClosed')}!;\r\n }\r\n else {\r\n this.state.coundownStart = 1;\r\n return { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
{this.props.t('lblDrawClosed')}
:
{zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
) }} />
;\r\n }\r\n };\r\n\r\n BuyLotteryBet = () => {\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n alert(this.props.t('lblplcurbet'));\r\n return;\r\n }\r\n let totstake = this.state.cartItems.reduce((a, b) => a = a + b.amount, 0);\r\n let minTotStake = 200;\r\n let maxTotStake = 10000;\r\n if (this.state.currentGamesFamily != undefined) {\r\n minTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n maxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n }\r\n if (totstake < minTotStake) //300\r\n {\r\n alert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n return;\r\n }\r\n else if (totstake > maxTotStake)//10000\r\n {\r\n alert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n return;\r\n }\r\n var sTime = new Date(this.props.serverTime);\r\n let TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\r\n let betInfo = \"\";\r\n let _betType = \"1\"; //0-partial,1-full \r\n this.state.cartItems.forEach(element => {\r\n betInfo += element.TicketID + \"~\" + _betType + \"~\" + element.TicketNo + \"|\";\r\n });\r\n let butStr = `'${this.props.user.mobileNo}',${this.state.cartItems[0].gameID},'${betInfo}','${TransID}',0,'${this.props.user.loginKey}','${this.props.i18n.language}'`;\r\n this.props.Buybet(butStr);\r\n this.clearSearchTicket();\r\n this.clearCart();\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n currentAvailableDraws: props.currentAvailableDraws,\r\n cartItems: props.cartItems,\r\n currentDraw: props.currentDraw,\r\n currentGamesFamily: props.currentGamesFamily,\r\n latestResult: props.latestResult,\r\n lstAvailableTickets: props.AvailableTickets\r\n };\r\n };\r\n\r\n selectTicket = (_ticket) => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n this.state.showSingleMsg = true;\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (_ticket.Status != 0 && _ticket.Status != 5) {\r\n alert(this.props.t('lblUnableBuyTicket'));\r\n return;\r\n }\r\n let obj = this.state.cartItems.filter(x => x.id == _ticket.TicketNo);\r\n if (obj.length > 0) {\r\n _ticket.Active = false;\r\n this.removeFromCart(_ticket.TicketNo);\r\n }\r\n else {\r\n _ticket.Active = true;\r\n var objLst = {};\r\n objLst.gameName = this.state.currentDraw.LotName;\r\n objLst.drawID = this.state.currentDraw.DrawID;\r\n objLst.gameID = this.state.currentDraw.GameId;\r\n objLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime;\r\n objLst.amount = this.state.currentDraw.RateInPs;\r\n objLst.TicketNo = _ticket.TicketNo;\r\n objLst.id = _ticket.TicketNo;\r\n objLst.TicketID = _ticket.TransactionID;\r\n this.props.AddToCart(objLst);\r\n }\r\n let dd = this.state.lstAvailableTickets;\r\n this.setState({ lstAvailableTickets: dd });\r\n };\r\n\r\n setSearchOption = (op) => {\r\n let _len = 0;\r\n let _txtenable = false;\r\n //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n if (op == this.state.SearchOption.WholeNumber) {\r\n _len = 6;\r\n }\r\n else if (op == this.state.SearchOption.QuickPick) {\r\n _txtenable = true;\r\n }\r\n else {\r\n _len = 2;\r\n }\r\n this.state.txtSearchEnable = _txtenable;\r\n this.setState({ txtSearchEnable: _txtenable });\r\n this.state.txtSearchMaxLen = op;\r\n this.setState({ txtSearchMaxLen: _len });\r\n this.state.searchOptionID = op;\r\n this.setState({ searchOptionID: op });\r\n this.setState({ searchkey: '' });\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n searchTickets = () => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.searchkey == '' && this.state.searchOptionID != this.state.SearchOption.QuickPick) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 2 && (this.state.searchOptionID != this.state.SearchOption.WholeNumber && this.state.searchOptionID != this.state.SearchOption.QuickPick)) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 6 && this.state.searchOptionID == this.state.SearchOption.WholeNumber) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n this.props.GetSearchTicket(this.state.searchOptionID, this.state.searchkey, this.state.currentDraw.GameId, this.props.user.mobileNo, this.props.user.loginKey, this.props.i18n.language);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n IGITEGO-MILLION\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.reCount(this.state.currentRunningDraw)}\r\n
\r\n
\r\n {this.state.cartItems.length}\r\n

{this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n { if (/^[0-9\\b]+$/.test(e.target.value) == true || e.target.value == \"\") this.setState({ searchkey: e.target.value }) }} />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {this.state.lstAvailableTickets.length > 0 && this.state.lstAvailableTickets[0].Status == 5 &&

{this.props.t('lblSimilarTicket')}

}\r\n {this.state.lstAvailableTickets.map((x, inx) =>\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

{this.props.t('lblgameslip')}

\r\n

You've got 30% of chance to win.shop more tickets to get more chance

\r\n
\r\n\r\n {(this.state.cartItems && this.state.cartItems.length > 0) ?
    \r\n
  • \r\n {this.props.t('lblTicketNo')}\r\n {this.props.t('lblAmount')}\r\n
  • \r\n {this.state.cartItems.map((x, indx) =>\r\n
  • \r\n {x.TicketNo}\r\n {x.amount}\r\n this.removeFromCart(x.id)}>\r\n
  • \r\n )}\r\n
:\r\n

{this.props.t('lblPlaceYourTicket')}

}\r\n
\r\n
\r\n
    \r\n
  • {this.state.cartItems.length}
  • \r\n
  • {this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n const { serverTime } = state.commonReducer;\r\n const { user } = state.loginReducer;\r\n const { cartItems, currentDraw } = state.lottoReducer;\r\n const { AvailableTickets } = state.raffleReducer;\r\n return { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, latestResult, AvailableTickets };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GameFamily: gameActions.GameFamily,\r\n GameAvailableGames: gameActions.GameAvailableGames,\r\n AddToCart: lottoActions.AddToCart,\r\n RemoveFromCart: lottoActions.RemoveFromCart,\r\n RemoveClosedDrawbetFromCart: lottoActions.RemoveClosedDrawbetFromCart,\r\n SetCurrentDraw: lottoActions.SetCurrentDraw,\r\n ClearCart: lottoActions.ClearCart,\r\n Buybet: raffleActions.Buybet,\r\n GetLatestResult: gameActions.GetLatestResult,\r\n ClearAvailableGames: gameActions.ClearAvailableGames,\r\n\r\n GetSearchTicket: raffleActions.GetSearchTicket,\r\n ClearSelectionTicket: raffleActions.ClearSelectionTicket,\r\n ClearSearchTicket: raffleActions.ClearSearchTicket\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Raffle))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\n//Pick3 Left\r\nclass pick3Left extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.props.currentAvailableDraws && this.props.currentAvailableDraws.length>0 ? this.props.currentAvailableDraws.map((x, indx) =>\r\n\t\t\t\t\t\t
  • { this.props.selectDraw(x) }} className={(this.props.currentDraw != undefined && x.DrawID == this.props.currentDraw.DrawID) ? \"Active\" : \"\"}>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{x.DrawTime}\r\n\t\t\t\t\t\t\t\t\t{x.DrawDate}\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t) :\r\n\t\t\t\t\t\t
  • {t('lblNoMoreDraws')}
  • \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\nfunction mapStateToProps(state) {\r\n\tconst { user } = state.loginReducer;\r\n\tconst { currentDraw } = state.quickWinReducer;\r\n\treturn { user, currentDraw };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\t//SetCurrentDraw:lottoActions.SetCurrentDraw,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(pick3Left))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { quickWinActions } from '../../../action/quickWinAction';\r\nimport { withTranslation } from 'react-i18next';\r\n//Pick3 Right\r\nclass pick3Right extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stake: 0\r\n }\r\n }\r\n\r\n setUpdateStake = (stake) => {\r\n this.setState({\r\n stake: stake\r\n })\r\n this.props.UpdateStakeAll(stake);\r\n };\r\n\r\n updatesStakeValue = (bid, flog) => {\r\n if (this.state.cartItems != null) {\r\n let lst = this.state.cartItems.filter(a => a.id == bid);\r\n if (lst != null && lst != undefined && lst.length > 0) {\r\n lst = lst[0];\r\n if (flog == \"+\") {\r\n if (lst.stakeValue + lst.multiStake > lst.maxStake) {\r\n alert(this.props.t('lblMaximumstake') + \" : \" + lst.maxStake);\r\n return;\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue + lst.multiStake;\r\n }\r\n else if (flog == \"-\") {\r\n if (lst.stakeValue - lst.multiStake < lst.minStake) {\r\n alert(this.props.t('lblMinimumstake') + \" : \" + lst.minStake);\r\n return\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue - lst.multiStake;\r\n }\r\n lst.total = lst.stakeValue * lst.oddsValue;\r\n this.props.UpdateCartAll(lst);\r\n }\r\n }\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n cartItems: props.cartItems\r\n };\r\n }\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n

{t('lblgameslip')}

\r\n {this.state.cartItems && this.state.cartItems.length <= 0 &&
\r\n

{t('lblplcurbet')}

\r\n
}\r\n
\r\n\r\n
    \r\n {this.state.cartItems && this.state.cartItems.map((x, indx) =>\r\n
  • \r\n
    \r\n
    \r\n {x.balls && x.balls.map((bx, indx1) => {(bx.id).split('_')[1]}\r\n \r\n )}
    \r\n
    #{x.drawNo}
    \r\n
    \r\n
    \r\n { this.updatesStakeValue(x.id, \"-\") }}>-\r\n \r\n { this.updatesStakeValue(x.id, \"+\") }}>+\r\n
    \r\n
    \r\n
    \r\n
    \r\n {x.total}\r\n {x.oddsValue}X\r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n )}\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {t('lbltotbet')} : {this.state.cartItems.length}\r\n
\r\n
\r\n {t('lbltotstak')} : {this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0)}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {/*
\r\n ENTER STAKE VALUE\r\n this.setUpdateStake(e.target.value)}/>\r\n
*/}\r\n
\r\n
\r\n

{t('lbllatresult')}

\r\n
    \r\n {this.props.latestResult ? this.props.latestResult.map((x, indx) =>\r\n
  • \r\n
    \r\n
    \r\n {x.WinningNo.split(\"\").map((bx, indx1) =>\r\n {bx}\r\n )}
    \r\n
    #{x.DrawNo}
    \r\n
    {x.Drawdatetime}
    \r\n
    \r\n
  • ) :
    }\r\n
\r\n {/*
\r\n View All Results\r\n
*/}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { cartItems } = state.quickWinReducer;\r\n return { user, cartItems };\r\n}\r\n\r\nconst mapActionToProps = {\r\n UpdateStakeAll: quickWinActions.UpdateStakeAll,\r\n UpdateCartAll: quickWinActions.UpdateCartAll,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(pick3Right))","import React, { Component } from \"react\";\r\nimport Unity, { UnityContext } from \"react-unity-webgl\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass webGLApp extends Component {\r\n constructor(props) {\r\n super(props); \r\n this.state={progression:0};\r\n }\r\n\r\n unityContext = new UnityContext({\r\n loaderUrl: \"assets/WebGL/P3/P3.loader.js\",\r\n dataUrl: \"assets/WebGL/P3/P3.data\",\r\n frameworkUrl: \"assets/WebGL/P3/P3.framework.js\",\r\n codeUrl: \"assets/WebGL/P3/P3.wasm\",\r\n });\r\n\r\n\r\n\r\n // unityContent = new UnityContent(\r\n // \"assets/WebGL/QW/Q1.json\",\r\n // \"assets/WebGL/QW/UnityLoader.js\"\r\n // )\r\n\r\n\r\n fnWelcome = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n //let ssd=_flog.style.cursor;\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n this.unityContext.send(\"Inputcontroller\", \"WelcomeData\", strkey)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~2~3:00:00\");\r\n // },5000)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~5~3:00:00\");\r\n // },90000)\r\n\r\n }\r\n }, 1000);\r\n\r\n }\r\n fnStartAnimation = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");//document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n clearInterval(tmr); \r\n //strkey = \"ThOtArPuElLaThA~1~11/11/11~11:00 AM~Test~2,1,7~3:00:00\";\r\n this.unityContext.send(\"Inputcontroller\", \"ResultData\", strkey);\r\n }\r\n }, 1000);\r\n }\r\n componentDidMount() {\r\n this.setState({ proCompleted: 0 });\r\n this.props.fnWelcome(this.fnWelcome);\r\n this.props.fnStartAnimation(this.fnStartAnimation);\r\n let sss=this;\r\n this.unityContext.on(\"progress\", function (_prog) {\r\n sss.setState({progression:_prog});\r\n });\r\n // this.fnUnityLoaded();\r\n\r\n }\r\n // fnUnityLoaded = () => {\r\n // this.unityContent.on(\"loaded\", function () {\r\n // alert(\"loaded\")\r\n // });\r\n // this.unityContext.on(\"progress\", function (progression) {\r\n // console.log(\"progression : \"+progression);\r\n // // this.setState({proCompleted:progression});\r\n // });\r\n // }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (
\r\n {/* \r\n */}\r\n {/* */}\r\n {this.state.progression!=1 &&

{t('lblLoading')} {parseInt(this.state.progression * 100)} %...

}\r\n \r\n
\r\n )\r\n }\r\n\r\n}\r\nexport default withTranslation()(webGLApp)\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport Pick3Left from \"./pick3Left\";\r\nimport Pick3Right from \"./pick3Right\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { quickWinActions } from '../../../action/quickWinAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport WebGLApp from \"./webGL\";\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport $ from 'jquery';\r\n//Pick3 Index\r\nclass pick3 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcartItems: [],\r\n\t\t\tballItem: [],\r\n\t\t\tcurrentRunningDraw: {},\r\n\t\t\tcurrentFinishingDraw: {},\r\n\t\t\tcoundownStart: 0,\r\n\t\t\tcoundTime: 18900000,\r\n\t\t\tcurrentDraw: {},\r\n\t\t\tcurrentAvailableDraws: [],\r\n\t\t\tcurrentCartItem: { id: 0, balls: [], stakeValue: 300, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0, ballCount: 0, combination: 0, multiStake: 0, maxStake: 10000, minStake: 300 },\r\n\r\n\t\t\tballStartNumber: 0,\r\n\t\t\tballEndNumber: 0,\r\n\t\t\tQPBallCount: 0,\r\n\t\t\trandom: [],\r\n\t\t\tshowSingleMsg: false,\r\n\t\t\t_serverTimeDiff: 0,\r\n\t\t\tallGameClosed: 0,\r\n\t\t\tisViewAnimation: false,\r\n\t\t\twebglInit: false,\r\n\t\t\ttimerGetResult: null,\r\n\t\t\ttimerGetLatestResult: null,\r\n\t\t\ttimerGetResultCount: 0,\r\n\t\t};\r\n\t\tthis.my_componentWillUnmount();\r\n\t\tif (props.currentGamesFamily.id !== undefined) {\r\n\t\t\tprops.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\tprops.GetLatestResult(props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\t// let ss = Date.now;\r\n\t\t\t// let ssss = ss();\r\n\t\t\t// console.log(\"Date.now : \" + ss);\r\n\t\t}\r\n\t}\r\n\r\n\tcalculateLottoPermCombinations = (classType, ballscnt) => {\r\n\t\ttry {\r\n\t\t\tvar i;\r\n\t\t\tvar Numerator = 1;\r\n\t\t\tvar Denominator = 1;\r\n\t\t\tvar NetResult, Perm;\r\n\t\t\tPerm = classType;\r\n\t\t\tfor (i = 0; i < Perm; i++) {\r\n\t\t\t\tNumerator = Numerator * ballscnt;\r\n\t\t\t\tballscnt = ballscnt - 1;\r\n\t\t\t}\r\n\t\t\tdo {\r\n\t\t\t\tDenominator = Denominator * Perm;\r\n\t\t\t\tPerm = Perm - 1;\r\n\t\t\t} while (Perm != 0);\r\n\t\t\tNetResult = Numerator / Denominator;\r\n\t\t\treturn NetResult;\r\n\t\t} catch (ex) {\r\n\t\t}\r\n\t\treturn 0;\r\n\t};\r\n\r\n\tcheckBallCountAndCalculateCombination = (selectedCount) => {\r\n\t\tlet default_Min_val = this.state.currentGamesFamily.minSelect;\r\n\t\tlet default_max_val = this.state.currentGamesFamily.maxSelect;\r\n\t\tlet default_val = default_Min_val;\r\n\t\tlet resultStr = \"\";\r\n\t\tif (default_Min_val <= selectedCount && default_max_val >= selectedCount) {\r\n\t\t\tresultStr = \"1~\" + this.calculateLottoPermCombinations(default_val, selectedCount);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (default_max_val < selectedCount) {\r\n\t\t\t\tresultStr = \"0~\" + this.props.t('lblMaximumselection') + \" : \" + default_max_val;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tresultStr = \"1~0\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn resultStr;\r\n\t};\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tcurrentAvailableDraws: props.currentAvailableDraws,\r\n\t\t\tcartItems: props.cartItems,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentGamesFamily: props.currentGamesFamily,\r\n\t\t\tlatestResult: props.latestResult,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentResult: props.currentResult\r\n\t\t};\r\n\t};\r\n\r\n\tcreateBall = () => {\r\n\t\tlet ballLst = [];\r\n\t\tlet pick3Lst = [];\r\n\t\tif (this.state.currentGamesFamily != undefined && this.state.currentDraw != null && Object.keys(this.state.currentDraw).length > 0) {\r\n\t\t\tfor (let j = 1; j <= 3; j++) {\r\n\t\t\t\tlet row_i = j;\r\n\t\t\t\tfor (let i = this.state.ballStartNumber; i <= this.state.currentGamesFamily.ball + this.state.ballStartNumber; i++) {\r\n\t\t\t\t\tlet b_i = i;\r\n\t\t\t\t\tballLst.push(
{ this.selectBall(b_i, row_i) }} className={`lottoBalls2 ${this.state.currentCartItem.balls.filter(x => x.id == row_i + \"_\" + b_i).length > 0 ? \"lottoBallsActive\" : \"\"}`}>{b_i}
);\r\n\t\t\t\t}\r\n\t\t\t\tpick3Lst.push(
  • {ballLst}
  • );\r\n\t\t\t\tballLst = [];\r\n\t\t\t}\r\n\r\n\t\t\tthis.state.ballEndNumber = this.state.currentGamesFamily.ball + (-1 + this.state.ballStartNumber);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn
    Draw Closed
    ;\r\n\t\t}\r\n\t\treturn pick3Lst;\r\n\t};\r\n\r\n\tshowSingleMsg = false;\r\n\tselectBall = (b_id, row_id, isQP) => {\r\n\t\t//alert(\"isQP\");\r\n\t\tif (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n\t\t\tthis.state.showSingleMsg = true; alert(this.props.t('lblSelectDraw')); return;\r\n\t\t}\r\n\t\tlet obj1 = row_id + \"_\" + b_id;\r\n\t\tlet obj = this.state.currentCartItem.balls.filter(x => x.id == obj1);\r\n\t\tif ($(\"#row_\" + row_id + \" #ball_\" + b_id).hasClass(\"lottoBallsActive\") && isQP != 2) {\r\n\t\t\t$(\"#row_\" + row_id + \" #ball_\" + b_id).removeClass(\"lottoBallsActive\");\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvar objBall = $(\"#row_\" + row_id + \" div.lottoBalls2.lottoBallsActive\").length;\r\n\t\t\tif (objBall > 0 && isQP != 2) {\r\n\t\t\t\talert('Invalid Combination');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet cnt = 0;\r\n\t\tif (obj.length <= 0) {\r\n\t\t\tcnt = this.state.currentCartItem.ballCount + 1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tcnt = this.state.currentCartItem.ballCount - 1;\r\n\t\t}\r\n\t\tvar checkResult = this.checkBallCountAndCalculateCombination(cnt);\r\n\t\tlet arrResult = checkResult.split('~');\r\n\t\tif (arrResult[0] == '0') { this.state.showSingleMsg = true; alert(arrResult[1]); return; }\r\n\r\n\t\tlet objLst = this.state.currentCartItem;\r\n\t\tif (obj.length > 0) {\r\n\t\t\tobjLst.ballCount--;\r\n\t\t\tobjLst.balls = this.state.currentCartItem.balls.filter(x => x.id !== obj1);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tobjLst.gameName = this.state.currentDraw.LotName;\r\n\t\t\tobjLst.drawID = this.state.currentDraw.DrawID;\r\n\t\t\tobjLst.gameID = this.state.currentDraw.GameId;\r\n\t\t\tobjLst.drawNo = this.state.currentDraw.DrawNo;\r\n\t\t\tobjLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime\r\n\t\t\tobjLst.ballCount++;\r\n\t\t\tobjLst.oddsValue = this.state.currentDraw.RateInPs;\r\n\t\t\tobjLst.multiStake = 50;\r\n\r\n\t\t\t///by thamil for fix the re order issue\r\n\t\t\tlet newid = 1;\r\n\t\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t\t}\r\n\t\t\tobjLst.bMax = newid + 1;\r\n\t\t\tobjLst.balls.push({ id: obj1 });\r\n\t\t}\r\n\t\tobjLst.combination = parseInt(arrResult[1]);\r\n\t\tobjLst.total = objLst.stakeValue * objLst.oddsValue;\r\n\r\n\t\tthis.setState({\r\n\t\t\tcurrentCartItem: objLst\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tselectDraw = (_draw) => {\r\n\t\tthis.props.SetCurrentDraw(_draw);\r\n\t};\r\n\r\n\tselectRunningDraw = () => {\r\n\t\tif (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\r\n\t\t\t//if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\tif (this.state.currentFinishingDraw != undefined) {\r\n\t\t\t\t//if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n\t\t\t\tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t\tif (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\t\t\t//let _draw = lst[0];\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentRunningDraw: _draw,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\t\t\tthis.selectDraw(_draw);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\t// \tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t// \tif (lst.length > 0) {\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\tif (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n\t\t\ttry {\r\n\t\t\t\tlet sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n\t\t\t\tif (_draw != undefined) {\r\n\t\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\t\tlet ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\t\tsTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n\t\t\t\t}\r\n\t\t\t\tlet dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n\t\t\t\twindow.timer = null;\r\n\t\t\t\tthis.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\talert(ex);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(previousProps, previousState) {\r\n\t\tif ((previousState.currentResult != this.state.currentResult) || (this.state.currentResult && this.state.currentResult.indexOf(\"1~\") == 0)) {\r\n\t\t\tconsole.log(\"start startAnimationWebGL in componentDidUpdate with : \" + this.state.currentResult);\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n\t\t//if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) \r\n\t\t{\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\t//window.documentReadyjQuery();\r\n\t\t//setTimeout(\tthis.RefreshAfterGameClose,10000);\r\n\t\t//setInterval(() => {\t\tthis.RefreshAfterGameClose()\t }, 60*1000); \r\n\t\t//window.documentReadyjQuery();\r\n\t\twindow.addEventListener('resize', window.documentReadyResize);\r\n\t\t//window.loadWebGL();\r\n\t\t//window.WelcomeAnimationScreen();\r\n\t\t//this.setWelcomScreenWebGL();\r\n\t};\r\n\tmy_componentWillUnmount = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\tcurrentRunningDraw: null,\r\n\t\t})\r\n\t\tthis.props.ClearAvailableGames();\r\n\t}\r\n\r\n\tRefreshAfterGameClose = () => {\r\n\t\tthis.state.coundownStart = 0;\r\n\t\tthis.state._serverTimeDiff = 0;\r\n\t\tthis.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n\r\n\t\tthis.props.RemoveClosedDrawbetFromCart(this.state.currentFinishingDraw.DrawID);\r\n\t\tsetTimeout(() => { this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language) }, 2000)\r\n\t\tthis.state.currentRunningDraw = {};\r\n\t\tconsole.log(\"RefreshAfterGameClose drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\tthis.state.timerGetResultCount = 0;\r\n\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId) }, 5000);\r\n\r\n\t};\r\n\r\n\r\n\tsetWelcomScreenWebGL = () => {\r\n\t\tif (this.state.currentRunningDraw && this.state.currentRunningDraw.DrawDateTime) {\r\n\t\t\tvar s = this.state.currentRunningDraw.DrawDateTime.split(' ');\r\n\t\t\tvar strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.LotName + \"~\" + this.state.currentRunningDraw.DrawNo + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t//let strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n\t\t\tconsole.log(\"start setWelcomScreenWebGL\");\r\n\t\t\tthis.fnWelcome(strkey);\r\n\t\t}\r\n\t}\r\n\tstartAnimationWebGL = () => {\r\n\t\t//alert(\"call animate\");\r\n\t\t//this.state.currentResult=\"0~1~142~05/09/2021~10:00 AM~Quick Win~978\";\r\n\t\tif (this.state.currentResult) {\r\n\t\t\tlet arr = this.state.currentResult.split(\"~\");\r\n\t\t\tif (arr[0] == \"0\") {\r\n\t\t\t\t//var s = this.state.currentRunningDraw.Drawdatetime.split(' ');\r\n\t\t\t\t//var strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.GameName + \"~\" + this.state.currentRunningDraw.GameID + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t\tlet strkey = \"ThOtArPuElLaThA~\" + this.state.currentResult.substring(2, this.state.currentResult.length);\r\n\t\t\t\tvar s = this.state.currentDraw ? this.state.currentDraw.DrawTime : \"No More\";\r\n\t\t\t\tif (s != null) {\r\n\t\t\t\t\tstrkey = strkey + \"~\" + s;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstrkey = strkey + \"~00:00\";\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(\"start startAnimationWebGL with : \" + strkey);\r\n\t\t\t\tthis.viewAnimationResult(1);\r\n\t\t\t\tthis.fnStartAnimation(strkey);\r\n\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tthis.state.timerGetResult = null;\r\n\t\t\t\tthis.state.timerGetResultCount = 0;\r\n\t\t\t\tthis.state.timerGetLatestResult = setTimeout(() => { this.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language) }, 45000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.state.timerGetResult)\r\n\t\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tif (this.state.timerGetResultCount < 5) {\r\n\t\t\t\t\tconsole.log(\"GetCurrentResult drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\t\t\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId, this.props.i18n.language) }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.timerGetResultCount++;\r\n\t\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//\tthis.props.GetCurrentResult(this.state.currentDraw.DrawNo)\r\n\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tfnWelcome = () => {\r\n\t}\r\n\tfnStartAnimation = () => {\r\n\t}\r\n\tviewAnimationResult = (flog) => {\r\n\t\tif (flog == 1 && this.state.isViewAnimation == true) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ isViewAnimation: !this.state.isViewAnimation });\r\n\t}\r\n\r\n\taddToCart = () => {\r\n\t\tif (this.state.currentCartItem.combination <= 0) { alert(this.props.t('lblCompleteGame')); return; }\r\n\t\tlet newid = 1;\r\n\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.id), this.state.cartItems[0].id);\r\n\t\t}\r\n\t\tthis.state.currentCartItem.id = newid + 1;\r\n\t\tthis.props.AddToCart(this.state.currentCartItem);\r\n\t\tthis.clearAfterAddToCart();\r\n\t};\r\n\r\n\tclearAfterAddToCart = () => {\r\n\t\tthis.setState({\r\n\t\t\tcurrentCartItem: { id: 0, balls: [], stakeValue: 300, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0, ballCount: 0, combination: 0, multiStake: 0, maxStake: 10000, minStake: 300 },\r\n\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tclearCart = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\tquickPick = () => {\r\n\t\tif (this.state.currentCartItem.balls.length == this.state.currentGamesFamily.maxSelect) {\r\n\t\t\tthis.state.currentCartItem = { id: 0, balls: [], stakeValue: 300, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0, ballCount: 0, combination: 0, multiStake: 0, maxStake: 10000, minStake: 300 };\r\n\t\t\tthis.clearAfterAddToCart();\r\n\t\t}\r\n\t\tthis.state.random = this.state.currentCartItem.balls.map(a => a.id);\r\n\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect - this.state.random.length;\r\n\t\tif (this.state.QPBallCount <= 0) {\r\n\t\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect;\r\n\t\t}\r\n\t\tlet row_id = 0;\r\n\t\tvar index = -1;\r\n\t\tfor (var k = this.state.ballStartNumber; k < this.state.QPBallCount; k++) {\r\n\t\t\tindex = this.generateRandomInteger();\r\n\t\t\tlet _bal = index\r\n\t\t\trow_id++;\r\n\t\t\tlet d=this.state.currentCartItem.balls.filter(a=>a.id.indexOf(row_id)==0);\r\n\t\t\tif(d.length<=0)\r\n\t\t\t{\r\n\t\t\tthis.selectBall(_bal,row_id,2);\t\t\t\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tk--;\r\n\t\t\t}\r\n\t\t\tif (this.state.showSingleMsg == true) {\r\n\t\t\t\tthis.state.showSingleMsg = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tgenerateRandomInteger = () => {\r\n\t\tvar min = this.state.ballStartNumber;\r\n\t\tvar max = this.state.ballEndNumber;\r\n\t\tif (this.state.random.length >= this.state.QPBallCount) {\r\n\t\t\tthis.state.random = [];\r\n\t\t}\r\n\t\tfor (var i = min; i <= max; i++) {\r\n\t\t\tvar temp = Math.floor(max - Math.random() * (max - min));\r\n\t\t\t//temp = (\"0\" + temp).slice(-2);\r\n\t\t\t//temp=i;\r\n\t\t\tif (this.state.random.indexOf(temp) == -1) {\r\n\t\t\t\tthis.state.random.push(temp);\r\n\t\t\t\treturn temp;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tremoveFromCart = (cid) => {\r\n\t\tthis.props.RemoveFromCart(cid);\r\n\t};\r\n\r\n\tcountdownCompleted = () => {\r\n\t\tthis.RefreshAfterGameClose();\r\n\t};\r\n\r\n\tgetGameTime = () => {\r\n\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n\t\t\tconsole.log(\"getGameTime : \" + sTime);\r\n\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\treturn sTime;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t};\r\n\r\n\t// Renderer callback with condition\r\n\trenderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n\t\tif (completed) {\r\n\t\t\t// Render a completed state\t\t\t\r\n\t\t\treturn Draw Closed!;\r\n\t\t} else {\r\n\t\t\t// Render a countdown\r\n\t\t\treturn {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n\t\t}\r\n\t};\r\n\r\n\tgetServerTime = () => {\r\n\t\tif (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n\t\t\t//return this.state._serverTimeDiff+Date.now()+1000;\r\n\t\t\tconsole.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n\t\t\treturn this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\tlet ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\tvar sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n\t\t\t\t//this.state._serverTimeDiff=Date.now()-sTime;\r\n\t\t\t\tthis.state._serverTimeDiff = sTime;\r\n\t\t\t\tconsole.log(\"getServerTime : \" + sTime);\r\n\t\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\t\treturn sTime;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treCount = (rundraw) => {\r\n\t\t//return ;\r\n\t\t//return ;\t\t\r\n\t\t//return ;\r\n\r\n\t\tif (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.coundownStart = 1;\r\n\t\t\treturn { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
    {this.props.t('lblDrawClosed')}
    :
    {this.props.t('lblnextdraw')} {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
    ) }} />
    ;\r\n\t\t}\r\n\t};\r\n\r\n\tBuyLotteryBet = () => {\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\talert(this.props.t('lblLoginValidation'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n\t\t\talert(this.props.t('lblplcurbet'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet totStake = this.state.cartItems.reduce((a, b) => a = a + b.stakeValue, 0);\r\n\t\tlet minTotStake = 500;\r\n\t\tlet maxTotStake = 20000;\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tminTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n\t\t\tmaxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n\t\t}\r\n\r\n\t\tif (totStake < minTotStake)//300\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if (totStake > maxTotStake)//10000\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\t//let cartList = this.state.cartItems.sort((a, b) => (a.drawID > b.drawID) ? 1 : -1);\t\t\r\n\t\tlet cartList = this.state.cartItems.sort((a, b) => a.drawID - b.drawID);\r\n\t\tlet transactionString = \"\";\r\n\t\tlet gamestring = \"\";\r\n\t\tlet subgameId = 0;\r\n\t\tcartList.forEach(item => {\r\n\t\t\tif (subgameId != 0 && subgameId != item.drawID) {\r\n\t\t\t\tgamestring += \"*\";\r\n\t\t\t}\r\n\t\t\tif (subgameId != item.drawID) {\r\n\t\t\t\tgamestring += item.drawID + \"-\" + item.gameID;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgamestring += item.gameID;\r\n\t\t\t}\r\n\t\t\tgamestring += \"^0\";\r\n\t\t\tlet ballData = item.balls.reduce((result, item) => { return `${result}${item.id.split('_')[1]}` }, \"\");\r\n\t\t\tgamestring += \"^\" + ballData;\r\n\t\t\tgamestring += \"^\" + parseInt(item.stakeValue);\r\n\t\t\tgamestring += \"^\" + parseInt(item.total);\r\n\t\t\tgamestring += \"^\" + item.oddsValue;\r\n\t\t\tgamestring += \"^0^|\";\r\n\t\t\tsubgameId = item.drawID;\r\n\t\t})\r\n\t\tgamestring += \"*\";\r\n\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo.substring(this.props.user.mobileNo.length - 4);\r\n\r\n\t\tlet betoption = \"2\";\r\n\r\n\t\ttransactionString += `'${this.props.user.mobileNo}',`;\r\n\t\ttransactionString += `'${TransID}',`;\r\n\t\ttransactionString += `'${gamestring}',`;\r\n\t\ttransactionString += `'-',`;\r\n\t\ttransactionString += `${betoption},`;\r\n\t\ttransactionString += `'${this.props.user.loginKey}','0','0','${this.props.i18n.language}'`;\r\n\r\n\t\tthis.props.BuybetPick3(transactionString);\r\n\t\tthis.clearCart();\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t\t{t('lbllatresult')}\r\n\r\n\t\t\t\t\t\t\t\t{t('lblgameslip')} {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{/*
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\tGame Slip {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    */}\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.reCount(this.state.currentRunningDraw)}\r\n\t\t\t\t\t\t\t\t\t{this.state.currentDraw ? this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime : '-'}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t { this.viewAnimationResult() }} >{this.state.isViewAnimation ? t('lblHide') : t('lblShow')}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t { this.fnWelcome = dd; }} fnStartAnimation={(dd) => { this.fnStartAnimation = dd; }} />\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{t('lbloddsval')} : {this.state.currentDraw ? this.state.currentDraw.RateInPs : 0}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{this.createBall()}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { user } = state.loginReducer;\r\n\tconst { cartItems, currentDraw, stakeAll, currentResult } = state.quickWinReducer;\r\n\treturn { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, stakeAll, latestResult, currentResult };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n\tAddToCart: quickWinActions.AddToCart,\r\n\tRemoveFromCart: quickWinActions.RemoveFromCart,\r\n\tRemoveClosedDrawbetFromCart: quickWinActions.RemoveClosedDrawbetFromCart,\r\n\tSetCurrentDraw: quickWinActions.SetCurrentDraw,\r\n\tClearCart: quickWinActions.ClearCart,\r\n\tBuybetPick3: quickWinActions.BuybetPick3,\r\n\tGetLatestResult: gameActions.GetLatestResult,\r\n\tGetCurrentResult: quickWinActions.GetCurrentResult,\r\n\tClearAvailableGames: gameActions.ClearAvailableGames\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(pick3));\r\n\r\n\r\n\r\n\r\n//dsfas","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\nclass RouletteLeft extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t}\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t{this.props.currentAvailableDraws && this.props.currentAvailableDraws.length>0 ? this.props.currentAvailableDraws.map((x, indx) =>\r\n\t\t\t\t\t\t
    • { this.props.selectDraw(x) }} className={(this.props.currentDraw != undefined && x.DrawID == this.props.currentDraw.DrawID) ? \"Active\" : \"\"}>\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{x.DrawTime}\r\n\t\t\t\t\t\t\t\t\t{x.DrawDate}\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t) :\r\n\t\t\t\t\t\t
    • {t('lblNoMoreDraws')}
    • \r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { user } = state.loginReducer;\r\n\tconst { currentDraw } = state.quickWinReducer;\r\n\treturn { user, currentDraw };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\t//SetCurrentDraw:lottoActions.SetCurrentDraw,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(RouletteLeft))","import { commonClass } from \"..//helpers/commonClass\"\r\nexport const rouletteService = {\r\n RouletteSale,\r\n GetCurrentResult \r\n};\r\n\r\nconst _apiUrl=process.env.REACT_APP_API_URL;\r\n\r\n\r\nfunction RouletteSale(data) {\r\n try{ \r\n return fetch(`${_apiUrl}/roulette/rouletteSale`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(games => {\r\n let gamefamily = null;\r\n if (games != null && games.data != null) { games = games.data; }\r\n gamefamily = games;\r\n return gamefamily;\r\n });\r\n }\r\n\tcatch (ex) {\t\t\r\n\t\tcommonClass.writeLog(ex);\r\n\t}\r\n};\r\n\r\nfunction GetCurrentResult(data) {\r\n try {\r\n // const requestOptions = {\r\n // method: 'POST',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n // body: JSON.stringify({ \"data\": data })\r\n // };\r\n return fetch(`${_apiUrl}/roulette/getCurrentDrawResult`, commonClass.requestOptions(data))\r\n .then(commonClass.handleResponse)\r\n .then(results => {\r\n if (results != null && results.data != null) { results = results.data; }\r\n //results=\"0~ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n //results=\"0~12~142~10/09/2021~10:10 AM~Quick Win~9\";\r\n return results;\r\n });\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import { appConstants } from '../helpers/actionType';\r\nimport { rouletteService } from '../services/rouletteService';\r\nimport { commonClass } from \"..//helpers/commonClass\";\r\nimport { alertActions } from \"../action/alertAction\";\r\nimport { history } from '../helpers/history';\r\nexport const rouletteActions = {\r\n AddToCart,\r\n SetCurrentDraw,\r\n RemoveFromCart,\r\n ClearCart,\r\n RemoveClosedDrawbetFromCart,\r\n Buybet,\r\n UpdateStakeAll,\r\n GetCurrentResult,\r\n UpdateCartAll,\r\n}\r\n\r\nfunction AddToCart(cItem) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.ADD_CARTITEM, cItem });\r\n }\r\n};\r\n\r\n\r\nfunction UpdateCartAll(Items) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_CARTITEM, Items });\r\n }\r\n};\r\n\r\nfunction RemoveFromCart(cid) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CARTITEM, cid });\r\n }\r\n};\r\n\r\nfunction RemoveClosedDrawbetFromCart(did) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.REMOVE_CLOSEDDRAW_CARTITEM, did });\r\n }\r\n};\r\n\r\nfunction ClearCart() {\r\n return dispatch => {\r\n dispatch({ type: appConstants.CLEAR_CARTITEM });\r\n }\r\n};\r\n\r\nfunction SetCurrentDraw(cDraw) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.SET_DRAW, cDraw });\r\n }\r\n};\r\n\r\nfunction UpdateStakeAll(stake) {\r\n return dispatch => {\r\n dispatch({ type: appConstants.UPDATE_STAKE_ALL, stake });\r\n }\r\n};\r\n\r\nfunction GetCurrentResult(gameID,langID) {\r\n return dispatch => {\r\n let data = `'${gameID}','${langID}'`;\r\n rouletteService.GetCurrentResult(data)\r\n .then(\r\n cResult => {\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n },\r\n error => {\r\n let cResult = undefined;\r\n dispatch({ type: appConstants.GET_CURRENT_RESULT, cResult });\r\n }\r\n );\r\n }\r\n};\r\n\r\nfunction Buybet(buyStr) {\r\n try {\r\n return dispatch => {\r\n dispatch({ type: appConstants.LOADING });\r\n let data = buyStr;\r\n rouletteService.RouletteSale(data)\r\n .then(\r\n buyInfo => {\r\n let myBet = generateBetSlip(buyInfo);\r\n dispatch({ type: appConstants.LOADED });\r\n if (myBet.status == 1) {\r\n dispatch(alertActions.error(myBet.msg));\r\n }\r\n else if (myBet.status == 3) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push({ pathname: '/account', state: { tabIDT: 1 } }) }, 2000)\r\n }\r\n else if (myBet.status == 4) {\r\n dispatch(alertActions.error(myBet.msg));\r\n setTimeout(() => { history.push('/login'); }, 2000);\r\n }\r\n else {\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n if (myBet.balance) {\r\n let balance = myBet.balance;\r\n let winbalance = myBet.winbalance;\r\n dispatch({ type: appConstants.GET_BALANCE, balance, winbalance });\r\n }\r\n },\r\n error => {\r\n let myBet = { status: 2, msg: \"Something Wrong!\" };\r\n dispatch({ type: appConstants.LOADED });\r\n dispatch({ type: appConstants.BUY_SUCCESS, myBet });\r\n }\r\n );\r\n }\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};\r\n\r\nfunction generateBetSlip(mybet) {\r\n try { \r\n let betArr = mybet.RS.split('~');\r\n if (betArr[0]!= 0) {\r\n return { status: betArr[0], msg: mybet.RSDESC };\r\n }\r\n //mybet = mybet.substring(2, mybet.RSDESC.length);\r\n let tempStr = mybet.RSDESC.split('|');\r\n /* let tempStr1 = tempStr[1].split('~');\r\n let tempStr2 = tempStr[0].split('|'); */\r\n let tempStr3 = []; \r\n tempStr.forEach(ele => {\r\n let _betValue = ele.split('~');\r\n if (_betValue.length > 1) {\r\n tempStr3.push({\r\n Id: _betValue[0],\r\n BallNo: _betValue[4],\r\n GameName: _betValue[3],\r\n StakeValue: parseFloat(_betValue[5]),\r\n SubTotal: parseFloat(_betValue[7]),\r\n OddsValue: _betValue[6],\r\n GameTime: _betValue[1],\r\n GameID: parseInt(_betValue[2]),\r\n TransDateTime: _betValue[1] \r\n });\r\n }\r\n });\r\n /* let _bMsg=\"\";\r\n if( tempStr.length>2)\r\n {\r\n _bMsg=tempStr[2];\r\n } */\r\n let betObj = {\r\n betLst: tempStr3,\r\n status: betArr[0],\r\n msg: \"success\",\r\n balance: betArr[1],\r\n winbalance: betArr[2],\r\n familyID: 5, \r\n //buttomMsg:_bMsg\r\n }\r\n return betObj;\r\n }\r\n catch (ex) {\r\n commonClass.writeLog(ex);\r\n }\r\n};","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { rouletteActions } from '../../../action/RouletteAction';\r\nimport { withTranslation } from 'react-i18next';\r\nclass RouletteRight extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stake: 0,\r\n nos:[2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35]\r\n }\r\n }\r\n\r\n setUpdateStake = (stake) => {\r\n this.setState({\r\n stake: stake\r\n })\r\n this.props.UpdateStakeAll(stake);\r\n };\r\n\r\n updatesStakeValue = (bid, flog) => {\r\n if (this.state.cartItems != null) {\r\n let lst = this.state.cartItems.filter(a => a.id == bid);\r\n if (lst != null && lst != undefined && lst.length > 0) {\r\n lst = lst[0];\r\n if (flog == \"+\") {\r\n if (lst.stakeValue + 1 > lst.maxStake) {\r\n alert(this.props.t('lblMaximumstake') + \" : \" + lst.maxStake);\r\n return;\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue + 50;\r\n }\r\n else if (flog == \"-\") {\r\n if (lst.stakeValue - 1 <= lst.minStake) {\r\n alert(this.props.t('lblMinimumstake') + \" : \" + lst.minStake);\r\n return\r\n }\r\n else\r\n lst.stakeValue = lst.stakeValue - 50;\r\n }\r\n lst.total = lst.stakeValue * lst.oddsValue;\r\n this.props.UpdateCartAll(lst);\r\n }\r\n }\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n cartItems: props.cartItems\r\n };\r\n }\r\n render() {\r\n const { t } = this.props; \r\n return (\r\n
    \r\n {/* Commended by narmatha no need of bet slip */}\r\n {/*
    \r\n

    Betslip

    \r\n {this.state.cartItems && this.state.cartItems.length<=0 &&
    \r\n

    {t('lblplcurbet')}

    \r\n
    }\r\n
    \r\n
      \r\n {this.state.cartItems && this.state.cartItems.map((x, indx) =>\r\n
    • \r\n
      \r\n
      \r\n Draw No : #{x.DrawNo}\r\n { this.props.removeFromCart(x.Id) }}>\r\n
      \r\n
      \r\n
      {x.DispName}
      \r\n
      {x.StakeValue}
      \r\n
      \r\n
      {x.SubTotal}
      \r\n
      {x.OddsValue}X
      \r\n
      \r\n
      \r\n
      \t\t\t\t\t\t\t\t\r\n
    • \r\n )} \r\n
    \r\n
    \r\n
    \r\n
    \r\n Total Bet :{this.state.cartItems.length}\r\n
    \r\n
    \r\n Total stack : {this.state.cartItems.reduce((a, b) => a = a + b.StakeValue, 0)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    */}\r\n
    \r\n

    {t('lbllatresult')}

    \r\n
      \r\n {this.props.latestResult ? this.props.latestResult.map((x, indx) =>\r\n
    • \r\n
      \r\n
      #{x.DrawNo}
      \r\n
      {x.Drawdatetime}
      \r\n
      {x.WinningNo}
      \r\n \r\n {/* {this.state.nos.filter(winno=>(winno==x.WinningNo)).length>0?\r\n
      {x.WinningNo}
      :\r\n (x.WinningNo==0)?
      {x.WinningNo}
      :\r\n
      {x.WinningNo}
      \r\n } */}\r\n \r\n
      \r\n
    • ) :
      }\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\nfunction mapStateToProps(state) {\r\n const { user } = state.loginReducer;\r\n const { cartItems } = state.rouletteReducer;\r\n return { user, cartItems };\r\n}\r\n\r\nconst mapActionToProps = {\r\n UpdateStakeAll: rouletteActions.UpdateStakeAll,\r\n UpdateCartAll: rouletteActions.UpdateCartAll,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(RouletteRight))","import React, { Component } from \"react\";\r\nimport Unity, { UnityContext } from \"react-unity-webgl\";\r\nimport { withTranslation } from 'react-i18next';\r\nclass webGLApp extends Component {\r\n constructor(props) {\r\n super(props); \r\n this.state={progression:0};\r\n }\r\n\r\n unityContext = new UnityContext({\r\n loaderUrl: \"assets/WebGL/R1/R2.loader.js\",\r\n dataUrl: \"assets/WebGL/R1/R2.data\",\r\n frameworkUrl: \"assets/WebGL/R1/R2.framework.js\",\r\n codeUrl: \"assets/WebGL/R1/R2.wasm\",\r\n });\r\n\r\n\r\n\r\n // unityContent = new UnityContent(\r\n // \"assets/WebGL/QW/Q1.json\",\r\n // \"assets/WebGL/QW/UnityLoader.js\"\r\n // )\r\n\r\n\r\n fnWelcome = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n //let ssd=_flog.style.cursor;\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n this.unityContext.send(\"Inputcontroller\", \"WelcomeData\", strkey)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~2~3:00:00\");\r\n // },5000)\r\n\r\n // setTimeout(() => {\r\n // this.fnStartAnimation(\"ThOtArPuElLaThA~12~11/11/11~11:00 AM~Test~5~3:00:00\");\r\n // },90000)\r\n\r\n }\r\n }, 1000);\r\n\r\n }\r\n fnStartAnimation = (strkey) => {\r\n let tmr = setInterval(() => {\r\n let _flog = document.getElementsByClassName(\"mywebgl\");//document.getElementsByClassName(\"mywebgl\");\r\n if (_flog != undefined && _flog != null && _flog.length > 0 && _flog[0].style.cursor == \"default\") {\r\n clearInterval(tmr);\r\n //strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2~3:00:00\";\r\n this.unityContext.send(\"Inputcontroller\", \"ResultData\", strkey);\r\n }\r\n }, 1000);\r\n }\r\n componentDidMount() {\r\n this.setState({ proCompleted: 0 });\r\n this.props.fnWelcome(this.fnWelcome);\r\n this.props.fnStartAnimation(this.fnStartAnimation);\r\n let sss=this;\r\n this.unityContext.on(\"progress\", function (_prog) {\r\n sss.setState({progression:_prog});\r\n });\r\n // this.fnUnityLoaded();\r\n\r\n }\r\n // fnUnityLoaded = () => {\r\n // this.unityContent.on(\"loaded\", function () {\r\n // alert(\"loaded\")\r\n // });\r\n // this.unityContext.on(\"progress\", function (progression) {\r\n // console.log(\"progression : \"+progression);\r\n // // this.setState({proCompleted:progression});\r\n // });\r\n // }\r\n render() {\r\n\t\tconst { t } = this.props;\r\n return (
    \r\n {/* \r\n */}\r\n {/* */}\r\n {this.state.progression!=1 &&

    {t('lblLoading')} {parseInt(this.state.progression * 100)} %...

    }\r\n \r\n
    \r\n )\r\n }\r\n\r\n}\r\nexport default withTranslation()(webGLApp)\r\n\r\n","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport RouletteLeft from \"./RouletteLeft\";\r\nimport RouletteRight from \"./RouletteRight\";\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { rouletteActions } from '../../../action/RouletteAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport WebGLApp from \"./webGL\";\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\nimport $ from 'jquery';\r\n\r\nclass Roulette extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcartItems: [],\r\n\t\t\tcurrentRunningDraw: {},\r\n\t\t\tcurrentFinishingDraw: {},\r\n\t\t\tcoundownStart: 0,\r\n\t\t\tcoundTime: 18900000,\r\n\t\t\tcurrentDraw: {},\r\n\t\t\tcurrentAvailableDraws: [],\r\n\t\t\t//currentCartItem: { id: 0, ballNo: \"\", stakeValue: 100, oddsValue: 0, total: 0, gameName: \"\", drawDateTime: \"\", drawID: 0, drawNo: 0, gameID: 0, gameGroupID: 0 },\r\n\r\n\t\t\tballStartNumber: 0,\r\n\t\t\tballEndNumber: 0,\r\n\t\t\tQPBallCount: 0,\r\n\t\t\trandom: [],\r\n\t\t\tshowSingleMsg: false,\r\n\t\t\t_serverTimeDiff: 0,\r\n\t\t\tallGameClosed: 0,\r\n\t\t\tisViewAnimation: true,\r\n\t\t\twebglInit: false,\r\n\t\t\ttimerGetResult: null,\r\n\t\t\ttimerGetLatestResult: null,\r\n\t\t\ttimerGetResultCount: 0,\r\n\t\t\tCurrentBallAction: 0,\r\n\t\t\tobjSelectedDraw: {},\r\n\t\t\tCurrentCoinValue: 1,\r\n\t\t\touterMaxpoint: 5000,\r\n\t\t\touterMinpoint: 10,\r\n\t\t\tinnerMaxpoint: 300,\r\n\t\t\tCurrentOddsValue: 36,\r\n\t\t\tlstSelectLottoBalls: [],\r\n\t\t\tIsAutoApply: 0,\r\n\t\t\tAutoApplyCount: \"\",\r\n\t\t\tCurrentCoinValue: 1,\r\n\t\t\tCurrentOddsValue: 36,\r\n\t\t\ttooltipSpan: null,\r\n\t\t\tTiersLst: [{ \"Id\": 1, \"data\": \"obj_05_08\" }, { \"Id\": 2, \"data\": \"obj_10_11\" }, { \"Id\": 3, \"data\": \"obj_13_16\" }, { \"Id\": 4, \"data\": \"obj_23_24\" }, { \"Id\": 5, \"data\": \"obj_27_30\" }, { \"Id\": 6, \"data\": \"obj_33_36\" }],\r\n\t\t\tOrphelinsLst: [{ \"Id\": 1, \"data\": \"obj_01\" }, { \"Id\": 2, \"data\": \"obj_06_09\" }, { \"Id\": 3, \"data\": \"obj_14_17\" }, { \"Id\": 4, \"data\": \"obj_17_20\" }, { \"Id\": 5, \"data\": \"obj_31_34\" }],\r\n\t\t\tVoisinsLst: [{ \"Id\": 1, \"data\": \"obj_00_02_03\" }, { \"Id\": 2, \"data\": \"obj_04_07\" }, { \"Id\": 3, \"data\": \"obj_12_15\" }, { \"Id\": 4, \"data\": \"obj_18_21\" }, { \"Id\": 5, \"data\": \"obj_19_22\" }, { \"Id\": 6, \"data\": \"obj_25_26_28_29\" }, { \"Id\": 7, \"data\": \"obj_32_35\" }],\r\n\t\t\tZeroLst: [{ \"Id\": 1, \"data\": \"obj_00_03\" }, { \"Id\": 2, \"data\": \"obj_12_15\" }, { \"Id\": 3, \"data\": \"obj_26\" }, { \"Id\": 4, \"data\": \"obj_32_35\" }],\r\n\t\t\tRedLst: [{ \"Id\": 1, \"data\": \"obj_09_12\" }, { \"Id\": 2, \"data\": \"obj_16_19\" }, { \"Id\": 3, \"data\": \"obj_18_21\" }, { \"Id\": 4, \"data\": \"obj_27_30\" }],\r\n\t\t\tBlockLst: [{ \"Id\": 1, \"data\": \"obj_08_11\" }, { \"Id\": 2, \"data\": \"obj_10_13\" }, { \"Id\": 3, \"data\": \"obj_17_20\" }, { \"Id\": 4, \"data\": \"obj_26_29\" }, { \"Id\": 5, \"data\": \"obj_28_31\" }],\r\n\t\t\tLstRouletteBetType:window.getRouletteBetType()\r\n\t\t};\r\n\t\tthis.my_componentWillUnmount();\r\n\t\tif (props.currentGamesFamily.id !== undefined) {\r\n\t\t\tprops.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t\tprops.GetLatestResult(props.currentGamesFamily.id, this.props.i18n.language);\r\n\t\t}\r\n\t\t// let ss = Date.now;\r\n\t\t// let ssss = ss();\r\n\t\t// console.log(\"Date.now : \" + ss);\r\n\t}\r\n\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\tcurrentAvailableDraws: props.currentAvailableDraws,\r\n\t\t\tcartItems: props.cartItems,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentGamesFamily: props.currentGamesFamily,\r\n\t\t\tlatestResult: props.latestResult,\r\n\t\t\tcurrentDraw: props.currentDraw,\r\n\t\t\tcurrentResult: props.currentResult\r\n\t\t};\r\n\t};\r\n\r\n\tselectDraw = (_draw) => {\r\n\t\tthis.props.SetCurrentDraw(_draw);\r\n\r\n\t};\r\n\r\n\tselectRunningDraw = () => {\r\n\t\tif (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\t\t\t//if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\tif (this.state.currentFinishingDraw != undefined) {\r\n\t\t\t\t//if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n\t\t\t\tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t\tif (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\t\t\t//let _draw = lst[0];\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentRunningDraw: _draw,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\t\t\tthis.selectDraw(_draw);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n\t\t\t// \tlet lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n\t\t\t// \tif (lst.length > 0) {\r\n\t\t\t// \t\treturn;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\tlet _draw = this.state.currentAvailableDraws[0];\r\n\t\t\tif (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n\t\t\ttry {\r\n\t\t\t\tlet sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n\t\t\t\tif (_draw != undefined) {\r\n\t\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\t\tlet ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\t\tsTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n\t\t\t\t}\r\n\t\t\t\tlet dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n\t\t\t\twindow.timer = null;\r\n\t\t\t\tthis.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\talert(ex);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tcomponentDidUpdate(previousProps, previousState) {\r\n\t\tif ((previousState.currentResult != this.state.currentResult) || (this.state.currentResult && this.state.currentResult.indexOf(\"1~\") == 0)) {\r\n\t\t\tconsole.log(\"start startAnimationWebGL in componentDidUpdate with : \" + this.state.currentResult);\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n\t\t//if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0))\r\n\t\t{\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t};\r\n\r\n\r\n\tcomponentDidUpdate_old(previousProps, previousState) {\r\n\t\t//if ((this.state.currentRunningDraw ==null || Object.keys(this.state.currentRunningDraw).length == 0) && this.state.currentAvailableDraws.length>0) {\r\n\t\t//if ((this.state.currentDraw ==null || Object.keys(this.state.currentDraw).length == 0) && (previousState.currentDraw ==null && (this.state.currentDraw==null || this.state.currentAvailableDraws.length>0))) {\r\n\t\tif (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n\t\t\tthis.state.allGameClosed = 0;\r\n\t\t}\r\n\t\tif (previousState.currentResult != this.state.currentResult) {\r\n\t\t\tthis.startAnimationWebGL();\r\n\t\t}\r\n\t\tif (this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0 && this.state.currentAvailableDraws.length > 0 && this.state.currentAvailableDraws.length == previousState.currentAvailableDraws.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) {\r\n\t\t\tif (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n\t\t\t\tthis.state.allGameClosed = 1\r\n\t\t\t}\r\n\t\t\tlet _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n\t\t\tthis.selectDraw(_draw);\r\n\t\t\tthis.state.currentRunningDraw = _draw;\r\n\t\t\tthis.setState({ currentRunningDraw: _draw });\r\n\t\t\tif (this.state.webglInit == false && this.state.currentRunningDraw) {\r\n\t\t\t\tthis.setWelcomScreenWebGL();\r\n\t\t\t\tthis.state.webglInit = true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t//for stake all text box hide\r\n\t\t// if(previousProps.stakeAll !=this.props.stakeAll)\r\n\t\t// {\r\n\t\t// \tif(this.state.cartItems !=null )\r\n\t\t// \t{\r\n\t\t// \t\t\tfor (let i = 0; i < this.state.cartItems.length; i++) {\r\n\t\t// \t\t\t\tthis.state.cartItems[i].stakeValue=this.props.stakeAll;\r\n\t\t// \t\t\t\tthis.state.cartItems[i].total = this.props.stakeAll * a.oddsValue;\r\n\t\t// \t\t\t}\r\n\t\t// \t}\r\n\t\t// }\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\t//setTimeout(\tthis.RefreshAfterGameClose,10000);\r\n\t\t//setInterval(() => {\t\tthis.RefreshAfterGameClose()\t }, 60*1000); \r\n\t\t//window.documentReadyjQuery();\r\n\t\twindow.addEventListener('resize', window.documentReadyResize);\r\n\t\t//window.loadWebGL();\r\n\t\t//window.WelcomeAnimationScreen();\r\n\t\t//this.setWelcomScreenWebGL(); \r\n\t\t//window.getRouletteBetType();\r\n\t\tlet _self = this;\r\n\t\t$(\"span, canvas\").mouseover(function (e) {\r\n\t\t\t_self.mouseEnterEvt(e.target);\r\n\t\t});\r\n\r\n\t\t$(\"span, canvas\").mouseleave(function (e) {\r\n\t\t\t_self.mouseLeaveEvt(e.target);\r\n\t\t});\r\n\r\n\r\n\t\t$(\".coins ul li div\").click(function (e) {\r\n\t\t\t_self.showchooseCoin(e.currentTarget);\r\n\t\t});\r\n\r\n\t\t_self.state.tooltipSpan = document.getElementById('tooltipBallVal');\r\n\t\t$(\".betUndo\").click(function () {\r\n\t\t\tif (_self.state.CurrentBallAction == 0) {\r\n\t\t\t\t_self.state.tooltipSpan.style.display = \"block\";\r\n\t\t\t\t_self.state.CurrentBallAction = 1;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_self.state.tooltipSpan.style.display = \"none\";\r\n\t\t\t\t_self.state.CurrentBallAction = 0;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(\".rltteGameCont\").mouseleave(function () {\r\n\t\t\t_self.state.tooltipSpan.style.display = \"none\";\r\n\t\t});\r\n\r\n\t\t$(\".rltteGameCont\").mouseenter(function () {\r\n\t\t\tif (_self.state.CurrentBallAction == 1) {\r\n\t\t\t\t_self.state.tooltipSpan.style.display = \"block\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_self.state.tooltipSpan.style.display = \"none\";\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(\"span, canvas, .ball\").mousemove(function (e) {\r\n\t\t\tif (_self.state.tooltipSpan == null) { return; }\r\n\t\t\tvar x = e.clientX,\r\n\t\t\t\ty = e.clientY;\r\n\t\t\t_self.state.tooltipSpan.style.top = (y - 15) + 'px';\r\n\t\t\t_self.state.tooltipSpan.style.left = (x + 5) + 'px';\r\n\t\t});\r\n\r\n\t\t//$(\"span\").click(function (e) {\r\n\t\t\t//try {\r\n\t\t\t\t//if ($(e.currentTarget.className) == undefined) { return; }\r\n\t\t\t\t//_self.PutCoin(e);\r\n\t\t\t\t/* var ssa = $(e).attr('class').toLowerCase().indexOf(\"rteball\");\r\n\t\t\t\tvar ss = $(e).prop('tagName').toLowerCase().indexOf(\"canvas\");\r\n\t\t\t\tvar ss1 = $(e).attr('class').toLowerCase().indexOf(\"group\");\r\n\t\t\t\tif (ssa > -1 || ss > -1 || ss1 > -1) { _self.PutCoin(e); } */\r\n\r\n\t\t\t//} catch (e) { }\r\n\t\t//});\r\n\r\n\r\n\t};\r\n\tmy_componentWillUnmount = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\tcurrentRunningDraw: null,\r\n\t\t})\r\n\t\tthis.props.ClearAvailableGames();\r\n\t};\r\n\r\n\tRefreshAfterGameClose = () => {\r\n\t\t//alert(\"coundown finish\");\r\n\t\tthis.state.coundownStart = 0;\r\n\t\tthis.state._serverTimeDiff = 0;\r\n\t\tthis.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n\r\n\t\tthis.props.RemoveClosedDrawbetFromCart(this.state.currentFinishingDraw.DrawID);\r\n\t\tsetTimeout(() => { this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language) }, 2000)\r\n\t\tthis.state.currentRunningDraw = {};\r\n\t\t//setTimeout(this.props.GetLatestResult(this.props.currentGamesFamily.id),21000);\r\n\t\tconsole.log(\"RefreshAfterGameClose drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\tthis.state.timerGetResultCount = 0;\r\n\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId) }, 5000);\r\n\t\t//setTimeout(this.props.GetCurrentResult(145), 2000);\r\n\t\t//setTimeout(this.startAnimationWebGL, 5000);\r\n\t};\r\n\r\n\tsetWelcomScreenWebGL = () => {\r\n\t\tif (this.state.currentRunningDraw && this.state.currentRunningDraw.DrawDateTime) {\r\n\t\t\tvar s = this.state.currentRunningDraw.DrawDateTime.split(' ');\r\n\t\t\tvar strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.LotName + \"~\" + this.state.currentRunningDraw.DrawNo + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t//let strkey = \"ThOtArPuElLaThA~7~12~11/11/11~11:00 AM~Test~2\";\r\n\t\t\tconsole.log(\"start setWelcomScreenWebGL\");\r\n\t\t\tthis.fnWelcome(strkey);\r\n\t\t}\r\n\t}\r\n\tstartAnimationWebGL = () => {\r\n\t\t//alert(\"call animate\");\r\n\t\t//update by thamil\r\n\t\t//this.state.currentResult=\"0~142~05/09/2021~10:00 AM~Quick Win~9\";\r\n\t\tif (this.state.currentResult) {\r\n\t\t\tlet arr = this.state.currentResult.split(\"~\");\r\n\t\t\tif (arr[0] == \"0\") {\r\n\t\t\t\t//var s = this.state.currentRunningDraw.Drawdatetime.split(' ');\r\n\t\t\t\t//var strkey = \"ThOtArPuElLaThA~\" + this.state.currentRunningDraw.GameName + \"~\" + this.state.currentRunningDraw.GameID + \"~\" + s[0] + \"~\" + s[1] + \"\";\r\n\t\t\t\tlet strkey = \"ThOtArPuElLaThA~\" + this.state.currentResult.substring(2, this.state.currentResult.length);\r\n\t\t\t\tvar s = this.state.currentDraw ? this.state.currentDraw.DrawTime : \"No More\";\r\n\t\t\t\tif (s != null) {\r\n\t\t\t\t\tstrkey = strkey + \"~\" + s;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstrkey = strkey + \"~00:00\";\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(\"start startAnimationWebGL with : \" + strkey);\r\n\t\t\t\tthis.viewAnimationResult(1);\r\n\t\t\t\tthis.fnStartAnimation(strkey);\r\n\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tthis.state.timerGetResult = null;\r\n\t\t\t\tthis.state.timerGetResultCount = 0;\r\n\t\t\t\tthis.state.timerGetLatestResult = setTimeout(() => { this.props.GetLatestResult(this.props.currentGamesFamily.id, this.props.i18n.language) }, 30000);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.state.timerGetResult)\r\n\t\t\t\t\tclearTimeout(this.state.timerGetResult);\r\n\t\t\t\tif (this.state.timerGetResultCount < 5) {\r\n\t\t\t\t\tconsole.log(\"GetCurrentResult drawID : \" + this.state.currentFinishingDraw.GameId)\r\n\t\t\t\t\tthis.state.timerGetResult = setTimeout(() => { this.props.GetCurrentResult(this.state.currentFinishingDraw.GameId, this.props.i18n.language) }, 2000);\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.timerGetResultCount++;\r\n\t\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//\tthis.props.GetCurrentResult(this.state.currentDraw.DrawNo)\r\n\t\t\t//\tsetTimeout(this.startAnimationWebGL(), 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tfnWelcome = () => {\r\n\t}\r\n\tfnStartAnimation = () => {\r\n\t}\r\n\tviewAnimationResult = (flog) => {\r\n\t\tif (flog == 1 && this.state.isViewAnimation == true) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ isViewAnimation: !this.state.isViewAnimation });\r\n\t}\r\n\tclearAfterAddToCart = () => {\r\n\t\tlet obj = this.state.cartItems.filter(x => x.GameId == this.state.currentDraw.GameId);\r\n\t\tfor (let i = 0; i < obj.length; i++) {\r\n\t\t\tthis.props.RemoveFromCart(obj[i].id);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tclearCart = () => {\r\n\t\tthis.props.ClearCart();\r\n\t\tthis.setState({\r\n\t\t\trandom: [],\r\n\t\t\tQPBallCount: 0\r\n\t\t});\r\n\t};\r\n\r\n\tquickPick = () => {\r\n\t\tif (this.state.cartItems.length == this.state.currentGamesFamily.maxSelect) {\r\n\t\t\t//this.props.ClearCart();\r\n\t\t\t//this.clearAfterAddToCart();\r\n\t\t\talert(this.props.t('lblMaximumselection') + \" : \" + this.state.currentGamesFamily.maxSelect);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.state.random = this.state.cartItems.filter(a => a.GameId == this.state.currentDraw.GameId).map(a => a.ballNo);\r\n\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect - this.state.random.length;\r\n\t\tif (this.state.QPBallCount <= 0) {\r\n\t\t\tthis.state.QPBallCount = this.state.currentGamesFamily.maxSelect;\r\n\t\t}\r\n\t\tvar index = -1;\r\n\r\n\t\tlet newid = 0;\r\n\t\tif (this.state.cartItems.length > 0) {\r\n\t\t\tnewid = this.state.cartItems.reduce((max, b) => Math.max(max, b.bMax), this.state.cartItems[0].bMax);\r\n\t\t}\r\n\r\n\t\t//for (var k = this.state.ballStartNumber; k <= this.state.QPBallCount; k++) {\r\n\t\tindex = this.generateRandomInteger();\r\n\t\tlet _bal = this.state.currentDraw.GameId + \"_\" + index;\r\n\t\tnewid++;\r\n\t\tthis.selectBall(_bal, newid);\r\n\t\tif (this.state.showSingleMsg == true) {\r\n\t\t\tthis.state.showSingleMsg = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t//}\r\n\t};\r\n\r\n\tgenerateRandomInteger = () => {\r\n\t\tvar min = this.state.ballStartNumber;\r\n\t\tvar max = this.state.ballEndNumber;\r\n\t\tif (this.state.random.length >= this.state.currentGamesFamily.maxSelect) {\r\n\t\t\tthis.state.random = [];\r\n\t\t}\r\n\t\tlet valFound = false\r\n\t\twhile (valFound == false) {\r\n\t\t\tfor (var i = min; i <= max; i++) {\r\n\t\t\t\tvar temp = Math.floor(max - Math.random() * (max - min));\r\n\t\t\t\ttemp = (\"0\" + temp).slice(-2);\r\n\t\t\t\tif (temp && this.state.random.indexOf(temp) == -1) {\r\n\t\t\t\t\tthis.state.random.push(temp);\r\n\t\t\t\t\tvalFound = true;\r\n\t\t\t\t\treturn temp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// \tconsole.log(\"temp123Test123 : \");\r\n\t\t// return\tthis.generateRandomInteger();\r\n\t};\r\n\r\n\tremoveFromCart = (cid) => {\r\n\t\tthis.props.RemoveFromCart(cid);\r\n\t};\r\n\r\n\tcountdownCompleted = () => {\r\n\t\tthis.RefreshAfterGameClose();\r\n\t};\r\n\r\n\tgetGameTime = () => {\r\n\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\tlet sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n\t\t\tconsole.log(\"getGameTime : \" + sTime);\r\n\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\treturn sTime;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t};\r\n\r\n\t// Renderer callback with condition\r\n\trenderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n\t\tif (completed) {\r\n\t\t\t// Render a completed state\t\t\t\r\n\t\t\treturn Draw Closed!;\r\n\t\t} else {\r\n\t\t\t// Render a countdown\r\n\t\t\treturn {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n\t\t}\r\n\t};\r\n\r\n\tgetServerTime = () => {\r\n\t\tif (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n\t\t\t//return this.state._serverTimeDiff+Date.now()+1000;\r\n\t\t\tconsole.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n\t\t\treturn this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n\t\t\tif (_date != undefined && _date != \"\") {\r\n\t\t\t\tvar pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n\t\t\t\tlet ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n\t\t\t\tvar sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n\t\t\t\t//this.state._serverTimeDiff=Date.now()-sTime;\r\n\t\t\t\tthis.state._serverTimeDiff = sTime;\r\n\t\t\t\tconsole.log(\"getServerTime : \" + sTime);\r\n\t\t\t\tconsole.log(\"DateNow : \" + Date.now());\r\n\t\t\t\treturn sTime;\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treCount = (rundraw) => {\r\n\t\t//return ;\r\n\t\t//return ;\t\t\r\n\t\t//return ;\r\n\r\n\t\tif (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.coundownStart = 1;\r\n\t\t\treturn { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
    {this.props.t('lblDrawClosed')}
    :
    {this.props.t('lblnextdraw')} {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
    ) }} />
    ;\r\n\t\t}\r\n\t};\r\n\r\n\tBuyLotteryBet = () => {\r\n\t\tif (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n\t\t\talert(this.props.t('lblLoginValidation'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n\t\t\talert(this.props.t('lblplcurbet'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet totStake = this.state.cartItems.reduce((a, b) => a = a + b.StakeValue, 0);\r\n\t\tlet minTotStake = 500;\r\n\t\tlet maxTotStake = 10000;\r\n\t\tif (this.state.currentGamesFamily != undefined) {\r\n\t\t\tminTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n\t\t\tmaxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n\t\t}\r\n\r\n\t\tif (totStake < minTotStake)//300\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telse if (totStake > maxTotStake)//10000\r\n\t\t{\r\n\t\t\talert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar sTime = new Date(this.props.serverTime);\r\n\t\tlet gameGroupid=this.state.cartItems[0].GameGroupID;\r\n\t\t//let cartList = this.state.cartItems.sort((a, b) => (a.drawID > b.drawID) ? 1 : -1);\t\t\r\n\t\tlet cartList = this.state.cartItems.sort((a, b) => a.DrawNo - b.DrawNo);\r\n\t\tlet transactionString = \"\";\r\n\t\tlet gamestring = \"\";\r\n\t\tlet subgameId = 0;\r\n\t\tcartList.forEach(item => {\r\n\t\t\titem.BallNo = item.BallNo.replaceAll(\"_\", \",\");\r\n\t\t\tvar betcomb = this.state.LstRouletteBetType.filter(a => a.Number == item.BallNo);\r\n\t\t\tif (betcomb != null)\r\n\t\t\t{\r\n\t\t\t\titem.BallNo = betcomb[0].ID;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//continue;\t\t\t\r\n\t\t\t}\r\n\t\t\tif (subgameId != 0 && subgameId != item.DrawNo) {\r\n\t\t\t\tgamestring += \"*\";\r\n\t\t\t}\r\n\t\t\tif (subgameId != item.DrawNo) {\r\n\t\t\t\tgamestring += item.GameID + \"-\";\r\n\t\t\t}\t\t\t\t\r\n\t\t\tgamestring += item.BallNo;\r\n\t\t\tgamestring += \",\" + parseInt(item.StakeValue);\t\t\t\r\n\t\t\tgamestring += \",\" + parseInt(item.OddsValue);\r\n\t\t\tgamestring += \"|\";\r\n\t\t\tsubgameId = item.DrawNo;\r\n\t\t})\r\n\t\tgamestring += \"*\";\t\t\r\n\t\tlet TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo.substring(this.props.user.mobileNo.length - 4);\r\n\r\n\t\t//let betoption = \"2\";\r\n\r\n\t\ttransactionString += `'${this.props.user.mobileNo}',`;\r\n\t\ttransactionString += `'${this.props.user.mobileNo}',`;\t\t\r\n\t\ttransactionString += `'${gameGroupid}',`;\r\n\t\ttransactionString += `'${gamestring}',`;\t\t\r\n\t\t//transactionString += `'${this.props.user.loginKey}','${TransID}','0','0','${cartList.length}','${totStake}','${this.props.i18n.language}'`;\r\n\t\ttransactionString += `'${this.props.user.loginKey}','${TransID}','0','0','${cartList.length}','${totStake}','1','0'`; // 1- Credential Id and 0- Dummy\r\n\r\n\t\tthis.props.Buybet(transactionString);\r\n\t\tthis.clearCart();\r\n\t};\r\n\tPutCoin = (objEle, isFromOvelForChecking, cTabid) => {\r\n\r\n\t\tif (this.state.CurrentBallAction == 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (this.state.currentDraw == null) {\r\n\t\t\talert(\"Veuillez choisir le tirage\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar coinParient = null;\r\n\t\tvar coinVal = this.state.CurrentCoinValue;\r\n\t\tif (cTabid == 3) { coinVal = this.state.CurrentCoinValue * 2; }\r\n\t\tvar newID = \"coin\";\r\n\t\tvar newIDonly = \"\";\r\n\t\tvar refIDCount = 0;\r\n\t\tvar disName = \"\";\r\n\t\tvar _refID = objEle.target.dataset.refid;\r\n\t\tif (_refID == undefined) { return true; }\r\n\t\tvar ss = _refID.split(\"~\");\r\n\t\tvar cn = \"\";\r\n\t\tvar dcn = \"\";\r\n\t\t$.each(ss, function (key, value) {\r\n\t\t\trefIDCount++;\r\n\t\t\tvar ids = value.split(\"-\");\r\n\t\t\tnewIDonly = newIDonly + cn + ids[1];\r\n\t\t\tcn = \"_\";\r\n\t\t\tdisName = disName + dcn + ids[1];\r\n\t\t\tdcn = \",\";\r\n\t\t});\r\n\r\n\t\tnewID = newID + \"_\" + newIDonly;\r\n\t\tif (refIDCount == 6) {\r\n\t\t\tvar ids1 = disName.split(\",\");\r\n\t\t\tdisName = ids1[0] + \"-\" + ids1[5]\r\n\t\t}\r\n\t\tvar _dname = objEle.target.dataset.dname;\r\n\t\tif (_dname != undefined && _dname != null) {\r\n\t\t\tdisName = _dname;\r\n\t\t}\r\n\t\tvar _flog = false;\r\n\t\tvar noVal = newIDonly;\r\n\t\tif (noVal != undefined) {\r\n\t\t\t//noVal = noVal.replaceAll(\"_\", \",\");\r\n\t\t\tnoVal = noVal.split(\"_\").join(',');\r\n\t\t\tvar fLst1 = this.state.LstRouletteBetType.filter(function (a) { return a.Number == noVal });\r\n\t\t\tif (fLst1 != undefined && fLst1 != null && fLst1.length > 0) {\r\n\t\t\t\tvar fLst = window.maxValueLst.filter(function (a) { return a.Id == fLst1[0].CateID });\r\n\t\t\t\tthis.state.innerMaxpoint = fLst[0].MaxValue;\r\n\t\t\t\tthis.state.outerMaxpoint = fLst[0].MaxValue;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_flog = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t_flog = true;\r\n\t\t}\r\n\t\tif (_flog) {\r\n\t\t\tthis.state.outerMaxpoint = 5000;\r\n\t\t\tthis.state.innerMaxpoint = 500;\r\n\t\t}\r\n\t\tif ($(\"#\" + newID).length) {\r\n\t\t\tvar _oldVal = $(\"#\" + newID).data('coinval');\r\n\t\t\tvar _ballcnt = $(\"#\" + newID).data('ballcount');\r\n\t\t\t//update by thamil for coin value chnages.\r\n\t\t\t//var newVal = (parseFloat(_oldVal) + coinVal).toFixed(2);\r\n\t\t\tvar newVal = parseFloat(_oldVal + coinVal);\r\n\t\t\tif (_ballcnt <= 6 && newVal > this.state.innerMaxpoint) {\r\n\t\t\t\talert(\"sélectionner Max:\" + this.state.innerMaxpoint);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (_ballcnt <= 6 && !this.ChecktheinnerMaxPoint(newIDonly, 0)) {\r\n\t\t\t\talert(\"sélectionner Max:\" + this.state.innerMaxpoint);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (_ballcnt > 6 && newVal > this.state.outerMaxpoint) {\r\n\t\t\t\talert(\"sélectionner Max:\" + this.state.outerMaxpoint);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (_ballcnt > 6 && newVal < this.state.outerMinpoint) {\r\n\t\t\t\t//alert(\"Minimum Point limit:\" + outerMinpoint);\r\n\t\t\t\t//return false;\r\n\t\t\t\tcoinVal = this.state.outerMinpoint;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (isFromOvelForChecking != 1) {\r\n\t\t\t\t\t$(\"#\" + newID).data('coinval', newVal);\r\n\t\t\t\t\t$(\"#\" + newID).html(newVal);\r\n\t\t\t\t\tsetTimeout(function () { this.addtoCart($(\"#\" + newID), \"1\"); }, 10);\r\n\t\t\t\t\t//UpdateToolTip(refIDCount, newVal, 1);\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (refIDCount <= 6 && !this.ChecktheinnerMaxPoint(newIDonly, 0)) {\r\n\t\t\t\talert(\"sélectionner Max:\" + this.state.innerMaxpoint);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (refIDCount <= 6 && coinVal > this.state.innerMaxpoint) {\r\n\t\t\t\talert(\"sélectionner Max:\" + this.state.innerMaxpoint);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse if (refIDCount > 6 && coinVal < this.state.outerMinpoint) {\r\n\t\t\t\t//alert(\"Minimum Point limit:\" + outerMinpoint);\r\n\t\t\t\t//return false;\r\n\t\t\t\tcoinVal = this.state.outerMinpoint;\r\n\t\t\t}\r\n\t\t}\r\n\t\t//added by thamil for check the all numbers max limit under in selected Ovel .\r\n\t\tif (isFromOvelForChecking == 1) { return true; }\r\n\r\n\t\tvar OtherGames = null;\r\n\t\tif (this.state.oldBetSlipList != null) {\r\n\t\t\t//var expired = oldBetSlipList.filter(function (a) { return a.GameID == CurrentoldBetSlip.GameID });\r\n\t\t\t//if (expired != undefined && expired != null && expired.length > 0) {\r\n\t\t\tif (this.state.objSelectedDraw.GameID == this.state.CurrentoldBetSlip.GameID) {\r\n\t\t\t\tvar str =
    \" + coinVal + \"
    ;\r\n\t\t\t\t$(objEle).parent().append(str);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t//setTimeout(function () { addtoCartOnReload(CurrentoldBetSlip, \"1\"); }, 200);\r\n\t\t\t\tOtherGames = \"1\"\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//commend by narmatha ball position is changing \r\n\t\t\t//var str = \"
    \" + coinVal + \"
    \";\r\n\t\t\t/* var str=React.createElement(\"div\",{'onclick':'ballClick(this)','onmouseleave':'mouseLeaveEvt(this)','onmouseover':'mouseEnterEvt(this)','id':newID,'className':'ball','data-coinval':coinVal,'data-ballno':newIDonly,'data-ballcount':refIDCount,'data-dname':disName},coinVal);\r\n\t\t\tlet consoleLine = document.getElementById(objEle.target.id).parentElement; \r\n\t\t\tconsoleLine.appendChild(str); */\r\n\t\t\t//$(\"#\"+objEle.target.id).parent()[0].appendChild(str);\r\n\r\n\t\t}\r\n\r\n\t\t//this one placed instant of buttom\r\n\t\tif (OtherGames == \"1\") {\r\n\t\t\tthis.addtoCartOnReload(this.state.CurrentoldBetSlip);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t//window.setTimeout(this.addtoCart($(\"#\" + newID), \"0\"), 100);\r\n\t\t\twindow.setTimeout(this.addtoCart(newIDonly, coinVal, refIDCount, disName, \"0\"), 100);\r\n\t\t}\r\n\r\n\t\t//Commend by narmatha Changes in Coin position\r\n\t\t/* if (refIDCount == 1) {\r\n\t\t\tcoinParient = $(\"#\" + _refID).children('span');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tcoinParient = $(objEle);\r\n\t\t}\r\n\t\tvar pos1 = $(coinParient).position();\r\n\t\tvar newObjXval = 0;\r\n\t\tvar newObjYval = 0;\r\n\t\tvar objClassName = $(coinParient).attr('class');\r\n\t\tvar objHeight = $(coinParient).height();\r\n\t\tvar objWidth = $(coinParient).width();\r\n\r\n\t\tvar objHeight_New = $(\"#\" + newID).height() / 9;\r\n\t\tvar objWidth_New = $(\"#\" + newID).width() / 2;\r\n\r\n\t\tif (_refID == \"rouletteBall-00\") {\r\n\t\t\t//pos1.top = pos1.top + 50;\r\n\t\t}\r\n\t\tif (objClassName.indexOf(\"Top\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 15);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Btom\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 15);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"rteBallVal\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 10);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Rht\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 13);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Lft\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 13);\r\n\t\t}\r\n\r\n\t\telse if (objClassName.indexOf(\"center\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New + 5;\r\n\t\t\tnewObjYval = pos1.top - (objHeight_New + 8);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"group\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 8);\r\n\t\t}\r\n\r\n\t\t$(\"#\" + newID).css({ top: parseInt(newObjYval) + \"px\", left: parseInt(newObjXval) + \"px\" }); */\r\n\t\t//this one placed on top\r\n\t\t//if (OtherGames == \"1\") {\r\n\t\t// addtoCartOnReload(CurrentoldBetSlip);\r\n\t\t//}\r\n\t\t//else {\r\n\t\t// setTimeout(function () { addtoCart($(\"#\" + newID), \"0\"); }, 10);\r\n\t\t//}\r\n\r\n\t\t//UpdateToolTip(refIDCount, coinVal, 1);\r\n\t\treturn true;\r\n\t};\r\n\r\n\tballClick = (obj) => {\r\n\t\tif (this.state.CurrentBallAction == 1 && this.state.objSelectedDraw != null && this.state.objSelectedDraw != undefined) {\r\n\t\t\tthis.mouseLeaveEvt(obj);\r\n\t\t\tvar href = $(obj).data(\"ballno\");\r\n\t\t\tvar cid = this.state.objSelectedDraw.GameID + \"_\" + href;\r\n\t\t\tthis.DeleteBetSlip(cid);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//var obj1 = $(obj).data('parientid');\r\n\t\t//var ObjEle = null;\r\n\t\t//if (obj1 != null && obj1 != undefined) {\r\n\t\t// ObjEle = $(\"#\" + obj1);\r\n\t\t//}\r\n\t\t//else {\r\n\t\t// ObjEle = $(obj).parent().children('span');\r\n\t\t//}\r\n\r\n\t\tvar obj1 = $(obj).attr('id');\r\n\t\tvar ObjEle = null;\r\n\t\tif (obj1 != null && obj1 != undefined) {\r\n\t\t\tvar newid = obj1.replace(\"coin\", \"obj\");\r\n\t\t\tObjEle = $(\"#\" + newid);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tObjEle = $(obj).parent().children('span');\r\n\t\t}\r\n\t\t//var ObjEle = $(obj).parent().children('span');\r\n\t\tthis.PutCoin(ObjEle);\r\n\t};\r\n\r\n\tmouseLeaveEvt = (ele) => {\r\n\t\tvar obj = null;\r\n\t\tif ($(ele).attr(\"class\") != \"ball\") { obj = $(ele); }\r\n\t\telse {\r\n\t\t\tvar newid = $(ele).attr(\"id\").replace(\"coin\", \"obj\");\r\n\t\t\tobj = $(\"#\" + newid);\r\n\t\t}\r\n\t\tvar href = obj[0].dataset.refid;\r\n\t\tif (href == undefined) { return false; }\r\n\t\tvar ss = href.split(\"~\");\r\n\t\t//by thamil ,no orphns bet type for this roulette\r\n\t\t/* var isdoubleselect = 0;\r\n\t\tif ($(ele).attr('class').toLowerCase().indexOf(\"ovel\") != -1 || $(ele).attr('class').toLowerCase().indexOf(\"orphns\") != -1 || $(ele).attr('class').toLowerCase().indexOf(\"splist\") != -1) {\r\n\t\t\tisdoubleselect = 1;\r\n\t\t} */\r\n\t\t$.each(ss, function (key, value) {\r\n\t\t\t$(\"#\" + value).children(\"span\").toggleClass(\"bgHover\");\r\n\t\t\t/* if (isdoubleselect == 1)\r\n\t\t\t{ $(\"#\" + value.replace(\"rteOvelTbl\", \"roulette\")).children(\"span\").toggleClass(\"bgHover\"); } */\r\n\t\t});\r\n\t};\r\n\r\n\tmouseEnterEvt = (ele) => {\r\n\t\tvar obj = null;\r\n\t\tif ($(ele).attr(\"class\") != \"ball\") { obj = $(ele); }\r\n\t\telse {\r\n\t\t\tvar newid = $(ele).attr(\"id\").replace(\"coin\", \"obj\");\r\n\t\t\tobj = $(\"#\" + newid);\r\n\t\t}\r\n\t\tvar href = obj[0].dataset.refid;\r\n\t\tif (href == undefined) { return false; }\r\n\t\tvar ss = href.split(\"~\");\r\n\t\tvar newID = \"coin\";\r\n\t\tvar _toolTipHeader = \"\";\r\n\t\tvar ballCount = 0;\r\n\t\t//by thamil ,no orphns bet type for this roulette\r\n\t\t//var isdoubleselect = 0;\r\n\t\t//if ($(ele).attr('class').toLowerCase().indexOf(\"ovel\") != -1 || $(ele).attr('class').toLowerCase().indexOf(\"orphns\") != -1 || $(ele).attr('class').toLowerCase().indexOf(\"splist\") != -1) {\r\n\t\t//\tisdoubleselect = 1;\r\n\t\t//}\r\n\t\t$.each(ss, function (key, value) {\r\n\t\t\tif ($(\"#\" + value).children(\"span\").hasClass(\"bgHover\")) { $(\"#\" + value).children(\"span\").toggleClass(\"bgHover\"); }\r\n\r\n\t\t\t$(\"#\" + value).children(\"span\").toggleClass(\"bgHover\");\r\n\t\t\t// if (isdoubleselect == 1) {\r\n\t\t\t// \tif ($(\"#\" + value).children(\"span\").hasClass(\"bgHover\"))\r\n\t\t\t// \t{ $(\"#\" + value.replace(\"rteOvelTbl\", \"roulette\")).children(\"span\").removeClass(\"bgHover\"); }\r\n\t\t\t// \t$(\"#\" + value.replace(\"rteOvelTbl\", \"roulette\")).children(\"span\").toggleClass(\"bgHover\");\r\n\t\t\t// }\r\n\t\t\tvar ids = value.split(\"-\");\r\n\t\t\tnewID = newID + \"_\" + ids[1];\r\n\t\t\tballCount++;\r\n\t\t});\r\n\t}\r\n\taddtoCart = (ballno, coinValue, ballCnt, displayName, IsUpdate) => {\r\n\t\t//var noVal = obj.data(\"ballno\");\r\n\t\tvar noVal = ballno;\r\n\t\tif (noVal == null || noVal == undefined) { return; }\r\n\t\tvar no = noVal.toString();\r\n\t\t//var _ballcount = obj.data(\"ballcount\");\r\n\t\tvar _ballcount = ballCnt;\r\n\t\t//var stakeval = $(\"#txtCommonStakeAmount\").val();\r\n\t\t//var stakeval = obj.data(\"coinval\");\r\n\t\t//var _dispName = obj.data('dname');\r\n\t\tvar stakeval = coinValue;\r\n\t\tvar _dispName = displayName;\r\n\t\tif (stakeval == null || stakeval == \"\") {\r\n\t\t\tstakeval = 0;\r\n\t\t}\r\n\t\tvar key = this.state.currentDraw.GameId + \"_\" + no;\r\n\t\t//add by thamil for implement the multiple buy.\r\n\t\tvar isExist = $(\"#\" + key);\r\n\t\tif (isExist != undefined && isExist != null && isExist.length > 0) { IsUpdate = \"1\"; }\r\n\t\tif (IsUpdate == \"1\") {\r\n\t\t\tthis.UpdateAmountInControl(key, stakeval)\r\n\t\t\tthis.CalculateBetSlipTotal();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar _oddsValue = parseFloat(this.state.CurrentOddsValue / parseInt(_ballcount)).toFixed(2);\r\n\t\t//var _oddsValue = objSelectedDraw.OddsValue / parseInt(_ballcount);\r\n\r\n\t\tvar _bet = { \"Id\": key, \"BallNo\": no, \"DispName\": _dispName, \"BallCount\": _ballcount, \"GameGroupID\": this.state.currentDraw.GameGroupId, \"SubGameID\": this.state.currentDraw.SubGameID, \"DrawNo\": this.state.currentDraw.DrawNo, \"GameID\": this.state.currentDraw.GameId, \"GameName\": this.state.currentDraw.GameName, \"GameTime\": this.state.currentDraw.Drawdatetime, \"OddsValue\": _oddsValue, \"StakeValue\": stakeval, \"SubTotal\": (stakeval * _oddsValue).toFixed(2) };\r\n\t\tthis.props.AddToCart(_bet);\r\n\t\t//this.appendBetSlip(_bet);\r\n\t\t//var divToToggle = $(obj.parent().attr('att'));\r\n\t\t//divToToggle.toggle(1000);\r\n\r\n\t\tthis.CalculateBetSlipTotal();\r\n\t};\r\n\r\n\r\n\tChecktheinnerMaxPoint = (obj2, repeat) => {\r\n\t\tvar totamt = 0;\r\n\t\tvar c_id = null;\r\n\t\tsessionStorage.setItem(\"Rouletteslip\", JSON.stringify(this.state.lstSelectLottoBalls));\r\n\t\tvar lstSelectLottoBallsTemp = JSON.parse(sessionStorage.getItem(\"Rouletteslip\"));\r\n\t\tvar validreturn = true;\r\n\t\tif (repeat == 0) {\r\n\t\t\ttotamt = 0;\r\n\t\t\t//var obj2 = $(\"#\" + objID).data(\"ballno\");\r\n\t\t\tif (obj2 != undefined && obj2 != null) {\r\n\t\t\t\tc_id = obj2.toString().split(\"_\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$.each(c_id, function (key1, value1) {\r\n\t\t\tvar value12 = (\"0\" + value1).slice(-2);\r\n\t\t\tvar lstSelectLottoBallsTemp1 = lstSelectLottoBallsTemp.filter(function (a) { return a.BallNo.indexOf(value12) != -1 });\r\n\t\t\tlstSelectLottoBallsTemp = lstSelectLottoBallsTemp.filter(function (a) { return a.BallNo.indexOf(value12) == -1 });\r\n\t\t\t$.each(lstSelectLottoBallsTemp1, function (i, item) {\r\n\t\t\t\tvar obj = $(\"#coin_\" + item.BallNo);\r\n\t\t\t\tif (obj == undefined || obj == null) { return; }\r\n\t\t\t\tvar _val = obj.data(\"coinval\");\r\n\t\t\t\ttotamt = totamt + parseFloat(_val);\r\n\t\t\t\tif ((totamt + this.state.CurrentCoinValue) > this.state.innerMaxpoint) { validreturn = false; return false; }\r\n\r\n\t\t\t\treturn validreturn;\r\n\t\t\t});\r\n\t\t\treturn validreturn;\r\n\t\t});\r\n\t\treturn validreturn;\r\n\t};\r\n\r\n\tUpdateAmountInControl = (id, amt) => {\r\n\t\tvar idgame = \"txtStakeVal_\" + id;\r\n\t\tvar $qty = $('#' + idgame);\r\n\t\tvar currentVal = parseFloat(amt);\r\n\t\tif (isNaN(currentVal)) {\r\n\t\t\tcurrentVal = 0;\r\n\t\t\t$qty.html(currentVal);\r\n\t\t}\r\n\t\tif (!isNaN(currentVal)) {\r\n\t\t\t$qty.html(currentVal);\r\n\t\t}\r\n\t\tthis.UpdateTotalInListOnly(id, amt)\r\n\t};\r\n\r\n\tCalculateBetSlipTotal = () => {\r\n\t\t$(\"#betscount\").html(\"\" + this.state.lstSelectLottoBalls.length);\r\n\t\t$(\"#popcount\").html(\"\" + this.state.lstSelectLottoBalls.length);\r\n\t\tvar Total = 0.00;\r\n\t\tvar betAmt = 0.00;\r\n\t\t$.each(this.state.lstSelectLottoBalls, function (k, v) {\r\n\t\t\tTotal = Total + parseFloat(v.SubTotal);\r\n\t\t\tbetAmt = betAmt + parseFloat(v.StakeValue);\r\n\t\t});\r\n\t\t$(\"#totStakeAmount\").html(\"\" + parseFloat(betAmt).toFixed(2));\r\n\t\t//$(\"#betAmt\").html(\"\" + parseFloat(Total));\r\n\t\tsessionStorage.setItem(\"Rouletteslip\", JSON.stringify(this.state.lstSelectLottoBalls));\r\n\t\tif (this.state.lstSelectLottoBalls != null && this.state.lstSelectLottoBalls.length == 0) {\r\n\t\t\tthis.ShowEmptyLottery(1)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.ShowEmptyLottery(0)\r\n\t\t}\r\n\t\tif ($(\"#betslipErrordiv\").is(\":visible\")) {\r\n\t\t\t$(\"#betslipErrordiv\").hide();\r\n\t\t\t$('#betslipError').text(\"\");\r\n\t\t}\r\n\r\n\t\tif (this.state.IsAutoApply == 1 && this.state.AutoApplyCount != \"\") {\r\n\t\t\t$('#lblAutoApplyInfo').text(\"Auto Apply Draw Stake :\" + this.state.AutoApplyCount + \" X \" + parseFloat(betAmt) + \" = \" + parseFloat(this.state.AutoApplyCount) * parseFloat(betAmt));\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$('#lblAutoApplyInfo').text(\"\");\r\n\t\t}\r\n\t};\r\n\tappendBetSlip = (_bet) => {\r\n\t\t//var clk = \"onkeydown='update_ValData(this)' onClick = \\\"this.select()\\\"; onblur='make_selecttext(this)'\";\r\n\t\tvar topdrawsection = \"
    Draw #\" + _bet.DrawNo + \"
    \";\r\n\t\tvar line1 = \"
    \" + _bet.DispName + \"
    \";\r\n\t\tvar line2 = \"
    \" + _bet.StakeValue + \"
    \";\r\n\t\tvar line3 = \"
    \" + _bet.SubTotal + \"\" + _bet.OddsValue + \"X
    \";\r\n\t\tvar footerbetsilpsection = \"
    \" + line1 + line2 + line3 + \"
    \";\r\n\t\tvar fullbetslip = \"
  • \" + topdrawsection + \"\" + footerbetsilpsection + \"
  • \";\r\n\r\n\t\t//var line1 = \"
    \" + _bet.DispName + \"
    \";\r\n\t\t//var line2 = \"
    \" + _bet.StakeValue + \"
    \";\r\n\t\t//var line3 = \"
    \" + _bet.SubTotal + \"\" + _bet.OddsValue + \"X
    \";\r\n\t\t//var line4 = \"
    \";\r\n\t\t//var footerbetsilpsection = \"
    \" + line1 + \"
    #\" + _bet.GameID + \"
    \" + line2 + line3 + line4 + \"
    \";\r\n\t\t//var fullbetslip = \"
  • \" + footerbetsilpsection + \"
  • \";\r\n\r\n\t\t$(\"#betslipmaster\").prepend(fullbetslip);\r\n\t\t$(\"#betslipmaster\").animate({ scrollTop: 0 }, 300);\r\n\t\tthis.state.lstSelectLottoBalls.push(_bet);\r\n\t};\r\n\r\n\tShowEmptyLottery = (isadd) => {\r\n\r\n\t\tif (isadd == 1) {\r\n\t\t\t$('#betslipEmpty').text(\"Veuillez placer votre pari\");\r\n\t\t\t$(\"#betslipEmptydiv\").show();\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$(\"#betslipEmptydiv\").hide();\r\n\t\t\t$('#betslipEmpty').text(\"\")\r\n\t\t}\r\n\t\tthis.ShowAdds();\r\n\t};\r\n\r\n\tUpdateTotalInListOnly = (Id, amount) => {\r\n\t\tvar search = null;\r\n\t\tfor (var i = 0; i < this.state.lstSelectLottoBalls.length; i++) {\r\n\t\t\tif (Id == this.state.lstSelectLottoBalls[i].Id) {\r\n\t\t\t\tsearch = this.state.lstSelectLottoBalls[i];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (search == null) { return; }\r\n\t\tsearch.StakeValue = amount;\r\n\t\tvar subTotal = search.StakeValue * search.OddsValue;\r\n\t\tsearch.SubTotal = subTotal.toString().replace(\",\", \".\");\r\n\t\t//sessionStorage.setItem(\"Rouletteslip\", JSON.stringify(AllLotteryNumber)); \r\n\t\t$(\"#txtSubtot_\" + search.Id).html(subTotal.toFixed(2));\r\n\t\tthis.CalculateBetSlipTotal();\r\n\r\n\t\t$(\"#betslipErrordiv\").hide();\r\n\t\t$('#betslipError').text(\"\");\r\n\t};\r\n\r\n\tShowAdds = () => {\r\n\t\tif (this.state.lstSelectLottoBalls != null && this.state.lstSelectLottoBalls.length > 2) {\r\n\t\t\t$(\"#lstLatestResult\").css(\"display\", \"none\");\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$(\"#lstLatestResult\").css(\"display\", \"block\");\r\n\t\t}\r\n\t\treturn;\r\n\t\tif ($(window).width() < 1024) {\r\n\t\t\t$(\"#RightAddImg1\").css(\"display\", \"none\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.state.lstSelectLottoBalls != null && this.state.lstSelectLottoBalls.length > 1) {\r\n\t\t\t$(\"#RightAddImg1\").css(\"display\", \"none\")\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$(\"#RightAddImg1\").css(\"display\", \"block\")\r\n\t\t}\r\n\t};\r\n\r\n\taddtoCartOnReload = (_CurrentoldBetSlip, IsUpdate) => {\r\n\t\tvar noVal = _CurrentoldBetSlip.BallNo;\r\n\t\tif (noVal == null || noVal == undefined) { return; }\r\n\t\tvar no = noVal.toString();\r\n\t\tvar _ballcount = _CurrentoldBetSlip.BallCount;\r\n\t\tvar stakeval = _CurrentoldBetSlip.StakeValue;\r\n\t\tvar _dispName = _CurrentoldBetSlip.DispName;\r\n\t\tif (stakeval == null || stakeval == \"\") {\r\n\t\t\tstakeval = 0;\r\n\t\t}\r\n\t\tvar key = _CurrentoldBetSlip.GameID + \"_\" + no;\r\n\t\t//add by thamil for implement the multiple buy.\r\n\t\tvar isExist = $(\"#\" + key);\r\n\t\tif (isExist != undefined && isExist != null && isExist.length > 0) { IsUpdate = \"1\"; }\r\n\t\tif (IsUpdate == \"1\") {\r\n\t\t\tthis.UpdateAmountInControl(key, stakeval)\r\n\t\t\tthis.CalculateBetSlipTotal();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar _oddsValue = parseFloat(this.state.CurrentOddsValue / parseInt(_ballcount)).toFixed(2);\r\n\t\tvar _bet = _CurrentoldBetSlip;\r\n\t\tthis.UpdateTotalInListOnlappendBetSlip(_bet);\r\n\t\t//var divToToggle = $(obj.parent().attr('att'));\r\n\t\t//divToToggle.toggle(1000);\r\n\t\tthis.CalculateBetSlipTotal();\r\n\t};\r\n\tUpdateAmountInControl = (id, amt) => {\r\n\r\n\t\tvar idgame = \"txtStakeVal_\" + id;\r\n\t\tvar $qty = $('#' + idgame);\r\n\t\tvar currentVal = parseFloat(amt);\r\n\t\tif (isNaN(currentVal)) {\r\n\t\t\tcurrentVal = 0;\r\n\t\t\t$qty.html(currentVal);\r\n\t\t}\r\n\t\tif (!isNaN(currentVal)) {\r\n\t\t\t$qty.html(currentVal);\r\n\t\t}\r\n\t\tthis.UpdateTotalInListOnly(id, amt)\r\n\t};\r\n\r\n\tUpdateTotalInListOnly = (Id, amount) => {\r\n\t\tvar search = null;\r\n\t\tfor (var i = 0; i < this.state.lstSelectLottoBalls.length; i++) {\r\n\t\t\tif (Id == this.state.lstSelectLottoBalls[i].Id) {\r\n\t\t\t\tsearch = this.state.lstSelectLottoBalls[i];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (search == null) { return; }\r\n\t\tsearch.StakeValue = amount;\r\n\t\tvar subTotal = search.StakeValue * search.OddsValue;\r\n\t\tsearch.SubTotal = subTotal.toString().replace(\",\", \".\");\r\n\t\t//sessionStorage.setItem(\"Rouletteslip\", JSON.stringify(AllLotteryNumber)); \r\n\t\t$(\"#txtSubtot_\" + search.Id).html(subTotal.toFixed(2));\r\n\t\tthis.CalculateBetSlipTotal();\r\n\r\n\t\t$(\"#betslipErrordiv\").hide();\r\n\t\t$('#betslipError').text(\"\");\r\n\t};\r\n\r\n\tDeleteBetSlip = (gameid, fromHtml) => {\r\n\t\tfor (var i = 0; i < this.state.cartItems.length; i++) {\r\n\t\t\tvar search = this.state.cartItems[i];\r\n\t\t\tif (search.Id != gameid) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t$(\"#\" + gameid).remove();\r\n\t\t\tthis.state.cartItems = this.state.cartItems.filter(function (a) { return a.gameID !== gameid })\r\n\t\t\t$.each($(\".ball\"), function (p, item3) {\r\n\t\t\t\tif ($(this).data(\"ballno\") == search.BallNo) {\r\n\t\t\t\t\t$(this).remove();\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (fromHtml == \"1\") {\r\n\t\t\t\tif (this.state.cartItems == null || this.state.cartItems.length <= 0) {\r\n\t\t\t\t\t$(\"#virtualbetSlipBtn\").click();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//sessionStorage.setItem(\"Rouletteslip\", JSON.stringify(AllLotteryNumber));\r\n\t\t\tthis.CalculateBetSlipTotal();\r\n\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\tDeleteAllBetSlip=(isQP)=> {\t\t\r\n\t\tfor (var i = 0; i < this.state.cartItems.length; i++) {\r\n\t\t\tvar search = this.state.cartItems[i];\r\n\t\t\tvar gameid = search.Id\r\n\t\t\t$(\"#\" + gameid).remove();\r\n\t\t\tif (isQP != \"1\") {\r\n\t\t\t\t$.each($(\".ball\"), function (p, item3) {\r\n\t\t\t\t\tif ($(this).data(\"ballno\") == search.BallNo) {\r\n\t\t\t\t\t\t$(this).remove();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.state.cartItems = [];\r\n\t\tthis.CalculateBetSlipTotal();\r\n\t\t$(\"#txtCommonStakeAmount\").val(\"\");\r\n\t\t//$(\"#txtCommonStakeAmountUp\").val(\"\");\r\n\t\tif (isQP != \"1\") {\r\n\t\t\t//ClearQuickPick();\r\n\t\t}\r\n\t\tif ($(\"#chkApplySelection\").is(\":checked\")) {\r\n\t\t\t$(\"#chkApplySelection\").click();\r\n\t\t}\r\n\t\t/* IsAutoApply = 0;\r\n\t\tAutoApplyCount = \"\";\r\n\t\tIsReBet = \"0\"; */\r\n\t\t//by thamil for in mobile view check box click event issue.\r\n\t\t//if ($(\".BetSLipBtn1024\").css(\"display\") == \"block\" || $(\".betCloseMob\").css(\"display\") == \"block\") {\r\n\t\t// $(\".BetSLipBtn1024 a\").click();\r\n\t\t//}\r\n\t};\r\n\r\n\tshowchooseCoin = (e) => {\r\n\t\tif (!($(e).parent().hasClass(\"coinSelImgActive\"))) {\r\n\r\n\t\t\t$(\".coins ul li\").removeClass(\"coinSelImgActive\");\r\n\t\t\t$(e.parentElement).addClass(\"coinSelImgActive\");\r\n\t\t}\r\n\t\tthis.state.CurrentCoinValue = parseFloat(e.innerText);\r\n\t\tthis.state.CurrentBallAction = 0;\r\n\t}\r\n\t/* Clearplaybtn = (e) => {\r\n\t\tvar $ = jQuery.noConflict();\r\n\t\tif ($(window).width() <= 1023) {\r\n\t\t\t$(\".BetSLipBtn1024 a\").click();\r\n\t\t}\r\n\t}; */\r\n\r\n\t\r\n\tballClickNew = (obj) => {\r\n\t\tif (this.state.CurrentBallAction == 1 && this.state.objSelectedDraw != null && this.state.objSelectedDraw != undefined) {\r\n\t\t\tthis.mouseLeaveEvt(obj);\r\n\t\t\tvar href = $(obj).data(\"ballno\");\r\n\t\t\tvar cid = this.state.objSelectedDraw.GameID + \"_\" + href;\r\n\t\t\tthis.DeleteBetSlip(cid);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar obj1 = $(obj).attr('id');\r\n\t\tvar ObjEle = null;\r\n\t\tif (obj1 != null && obj1 != undefined) {\r\n\t\t\tvar newid = obj1.replace(\"coin\", \"obj\");\r\n\t\t\tObjEle = $(\"#\" + newid);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tObjEle = $(obj).parent().children('span');\r\n\t\t}\r\n\t\tthis.PutCoin(ObjEle);\r\n\t};\r\n\r\n\tPutCoin = (objEle, isFromOvelForChecking, cTabid) => {\r\n\t\tif (objEle==undefined || objEle==null ||objEle.length==0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (this.state.CurrentBallAction == 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (this.state.currentDraw == null||this.state.currentDraw.length==undefined) {\r\n\t\t\talert(\"Veuillez choisir le tirage\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar _objIDArr = null;\r\n\t\tif (objEle.target.dataset.id) {\r\n\t\t\t_objIDArr = objEle.target.dataset.id.replaceAll(\"obj_\", \"\");\r\n\t\t}\r\n\t\telse {\r\n\t\t\t_objIDArr = objEle.target.dataset.refid.replaceAll(\"rouletteBall-\", \"\");\r\n\t\t}\r\n\r\n\t\tvar _objID = _objIDArr.split(\"~\").join(',');\r\n\t\tvar fLst1 = this.state.LstRouletteBetType.filter(function (a) { return a.Number == _objID });\r\n\t\tvar coinVal = this.state.CurrentCoinValue;\r\n\t\tvar disName = \"\";\r\n\t\tvar refIDCount = 0;\r\n\t\tvar newID = \"coin_\" + _objIDArr;\r\n\t\tif (fLst1.length > 0) {\r\n\t\t\tfLst1 = fLst1[0];\r\n\t\t\tif (fLst1.Stake && fLst1.Stake > 0) {\r\n\t\t\t\tfLst1.Stake = fLst1.Stake + coinVal;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tfLst1.Stake = coinVal;\r\n\t\t\t}\r\n\t\t\tdisName = fLst1.DispName ? fLst1.DispName : fLst1.Number;\r\n\t\t\trefIDCount = fLst1.Number.split(\",\").length;\r\n\t\t\tfLst1.CoinID = newID;\r\n\t\t}\r\n\t\twindow.setTimeout(this.addtoCart(_objIDArr, coinVal, refIDCount, disName, \"0\"), 100);\r\n\t\t//set Coin Position\r\n\t\tvar coinParient=null;\r\n\t\tlet _refID = objEle.target.dataset.refid;\r\n\t\tif (refIDCount == 1) {\t\t\t\r\n\t\t\tcoinParient = $(\"#\" + _refID).children('span');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tcoinParient = $(objEle);\r\n\t\t}\r\n\t\tvar pos1 = $(coinParient).position();\r\n\t\tvar newObjXval = 0;\r\n\t\tvar newObjYval = 0;\r\n\t\tvar objClassName = $(coinParient).attr('class');\r\n\t\tvar objHeight = $(coinParient).height();\r\n\t\tvar objWidth = $(coinParient).width();\r\n\r\n\t\tvar objHeight_New = $(\"#\" + newID).height() / 9;\r\n\t\tvar objWidth_New = $(\"#\" + newID).width() / 2;\r\n\r\n\t\tif (_refID == \"rouletteBall-00\") {\r\n\t\t\t//pos1.top = pos1.top + 50;\r\n\t\t}\r\n\t\tif (objClassName.indexOf(\"Top\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 15);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Btom\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 15);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"rteBallVal\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 10);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Rht\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 13);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"Lft\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 13);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"center\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left - objWidth_New + 5;\r\n\t\t\tnewObjYval = pos1.top - (objHeight_New + 8);\r\n\t\t}\r\n\t\telse if (objClassName.indexOf(\"group\") != -1) //ok\r\n\t\t{\r\n\t\t\tnewObjXval = pos1.left + (objWidth / 2) - objWidth_New;\r\n\t\t\tnewObjYval = pos1.top + (objHeight / 2) - (objHeight_New + 8);\r\n\t\t}\r\n\t\t//set Position\r\n\t\t//{top:\"46px\",left:\"7px\"}\r\n\t\tfLst1.Position = { top: parseInt(newObjYval) + \"px\", left: parseInt(newObjXval) + \"px\" };\r\n\t\r\n}\r\n\r\n\trender() {\r\n\t\tconst { t } = this.props;\r\n\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t\t{t('lbllatresult')}\r\n\r\n\t\t\t\t\t\t\t\t{/* {t('lblgameslip')} {this.state.cartItems.length} */}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{t('lblAllDraws')}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{/*
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\tGame Slip {this.state.cartItems.length}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    */}\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.reCount(this.state.currentRunningDraw)}\r\n\t\t\t\t\t\t\t\t\t{this.state.currentDraw ? this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime : '-'}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{/* { this.viewAnimationResult() }} >{this.state.isViewAnimation ? t('lblHide') : t('lblShow')} */}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t { this.fnWelcome = dd; }} fnStartAnimation={(dd) => { this.fnStartAnimation = dd; }} />\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t)\r\n\t};\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n\tconst { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n\tconst { serverTime } = state.commonReducer;\r\n\tconst { user } = state.loginReducer;\r\n\tconst { cartItems, currentDraw, stakeAll, currentResult } = state.rouletteReducer;\r\n\treturn { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, stakeAll, latestResult, currentResult };\r\n}\r\n\r\nconst mapActionToProps = {\r\n\tGameFamily: gameActions.GameFamily,\r\n\tGameAvailableGames: gameActions.GameAvailableGames,\r\n\tAddToCart: rouletteActions.AddToCart,\r\n\tRemoveFromCart: rouletteActions.RemoveFromCart,\r\n\tRemoveClosedDrawbetFromCart: rouletteActions.RemoveClosedDrawbetFromCart,\r\n\tSetCurrentDraw: rouletteActions.SetCurrentDraw,\r\n\tClearCart: rouletteActions.ClearCart,\r\n\tBuybet: rouletteActions.Buybet,\r\n\tGetLatestResult: gameActions.GetLatestResult,\r\n\tGetCurrentResult: rouletteActions.GetCurrentResult,\r\n\tClearAvailableGames: gameActions.ClearAvailableGames\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(Roulette));","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { lottoActions } from '../../../action/lottoAction';\r\nimport { raffleActions } from '../../../action/raffleAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass RaffleCar extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n cartItems: [],\r\n currentRunningDraw: {},\r\n currentFinishingDraw: {},\r\n coundownStart: 0,\r\n coundTime: 18900000,\r\n currentDraw: {},\r\n currentAvailableDraws: [],\r\n ballStartNumber: 1,\r\n ballEndNumber: 0,\r\n QPBallCount: 0,\r\n random: [],\r\n showSingleMsg: false,\r\n _serverTimeDiff: 0,\r\n allGameClosed: 0,\r\n isViewAnimation: false,\r\n\r\n searchOptionID: 2, //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n searchkey: '',\r\n lstAvailableTickets: [],\r\n txtSearchMaxLen: 2,\r\n txtSearchEnable: false,\r\n SearchOption: { WholeNumber: 1, Last2: 2, First2: 3, AnyWhere2: 4, QuickPick: 5 }\r\n };\r\n this.my_componentWillUnmount();\r\n if (props.currentGamesFamily.id !== undefined) {\r\n props.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n }\r\n }\r\n selectDraw = (_draw) => {\r\n this.props.SetCurrentDraw(_draw);\r\n };\r\n\r\n selectRunningDraw = () => {\r\n if (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\r\n //if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n if (this.state.currentFinishingDraw != undefined) {\r\n //if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n let lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n if (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n let _draw = this.state.currentAvailableDraws[0];\r\n //let _draw = lst[0];\r\n this.setState({\r\n currentRunningDraw: _draw,\r\n })\r\n this.state.currentRunningDraw = _draw;\r\n this.selectDraw(_draw);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let _draw = this.state.currentAvailableDraws[0];\r\n if (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n try {\r\n let sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n if (_draw != undefined) {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n sTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n }\r\n let dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n window.timer = null;\r\n this.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n }\r\n catch (ex) {\r\n alert(ex);\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(previousProps, previousState) {\r\n if (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n this.state.allGameClosed = 0;\r\n }\r\n if (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n //if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) \r\n {\r\n if (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n this.state.allGameClosed = 1\r\n }\r\n let _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n this.selectDraw(_draw);\r\n this.state.currentRunningDraw = _draw;\r\n this.setState({ currentRunningDraw: _draw });\r\n }\r\n window.documentReadyjQueryFlex();\r\n };\r\n\r\n my_componentWillUnmount = () => {\r\n this.props.ClearCart();\r\n this.setState({ currentRunningDraw: null });\r\n this.props.ClearAvailableGames();\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n RefreshAfterGameClose = () => {\r\n this.state.coundownStart = 0;\r\n this.state._serverTimeDiff = 0;\r\n this.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n this.state.currentRunningDraw = {};\r\n this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language);\r\n };\r\n\r\n clearCart = () => {\r\n this.props.ClearCart();\r\n };\r\n\r\n clearSearchTicket = () => {\r\n this.setState({ searchkey: \"\" });\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n return;\r\n }\r\n this.props.ClearSearchTicket(this.props.user.mobileNo, this.props.user.loginKey);\r\n };\r\n\r\n removeFromCart = (cid) => {\r\n this.props.RemoveFromCart(cid);\r\n };\r\n\r\n countdownCompleted = () => {\r\n //this.RefreshAfterGameClose();\r\n };\r\n\r\n getGameTime = () => {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n console.log(\"getGameTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n\r\n // Renderer callback with condition\r\n renderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n if (completed) {\r\n // Render a completed state\t\t\t\r\n return {this.props.t('lblDrawClosed')}!;\r\n } else {\r\n // Render a countdown\r\n return {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n }\r\n };\r\n\r\n getServerTime = () => {\r\n if (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n console.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n return this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n }\r\n else {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n var sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n this.state._serverTimeDiff = sTime;\r\n console.log(\"getServerTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n };\r\n\r\n reCount = (rundraw) => {\r\n if (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n return {this.props.t('lblDrawClosed')}!;\r\n }\r\n else {\r\n this.state.coundownStart = 1;\r\n return { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
    {this.props.t('lblDrawClosed')}
    :
    {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
    ) }} />
    ;\r\n }\r\n };\r\n\r\n BuyLotteryBet = () => {\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n alert(this.props.t('lblplcurbet'));\r\n return;\r\n }\r\n let totstake = this.state.cartItems.reduce((a, b) => a = a + b.amount, 0);\r\n let minTotStake = 200;\r\n let maxTotStake = 10000;\r\n if (this.state.currentGamesFamily != undefined) {\r\n minTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n maxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n }\r\n if (totstake < minTotStake) //300\r\n {\r\n alert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n return;\r\n }\r\n else if (totstake > maxTotStake)//10000\r\n {\r\n alert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n return;\r\n }\r\n var sTime = new Date(this.props.serverTime);\r\n let TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\r\n let betInfo = \"\";\r\n let _betType = \"1\"; //0-partial,1-full \r\n this.state.cartItems.forEach(element => {\r\n betInfo += element.TicketID + \"~\" + _betType + \"~\" + element.TicketNo + \"|\";\r\n });\r\n let butStr = `'${this.props.user.mobileNo}',${this.state.cartItems[0].gameID},'${betInfo}','${TransID}',0,'${this.props.user.loginKey}','${this.props.i18n.language}'`;\r\n this.props.Buybet(butStr);\r\n this.clearSearchTicket();\r\n this.clearCart();\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n currentAvailableDraws: props.currentAvailableDraws,\r\n cartItems: props.cartItems,\r\n currentDraw: props.currentDraw,\r\n currentGamesFamily: props.currentGamesFamily,\r\n latestResult: props.latestResult,\r\n lstAvailableTickets: props.AvailableTickets\r\n };\r\n };\r\n\r\n selectTicket = (_ticket) => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n this.state.showSingleMsg = true;\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (_ticket.Status != 0 && _ticket.Status != 5) {\r\n alert(this.props.t('lblUnableBuyTicket'));\r\n return;\r\n }\r\n let obj = this.state.cartItems.filter(x => x.id == _ticket.TicketNo);\r\n if (obj.length > 0) {\r\n _ticket.Active = false;\r\n this.removeFromCart(_ticket.TicketNo);\r\n }\r\n else {\r\n _ticket.Active = true;\r\n var objLst = {};\r\n objLst.gameName = this.state.currentDraw.LotName;\r\n objLst.drawID = this.state.currentDraw.DrawID;\r\n objLst.gameID = this.state.currentDraw.GameId;\r\n objLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime;\r\n objLst.amount = this.state.currentDraw.RateInPs;\r\n objLst.TicketNo = _ticket.TicketNo;\r\n objLst.id = _ticket.TicketNo;\r\n objLst.TicketID = _ticket.TransactionID;\r\n this.props.AddToCart(objLst);\r\n }\r\n let dd = this.state.lstAvailableTickets;\r\n this.setState({ lstAvailableTickets: dd });\r\n };\r\n\r\n setSearchOption = (op) => {\r\n let _len = 0;\r\n let _txtenable = false;\r\n //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n if (op == this.state.SearchOption.WholeNumber) {\r\n _len = 6;\r\n }\r\n else if (op == this.state.SearchOption.QuickPick) {\r\n _txtenable = true;\r\n }\r\n else {\r\n _len = 2;\r\n }\r\n this.state.txtSearchEnable = _txtenable;\r\n this.setState({ txtSearchEnable: _txtenable });\r\n this.state.txtSearchMaxLen = op;\r\n this.setState({ txtSearchMaxLen: _len });\r\n this.state.searchOptionID = op;\r\n this.setState({ searchOptionID: op });\r\n this.setState({ searchkey: '' });\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n searchTickets = () => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.searchkey == '' && this.state.searchOptionID != this.state.SearchOption.QuickPick) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 2 && (this.state.searchOptionID != this.state.SearchOption.WholeNumber && this.state.searchOptionID != this.state.SearchOption.QuickPick)) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 6 && this.state.searchOptionID == this.state.SearchOption.WholeNumber) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n this.props.GetSearchTicket(this.state.searchOptionID, this.state.searchkey, this.state.currentDraw.GameId, this.props.user.mobileNo, this.props.user.loginKey, this.props.i18n.language);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n IGITEGO-IPHONE\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.reCount(this.state.currentRunningDraw)}\r\n
    \r\n
    \r\n {this.state.cartItems.length}\r\n

    {this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { if (/^[0-9\\b]+$/.test(e.target.value) == true || e.target.value == \"\") this.setState({ searchkey: e.target.value }) }} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.lstAvailableTickets.length > 0 && this.state.lstAvailableTickets[0].Status == 5 &&

    {this.props.t('lblSimilarTicket')}

    }\r\n {this.state.lstAvailableTickets.map((x, inx) =>\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {this.props.t('lblgameslip')}

    \r\n

    You've got 30% of chance to win.shop more tickets to get more chance

    \r\n
    \r\n\r\n {(this.state.cartItems && this.state.cartItems.length > 0) ?
      \r\n
    • \r\n {this.props.t('lblTicketNo')}\r\n {this.props.t('lblAmount')}\r\n
    • \r\n {this.state.cartItems.map((x, indx) =>\r\n
    • \r\n {x.TicketNo}\r\n {x.amount}\r\n this.removeFromCart(x.id)}>\r\n
    • \r\n )}\r\n
    :\r\n

    {this.props.t('lblPlaceYourTicket')}

    }\r\n
    \r\n
    \r\n
      \r\n
    • {this.state.cartItems.length}
    • \r\n
    • {this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n const { serverTime } = state.commonReducer;\r\n const { user } = state.loginReducer;\r\n const { cartItems, currentDraw } = state.lottoReducer;\r\n const { AvailableTickets } = state.raffleReducer;\r\n return { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, latestResult, AvailableTickets };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GameFamily: gameActions.GameFamily,\r\n GameAvailableGames: gameActions.GameAvailableGames,\r\n AddToCart: lottoActions.AddToCart,\r\n RemoveFromCart: lottoActions.RemoveFromCart,\r\n RemoveClosedDrawbetFromCart: lottoActions.RemoveClosedDrawbetFromCart,\r\n SetCurrentDraw: lottoActions.SetCurrentDraw,\r\n ClearCart: lottoActions.ClearCart,\r\n Buybet: raffleActions.Buybet,\r\n GetLatestResult: gameActions.GetLatestResult,\r\n ClearAvailableGames: gameActions.ClearAvailableGames,\r\n\r\n GetSearchTicket: raffleActions.GetSearchTicket,\r\n ClearSelectionTicket: raffleActions.ClearSelectionTicket,\r\n ClearSearchTicket: raffleActions.ClearSearchTicket\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(RaffleCar))","import React, { Component } from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { gameActions } from '../../../action/gamesAction';\r\nimport { lottoActions } from '../../../action/lottoAction';\r\nimport { raffleActions } from '../../../action/raffleAction';\r\nimport Countdown, { zeroPad } from 'react-countdown';\r\nimport Header from \"../../Header/Header\";\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass RaffleBike extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n cartItems: [],\r\n currentRunningDraw: {},\r\n currentFinishingDraw: {},\r\n coundownStart: 0,\r\n coundTime: 18900000,\r\n currentDraw: {},\r\n currentAvailableDraws: [],\r\n ballStartNumber: 1,\r\n ballEndNumber: 0,\r\n QPBallCount: 0,\r\n random: [],\r\n showSingleMsg: false,\r\n _serverTimeDiff: 0,\r\n allGameClosed: 0,\r\n isViewAnimation: false,\r\n\r\n searchOptionID: 2, //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n searchkey: '',\r\n lstAvailableTickets: [],\r\n txtSearchMaxLen: 2,\r\n txtSearchEnable: false,\r\n SearchOption: { WholeNumber: 1, Last2: 2, First2: 3, AnyWhere2: 4, QuickPick: 5 }\r\n };\r\n this.my_componentWillUnmount();\r\n if (props.currentGamesFamily.id !== undefined) {\r\n props.GameAvailableGames(props.user.mobileNo, props.currentGamesFamily.id, this.props.i18n.language);\r\n }\r\n }\r\n\r\n selectDraw = (_draw) => {\r\n this.props.SetCurrentDraw(_draw);\r\n };\r\n\r\n selectRunningDraw = () => {\r\n if (this.state.coundownStart != undefined && this.state.coundownStart == 0) {\r\n\r\n //if (this.state.currentFinishingDraw != undefined && this.state.currentAvailableDraws.length > 0) {\r\n if (this.state.currentFinishingDraw != undefined) {\r\n //if (this.state.currentFinishingDraw.DrawID == undefined || this.state.currentRunningDraw.DrawID == undefined || this.state.currentFinishingDraw.DrawID !=this.state.currentRunningDraw.DrawID) {\r\n let lst = this.state.currentAvailableDraws.filter(a => a.DrawID == this.state.currentFinishingDraw.DrawID);\r\n if (lst.length > 0 || this.state.currentAvailableDraws.length <= 0) {\r\n let _draw = this.state.currentAvailableDraws[0];\r\n //let _draw = lst[0];\r\n this.setState({\r\n currentRunningDraw: _draw,\r\n })\r\n this.state.currentRunningDraw = _draw;\r\n this.selectDraw(_draw);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let _draw = this.state.currentAvailableDraws[0];\r\n if (_draw == undefined) { this.state.coundownStart = 1; return; }\r\n try {\r\n let sTime = undefined; //new Date(Date.now() - this.state.coundTime);\r\n if (_draw != undefined) {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_draw.DrawDateTime.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n sTime = new Date(ss.setSeconds(ss.getSeconds() - 60));\r\n }\r\n let dStr = (\"0\" + sTime.getDate()).slice(-2) + \"/\" + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + \"/\" + sTime.getFullYear() + \" \" + sTime.getHours() + \":\" + sTime.getMinutes() + \":\" + sTime.getSeconds();\r\n window.timer = null;\r\n this.state.coundownStart = window.startDraw(dStr, this.RefreshAfterGameClose);\r\n }\r\n catch (ex) {\r\n alert(ex);\r\n }\r\n }\r\n };\r\n\r\n componentDidUpdate(previousProps, previousState) {\r\n if (this.state.currentDraw != null && Object.keys(this.state.currentDraw).length != 0) {\r\n this.state.allGameClosed = 0;\r\n }\r\n if (this.state.currentAvailableDraws.length > 0 && ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length <= 0) || this.state.currentAvailableDraws[0].DrawNo != this.state.currentRunningDraw.DrawNo))\r\n //if ((this.state.currentRunningDraw == null || Object.keys(this.state.currentRunningDraw).length == 0) && (this.state.allGameClosed == 0)) \r\n {\r\n if (this.state.currentAvailableDraws == undefined || this.state.currentAvailableDraws.length <= 0) {\r\n this.state.allGameClosed = 1\r\n }\r\n let _draw = this.state.currentAvailableDraws ? this.state.currentAvailableDraws[0] : null;\r\n this.selectDraw(_draw);\r\n this.state.currentRunningDraw = _draw;\r\n this.setState({ currentRunningDraw: _draw });\r\n }\r\n window.documentReadyjQueryFlex();\r\n };\r\n\r\n my_componentWillUnmount = () => {\r\n this.props.ClearCart();\r\n this.setState({ currentRunningDraw: null });\r\n this.props.ClearAvailableGames();\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n RefreshAfterGameClose = () => {\r\n this.state.coundownStart = 0;\r\n this.state._serverTimeDiff = 0;\r\n this.state.currentFinishingDraw = this.state.currentRunningDraw;\r\n this.state.currentRunningDraw = {};\r\n this.props.GameAvailableGames(this.props.user.mobileNo, this.props.currentGamesFamily.id, this.props.i18n.language);\r\n };\r\n\r\n clearCart = () => {\r\n this.props.ClearCart();\r\n };\r\n\r\n clearSearchTicket = () => {\r\n this.setState({ searchkey: \"\" });\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n return;\r\n }\r\n this.props.ClearSearchTicket(this.props.user.mobileNo, this.props.user.loginKey);\r\n };\r\n\r\n removeFromCart = (cid) => {\r\n this.props.RemoveFromCart(cid);\r\n };\r\n\r\n countdownCompleted = () => {\r\n //this.RefreshAfterGameClose();\r\n };\r\n\r\n getGameTime = () => {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let sTime = (new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/')).getTime());\r\n console.log(\"getGameTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n\r\n // Renderer callback with condition\r\n renderer = ({ total, days, hours, minutes, seconds, completed }) => {\r\n if (completed) {\r\n // Render a completed state\t\t\t\r\n return {this.props.t('lblDrawClosed')}!;\r\n } else {\r\n // Render a countdown\r\n return {zeroPad(total)}:{zeroPad(days)}:{zeroPad(hours)}:{zeroPad(minutes)}:{zeroPad(seconds)};\r\n }\r\n };\r\n\r\n getServerTime = () => {\r\n if (this.state._serverTimeDiff != 0 && this.state.currentRunningDraw != null && Object.keys(this.state.currentRunningDraw).length > 0) {\r\n console.log(\"getServerTime : \" + this.state._serverTimeDiff);\r\n return this.state._serverTimeDiff = (this.state._serverTimeDiff + 1000);\r\n }\r\n else {\r\n let _date = this.state.currentRunningDraw ? this.state.currentRunningDraw.DrawDateTime : \"\";\r\n if (_date != undefined && _date != \"\") {\r\n var pattern = /(\\d{2})\\/(\\d{2})\\/(\\d{4})/;\r\n let ss = new Date(_date.replace(pattern, '$3-$2-$1').replace(/-/g, '/'));\r\n var sTime = (new Date(ss.setSeconds(ss.getSeconds() - 10)).getTime());\r\n this.state._serverTimeDiff = sTime;\r\n console.log(\"getServerTime : \" + sTime);\r\n console.log(\"DateNow : \" + Date.now());\r\n return sTime;\r\n\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n };\r\n\r\n reCount = (rundraw) => {\r\n if (this.state.currentDraw == null || rundraw == null || Object.keys(rundraw).length == 0) {\r\n return {this.props.t('lblDrawClosed')}!;\r\n }\r\n else {\r\n this.state.coundownStart = 1;\r\n return { return (this.props.serverTime); }} date={this.getGameTime()} onComplete={this.countdownCompleted} renderer={({ days, hours, minutes, seconds, completed }) => { return (completed ?
    {this.props.t('lblDrawClosed')}
    :
    {zeroPad((days * 24) + hours)}hh:{zeroPad(minutes)}mm:{zeroPad(seconds)}ss
    ) }} />
    ;\r\n }\r\n };\r\n\r\n BuyLotteryBet = () => {\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.cartItems == undefined || this.state.cartItems.length <= 0) {\r\n alert(this.props.t('lblplcurbet'));\r\n return;\r\n }\r\n let totstake = this.state.cartItems.reduce((a, b) => a = a + b.amount, 0);\r\n let minTotStake = 200;\r\n let maxTotStake = 10000;\r\n if (this.state.currentGamesFamily != undefined) {\r\n minTotStake = this.state.currentGamesFamily.minStakePerTrans;\r\n maxTotStake = this.state.currentGamesFamily.maxStakePerTrans;\r\n }\r\n if (totstake < minTotStake) //300\r\n {\r\n alert(this.props.t('lblMinimumplayAmt') + \" : \" + minTotStake);\r\n return;\r\n }\r\n else if (totstake > maxTotStake)//10000\r\n {\r\n alert(this.props.t('lblMaximumplayAmt') + \" : \" + maxTotStake);\r\n return;\r\n }\r\n var sTime = new Date(this.props.serverTime);\r\n let TransID = (\"0\" + sTime.getDate()).slice(-2) + (\"0\" + (sTime.getMonth() + 1)).slice(-2) + sTime.getFullYear() + (\"0\" + sTime.getHours()).slice(-2) + (\"0\" + sTime.getMinutes()).slice(-2) + (\"0\" + sTime.getSeconds()).slice(-2) + this.props.user.mobileNo;\r\n let betInfo = \"\";\r\n let _betType = \"1\"; //0-partial,1-full \r\n this.state.cartItems.forEach(element => {\r\n betInfo += element.TicketID + \"~\" + _betType + \"~\" + element.TicketNo + \"|\";\r\n });\r\n let butStr = `'${this.props.user.mobileNo}',${this.state.cartItems[0].gameID},'${betInfo}','${TransID}',0,'${this.props.user.loginKey}','${this.props.i18n.language}'`;\r\n this.props.Buybet(butStr);\r\n this.clearSearchTicket();\r\n this.clearCart();\r\n };\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n currentAvailableDraws: props.currentAvailableDraws,\r\n cartItems: props.cartItems,\r\n currentDraw: props.currentDraw,\r\n currentGamesFamily: props.currentGamesFamily,\r\n latestResult: props.latestResult,\r\n lstAvailableTickets: props.AvailableTickets\r\n };\r\n };\r\n\r\n selectTicket = (_ticket) => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n this.state.showSingleMsg = true;\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (_ticket.Status != 0 && _ticket.Status != 5) {\r\n alert(this.props.t('lblUnableBuyTicket'));\r\n return;\r\n }\r\n let obj = this.state.cartItems.filter(x => x.id == _ticket.TicketNo);\r\n if (obj.length > 0) {\r\n _ticket.Active = false;\r\n this.removeFromCart(_ticket.TicketNo);\r\n }\r\n else {\r\n _ticket.Active = true;\r\n var objLst = {};\r\n objLst.gameName = this.state.currentDraw.LotName;\r\n objLst.drawID = this.state.currentDraw.DrawID;\r\n objLst.gameID = this.state.currentDraw.GameId;\r\n objLst.drawDateTime = this.state.currentDraw.DrawDate + \" \" + this.state.currentDraw.DrawTime;\r\n objLst.amount = this.state.currentDraw.RateInPs;\r\n objLst.TicketNo = _ticket.TicketNo;\r\n objLst.id = _ticket.TicketNo;\r\n objLst.TicketID = _ticket.TransactionID;\r\n this.props.AddToCart(objLst);\r\n }\r\n let dd = this.state.lstAvailableTickets;\r\n this.setState({ lstAvailableTickets: dd });\r\n };\r\n\r\n setSearchOption = (op) => {\r\n let _len = 0;\r\n let _txtenable = false;\r\n //1-Whole Number,2-Last 2 digit,3-First 2 digit,4-2 digit anywere,5-Quick Pick\r\n if (op == this.state.SearchOption.WholeNumber) {\r\n _len = 6;\r\n }\r\n else if (op == this.state.SearchOption.QuickPick) {\r\n _txtenable = true;\r\n }\r\n else {\r\n _len = 2;\r\n }\r\n this.state.txtSearchEnable = _txtenable;\r\n this.setState({ txtSearchEnable: _txtenable });\r\n this.state.txtSearchMaxLen = op;\r\n this.setState({ txtSearchMaxLen: _len });\r\n this.state.searchOptionID = op;\r\n this.setState({ searchOptionID: op });\r\n this.setState({ searchkey: '' });\r\n this.props.ClearSelectionTicket();\r\n };\r\n\r\n searchTickets = () => {\r\n if (this.state.currentDraw == null || Object.keys(this.state.currentDraw).length == 0) {\r\n alert(this.props.t('lblSelectDraw'));\r\n return;\r\n }\r\n if (this.props.user == undefined || this.props.user.mobileNo == \"0\") {\r\n alert(this.props.t('lblLoginValidation'));\r\n return;\r\n }\r\n if (this.state.searchkey == '' && this.state.searchOptionID != this.state.SearchOption.QuickPick) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 2 && (this.state.searchOptionID != this.state.SearchOption.WholeNumber && this.state.searchOptionID != this.state.SearchOption.QuickPick)) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n if (this.state.searchkey.length != 6 && this.state.searchOptionID == this.state.SearchOption.WholeNumber) {\r\n alert(this.props.t('lblEnterTicketNumber'));\r\n return;\r\n }\r\n this.props.GetSearchTicket(this.state.searchOptionID, this.state.searchkey, this.state.currentDraw.GameId, this.props.user.mobileNo, this.props.user.loginKey, this.props.i18n.language);\r\n };\r\n\r\n render() {\r\n const { t } = this.props;\r\n return (\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n IGITEGO-MOTO\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.reCount(this.state.currentRunningDraw)}\r\n
    \r\n
    \r\n {this.state.cartItems.length}\r\n

    {this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { if (/^[0-9\\b]+$/.test(e.target.value) == true || e.target.value == \"\") this.setState({ searchkey: e.target.value }) }} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.lstAvailableTickets.length > 0 && this.state.lstAvailableTickets[0].Status == 5 &&

    {this.props.t('lblSimilarTicket')}

    }\r\n {this.state.lstAvailableTickets.map((x, inx) =>\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {this.props.t('lblgameslip')}

    \r\n

    You've got 30% of chance to win.shop more tickets to get more chance

    \r\n
    \r\n\r\n {(this.state.cartItems && this.state.cartItems.length > 0) ?
      \r\n
    • \r\n {this.props.t('lblTicketNo')}\r\n {this.props.t('lblAmount')}\r\n
    • \r\n {this.state.cartItems.map((x, indx) =>\r\n
    • \r\n {x.TicketNo}\r\n {x.amount}\r\n this.removeFromCart(x.id)}>\r\n
    • \r\n )}\r\n
    :\r\n

    {this.props.t('lblPlaceYourTicket')}

    }\r\n
    \r\n
    \r\n
      \r\n
    • {this.state.cartItems.length}
    • \r\n
    • {this.state.cartItems.reduce((a, b) => a = a + b.amount, 0)}
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n };\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { currentGamesFamily, currentAvailableDraws, myBet, latestResult } = state.gameReducer;\r\n const { serverTime } = state.commonReducer;\r\n const { user } = state.loginReducer;\r\n const { cartItems, currentDraw } = state.lottoReducer;\r\n const { AvailableTickets } = state.raffleReducer;\r\n return { currentGamesFamily, user, currentAvailableDraws, cartItems, currentDraw, serverTime, myBet, latestResult, AvailableTickets };\r\n}\r\n\r\nconst mapActionToProps = {\r\n GameFamily: gameActions.GameFamily,\r\n GameAvailableGames: gameActions.GameAvailableGames,\r\n AddToCart: lottoActions.AddToCart,\r\n RemoveFromCart: lottoActions.RemoveFromCart,\r\n RemoveClosedDrawbetFromCart: lottoActions.RemoveClosedDrawbetFromCart,\r\n SetCurrentDraw: lottoActions.SetCurrentDraw,\r\n ClearCart: lottoActions.ClearCart,\r\n Buybet: raffleActions.Buybet,\r\n GetLatestResult: gameActions.GetLatestResult,\r\n ClearAvailableGames: gameActions.ClearAvailableGames,\r\n\r\n GetSearchTicket: raffleActions.GetSearchTicket,\r\n ClearSelectionTicket: raffleActions.ClearSelectionTicket,\r\n ClearSearchTicket: raffleActions.ClearSearchTicket\r\n}\r\n\r\nexport default connect(mapStateToProps, mapActionToProps)(withTranslation()(RaffleBike))","import React, { Component } from 'react';\r\nimport { Router, Route, Switch } from 'react-router-dom';\r\nimport { history } from './helpers/history';\r\nimport { PrivateRoute } from './helpers/PrivateRoute';\r\nimport { connect } from 'react-redux';\r\nimport { alertActions } from './action/alertAction';\r\nimport Login from './component/Pages/Login';\r\nimport Home from './component/Pages/Home/Home';\r\nimport Lotto from './component/Pages/Lotto/lottoIndex';\r\nimport QuickWin from './component/Pages/QuickWin/quickWinIndex';\r\nimport Target10 from './component/Pages/Target10/target10Index';\r\n\r\n\r\nimport Common from \"./component/Pages/common\";\r\n\r\n// import Header from \"./component/Header/Header\";\r\nimport Footer from \"./component/Footer/Footer\";\r\nimport Account from './component/Pages/Account/AccountIndex';\r\n\r\nimport ResultReport from './component/Pages/Account/ResultReport';\r\nimport Faq from \"./component/Pages/Faq\";\r\nimport PrivacyPolicy from \"./component/Pages/PrivacyPolicy\";\r\nimport TermsAndCondition from \"./component/Pages/TermsAndCondition\";\r\nimport UnderConstruction from \"./component/Pages/UnderConstruction\";\r\nimport Contact from \"./component/Pages/Contact\";\r\nimport AboutUs from \"./component/Pages/AboutUs\";\r\nimport CookiePolicy from \"./component/Pages/CookiePolicy\";\r\nimport HowToPlay from \"./component/Pages/HowToPlay\";\r\nimport HelpAndSupport from \"./component/Pages/HelpAndSupport\";\r\nimport BecomeAnAgent from \"./component/Pages/BecomeAnAgent\";\r\nimport SocialResponsibility from \"./component/Pages/SocialResponsibility\";\r\nimport PressRelease from \"./component/Pages/PressRelease\";\r\nimport { loginActions } from './action/loginAction';\r\nimport ErrorBoundary from './component/Error'\r\nimport Winners from \"./component/Pages/Winners\";\r\nimport Instant from \"./component/Pages/Casino/Instant\";\r\nimport Raffle from \"./component/Pages/Raffle/RaffleIndex\";\r\nimport Pick3 from './component/Pages/Pick3/pick3Index';\r\nimport Roulette from './component/Pages/Roulette/RouletteIndex';\r\nimport Rafflephone from './component/Pages/Rafflephone/RafflePhoneIndex';\r\nimport RaffleBike from './component/Pages/RaffleBike/RaffleBikeIndex';\r\n\r\n// import NotFound from './component/NotFound'\r\n\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { isTimedOut: false }\r\n history.listen((location, action) => {\r\n // clear alert on location change\r\n //this.props.clearAlerts(); \r\n this.hideFooter(location.pathname);\r\n this.hideNavLink(location.pathname);\r\n console.log(\"New version is : \" + process.env.REACT_APP_VERSION);\r\n });\r\n let _myapp = JSON.parse(localStorage.getItem('appvariables'));\r\n\r\n if (_myapp && process.env.REACT_APP_VERSION != _myapp.version) {\r\n localStorage.setItem('appvariables', JSON.stringify({ countryCode: \"\", currency: \"FRw\", version: process.env.REACT_APP_VERSION }));\r\n //window.location.reload(true);\r\n window.location.href = window.location.href;\r\n window.location.replace(window.location.href);\r\n }\r\n\r\n if (_myapp == null || _myapp == undefined) {\r\n localStorage.setItem('appvariables', JSON.stringify({ countryCode: \"\", currency: \"FRw\", version: process.env.REACT_APP_VERSION }));\r\n }\r\n let _user = localStorage.getItem('user');\r\n if (_user == null || _user == undefined) {\r\n this.props.loginSkip(1);\r\n }\r\n }\r\n\r\n\r\n hideFooter = (_pathname) => {\r\n let dd = document.getElementById(\"myappFooter\");\r\n if (_pathname == \"/login\" || _pathname == '/termscondition') {\r\n if (dd)\r\n dd.style.display = \"none\";\r\n }\r\n else {\r\n if (dd)\r\n dd.style.display = \"block\";\r\n }\r\n // let dd1 = document.getElementById(\"myappHeader\"); \r\n // if ( _pathname == '/termscondition') {\r\n // if (dd1)\r\n // dd1.style.display = \"none\";\r\n // }\r\n // else {\r\n // if (dd1)\r\n // dd.style.display = \"block\";\r\n // }\r\n };\r\n\r\n\r\n hideNavLink = (_pathname) => {\r\n let dd = document.getElementById(\"navBarSocialLink\");\r\n if (_pathname != \"/\" && _pathname != '/home') {\r\n if (dd)\r\n dd.style.display = \"none\";\r\n }\r\n else {\r\n if (dd)\r\n dd.style.display = \"block\";\r\n }\r\n };\r\n\r\n\r\n loadsitedata = () => {\r\n try {\r\n fetch('siteconfig.json')\r\n .then(response => response.json())\r\n .then(data => {\r\n console.log(\"New REACT_APP_VERSION is : \" + process.env.REACT_APP_VERSION);\r\n console.log(\"Old REACT_APP_VERSION is : \" + data.version);\r\n if (data && process.env.REACT_APP_VERSION != data.version) {\r\n localStorage.setItem('appvariables', JSON.stringify({ countryCode: \"\", currency: \"FRw\", version: data.version }));\r\n //window.location.reload(true);\r\n window.location.href = window.location.href;\r\n window.location.replace(window.location.href);\r\n }\r\n }\r\n );\r\n\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n };\r\n\r\n\r\n componentDidMount() {\r\n //while refresh the page.\r\n //this.hideFooter(history.location.pathname)\r\n // localStorage.setItem('appvariables', JSON.stringify({countryCode:\"+91\",currency:\"₹\"})); \r\n //this.loadsitedata();\r\n window.documentReadyHome();\r\n };\r\n\r\n componentDidUpdate() {\r\n this.hideFooter(history.location.pathname);\r\n this.hideNavLink(history.location.pathname);\r\n };\r\n\r\n render() {\r\n const { alertReducer } = this.props;\r\n return (\r\n
    {/*style={{ height: \"100%\" }} */}\r\n
    \r\n {alertReducer.message &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {alertReducer.alertTitle}

    \r\n {alertReducer.message} \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {alertReducer.loading &&
    }\r\n \r\n {/* */}\r\n \r\n \r\n {/*
    \r\n
    */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n {/*
    */}\r\n
    \r\n {/* {history.location.pathname.indexOf(\"/login\")<=-1 &&
    } */}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { alertReducer } = state;\r\n const { user } = state.loginReducer;\r\n return { alertReducer, user };\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n clearAlerts: alertActions.clear,\r\n loading: alertActions.loading,\r\n loginSkip: loginActions.loginSkip\r\n\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App)\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { appConstants } from \"../helpers/actionType\";\r\n\r\nlet user = JSON.parse(localStorage.getItem('user'));\r\nlet appVar = JSON.parse(localStorage.getItem('appvariables'));\r\nappVar = appVar != null ? appVar : { countryCode: \"\", currency: \"FRw\", version: process.env.REACT_APP_VERSION };\r\nlet pagemenu = localStorage.getItem('pagemenuid');\r\npagemenu = pagemenu == null ? \"0\" : pagemenu;\r\nconst initialState = user ? { loggedIn: true, user, appvariables: (appVar ? appVar : { countryCode: \"\", currency: \"FRw\", version: process.env.REACT_APP_VERSION }), pageFlog: 0, pageMenuID: pagemenu } : { pageFlog: 0, pageMenuID: pagemenu, appvariables: appVar };\r\nexport const loginReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case appConstants.LOGIN_REQUEST:\r\n return {\r\n ...state,\r\n user: action.user\r\n };\r\n case appConstants.LOGIN_SUCCESS:\r\n return {\r\n ...state,\r\n user: action.userdata\r\n };\r\n case appConstants.LOGIN_ERROR:\r\n return {\r\n pageFlog: state.pageFlog,\r\n appvariables: state.appvariables\r\n };\r\n case appConstants.LOGOUT:\r\n return {\r\n pageFlog: state.pageFlog,\r\n appvariables: state.appvariables\r\n };\r\n case appConstants.REGISTER_SUCCESS:\r\n return {\r\n ...state,\r\n pageFlog: action.pageFlog,\r\n otpMobileNo: action.otpMobileNo\r\n };\r\n case appConstants.REGISTER_ERROR:\r\n return {\r\n pageFlog: state.pageFlog,\r\n appvariables: state.appvariables\r\n };\r\n\r\n case appConstants.GET_BALANCE:\r\n let userdata = state.user;\r\n if (userdata != undefined) {\r\n userdata.balance = action.balance;\r\n userdata.winbalance = action.winbalance;\r\n localStorage.setItem('user', JSON.stringify(userdata));\r\n }\r\n return {\r\n ...state,\r\n user: { ...state.user, balance: action.balance, winbalance: action.winbalance }\r\n };\r\n\r\n case appConstants.SET_PAGE_MENU:\r\n localStorage.setItem('pagemenuid', action.pageMenuID);\r\n return {\r\n ...state,\r\n pageMenuID: action.pageMenuID\r\n };\r\n default:\r\n return { ...state }\r\n }\r\n}","import { appConstants } from \"../helpers/actionType\";\r\nimport { history } from '../helpers/history';\r\nlet allFamily = JSON.parse(localStorage.getItem('allFamily'));\r\nallFamily = allFamily ? allFamily : [];\r\nlet cDraw = {};\r\n//if new games ,add here and gamesAction file\r\nfunction initFamily() {\r\n let location = history.location.pathname;\r\n let cFamily = {};\r\n switch (location) {\r\n case \"/lotto\":\r\n cFamily = allFamily.filter(a => a.id == 4)[0];\r\n break;\r\n case \"/quickwin\":\r\n cFamily = allFamily.filter(a => a.id == 5)[0];\r\n break;\r\n case \"/target\":\r\n cFamily = allFamily.filter(a => a.id == 3)[0];\r\n break;\r\n case \"/igitego\":\r\n cFamily = allFamily.filter(a => a.id == 1)[0];\r\n break;\r\n case \"/Pick3\":\r\n cFamily = allFamily.filter(a => a.id == 7)[0];\r\n break;\r\n case \"/Roulette\":\r\n cFamily = allFamily.filter(a => a.id == 8)[0];\r\n break;\r\n case \"/moto\":\r\n cFamily = allFamily.filter(a => a.id == 9)[0];\r\n break;\r\n case \"/iphone\":\r\n cFamily = allFamily.filter(a => a.id == 10)[0];\r\n break;\r\n }\r\n return cFamily;\r\n}\r\n//by thamil for fix the session share diff browser tabs with diff games on 24/02/2023\r\n//let cFamily = JSON.parse(localStorage.getItem('cFamily'));\r\n//cFamily = cFamily ? cFamily : {};\r\n//let cDraw = JSON.parse(localStorage.getItem('cDraw'));\r\n//cDraw = cDraw ? cDraw : {};\r\n\r\nconst initialState = { games: allFamily, currentGamesFamily: initFamily(), currentAvailableDraws: [], currentDraw: cDraw, serverTime: 0, latestResult: [], casinoGames: [] };\r\nexport const gameReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case appConstants.GET_GAMEFAMILY_SUCCESS:\r\n return {\r\n ...state,\r\n games: action.games\r\n };\r\n case appConstants.GET_GAMEFAMILY_ERROR:\r\n return { ...state };\r\n case appConstants.SET_GAMEFAMILY:\r\n return {\r\n ...state,\r\n currentGamesFamily: action.gFamily\r\n };\r\n\r\n case appConstants.GET_AVAILDRAWS_SUCCESS:\r\n return {\r\n ...state,\r\n currentAvailableDraws: action.currentAvailableDraws\r\n };\r\n case appConstants.GET_AVAILDRAWS_ERROR:\r\n return {\r\n ...state,\r\n currentAvailableDraws: []\r\n };\r\n\r\n case appConstants.BUY_SUCCESS:\r\n return {\r\n ...state,\r\n myBet: action.myBet\r\n };\r\n case appConstants.BUY_ERROR:\r\n return {\r\n ...state,\r\n myBet: null\r\n };\r\n\r\n case appConstants.GET_LATEST_RESULT_SUCCESS:\r\n return {\r\n ...state,\r\n latestResult: action.lResult\r\n };\r\n case appConstants.GET_LATEST_RESULT_ERROR:\r\n return {\r\n ...state,\r\n latestResult: null\r\n };\r\n case appConstants.GET_CASINO_GAMES:\r\n return {\r\n ...state,\r\n casinoGames: action.casinoGame\r\n };\r\n //create new reducer for servertime\r\n // case appConstants.GET_SERVERTIME_SUCCESS: \r\n // return {\r\n // ...state,\r\n // serverTime:action.serverTime\r\n // }; \r\n // case appConstants.GET_SERVERTIME_ERROR:\r\n // return {...state}; \r\n\r\n default:\r\n return { ...state }\r\n }\r\n\r\n}","import {appConstants} from \"../helpers/actionType\";\r\n\r\nconst initialState={serverTime:0};\r\nexport const commonReducer=(state=initialState,action)=>{\r\n switch(action.type)\r\n { \r\n case appConstants.GET_SERVERTIME_SUCCESS: \r\n return {\r\n ...state,\r\n serverTime:action.serverTime\r\n }; \r\n case appConstants.GET_SERVERTIME_ERROR:\r\n return {...state}; \r\n \r\n default:\r\n return {...state}\r\n }\r\n\r\n}","import { combineReducers } from 'redux';\r\nimport { loginReducer } from './loginReducer';\r\nimport { alertReducer } from './alertReducer';\r\nimport { gameReducer } from './gameReducer';\r\nimport { lottoReducer } from './lottoReducer';\r\nimport { accountReducer } from './accountReducer';\r\nimport { quickWinReducer } from './quickWinReducer';\r\nimport {target10Reducer } from './target10Reducer';\r\nimport {raffleReducer } from './raffleReducer';\r\nimport {rouletteReducer} from './RouletteReducer';\r\nimport { commonReducer } from './commonReducer';\r\nconst rootReducer = combineReducers({\r\n loginReducer,\r\n alertReducer,\r\n gameReducer,\r\n lottoReducer,\r\n accountReducer,\r\n quickWinReducer,\r\n target10Reducer,\r\n raffleReducer,\r\n commonReducer, \r\n rouletteReducer\r\n});\r\n\r\nexport default rootReducer;","import { appConstants } from '../helpers/actionType';\r\n\r\nexport function alertReducer(state = { }, action) {\r\n switch (action.type) {\r\n case appConstants.SUCCESS:\r\n return {\r\n appvariables: state.appvariables,\r\n type: 'alert-success',\r\n alertcolor: \"#3BC789\",\r\n alertTitle: \"Info\",\r\n message: action.message\r\n };\r\n case appConstants.ERROR:\r\n return {\r\n appvariables: state.appvariables,\r\n type: 'alert-danger',\r\n alertcolor: \"#ff0000\",\r\n alertTitle: \"Error\",\r\n message: action.message\r\n };\r\n case appConstants.CLEAR:\r\n return { ...state, \r\n message:\"\"\r\n };\r\n case appConstants.LOADING:\r\n return {\r\n appvariables: state.appvariables,\r\n loading: true\r\n };\r\n case appConstants.LOADED:\r\n return {\r\n appvariables: state.appvariables,\r\n loading: false\r\n };\r\n \r\n default:\r\n return state\r\n }\r\n}","import {appConstants} from \"../helpers/actionType\";\r\nexport const lottoReducer=(state={cartItems:[],currentDraw:{}},action)=>{\r\n switch(action.type)\r\n {\r\n case appConstants.ADD_CARTITEM: \r\n return {\r\n ...state,\r\n cartItems:[...state.cartItems, action.cItem]\r\n }; \r\n case appConstants.REMOVE_CARTITEM: \r\n return {\r\n ...state,\r\n cartItems:[...state.cartItems.filter(a=>a.id !=action.cid)]\r\n }; \r\n case appConstants.REMOVE_CLOSEDDRAW_CARTITEM: \r\n return {\r\n ...state,\r\n cartItems:[...state.cartItems.filter(a=>a.drawID !=action.did)]\r\n }; \r\n case appConstants.SET_DRAW: \r\n return {\r\n ...state,\r\n currentDraw:action.cDraw\r\n }; \r\n case appConstants.CLEAR_CARTITEM: \r\n return {\r\n ...state,\r\n cartItems:[]\r\n }; \r\n default:\r\n return {...state}\r\n }\r\n\r\n}","import { appConstants } from \"../helpers/actionType\";\r\nexport const accountReducer = (state = { BetHistory: {},ResultReport:[], AccountSummary: {} ,AccountHistory:{},AccountActivity:{}}, action) => {\r\n switch (action.type) {\r\n case appConstants.GET_BET_HISTORY:\r\n return {\r\n ...state,\r\n BetHistory: action.bethistory\r\n };\r\n case appConstants.ADD_MONEY_SUCCESS:\r\n return {\r\n ...state,\r\n AddMoney: action.addmoney\r\n };\r\n case appConstants.WITHDRAW_MONEY_SUCCESS:\r\n return {\r\n ...state,\r\n WithdrawMoney: action.withdraw\r\n };\r\n case appConstants.GET_ACCOUNT_SUMMARY:\r\n return {\r\n ...state,\r\n AccountSummary: action.accountSummary\r\n };\r\n case appConstants.GET_RESULT_REPORT:\r\n return {\r\n ...state,\r\n ResultReport: action.resultReport\r\n };\r\n case appConstants.GET_ACCOUNT_HISTORY:\r\n return {\r\n ...state,\r\n AccountHistory: action.accountHistory\r\n };\r\n case appConstants.GET_ACCOUNT_ACTIVITY:\r\n return {\r\n ...state,\r\n AccountActivity: action.accountActivity\r\n };\r\n case appConstants.GET_USER_PROFILE:\r\n return {\r\n ...state,\r\n userProfile: action.profile\r\n };\r\n \r\n default:\r\n return { ...state }\r\n\r\n }\r\n}","import { appConstants } from \"../helpers/actionType\";\r\nexport const quickWinReducer = (state = { cartItems: [], currentDraw: {} }, action) => {\r\n switch (action.type) {\r\n case appConstants.ADD_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems, action.cItem]\r\n };\r\n case appConstants.UPDATE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.Items.id), { ...action.Items }].sort((a, b) => (a.bMax > b.bMax) ? 1 : -1)\r\n };\r\n case appConstants.REMOVE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.cid)]\r\n };\r\n case appConstants.REMOVE_CLOSEDDRAW_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.drawID != action.did)]\r\n };\r\n case appConstants.SET_DRAW:\r\n return {\r\n ...state,\r\n currentDraw: action.cDraw\r\n };\r\n case appConstants.UPDATE_STAKE_ALL:\r\n return {\r\n ...state,\r\n stakeAll: action.stake\r\n };\r\n case appConstants.CLEAR_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: []\r\n };\r\n\r\n case appConstants.GET_CURRENT_RESULT:\r\n return {\r\n ...state,\r\n currentResult: action.cResult\r\n };\r\n default:\r\n return { ...state }\r\n }\r\n\r\n}","import { appConstants } from \"../helpers/actionType\";\r\nexport const target10Reducer = (state = { cartItems: [], currentDraw: {} }, action) => {\r\n switch (action.type) {\r\n case appConstants.ADD_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems, action.cItem]\r\n };\r\n case appConstants.UPDATE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.Items.id),{...action.Items}].sort((a, b) => (a.bMax > b.bMax) ? 1 : -1)\r\n };\r\n case appConstants.REMOVE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.cid)]\r\n };\r\n case appConstants.REMOVE_CLOSEDDRAW_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.drawID != action.did)]\r\n };\r\n case appConstants.SET_DRAW:\r\n return {\r\n ...state,\r\n currentDraw: action.cDraw\r\n };\r\n case appConstants.UPDATE_STAKE_ALL:\r\n return {\r\n ...state,\r\n stakeAll: action.stake\r\n };\r\n case appConstants.CLEAR_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: []\r\n }; \r\n case appConstants.GET_CURRENT_RESULT:\r\n return {\r\n ...state,\r\n currentResult: action.cResult\r\n };\r\n default:\r\n return { ...state }\r\n }\r\n\r\n}","import {appConstants} from \"../helpers/actionType\";\r\nexport const raffleReducer=(state={AvailableTickets:[]},action)=>{\r\n switch(action.type)\r\n {\r\n case appConstants.SET_SEARCH_TICKET: \r\n return {\r\n ...state,\r\n AvailableTickets:action.lstTicket\r\n }; \r\n default:\r\n return {...state}\r\n }\r\n\r\n}","import { appConstants } from \"../helpers/actionType\";\r\nexport const rouletteReducer = (state = { cartItems: [], currentDraw: {} }, action) => {\r\n switch (action.type) {\r\n case appConstants.ADD_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems, action.cItem]\r\n };\r\n case appConstants.UPDATE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.Items.id),{...action.Items}].sort((a, b) => (a.bMax > b.bMax) ? 1 : -1)\r\n };\r\n case appConstants.REMOVE_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.id != action.cid)]\r\n };\r\n case appConstants.REMOVE_CLOSEDDRAW_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: [...state.cartItems.filter(a => a.drawID != action.did)]\r\n };\r\n case appConstants.SET_DRAW:\r\n return {\r\n ...state,\r\n currentDraw: action.cDraw\r\n };\r\n case appConstants.UPDATE_STAKE_ALL:\r\n return {\r\n ...state,\r\n stakeAll: action.stake\r\n };\r\n case appConstants.CLEAR_CARTITEM:\r\n return {\r\n ...state,\r\n cartItems: []\r\n };\r\n \r\n case appConstants.GET_CURRENT_RESULT:\r\n return {\r\n ...state,\r\n currentResult: action.cResult\r\n };\r\n default:\r\n return { ...state }\r\n }\r\n\r\n}","import { createStore, applyMiddleware } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\n//by thamil,no need loger\r\n//import { createLogger } from 'redux-logger';\r\nimport rootReducer from '../reducer/rootReducer';\r\n\r\n//const loggerMiddleware = createLogger();\r\n\r\nexport const store = createStore(\r\n rootReducer,\r\n applyMiddleware(\r\n thunkMiddleware,\r\n // loggerMiddleware\r\n )\r\n);","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\nimport Backend from 'i18next-http-backend';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\n\r\nconst getCookie = (name) => {\r\n try {\r\n const value = `; ${document.cookie}`;\r\n const parts = value.split(`; ${name}=`);\r\n let lang_val = process.env.REACT_APP_DEFAULT_LANGUAGE;\r\n if (parts.length === 2)\r\n lang_val = parts.pop().split(';').shift();\r\n console.log(\"selected lang : \" + lang_val);\r\n return lang_val;\r\n }\r\n catch (ex) {\r\n return process.env.REACT_APP_DEFAULT_LANGUAGE;\r\n }\r\n};\r\n\r\ni18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n .use(Backend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init({\r\n lng: getCookie(\"lang\"),\r\n backend: {\r\n /* translation file path */\r\n loadPath: './assets/i18n/{{ns}}/{{lng}}.json'\r\n },\r\n fallbackLng: process.env.REACT_APP_DEFAULT_LANGUAGE,\r\n debug: true,\r\n /* can have multiple namespace, in case you want to divide a huge translation into smaller pieces and load them on demand */\r\n ns: ['translations'],\r\n defaultNS: 'translations',\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n formatSeparator: ','\r\n },\r\n react: {\r\n wait: true\r\n }\r\n });\r\n\r\n\r\nexport default i18n;","import React,{ Suspense } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport App from './App';\r\n//import * as serviceWorker from './serviceWorker';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport { store } from './helpers/store';\r\nimport './i18n';\r\n\r\nReactDOM.render(\r\n \r\n Loading...}>\r\n \r\n \r\n,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}