{"version":3,"sources":["WebServices.js","Popups/PopupWait.js","Popups/PopupMessageBox.js","Views/ViewHome.js","logo.svg","Views/ViewHelp.js","NCCFAppBar.js","NCCFLinks.js","NCCFLinksData.js","Views/history.js","Popups/PopupTriviaRaceSelectInit.js","Popups/PopupTriviaRaceJoin.js","Popups/PopupTriviaRaceCreate.js","Views/ViewTriviaRace.js","Views/ViewTriviaRaceRunQuiz.js","Popups/PopupGetSingleData.js","App.js","reportWebVitals.js","index.js"],"names":["getAppURL","idx","window","location","href","toLocaleLowerCase","indexOf","length","tmp","substr","replace","GetRaceRefresh","quizNameBlankForDefault","meta1","meta2","url","obj","axios","post","SaveMisc","saveMethod","meta3","meta4","meta5","SaveOrCreateRace","race","PopupWait","props","componentDidMount","componentWillReceiveProps","render","Dialog","maxWidth","open","root","PopupWaitVisible","onClose","e","closePopupWait","DialogContent","PopupWaitMessage","state","Component","PopupMessageBox","PopupMessageBoxVisible","closePopupMessageBox","DialogTitle","style","padding","background","borderBottom","minWidth","display","justifyContent","alignItems","width","marginLeft","marginRight","textAlign","PopupMessageBoxProps","ThumbsUp","className","fontSize","color","ThumbsDown","whiteSpace","PopupMessage","DialogActions","borderTop","onClick","ViewHome","componentWillMount","appConstants","paddingTop","height","showPopupTriviaRaceSelectInit","borderRadius","src","fontWeight","ViewHelp","NCCFAppBar","anchorElR","anchorElL","openR","openL","handleClickR","event","setState","currentTarget","handleRequestCloseR","signout","adminAccounts","adminUtilities","focus","approvers","showPopupManageApprovers","changeUser","chargeRules","setView","mobile","help","v","onRightButtonClick","handleClickL","handleRequestCloseL","classes","this","isACC","AppBar","position","Toolbar","onLeftButtonClick","menuButtonLeft","flexCenter","onTitleClick","type","cursor","alt","fontStyle","Menu","menuPosition","id","anchorEl","MenuItem","IsAdmin","AdminUtilAccess","Divider","React","withStyles","flex","top","NCCFLinks","data","fa","nccfUrl","text","List","map","d","i","NCCFLinkListItem","ctaUrl","ListItem","button","openInNewTab","Avatar","ListItemText","primary","theme","backgroundColor","palette","paper","Data","createHashHistory","PopupTriviaRaceSelectInit","SyncInit","clickCreate","showPopupGetSingleData","res","alert","isFacilitator","CurrRace","IsStarted","closePopupTriviaRaceSelectInit","history","push","showPopupTriviaRaceCreate","clickJoin","isWaitingToJoinRace","AllTeams","t","teamMembers","guidID","CurrUser","NextRandomQuestion","showPopupTriviaRaceJoin","PopupTriviaRaceSelectInitVisible","margin","PopupTriviaRaceJoin","selectChanged","currValue","target","value","refreshState","isNumeric","n","isNaN","parseFloat","isFinite","usr","Name","UserAge","racename","user","ws","then","ac","closePopupTriviaRaceJoin","getMethod","param1","param2","param3","param4","currQuizzes","tmpAge","quizzes","PopupTriviaRaceJoinVisible","onChange","X","inputChange","inputMode","lineHeight","x","TeamName","u","PopupTriviaRaceCreate","clickStart","r","NumberOfQuestionsToWinGame","parseInt","currNumQuestions","IsFinished","closePopupTriviaRaceCreate","selectNumTeamsChanged","currNumTeams","selectNumQuestionsChanged","uuidv4","c","Math","random","toString","splitKidsVsAdults","AllUsers","splice","splitTeamsRandomly","sort","a","b","leastTeam","splitTeams","moveToTeam","team","newRace","numQuestionOptions","PopupTriviaRaceCreateVisible","overflow","border","marginBottom","tm","ViewTriviaRace","clickPlayAgain","NavGoToRoot","clickRestart","hasTeamWon","CurrStateAnsweredCorrect","leftPos","winningTeam","transition","class","ViewTriviaRaceRunQuiz","isInRace","clickSkip","answerQuestion","answer","IsCorrect","glob","CurrQuestion","Question","currTriviaGlobal","showPopupMessageBox","setTimeout","corans","PossibleAnswers","ans","Answer","IsAnswered","getAnswersRandomOrder","q","ret","allaboveAnswer","toLowerCase","question","float","PopupGetSingleData","cancel","closePopupGetSingleData","ok","PopupGetSingleDataTitle","PopupGetSingleDataVisible","marginTop","placeholder","App","get","setRootProps","forceUpdate","propName","propName2","value2","propName3","value3","tmpRoot","toggleD","leftDrawer","switchView","view","isAccOrManager","isAppLoading","lastSyncRefreshed","isPendingSync","isShowingconnectionissuebox","currScreen","setInterval","app","moment","add","currtime","console","log","format","PlayerJoinRace","PlayerToRaceResultsScreen","SyncWithServer","tryAgain","questionsToAnswer","triviaQuestionsAll","filter","Difficulty","randomIndex","floor","alreadyAnswered","PopupGetSingleDataCallback","title","cb","save","sdata","PopupTriviaRaceCreateCallback","newVarValue","del","Delete","PopupTriviaRaceJoinCallback","PopupTriviaRaceSelectInitCallback","RefreshState","prop","checked","msg","showPopupWait","backgroundSize","path","exact","Drawer","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.4eafe44c.chunk.js","sourcesContent":["import axios from 'axios';\r\n\r\n\r\n\r\nexport function GetAppConstants() {\r\n\r\n const url = getAppURL() + 'GetAppConstants';\r\n\r\n \r\n\r\n return axios.get(url); //, obj);\r\n}\r\n\r\n\r\nexport function getAppURL() {\r\n\r\n var idx = window.location.href.toLocaleLowerCase().indexOf('/dist/index');\r\n\r\n if (idx < 0)\r\n idx = window.location.href.toLocaleLowerCase().indexOf('/public/index');\r\n\r\n if (idx < 0)\r\n idx = window.location.href.toLocaleLowerCase().indexOf('/#');\r\n\r\n\r\n if(idx < 0)\r\n idx = window.location.href.length - 1; //just do whole string\r\n\r\n var tmp = window.location.href.substr(0, idx + 1);\r\n\r\n if (!tmp.substr(tmp.length - 1, 1) === '/')\r\n tmp += '/';\r\n\r\n //console.log('tmp', tmp);\r\n\r\n tmp += 'api/ws/';\r\n tmp = tmp.replace('3000', '59785').replace('/#', ''); //replace the port here for localhost\r\n\r\n \r\n return tmp;\r\n}\r\n\r\n/*old\r\nexport function getAppURL() {\r\n //console.log('location: ' + window.location.href);\r\n if (window.location.href.toLowerCase().indexOf('http://localhost') > -1) {\r\n return 'http://localhost:30042/api/ws/';\r\n\r\n }else if (window.location.href.toLowerCase().indexOf('https://app3') > -1) {\r\n return 'https://app3.cta.org/memberrelease/api/ws/';\r\n\r\n }\r\n else {\r\n return 'https://mr.cta.org/mr/api/ws/';\r\n }\r\n}*/\r\n\r\nexport function CreateSample(rid, u) {\r\n\r\n const url = getAppURL() + \"CreateSample\";\r\n\r\n var obj = {\r\n requestid: rid,\r\n user: u\r\n };\r\n\r\n return axios.post(url, obj);\r\n}\r\n\r\nexport function deleteorgetSample(id) {\r\n const url = getAppURL() + \"DeleteOrGetSample/\" + id;\r\n return axios.get(url)\r\n}\r\n\r\n\r\n\r\nexport function GetMisc(getMethod, param1, param2, param3, param4) {\r\n\r\n const url = getAppURL() + 'GetMisc';\r\n\r\n \r\n var obj = {\r\n \t\t\tgetMethod: getMethod,\r\n\t\t\tparam1: param1,\r\n\t\t\tparam2: param2,\r\n\t\t\tparam3: param3,\r\n\t\t\tparam4: param4\r\n\t\t\t};\r\n\r\n return axios.post(url, obj); //, obj);\r\n}\r\n\r\n\r\n\r\n\r\nexport function GetRaceRefresh(quizNameBlankForDefault, meta1, meta2) {\r\n\r\n const url = getAppURL() + 'GetRaceRefresh';\r\n\r\n \r\n var obj = {\r\n \t\t\tquizNameBlankForDefault: quizNameBlankForDefault,\r\n\t\t\tmeta1: meta1,\r\n\t\t\tmeta2: meta2\r\n\t\t\t};\r\n\r\n return axios.post(url, obj); //, obj);\r\n}\r\n\r\n\r\n\r\n\r\nexport function JoinRace(racename, user) {\r\n\r\n const url = getAppURL() + 'JoinRace';\r\n\r\n \r\n var obj = {\r\n \t\t\tracename: racename,\r\n\t\t\tuser: user\r\n\t\t\t};\r\n\r\n return axios.post(url, obj); //, obj);\r\n}\r\n\r\n\r\nexport function SaveMisc(saveMethod, meta1, meta2, meta3, meta4, meta5) {\r\n\r\n const url = getAppURL() + 'SaveMisc';\r\n\r\n \r\n var obj = {\r\n \t\t\tsaveMethod: saveMethod,\r\n\t\t\tmeta1: meta1,\r\n\t\t\tmeta2: meta2,\r\n\t\t\tmeta3: meta3,\r\n\t\t\tmeta4: meta4,\r\n\t\t\tmeta5: meta5\r\n };\r\n\r\n return axios.post(url, obj);\r\n}\r\n\r\nexport function SaveOrCreateRace(race, meta1, meta2) {\r\n\r\n const url = getAppURL() + 'SaveOrCreateRace';\r\n\r\n \r\n var obj = {\r\n \t\t\trace: race,\r\n\t\t\tmeta1: meta1,\r\n\t\t\tmeta2: meta2\r\n\t\t\t};\r\n\r\n return axios.post(url, obj); //, obj);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\n\r\n\r\nexport default class PopupWait extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n \r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n }\r\n\r\n render = () => {\r\n \r\n return (\r\n this.props.root.closePopupWait()}>\r\n {/*\r\n
\r\n PopupWait\r\n
\r\n
*/}\r\n\r\n \r\n {\r\n
\r\n

{this.props.root.PopupWaitMessage}

\r\n\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","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\n\r\n\r\nexport default class PopupMessageBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n }\r\n\r\n render = () => {\r\n\r\n return (\r\n this.props.root.closePopupMessageBox()}>\r\n \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.root.PopupMessageBoxProps.ThumbsUp &&\r\n \r\n }\r\n\r\n {\r\n this.props.root.PopupMessageBoxProps.ThumbsDown &&\r\n \r\n }\r\n\r\n {this.props.root.PopupMessage}\r\n
\r\n }\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport * as moment from 'moment';\r\nimport * as ws from '../WebServices';\r\nimport PopupWait from '../Popups/PopupWait';\r\nimport PopupMessageBox from '../Popups/PopupMessageBox';\r\n\r\nimport history from 'history';\r\n\r\nexport default class ViewHome extends Component {\r\n\r\n state = {\r\n\r\n };\r\n\r\n componentWillMount = () => {\r\n \r\n }\r\n\r\n render = () => {\r\n if (this.props.root == null || this.props.root.appConstants == null)\r\n return
;\r\n\r\n return (\r\n
\r\n\r\n \r\n\r\n
NCCF Apps
\r\n\r\n {/* Test Time:\r\n {this.props.root.currTime}\r\n

\r\n User: {this.props.root.appConstants.CurrUser.Name}\r\n */}\r\n
\r\n
\r\n
\r\n this.props.root.showPopupTriviaRaceSelectInit()}>\r\n  Bible Trivia Race
 \r\n \r\n
\r\n Click Here To Enter Game...\r\n
\r\n\r\n\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n\r\n","export default __webpack_public_path__ + \"static/media/logo.6ce24c58.svg\";","import React, { Component } from 'react';\r\nimport * as moment from 'moment';\r\nimport * as ws from '../WebServices';\r\nimport PopupWait from '../Popups/PopupWait';\r\nimport PopupMessageBox from '../Popups/PopupMessageBox';\r\n\r\nexport default class ViewHelp extends Component {\r\n\r\n state = {\r\n\r\n };\r\n\r\n componentWillMount = () => {\r\n \r\n }\r\n\r\n render = () => {\r\n if (this.props.root == null || this.props.root.appConstants == null)\r\n return
;\r\n\r\n return (\r\n
\r\n

ViewHelp

\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport * as ws from './WebServices';\r\n\r\nconst styles = {\r\n root: {\r\n width: '100%',\r\n },\r\n flex: {\r\n flex: 1,\r\n },\r\n flexCenter: {\r\n flex: 1,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center'\r\n },\r\n menuButtonLeft: {\r\n marginLeft: -12,\r\n marginRight: 20,\r\n cursor: 'pointer'\r\n },\r\n menuPosition: {\r\n top: '40px'\r\n }\r\n};\r\n\r\n\r\n\r\n\r\nclass NCCFAppBar extends React.Component {\r\n\r\n state = {\r\n anchorElR: null,\r\n anchorElL: null,\r\n openR: false,\r\n openL: false,\r\n };\r\n\r\n handleClickR = event => {\r\n this.setState({ openR: true, anchorElR: event.currentTarget });\r\n };\r\n\r\n handleRequestCloseR = () => {\r\n this.setState({ openR: false });\r\n };\r\n\r\n signout = () =>{\r\n this.setState({ openR: false });\r\n window.location.href = '/NCCFApps/SignOut.aspx';\r\n }\r\n\r\nadminAccounts = () => {\r\n window.location.href = '/NCCFApps/Admin/AdminAccounts.aspx';\r\n}\r\n\r\nadminUtilities = () => {\r\n this.setState({ openR: false });\r\n // this.setView('help');\r\n var url = '/NCCFApps/Admin/Default.aspx';\r\n var win = window.open(url, '_blank');\r\n win.focus();\r\n\r\n //window.location.href = '/NCCFApps/Admin/Default.aspx';\r\n}\r\n \r\n approvers = () => {\r\n this.props.root.showPopupManageApprovers();\r\n }\r\n\r\n changeUser = () =>{\r\n this.setState({ openR: false });\r\n window.location.href = '/NCCFApps/test/changeuser.aspx';\r\n }\r\n\r\n chargeRules = () => {\r\n this.setView('ViewAdminChargeRules');\r\n }\r\n\r\n mobile = () =>{\r\n this.setState({ openR: false });\r\n window.location.href = '/NCCFApps/distMobile/index.html';\r\n }\r\n\r\n help = () =>{\r\n this.setState({ openR: false });\r\n // this.setView('help');\r\n var url = '/NCCFApps/help/NCCFAppsAppTutorial.pdf';\r\n var win = window.open(url, '_blank');\r\n win.focus();\r\n }\r\n\r\n setView = (v) =>{\r\n this.setState({ openR: false });\r\n this.props.onRightButtonClick(v);\r\n }\r\n\r\n handleClickL = event => {\r\n this.setState({ openL: true, anchorElL: event.currentTarget });\r\n };\r\n\r\n handleRequestCloseL = () => {\r\n this.setState({ openL: false });\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const isACC = this.props.isACC;\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 this.props.root.appConstants != null &&\r\n
 
\r\n }\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n this.setView('ViewHome')}>Home\r\n\r\n {this.props.root.appConstants && (this.props.root.appConstants.IsAdmin || this.props.root.appConstants.AdminUtilAccess) &&\r\n Admin Utilities}\r\n\r\n \r\n {/*Help\r\n \r\n Log Out*/}\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nNCCFAppBar.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default withStyles(styles)(NCCFAppBar);","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n//import List, { ListItem, ListItemText } from '@material-ui/core/List';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport axios from 'axios';\r\n\r\n\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: '100%',\r\n maxWidth: 360,\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n});\r\n\r\n\r\n\r\n\r\nclass NCCFLinks extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: []\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n\r\n this.setState(\r\n {\r\n data: [\r\n { fa: 'fa fa-external-link', nccfUrl: 'https://nccf.church', text: 'NCCF' }\r\n , { fa: 'fa fa-external-link', nccfUrl: 'https://rlcfchurch.org', text: 'RLCF' }\r\n , { fa: 'fa fa-external-link', nccfUrl: 'https://cfcindia.com', text: 'CFC India' }\r\n ]\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n render = () => {\r\n const { classes } = this.props;\r\n const data = this.state.data;\r\n return (\r\n
\r\n
\r\n

NCCF Links

\r\n
\r\n
\r\n \r\n {/*data.map((d, i) =>
{data[i].fa.toString() + '|' + data[i].ctaUrl + '|' + data[i].text.toString()}
)*/}\r\n {data.map((d, i) => )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction NCCFLinkListItem(props) {\r\n const url = props.ctaUrl;\r\n return (\r\n openInNewTab(url)}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction openInNewTab(url) {\r\n var win = window.open(url, '_blank');\r\n win.focus();\r\n}\r\n\r\nNCCFLinks.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default withStyles(styles)(NCCFLinks);","export var Data = [\r\n { fa: 'fa fa-external-link', nccfUrl: 'https://nccf.church', text: 'NCCF' }\r\n , { fa: 'fa fa-external-link', nccfUrl: 'https://rlcfchurch.org', text: 'RLCF' }\r\n , { fa: 'fa fa-external-link', nccfUrl: 'https://cfcindia.com', text: 'CFC India' }\r\n]","//import { createBrowserHistory } from 'history'\r\n\r\n//export default createBrowserHistory({\r\n// /* pass a configuration object here if needed */\r\n// basename: '/RIFRegister'\r\n//})\r\n\r\nimport { createHashHistory } from 'history'\r\n\r\nexport default createHashHistory({\r\n /* pass a configuration object here if needed */\r\n //basename: '/RIFRegister'\r\n})","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\nimport history from '../Views/history';\r\n\r\n\r\n\r\nexport default class PopupTriviaRaceSelectInit extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n \r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n //kick off periodic updates every x seconds to see when the race starts and which users have joined\r\n\r\n /*\r\n setInterval(() => {\r\n //console.log('refreshing from popuptriviaracejoin');\r\n //adding this if statement since \r\n if (this.state.lastRefreshed == null || moment(this.state.lastRefreshed) < moment().add('seconds', -1)) {\r\n this.state.lastRefreshed = moment();\r\n ws.GetRaceRefresh('').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n\r\n if (res.data && res.data.IsStarted) {\r\n\r\n //this.props.root.currTriviaGlobal = res.data;\r\n this.props.root.NextRandomQuestion();\r\n\r\n this.props.root.closePopupTriviaRaceJoin();\r\n history.push('/ViewTriviaRaceRunQuiz');\r\n }\r\n\r\n this.props.root.refreshState();\r\n });\r\n\r\n }\r\n }, 3000);*/\r\n\r\n this.props.root.SyncInit();\r\n\r\n\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n }\r\n\r\n/* CODE TO CALL FROM A COMPONENT BUTTON, AND CALL A WEB SERVICE\r\nclickPopupTriviaRaceSelectInit = (item) => {\r\n\t\r\n\tvar it = item;\r\n\tthis.props.root.PopupTriviaRaceSelectInitEditVar = it.ItemVariableInsertPropNameToEditInPopupHere;\r\n\r\n\tthis.props.root.showPopupTriviaRaceSelectInit((res) => {\r\n\r\n\t\tit.ItemVariableInsertPropNameToEditInPopupHere = res.ItemText;\r\n\r\n\t\tif (res.Delete)\r\n\t\t\tit.IsActive = false;\r\n\r\n\t\tws.SaveItem(it).then((res2) => {\r\n\t\t\tthis.props.root.RefreshState();\r\n\r\n\t\t});\r\n\t});\r\n}*/\r\n\r\n clickCreate = () => {\r\n //this.props.root.currGame = { players: [], teams: [] };\r\n\r\n this.props.root.showPopupGetSingleData('Facilitator Password', (res) => {\r\n var pw = res.data;\r\n\r\n if (pw.indexOf('istandamazed') < 0) {\r\n alert('Invalid password');\r\n return;\r\n }\r\n\r\n this.props.root.isFacilitator = true;\r\n\r\n if (this.props.root.appConstants.CurrRace && this.props.root.appConstants.CurrRace.IsStarted) {\r\n //current race is happening already, and facilitator must have got booted, or refreshed etc. just bring back into the race.\r\n this.props.root.closePopupTriviaRaceSelectInit();\r\n //alert('going to race trakc');\r\n history.push('/TriviaRace');\r\n return;\r\n }\r\n\r\n this.props.root.showPopupTriviaRaceCreate();\r\n this.props.root.closePopupTriviaRaceSelectInit();\r\n }); //end show popup\r\n\r\n\r\n }\r\n\r\n clickJoin = () => {\r\n //alert('tmp2');\r\n\r\n var race = this.props.root.appConstants.CurrRace;\r\n\r\n //reset this in case they were there before\r\n this.props.root.isWaitingToJoinRace = false;\r\n\r\n if (race.IsStarted) {\r\n //see if they are already on a team, if so pop them right in\r\n\r\n for (let t of race.AllTeams) {\r\n for (let u of t.teamMembers) {\r\n if (u.guidID === this.props.root.appConstants.CurrUser.guidID) {\r\n this.props.root.NextRandomQuestion();\r\n history.push('/TriviaRaceRunQuiz');\r\n return;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n this.props.root.showPopupTriviaRaceJoin();\r\n this.props.root.closePopupTriviaRaceSelectInit();\r\n }\r\n\t\r\n render = () => {\r\n \r\n\t\tif (this.props.root == null || this.props.root.appConstants == null)\r\n return
;\r\n\r\n return (\r\n this.props.root.closePopupTriviaRaceSelectInit()}>\r\n \r\n
\r\n Bible Trivia Race\r\n
\r\n
\r\n\r\n \r\n {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\nimport history from '../Views/history';\r\n\r\nexport default class PopupTriviaRaceJoin extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n //currQuizzes: [],\r\n currValue: '',\r\n //isWaitingToJoin: false,\r\n //lastRefreshed: null\r\n };\r\n }\r\n\r\n selectChanged = (event) => {\r\n this.setState({ currValue: event.target.value });\r\n this.props.root.refreshState();\r\n }\r\n\r\n isNumeric = (n) => {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n }\r\n\r\n clickJoin = () => {\r\n //this.props.root.showPopupMessageBox('The host is about to start the game, please wait...');\r\n\r\n //this.setState({ isWaitingToJoin: true });\r\n var usr = this.props.root.appConstants.CurrUser;\r\n\r\n\r\n if (!usr.Name) {\r\n alert('Name required');\r\n return;\r\n }\r\n\r\n if (!usr.UserAge) {\r\n alert('Age required to determine question difficulty');\r\n return;\r\n }\r\n\r\n if (!this.isNumeric(usr.UserAge)) {\r\n\r\n alert('Invalid Age');\r\n return;\r\n }\r\n\r\n this.props.root.isWaitingToJoinRace = true;\r\n this.props.root.refreshState();\r\n\r\n ws.JoinRace(this.state.currValue, this.props.root.appConstants.CurrUser).then((res) => {\r\n\r\n var ac = this.props.root.appConstants;\r\n ac.CurrRace = res.data;\r\n\r\n if (ac.CurrRace && ac.CurrRace.IsStarted) {\r\n this.props.root.isWaitingToJoinRace = false;\r\n //this.props.root.currTriviaGlobal = res.data;\r\n this.props.root.NextRandomQuestion();\r\n\r\n this.props.root.closePopupTriviaRaceJoin();\r\n history.push('/TriviaRaceRunQuiz');\r\n }\r\n\r\n //this.props.root.CurrUser = res.data.CurrStateReturnCurrUser;\r\n this.props.root.refreshState();\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n //alert('mounting');\r\n ws.GetMisc('getcurrquizzes').then((res) => {\r\n this.setState({ currQuizzes: res.data } );\r\n this.props.root.refreshState();\r\n });\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n }\r\n\r\n/* CODE TO CALL FROM A COMPONENT BUTTON, AND CALL A WEB SERVICE\r\nclickPopupTriviaRaceJoin = (item) => {\r\n\t\r\n\tvar it = item;\r\n\tthis.props.root.PopupTriviaRaceJoinEditVar = it.ItemVariableInsertPropNameToEditInPopupHere;\r\n\r\n\tthis.props.root.showPopupTriviaRaceJoin((res) => {\r\n\r\n\t\tit.ItemVariableInsertPropNameToEditInPopupHere = res.ItemText;\r\n\r\n\t\tif (res.Delete)\r\n\t\t\tit.IsActive = false;\r\n\r\n\t\tws.SaveItem(it).then((res2) => {\r\n\t\t\tthis.props.root.RefreshState();\r\n\r\n\t\t});\r\n\t});\r\n}*/\r\n\t\r\n render = () => {\r\n\r\n if (this.props.root == null || this.props.root.appConstants == null || !this.props.root.appConstants.CurrUser)\r\n return
;\r\n\r\n var usr = this.props.root.appConstants.CurrUser;\r\n //if (!usr.Age)\r\n // usr.Age = 5;\r\n\r\n var tmpAge = !usr.UserAge ? 0 : usr.UserAge;\r\n if (tmpAge === 0)\r\n usr.UserAge = '';\r\n\r\n var ac = this.props.root.appConstants;\r\n\r\n var quizzes = [ac.CurrRace.Name];\r\n\r\n return (\r\n this.props.root.closePopupTriviaRaceJoin()}>\r\n \r\n
\r\n Join the Game...\r\n
\r\n
\r\n\r\n \r\n {\r\n
\r\n\r\n {!this.props.root.isWaitingToJoinRace &&\r\n
\r\n \r\n Select Game To Join:\r\n \r\n

\r\n
\r\n\r\n Your Name: this.props.root.inputChange(e, usr, 'Name')} />\r\n
\r\n
\r\n Your Age: this.props.root.inputChange(e, usr, 'UserAge')} /> Years Old\r\n
\r\n
\r\n
\r\n }\r\n \r\n\r\n \r\n\r\n {!this.props.root.isWaitingToJoinRace &&
this.clickJoin()}>Join...
}\r\n {this.props.root.isWaitingToJoinRace && \r\n
\r\n
The host is about to start the game, please wait...
\r\n {!this.props.root.isWaitingToJoinRace && tmpAge < 8 &&\r\n
\r\n Note: Parents please help your child read if needed \r\n
\r\n }\r\n\r\n\r\n
\r\n\r\n
\r\n Teams:\r\n
\r\n {ac.CurrRace && ac.CurrRace.AllTeams && ac.CurrRace.AllTeams.map((x) =>\r\n
\r\n {x.TeamName}  Players: \r\n {\r\n x.teamMembers.map((u) =>\r\n {u.Name}; \r\n )\r\n }\r\n
\r\n )}\r\n
\r\n }\r\n\r\n\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\n","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\nimport history from '../Views/history';\r\n\r\nexport default class PopupTriviaRaceCreate extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n currNumTeams: '2',\r\n currNumQuestions: '10'\r\n };\r\n }\r\n\r\n //clickInitRace = () => {\r\n // //kick off periodic updates every x seconds to see when the race starts and which users have joined\r\n // setInterval(() => {\r\n\r\n // console.log('refreshing from popuptriviaracecreate');\r\n // //adding this if statement since \r\n\r\n // ws.GetRaceRefresh('').then((res) => {\r\n // this.props.root.appConstants.CurrRace = res.data;\r\n\r\n // //if (res.data.IsStarted) {\r\n\r\n // // this.props.root.currTriviaGlobal = res.data;\r\n // // this.props.root.NextRandomQuestion();\r\n\r\n // // this.props.root.closePopupTriviaRaceJoin();\r\n // // history.push('/ViewTriviaRace');\r\n // //}\r\n\r\n // this.props.root.refreshState();\r\n // });\r\n\r\n \r\n // }, 3000);\r\n //}\r\n\r\n clickStart = () => {\r\n var r = this.props.root.appConstants.CurrRace;\r\n\r\n if (!this.props.root.appConstants.CurrRace.AllTeams || this.props.root.appConstants.CurrRace.AllTeams.length == 0) {\r\n alert('There are no teams');\r\n return;\r\n }\r\n\r\n r.NumberOfQuestionsToWinGame = parseInt( this.state.currNumQuestions);\r\n r.IsStarted = true;\r\n r.IsFinished = false;\r\n\r\n //console.log('starting race');\r\n\r\n ws.SaveOrCreateRace(r, 'start').then((res) => {\r\n //console.log('returned', res.data);\r\n this.props.root.appConstants.CurrRace = res.data;\r\n this.props.root.refreshState();\r\n history.push('/TriviaRace');\r\n this.props.root.closePopupTriviaRaceCreate();\r\n });\r\n }\r\n\r\n selectNumTeamsChanged = (event) => {\r\n this.setState({ currNumTeams: event.target.value });\r\n this.props.root.refreshState();\r\n }\r\n\r\n selectNumQuestionsChanged = (event) => {\r\n this.setState({ currNumQuestions: event.target.value });\r\n this.props.root.refreshState();\r\n }\r\n\r\n uuidv4 = () => {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n splitKidsVsAdults= () => {\r\n var r = this.props.root.appConstants.CurrRace;\r\n\r\n if (r.AllTeams)\r\n r.AllTeams.length = 0;\r\n else\r\n r.AllTeams = [];\r\n\r\n this.props.root.refreshState();\r\n\r\n //alert('numteams' + this.state.currNumTeams.toString());\r\n //console.log('r1', r);\r\n\r\n if (this.state.currNumTeams.toString() !== '2') {\r\n alert('Kids vs adults requires exactly 2 teams');\r\n return;\r\n }\r\n\r\n r.AllTeams.push({\r\n TeamName: 'Kids Team',\r\n teamMembers: [],\r\n guidID: this.uuidv4()\r\n });\r\n\r\n\r\n r.AllTeams.push({\r\n TeamName: 'Adults Team',\r\n teamMembers: [],\r\n guidID: this.uuidv4()\r\n });\r\n\r\n for (let usr of r.AllUsers) {\r\n\r\n if (usr.UserAge <= 17) {\r\n r.AllTeams[0].teamMembers.push(usr);\r\n } else {\r\n r.AllTeams[1].teamMembers.push(usr);\r\n }\r\n }\r\n\r\n //remove any empty teams\r\n for (var i = r.AllTeams.length - 1; i >= 0; i--) {\r\n if (r.AllTeams[i].teamMembers.length == 0) {\r\n r.AllTeams.splice(i, 1);\r\n }\r\n }\r\n\r\n this.props.root.refreshState();\r\n\r\n ws.SaveOrCreateRace(r, 'splitteams').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n //this.props.root.appConstants.CurrRace.AllTeams = res.data.AllTeams;\r\n this.props.root.refreshState();\r\n });\r\n }\r\n\r\n\r\n splitTeamsRandomly = () => {\r\n var r = this.props.root.appConstants.CurrRace;\r\n\r\n if (r.AllTeams)\r\n r.AllTeams.length = 0;\r\n else\r\n r.AllTeams = [];\r\n\r\n this.props.root.refreshState();\r\n\r\n //alert('numteams' + this.state.currNumTeams.toString());\r\n //console.log('r1', r);\r\n\r\n for (var i = 1; i < parseInt(this.state.currNumTeams) + 1; i++) {\r\n r.AllTeams.push({\r\n TeamName: 'Team ' + i.toString(),\r\n teamMembers: [],\r\n guidID: this.uuidv4()\r\n });\r\n }\r\n\r\n //console.log('r2', r);\r\n\r\n r.AllUsers.sort(function (a, b) {\r\n return Math.random() - 0.5;\r\n }); \r\n\r\n for (let usr of r.AllUsers) {\r\n var leastTeam = r.AllTeams[0];\r\n for (let t of r.AllTeams) {\r\n if (t.teamMembers.length < leastTeam.teamMembers.length) {\r\n leastTeam = t;\r\n }\r\n }\r\n\r\n leastTeam.teamMembers.push(usr);\r\n }\r\n\r\n //remove any empty teams\r\n for (var i = r.AllTeams.length - 1; i >= 0; i--) {\r\n if (r.AllTeams[i].teamMembers.length == 0) {\r\n r.AllTeams.splice(i, 1);\r\n }\r\n }\r\n\r\n this.props.root.refreshState();\r\n\r\n //console.log('splitting: ', r);\r\n ws.SaveOrCreateRace(r, 'splitteams').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n //this.props.root.appConstants.CurrRace.AllTeams = res.data.AllTeams;\r\n this.props.root.refreshState();\r\n });\r\n }\r\n\r\n splitTeams = () => {\r\n var r = this.props.root.appConstants.CurrRace;\r\n\r\n if (r.AllTeams)\r\n r.AllTeams.length = 0;\r\n else\r\n r.AllTeams = [];\r\n\r\n this.props.root.refreshState();\r\n\r\n //alert('numteams' + this.state.currNumTeams.toString());\r\n //console.log('r1', r);\r\n\r\n for (var i = 1; i < parseInt(this.state.currNumTeams) + 1; i++) {\r\n r.AllTeams.push({\r\n TeamName: 'Team ' + i.toString(),\r\n teamMembers: [],\r\n guidID: this.uuidv4()\r\n });\r\n }\r\n\r\n //console.log('r2', r);\r\n\r\n r.AllUsers.sort(function (a, b) {\r\n return a.UserAge - b.UserAge;\r\n });\r\n\r\n for (let usr of r.AllUsers) {\r\n var leastTeam = r.AllTeams[0];\r\n for (let t of r.AllTeams) {\r\n if (t.teamMembers.length < leastTeam.teamMembers.length) {\r\n leastTeam = t;\r\n }\r\n }\r\n\r\n leastTeam.teamMembers.push(usr);\r\n }\r\n\r\n //remove any empty teams\r\n for (var i = r.AllTeams.length - 1; i >= 0; i--)\r\n {\r\n if (r.AllTeams[i].teamMembers.length == 0) {\r\n r.AllTeams.splice(i, 1);\r\n }\r\n }\r\n\r\n this.props.root.refreshState();\r\n\r\n //console.log('splitting: ', r);\r\n ws.SaveOrCreateRace(r, 'splitteams').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n //this.props.root.appConstants.CurrRace.AllTeams = res.data.AllTeams;\r\n this.props.root.refreshState();\r\n });\r\n }\r\n\r\n componentDidMount = () => {\r\n ws.GetRaceRefresh('').then((res) => {\r\n if (!res.data || !this.props.root.appConstants)\r\n return;\r\n\r\n this.props.root.appConstants.CurrRace = res.data;\r\n this.props.root.refreshState();\r\n });\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n\r\n }\r\n\r\n moveToTeam = (user, team) => {\r\n\r\n var r = this.props.root.appConstants.CurrRace;\r\n\r\n //alert('movetoteam');\r\n\r\n\r\n //remove from currteam\r\n for (let t of r.AllTeams) {\r\n\r\n for (var i in t.teamMembers) {\r\n if (t.teamMembers[i].guidID === user.guidID) {\r\n //remove if they're not already in the target team\r\n if (t.guidID === team.guidID) {\r\n return; //they're already on the target team\r\n }\r\n\r\n //remove\r\n t.teamMembers.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n //remove any empty teams\r\n for (var i = r.AllTeams.length - 1; i >= 0; i--) {\r\n if (r.AllTeams[i].teamMembers.length == 0) {\r\n r.AllTeams.splice(i, 1);\r\n }\r\n }\r\n\r\n //add to target team\r\n team.teamMembers.push(user);\r\n\r\n this.props.root.refreshState();\r\n\r\n ws.SaveOrCreateRace(r, 'splitteams').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n //this.props.root.appConstants.CurrRace.AllTeams = res.data.AllTeams;\r\n this.props.root.refreshState();\r\n });\r\n\r\n }\r\n\r\n/* CODE TO CALL FROM A COMPONENT BUTTON, AND CALL A WEB SERVICE\r\nclickPopupTriviaRaceCreate = (item) => {\r\n\t\r\n\tvar it = item;\r\n\tthis.props.root.PopupTriviaRaceCreateEditVar = it.ItemVariableInsertPropNameToEditInPopupHere;\r\n\r\n\tthis.props.root.showPopupTriviaRaceCreate((res) => {\r\n\r\n\t\tit.ItemVariableInsertPropNameToEditInPopupHere = res.ItemText;\r\n\r\n\t\tif (res.Delete)\r\n\t\t\tit.IsActive = false;\r\n\r\n\t\tws.SaveItem(it).then((res2) => {\r\n\t\t\tthis.props.root.RefreshState();\r\n\r\n\t\t});\r\n\t});\r\n}*/\r\n\t\r\n render = () => {\r\n\r\n //console.log(this.props.root);\r\n if (this.props.root == null || this.props.root.appConstants == null || !this.props.root.appConstants.CurrRace)\r\n return
;\r\n\r\n var newRace = this.props.root.appConstants.CurrRace;\r\n\r\n //console.log('newrace', newRace);\r\n\r\n //if (!newRace) {\r\n // newRace = {\r\n // AllUsers: [],\r\n // AllTeams: []\r\n // };\r\n\r\n // this.props.root.appConstants.currRace = newRace;\r\n //}\r\n\r\n var numQuestionOptions = [];\r\n for (var i = 1; i <= 100; i++) {\r\n numQuestionOptions.push(i.toString());\r\n }\r\n\r\n var numTeamOptions = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];\r\n\r\n\r\n\r\n return (\r\n this.props.root.closePopupTriviaRaceCreate()}>\r\n \r\n
\r\n Bible Trivia Race\r\n
\r\n
\r\n\r\n \r\n {\r\n
\r\n\t\t\t\t\t\t

Create Bible Trivia Race

\r\n\r\n this.props.root.inputChange(e, newRace, 'Name')} />\r\n
\r\n
\r\n Number of Questions: \r\n \r\n
\r\n
\r\n Number Of Teams:\r\n \r\n\r\n
\r\n
\r\n
Players
\r\n
\r\n
\r\n {\r\n newRace.AllUsers.map((u) =>\r\n
\r\n {u.Name} \r\n \r\n {\r\n newRace.AllTeams.map((t) =>\r\n\r\n \r\n this.moveToTeam(u, t)} style={{fontSize: '8px', padding: '2px'}}>{t.TeamName}\r\n \r\n\r\n \r\n )\r\n }\r\n\r\n
\r\n )\r\n }\r\n
\r\n
\r\n\r\n {/**/}\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Teams:
\r\n\r\n
\r\n {\r\n newRace.AllTeams.map((t) =>\r\n
\r\n
\r\n {t.TeamName}\r\n
\r\n\r\n {t.teamMembers.map((tm) =>\r\n
\r\n {tm.Name}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n
\r\n\r\n\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\n\r\n","import React, { Component } from 'react';\r\nimport * as moment from 'moment';\r\nimport * as ws from '../WebServices';\r\nimport PopupWait from '../Popups/PopupWait';\r\nimport PopupMessageBox from '../Popups/PopupMessageBox';\r\nimport history from './history';\r\n\r\n\r\nexport default class ViewTriviaRace extends Component {\r\n\r\n state = {\r\n\r\n };\r\n\r\n componentWillMount = () => {\r\n \r\n }\r\n\r\n\r\n clickPlayAgain = () => {\r\n \r\n this.props.root.NavGoToRoot();\r\n }\r\n\r\n clickRestart = () => {\r\n //alert('implement');\r\n\r\n ws.SaveOrCreateRace(this.props.root.appConstants.CurrRace, 'restart').then((res) => {\r\n this.props.root.appConstants.CurrRace = res.data;\r\n this.props.root.refreshState();\r\n history.push('/');\r\n this.props.root.showPopupTriviaRaceCreate();\r\n });\r\n\r\n }\r\n\r\n hasTeamWon = (t) => {\r\n var ac = this.props.root.appConstants;\r\n if (t.CurrStateAnsweredCorrect >= ac.CurrRace.NumberOfQuestionsToWinGame) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n render = () => {\r\n\r\n //console.log('aroot', this.props.root);\r\n\r\n if (this.props.root == null || this.props.root.appConstants == null)\r\n return
;\r\n\r\n var ac = this.props.root.appConstants;\r\n\r\n //calculate team left positiion on race map\r\n for (let t of ac.CurrRace.AllTeams) {\r\n t.leftPos = ((t.CurrStateAnsweredCorrect / ac.CurrRace.NumberOfQuestionsToWinGame) * 1500) + 'px';\r\n }\r\n //console.log(ac.CurrRace);\r\n\r\n var winningTeam = null;\r\n for (let t of ac.CurrRace.AllTeams) {\r\n if (this.hasTeamWon(t)) {\r\n winningTeam = t;\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n {/*

NCCF Friday Night Bible Trivia Race

*/}\r\n\r\n \r\n {/*\r\n ac.CurrRace.AllTeams.map((t) =>\r\n
\r\n
\r\n {t.TeamName}\r\n
\r\n
\r\n )\r\n */}\r\n\r\n
\r\n \r\n {\r\n ac.CurrRace.AllTeams.map((t) =>
{\r\n this.hasTeamWon(t) &&\r\n
\r\n\r\n
\r\n Team: {t.TeamName}\r\n
\r\n\r\n\r\n
\r\n {t.TeamName} Wins!!!\r\n
\r\n\r\n {t.teamMembers.map((tm) =>\r\n\r\n
{tm.Name};
\r\n\r\n )}\r\n
\r\n\r\n
\r\n }
\r\n )\r\n }\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n Finish!\r\n
\r\n
\r\n Teams, Racing to answer: {ac.CurrRace.NumberOfQuestionsToWinGame.toString()} Questions\r\n
\r\n
\r\n {\r\n ac.CurrRace.AllTeams.map((t) =>\r\n
\r\n\r\n\r\n
\r\n Team:\r\n  \r\n {t.TeamName} \r\n
\r\n\r\n {t.teamMembers.map((tm) =>\r\n\r\n
{tm.Name};
\r\n \r\n )}\r\n
\r\n\r\n {\r\n this.hasTeamWon(t) &&\r\n
\r\n {t.TeamName} Wins!!!\r\n
\r\n }\r\n\r\n
\r\n Current Score: {t.CurrStateAnsweredCorrect.toString()}   ({ac.CurrRace.NumberOfQuestionsToWinGame.toString()} To Win!)\r\n
\r\n\r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n {!winningTeam &&
\r\n
\r\n
\r\n
}\r\n\r\n {winningTeam &&\r\n
\r\n {winningTeam.TeamName} Wins!
\r\n\r\n (Players: {winningTeam.teamMembers.map((tm) => {tm.Name}; \r\n )})\r\n \r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.props.root.isFacilitator &&
}\r\n\r\n {!this.props.root.isFacilitator &&
}\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport * as moment from 'moment';\r\nimport * as ws from '../WebServices';\r\nimport PopupWait from '../Popups/PopupWait';\r\nimport PopupMessageBox from '../Popups/PopupMessageBox';\r\n\r\nexport default class ViewTriviaRaceRunQuiz extends Component {\r\n\r\n state = {\r\n\r\n };\r\n\r\n componentWillMount = () => {\r\n if (this.props.root) {\r\n this.props.root.isInRace = true;\r\n }\r\n }\r\n\r\n clickSkip = () => {\r\n this.props.root.NextRandomQuestion();\r\n }\r\n\r\n answerQuestion = (answer) => {\r\n\r\n if (!answer.IsCorrect) {\r\n\r\n var corans = '';\r\n for (let ans of this.props.root.appConstants.CurrUser.CurrQuestion.PossibleAnswers) {\r\n if (ans.IsCorrect) {\r\n corans = ans.Answer;\r\n }\r\n }\r\n\r\n this.props.root.PopupMessageBoxProps.ThumbsUp = false;\r\n this.props.root.PopupMessageBoxProps.ThumbsDown = true;\r\n this.props.root.showPopupMessageBox('Sorry, the correct answer is: ' + corans);\r\n\r\n setTimeout(() => {\r\n this.props.root.PopupMessageBoxProps.ThumbsUp = false;\r\n this.props.root.PopupMessageBoxProps.ThumbsDown = false;\r\n\r\n this.props.root.closePopupMessageBox();\r\n }, 4000);\r\n\r\n } else {\r\n\r\n //if this is the curr users team, increment their win count\r\n var glob = this.props.root.appConstants.CurrRace;\r\n for (let team of glob.AllTeams) {\r\n for (let player of team.teamMembers) {\r\n if (player.guidID === this.props.root.appConstants.CurrUser.guidID) {\r\n team.CurrStateAnsweredCorrect++;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ws.SaveMisc('IncrementCorrect', this.props.root.appConstants.CurrUser.guidID, this.props.root.appConstants.CurrUser.CurrQuestion.Question).then((res) => {\r\n this.props.root.currTriviaGlobal = res.data;\r\n this.props.root.refreshState();\r\n });\r\n\r\n this.props.root.PopupMessageBoxProps.ThumbsUp = true;\r\n this.props.root.PopupMessageBoxProps.ThumbsDown = false;\r\n this.props.root.showPopupMessageBox('CORRECT!!!!');\r\n\r\n setTimeout(() => {\r\n this.props.root.PopupMessageBoxProps.ThumbsUp = false;\r\n\r\n this.props.root.closePopupMessageBox();\r\n }, 1000);\r\n }\r\n\r\n this.props.root.appConstants.CurrUser.CurrQuestion.IsAnswered = true;\r\n\r\n this.props.root.NextRandomQuestion();\r\n }\r\n\r\n getAnswersRandomOrder = () => {\r\n\r\n var usr = this.props.root.appConstants.CurrUser;\r\n\r\n if (!usr || !usr.CurrQuestion)\r\n return null;\r\n\r\n var q = usr.CurrQuestion;\r\n\r\n var ret = [];\r\n\r\n var allaboveAnswer = null;\r\n for (let ans of q.PossibleAnswers) {\r\n if (ans.Answer.toLowerCase().indexOf('all of the ab') === 0) {\r\n allaboveAnswer = ans;\r\n //alert('test');\r\n } else {\r\n ret.push(ans);\r\n }\r\n }\r\n\r\n if (allaboveAnswer)\r\n ret.push(allaboveAnswer);\r\n\r\n return ret;\r\n }\r\n\r\n render = () => {\r\n if (this.props.root == null || this.props.root.appConstants == null)\r\n return
;\r\n\r\n \r\n\r\n var ac = this.props.root.appConstants;\r\n //console.log('ac', ac);\r\n var usr = this.props.root.appConstants.CurrUser;\r\n //var quiz = this.props.root.CurrQuiz;\r\n\r\n //console.log('usr', usr);\r\n\r\n if (!usr || !usr.CurrQuestion) {\r\n return
.
;\r\n }\r\n\r\n var question = usr.CurrQuestion;\r\n\r\n \r\n\r\n return (\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* */}\r\n\r\n
\r\n Hi {usr.Name}!\r\n
\r\n\r\n
\r\n\r\n

Bible Trivia Race!

\r\n\r\n
\r\n\r\n\r\n Question: {question.Question}\r\n
\r\n\r\n {\r\n this.getAnswersRandomOrder().map((ans) => \r\n \r\n )\r\n }\r\n\r\n
\r\n\r\n\r\n

\r\n

Current Scores ({ac.CurrRace.NumberOfQuestionsToWinGame} To Win)

\r\n \r\n
\r\n {\r\n ac.CurrRace.AllTeams.map((t) =>\r\n
\r\n {t.TeamName}:\r\n  (Players: {t.teamMembers.map((tm) => { tm.Name }; \r\n\r\n )})  
\r\n Current Score: {t.CurrStateAnsweredCorrect}  \r\n

\r\n )\r\n }\r\n
\r\n\r\n
\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\n\r\n","import React, { Component } from \"react\";\r\nimport * as moment from 'moment';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport * as ws from '../WebServices';\r\n\r\n/*\r\n/////////////////TO USE THIS CONTROL:\r\n\r\n//SOMECOMPONENT.JS\r\nthis.props.root.showPopupGetSingleData('Canvas Name', (res) => {\r\n var canvName = res.canvasName;\r\n\r\n this.props.root.currCanvas = {\r\n ID: 0,\r\n IsActive: true,\r\n IsHist: false,\r\n Name: canvName\r\n };\r\n\r\n this.props.root.showPopupWait('Creating...');\r\n\r\n ws.SaveCanvas(this.props.root.currCanvas).then((res) => {\r\n\r\n this.props.root.currCanvas = JSON.parse(JSON.stringify(res.data));\r\n\r\n //insert new into global cnv list\r\n this.props.root.appConstants.canvases.splice(0, 0, res.data);\r\n\r\n this.props.root.closePopupWait();\r\n history.push('/canvas/' + res.data.ID);\r\n });\r\n }); //end show popup\r\n\r\nAPP.JS\r\nPopupGetSingleDataCallback: null,\r\n PopupGetSingleDataVisible: false,\r\n PopupGetSingleDataTitle: false,\r\n showPopupGetSingleData: function(title, cb) {\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupGetSingleDataVisible', true);\r\n\r\n this.PopupGetSingleDataTitle = title;\r\n this.PopupGetSingleDataCallback = cb; //***** ADD THIS HERE\r\n },\r\nclosePopupGetSingleData: function (save, sdata) {\r\n if (save) //***** ADD THIS HERE AND ANY VARIABLES ABOVE TO PASS IN\r\n this.PopupGetSingleDataCallback({ data: sdata });\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupGetSingleDataVisible', false);\r\n},\r\n*/\r\n\r\nexport default class PopupGetSingleData extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n data: ''\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n }\r\n\r\n componentWillReceiveProps = (props) => {\r\n }\r\n\r\n cancel = () => {\r\n this.state.data = '';\r\n this.props.root.closePopupGetSingleData();\r\n }\r\n\r\n ok = () => {\r\n if (this.state.data === '') {\r\n this.props.root.showPopupMessageBox(this.props.root.PopupGetSingleDataTitle + ' required');\r\n return;\r\n }\r\n\r\n var data = this.state.data;\r\n this.state.data = '';\r\n\r\n this.props.root.closePopupGetSingleData(true, data);\r\n }\r\n\r\n render = () => {\r\n \r\n return (\r\n this.props.root.closePopupGetSingleData()}>\r\n \r\n
\r\n {this.props.root.PopupGetSingleDataTitle}\r\n
\r\n
\r\n\r\n \r\n {\r\n
\r\n this.props.root.inputChange(e, this.state, 'data')} />\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n this.ok()}>OK\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n\r\n","import React, { Component } from 'react';\r\n\r\nimport * as moment from 'moment';\r\nimport * as ws from './WebServices';\r\nimport PopupWait from './Popups/PopupWait';\r\nimport PopupMessageBox from './Popups/PopupMessageBox';\r\n\r\nimport logo from './logo.svg';\r\nimport './App.css';\r\nimport ViewHome from './Views/ViewHome';\r\nimport ViewHelp from './Views/ViewHelp';\r\n\r\nimport CTAAppBar from './NCCFAppBar';\r\nimport Drawer from '@material-ui/core/Drawer';\r\n//import Drawer from 'material-ui/Drawer';\r\nimport CTALinks from './NCCFLinks';\r\nimport * as d from './NCCFLinksData';\r\n\r\nimport { createMuiTheme, MuiThemeProvider } from \"@material-ui/core\"\r\nimport { green, red } from '@material-ui/core/colors';\r\nimport { Route, Router } from 'react-router-dom';\r\nimport history from './Views/history';\r\nimport PopupTriviaRaceSelectInit from './Popups/PopupTriviaRaceSelectInit';\r\nimport PopupTriviaRaceJoin from './Popups/PopupTriviaRaceJoin';\r\nimport PopupTriviaRaceCreate from './Popups/PopupTriviaRaceCreate';\r\nimport ViewTriviaRace from './Views/ViewTriviaRace';\r\nimport ViewTriviaRaceRunQuiz from './Views/ViewTriviaRaceRunQuiz';\r\nimport PopupGetSingleData from './Popups/PopupGetSingleData';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nclass App extends React.Component {\r\n\r\n\r\nconstructor(props) {\r\n super(props);\r\n this.state = {\r\n leftDrawer: false,\r\n isAccOrManager: false,\r\n isAppLoading: true,\r\n //currTriviaGlobal: null, //appconstants - \r\n //CurrQuiz: null,\r\n //CurrUser: null,\r\n //CurrQuestion: null,\r\n isACC: false,\r\n lastSyncRefreshed: null,\r\n isPendingSync: false,\r\n isShowingconnectionissuebox: false,\r\n\r\n root:\r\n {\r\n isWaitingToJoinRace: false,\r\n isInRace: false,\r\n isFacilitator: false,\r\n currScreen: '',\r\n SyncInit: function () {\r\n\r\n //console.log('sync init: setting interval');\r\n\r\n //if (!this.app || !this.appConstants || this.app.lastSyncRefreshed != null)\r\n // return;\r\n\r\n setInterval(() => {\r\n\r\n if (!this.app || !this.appConstants)\r\n return;\r\n\r\n if (this.app.isPendingSync && moment(this.app.lastSyncRefreshed) < moment().add('seconds', -15))\r\n {\r\n this.app.isShowingconnectionissuebox = true;\r\n this.app.root.showPopupMessageBox('It appears you have internet connection issues, please wait or refresh...');\r\n }\r\n\r\n //console.log('curr : ' + this.lastSyncRefreshed);\r\n\r\n var currtime = moment();\r\n\r\n //keep from refreshing too much, if called many times in a row somehow\r\n if (this.app.lastSyncRefreshed == null || moment(this.app.lastSyncRefreshed) < currtime.add('seconds', -2)) {\r\n console.log('set moment: ' + moment().format('HH:mm:ss'), 'lasttime', this.app.lastSyncRefreshed == null ? '' : this.app.lastSyncRefreshed.format('HH:mm:ss'));\r\n this.app.lastSyncRefreshed = moment();\r\n } else {\r\n console.log('skipping');\r\n return;\r\n }\r\n\r\n\r\n\r\n //console.log('calling race refresh');\r\n\r\n ws.GetRaceRefresh('', this.appConstants.CurrUser.guidID).then((res) => {\r\n if (!res.data)\r\n return;\r\n\r\n if (this.app.isShowingconnectionissuebox) {\r\n this.app.isShowingconnectionissuebox = false;\r\n //just in case there were connection issues but the internet works again\r\n this.app.root.closePopupMessageBox();\r\n }\r\n\r\n //if (!this.appConstants.CurrRace)\r\n // this.appConstants.CurrRace = res.data;\r\n\r\n // this.appConstants.CurrRace = res.data; //.AllUsers = res.data.AllUsers;\r\n\r\n var ac = this.appConstants;\r\n ac.CurrRace = res.data;\r\n\r\n //DIFFERENT CASES:\r\n // 2 TYPES: 1. NORMAL PLAYER, 2. FACILITATOR\r\n\r\n if (!ac.CurrRace) {\r\n this.refreshState();\r\n return;\r\n }\r\n\r\n console.log('currRace', ac.CurrRace, 'isstarted', ac.CurrRace.IsStarted, 'iswaiting', this.isWaitingToJoinRace, 'isinrace', this.isInRace);\r\n\r\n if (ac.CurrRace.IsStarted && this.isWaitingToJoinRace && !this.isInRace) {\r\n \r\n //Normal PLayer is waiting to join a race..\r\n this.PlayerJoinRace();\r\n } else if (!this.isFacilitator && this.isInRace && ac.CurrRace.IsFinished) {\r\n //normal user in a race - race finished or was reset\r\n //put them in the screen\r\n if (window.location.href.toLowerCase().indexOf('triviaracerunquiz') >= 0)\r\n this.PlayerToRaceResultsScreen();\r\n }\r\n else if (!this.isFacilitator && this.isInRace && !ac.CurrRace.IsStarted) {\r\n this.NavGoToRoot();\r\n //this.showPopupMessageBox('The race has en\r\n //race ended, they have to rejoin\r\n }\r\n\r\n //else if (ac.CurrRace.IsStarted && this.isFacilitator) {\r\n // //check if a team won\r\n //}\r\n\r\n //this.props.root.CurrUser = res.data.CurrStateReturnCurrUser;\r\n this.app.refreshState();\r\n });\r\n }, 3000);\r\n },\r\n\r\n NavGoToRoot: function () {\r\n this.isInRace = false;\r\n\r\n history.push('/');\r\n },\r\n\r\n PlayerJoinRace: function () {\r\n this.isWaitingToJoinRace = false;\r\n this.isInRace = true;\r\n this.NextRandomQuestion();\r\n this.closePopupTriviaRaceJoin();\r\n this.app.refreshState();\r\n history.push('/TriviaRaceRunQuiz');\r\n },\r\n\r\n PlayerToRaceResultsScreen: function () {\r\n\r\n console.log('TO TRIVIA RACE');\r\n\r\n //var err = new Error();\r\n //console.log('trace', err.stack);\r\n\r\n //this.isInRace = false;\r\n history.push('/TriviaRace');\r\n },\r\n\r\n SyncWithServer: function () {\r\n \r\n },\r\n\r\n NextRandomQuestion: function (tryAgain) {\r\n //get random next question\r\n var questionsToAnswer = this.appConstants.triviaQuestionsAll; //.filter(q => !q.IsAnswered);\r\n\r\n //filter difficulty by age\r\n if (this.appConstants.CurrUser.UserAge <= 4) {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty < 3);\r\n }\r\n else if (this.appConstants.CurrUser.UserAge <= 6) {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty < 5);\r\n } else if (this.appConstants.CurrUser.UserAge < 10) {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty < 6);\r\n }\r\n else if (this.appConstants.CurrUser.UserAge < 14) {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty < 7);\r\n }\r\n else if (this.appConstants.CurrUser.UserAge < 18) {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty < 8 && q.Difficulty >= 2);\r\n } else {\r\n questionsToAnswer = questionsToAnswer.filter(q => q.Difficulty >= 6);\r\n }\r\n\r\n var randomIndex = Math.floor(Math.random() * questionsToAnswer.length);\r\n\r\n\r\n //console.log('qtoanswer', questionsToAnswer, 'randix', randomIndex);\r\n\r\n // get random question\r\n this.appConstants.CurrUser.CurrQuestion = questionsToAnswer[randomIndex];\r\n this.refreshState();\r\n //try just once more to pick up a question the user hasn't answered yet, if this is a repeat\r\n // . not perfect but at least it'll help a littl ebit\r\n if (!tryAgain && this.appConstants.CurrUser.CurrQuestion.alreadyAnswered) {\r\n this.NextRandomQuestion(true);\r\n return;\r\n }\r\n\r\n this.appConstants.CurrUser.CurrQuestion.alreadyAnswered = true;\r\n\r\n //randomize\r\n this.appConstants.CurrUser.CurrQuestion.PossibleAnswers.sort(function (a, b) {\r\n return Math.random() - 0.5;\r\n }); \r\n\r\n },\r\n\r\n PopupGetSingleDataCallback: null,\r\n PopupGetSingleDataVisible: false,\r\n PopupGetSingleDataTitle: false,\r\n showPopupGetSingleData: function (title, cb) {\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupGetSingleDataVisible', true);\r\n\r\n this.PopupGetSingleDataTitle = title;\r\n this.PopupGetSingleDataCallback = cb; //***** ADD THIS HERE\r\n },\r\n closePopupGetSingleData: function (save, sdata) {\r\n if (save) //***** ADD THIS HERE AND ANY VARIABLES ABOVE TO PASS IN\r\n this.PopupGetSingleDataCallback({ data: sdata });\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupGetSingleDataVisible', false);\r\n },\r\n\r\n PopupTriviaRaceCreateVisible: false,\r\n PopupTriviaRaceCreateCallback: false,\r\n showPopupTriviaRaceCreate: function(cb){ \r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceCreateVisible', true); \r\n\r\n this.PopupTriviaRaceCreateCallback = cb;\r\n },\r\n closePopupTriviaRaceCreate: function(save, newVarValue, del){ \r\n if (save) //***** ADD THIS HERE AND ANY VARIABLES ABOVE TO PASS IN\r\n this.PopupTriviaRaceCreateCallback({ data: newVarValue, Delete: del});\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceCreateVisible', false);\r\n },\r\n\r\n PopupTriviaRaceJoinVisible: false,\r\n PopupTriviaRaceJoinCallback: false,\r\n showPopupTriviaRaceJoin: function(cb){ \r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceJoinVisible', true); \r\n\r\n this.PopupTriviaRaceJoinCallback = cb;\r\n },\r\n closePopupTriviaRaceJoin: function(save, newVarValue, del){ \r\n if (save) //***** ADD THIS HERE AND ANY VARIABLES ABOVE TO PASS IN\r\n this.PopupTriviaRaceJoinCallback({ data: newVarValue, Delete: del});\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceJoinVisible', false);\r\n },\r\n\r\n PopupTriviaRaceSelectInitVisible: false,\r\n PopupTriviaRaceSelectInitCallback: false,\r\n showPopupTriviaRaceSelectInit: function(cb){ \r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceSelectInitVisible', true); \r\n\r\n this.PopupTriviaRaceSelectInitCallback = cb;\r\n },\r\n closePopupTriviaRaceSelectInit: function(save, newVarValue, del){ \r\n if (save) //***** ADD THIS HERE AND ANY VARIABLES ABOVE TO PASS IN\r\n this.PopupTriviaRaceSelectInitCallback({ data: newVarValue, Delete: del});\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupTriviaRaceSelectInitVisible', false);\r\n },\r\n appConstants: null,\r\n app: null,\r\n view: 'ViewHome',\r\n RefreshState: this.refreshState,\r\n refreshState: this.refreshState,\r\n\t\t\tinputChange: function (event, obj, prop) {\r\n\r\n\r\n let value = null;\r\n //console.log('event.target', event.target.value, 'obj', obj, 'prop:', prop);\r\n\r\n if (event == null || (event.target == null && event != null)) {\r\n //assume event is the value itself... for example - from a react date picker. in this case, event is a date (moment), not the actual control\r\n value = event;\r\n } else {\r\n value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n }\r\n\r\n obj[prop] = value;\r\n //console.log('obj after', obj);\r\n this.RefreshState();\r\n\r\n },\r\n PopupMessage: 'msg here...',\r\n PopupWaitMessage: 'Please Wait...',\r\n PopupMessageBoxVisible: false,\r\n PopupMessageBoxProps: {\r\n ThumbsUp: false,\r\n ThumbsDown: false,\r\n },\r\n showPopupMessageBox: function (msg) { \r\n this.app.setRootProps('PopupMessage', msg);\r\n\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupMessageBoxVisible', true); \r\n },\r\n closePopupMessageBox: function(){ \r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupMessageBoxVisible', false);\r\n },\r\n\r\n PopupWaitVisible: false,\r\n showPopupWait: function (msg) { \r\n if (msg == null || msg === '') {\r\n msg = 'Please Wait...';\r\n }\r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupWaitVisible', true); \r\n },\r\n closePopupWait: function(){ \r\n if (this.app != null && this.app.setRootProps != null)\r\n this.app.setRootProps('PopupWaitVisible', false);\r\n },\r\n },\r\n\r\n\r\n };\r\n this.state.root.app = this;\r\n}\r\n\r\ncomponentDidMount = () => {\r\n\r\n //ws.GetRaceRefresh().then((res) => {\r\n // this.setRootProps('currTriviaGlobal', res.data);\r\n // //console.log('this', this);\r\n // this.forceUpdate();\r\n //}\r\n //);\r\n\r\n ws.GetAppConstants().then((res) => {\r\n\r\n //console.log(res.data);\r\n this.setRootProps('appConstants', res.data);\r\n\r\n //this.setRootProps('CurrUser', res.data.CurrUser);\r\n\r\n this.setRootProps('isAppLoading', false);\r\n history.push('/');\r\n\r\n this.forceUpdate();\r\n }\r\n );\r\n\r\n //setInterval(() => {\r\n\r\n // ws.SaveMisc('test').then((res) => {\r\n\r\n // this.setRootProps('currTime', res.data);\r\n\r\n // });\r\n\r\n\r\n //}, 10000);\r\n\r\n\r\n //ws.getGetReleaseRequestList().then((res) =>\r\n // this.setRootProps('requests', res.data)\r\n //);\r\n\r\n //now assign all functions to root\r\n //this.state.root.clickRequest = this.clickRequest;\r\n}\r\n\r\n\r\nrefreshState = () => {\r\n this.forceUpdate();\r\n //this.setState({\r\n // root: this.state.root\r\n //});\r\n}\r\n\r\nsetRootProps = (propName, value, propName2, value2, propName3, value3) => {\r\n var tmpRoot = this.state.root;\r\n tmpRoot[propName] = value;\r\n if (propName2 != null) {\r\n tmpRoot[propName2] = value2;\r\n }\r\n if (propName3 != null) {\r\n tmpRoot[propName3] = value3;\r\n }\r\n\r\n this.setState({\r\n root: tmpRoot\r\n });\r\n}\r\n\r\n\r\ntoggleD = () => {\r\n const open = !this.state.leftDrawer;\r\n this.setState({\r\n leftDrawer: open,\r\n });\r\n};\r\n\r\nswitchView = (v) => {\r\n\r\n if (v === 'ViewHome') {\r\n window.location = window.location; //just reload\r\n }\r\n this.state.root.view = v;\r\n this.forceUpdate();\r\n //this.setState({ view: v });\r\n}\r\n\r\n\r\n//NOTE: YOU NEED THIS SURROUNDING FOR POPUPS\r\n//\r\n// \r\n//\r\n//YOU NEED THIS FOR WAIT/MSG BOX:\r\n//\r\n//\r\n\r\n\r\n\r\n render() {\r\n\r\n //let component = null;\r\n\r\n //if (this.state.root.view === 'ViewHelp')\r\n // component = \r\n //else if (this.state.root.view === 'ViewHome') {\r\n // component =
\r\n //
\r\n //
\r\n //
\r\n // this.switchView('ViewHelp')}>Help\r\n //
\r\n //
\r\n\r\n // \r\n //
\r\n //}\r\n /*\r\n background: url(https://nccf.church/nccfapps/israelbg.jpg);\r\n background-size: cover;\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 } exact />\r\n } exact />\r\n } exact />\r\n } exact />\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n
\r\n\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 } //end render\r\n\r\n \r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}