Skip to content
Snippets Groups Projects
Commit 976148c7 authored by Jonas's avatar Jonas
Browse files

add points functionality

parent e9ae7a98
No related branches found
No related tags found
No related merge requests found
import {useState} from "react"; import {useState} from "react";
export default function Tournament() { export default function Tournament() {
const [globalScore, setGlobalScore] = useState(Array(14).fill(0))
function handleChange(score, index) {
const tempCopy = globalScore.slice()
console.log(globalScore)
console.log(score)
tempCopy[index] = score
setGlobalScore(tempCopy)
}
return ( return (
<div style={{display: "flex", flexDirection: "row", gap: "50px"}}> <div style={{display: "flex", flexDirection: "row", gap: "50px"}}>
<div className="firstPhase" style={{display: "flex", flexDirection: "column", gap: "50px"}}> <div className="firstPhase" style={{display: "flex", flexDirection: "column", gap: "50px"}}>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[0]} onScoreChange={handleChange} index={0}/>
<Bracket/> <Bracket value={globalScore[1]} onScoreChange={handleChange} index={1}/>
</div> </div>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[2]} onScoreChange={handleChange} index={2}/>
<Bracket/> <Bracket value={globalScore[3]} onScoreChange={handleChange} index={3}/>
</div> </div>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[4]} onScoreChange={handleChange} index={4}/>
<Bracket/> <Bracket value={globalScore[5]} onScoreChange={handleChange} index={5}/>
</div> </div>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[6]} onScoreChange={handleChange} index={6}/>
<Bracket/> <Bracket value={globalScore[7]} onScoreChange={handleChange} index={7}/>
</div> </div>
</div> </div>
<div className="secondPhase" style={{display: "flex", flexDirection:"column", justifyContent: "space-around"}}> <div className="secondPhase" style={{display: "flex", flexDirection:"column", justifyContent: "space-around"}}>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[8]} onScoreChange={handleChange} index={8}/>
<Bracket/> <Bracket value={globalScore[9]} onScoreChange={handleChange} index={9}/>
</div> </div>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[10]} onScoreChange={handleChange} index={10}/>
<Bracket/> <Bracket value={globalScore[11]} onScoreChange={handleChange} index={11}/>
</div> </div>
</div> </div>
<div className="thirdPhase" style={{display: "flex", alignItems: "center"}}> <div className="thirdPhase" style={{display: "flex", alignItems: "center"}}>
<div className="match"> <div className="match">
<Bracket/> <Bracket value={globalScore[12]} onScoreChange={handleChange} index={12}/>
<Bracket/> <Bracket value={globalScore[13]} onScoreChange={handleChange} index={13}/>
</div> </div>
</div> </div>
</div> </div>
) )
} }
function Bracket({highlight, onScoreChange}) { function Bracket({value, highlight, onScoreChange, index}) {
if (highlight) { if (highlight) {
document.getElementById('bracketWrapper').style.border = "3px solid black" document.getElementById('bracketWrapper').style.border = "3px solid black"
} }
...@@ -51,8 +60,8 @@ function Bracket({highlight, onScoreChange}) { ...@@ -51,8 +60,8 @@ function Bracket({highlight, onScoreChange}) {
<input id="teamName" type="text"/> <input id="teamName" type="text"/>
</div> </div>
<div id="scoreWrapper" style={{display: "flex", flexDirection: "column", marginLeft: "10px"}}> <div id="scoreWrapper" style={{display: "flex", flexDirection: "column", marginLeft: "10px"}}>
<label htmlFor="score" style={{fontSize: "8pt"}}>score</label> <label htmlFor={"score"+index} style={{fontSize: "8pt"}}>score</label>
<input id="score" type="number" style={{width: "35px"}} onChange={() => onScoreChange(document.getElementById('score').value)}/> <input id={"score"+index} type="number" style={{width: "35px"}} value={value} onChange={() => onScoreChange(document.querySelector(`#score${index}`).value, index)}/>
</div> </div>
</div> </div>
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment