{"version":3,"sources":["components/NavMenu.js","components/Layout.js","components/constants/index.js","components/Home.js","components/Rules.js","components/About.js","components/Players.js","components/Games.js","components/Team.js","components/Standings.js","components/Player.js","components/Instructions.js","components/Admin.js","components/ViewTeams.js","components/EditTeam.js","components/EditMatch.js","components/EditPlayer.js","components/EditAlternateGame.js","components/Analytics.js","App.js","registerServiceWorker.js","index.js"],"names":["NavMenu","props","toggleNavbar","bind","state","collapsed","this","setState","className","light","tag","Link","to","src","alt","onClick","isOpen","navbar","Component","displayName","name","Layout","children","customStyles","option","base","borderBottom","color","textAlign","cursor","width","div","input","fontSize","control","borderRadius","isFocused","boxShadow","borderColor","menu","marginTop","menuList","padding","Home","seasonTitle","logPageHit","getSettings","user","localStorage","getItem","ReactGA","initialize","pageview","fetch","method","then","res","json","catch","err","console","log","style","maxWidth","margin","Helmet","fontFamily","marginLeft","marginRight","fontWeight","Rules","About","href","Players","column","data","direction","active","newPlayer","admin","handleSort","clickedColumn","reverse","_","sortBy","getBlankPlayer","getPlayers","pathname","playerObj","Dimmer","Loader","Table","sortable","celled","fixed","striped","Header","Row","HeaderCell","sorted","Body","map","player","key","id","Cell","playerName","teamName","ratingDisplay","lichessUrl","target","rel","lichessUsername","Games","myRound","newGame","newMatch","handleRound","getBlankGame","getBlankMatch","rd","getResults","display","paddingBottom","Button","Group","border","match","team1Name","team1Score","team2Name","team2Score","gameObj","round","thisRound","matchObj","isNew","collapsing","unstackable","games","game","boardNum","player1Score","positive","Icon","player1ExcludeFromScore","player1Id","player1NameAndColor","result","player2Score","player2ExcludeFromScore","player2Id","player2NameAndColor","marginBottom","paddingTop","Team","teamId","matches","param","location","replace","getTeamName","pagename","text","String","setTeamStyle","Standings","selectedBtn","fetchData","btnId","handleButtonClick","matchTotal","gameTotal","regularSeasonMatchTotal","backgroundColor","playerId","ptsDisplay","Player","playerid","params","seasonDisplay","player1Name","player1TeamName","player2Name","player2TeamName","negative","historicalGames","season","Instructions","Admin","isAuthenticated","successfulLogout","response","removeItem","failedLogout","failedGoogle","responseGoogle","email","getBasicProfile","getEmail","setItem","alert","clientId","onSuccess","onFailure","isSignedIn","buttonText","ViewTeams","newTeam","getBlankTeam","getTeams","teamObj","team","avgRating","points","playoffTier","EditTeam","redirect","alertVisible","alertText","alertColor","goBack","history","push","submitEdit","e","preventDefault","validateData","saveTeam","handleChange","value","newValue","textMsg","setTimeout","url","myTeam","isNaN","handleFailureAlert","headers","body","JSON","stringify","parseInt","parseFloat","newid","handleSuccessAlert","Redirect","title","Number","onSubmit","defaultValue","onChange","readOnly","excludeFromStandings","type","resultOptions","label","EditMatch","team1","team2","g1p1","g1p2","g2p1","g2p2","g3p1","g3p2","g4p1","g4p2","g1r","g2r","g3r","g4r","teamsList","playersList","saveGames","newMatchId","myMatch","game1","matchId","toString","player1Color","player1Team","team1Id","player2Color","player2Team","team2Id","game2","game3","game4","matchDate","Date","handleTeamChange","action","newMatchObj","curTeamId","curTeamName","find","x","team3Id","team3Name","team3","team4Id","team4Name","team4","handlePlayerChange","obj","handleResultChange","thisResult","valResult","gameNum","loadGamesResults","length","loadSavedPlayers","loadSavedTeams","isNewMode","required","placeholder","colSpan","isClearable","isSearchable","options","styles","EditPlayer","exclude","savePlayer","firstName","lastName","rating","checked","newObj","loadPlayerObj","myPlayer","paddingLeft","EditAlternateGame","p1Exclude","p2Exclude","saveGame","handleBoardChange","handleExcludeChange","loadGameResults","myGame","myMatchId","Analytics","dataViews","dataUsers","getAccessLog","getDailyViewLog","getDailyUserLog","logItem","logDayDisplay","cnt","pageHitTime","webPage","ipAddress","App","Route","exact","path","component","duration","auto","isLatestVersion","emptyCacheStorage","isLocalhost","Boolean","window","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","error","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","BrowserRouter","basename","URL","process","origin","addEventListener","status","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.a13f4d65.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport '../styles/NavMenu.css';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n toggleNavbar() {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \"Logo\"\r\n MHSCL\r\n \r\n \r\n \r\n
    \r\n \r\n Home\r\n \r\n \r\n Standings\r\n \r\n \r\n Results\r\n \r\n \r\n Players\r\n \r\n \r\n Rules\r\n \r\n \r\n Instructions\r\n \r\n \r\n About\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 { Container } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","export const GOOGLE_ANALYTICS_API = 'UA-154896743-1';\r\n\r\n\r\nexport const customStyles = {\r\n option: (base, state) => ({\r\n ...base,\r\n borderBottom: \"1px dotted purple\",\r\n color: \"black\",\r\n textAlign: \"left\",\r\n cursor: \"pointer\",\r\n width: \"300px\"\r\n }),\r\n div: (base, state) => ({\r\n ...base,\r\n color: \"purple\",\r\n }),\r\n input: () => ({\r\n fontSize: 13\r\n }),\r\n control: (base, state) => ({\r\n ...base,\r\n color: \"black\",\r\n borderRadius: state.isFocused ? \"3px 3px 0 0\" : 3,\r\n boxShadow: state.isFocused ? null : null,\r\n \"&:hover\": {\r\n borderColor: \"blue\"\r\n }\r\n }),\r\n menu: base => ({\r\n ...base,\r\n borderRadius: 0,\r\n marginTop: 0\r\n }),\r\n menuList: base => ({\r\n ...base,\r\n padding: 0\r\n })\r\n};","import React, { Component } from 'react';\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from \"react-helmet\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport class Home extends Component {\r\n state = {\r\n seasonTitle: ''\r\n }\r\n\r\n static displayName = Home.name;\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.getSettings();\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Home';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n getSettings() {\r\n fetch('api/Admin/Setting/1')\r\n .then(res => res.json())\r\n .then(res => this.setState({ seasonTitle: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n Minnesota High School Chess League {this.state.seasonTitle}\r\n \r\n
\r\n

Minnesota High School Chess League

\r\n

{this.state.seasonTitle} Season

\r\n
\r\n
\r\n\r\n
\r\n
Standings - View the points accumulated by each team and player
\r\n
Results - Shows the result from each match and game played
\r\n
Players - A listing of all the participants
\r\n
Rules - Complete list of rules for this league
\r\n
Instructions - Instructions for the players
\r\n
About - Brief description of this league
\r\n
\r\n
\r\n\r\n
\r\n

2023-24 Final Results

\r\n
\r\n
\r\n
\r\n
Team Awards:
\r\n\r\n 1st Overall - Eastview 1\r\n
\r\n 2nd Overall - Eastview 2\r\n
\r\n 3rd Overall - RASCL All League Team\r\n
\r\n 1st U1300 - Nicollet MS\r\n
\r\n 1st U1000/Unrated - White Bear Lake 1\r\n
\r\n 2nd U1000/Unrated - Wayzata 3\r\n\r\n
\r\n
\r\n
Individual Awards:
\r\n
\r\n
Board 1:
\r\n 1st - Yusuf Khan, Eden Prairie\r\n
\r\n 2nd - Kartik Saravanapandi, Eastview\r\n
\r\n 2nd - Martijn Krook-Magnuson, Roseville\r\n\r\n
\r\n
\r\n
Board 2:
\r\n 1st - Jayan Jayachandran, Century\r\n
\r\n 2nd - Bami Olofinboba, Eden Prairie\r\n
\r\n 2nd - Jeremy Prince, St. Paul Central\r\n\r\n
\r\n
\r\n
Board 3:
\r\n 1st - Karn Kaura, Blake\r\n
\r\n 2nd - Anvith Pothula, Eastview\r\n
\r\n 2nd - Jackson McGregor, Eastview\r\n
\r\n 2nd - Ruveen Perera, Eastview\r\n\r\n
\r\n
\r\n
Board 4:
\r\n 1st - Carson Score, Wayzata\r\n
\r\n 2nd - Karthi Sella, Eastview\r\n
\r\n 2nd - Evan Nguyen, Eastview\r\n\r\n
\r\n
\r\n
Alternates:
\r\n 1st - Noah Corbesia, White Bear Lake \r\n
\r\n 2nd - Tsering Dhundup, Eden Prairie\r\n
\r\n 3rd - Peter Pham, Eastview\r\n
\r\n 3rd - Ian Lenzen, Wayzata\r\n
\r\n 3rd - Frederic Abrahams, Eden Prairie\r\n
\r\n 3rd - Vardaan Sharma, Wayzata\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 ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport class Rules extends Component {\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Rules';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n Rules and Schedule for the Minnesota High School Chess League 2023-24\r\n \r\n

Rules

\r\n

\r\n The Minnesota Online High School Chess League is an organization in which teams from around the state compete online in team matches;\r\n it is intended to promote both competition and learning in chess among high schoolers.\r\n

\r\n 1. Players on teams: \r\n Teams will consist of four players. Each team will consist of players who play on Boards 1, 2, 3, and 4. Each team's Board 1 will play the opposing Board 1,\r\n each Board 2 will play a Board 2, and so on.\r\n

\r\n 2. Teams from schools: \r\n If a school has enough players, it may elect to have more than one team participate in the league. The school must designate its\r\n teams \"1\", \"2\", \"3\", etc., from the strongest to the weakest teams. Coaches may also decide to make teams of approximately equal\r\n strength, still designated \"1\", \"2\", \"3\", etc. The Director will try to prevent teams from the same school from playing each other\r\n but this will not be guaranteed.\r\n

\r\n 3. Board order: \r\n Players must play in rating order from Board 1 to Board 4. Unrated players may play on any board. Exceptions to the rule of rating order\r\n can be made if there is a reasonable justification presented to the Director. For example, if a player is provisionally or otherwise\r\n inaccurately rated, this player can be moved to a different spot in the lineup. Or, if players are similarly rated and the coach wishes\r\n to switch their order at the beginning of the season, this is permitted; however, once the board order has been set, the board order should\r\n remain constant throughout the season.\r\n

\r\n 4. Substitutions: \r\n The Director realizes that there are ways in which players can be switched between teams from the same school to gain an improper\r\n competitive advantage; however, the Director also realizes that substitutions between teams must be allowed to prevent teams from\r\n forfeiting games. The following rule is designed to bridge the gap between these two issues. After a coach has submitted regular season\r\n core lineups to the Director (see rule 15), players who have been listed as core players for team 1 should not play for any other team.\r\n Players who have been listed as core players for teams lower than 1 may be placed on the higher teams, but usually only if a member of the\r\n higher team is absent from the match. Players who have been listed as alternates may substitute for any team, but usually only if the core\r\n players they are replacing are absent from the match. This rule will be enforced on a case-by-case basis, and only enforced if the teams are\r\n improperly gaining a competitive advantage. If disputes arise, the Director should be contacted and the disputes will be investigated.\r\n

\r\n 5. Match scores: \r\n If a team's four players score at least 2.5 points, that team wins the match and receives one match point and game points equivalent\r\n to their point score. If a team's four players score 2 points, that team ties the match and receives half a match point and two game\r\n points. In case of a double forfeit on one or two boards, the scoring rule above still applies.\r\n

\r\n 6. The season: \r\n The season will consist of one preseason round and nine regular-season rounds.\r\n

\r\n 7. The regular season: \r\n The nine regular-season matches will be paired by the Swiss pairing system, using match points as the metric for pairing. Pairings within\r\n score groups are random, and teams from the same school will not be paired unless absolutely necessary.\r\n

\r\n 8. Tiebreakers: \r\n Teams' standings in the regular season will use the following set of tiebreakers for the purpose of seeding during the playoffs. The first\r\n tiebreaker is match points, the second is Sonneborn-Berger score with each opponent's season match point score multiplied by the\r\n individual match score, the third is game points, and the fourth is modified median. In the case of a tie, a blitz playoff or coin\r\n flip will be used to determine award order.\r\n

\r\n 9. Time controls: \r\n The time control for all games will be game in 30 minutes with a 3 second increment. \r\n

\r\n 10. Schedule: \r\n

\r\n

\r\n 11. Cost: \r\n The cost to enter the league will be $50 for the first team from a school, $25 for each additional team. \r\n

\r\n 12. Submission of teams to Director: \r\n School coaches are required to notify the league Director by email of how many teams they will enter by the Friday before the\r\n first match. Coaches should provide a list of four core players for each team who they believe will generally be the players\r\n playing for that team. These four players' average rating will be used throughout the season as that team's rating, absent\r\n unexpected circumstances. If coaches wish to add teams after the first match, they may; these teams must be submitted by the\r\n Friday before the match. These additional teams will be given up to three half-point byes for the missed round(s) (see rule 16).\r\n

\r\n 13. Submission of lineup to Director: \r\n School coaches are required to provide a list of players who will be playing each match to the Director by email by each\r\n Thursday before the Friday match at 5:00pm. Last-minute changes until 12:00pm on Friday to these lineups are permitted if\r\n an emergency prevents a player from attending a match, but a continued pattern of these last-minute changes may result in\r\n the Director disallowing the change and instead choose to forfeit the player(s). Pairings will be published and sent out by\r\n the Director on Friday afternoon.\r\n

\r\n 14. Match venue: \r\n Matches will be played on the website lichess.org. Each player must create an account with their school name and last name;\r\n the format will be �Schoolname-Lastname�; e.g. �Blake-Wahl�. School names may be abbreviated to allow for more space for last\r\n names. All of these restrictions are put in place to help players and coaches find correct accounts.\r\n

\r\n 15. Forfeits: \r\n If games are not started by 3:45pm, or if players play the wrong opponents, forfeits may be administered at the discretion\r\n of the Director. Such infractions will be reviewed on a case-by-case basis. If a player does not show up when he or she is\r\n scheduled to play, the remaining players must be moved up boards to fill higher-board holes and to forfeit only the last board.\r\n

\r\n 16. Half-point byes: \r\n Teams may request up to three team half-point byes for any regular-season rounds. These byes will apply to the whole team;\r\n the team will receive half a match point and two game points for each bye.\r\n

\r\n 17. Player eligibility: \r\n Players are only eligible to play for schools which they are eligible to play for in USCF team tournaments. In special\r\n cases, when a school is unable to regularly field four players, home-schooled players or players from middle or elementary\r\n schools who live in the correct school district are allowed to play for the team.\r\n

\r\n 18. Alternates: \r\n If players are present and wish to play, but all teams from their school are full, they are designated as alternates. The\r\n coach should submit their names along with their team rosters and the Director will attempt to pair them for the round\r\n against other alternates.\r\n

\r\n 19. Awards: \r\n There will be trophies given to the top three teams, to multiple teams with ratings below various levels, and to the best\r\n three scoring players on each of Board 1, 2, 3, and 4. (A player is counted as having played on the lowest board they ever\r\n played on.) There will also be awards for at least the best three scoring players who at least once played as an alternate.\r\n (Players who have played as alternates are not eligible for the other board prizes.) Additionally, certificates will be granted\r\n to players who played all of the matches their school participated in.\r\n

\r\n 20. Fair play: \r\n This league is just for fun and it is expected that no players will attempt to cheat. However, coaches must carefully\r\n monitor students to ensure that there is no communication with chess engines or other students while games are going on.\r\n Students should not watch other students' ongoing games, but if they do, coaches must make sure that no communication,\r\n including facial expressions and noises, occurs. Penalties for cheating may include suspensions of players, forfeiture of\r\n games, and in egregious cases, banning of teams.\r\n

\r\n 21. Uncontrollable circumstances: \r\n So-called �mouse-slips�, when a player moves a piece to an unintended square, will universally stand. No take backs are\r\n allowed. Internet and computer problems are the responsibility of the player, coach, and school to resolve, and no matches\r\n involving Internet or computer problems will be replayed.\r\n

\r\n 22. Application of rules: \r\n All players in all League games agree to be bound by these rules.\r\n

\r\n 23. Other disputes: \r\n All disputes not covered here will be submitted to and reviewed by the Director, who reserves\r\n all rights to act equitably and in the best interest of the League.\r\n



\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nexport class About extends Component {\r\n state = {\r\n seasonTitle: ''\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.getSettings();\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'About';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n getSettings() {\r\n fetch('api/Admin/Setting/1')\r\n .then(res => res.json())\r\n .then(res => this.setState({ seasonTitle: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n About the Minnesota High School Chess League\r\n \r\n

Minnesota High School Chess League

\r\n
\r\n
Welcome to the Minnesota High School Chess League. We are currently in our 7th season.
\r\n
\r\n
The Minnesota High School Chess League is a league that is offering high school team competition played on Lichess.org.
\r\n
\r\n
If you are interested in participating in the league in future seasons, please contact the league at: mnhschessleague@gmail.com.
\r\n
\r\n
League Director for the {this.state.seasonTitle} Season:\r\n
\r\n Jackson Wahl\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import _ from 'lodash'\r\nimport React, { Component } from 'react';\r\nimport { Table, Dimmer, Loader } from 'semantic-ui-react'\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\nimport { Link } from 'react-router-dom'\r\nimport { Button } from 'reactstrap';\r\n\r\nexport class Players extends Component {\r\n state = {\r\n column: null,\r\n data: [],\r\n direction: null,\r\n active: true,\r\n newPlayer: null,\r\n admin: false,\r\n seasonTitle: ''\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.getBlankPlayer();\r\n this.getPlayers();\r\n this.getSettings();\r\n\r\n if (localStorage.getItem(\"mhscl-user\") !== null) {\r\n this.setState({ admin: true });\r\n }\r\n }\r\n\r\n getPlayers() {\r\n fetch('api/Players')\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getBlankPlayer() {\r\n fetch('api/Player/BlankPlayer/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ newPlayer: res }))\r\n .catch(err => console.log(\"ERROR:\", err))\r\n }\r\n\r\n getSettings() {\r\n fetch('api/Admin/Setting/1')\r\n .then(res => res.json())\r\n .then(res => this.setState({ seasonTitle: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Players';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n handleSort = (clickedColumn) => () => {\r\n const { column, data, direction } = this.state\r\n\r\n if (column !== clickedColumn) {\r\n this.setState({\r\n column: clickedColumn,\r\n data: _.sortBy(data, [clickedColumn]),\r\n direction: 'ascending',\r\n })\r\n\r\n return\r\n }\r\n\r\n this.setState({\r\n data: data.reverse(),\r\n direction: direction === 'ascending' ? 'descending' : 'ascending',\r\n })\r\n }\r\n\r\n\r\n render() {\r\n const { column, data, direction, seasonTitle } = this.state\r\n\r\n return (\r\n
\r\n \r\n Listing of players signed up for the {seasonTitle} Minnesota High School Chess League\r\n \r\n

List of Players

\r\n\r\n {this.state.admin &&\r\n
\r\n \r\n \r\n Add New\r\n \r\n \r\n
\r\n }\r\n \r\n Loading\r\n \r\n\r\n \r\n \r\n \r\n \r\n Full Name\r\n \r\n \r\n Team\r\n \r\n \r\n Rating\r\n \r\n \r\n Lichess Username\r\n \r\n\r\n {this.state.admin &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n {data.map(player => (\r\n \r\n \r\n {player.playerName}\r\n \r\n \r\n {player.teamName}\r\n \r\n \r\n {player.ratingDisplay}\r\n \r\n \r\n {player.lichessUsername}\r\n \r\n {this.state.admin &&\r\n \r\n \r\n \r\n \r\n Edit\r\n \r\n \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 { Link } from 'react-router-dom'\r\nimport { Icon, Table, Button, Dimmer, Loader } from 'semantic-ui-react';\r\nimport { Button as Button2 } from 'reactstrap';\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport class Games extends Component {\r\n state = {\r\n column: null,\r\n data: [],\r\n direction: null,\r\n myRound: 0,\r\n active: true,\r\n admin: false,\r\n newGame: null,\r\n newMatch: null,\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.handleRound(0);\r\n this.getBlankGame();\r\n this.getBlankMatch();\r\n\r\n if (localStorage.getItem(\"mhscl-user\") !== null) {\r\n this.setState({ admin: true });\r\n }\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Results';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n handleRound(rd) {\r\n if (rd === 0) {\r\n fetch('api/Matches/MaxRound')\r\n .then(res => res.json())\r\n .then(res => this.getResults(res))\r\n //.then(res => this.setState({ maxRound: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n } else {\r\n this.getResults(rd);\r\n }\r\n }\r\n\r\n getBlankMatch() {\r\n fetch('api/Matches/BlankMatch/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ newMatch: res }))\r\n .catch(err => console.log(\"ERROR:\", err))\r\n }\r\n\r\n getBlankGame() {\r\n fetch('api/Games/BlankGame/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ newGame: res }))\r\n .catch(err => console.log(\"ERROR:\", err))\r\n }\r\n\r\n getResults(rd) {\r\n fetch('api/Matches/' + rd)\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ myRound: rd }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n render() {\r\n const { data } = this.state;\r\n //let maxRound = this.maxRound;\r\n\r\n return (\r\n
\r\n \r\n Results from the Minnesota High School Chess League\r\n \r\n

Round-by-Round Results

\r\n\r\n \r\n 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 {data.map(match =>\r\n
\r\n
\r\n {match.team1Name}\r\n ({match.team1Score})\r\n   -  \r\n {match.team2Name}\r\n ({match.team2Score})\r\n Alternates\r\n
\r\n\r\n {this.state.admin &&\r\n
\r\n {match.team1Name === 'White' ?\r\n \r\n \r\n \r\n Add Alternate Game\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n Edit Match\r\n \r\n \r\n \r\n }\r\n
\r\n }\r\n \r\n \r\n \r\n Board\r\n {match.team1Name}\r\n Result\r\n {match.team2Name}\r\n {match.team1Name === 'White' ? : ''}\r\n \r\n \r\n \r\n {match.games.map(game => (\r\n \r\n {game.boardNum}\r\n {game.player1Score === 1 ?\r\n (\r\n \r\n \r\n {game.player1ExcludeFromScore ? '# ' : ''}\r\n {game.player1NameAndColor}\r\n \r\n ) : (\r\n \r\n {game.player1ExcludeFromScore ? '# ' : ''}\r\n {game.player1NameAndColor}\r\n \r\n )}\r\n {game.result}\r\n {game.player2Score === 1 ?\r\n (\r\n \r\n \r\n {game.player2ExcludeFromScore ? '# ' : ''}\r\n {game.player2NameAndColor}\r\n \r\n ) : (\r\n \r\n {game.player2ExcludeFromScore ? '# ' : ''}\r\n {game.player2NameAndColor}\r\n \r\n )}\r\n {this.state.admin && match.team1Name === 'White' ?\r\n \r\n \r\n \r\n \r\n Edit\r\n \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.admin &&\r\n
\r\n
\r\n \r\n \r\n Create New Match\r\n \r\n \r\n   \r\n \r\n \r\n Add Alternate Game\r\n \r\n \r\n   \r\n \r\n \r\n Edit Players\r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n R = Regular season round/week\r\n
\r\n P = Playoffs\r\n
\r\n # = Result not counted in standings\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import _ from 'lodash'\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom'\r\nimport { Icon, Table, Dimmer, Loader } from 'semantic-ui-react';\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport class Team extends Component {\r\n state = {\r\n active: true,\r\n teamId: '',\r\n teamName: '',\r\n matches: null\r\n }\r\n\r\n componentDidMount() {\r\n var param = this.props.location.pathname;\r\n param = param.replace('team/', '');\r\n param = param.replace('/', '');\r\n\r\n this.setState({ teamId: param });\r\n this.logPageHit(param);\r\n\r\n this.getTeamName(param);\r\n this.getResults(param);\r\n }\r\n\r\n logPageHit(id) {\r\n var pagename = 'Team-' + id;\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n getTeamName(id) {\r\n fetch('api/Matches/TeamName/' + id)\r\n .then(res => res.text())\r\n .then(res => this.setState({ teamName: String(res) }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getResults(id) {\r\n fetch('api/Matches/Team/' + id)\r\n .then(res => res.json())\r\n .then(res => this.setState({ matches: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n setTeamStyle(match, id) {\r\n if (id === 1) {\r\n if (match.team1Name === this.state.teamName && match.team1Score === 1)\r\n return \"h5 green-text\";\r\n if (match.team1Name === this.state.teamName && match.team1Score === 0)\r\n return \"h5 red-text\";\r\n }\r\n if (id === 2) {\r\n if (match.team2Name === this.state.teamName && match.team2Score === 1)\r\n return \"h5 green-text\";\r\n if (match.team2Name === this.state.teamName && match.team2Score === 0)\r\n return \"h5 red-text\";\r\n }\r\n\r\n return \"h5 gray-text\";\r\n }\r\n\r\n render() {\r\n const { matches, teamName } = this.state;\r\n\r\n return (\r\n
\r\n \r\n Team Results from the Minnesota High School Chess League\r\n \r\n

Team Stats for {teamName}

\r\n\r\n \r\n Loading\r\n \r\n\r\n {matches != null &&\r\n
\r\n
\r\n {matches.map(match =>\r\n
\r\n
\r\n\r\n
\r\n Round {match.thisRound} : \r\n {match.team1Name}\r\n ({match.team1Score})\r\n\r\n   -  \r\n\r\n {match.team2Name}\r\n ({match.team2Score})\r\n
\r\n\r\n \r\n \r\n \r\n Board\r\n {match.team1Name}\r\n Result\r\n {match.team2Name}\r\n \r\n \r\n \r\n {_.map(match.games, ({ id, boardNum, player1NameAndColor, player1Id, player2Id, result, player2NameAndColor, player1Score, player2Score, player1ExcludeFromScore, player2ExcludeFromScore }) => (\r\n \r\n {boardNum}\r\n {player1Score === 1 ?\r\n (\r\n \r\n \r\n {player1ExcludeFromScore ? '# ' : ''}\r\n {player1NameAndColor}\r\n \r\n ) : (\r\n \r\n {player1ExcludeFromScore ? '# ' : ''}\r\n {player1NameAndColor}\r\n \r\n )}\r\n\r\n {result}\r\n\r\n {player2Score === 1 ?\r\n (\r\n \r\n \r\n {player2ExcludeFromScore ? '# ' : ''}\r\n {player2NameAndColor}\r\n \r\n ) : (\r\n \r\n {player2ExcludeFromScore ? '# ' : ''}\r\n {player2NameAndColor}\r\n \r\n )}\r\n\r\n \r\n ))}\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 _ from 'lodash'\r\nimport { Table, Button, Dimmer, Loader } from 'semantic-ui-react'\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\nimport { Link } from 'react-router-dom'\r\n\r\nexport class Standings extends Component {\r\n state = {\r\n column: null,\r\n data: [],\r\n direction: null,\r\n selectedBtn: 0,\r\n active: true\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.fetchData(this.state.selectedBtn);\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Standings';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n fetchData(id) {\r\n this.setState({ data: [] });\r\n\r\n if (id === 0) {\r\n fetch('api/TeamStandings/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n } else if (id === 100) {\r\n fetch('api/PlayoffStandings/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n } else {\r\n fetch('api/BoardStandings/' + id)\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n }\r\n\r\n handleSort = (clickedColumn) => () => {\r\n const { column, data, direction } = this.state;\r\n\r\n if (column !== clickedColumn) {\r\n this.setState({\r\n column: clickedColumn,\r\n data: _.sortBy(data, [clickedColumn]),\r\n direction: 'ascending'\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n data: data.reverse(),\r\n direction: direction === 'ascending' ? 'descending' : 'ascending',\r\n });\r\n }\r\n\r\n\r\n handleButtonClick(btnId) {\r\n this.setState({\r\n selectedBtn: btnId\r\n });\r\n\r\n this.fetchData(btnId);\r\n }\r\n\r\n render() {\r\n const { column, data, direction, selectedBtn, active } = this.state\r\n\r\n return (\r\n
\r\n \r\n Team and Individual Standings for the Minnesota High School Chess League\r\n \r\n

Standings

\r\n\r\n \r\n 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 {selectedBtn === 100 ?\r\n (\r\n \r\n \r\n \r\n Team Name\r\n Playoff
Matches
\r\n Reg Season
Matches
\r\n Playoff
Games
\r\n
\r\n
\r\n \r\n {_.map(data, ({ teamId, teamName, color, matchTotal, gameTotal, regularSeasonMatchTotal }) => (\r\n \r\n {teamName}\r\n {matchTotal}\r\n {regularSeasonMatchTotal}\r\n {gameTotal}\r\n \r\n ))}\r\n \r\n
\r\n\r\n ) : (\r\n\r\n \r\n \r\n \r\n Team Name\r\n Name\r\n Matches\r\n Games\r\n Score\r\n TB Pts\r\n \r\n \r\n \r\n {_.map(data, ({ teamId, playerId, playerName, teamName, ptsDisplay, color, matchTotal, gameTotal }) => (\r\n \r\n \r\n {teamName}\r\n \r\n \r\n {playerName}\r\n \r\n \r\n {matchTotal}\r\n \r\n \r\n {gameTotal}\r\n \r\n \r\n {gameTotal}\r\n \r\n \r\n {ptsDisplay}\r\n \r\n \r\n ))}\r\n \r\n
\r\n\r\n )}\r\n
\r\n\r\n
\r\n
\r\n *TB Pts = Tiebreaker Points: This is determined by taking the game points scored against each opponent by their total match points. For each team, the bottom two opponents are dropped before calculating.\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport _ from 'lodash'\r\nimport { Table, Icon, Dimmer, Loader } from 'semantic-ui-react'\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport class Player extends Component {\r\n state = {\r\n player: null,\r\n playerid: '',\r\n active: true\r\n }\r\n\r\n componentDidMount() {\r\n var id = this.props.match.params.playerId;\r\n this.setState({ playerid: id });\r\n\r\n this.logPageHit(id);\r\n\r\n fetch('api/Player/' + id)\r\n .then(res => res.json())\r\n .then(res => this.setState({ player: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n logPageHit(id) {\r\n var pagename = 'Player-' + id;\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n render() {\r\n const { player, playerid } = this.state\r\n\r\n return (\r\n
\r\n \r\n Individual Statistics from the Minnesota High School Chess League\r\n \r\n {player != null &&\r\n
\r\n

Individual Stats for {player.playerName} ({player.seasonDisplay})

\r\n
\r\n
\r\n Team: {player.teamName}\r\n
\r\n
\r\n Lichess: \r\n \r\n {player.lichessUsername}\r\n \r\n
\r\n
\r\n\r\n \r\n Loading\r\n \r\n\r\n \r\n \r\n \r\n Round\r\n Board\r\n Player 1 (White)\r\n Result\r\n Player 2 (Black)\r\n \r\n \r\n \r\n {_.map(player.games, ({ id, boardNum, thisRound, player1Name, player1TeamName, player1Id, result, player2Name, player2TeamName, player2Id, player1Score, player2Score }) => (\r\n \r\n\r\n {thisRound}\r\n {boardNum}\r\n\r\n {(player1Score === 1 && player1Id === playerid) ?\r\n (\r\n {player1Name}\r\n ) :\r\n\r\n (player1Score === 0 && player1Id === playerid) ?\r\n (\r\n {player1Name}\r\n ) : (\r\n {player1Name}\r\n ({player1TeamName})\r\n \r\n )}\r\n\r\n {result}\r\n\r\n {(player2Score === 1 && player2Id === playerid) ?\r\n (\r\n {player2Name}\r\n )\r\n :\r\n (player2Score === 0 && player2Id === playerid) ?\r\n (\r\n {player2Name}\r\n ) : (\r\n {player2Name}\r\n ({player2TeamName})\r\n \r\n )}\r\n\r\n \r\n ))}\r\n \r\n
\r\n\r\n

\r\n\r\n {player.historicalGames != null &&\r\n
\r\n

Historical Games

\r\n\r\n \r\n \r\n \r\n Season\r\n Round\r\n Board\r\n Player 1 (White)\r\n Result\r\n Player 2 (Black)\r\n \r\n \r\n \r\n {_.map(player.historicalGames, ({ id, season, boardNum, thisRound, player1Name, player1TeamName, player1Id, result, player2Name, player2TeamName, player2Id, player1Score, player2Score }) => (\r\n \r\n\r\n {season}\r\n {thisRound}\r\n {boardNum}\r\n\r\n {(player1Score === 1 && player1Id === playerid) ?\r\n (\r\n {player1Name}\r\n ) :\r\n\r\n (player1Score === 0 && player1Id === playerid) ?\r\n (\r\n {player1Name}\r\n ) : (\r\n {player1Name}\r\n ({player1TeamName})\r\n \r\n )}\r\n\r\n {result}\r\n\r\n {(player2Score === 1 && player2Id === playerid) ?\r\n (\r\n {player2Name}\r\n )\r\n :\r\n (player2Score === 0 && player2Id === playerid) ?\r\n (\r\n {player2Name}\r\n ) : (\r\n {player2Name}\r\n ({player2TeamName})\r\n \r\n )}\r\n\r\n \r\n ))}\r\n \r\n
\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 ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\n\r\nexport class Instructions extends Component {\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Instructions';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n Instructions for the Minnesota High School Chess League\r\n \r\n

Player Instructions

\r\n\r\n
Creating an account with the correct username:
\r\n
    \r\n
  1. Go to lichess.org and click \"Sign in\" at the top right.
  2. \r\n
  3. On the sign-in page, click \"Register\" on the right.
  4. \r\n
  5. Create a username in the format \"Schoolname-Lastname\" (e.g. Blake-Wahl). It is very important that you use this format.\r\n This is how the Director will check results.\r\n Email confirmation is required for lichess accounts to be used.
  6. \r\n
\r\n\r\n
Challenging other users against whom you are paired:
\r\n\r\n
    \r\n
  1. Go to your Lichess homepage.
  2. \r\n
  3. Check if you have been challenged by your opponent. If so, accept the challenge.
  4. \r\n
  5. If not, go to the URL box and replace your username with your opponent's username.\r\n The URL will be of the form lichess.org/@/(username).
  6. \r\n
  7. In your opponent's name banner, click the icon with two swords crossed.
  8. \r\n
  9. In the pop-up \"Challenge to a game\" that appears, set the variant to \"Standard\",\r\n the time control to \"real time\", the minutes to 30, the increment to 3, and the game type to \"casual\".\r\n Click the king of the color you are assigned to play.
  10. \r\n
  11. Wait for your opponent to accept the challenge.
  12. \r\n
  13. If your opponent has not accepted your challenge by 3:40pm, let your coach know.\r\n If your opponent has not appeared by 3:45, you may be awarded a forfeit win.
  14. \r\n
\r\n\r\n
Important changes to these rules:
\r\n
    \r\n
  1. Students are welcome to play additional games on their Lichess account.\r\n In fact, it is a good idea to familiarize yourself with the site.\r\n However, please only play one game against your assigned opponent.
  2. \r\n
  3. Either player may initiate the challenge. It does not matter what color you are assigned;\r\n just make sure you select the correct king when challenging your opponent.
  4. \r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport ReactGA from 'react-ga';\r\nimport GoogleLogin from 'react-google-login';\r\nimport GoogleLogout from 'react-google-login';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport class Admin extends Component {\r\n state = {\r\n isAuthenticated: false\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n\r\n this.isAuthenticated();\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Admin';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n isAuthenticated() {\r\n if (localStorage.getItem(\"mhscl-user\") === null) {\r\n this.setState({ isAuthenticated: false });\r\n } else {\r\n this.setState({ isAuthenticated: true });\r\n }\r\n }\r\n\r\n successfulLogout = response => {\r\n console.log(\"successful-logout\", response);\r\n localStorage.removeItem(\"mhscl-user\");\r\n this.setState({ isAuthenticated: false });\r\n }\r\n\r\n failedLogout = response => {\r\n console.log(\"failed-logout\", response);\r\n }\r\n\r\n failedGoogle = response => {\r\n console.log(\"failure\", response);\r\n }\r\n\r\n responseGoogle = response => {\r\n console.log(\"success\", response);\r\n\r\n var profile = response.getBasicProfile();\r\n var email = profile.getEmail();\r\n console.log('Email: ' + email);\r\n\r\n //Check database to see if this user is a valid user\r\n fetch('api/Admin/Authenticate/' + email)\r\n .then(res => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n localStorage.setItem(\"mhscl-user\", email);\r\n }\r\n else {\r\n alert(\"You are not a valid administrator\");\r\n localStorage.removeItem(\"mhscl-user\");\r\n }\r\n })\r\n .catch(err => console.log(\"ERROR:\", err));\r\n\r\n this.isAuthenticated();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.isAuthenticated === true ?\r\n (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n   \r\n {this.state.isAuthenticated &&\r\n \r\n }\r\n
\r\n {this.state.isAuthenticated &&\r\n
\r\n
Matches - Edit Matches and Games
\r\n
Teams - View and Edit Teams
\r\n
Players - Edit and Add Players
\r\n
Analytics - View Page View Log
\r\n
\r\n }\r\n
\r\n );\r\n }\r\n}","import _ from 'lodash'\r\nimport React, { Component } from 'react';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport ReactGA from 'react-ga';\r\nimport { Helmet } from 'react-helmet'\r\nimport { Link } from 'react-router-dom'\r\nimport { Button } from 'reactstrap';\r\nimport { Table, Dimmer, Loader } from 'semantic-ui-react'\r\n\r\nexport class ViewTeams extends Component {\r\n state = {\r\n active: true,\r\n newTeam: null,\r\n data: [],\r\n admin: false,\r\n seasonTitle: ''\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.getBlankTeam();\r\n this.getTeams();\r\n this.getSettings();\r\n\r\n if (localStorage.getItem(\"mhscl-user\") !== null) {\r\n this.setState({ admin: true });\r\n }\r\n }\r\n\r\n getSettings() {\r\n fetch('api/Admin/Setting/1')\r\n .then(res => res.json())\r\n .then(res => this.setState({ seasonTitle: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getTeams() {\r\n fetch('api/Admin/Teams')\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .then(this.setState({ active: false }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getBlankTeam() {\r\n fetch('api/Admin/BlankTeam/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ newTeam: res }))\r\n .catch(err => console.log(\"ERROR:\", err))\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'ViewTeams';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n handleSort = (clickedColumn) => () => {\r\n const { column, data, direction } = this.state;\r\n\r\n if (column !== clickedColumn) {\r\n this.setState({\r\n column: clickedColumn,\r\n data: _.sortBy(data, [clickedColumn]),\r\n direction: 'ascending',\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n data: data.reverse(),\r\n direction: direction === 'ascending' ? 'descending' : 'ascending',\r\n });\r\n }\r\n\r\n render() {\r\n const { column, data, direction, seasonTitle } = this.state\r\n\r\n return (\r\n
\r\n \r\n Listing of teams signed up for the {seasonTitle} Minnesota High School Chess League\r\n \r\n

List of Teams

\r\n\r\n {this.state.admin &&\r\n
\r\n \r\n \r\n Add New Team\r\n \r\n \r\n
\r\n }\r\n \r\n Loading\r\n \r\n\r\n
\r\n \r\n \r\n \r\n Team Name\r\n\r\n Avg Rating\r\n\r\n Points\r\n\r\n Playoff Tier\r\n\r\n Playoff Color\r\n\r\n {this.state.admin &&\r\n \r\n }\r\n \r\n \r\n \r\n\r\n {data.map(team => (\r\n \r\n \r\n {team.teamName}\r\n \r\n \r\n {team.avgRating}\r\n \r\n \r\n {team.points}\r\n \r\n \r\n {team.playoffTier}\r\n \r\n \r\n {team.color}\r\n \r\n {this.state.admin &&\r\n \r\n \r\n \r\n \r\n Edit\r\n \r\n \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 ReactGA from 'react-ga';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet'\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Form, Button, Input, Alert, Label } from 'reactstrap';\r\nimport '../styles/editpage.css';\r\n\r\n\r\nexport class EditTeam extends Component {\r\n state = {\r\n redirect: false,\r\n alertVisible: false,\r\n alertText: '',\r\n alertColor: ''\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.getItem(\"mhscl-user\") === null) {\r\n this.setState({ redirect: true });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n }\r\n\r\n goBack = () => {\r\n this.props.history.push('/ViewTeams')\r\n }\r\n\r\n\r\n handleFailureAlert(textMsg) {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"danger\",\r\n alertText: textMsg\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 5000);\r\n }\r\n\r\n handleSuccessAlert() {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"success\",\r\n alertText: \"Your changes have been successfully saved\"\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 3000);\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'EditTeam';\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + localStorage.getItem('mhscl-user');\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n validateData() {\r\n var myTeam = this.props.location.teamObj;\r\n console.log(\"Validating\");\r\n if (isNaN(myTeam.avgRating)) {\r\n console.log(\"Warning -- avg rating not a number\");\r\n this.handleFailureAlert(\"Integer is required for the Avg Rating field\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n saveTeam() {\r\n var myTeam = this.props.location.teamObj;\r\n console.log(\"Save: \", myTeam);\r\n\r\n fetch('api/Admin/SaveTeam/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n id: parseInt(myTeam.id),\r\n teamName: myTeam.teamName,\r\n avgRating: parseInt(myTeam.avgRating),\r\n season: parseInt(myTeam.season),\r\n points: parseFloat(myTeam.points),\r\n color: myTeam.color,\r\n playoffTier: parseInt(myTeam.playoffTier)\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((res) => {\r\n var newid = res;\r\n this.props.location.teamObj.id = parseInt(newid);\r\n })\r\n .then(this.handleSuccessAlert())\r\n .catch(err => console.log(err));\r\n }\r\n\r\n submitEdit = e => {\r\n e.preventDefault();\r\n if (!this.validateData())\r\n return;\r\n this.saveTeam();\r\n }\r\n\r\n handleChange = e => {\r\n if (e !== null) {\r\n console.log(e.target.value + \" (\" + e.target.name + \")\");\r\n var newValue = e.target.value;\r\n switch (e.target.name) {\r\n case \"teamName\":\r\n this.props.location.teamObj.teamName = newValue;\r\n break;\r\n case \"avgRating\":\r\n this.props.location.teamObj.avgRating = newValue;\r\n break;\r\n case \"season\":\r\n this.props.location.teamObj.season = newValue;\r\n break;\r\n case \"points\":\r\n this.props.location.teamObj.points = newValue;\r\n break;\r\n case \"playoffTier\":\r\n this.props.location.teamObj.playoffTier = newValue;\r\n break;\r\n case \"color\":\r\n this.props.location.teamObj.color = newValue;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return ;\r\n }\r\n\r\n var myTeam = this.props.location.teamObj;\r\n var title = \"Add New Team\";\r\n if (Number(myTeam.id) > 0)\r\n title = \"Edit Team (\" + myTeam.teamName + \")\";\r\n\r\n return (\r\n
\r\n \r\n MHSCL Admin - Edit Team\r\n \r\n\r\n \r\n {this.state.alertText}\r\n \r\n\r\n

{title}

\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\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 { Redirect } from 'react-router-dom';\r\nimport ReactGA from 'react-ga';\r\nimport { Helmet } from 'react-helmet'\r\nimport { GOOGLE_ANALYTICS_API, customStyles } from './constants';\r\nimport { Form, Input, Button, Alert } from 'reactstrap';\r\nimport Select from 'react-select'\r\nimport '../styles/editpage.css';\r\n\r\nconst resultOptions = [\r\n { value: '', label: '' },\r\n { value: 'W', label: '1 - 0' },\r\n { value: 'D', label: '0.5 - 0.5' },\r\n { value: 'L', label: '0 - 1' },\r\n { value: 'W2', label: '1 - 1' }\r\n]\r\n\r\nexport class EditMatch extends Component {\r\n state = {\r\n matchObj: null,\r\n team1: null,\r\n team2: null,\r\n g1p1: null,\r\n g1p2: null,\r\n g2p1: null,\r\n g2p2: null,\r\n g3p1: null,\r\n g3p2: null,\r\n g4p1: null,\r\n g4p2: null,\r\n g1r: null,\r\n g2r: null,\r\n g3r: null,\r\n g4r: null,\r\n teamsList: [],\r\n playersList: [],\r\n alertVisible: false,\r\n alertText: '',\r\n alertColor: '',\r\n redirect: false\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.getItem(\"mhscl-user\") === null) {\r\n console.log(\"Redirect\", \"true\");\r\n this.setState({ redirect: true });\r\n } else {\r\n console.log(\"Redirect\", \"false\");\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n\r\n this.setState({ matchObj: this.props.location.matchObj });\r\n this.getTeams();\r\n this.getPlayers();\r\n this.loadGamesResults();\r\n }\r\n\r\n goBack = () => {\r\n this.props.history.push('/Games')\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'EditMatch';\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + localStorage.getItem('mhscl-user');\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n loadGamesResults() {\r\n var myMatch = this.props.location.matchObj;\r\n this.setState({ g1r: resultOptions.find(obj => obj.label === myMatch.games[0].result) });\r\n this.setState({ g2r: resultOptions.find(obj => obj.label === myMatch.games[1].result) });\r\n this.setState({ g3r: resultOptions.find(obj => obj.label === myMatch.games[2].result) });\r\n this.setState({ g4r: resultOptions.find(obj => obj.label === myMatch.games[3].result) });\r\n }\r\n\r\n loadSavedPlayers() {\r\n var myMatch = this.props.location.matchObj;\r\n if (myMatch.games !== null) {\r\n if (myMatch.games.length > 0) {\r\n this.setState({\r\n g1p1: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[0].player1Id)),\r\n g1p2: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[0].player2Id))\r\n });\r\n }\r\n if (myMatch.games.length > 1) {\r\n this.setState({\r\n g2p1: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[1].player1Id)),\r\n g2p2: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[1].player2Id))\r\n });\r\n }\r\n if (myMatch.games.length > 2) {\r\n this.setState({\r\n g3p1: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[2].player1Id)),\r\n g3p2: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[2].player2Id))\r\n });\r\n }\r\n if (myMatch.games.length > 3) {\r\n this.setState({\r\n g4p1: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[3].player1Id)),\r\n g4p2: this.state.playersList.find(obj => obj.value === parseInt(myMatch.games[3].player2Id))\r\n });\r\n }\r\n }\r\n }\r\n\r\n loadSavedTeams() {\r\n var myMatch = this.props.location.matchObj;\r\n this.setState({\r\n team1: this.state.teamsList.find(x => x.value === myMatch.team1Id),\r\n team2: this.state.teamsList.find(x => x.value === myMatch.team2Id)\r\n });\r\n }\r\n\r\n getPlayers() {\r\n fetch('api/Admin/Players')\r\n .then(res => res.json())\r\n .then(res => this.setState({ playersList: res }))\r\n .then(() => { this.loadSavedPlayers() })\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getTeams() {\r\n fetch('api/Admin/TeamsForDropdown')\r\n .then(res => res.json())\r\n .then(res => this.setState({ teamsList: res }))\r\n .then(() => { this.loadSavedTeams() })\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n saveGames = newMatchId => {\r\n var byePlayer = 382;\r\n var myMatch = this.props.location.matchObj;\r\n\r\n var game1 = this.props.location.matchObj.games[0];\r\n if (game1.player1Id === null) game1.player1Id = byePlayer;\r\n if (game1.player2Id === null) game1.player2Id = byePlayer;\r\n\r\n console.log(\"Game 1 ID:\", Number(game1.id));\r\n console.log(\"Game 1 Match ID:\", newMatchId);\r\n console.log(\"Game 1:\", game1);\r\n fetch('api/Admin/SaveGame/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchId: newMatchId,\r\n boardNum: 1,\r\n id: Number(game1.id),\r\n player1Id: game1.player1Id.toString(),\r\n player1Color: \"W\",\r\n player1Score: parseFloat(game1.player1Score),\r\n player1Team: parseInt(myMatch.team1Id),\r\n player2Id: game1.player2Id.toString(),\r\n player2Color: \"B\",\r\n player2Score: parseFloat(game1.player2Score),\r\n player2Team: parseInt(myMatch.team2Id),\r\n player1ExcludeFromScore: false,\r\n player2ExcludeFromScore: false\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((res) => {\r\n var newid = res;\r\n this.props.location.matchObj.games[0].id = parseInt(newid);\r\n })\r\n .catch(err => console.log(err));\r\n\r\n var game2 = this.props.location.matchObj.games[1];\r\n if (game2.player1Id === null) game2.player1Id = byePlayer;\r\n if (game2.player2Id === null) game2.player2Id = byePlayer;\r\n //if (game2.player1Id !== null && game2.player2Id !== null) {\r\n fetch('api/Admin/SaveGame/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchId: newMatchId,\r\n boardNum: 2,\r\n id: game2.id,\r\n player1Id: game2.player1Id.toString(),\r\n player1Color: \"B\",\r\n player1Score: parseFloat(game2.player1Score),\r\n player1Team: myMatch.team1Id,\r\n player2Id: game2.player2Id.toString(),\r\n player2Color: \"W\",\r\n player2Score: parseFloat(game2.player2Score),\r\n player2Team: myMatch.team2Id,\r\n player1ExcludeFromScore: false,\r\n player2ExcludeFromScore: false\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((data) => {\r\n var newid = data;\r\n this.props.location.matchObj.games[1].id = newid;\r\n })\r\n .catch(err => console.log(err));\r\n //}\r\n\r\n var game3 = this.props.location.matchObj.games[2];\r\n if (game3.player1Id === null) game3.player1Id = byePlayer;\r\n if (game3.player2Id === null) game3.player2Id = byePlayer;\r\n //if (game3.player1Id !== null && game3.player2Id !== null) {\r\n fetch('api/Admin/SaveGame/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchId: newMatchId,\r\n boardNum: 3,\r\n id: game3.id,\r\n player1Id: game3.player1Id.toString(),\r\n player1Color: \"W\",\r\n player1Score: parseFloat(game3.player1Score),\r\n player1Team: myMatch.team1Id,\r\n player2Id: game3.player2Id.toString(),\r\n player2Color: \"B\",\r\n player2Score: parseFloat(game3.player2Score),\r\n player2Team: myMatch.team2Id,\r\n player1ExcludeFromScore: false,\r\n player2ExcludeFromScore: false\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((data) => {\r\n var newid = data;\r\n this.props.location.matchObj.games[2].id = newid;\r\n })\r\n .catch(err => console.log(err));\r\n //}\r\n\r\n var game4 = this.props.location.matchObj.games[3];\r\n if (game4.player1Id === null) game4.player1Id = byePlayer;\r\n if (game4.player2Id === null) game4.player2Id = byePlayer;\r\n //if (game4.player1Id !== null && game4.player2Id !== null) {\r\n fetch('api/Admin/SaveGame/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchId: newMatchId,\r\n boardNum: 4,\r\n id: game4.id,\r\n player1Id: game4.player1Id.toString(),\r\n player1Color: \"B\",\r\n player1Score: parseFloat(game4.player1Score),\r\n player1Team: myMatch.team1Id,\r\n player2Id: game4.player2Id.toString(),\r\n player2Color: \"W\",\r\n player2Score: parseFloat(game4.player2Score),\r\n player2Team: myMatch.team2Id,\r\n player1ExcludeFromScore: false,\r\n player2ExcludeFromScore: false\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((data) => {\r\n var newid = data;\r\n this.props.location.matchObj.games[3].id = newid;\r\n })\r\n .catch(err => console.log(err));\r\n // }\r\n }\r\n\r\n\r\n\r\n submitEdit = e => {\r\n e.preventDefault();\r\n var myMatch = this.props.location.matchObj;\r\n console.log(\"save\", myMatch);\r\n console.log(\"team 1 score\", myMatch.team1Score);\r\n\r\n //Begin validation //\r\n if (isNaN(myMatch.team1Score)) {\r\n this.handleFailureAlert(\"Team 1 Score must be 0, 0.5, or 1\")\r\n return;\r\n }\r\n if (myMatch.team1Score !== 1 && myMatch.team1Score !== 0 && myMatch.team1Score !== 0.5) {\r\n this.handleFailureAlert(\"Team 1 Score must be 0, 1, or 0.5\")\r\n return;\r\n }\r\n if (isNaN(myMatch.team2Score)) {\r\n this.handleFailureAlert(\"Team 2 Score must be 0, 0.5, or 1\")\r\n return;\r\n }\r\n if (myMatch.team2Score !== 1 && myMatch.team2Score !== 0 && myMatch.team2Score !== 0.5) {\r\n this.handleFailureAlert(\"Team 2 Score must be 0, 1, or 0.5\")\r\n return;\r\n }\r\n if (isNaN(myMatch.thisRound)) {\r\n this.handleFailureAlert(\"Round number is required and must be a number\")\r\n return;\r\n }\r\n if (myMatch.thisRound < 1) {\r\n this.handleFailureAlert(\"Round number must be greater than zero\")\r\n return;\r\n }\r\n //End validation //\r\n\r\n if (myMatch.id === null || parseInt(myMatch.id) <= 0) {\r\n\r\n fetch('api/Admin/AddMatch/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchDate: new Date(),\r\n team1Id: myMatch.team1Id,\r\n team2Id: myMatch.team2Id,\r\n team1Score: myMatch.team1Score,\r\n team2Score: myMatch.team2Score,\r\n thisRound: myMatch.thisRound\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((data) => {\r\n console.log(\"dataid\", data);\r\n var newid = data;\r\n myMatch.id = newid;\r\n this.saveGames(newid);\r\n })\r\n .then(this.handleSuccessAlert())\r\n .catch(err => console.log(err));\r\n\r\n } else {\r\n\r\n fetch('api/Admin/SaveMatch/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n id: myMatch.id,\r\n team1Id: myMatch.team1Id,\r\n team2Id: myMatch.team2Id,\r\n team1Score: myMatch.team1Score,\r\n team2Score: myMatch.team2Score,\r\n thisRound: myMatch.thisRound,\r\n season: myMatch.season\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((data) => {\r\n var newid = data;\r\n this.saveGames(newid);\r\n })\r\n .then(this.handleSuccessAlert())\r\n .catch(err => console.log(err));\r\n }\r\n\r\n fetch('api/Admin/UpdateTiebreakPts', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n id: myMatch.id,\r\n team1Id: myMatch.team1Id,\r\n team2Id: myMatch.team2Id,\r\n team1Score: myMatch.team1Score,\r\n team2Score: myMatch.team2Score,\r\n thisRound: myMatch.thisRound,\r\n season: myMatch.season\r\n })\r\n });\r\n }\r\n\r\n handleDelete(id) {\r\n //var myMatch = this.state.matchObj;\r\n //alert(\"Are you sure you want to delete: \" + id);\r\n }\r\n\r\n handleSuccessAlert() {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"success\",\r\n alertText: \"Your changes have been successfully saved\"\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 3000);\r\n }\r\n\r\n handleFailureAlert(textMsg) {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"danger\",\r\n alertText: textMsg\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 5000);\r\n }\r\n\r\n handleTeamChange = (e, action) => {\r\n if (e !== null) {\r\n //console.log(\"changeteam: \", e.value + \" (\" + e.label + \")\");\r\n var newMatchObj = this.props.location.matchObj;\r\n var curTeamId = e.value;\r\n var curTeamName = e.label;\r\n\r\n switch (action.name) {\r\n case \"team1Name\":\r\n newMatchObj.team1Id = curTeamId;\r\n newMatchObj.team1Name = curTeamName;\r\n this.setState({ team1: this.state.teamsList.find(x => x.value === curTeamId) });\r\n break;\r\n case \"team2Name\":\r\n newMatchObj.team2Id = curTeamId;\r\n newMatchObj.team2Name = curTeamName;\r\n this.setState({ team2: this.state.teamsList.find(x => x.value === curTeamId) });\r\n break;\r\n\r\n case \"team3Name\":\r\n newMatchObj.team3Id = curTeamId;\r\n newMatchObj.team3Name = curTeamName;\r\n this.setState({ team3: this.state.teamsList.find(x => x.value === curTeamId) });\r\n break;\r\n case \"team4Name\":\r\n newMatchObj.team4Id = curTeamId;\r\n newMatchObj.team4Name = curTeamName;\r\n this.setState({ team4: this.state.teamsList.find(x => x.value === curTeamId) });\r\n break;\r\n default:\r\n break;\r\n }\r\n this.props.location.matchObj = newMatchObj;\r\n }\r\n }\r\n\r\n handlePlayerChange = (e, action) => {\r\n if (e !== null) {\r\n //console.log(e.value + \" (\" + e.label + \")\");\r\n var newPlayer = e.value\r\n switch (action.name) {\r\n case \"game1player1\":\r\n this.props.location.matchObj.games[0].player1Id = newPlayer;\r\n this.setState({ g1p1: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game1player2\":\r\n this.props.location.matchObj.games[0].player2Id = e.value;\r\n this.setState({ g1p2: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game2player1\":\r\n this.props.location.matchObj.games[1].player1Id = e.value;\r\n this.setState({ g2p1: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game2player2\":\r\n this.props.location.matchObj.games[1].player2Id = e.value;\r\n this.setState({ g2p2: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game3player1\":\r\n this.props.location.matchObj.games[2].player1Id = e.value;\r\n this.setState({ g3p1: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game3player2\":\r\n this.props.location.matchObj.games[2].player2Id = e.value;\r\n this.setState({ g3p2: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game4player1\":\r\n this.props.location.matchObj.games[3].player1Id = e.value;\r\n this.setState({ g4p1: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game4player2\":\r\n this.props.location.matchObj.games[3].player2Id = e.value;\r\n this.setState({ g4p2: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n handleResultChange = (e, action) => {\r\n if (e !== null) {\r\n //console.log(e.value + \" (\" + e.label + \")\");\r\n var thisResult = e.value;\r\n var valWin = \"1 - 0\";\r\n var valLoss = \"0 - 1\";\r\n var valDraw = \"0.5 - 0.5\";\r\n //var valDoubleWin = \"1 - 1\";\r\n var valResult = \"\";\r\n\r\n var gameNum = 0;\r\n switch (action.name) {\r\n case \"game1result\":\r\n gameNum = 0;\r\n break;\r\n case \"game2result\":\r\n gameNum = 1;\r\n break;\r\n case \"game3result\":\r\n gameNum = 2;\r\n break;\r\n case \"game4result\":\r\n gameNum = 3;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (thisResult === \"W\") {\r\n valResult = valWin;\r\n this.props.location.matchObj.games[gameNum].player1Score = 1;\r\n this.props.location.matchObj.games[gameNum].player2Score = 0;\r\n } else if (thisResult === \"L\") {\r\n valResult = valLoss;\r\n this.props.location.matchObj.games[gameNum].player1Score = 0;\r\n this.props.location.matchObj.games[gameNum].player2Score = 1;\r\n } else if (thisResult === \"W2\") {\r\n valResult = valLoss;\r\n this.props.location.matchObj.games[gameNum].player1Score = 1;\r\n this.props.location.matchObj.games[gameNum].player2Score = 1;\r\n } else {\r\n valResult = valDraw\r\n this.props.location.matchObj.games[gameNum].player1Score = 0.5;\r\n this.props.location.matchObj.games[gameNum].player2Score = 0.5;\r\n }\r\n\r\n this.props.location.matchObj.games[gameNum].result = valResult;\r\n\r\n switch (action.name) {\r\n case \"game1result\":\r\n this.setState({ g1r: resultOptions.find(obj => obj.value === valResult) });\r\n break;\r\n case \"game2result\":\r\n this.setState({ g2r: resultOptions.find(obj => obj.value === valResult) });\r\n break;\r\n case \"game3result\":\r\n this.setState({ g3r: resultOptions.find(obj => obj.value === valResult) });\r\n break;\r\n case \"game4result\":\r\n this.setState({ g4r: resultOptions.find(obj => obj.value === valResult) });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n onChange = e => {\r\n e.preventDefault();\r\n //console.log(\"changefield\", e.target.name);\r\n\r\n if (e !== null) {\r\n var newValue = e.target.value;\r\n\r\n var newMatchObj = this.props.location.matchObj;\r\n switch (e.target.name) {\r\n case \"team1Score\":\r\n newMatchObj.team1Score = parseFloat(newValue);\r\n break;\r\n case \"team2Score\":\r\n newMatchObj.team2Score = parseFloat(newValue);\r\n break;\r\n case \"thisRound\":\r\n newMatchObj.thisRound = parseInt(newValue);\r\n break;\r\n default:\r\n break;\r\n }\r\n this.props.location.matchObj = newMatchObj;\r\n //this.setState({ matchObj: newMatchObj });\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return ;\r\n }\r\n\r\n var myMatch = this.props.location.matchObj;\r\n var isNewMode = this.props.location.isNew;\r\n\r\n return (\r\n
\r\n \r\n MHSCL Admin - Edit Match\r\n \r\n\r\n \r\n {this.state.alertText}\r\n \r\n\r\n {isNewMode ?

Create Match

:

Edit Match (#{myMatch.id})

}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Round Number\r\n \r\n
Team 1 (White)\r\n \r\n Team 2 (Black)\r\n \r\n
Team 1 Score\r\n \r\n Team 2 Score\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bd{myMatch.team1Name}Result{myMatch.team2Name}
1\r\n \r\n \r\n
2\r\n \r\n \r\n
3\r\n \r\n \r\n
4\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n   \r\n \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 ReactGA from 'react-ga';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet'\r\nimport { GOOGLE_ANALYTICS_API, customStyles } from './constants';\r\nimport { Form, Button, Input, Alert, Label } from 'reactstrap';\r\nimport Select from 'react-select'\r\nimport '../styles/editpage.css';\r\n\r\n\r\nexport class EditPlayer extends Component {\r\n state = {\r\n redirect: false,\r\n alertVisible: false,\r\n alertText: '',\r\n alertColor: '',\r\n teamsList: [],\r\n team1: null,\r\n exclude: false\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.getItem(\"mhscl-user\") === null) {\r\n this.setState({ redirect: true });\r\n }\r\n }\r\n\r\n goBack = () => {\r\n this.props.history.push('/Players')\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n //console.log(\"Loading\", this.props.location.playerObj);\r\n this.getTeams();\r\n }\r\n\r\n handleFailureAlert(textMsg) {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"danger\",\r\n alertText: textMsg\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 5000);\r\n }\r\n\r\n handleSuccessAlert() {\r\n this.setState({\r\n alertVisible: true,\r\n alertColor: \"success\",\r\n alertText: \"Your changes have been successfully saved\"\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 3000);\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'EditPlayer';\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + localStorage.getItem('mhscl-user');\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n getTeams() {\r\n fetch('api/Admin/TeamsForDropdown')\r\n .then(res => res.json())\r\n .then(res => this.setState({ teamsList: res }))\r\n .then(() => { this.loadPlayerObj() })\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n loadPlayerObj() {\r\n var myPlayer = this.props.location.playerObj;\r\n this.setState({\r\n team1: this.state.teamsList.find(x => x.value === myPlayer.teamId),\r\n exclude: myPlayer.excludeFromStandings\r\n });\r\n }\r\n\r\n validateData() {\r\n var myPlayer = this.props.location.playerObj;\r\n console.log(\"Validating\");\r\n if (isNaN(myPlayer.rating)) {\r\n console.log(\"Warning -- rating not a number\");\r\n this.handleFailureAlert(\"Integer is required for the Rating field\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n savePlayer() {\r\n var myPlayer = this.props.location.playerObj;\r\n console.log(\"Save: \", myPlayer);\r\n\r\n fetch('api/Admin/SavePlayer/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n id: parseInt(myPlayer.id),\r\n rating: Number(myPlayer.rating),\r\n firstName: myPlayer.firstName,\r\n lastName: myPlayer.lastName,\r\n lichessUsername: myPlayer.lichessUsername,\r\n excludeFromStandings: myPlayer.excludeFromStandings,\r\n teamId: myPlayer.teamId\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((res) => {\r\n var newid = res;\r\n this.props.location.playerObj.id = parseInt(newid);\r\n })\r\n .then(this.handleSuccessAlert())\r\n .catch(err => console.log(err));\r\n }\r\n\r\n submitEdit = e => {\r\n e.preventDefault();\r\n if (!this.validateData())\r\n return;\r\n this.savePlayer();\r\n }\r\n\r\n handleChange = e => {\r\n if (e !== null) {\r\n console.log(e.target.value + \" (\" + e.target.name + \")\");\r\n var newValue = e.target.value;\r\n switch (e.target.name) {\r\n case \"firstName\":\r\n this.props.location.playerObj.firstName = newValue;\r\n break;\r\n case \"lastName\":\r\n this.props.location.playerObj.lastName = newValue;\r\n break;\r\n case \"rating\":\r\n this.props.location.playerObj.rating = newValue;\r\n break;\r\n case \"username\":\r\n this.props.location.playerObj.lichessUsername = newValue;\r\n break;\r\n case \"exclude\":\r\n this.props.location.playerObj.excludeFromStandings = e.target.checked;\r\n this.setState({ exclude: e.target.checked });\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n handleTeamChange = (e, action) => {\r\n if (e !== null) {\r\n var newObj = this.props.location.playerObj;\r\n\r\n var curTeamId = e.value;\r\n newObj.teamId = curTeamId;\r\n this.setState({ team1: this.state.teamsList.find(x => x.value === curTeamId) });\r\n\r\n this.props.location.playerObj = newObj;\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return ;\r\n }\r\n\r\n var myPlayer = this.props.location.playerObj;\r\n var title = \"Add New Player\";\r\n if (Number(myPlayer.id) > 0)\r\n title = \"Edit Player (\" + myPlayer.playerName + \")\";\r\n\r\n return (\r\n
\r\n \r\n MHSCL Admin - Edit Player\r\n \r\n\r\n \r\n {this.state.alertText}\r\n \r\n\r\n

{title}

\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\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 ReactGA from 'react-ga';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet'\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Form, Button, Input, Alert } from 'reactstrap';\r\nimport Select from 'react-select'\r\nimport '../styles/editpage.css';\r\n\r\nconst resultOptions = [\r\n { value: '', label: '' },\r\n { value: 'W', label: '1 - 0' },\r\n { value: 'D', label: '0.5 - 0.5' },\r\n { value: 'L', label: '0 - 1' }\r\n]\r\n\r\nconst customStyles = {\r\n option: (base, state) => ({\r\n ...base,\r\n borderBottom: \"1px dotted purple\",\r\n color: \"black\",\r\n textAlign: \"left\",\r\n cursor: \"pointer\",\r\n width: \"300px\"\r\n }),\r\n div: (base, state) => ({\r\n ...base,\r\n color: \"purple\",\r\n }),\r\n input: () => ({\r\n fontSize: 13\r\n }),\r\n control: (base, state) => ({\r\n ...base,\r\n color: \"black\",\r\n borderRadius: state.isFocused ? \"3px 3px 0 0\" : 3,\r\n boxShadow: state.isFocused ? null : null,\r\n \"&:hover\": {\r\n borderColor: \"blue\"\r\n }\r\n }),\r\n menu: base => ({\r\n ...base,\r\n borderRadius: 0,\r\n marginTop: 0\r\n }),\r\n menuList: base => ({\r\n ...base,\r\n padding: 0\r\n })\r\n};\r\n\r\nexport class EditAlternateGame extends Component {\r\n state = {\r\n g1p1: null,\r\n g1p2: null,\r\n g1r: null,\r\n p1Exclude: false,\r\n p2Exclude: false,\r\n playersList: [],\r\n redirect: false,\r\n boardNum: 0,\r\n round: 0,\r\n alertVisible: false,\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.getItem(\"mhscl-user\") === null) {\r\n console.log(\"Redirect\", \"true\");\r\n this.setState({ redirect: true });\r\n } else {\r\n console.log(\"Redirect\", \"false\");\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n\r\n this.setState({ gameObj: this.props.location.gameObj });\r\n this.setState({ round: this.props.location.round });\r\n this.getPlayers();\r\n this.loadGameResults();\r\n }\r\n\r\n goBack = () => {\r\n this.props.history.push('/Games')\r\n }\r\n\r\n handleSuccessAlert() {\r\n this.setState({\r\n alertVisible: true\r\n });\r\n\r\n setTimeout(() => {\r\n this.setState({\r\n alertVisible: false\r\n });\r\n }, 3000);\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'EditAlternateGame';\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + localStorage.getItem('mhscl-user');\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n loadGameResults() {\r\n var myGame = this.props.location.gameObj;\r\n console.log(\"Game\", myGame);\r\n this.setState({\r\n g1r: resultOptions.find(obj => obj.label === myGame.result),\r\n p1Exclude: myGame.player1ExcludeFromScore,\r\n p2Exclude: myGame.player2ExcludeFromScore,\r\n boardNum: myGame.boardNum\r\n });\r\n }\r\n\r\n loadSavedPlayers() {\r\n var myGame = this.props.location.gameObj;\r\n this.setState({\r\n g1p1: this.state.playersList.find(obj => obj.value === parseInt(myGame.player1Id)),\r\n g1p2: this.state.playersList.find(obj => obj.value === parseInt(myGame.player2Id))\r\n });\r\n }\r\n\r\n getPlayers() {\r\n fetch('api/Admin/Players')\r\n .then(res => res.json())\r\n .then(res => this.setState({ playersList: res }))\r\n .then(() => { this.loadSavedPlayers() })\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n saveGame() {\r\n var byePlayer = 382;\r\n var myGame = this.props.location.gameObj;\r\n var myMatchId = myGame.matchId;\r\n\r\n //If Match ID = -1, then assume this is a new game\r\n if (myGame.id === 0) {\r\n myMatchId = this.props.location.round;\r\n }\r\n console.log(\"Save: \", myMatchId);\r\n if (myGame.player1Id === null) myGame.player1Id = byePlayer;\r\n if (myGame.player2Id === null) myGame.player2Id = byePlayer;\r\n\r\n fetch('api/Admin/SaveAlternateGame/', {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n matchId: myMatchId,\r\n boardNum: Number(myGame.boardNum),\r\n id: myGame.id,\r\n player1Id: myGame.player1Id.toString(),\r\n player1Color: \"W\",\r\n player1Score: Number(myGame.player1Score),\r\n player1Team: 0,\r\n player1ExcludeFromScore: myGame.player1ExcludeFromScore,\r\n player2Id: myGame.player2Id.toString(),\r\n player2Color: \"B\",\r\n player2Score: Number(myGame.player2Score),\r\n player2Team: 0,\r\n player2ExcludeFromScore: myGame.player2ExcludeFromScore,\r\n })\r\n })\r\n .then(res => res.json())\r\n .then((res) => {\r\n var newid = res;\r\n this.props.location.gameObj.id = parseInt(newid);\r\n })\r\n .then(this.handleSuccessAlert())\r\n .catch(err => console.log(err));\r\n }\r\n\r\n submitEdit = e => {\r\n e.preventDefault();\r\n this.saveGame();\r\n }\r\n\r\n\r\n handlePlayerChange = (e, action) => {\r\n if (e !== null) {\r\n //console.log(e.value + \" (\" + e.label + \")\");\r\n var newPlayer = e.value;\r\n switch (action.name) {\r\n case \"game1player1\":\r\n this.props.location.gameObj.player1Id = newPlayer;\r\n this.setState({ g1p1: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n case \"game1player2\":\r\n this.props.location.gameObj.player2Id = e.value;\r\n this.setState({ g1p2: this.state.playersList.find(obj => obj.value === parseInt(newPlayer)) });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n handleBoardChange = (e) => {\r\n if (e !== null) {\r\n var newValue = e.target.value;\r\n console.log(e.target.name + \":\" + newValue);\r\n\r\n this.props.location.gameObj.boardNum = newValue;\r\n this.setState({ boardNum: newValue });\r\n }\r\n }\r\n\r\n handleExcludeChange = (e) => {\r\n if (e !== null) {\r\n var newValue = e.target.checked;\r\n console.log(e.target.name + \":\" + newValue);\r\n switch (e.target.name) {\r\n case \"player1Exclude\":\r\n this.props.location.gameObj.player1ExcludeFromScore = newValue;\r\n this.setState({ p1Exclude: newValue });\r\n break;\r\n case \"player2Exclude\":\r\n this.props.location.gameObj.player2ExcludeFromScore = newValue;\r\n this.setState({ p2Exclude: newValue });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n handleResultChange = (e, action) => {\r\n if (e !== null) {\r\n //console.log(e.value + \" (\" + e.label + \")\");\r\n var thisResult = e.value;\r\n var valWin = \"1 - 0\";\r\n var valLoss = \"0 - 1\";\r\n var valDraw = \"0.5 - 0.5\";\r\n var valResult = \"\";\r\n\r\n if (thisResult === \"W\") {\r\n valResult = valWin;\r\n this.props.location.gameObj.player1Score = 1;\r\n this.props.location.gameObj.player2Score = 0;\r\n } else if (thisResult === \"L\") {\r\n valResult = valLoss;\r\n this.props.location.gameObj.player1Score = 0;\r\n this.props.location.gameObj.player2Score = 1;\r\n } else {\r\n valResult = valDraw\r\n this.props.location.gameObj.player1Score = 0.5;\r\n this.props.location.gameObj.player2Score = 0.5;\r\n }\r\n\r\n this.props.location.gameObj.result = valResult;\r\n\r\n switch (action.name) {\r\n case \"game1result\":\r\n this.setState({ g1r: resultOptions.find(obj => obj.value === valResult) });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) {\r\n return ;\r\n }\r\n\r\n var myGame = this.props.location.gameObj;\r\n var title = \"Edit Alternate Game (#\" + myGame.id + \")\";\r\n if (Number(myGame.id) === 0)\r\n title = \"Add Alternate Game (Round \" + this.props.location.round + \")\";\r\n\r\n return (\r\n
\r\n \r\n MHSCL Admin - Edit Alternate Game\r\n \r\n\r\n \r\n Your changes have been successfully saved\r\n \r\n\r\n

{title}

\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
BdWhiteExclude ScoreResultExclude ScoreBlack
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\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 { Table } from 'semantic-ui-react'\r\nimport ReactGA from 'react-ga';\r\nimport { GOOGLE_ANALYTICS_API } from './constants';\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport class Analytics extends Component {\r\n state = {\r\n data: [],\r\n dataViews: [],\r\n dataUsers: [],\r\n admin: false,\r\n seasonTitle: ''\r\n }\r\n\r\n componentDidMount() {\r\n this.logPageHit();\r\n this.getAccessLog();\r\n this.getDailyViewLog();\r\n this.getDailyUserLog();\r\n this.getSettings();\r\n\r\n if (localStorage.getItem(\"mhscl-user\") !== null) {\r\n this.setState({ admin: true });\r\n }\r\n }\r\n\r\n getSettings() {\r\n fetch('api/Admin/Setting/1')\r\n .then(res => res.json())\r\n .then(res => this.setState({ seasonTitle: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getAccessLog() {\r\n fetch('api/Admin/AccessLog')\r\n .then(res => res.json())\r\n .then(res => this.setState({ data: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getDailyViewLog() {\r\n fetch('api/Admin/DailyViewLog')\r\n .then(res => res.json())\r\n .then(res => this.setState({ dataViews: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n getDailyUserLog() {\r\n fetch('api/Admin/DailyUserLog')\r\n .then(res => res.json())\r\n .then(res => this.setState({ dataUsers: res }))\r\n .catch(err => console.log(\"ERROR:\", err));\r\n }\r\n\r\n logPageHit() {\r\n var pagename = 'Analytics';\r\n var user = localStorage.getItem('mhscl-user');\r\n ReactGA.initialize(GOOGLE_ANALYTICS_API);\r\n ReactGA.pageview(pagename);\r\n var url = 'api/Admin/LogPageHit/' + pagename + '/' + user;\r\n fetch(url, { method: 'post' });\r\n }\r\n\r\n render() {\r\n const { data, dataViews, dataUsers, seasonTitle } = this.state\r\n\r\n return (\r\n
\r\n \r\n Analytics for the {seasonTitle} Minnesota High School Chess League\r\n \r\n\r\n

Page Views

\r\n\r\n \r\n \r\n \r\n Date\r\n Count\r\n \r\n \r\n \r\n {dataViews.map(logItem => (\r\n \r\n \r\n {logItem.logDayDisplay}\r\n \r\n \r\n {logItem.cnt}\r\n \r\n \r\n ))}\r\n \r\n
\r\n\r\n

Distinct Users

\r\n\r\n \r\n \r\n \r\n Date\r\n Count\r\n \r\n \r\n \r\n {dataUsers.map(logItem => (\r\n \r\n \r\n {logItem.logDayDisplay}\r\n \r\n \r\n {logItem.cnt}\r\n \r\n \r\n ))}\r\n \r\n
\r\n\r\n

Full Log

\r\n\r\n \r\n \r\n \r\n ID\r\n Timestamp\r\n Page\r\n IP Address\r\n \r\n \r\n \r\n {data.map(logItem => (\r\n \r\n \r\n {logItem.id}\r\n \r\n \r\n {logItem.pageHitTime}\r\n \r\n \r\n {logItem.webPage}\r\n \r\n \r\n {logItem.ipAddress}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import './styles/semantic-ui-css/semantic.min.css'\r\nimport './styles/custom.css'\r\n\r\nimport React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Home';\r\nimport { Rules } from './components/Rules';\r\nimport { About } from './components/About';\r\nimport { Players } from './components/Players';\r\nimport { Games } from './components/Games';\r\nimport { Team } from './components/Team';\r\nimport { Standings } from './components/Standings';\r\nimport { Player } from './components/Player';\r\nimport { Instructions } from './components/Instructions';\r\nimport { Admin } from './components/Admin';\r\nimport { ViewTeams } from './components/ViewTeams';\r\nimport { EditTeam } from './components/EditTeam';\r\nimport { EditMatch } from './components/EditMatch';\r\nimport { EditPlayer } from './components/EditPlayer';\r\nimport { EditAlternateGame } from './components/EditAlternateGame';\r\nimport { Analytics } from './components/Analytics';\r\nimport ClearCache from 'react-clear-cache'\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {({ isLatestVersion, emptyCacheStorage }) => (\r\n
\r\n Latest version: {isLatestVersion ? 'Yes' : emptyCacheStorage()}\r\n
\r\n )}\r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n"],"sourceRoot":""}