Add gentlemans to stage strike

This commit is contained in:
João Ribeiro Bezerra
2023-03-03 11:21:21 +00:00
parent efc5717173
commit 486cf3e582
24 changed files with 498 additions and 109 deletions
+86
View File
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="check-circle"
class="svg-inline--fa fa-check-circle fa-w-16"
role="img"
viewBox="0 0 512 512"
version="1.1"
id="svg4"
sodipodi:docname="stage_gentlemans.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1.3285873"
inkscape:cx="241.98635"
inkscape:cy="276.60959"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-intersection-paths="true"
inkscape:object-paths="true"
inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true"
inkscape:snap-center="true"
inkscape:snap-text-baseline="true"
inkscape:snap-page="true"
inkscape:document-rotation="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<circle
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
id="path835"
cx="256"
cy="256"
r="256" />
<path
id="rect974"
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
sodipodi:nodetypes="sssss" />
<path
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

+3
View File
@@ -84,3 +84,6 @@ body {
.stamp.stage-selected {
background-image: url(./stage_select.svg);
}
.stamp.stage-selected-gentlemans {
background-image: url(./stage_gentlemans.svg);
}
+31 -25
View File
@@ -22,7 +22,7 @@
function IsStageBanned(ruleset, state, stage) {
let banList = GetBannedStages(ruleset, state);
console.log("banList", banList)
console.log("banList", banList);
let found = banList.findIndex((e) => e === stage);
if (found !== -1) {
@@ -32,15 +32,8 @@
}
function IsStageStriked(state, stage, previously = false) {
for (
let i = 0;
i < Object.values(state.strikedStages).length;
i += 1
) {
if (
i === Object.values(state.strikedStages).length - 1 &&
previously
) {
for (let i = 0; i < Object.values(state.strikedStages).length; i += 1) {
if (i === Object.values(state.strikedStages).length - 1 && previously) {
continue;
}
let round = Object.values(state.strikedStages)[i];
@@ -82,30 +75,30 @@
teamName = team.teamName;
}
if(teamName == ""){
teamName = "P"+(t+1)
if (teamName == "") {
teamName = "P" + (t + 1);
}
teamNames.push(teamName);
});
console.log(data.score.teamsSwapped)
console.log(data.score.teamsSwapped);
if(data.score.teamsSwapped == true){
teamNames = teamNames.reverse()
if (data.score.teamsSwapped == true) {
teamNames = teamNames.reverse();
}
console.log(teamNames)
console.log(teamNames);
console.log(data.score.stage_strike)
console.log(data.score.stage_strike);
let allStages = data.score.ruleset.neutralStages;
if(data.score.stage_strike.currGame > 0){
allStages = allStages.concat(data.score.ruleset.counterpickStages)
if (data.score.stage_strike.currGame > 0) {
allStages = allStages.concat(data.score.ruleset.counterpickStages);
}
console.log(allStages)
console.log(allStages);
allStages.forEach((stage) => {
let path = stage.path;
@@ -117,14 +110,21 @@
? `<div class="stage-striked stamp"></div>`
: ""
}
${IsStageBanned(data.score.ruleset, data.score.stage_strike, stage.codename)
${
IsStageBanned(
data.score.ruleset,
data.score.stage_strike,
stage.codename
)
? `<div class="stage-dsr stamp"></div>`
: ""
}
${
data.score.stage_strike.selectedStage &&
data.score.stage_strike.selectedStage == stage.codename
? `<div class="stage-selected stamp"></div>`
? data.score.stage_strike.gentlemans
? `<div class="stage-selected-gentlemans stamp"></div>`
: `<div class="stage-selected stamp"></div>`
: ""
}
</div>
@@ -135,12 +135,18 @@
</div>
${
IsStageStriked(data.score.stage_strike, stage.codename) &&
(data.score.stage_strike.strikedBy[0].includes(stage.codename) ||
data.score.stage_strike.strikedBy[1].includes(stage.codename))
(data.score.stage_strike.strikedBy[0].includes(
stage.codename
) ||
data.score.stage_strike.strikedBy[1].includes(
stage.codename
))
? `<div class="banned-by-name">
<div class="text">
${
data.score.stage_strike.strikedBy[0].includes(stage.codename)
data.score.stage_strike.strikedBy[0].includes(
stage.codename
)
? teamNames[0]
: teamNames[1]
}
+86
View File
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="check-circle"
class="svg-inline--fa fa-check-circle fa-w-16"
role="img"
viewBox="0 0 512 512"
version="1.1"
id="svg4"
sodipodi:docname="stage_gentlemans.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1.3285873"
inkscape:cx="241.98635"
inkscape:cy="276.60959"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-intersection-paths="true"
inkscape:object-paths="true"
inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true"
inkscape:snap-center="true"
inkscape:snap-text-baseline="true"
inkscape:snap-page="true"
inkscape:document-rotation="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<circle
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
id="path835"
cx="256"
cy="256"
r="256" />
<path
id="rect974"
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
sodipodi:nodetypes="sssss" />
<path
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

+20 -3
View File
@@ -18,6 +18,7 @@ class TSHStageStrikeLogic():
self.bestOf = None
self.timestamp = 0
self.serverTimestamp = 0
self.gentlemans = False
def ExportState(self):
StateManager.Set("score.stage_strike", {
@@ -29,7 +30,8 @@ class TSHStageStrikeLogic():
"stagesWon": self.stagesWon,
"stagesPicked": self.stagesPicked,
"selectedStage": self.selectedStage,
"lastWinner": self.lastWinner
"lastWinner": self.lastWinner,
"gentlemans": self.gentlemans
})
def SetRuleset(self, ruleset):
@@ -48,6 +50,7 @@ class TSHStageStrikeLogic():
self.selectedStage = None
self.lastWinner = -1
self.serverTimestamp = 0
self.gentlemans = False
self.ExportState()
@@ -55,6 +58,7 @@ class TSHStageStrikeLogic():
def RpsResult(self, player):
print("RPS won by", player)
self.lastWinner = player
self.currPlayer = player
self.ExportState()
@@ -103,7 +107,7 @@ class TSHStageStrikeLogic():
def StageClicked(self, stage):
print("Clicked on stage", stage.get("codename"))
if self.currGame > 0 and self.currStep > 0:
if (self.currGame > 0 and self.currStep > 0) or self.gentlemans:
# we're picking
if not self.IsStageBanned(stage.get("codename")) and not self.IsStageStriked(stage.get("codename")):
self.selectedStage = stage.get("codename")
@@ -162,6 +166,7 @@ class TSHStageStrikeLogic():
self.strikedStages = [[]]
self.selectedStage = None
self.strikedBy = [[], []]
self.gentlemans = False
self.lastWinner = id
@@ -170,4 +175,16 @@ class TSHStageStrikeLogic():
self.ConfirmClicked()
self.ExportState()
#self.UpdateStreamScore();
#self.UpdateStreamScore();
def SetGentlemans(self, value):
print(f"Setting gentlemans to {value}")
self.gentlemans = value
self.currPlayer = self.lastWinner
self.currStep = 0
self.strikedStages = [[]]
self.strikedBy = [[], []]
self.selectedStage = None
self.ExportState()
+5
View File
@@ -87,6 +87,11 @@ class WebServer(QThread):
WebServer.team_scoreup(teams[int(json.loads(request.get_data()).get("winner"))])
return "OK"
@app.route('/set_gentlemans', methods=['POST'])
def set_gentlemans():
WebServer.stageWidget.stageStrikeLogic.SetGentlemans(json.loads(request.get_data()).get("value"))
return "OK"
@app.route('/reset', methods=['POST'])
def reset():
+7 -6
View File
@@ -1,19 +1,20 @@
{
"files": {
"main.css": "/stage_strike_app/build/static/css/main.82dbf9bd.css",
"main.js": "/stage_strike_app/build/static/js/main.c7074473.js",
"main.css": "/stage_strike_app/build/static/css/main.c0e2f17b.css",
"main.js": "/stage_strike_app/build/static/js/main.557bfe86.js",
"static/js/787.38693322.chunk.js": "/stage_strike_app/build/static/js/787.38693322.chunk.js",
"static/media/logo.svg": "/stage_strike_app/build/static/media/logo.0672973db86abe0e1002e2348284f0e9.svg",
"static/media/stage_gentlemans.svg": "/stage_strike_app/build/static/media/stage_gentlemans.0f86d7c03cfac3aa120b.svg",
"static/media/stage_dsr.svg": "/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg",
"static/media/stage_strike.svg": "/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg",
"static/media/stage_select.svg": "/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg",
"index.html": "/stage_strike_app/build/index.html",
"main.82dbf9bd.css.map": "/stage_strike_app/build/static/css/main.82dbf9bd.css.map",
"main.c7074473.js.map": "/stage_strike_app/build/static/js/main.c7074473.js.map",
"main.c0e2f17b.css.map": "/stage_strike_app/build/static/css/main.c0e2f17b.css.map",
"main.557bfe86.js.map": "/stage_strike_app/build/static/js/main.557bfe86.js.map",
"787.38693322.chunk.js.map": "/stage_strike_app/build/static/js/787.38693322.chunk.js.map"
},
"entrypoints": [
"static/css/main.82dbf9bd.css",
"static/js/main.c7074473.js"
"static/css/main.c0e2f17b.css",
"static/js/main.557bfe86.js"
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 115 KiB

+1 -1
View File
@@ -1 +1 @@
<!doctype html><html lang="en"><head><base href="/stage_strike_app/build/"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><meta charset="utf-8"/><link rel="icon" href="/stage_strike_app/build/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="TournamentStreamHelper Stage Strike App"/><link rel="apple-touch-icon" href="/stage_strike_app/build/logo192.png"/><link rel="manifest" href="/stage_strike_app/build/manifest.json"/><title>Stage Strike</title><script defer="defer" src="/stage_strike_app/build/static/js/main.c7074473.js"></script><link href="/stage_strike_app/build/static/css/main.82dbf9bd.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
<!doctype html><html lang="en"><head><base href="/stage_strike_app/build/"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><meta charset="utf-8"/><link rel="icon" href="/stage_strike_app/build/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="TournamentStreamHelper Stage Strike App"/><link rel="apple-touch-icon" href="/stage_strike_app/build/logo192.png"/><link rel="manifest" href="/stage_strike_app/build/manifest.json"/><title>Stage Strike</title><script defer="defer" src="/stage_strike_app/build/static/js/main.557bfe86.js"></script><link href="/stage_strike_app/build/static/css/main.c0e2f17b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

@@ -1 +0,0 @@
{"version":3,"file":"static/css/main.82dbf9bd.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAKF,CAEA,KACE,uEAEF,CCPA,MAEE,YAAa,CAKb,WAAY,CAJZ,aAAc,CAGd,oBAAqB,CADrB,kBAAmB,CAJnB,kBAAmB,CAGnB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAIF,CAEA,KACE,4BAA+B,CAC/B,eAAiB,CAEjB,QAAS,CADT,eAEF,CAEA,WAIE,UAEF,CAEA,iCAPE,YAAa,CAIb,cAAe,CAHf,QAAS,CACT,sBAWF,CAEA,OACE,cAAe,CAIf,mBAAoB,CADpB,gBAAiB,CADjB,UAGF,CAEA,cANE,iBASF,CAHA,OAEE,cACF,CAEA,YAIE,+BAAoC,CAGpC,QAAS,CALT,UAAY,CAGZ,cAAe,CACf,WAAY,CAEZ,iBAAmB,CAPnB,iBAAkB,CAQlB,wBAAyB,CANzB,UAOF,CAEA,iBACE,gBAAiB,CACjB,iBACF,CAEA,YAIE,uBAA2B,CAC3B,2BAA4B,CAF5B,qBAAsB,CADtB,YAAa,CADb,WAKF,CAEA,iBAQE,wBAAyB,CALzB,kBAAmB,CAGnB,gGACoE,CANpE,aAAc,CAGd,eAAgB,CAChB,mBAAoB,CAHpB,iBAOF,CAEA,OAME,WAAY,CAHZ,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,sCAAgC,CAAhC,8BAAgC,CAChC,UAEF,CACA,qBACE,gGACF,CACA,iBACE,6FACF,CACA,sBACE,gGACF,CAEA,WACE,0BAA2B,CAC3B,iBAAkB,CAElB,KAAM,CADN,UAEF","sources":["index.css","App.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* @font-face {\n font-family: \"Roboto Condensed\";\n src: url(\"../include/RobotoCondensed.ttf\") format(\"truetype\");\n} */\n\n.text {\n white-space: nowrap;\n display: flex;\n min-width: 99%;\n width: fit-content;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nbody {\n font-family: \"Roboto Condensed\";\n font-weight: bold;\n overflow: hidden;\n margin: 0;\n}\n\n.container {\n display: flex;\n gap: 20px;\n justify-content: center;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.neutral,\n.counterpick {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n}\n\n.title {\n font-size: 48px;\n text-align: center;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.rules {\n text-align: center;\n font-size: 32px;\n}\n\n.stage-name {\n position: absolute;\n color: white;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n font-size: 14px;\n height: 28px;\n bottom: 0;\n letter-spacing: 0.8;\n text-transform: uppercase;\n}\n\n.stage-name.text {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.stage-icon {\n width: 200px;\n height: 128px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.stage-container {\n flex-shrink: 0;\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding-bottom: 28px;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n background-color: #424242;\n}\n\n.stamp {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 48px;\n}\n.stamp.stage-striked {\n background-image: url(../../assets/icons/stage_strike.svg);\n}\n.stamp.stage-dsr {\n background-image: url(../../assets/icons/stage_dsr.svg);\n}\n.stamp.stage-selected {\n background-image: url(../../assets/icons/stage_select.svg);\n}\n\n.banned_by {\n background-color: #000000aa;\n position: absolute;\n width: 100%;\n top: 0;\n}"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text{display:flex;height:100%;min-width:99%;place-content:center;place-items:center;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}body{font-family:Roboto Condensed;font-weight:700;margin:0;overflow:hidden}.container{width:100%}.container,.counterpick,.neutral{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.title{font-size:48px;padding-bottom:10px;padding-top:10px;width:100%}.rules,.title{text-align:center}.rules{font-size:32px}.stage-name{background-color:rgba(0,0,0,.8);bottom:0;color:#fff;font-size:14px;height:28px;letter-spacing:.8;position:absolute;text-transform:uppercase;width:100%}.stage-name.text{padding-left:5px;padding-right:5px}.stage-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;height:128px;width:200px}.stage-container{background-color:#424242;border-radius:16px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);flex-shrink:0;overflow:hidden;padding-bottom:28px;position:relative}.stamp{height:48px;left:50%;position:absolute;top:40%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:48px}.stamp.stage-striked{background-image:url(/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg)}.stamp.stage-dsr{background-image:url(/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg)}.stamp.stage-selected{background-image:url(/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg)}.banned_by{background-color:#000000aa;position:absolute;top:0;width:100%}
/*# sourceMappingURL=main.82dbf9bd.css.map*/
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.text{display:flex;height:100%;min-width:99%;place-content:center;place-items:center;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}body{font-family:Roboto Condensed;font-weight:700;margin:0;overflow:hidden}.container{width:100%}.container,.counterpick,.neutral{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.title{font-size:48px;padding-bottom:10px;padding-top:10px;width:100%}.rules,.title{text-align:center}.rules{font-size:32px}.stage-name{background-color:rgba(0,0,0,.8);bottom:0;color:#fff;font-size:14px;height:28px;letter-spacing:.8;position:absolute;text-transform:uppercase;width:100%}.stage-name.text{padding-left:5px;padding-right:5px}.stage-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;height:128px;width:200px}.stage-container{background-color:#424242;border-radius:16px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);flex-shrink:0;overflow:hidden;padding-bottom:28px;position:relative}.stamp{height:48px;left:50%;position:absolute;top:40%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:48px}.stamp.stage-striked{background-image:url(/stage_strike_app/build/static/media/stage_strike.2a63ee3027ea819a797a.svg)}.stamp.stage-dsr{background-image:url(/stage_strike_app/build/static/media/stage_dsr.b691229038cc875107cc.svg)}.stamp.stage-selected{background-image:url(/stage_strike_app/build/static/media/stage_select.93f1de5f83321b0d15a0.svg)}.stamp.stage-gentlemans{background-image:url(/stage_strike_app/build/static/media/stage_gentlemans.0f86d7c03cfac3aa120b.svg)}.banned_by{background-color:#000000aa;position:absolute;top:0;width:100%}
/*# sourceMappingURL=main.c0e2f17b.css.map*/
@@ -0,0 +1 @@
{"version":3,"file":"static/css/main.c0e2f17b.css","mappings":"AAAA,KAKE,kCAAmC,CACnC,iCAAkC,CAJlC,mIAKF,CAEA,KACE,uEAEF,CCPA,MAEE,YAAa,CAKb,WAAY,CAJZ,aAAc,CAGd,oBAAqB,CADrB,kBAAmB,CAJnB,kBAAmB,CAGnB,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAIF,CAEA,KACE,4BAA+B,CAC/B,eAAiB,CAEjB,QAAS,CADT,eAEF,CAEA,WAIE,UAEF,CAEA,iCAPE,YAAa,CAIb,cAAe,CAHf,QAAS,CACT,sBAWF,CAEA,OACE,cAAe,CAIf,mBAAoB,CADpB,gBAAiB,CADjB,UAGF,CAEA,cANE,iBASF,CAHA,OAEE,cACF,CAEA,YAIE,+BAAoC,CAGpC,QAAS,CALT,UAAY,CAGZ,cAAe,CACf,WAAY,CAEZ,iBAAmB,CAPnB,iBAAkB,CAQlB,wBAAyB,CANzB,UAOF,CAEA,iBACE,gBAAiB,CACjB,iBACF,CAEA,YAIE,uBAA2B,CAC3B,2BAA4B,CAF5B,qBAAsB,CADtB,YAAa,CADb,WAKF,CAEA,iBAQE,wBAAyB,CALzB,kBAAmB,CAGnB,gGACoE,CANpE,aAAc,CAGd,eAAgB,CAChB,mBAAoB,CAHpB,iBAOF,CAEA,OAME,WAAY,CAHZ,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,sCAAgC,CAAhC,8BAAgC,CAChC,UAEF,CACA,qBACE,gGACF,CACA,iBACE,6FACF,CACA,sBACE,gGACF,CACA,wBACE,oGACF,CAEA,WACE,0BAA2B,CAC3B,iBAAkB,CAElB,KAAM,CADN,UAEF","sources":["index.css","App.css"],"sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","/* @font-face {\n font-family: \"Roboto Condensed\";\n src: url(\"../include/RobotoCondensed.ttf\") format(\"truetype\");\n} */\n\n.text {\n white-space: nowrap;\n display: flex;\n min-width: 99%;\n width: fit-content;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nbody {\n font-family: \"Roboto Condensed\";\n font-weight: bold;\n overflow: hidden;\n margin: 0;\n}\n\n.container {\n display: flex;\n gap: 20px;\n justify-content: center;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.neutral,\n.counterpick {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n}\n\n.title {\n font-size: 48px;\n text-align: center;\n width: 100%;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.rules {\n text-align: center;\n font-size: 32px;\n}\n\n.stage-name {\n position: absolute;\n color: white;\n width: 100%;\n background-color: rgba(0, 0, 0, 0.8);\n font-size: 14px;\n height: 28px;\n bottom: 0;\n letter-spacing: 0.8;\n text-transform: uppercase;\n}\n\n.stage-name.text {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.stage-icon {\n width: 200px;\n height: 128px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.stage-container {\n flex-shrink: 0;\n position: relative;\n border-radius: 16px;\n overflow: hidden;\n padding-bottom: 28px;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n background-color: #424242;\n}\n\n.stamp {\n position: absolute;\n top: 40%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 48px;\n}\n.stamp.stage-striked {\n background-image: url(../../assets/icons/stage_strike.svg);\n}\n.stamp.stage-dsr {\n background-image: url(../../assets/icons/stage_dsr.svg);\n}\n.stamp.stage-selected {\n background-image: url(../../assets/icons/stage_select.svg);\n}\n.stamp.stage-gentlemans {\n background-image: url(../../assets/icons/stage_gentlemans.svg);\n}\n\n.banned_by {\n background-color: #000000aa;\n position: absolute;\n width: 100%;\n top: 0;\n}\n"],"names":[],"sourceRoot":""}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="check-circle"
class="svg-inline--fa fa-check-circle fa-w-16"
role="img"
viewBox="0 0 512 512"
version="1.1"
id="svg4"
sodipodi:docname="stage_gentlemans.svg"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1.3285873"
inkscape:cx="241.98635"
inkscape:cy="276.60959"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-intersection-paths="true"
inkscape:object-paths="true"
inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true"
inkscape:snap-center="true"
inkscape:snap-text-baseline="true"
inkscape:snap-page="true"
inkscape:document-rotation="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<circle
style="color:#000000;overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers"
id="path835"
cx="256"
cy="256"
r="256" />
<path
id="rect974"
style="color:#000000;overflow:visible;fill:#4caf50;fill-opacity:1;fill-rule:evenodd;stroke-width:3.64724;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers"
d="M 256,49.005859 C 141.67944,49.005859 49.005859,141.67944 49.005859,256 49.005859,370.32056 141.67944,462.99414 256,462.99414 370.32056,462.99414 462.99414,370.32056 462.99414,256 462.99414,141.67944 370.32056,49.005859 256,49.005859 Z"
sodipodi:nodetypes="sssss" />
<path
d="m 254.31174,370.72484 q 1.6896,0 3.8861,-0.8448 2.19652,-0.84481 3.5482,-2.1965 L 375.62607,253.46557 q 4.393,-4.39299 6.58952,-10.02516 2.19649,-5.63182 2.19649,-11.26397 0,-5.7447 -2.19649,-11.48939 -2.19652,-5.74469 -6.58952,-10.1377 l -60.82613,-60.82612 q -4.39299,-4.39301 -10.13768,-6.5895 -5.7447,-2.1965 -11.48939,-2.1965 -5.63216,0 -11.26399,2.1965 -5.63215,2.19649 -10.02516,6.5895 l -6.08261,6.0826 27.37176,27.70969 q 4.39299,4.73092 7.77223,10.98249 3.37923,6.25158 3.37923,13.68589 0,12.84107 -9.96872,22.64084 -9.96874,9.79977 -22.80979,9.79977 -8.44808,0 -14.02382,-2.53444 -5.57573,-2.53441 -10.20021,-7.21161 l -24.77482,-24.7221 -61.16404,61.16405 q -1.68962,1.68963 -2.36546,3.55699 -0.67586,1.86769 -0.67586,4.00168 0,4.26864 2.87235,7.14099 2.87234,2.87234 7.15282,2.87234 2.14006,0 3.99863,-1.01378 1.85858,-1.01376 3.21028,-2.36545 l 46.63337,-46.63336 14.19276,14.19276 -46.29543,46.29545 q -1.68962,1.68961 -2.36546,3.71715 -0.67586,2.02754 -0.67586,4.05507 0,4.05508 3.04132,7.09638 3.0413,3.04131 7.09637,3.04131 2.02754,0 3.88612,-0.84481 1.85857,-0.8448 3.21027,-2.1965 l 46.63336,-46.63336 14.19277,14.19277 -46.29546,46.29544 q -1.35168,1.35169 -2.1965,3.49176 -0.8448,2.14039 -0.8448,4.28047 0,4.05507 3.0413,7.09638 3.04131,3.04131 7.09639,3.04131 2.02754,0 3.71715,-0.67586 1.68962,-0.67584 3.37922,-2.36545 l 46.63338,-46.63337 14.19276,14.19276 -46.63337,46.63337 q -1.68962,1.68962 -2.36546,3.71716 -0.67584,2.02754 -0.67584,3.71715 0,4.73092 2.70338,7.4343 2.70338,2.70338 7.43431,2.70338 z m 0.0203,20.27538 q -11.17308,0 -19.95906,-8.27911 -8.78601,-8.27912 -10.47562,-20.48455 -11.48937,-1.64942 -19.26161,-9.42164 -7.77222,-7.77223 -9.46184,-19.26161 -11.48939,-1.68961 -19.09266,-9.6308 -7.60326,-7.94119 -9.29287,-19.09264 -12.50315,-1.68962 -20.6133,-10.13769 -8.11016,-8.44807 -8.11016,-20.27538 0,-5.7447 2.27219,-11.50594 2.27221,-5.76126 6.51381,-10.12113 l 75.69475,-75.69473 37.17152,37.17152 q 2.70338,2.70338 5.85722,4.22404 3.15418,1.52065 6.30801,1.52065 4.393,0 8.27911,-3.88611 3.88611,-3.88611 3.88611,-8.33117 0,-1.97549 -1.18272,-4.5099 -1.18273,-2.53443 -3.88612,-5.23781 l -48.32297,-48.32298 q -4.39301,-4.39302 -10.1377,-6.58951 -5.7447,-2.1965 -11.48939,-2.1965 -5.63215,0 -11.26397,2.1965 -5.63217,2.19649 -10.00523,6.54117 l -51.38424,51.41261 q -4.73092,4.73093 -6.58949,9.96873 -1.85858,5.23781 -2.19651,11.8273 -0.33791,6.5895 2.53443,12.84109 2.87235,6.25157 6.92741,11.32042 l -14.53067,14.53068 q -6.75847,-7.43432 -10.98251,-17.90993 -4.22403,-10.47559 -4.22403,-21.28914 0,-10.13768 3.88612,-19.43058 3.88611,-9.29287 10.98249,-16.38925 l 51.02636,-51.02636 q 7.4343,-7.43432 16.8262,-10.98251 9.39224,-3.54818 19.26161,-3.54818 9.86972,0 19.1626,3.54818 9.29288,3.54819 16.72718,10.98251 l 6.08262,6.08261 6.08261,-6.08261 q 7.43431,-7.43432 16.82621,-10.98251 9.39222,-3.54818 19.2616,-3.54818 9.86971,0 19.16259,3.54818 9.29288,3.54819 16.72719,10.98251 l 60.48821,60.4882 q 7.4343,7.43431 11.15146,16.9073 3.71715,9.47299 3.71715,19.26161 0,9.78861 -3.71715,19.08149 -3.71716,9.29289 -11.15146,16.72719 L 275.93747,381.8763 q -4.39301,4.39299 -9.97955,6.75845 -5.58653,2.36547 -11.6259,2.36547 z m -33.1381,-184.50594 z"
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.63732;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

+4 -1
View File
@@ -102,10 +102,13 @@ body {
.stamp.stage-selected {
background-image: url(../../assets/icons/stage_select.svg);
}
.stamp.stage-gentlemans {
background-image: url(../../assets/icons/stage_gentlemans.svg);
}
.banned_by {
background-color: #000000aa;
position: absolute;
width: 100%;
top: 0;
}
}
+162 -66
View File
@@ -65,6 +65,7 @@ class App extends Component {
phase: null,
match: null,
bestOf: null,
gentlemans: false,
};
Initialize(resetStreamScore = false) {
@@ -75,9 +76,13 @@ class App extends Component {
}
GetStage(stage) {
let found = this.state.ruleset.neutralStages.find((s) => s.codename === stage);
let found = this.state.ruleset.neutralStages.find(
(s) => s.codename === stage
);
if (found) return found;
found = this.state.ruleset.counterpickStages.find((s) => s.codename === stage);
found = this.state.ruleset.counterpickStages.find(
(s) => s.codename === stage
);
if (found) return found;
return null;
}
@@ -169,8 +174,16 @@ class App extends Component {
fetch("http://" + window.location.hostname + ":5000/match_win", {
method: "POST",
contentType: "application/json",
body: JSON.stringify({"winner": id})
})
body: JSON.stringify({ winner: id }),
});
}
SetGentlemans(value) {
fetch("http://" + window.location.hostname + ":5000/set_gentlemans", {
method: "POST",
contentType: "application/json",
body: JSON.stringify({ value: value }),
});
}
GetStrikeNumber() {
@@ -213,10 +226,7 @@ class App extends Component {
bestOf: data.best_of,
});
if (
data.state &&
Object.keys(data.state).length > 0
) {
if (data.state && Object.keys(data.state).length > 0) {
this.setState({
currGame: data.state.currGame,
currPlayer: data.state.currPlayer,
@@ -227,6 +237,7 @@ class App extends Component {
stagesPicked: data.state.stagesPicked,
selectedStage: data.state.selectedStage,
lastWinner: data.state.lastWinner,
gentlemans: data.state.gentlemans,
});
}
})
@@ -302,34 +313,49 @@ class App extends Component {
>
{this.state.selectedStage ? (
<>{i18n.t("report_results")}</>
) : this.state.currGame > 0 &&
this.state.currStep > 0 ? (
<>
<span
style={{
color:
darkTheme.palette[
`p${this.state.currPlayer + 1}color`
].main,
}}
>
{this.state.playerNames[this.state.currPlayer]}
</span>
, {i18n.t("pick_a_stage")}
</>
) : (
<>
<span
style={{
color:
darkTheme.palette[
`p${this.state.currPlayer + 1}color`
].main,
}}
>
{this.state.playerNames[this.state.currPlayer]}
</span>
, {i18n.t("ban")} {this.GetStrikeNumber()} stage(s)
{this.state.gentlemans ? (
<>{i18n.t("GENTLEMANS: Pick a stage")}</>
) : this.state.currGame > 0 &&
this.state.currStep > 0 ? (
<>
<span
style={{
color:
darkTheme.palette[
`p${this.state.currPlayer + 1}color`
].main,
}}
>
{
this.state.playerNames[
this.state.currPlayer
]
}
</span>
, {i18n.t("pick_a_stage")}
</>
) : (
<>
<span
style={{
color:
darkTheme.palette[
`p${this.state.currPlayer + 1}color`
].main,
}}
>
{
this.state.playerNames[
this.state.currPlayer
]
}
</span>
, {i18n.t("ban")} {this.GetStrikeNumber()}{" "}
stage(s)
</>
)}
</>
)}
</Typography>
@@ -366,7 +392,28 @@ class App extends Component {
: this.state.ruleset.neutralStages
).map((stage) => (
<Grid item xs={4} sm={3} md={2}>
<Card>
<Card
style={{
borderStyle: "solid",
borderWidth: 3,
borderColor:
this.IsStageStriked(stage.codename) ||
this.IsStageBanned(stage.codename)
? "#f44336ff"
: this.state.selectedStage === stage.codename
? "#4caf50ff"
: "gray",
boxShadow:
this.IsStageStriked(stage.codename) ||
this.IsStageBanned(stage.codename)
? "0 0 10px #f44336ff"
: this.state.selectedStage === stage.codename
? "0 0 10px #4caf50ff"
: "0 0 0px #ffffff00",
transitionProperty: "border-color box-shadow",
transitionDuration: "500ms",
}}
>
<CardActionArea
onClick={() => this.StageClicked(stage)}
>
@@ -395,22 +442,41 @@ class App extends Component {
) : null}
{this.state.selectedStage === stage.codename ? (
<>
<div className="stamp stage-selected"></div>
<div className="banned_by">
<Typography
variant="button"
component="div"
fontWeight={"bold"}
noWrap
fontSize={{ xs: 8, md: "" }}
>
{
this.state.playerNames[
this.state.currPlayer
]
}
</Typography>
</div>
{this.state.gentlemans ? (
<>
<div className="stamp stage-gentlemans"></div>
<div className="banned_by">
<Typography
variant="button"
component="div"
fontWeight={"bold"}
noWrap
fontSize={{ xs: 8, md: "" }}
>
{i18n.t("Gentlemans")}
</Typography>
</div>
</>
) : (
<>
<div className="stamp stage-selected"></div>
<div className="banned_by">
<Typography
variant="button"
component="div"
fontWeight={"bold"}
noWrap
fontSize={{ xs: 8, md: "" }}
>
{
this.state.playerNames[
this.state.currPlayer
]
}
</Typography>
</div>
</>
)}
</>
) : null}
<CardMedia
@@ -519,6 +585,21 @@ class App extends Component {
{i18n.t("reset")}
</Button>
</Grid>
<Grid item xs={4}>
<Button
size={
darkTheme.breakpoints.up("md") ? "large" : "small"
}
fontSize={darkTheme.breakpoints.up("md") ? 8 : ""}
fullWidth
variant="outlined"
onClick={() => {
this.SetGentlemans(!this.state.gentlemans);
}}
>
{i18n.t("gentlemans")}
</Button>
</Grid>
</Grid>
</Grid>
</Box>
@@ -564,11 +645,16 @@ class App extends Component {
color="p1color"
variant="contained"
onClick={() =>
fetch("http://" + window.location.hostname + ":5000/rps_win", {
method: "POST",
contentType: "application/json",
body: JSON.stringify({"winner": 0})
})
fetch(
"http://" +
window.location.hostname +
":5000/rps_win",
{
method: "POST",
contentType: "application/json",
body: JSON.stringify({ winner: 0 }),
}
)
}
>
{this.state.playerNames[0]} {i18n.t("won")}
@@ -584,11 +670,16 @@ class App extends Component {
color="p2color"
variant="contained"
onClick={() =>
fetch("http://" + window.location.hostname + ":5000/rps_win", {
method: "POST",
contentType: "application/json",
body: JSON.stringify({"winner": 1})
})
fetch(
"http://" +
window.location.hostname +
":5000/rps_win",
{
method: "POST",
contentType: "application/json",
body: JSON.stringify({ winner: 1 }),
}
)
}
>
{this.state.playerNames[1]} {i18n.t("won")}
@@ -608,11 +699,16 @@ class App extends Component {
color="success"
variant="outlined"
onClick={() =>
fetch("http://" + window.location.hostname + ":5000/rps_win", {
method: "POST",
contentType: "application/json",
body: JSON.stringify({"winner": Math.random() > 0.5 ? 1 : 0})
})
fetch(
"http://" + window.location.hostname + ":5000/rps_win",
{
method: "POST",
contentType: "application/json",
body: JSON.stringify({
winner: Math.random() > 0.5 ? 1 : 0,
}),
}
)
}
>
{i18n.t("randomize")}