diff --git a/couchdb/data/shards/00000000-7fffffff/testdata.1643440069.couch b/couchdb/data/shards/00000000-7fffffff/testdata.1643440069.couch index 538ad22..03b4b56 100644 Binary files a/couchdb/data/shards/00000000-7fffffff/testdata.1643440069.couch and b/couchdb/data/shards/00000000-7fffffff/testdata.1643440069.couch differ diff --git a/pull.sh b/pull.sh deleted file mode 100644 index bddc158..0000000 --- a/pull.sh +++ /dev/null @@ -1 +0,0 @@ -git pull \ No newline at end of file diff --git a/webserver/public/picgoeshard.jpg b/webserver/public/picgoeshard.jpg new file mode 100644 index 0000000..3448472 Binary files /dev/null and b/webserver/public/picgoeshard.jpg differ diff --git a/webserver/src/Pages/InputPage.jsx b/webserver/src/Pages/InputPage.jsx index c4dbec5..f51d687 100644 --- a/webserver/src/Pages/InputPage.jsx +++ b/webserver/src/Pages/InputPage.jsx @@ -1,6 +1,6 @@ import React from "react"; import { useLocalDb } from "../DbContext"; -import "./InputPage.css" +import "./InputPage.css"; // import { Button, Intent, Spinner } from "@blueprintjs/core"; import FormRenderer from "@data-driven-forms/react-form-renderer/form-renderer"; import componentTypes from "@data-driven-forms/react-form-renderer/component-types"; @@ -8,21 +8,7 @@ import componentMapper from "@data-driven-forms/blueprint-component-mapper/compo import FormTemplate from "@data-driven-forms/blueprint-component-mapper/form-template"; import { Formik, FastField, Form } from "formik"; import InputNumberField from "../components/InputNumberField.jsx"; -import { - TextField, - Button, - Grid, - FormRow, - Divider, - Checkbox, - Radio, - FormControlLabel, - FormControl, - FormLabel, - RadioGroup, - IconButton, - InputAdornment, -} from "@material-ui/core"; +import { TextField, Button, Grid, FormRow, Divider, Checkbox, Radio, FormControlLabel, FormControl, FormLabel, RadioGroup, IconButton, InputAdornment } from "@material-ui/core"; import { AddCircleOutline, RemoveCircleOutline } from "@material-ui/icons"; const InputPage = () => { @@ -51,7 +37,7 @@ const InputPage = () => { climb_level: "", alliance: "", defence: "0", - disabled: false + disabled: false, }} validateOnChange="false" onSubmit={(values, { setSubmitting, resetForm }) => { @@ -74,18 +60,10 @@ const InputPage = () => { // resetForm(); //Hah tobad setSubmitting(false); }, 400); - }}> - {({ - values, - setValues, - errors, - touched, - handleChange, - handleBlur, - handleSubmit, - isSubmitting, - }) => ( -
+ }} + > + {({ values, setValues, errors, touched, handleChange, handleBlur, handleSubmit, isSubmitting }) => ( + @@ -97,18 +75,8 @@ const InputPage = () => { Alliance - - } - label="Red" - /> - - } - label="Blue" - /> + } label="Red" /> + } label="Blue" /> @@ -142,36 +110,11 @@ const InputPage = () => { Climbing - - } - label="None" - /> - - } - label="Low" - /> - - } - label="Mid" - /> - - } - label="High" - /> - - } - label="Traversal" - /> + } label="None" /> + } label="Low" /> + } label="Mid" /> + } label="High" /> + } label="Traversal" /> @@ -205,30 +148,15 @@ const InputPage = () => { Defense - } - label="None" - /> + } label="None" /> {/* */} - } - label="Poor" - /> - } - label="Good" - /> } - label="Exceptional" - /> + } label="Poor" /> + } label="Good" /> } label="Exceptional" /> - } - label="Disabled" - /> + } label="Disabled" />
diff --git a/webserver/src/Pages/WelcomePage.css b/webserver/src/Pages/WelcomePage.css index 46b8e2d..66fc706 100644 --- a/webserver/src/Pages/WelcomePage.css +++ b/webserver/src/Pages/WelcomePage.css @@ -3,10 +3,11 @@ margin-left: auto; margin-right: auto; width: 100%; + height: 100%; text-align: center; margin: auto; } .welcome img { - max-width: 100%; + max-width: 50% } diff --git a/webserver/src/Pages/WelcomePage.jsx b/webserver/src/Pages/WelcomePage.jsx index ed13f66..60f21e8 100644 --- a/webserver/src/Pages/WelcomePage.jsx +++ b/webserver/src/Pages/WelcomePage.jsx @@ -1,13 +1,14 @@ -import React from 'react' +import React from "react"; import "./WelcomePage.css"; import "../App.css"; const WelcomePage = () => { - return ( -
-

Welcome to Ridgebotics Scouting Web Application 2022

- -
- ) -} + return ( +
+

Welcome to Ridgebotics Scouting Web Application 2022

+ {/* */} + +
+ ); +}; -export default WelcomePage \ No newline at end of file +export default WelcomePage; diff --git a/webserver/src/ProcessedDataBucket.jsx b/webserver/src/ProcessedDataBucket.jsx index 9396d51..409f3e2 100644 --- a/webserver/src/ProcessedDataBucket.jsx +++ b/webserver/src/ProcessedDataBucket.jsx @@ -1,109 +1,110 @@ export class ProcessedDataBucket { - constructor() { - this.teamData = {}; - this.matchData = {}; - this.updateData = (db) => { - //reset data - this.teamData = {}; - this.matchData = {}; - console.log(db); + constructor() { + this.teamData = {}; + this.matchData = {}; + this.updateData = (db) => { + db.allDocs({ + include_docs: true, + }) + .then((result) => { + //reset data + this.teamData = {}; + this.matchData = {}; - db.allDocs({ - include_docs: true, - }) - .then((result) => { - console.log(result); - result.rows.forEach((dbentry) => { - let doc = dbentry.doc; - console.log(doc); + // console.log(result); + result.rows.forEach((dbentry) => { + let doc = dbentry.doc; + // console.log(doc); - // //if there's no processed data on a team yet, create a default data entry - // if (typeof this.teamData[doc.team_number] === "undefined") { - // this.teamData[doc.team_number] = { - // team_number: doc.team_number, - // games_played: 0, - // data_sets: { - // upper_hub_auto: [], - // lower_hub_auto: [], - // upper_hub: [], - // lower_hub: [], - // match_points: [] - // }, - // climbs_none: 0, - // climbs_low: 0, - // climbs_mid: 0, - // climbs_high: 0, - // climbs_transverse: 0, - // points_average: 0, - // num_disables: 0, - // num_flips: 0, - // fouls: 0, - // fouls_tech: 0, - // red_cards: 0, - // yellow_cards: 0 - // }; - // } + //if there's no processed data on a team yet, create a default data entry + if (typeof this.teamData[doc.team_number] === "undefined") { + this.teamData[doc.team_number] = { + team_number: doc.team_number, + games_played: 0, + data_sets: { + upper_hub_auto: [], + lower_hub_auto: [], + upper_hub_teleop: [], + lower_hub_teleop: [], + match_points: [], + }, + climbs_none: 0, + climbs_low: 0, + climbs_mid: 0, + climbs_high: 0, + climbs_transverse: 0, + points_average: 0, + num_disables: 0, + num_flips: 0, + fouls: 0, + fouls_tech: 0, + red_cards: 0, + yellow_cards: 0, + }; + } - // //add this game's data to the respective team data: - // let thisTeamData = this.teamData[doc.team_number]; - // thisTeamData.games_played++; + //add this game's data to the respective team data: + let thisTeamData = this.teamData[doc.team_number]; + thisTeamData.games_played++; - // let match_points - // = parseInt(doc.taxi_auto) - // + parseInt(doc.upper_hub_auto) * 4 - // + parseInt(doc.lower_hub_auto) * 2 - // + parseInt(doc.upper_hub_teleop) * 2 - // + parseInt(doc.lower_hub_teleop) * 1 - // + (parseInt(doc.climb_level) == 0 ? 4 : 0) - // + (parseInt(doc.climb_level) == 1 ? 6 : 0) - // + (parseInt(doc.climb_level) == 2 ? 10 : 0) - // + (parseInt(doc.climb_level) == 3 ? 15 : 0) - // ; + let match_points = + (parseInt(doc.taxi_auto) ? 2 : 0) + + parseInt(doc.upper_hub_auto) * 4 + + parseInt(doc.lower_hub_auto) * 2 + + parseInt(doc.upper_hub_teleop) * 2 + + parseInt(doc.lower_hub_teleop) * 1 + + (parseInt(doc.climb_level) == 0 ? 4 : 0) + + (parseInt(doc.climb_level) == 1 ? 6 : 0) + + (parseInt(doc.climb_level) == 2 ? 10 : 0) + + (parseInt(doc.climb_level) == 3 ? 15 : 0); + //data sets + thisTeamData.data_sets.upper_hub_auto.push(parseInt(doc.upper_hub_auto)); + thisTeamData.data_sets.lower_hub_auto.push(parseInt(doc.lower_hub_auto)); + thisTeamData.data_sets.upper_hub_teleop.push(parseInt(doc.upper_hub_teleop)); + thisTeamData.data_sets.lower_hub_teleop.push(parseInt(doc.lower_hub_teleop)); + thisTeamData.data_sets.match_points.push(match_points); - // //data sets - // thisTeamData.data_sets.upper_hub_auto.push(parseInt(doc.upper_hub_auto)); - // thisTeamData.data_sets.lower_hub_auto.push(parseInt(doc.lower_hub_auto)); - // thisTeamData.data_sets.upper_hub.push(parseInt(doc.upper_hub)); - // thisTeamData.data_sets.lower_hub.push(parseInt(doc.lower_hub)); - // thisTeamData.data_sets.match_points.push(match_points); + //climb data + switch (parseInt(doc.climb_level)) { + case 0: + thisTeamData.climbs_none++; + break; + case 1: + thisTeamData.climbs_low++; + break; + case 2: + thisTeamData.climbs_mid++; + break; + case 3: + thisTeamData.climbs_high++; + break; + case 4: + thisTeamData.climbs_transverse++; + break; + default: + console.error("Invalid Climb Level (how did this even happen lol?): " + doc.climb_level); + break; + } - // //climb data - // switch (parseInt(doc.climb_level)) { - // case 0: - // thisTeamData.climbs_none++; - // break; - // case 1: - // thisTeamData.climbs_low++; - // break; - // case 2: - // thisTeamData.climbs_mid++; - // break; - // case 3: - // thisTeamData.climbs_high++; - // break; - // case 4: - // thisTeamData.climbs_transverse++; - // break; - // default: - // console.error('Invalid Climb Level (how did this even happen lol?): ' + doc.climb_level); - // break; - // } - - // //misc data - // thisTeamData.num_disables += doc.disabled ? 1 : 0; - // thisTeamData.num_flips += doc.flipped ? 1 : 0; - // thisTeamData.fouls += parseInt(doc.fouls); - // thisTeamData.fouls_tech += parseInt(doc.fouls_tech); - // thisTeamData.red_cards += parseInt(doc.red_cards); - // thisTeamData.yellow_cards += parseInt(doc.yellow_cards); - - // console.log(thisTeamData); - }); - }) - .catch((err) => { - console.log("Error while processing data!"); - console.error(err); - }); - }; - } -} \ No newline at end of file + //misc data + thisTeamData.num_disables += doc.disabled ? 1 : 0; + thisTeamData.num_flips += doc.flipped ? 1 : 0; + thisTeamData.fouls += parseInt(doc.fouls); + thisTeamData.fouls_tech += parseInt(doc.fouls_tech); + thisTeamData.red_cards += parseInt(doc.red_cards); + thisTeamData.yellow_cards += parseInt(doc.yellow_cards); + //sum of all points in the match points data set for this team + let total_points = thisTeamData.data_sets.match_points.reduce(function (accum, current) { + return accum + current; + }, 0); + thisTeamData.points_average = total_points / thisTeamData.games_played; + }); + console.log(this.teamData); + }) + .catch((err) => { + console.log("Error while processing data!"); + console.error(err); + }); + }; + } +} diff --git a/webserver/src/components/Navigation/Toolbar/Toolbar.js b/webserver/src/components/Navigation/Toolbar/Toolbar.js index 1a9b950..ab4b306 100644 --- a/webserver/src/components/Navigation/Toolbar/Toolbar.js +++ b/webserver/src/components/Navigation/Toolbar/Toolbar.js @@ -10,7 +10,7 @@ const Toolbar = props => {