Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
544800e
WIP Recon
P0tat079 Feb 3, 2025
4d1b986
Barchart WIP
P0tat079 Feb 8, 2025
9688f76
Team Numbers
mochiii-ai Feb 8, 2025
17bd65f
Recon formatting
P0tat079 Feb 8, 2025
a3239ae
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 8, 2025
e85243b
IMAGES ARE IN BESTIES
mochiii-ai Feb 9, 2025
41aa253
Wip formatting
P0tat079 Feb 9, 2025
263fab5
Formatting Done
P0tat079 Feb 9, 2025
569fe57
Merge pull request #26 from 4201VitruvianBots/15-super-scout-human-pl…
Mevanessa Feb 9, 2025
637d4d0
Auto progress
P0tat079 Feb 10, 2025
88295a2
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 10, 2025
550bee9
Human Accuracy In!
mochiii-ai Feb 10, 2025
c4b0e81
Digit Limit
mochiii-ai Feb 10, 2025
0a20d09
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 10, 2025
a605dad
Fixed Null Error
mochiii-ai Feb 10, 2025
f2a6f93
added totals for coral & algae
Feb 11, 2025
e2ef0b7
change tier to level
Feb 11, 2025
656d67f
comment avg => add total
Feb 11, 2025
481afb6
Merge branch '23-field-auto' into new-recon
Feb 11, 2025
224554d
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 12, 2025
1af7ab3
for the bar chart
Feb 12, 2025
ecfb473
better bar chart
P0tat079 Feb 12, 2025
618f199
Autos Start
mochiii-ai Feb 15, 2025
fd68656
maybe progress
P0tat079 Feb 15, 2025
f4437a1
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 15, 2025
66ecaab
values for auto
Feb 15, 2025
ac37134
Recon Auto Box
kat3141 Feb 15, 2025
186ff59
Merge remote-tracking branch 'origin/new-recon' into new-recon
kat3141 Feb 15, 2025
90bf8a0
match Outlier WIP
Feb 15, 2025
48f6037
change deposit values
Feb 15, 2025
a0ab42a
WIP Recon
P0tat079 Feb 3, 2025
0c2e207
Barchart WIP
P0tat079 Feb 8, 2025
e9419d0
Recon formatting
P0tat079 Feb 8, 2025
c49c80e
Team Numbers
mochiii-ai Feb 8, 2025
15a4d69
IMAGES ARE IN BESTIES
mochiii-ai Feb 9, 2025
732cafa
Wip formatting
P0tat079 Feb 9, 2025
96609ed
Formatting Done
P0tat079 Feb 9, 2025
4b490ee
Added Fail Count
P0tat079 Feb 1, 2025
af462cc
super scout values
Feb 5, 2025
afb8a08
Human Accuracy WIP
mossboss64 Feb 5, 2025
1957562
human button works in backend :3
Feb 8, 2025
5e8bd34
human accuracy WIP
Feb 8, 2025
b078964
human accuracy calculation
Feb 8, 2025
cd08bcb
human accuracy part 2
Feb 9, 2025
4881c6e
Human Accuracy In!
mochiii-ai Feb 10, 2025
7c6fce5
Digit Limit
mochiii-ai Feb 10, 2025
367fb41
Auto progress
P0tat079 Feb 10, 2025
964b5bd
Fixed Null Error
mochiii-ai Feb 10, 2025
520e46e
added totals for coral & algae
Feb 11, 2025
40f27ef
change tier to level
Feb 11, 2025
fed4866
comment avg => add total
Feb 11, 2025
e72b3c3
for the bar chart
Feb 12, 2025
95e3fda
better bar chart
P0tat079 Feb 12, 2025
84c82d4
Autos Start
mochiii-ai Feb 15, 2025
0849d1f
Recon Auto Box
kat3141 Feb 15, 2025
7b865b4
maybe progress
P0tat079 Feb 15, 2025
cd5a8ad
values for auto
Feb 15, 2025
9117d4b
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 15, 2025
715d5a4
WIP Barcharts
P0tat079 Feb 16, 2025
dfee5e2
WIP
P0tat079 Feb 16, 2025
9d096c8
Backend+Frontend for Match n Super Datas
P0tat079 Feb 17, 2025
f68138a
fixed autos match + recon
mochiii-ai Feb 17, 2025
bf5985a
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 17, 2025
c6ecde7
fouls total
Feb 18, 2025
abb4255
text for super scouting buttons (forgot to push)
mossboss64 Feb 19, 2025
0593c91
Merge remote-tracking branch 'origin/new-recon' into new-recon
mossboss64 Feb 19, 2025
d3556cc
Fixed Match Checkboxes
mochiii-ai Feb 19, 2025
74c83c7
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 19, 2025
2d43474
Super Sign-In Fix
mochiii-ai Feb 19, 2025
5f0e37a
Merge branch '15-super-scout-human-player-column' into new-recon
mochiii-ai Feb 19, 2025
fd5e72a
Possibly solution
P0tat079 Feb 19, 2025
c64883e
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 19, 2025
a8c954d
match outlier pt 1
Feb 19, 2025
6c66bd3
testing coral
mochiii-ai Feb 20, 2025
b99497d
fixing spelling errors :(
Feb 20, 2025
20ce7ca
Merge remote-tracking branch 'origin/27-match-outliers' into new-recon
Feb 20, 2025
9e799f8
Merge branch 'test-match' into new-recon
Feb 20, 2025
122815b
fixing small whoopies
Feb 20, 2025
f683154
testing recon autos
mochiii-ai Feb 22, 2025
7e67d51
something
P0tat079 Feb 22, 2025
82003f9
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 22, 2025
07d978f
barchart still no done
P0tat079 Feb 23, 2025
4f31e3d
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 23, 2025
137488a
barchart progress?
P0tat079 Feb 23, 2025
f45f26e
Merge remote-tracking branch 'origin/new-recon' into new-recon
P0tat079 Feb 23, 2025
92674ce
IT WORKS
P0tat079 Feb 26, 2025
cbc9742
Legend
P0tat079 Feb 26, 2025
f099472
Autos Alliance Flip WIP
mochiii-ai Feb 26, 2025
d1fe7f7
Merge remote-tracking branch 'origin/new-recon' into new-recon
mochiii-ai Feb 26, 2025
dcf0396
NATHAN DUPONT ROCKS :D
mochiii-ai Feb 27, 2025
e8af696
AUTOS ACTUALLY COMPLETED
mochiii-ai Feb 28, 2025
2857193
Merge branch 'main' into new-recon
Mevanessa Feb 28, 2025
ef0e7d6
recon fixes so it doesn't explode
Feb 28, 2025
4ca172c
change label on ss (-5 bruh)
Feb 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion client/src/apps/admin/components/ScouterTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function ScouterTable({ scouters }: { scouters: StatusReport[] }) {
) as Record<RobotPosition | SuperPosition, StatusReport[]>;

return (
<div className='grid grid-cols-4 gap-2'>
<div className='grid grid-cols-5 gap-2'>
<ScouterCard scouter={sortedScouter.red_1} title='Red 1' red />
<ScouterCard scouter={sortedScouter.red_2} title='Red 2' red />
<ScouterCard scouter={sortedScouter.red_3} title='Red 3' red />
Expand Down
151 changes: 97 additions & 54 deletions client/src/apps/match/MatchApp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ interface MatchScores {
teleL4: number;
teleAlgaenetRobot: number;
teleProcessor: number;
teleRemoved: number;
}
const defaultScores: MatchScores = {
autoL1: 0,
Expand All @@ -55,7 +56,8 @@ const defaultScores: MatchScores = {
teleL3: 0,
teleL4: 0,
teleAlgaenetRobot: 0,
teleProcessor: 0
teleProcessor: 0,
teleRemoved: 0
};

function MatchApp() {
Expand All @@ -65,11 +67,11 @@ function MatchApp() {
const [matchNumber, setMatchNumber] = useState<number>();
const [count, setCount] = useState<MatchScores>(defaultScores);
const [leave, setLeave] = useState(false); //false=Not Left, true=Left
const [left, setLeft] = useState(false);
const [middle, setMiddle] = useState(false);
const [right, setRight] = useState(false);
const [leftSource, setleftSource] = useState(false);
const [rightSource, setrightSource] = useState(false);
const [start1, setStart1] = useState(false);
const [start2, setStart2] = useState(false);
const [start3, setStart3] = useState(false);
const [source1, setSource1] = useState(false);
const [source2, setSource2] = useState(false);
const [ground1, setGround1] = useState(false);
const [ground2, setGround2] = useState(false);
const [ground3, setGround3] = useState(false);
Expand Down Expand Up @@ -107,16 +109,16 @@ function MatchApp() {
},
leftStartingZone: leave,
startingZone: {
left: left,
middle: middle,
right: right,
start1: start1,
start2: start2,
start3: start3,
},
pickupLocation: {
leftSource: leftSource,
rightSource: rightSource,
source1: source1,
source2: source2,
ground1: ground1,
ground2: ground2,
round3: ground3
ground3: ground3
},
placement: {
deposit1: deposit1,
Expand Down Expand Up @@ -184,16 +186,16 @@ function MatchApp() {
},
leftStartingZone: leave,
startingZone: {
left: left,
middle: middle,
right: right,
start1: start1,
start2: start2,
start3: start3,
},
pickupLocation: {
leftSource: leftSource,
rightSource: rightSource,
source1: source1,
source2: source2,
ground1: ground1,
ground2: ground2,
round3: ground3
ground3: ground3
},
placement: {
deposit1: deposit1,
Expand Down Expand Up @@ -227,22 +229,22 @@ function MatchApp() {
},
climb: climbPosition,
};

sendQueue('/data/match', data);
setCount(defaultScores);
setClimbPosition('none');
setLeave(false);
setLeft(false);
setMiddle(false);
setRight(false);
setStart1(false);
setStart2(false);
setStart3(false);
setDeposit1(false);
setDeposit2(false);
setDeposit3(false);
setDeposit4(false);
setDeposit5(false);
setDeposit6(false);
setleftSource(false);
setrightSource(false);
setSource1(false);
setSource2(false);
setGround1(false);
setGround2(false);
setGround3(false);
Expand Down Expand Up @@ -294,7 +296,6 @@ function MatchApp() {
}
}

const [handleCheck ] = useState(false);

return (
<div className= {`${ toggleState ? 'bg-[#171c26]' : 'bg-white'}`}>
Expand Down Expand Up @@ -404,52 +405,93 @@ function MatchApp() {

<img src={`${blueAlliance ? 'bluesidematch.png': 'redsidematch.png'}`} width={500} height={600} className='justify-self-center my-7'></img>
{ <CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance ? '' :'bottom-[120px] right-[700px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={ground1}
onChange={setGround1}
className={`${blueAlliance ? 'top-[660px] left-[285px]' :'top-[675px] left-[455px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
// ground 1
}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance ? '' :'bottom-[230px] right-[395px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={ground2}
onChange={setGround2}
className={`${blueAlliance ? 'top-[740px] left-[285px]' :'top-[760px] left-[455px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* ground 2 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance ? '' :'bottom-[135px] right-[395px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={ground3}
onChange={setGround3}
className={`${blueAlliance ? 'top-[820px] left-[285px]' :'top-[840px] left-[455px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* ground 3 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance? '' :'bottom-[390px] right-[365px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={source1}
onChange={setSource1}
className={`${blueAlliance? 'top-[570px] left-[250px]' :'top-[585px] left-[485px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* source 1 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance? '' :'bottom-[315px] right-[395px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={source2}
onChange={setSource2}
className={`${blueAlliance? 'top-[910px] left-[250px]' :'top-[930px] left-[485px] ' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* source 2 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance? 'bottom-[100px] right-[180px] ' :'bottom-[230px] left-[32px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={start1}
onChange={setStart1}
className={`${blueAlliance? 'top-[645px] left-[565px] ' :'top-[660px] left-[160px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* starting location 1 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance? 'bottom-[100px] right-[160px] ' :'bottom-[345px] left-[30px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={start2}
onChange={setStart2}
className={`${blueAlliance? 'top-[740px] left-[565px]' :'top-[760px] left-[160px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* starting location 2 */}
<CheckBoxMatch
handleChecked={handleCheck}
className={`${blueAlliance? 'bottom-[350px] right-[170px] ' :'bottom-[40px] left-[365px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
checked={start3}
onChange={setStart3}
className={`${blueAlliance? 'top-[835px] left-[565px]' :'top-[858px] left-[160px]' } absolute z-20 h-10 w-10 overflow-hidden rounded-full text-left`}>
</CheckBoxMatch>
{/* starting location 3 */}



<CoralSectionButton selectClassName='bg-green-300 absolute left-[9.01em] top-[51em] h-[1em] w-[4em] rotate-[6.88rad]'
unselectClassName='bg-red-300 absolute left-[9.01em] top-[51em] h-[1em] w-[4em] rotate-[6.88rad]'></CoralSectionButton>
<CoralSectionButton selectClassName='bg-green-300 absolute left-[12.2em] top-[45.2em] h-[1em] w-[4.5em] rotate-[6.88rad]'
unselectClassName='bg-red-300 absolute left-[12.2em] top-[45.2em] h-[1em] w-[4.5em] rotate-[6.88rad]'></CoralSectionButton>
<CoralSectionButton selectClassName='bg-green-300 absolute left-[7.6em] top-[48em] h-[1em] w-[4em] rotate-90'
unselectClassName='bg-red-300 absolute left-[7.6em] top-[48em] h-[1em] w-[4em] rotate-90'></CoralSectionButton>
<CoralSectionButton selectClassName='bg-green-300 absolute left-[14.25em] top-[48.3em] h-[1em] w-[4em] rotate-90'
unselectClassName='bg-red-300 absolute left-[14.25em] top-[48.3em] h-[1em] w-[4em] rotate-90'></CoralSectionButton>
<CoralSectionButton selectClassName='bg-green-300 absolute left-[9.1em] top-[45em] h-[1em] w-[4em] rotate-[2.64rad]'
unselectClassName='bg-red-300 absolute left-[9.1em] top-[45em] h-[1em] w-[4em] rotate-[2.64rad]'></CoralSectionButton>
<CoralSectionButton selectClassName='bg-green-300 absolute left-[12.5em] top-[51.1em] h-[1em] w-[4em] rotate-[2.64rad]'
unselectClassName='bg-red-300 absolute left-[12.5em] top-[51.1em] h-[1em] w-[4em] rotate-[2.64rad]'></CoralSectionButton>
<CoralSectionButton
onChange={setDeposit1}
value={deposit1}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[27.45em] top-[44.3em]':'bg-green-300 absolute left-[20.15em] top-[45.3em]'} h-[1em] w-[4.5em] rotate-[6.83rad]`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[27.45em] top-[44.3em]':'bg-red-300 absolute left-[20.15em] top-[45.3em]'} h-[1em] w-[4.5em] rotate-[6.83rad]`}>
</CoralSectionButton>
<CoralSectionButton
onChange={setDeposit2}
value={deposit2}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[29.4em] top-[47.1em]':'bg-green-300 absolute left-[22em] top-[48.4em]'} h-[1em] w-[4em] rotate-90`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[29.4em] top-[47.1em]':'bg-red-300 absolute left-[22em] top-[48.4em]'} h-[1em] w-[4em] rotate-90`}>
</CoralSectionButton>
<CoralSectionButton
onChange={setDeposit3}
value={deposit3}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[27.6em] top-[49.9em]':'bg-green-300 absolute left-[20.2em] top-[51.1em]'} h-[1em] w-[4em] rotate-[2.6rad]`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[27.6em] top-[49.9em]':'bg-red-300 absolute left-[20.2em] top-[51.1em]'} h-[1em] w-[4em] rotate-[2.6rad]`}>
</CoralSectionButton>
<CoralSectionButton
onChange={setDeposit4}
value={deposit4}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[24.35em] top-[49.9em]':'bg-green-300 absolute left-[16.95em] top-[51em]'} h-[1em] w-[4em] rotate-[6.83rad]`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[24.35em] top-[49.9em]':'bg-red-300 absolute left-[16.95em] top-[51em]'} h-[1em] w-[4em] rotate-[6.83rad]`}>
</CoralSectionButton>
<CoralSectionButton
onChange={setDeposit5}
value={deposit5}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[22.85em] top-[47.3em]':'bg-green-300 absolute left-[15.4em] top-[48.05em]'} h-[1em] w-[4em] rotate-90`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[22.85em] top-[47.3em]':'bg-red-300 absolute left-[15.4em] top-[48.05em]'} h-[1em] w-[4em] rotate-90`}>
</CoralSectionButton>
<CoralSectionButton
onChange={setDeposit6}
value={deposit6}
selectClassName={`${blueAlliance? 'bg-green-300 absolute left-[24.3em] top-[44.4em]':'bg-green-300 absolute left-[17em] top-[45.3em]'} h-[1em] w-[4em] rotate-[2.6rad]`}
unselectClassName={`${blueAlliance? 'bg-red-300 absolute left-[24.3em] top-[44.4em]':'bg-red-300 absolute left-[17em] top-[45.3em]'} h-[1em] w-[4em] rotate-[2.6rad]`}>
</CoralSectionButton>

<p
className={`text-center m-5 ${toggleState ? 'text-white' : 'text-[#171c26]'}`}>
Expand Down Expand Up @@ -496,7 +538,8 @@ function MatchApp() {
</div>

<div>
<div>Queue: {queue.length}</div>
<div className={`${toggleState ? 'text-white' : 'text-[#171c26]'} justify-center text-center`}>
Queue: {queue.length}</div>
<button
onClick={sendAll}
className='rounded-md bg-amber-500 px-2 py-1 text-center mb-5'>
Expand Down
19 changes: 13 additions & 6 deletions client/src/apps/match/components/CheckBoxButton.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@

import { ReactNode } from "react";

function CheckBoxMatch ({
handleChecked,
className
checked,
children,
onChange,
className,
}:
{
handleChecked: boolean;
checked: boolean;
children?:ReactNode;
onChange?: (value: boolean) => void;
className?: string;
}) {
return(
<input
type="checkbox"
checked={checked}
className={` ${className} absolute text-5xl `}
onClick={() => handleChecked}
onChange={event => onChange?.(event.target.checked)}
id='one'
type="checkbox">
>
{children}
</input>
)}
export default CheckBoxMatch;
Expand Down
26 changes: 12 additions & 14 deletions client/src/apps/match/components/CoralSectionButton.tsx
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
import { useState } from "react";


function CoralSectionButton({
selectClassName,
unselectClassName
}:
{
unselectClassName,
onChange,
value,
}: {
selectClassName: string;
unselectClassName: string;
}){
const [selected, setSelected] = useState(false);
onChange: (newValue: boolean) => void;
value: boolean
}) {

function handleSelect() {
if (selected == false) {
setSelected(true);
} else {
setSelected(false);
}
const newValue = !value;
onChange(newValue);
}

// :3
return(
<button
onClick={handleSelect}
className={`${selected? selectClassName : unselectClassName}`}
className={`${value? selectClassName : unselectClassName}`}
/>
)
);
}

export default CoralSectionButton;
2 changes: 1 addition & 1 deletion client/src/apps/match/components/EndGameButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function EndgameButton({
/>
</div>
<br/>
<div className={`relative flex flex-row gap-2 bg-cover bg-center py-2`}>
<div className={`relative justify-center flex flex-row gap-2 bg-cover bg-center py-2`}>
<MultiButton
onChange={handleClimb}
value={climbPosition}
Expand Down
4 changes: 2 additions & 2 deletions client/src/apps/match/components/LeaveButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ function FieldButton({
<div className='flex-col items-center justify-center pr-3'>
<h1 className={`text-4xl ${styleMode ? 'text-white' : 'text-[#171c26]'}`}>Mobility? </h1>
<p className={`${styleMode ? 'text-white' : 'text-[#171c26]'}`}>
The robot must be off the starting completely
<br /> at the end of the match to select yes.
The robot must be completely off the starting
<br /> line at the end of the match to select yes.
</p>
</div>
<MultiButton
Expand Down
Loading