Files
cheesy-arena-lite/templates/bracket.svg

519 lines
88 KiB
XML
Raw Normal View History

{{define "bracket"}}
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1920px"
height="1080px" viewBox="0 0 1920 1080" xml:space="preserve">
<style type="text/css">
2022-08-20 23:13:40 -07:00
<!-- Fonts -->
@font-face {
font-family: 'FuturaLT';
src: url("data:@file/vnd.ms-opentype;base64,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
@font-face {
font-family: 'FuturaLT-Bold';
src: url("data:@file/vnd.ms-opentype;base64,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
2022-08-21 11:10:51 -07:00
2022-08-20 23:13:40 -07:00
<!-- Background White Rectangle -->
#background rect {
display:none;
fill:#FFFFFF;
stroke:#444444;
stroke-width:2;
stroke-miterlimit:10;
}
.bracket_double #bgdouble,
.bracket_16 #bg16,
.bracket_8 #bg8,
.bracket_4 #bg4,
.bracket_2 #bg2
{display:inline;}
<!-- Connector Styling -->
#connectors line,
#connectors polyline {
fill:none;
stroke:#999999;
stroke-width:2;
stroke-miterlimit:10;
}
#connectors_doubleelim line,
#connectors_doubleelim polyline {
stroke:#444444;
}
#connectors_temporary g {
display:none;
}
#connectors_temporary g.active,
#connectors_temporary g.active g {
display:inline;
}
#connectors line.loser,
#connectors polyline.loser {
stroke:#999999
}
#connectors line.coverup,
#connectors polyline.coverup {
stroke:#FFFFFF;
stroke-width:10;
}
#connectors text {
fill:#444444;
font-family:'FuturaLT-Bold';
font-size:14.4179px;
}
#connectors text.loser {
fill:#999999;
}
#connectors rect.coverup {
fill:#ffffff;
}
.bracket_2 #connectors,
.bracket_16 .cb8,
.bracket_16 .cb4,
.bracket_8 .cb16,
.bracket_8 .cb4,
.bracket_4 .cb16,
.bracket_4 .cb8 {
display:none;
}
<!-- Label Styling -->
#labels text {
fill:#444444;
font-family:'FuturaLT';
font-size:30px;
text-anchor:middle;
}
#labels #finals_subtitle {
font-size:13.189px;
text-anchor:end;
}
<!-- Currently unused -->
#label_underline {
display:none;
fill:none;
stroke:#999999;
stroke-width:2;
stroke-miterlimit:10;
}
<!-- Show and hide relevant labels on the standard bracket -->
.bracket_2 .label_16,
.bracket_2 .label_8,
.bracket_2 .label_4,
.bracket_4 .label_16,
.bracket_4 .label_8,
.bracket_8 .label_16
{display:none;}
<!-- Move labels to align with different brackets -->
.bracket_8 #l_qf {transform: translate(578px, 964px);}
.bracket_8 #l_sf {transform: translate(960px, 964px);}
.bracket_8 #l_f {transform: translate(1346px, 964px);}
.bracket_4 #l_sf {transform: translate(768px, 840px);}
.bracket_4 #l_f {transform: translate(1154px, 840px);}
<!-- Match Block Styling -->
.matchblock text {
font-family:'FuturaLT';
}
.matchblock .structure {
fill:none;
stroke:#444444;
stroke-width:2;
stroke-miterlimit:10;
}
2022-08-21 10:46:18 -07:00
.matchblock.complete #background {
fill:#e8e8e8;
}
2022-08-20 23:13:40 -07:00
.matchblock.active #background {
fill:#444444;
}
.red {fill:#FF2222;}
.blue {fill:#2080FF;}
.matchblock #series_status {
font-size:13.189px;
text-anchor:end;
}
.matchblock #match_title {
font-size:19.8053px;
fill:#444444;
}
.matchblock .alliancenum {
fill:#ffffff;
font-size:34px;
text-anchor:middle;
}
.matchblock .teamnum {
font-size:27px;
text-anchor:middle;
fill:#444444;
}
.matchblock.active .teamnum {
fill:#ffffff;
}
.matchblock .placeholder {
fill:#aaaaaa;
font-family:'FuturaLT-Bold';
font-size:25.9715px;
font-style:italic;
text-anchor:middle;
}
2022-08-21 10:46:18 -07:00
.matchblock.complete.red-win .teamnum.b,
.matchblock.complete.blue-win .teamnum.r {
fill:#888888;
}
.matchblock.complete.red-win.active .teamnum.b,
.matchblock.complete.blue-win.active .teamnum.r {
fill:#cccccc;
}
.matchblock.complete.blue-win .alliancenum.r {
fill:#ffc8c8;
}
.matchblock.complete.red-win .alliancenum.b {
fill:#A9D6FF;
}
2022-08-20 23:13:40 -07:00
<!-- Match Positioning -->
.bracket_double #match_1_1 {transform: translate(114px, 158px);}
.bracket_double #match_1_2 {transform: translate(114px, 348px);}
.bracket_double #match_1_3 {transform: translate(114px, 538px);}
.bracket_double #match_1_4 {transform: translate(114px, 728px);}
.bracket_double #match_2_3 {transform: translate(412px, 158px);}
.bracket_double #match_2_4 {transform: translate(412px, 348px);}
.bracket_double #match_2_1 {transform: translate(412px, 538px);}
.bracket_double #match_2_2 {transform: translate(412px, 728px);}
.bracket_double #match_3_2 {transform: translate(709px, 504px);}
.bracket_double #match_3_1 {transform: translate(709px, 694px);}
.bracket_double #match_4_1 {transform: translate(1006px, 301px);}
.bracket_double #match_4_2 {transform: translate(1006px, 599px);}
2022-08-20 23:13:40 -07:00
.bracket_double #match_5_1 {transform: translate(1302px, 567px);}
.bracket_double #match_6_1 {transform: translate(1598px, 417px);}
2022-08-21 11:10:51 -07:00
2022-08-20 23:13:40 -07:00
.bracket_16 #match_1_1 {transform: translate(94px, 158px);}
.bracket_16 #match_1_2 {transform: translate(94px, 348px);}
.bracket_16 #match_1_3 {transform: translate(94px, 538px);}
.bracket_16 #match_1_4 {transform: translate(94px, 728px);}
.bracket_16 #match_1_5 {transform: translate(1614px, 158px);}
.bracket_16 #match_1_6 {transform: translate(1614px, 348px);}
.bracket_16 #match_1_7 {transform: translate(1614px, 538px);}
.bracket_16 #match_1_8 {transform: translate(1614px, 728px);}
.bracket_16 #match_2_1 {transform: translate(349px, 253px);}
.bracket_16 #match_2_2 {transform: translate(349px, 633px);}
.bracket_16 #match_2_3 {transform: translate(1361px, 253px);}
.bracket_16 #match_2_4 {transform: translate(1361px, 633px);}
.bracket_16 #match_3_1 {transform: translate(602px, 488px);}
.bracket_16 #match_3_2 {transform: translate(1108px, 488px);}
.bracket_16 #match_4_1 {transform: translate(856px, 408px);}
.bracket_8 #match_2_1 {transform: translate(473px, 158px);}
.bracket_8 #match_2_2 {transform: translate(473px, 348px);}
.bracket_8 #match_2_3 {transform: translate(473px, 538px);}
.bracket_8 #match_2_4 {transform: translate(473px, 728px);}
.bracket_8 #match_3_1 {transform: translate(857px, 321px);}
.bracket_8 #match_3_2 {transform: translate(857px, 565px);}
.bracket_8 #match_4_1 {transform: translate(1241px, 443px);}
.bracket_4 #match_3_1 {transform: translate(665px, 397px);}
.bracket_4 #match_3_2 {transform: translate(665px, 601px);}
.bracket_4 #match_4_1 {transform: translate(1049px, 499px);}
.bracket_2 #match_4_1 {transform: translate(857px, 435px);}
</style>
<g id="bracket" class="bracket_{{.BracketType}}">
<g id="background">
{{if eq .BracketType "double"}}
2022-08-20 23:13:40 -07:00
<rect id="bgdouble" x="70" y="115" width="1780" height="900"/>
{{else}}
2022-08-20 23:13:40 -07:00
<rect id="bg16" x="70" y="115" width="1780" height="900"/>
<rect id="bg8" x="417.12" y="115" width="1085.759" height="900"/>
<rect id="bg4" x="622.383" y="115" width="675.233" height="772.481"/>
<rect id="bg2" x="622.383" y="115" width="675.233" height="584.849"/>
{{end}}
</g>
2022-08-20 23:13:40 -07:00
<g id="connectors">
{{if eq .BracketType "double"}}
2022-08-20 23:13:40 -07:00
<g id="connectors_doubleelim">
<g id="connectors_evergreen">
<polyline points="1211,390 1546,390 1546,656 1507,656"/>
<line x1="1598" y1="506" x2="1545" y2="506"/>
<line x1="1211" y1="688" x2="1302" y2="688"/>
<polyline points="914,783 959,783 959,593 914,593"/>
<line x1="1006" y1="688" x2="959" y2="688"/>
<line x1="617" y1="627" x2="709" y2="627"/>
<line x1="617" y1="817" x2="709" y2="817"/>
<polyline points="617,247 703,247 703,437 617,437"/>
<polyline points="1006,390 861,390 861,336 704,336"/>
</g>
{{if .ShowTemporaryConnectors}}
<g id="connectors_temporary">
<g id="connector_1_1"{{if (index .Matchups "1_1").IsActive}} class="active"{{end}}>
<polyline class="loser" points="411,593 367,593 367,247"/>
<polyline points="319,247 367,247 367,214 411,214"/>
<text transform="translate(342.9489 228.3672)">W</text>
<text transform="translate(347.4327 269.9525)" class="loser">L</text>
</g>
<g id="connectors_1_2"{{if (index .Matchups "1_2").IsActive}} class="active"{{end}}>
<polyline class="loser" points="411,662 367,662 367,437"/>
<polyline points="319,437 367,437 367,283 411,283"/>
<text transform="translate(342.9489 420.848)">W</text>
<text transform="translate(347.4327 462.4333)" class="loser">L</text>
</g>
<g id="connectors_1_3"{{if (index .Matchups "1_3").IsActive}} class="active"{{end}}>
<polyline class="loser" points="411,786 367,786 367,627"/>
<polyline points="319,627 367,627 367,404 411,404"/>
<text transform="translate(342.9489 610.848)">W</text>
<text transform="translate(347.4327 652.4332)" class="loser">L</text>
</g>
<g id="connectors_1_4"{{if (index .Matchups "1_4").IsActive}} class="active"{{end}}>
<polyline class="loser" points="411,853 367,853 367,817"/>
<polyline points="319,817 367,817 367,473 411,473"/>
<text transform="translate(342.9489 800.848)">W</text>
<text transform="translate(347.4327 842.4332)" class="loser">L</text>
</g>
<g id="connectors_2_1"{{if (index .Matchups "2_1").IsActive}} class="active"{{end}}>
<polyline class="loser" points="319,247 374,247 374,597 411,597"/>
<text transform="translate(665.9388 616.8822)">W</text>
<text transform="translate(645.3726 654.1893)" class="loser">L</text>
<polyline class="loser" points="319,437 360,437 360,662 411,662"/>
<line class="loser" x1="660" y1="628" x2="660" y2="675"/>
<line class="loser" x1="668.485" y1="666.515" x2="651.515" y2="683.485"/>
<line class="loser" x1="668.485" y1="683.485" x2="651.515" y2="666.515"/>
<text transform="translate(330.706 429.7347)" class="loser">L</text>
<text transform="translate(330.706 240.7347)" class="loser">L</text>
</g>
<g id="connectors_2_2"{{if (index .Matchups "2_2").IsActive}} class="active"{{end}}>
<polyline class="loser" points="319,627 374,627 374,787 411,787"/>
<text transform="translate(667.1932 808.262)">W</text>
<text transform="translate(645.3726 844.1893)" class="loser">L</text>
<polyline class="loser" points="319,817 360,817 360,852 411,852"/>
<line class="loser" x1="660" y1="818" x2="660" y2="865"/>
<line class="loser" x1="668.485" y1="856.515" x2="651.515" y2="873.485"/>
<line class="loser" x1="668.485" y1="873.485" x2="651.515" y2="856.515"/>
<text transform="translate(330.706 619.7347)" class="loser">L</text>
<text transform="translate(330.706 808.462)" class="loser">L</text>
</g>
<g id="connectors_2_3"{{if (index .Matchups "2_3").IsActive}} class="active"{{end}}>
<rect class="coverup" x="699.216" y="241.054" width="312.117" height="199.156"/>
<polyline points="319,247 367,247 367,214 411,214"/>
<text transform="translate(668.4441 239.1465)">W</text>
<text transform="translate(644.3726 276.7044)" class="loser">L</text>
<polyline points="319,437 367,437 367,281 411,281"/>
<text transform="translate(332.4185 239.67)">W</text>
<text transform="translate(332.4185 429.67)">W</text>
<polyline class="loser" points="660,636 660,748 728,748"/>
<line class="loser" x1="660" y1="447" x2="660" y2="618"/>
<line class="loser" x1="660" y1="248" x2="660" y2="427"/>
<polyline points="698,247 790,247 790,358 1010,358"/>
<polyline points="698,437 790,437 790,421 1010,421"/>
</g>
<g id="connectors_2_4"{{if (index .Matchups "2_4").IsActive}} class="active"{{end}}>
<polyline points="319,627 360,627 360,405 411,405"/>
<text transform="translate(668.566 429.1972)">W</text>
<text transform="translate(643.3726 469.2499)" class="loser">L</text>
<polyline points="319,817 374,817 374,473 411,473"/>
<polyline class="loser" points="660,438 660,561 728,561"/>
<text transform="translate(332.4185 618.67)">W</text>
<text transform="translate(332.4185 808.67)">W</text>
<rect class="coverup" x="699.216" y="241.054" width="312.117" height="199.156"/>
<polyline points="698,247 790,247 790,358 1010,358"/>
<polyline points="698,437 790,437 790,421 1010,421"/>
</g>
<g id="connectors_3_1"{{if (index .Matchups "3_1").IsActive}} class="active"{{end}}>
<polyline class="loser" points="660,637 660,748 709,748"/>
<text transform="translate(966.4487 773.8822)">W</text>
<text transform="translate(630.2617 808.2188)">W</text>
<text transform="translate(925.3726 811.1893)" class="loser">L</text>
<line class="loser" x1="940" y1="784" x2="940" y2="832"/>
<line class="loser" x1="948.485" y1="823.515" x2="931.515" y2="840.485"/>
<line class="loser" x1="948.485" y1="840.485" x2="931.515" y2="823.515"/>
<text transform="translate(640.4236 276.67)" class="loser">L</text>
<line class="loser" x1="660" y1="248" x2="660" y2="425"/>
<line class="loser" x1="660" y1="447" x2="660" y2="615"/>
</g>
<g id="connectors_3_2"{{if (index .Matchups "3_2").IsActive}} class="active"{{end}}>
<polyline class="loser" points="660,438 660,563 709,563"/>
<text transform="translate(941.2606 585.4622)">W</text>
<text transform="translate(630.8534 616.8523)">W</text>
<text transform="translate(925.3726 620.1893)" class="loser">L</text>
<line class="loser" x1="940" y1="594" x2="940" y2="641"/>
<line class="loser" x1="948.485" y1="632.515" x2="931.515" y2="649.485"/>
<line class="loser" x1="948.485" y1="649.485" x2="931.515" y2="632.515"/>
<text transform="translate(640.2857 472.1667)" class="loser">L</text>
</g>
<g id="connectors_4_1"{{if (index .Matchups "4_1").IsActive}} class="active"{{end}}>
<rect class="coverup" x="699.216" y="241.054" width="312.117" height="199.156"/>
<polyline points="698,247 790,247 790,358 1010,358"/>
<polyline points="698,437 790,437 790,421 1010,421"/>
<text transform="translate(628.5344 429.1004)">W</text>
<text transform="translate(628.5344 239.1004)">W</text>
<text transform="translate(1263.0288 382.2166)">W</text>
<text transform="translate(1239.3726 418.7044)" class="loser">L</text>
<polyline class="loser" points="1256,391 1256,625 1323,625"/>
</g>
<g id="connectors_4_2"{{if (index .Matchups "4_2").IsActive}} class="active"{{end}}>
<rect class="coverup" x="955.326" y="589.109" width="68.612" height="200.486"/>
<text transform="translate(1223.2803 681.0883)">W</text>
<text transform="translate(1223.3726 717.1893)" class="loser">L</text>
<line class="loser" x1="1238" y1="689" x2="1238" y2="738"/>
<line class="loser" x1="1246.485" y1="729.515" x2="1229.515" y2="746.485"/>
<line class="loser" x1="1246.485" y1="746.485" x2="1229.515" y2="729.515"/>
<text transform="translate(926.2617 775.3125)">W</text>
<text transform="translate(926.2617 585.3125)">W</text>
<polyline points="955,593 955,655 1008,655"/>
<polyline points="955,783 955,725 1008,725"/>
</g>
<g id="connectors_5_1"{{if (index .Matchups "5_1").IsActive}} class="active"{{end}}>
<rect class="coverup" x="1523.794" y="381.275" width="83.494" height="287.877"/>
<polyline points="1481,390 1553,390 1553,474 1633,474"/>
<polyline points="1481,656 1553,656 1553,542 1633,542"/>
<text transform="translate(628.5344 429.1004)">W</text>
<text transform="translate(628.5344 239.1004)">W</text>
<text transform="translate(1562.4487 647.8822)">W</text>
<line class="loser" x1="1538" y1="657" x2="1538" y2="706"/>
<line class="loser" x1="1546.485" y1="697.515" x2="1529.515" y2="714.485"/>
<line class="loser" x1="1546.485" y1="714.485" x2="1529.515" y2="697.515"/>
<text transform="translate(1223.4487 680.8822)">W</text>
<text transform="translate(1239.3726 418.7044)" class="loser">L</text>
<polyline class="loser" points="1256,391 1256,625 1323,625"/>
<text transform="translate(1522.3726 684.1893)" class="loser">L</text>
</g>
<g id="connectors_6_1"{{if (index .Matchups "6_1").IsActive}} class="active"{{end}}>
<rect class="coverup" x="1523.794" y="381.275" width="83.494" height="287.877"/>
<polyline points="1481,390 1553,390 1553,474 1633,474"/>
<polyline points="1481,656 1553,656 1553,542 1633,542"/>
<text transform="translate(1518.4487 647.8822)">W</text>
<text transform="translate(1225.4487 382.1549)">W</text>
</g>
2022-08-20 23:13:40 -07:00
</g>
{{end}}
</g>
{{else}}
2022-08-20 23:13:40 -07:00
<g id="connectors_standardbracket">
{{if index .Matchups "1_1"}}<polyline class="cb16 st8" points="139,247 325,247 325,342 456,342"/>{{end}}
{{if index .Matchups "1_2"}}<polyline class="cb16 st8" points="139,437 325,437 325,342 396,342"/>{{end}}
{{if index .Matchups "1_3"}}<polyline class="cb16 st8" points="139,627 325,627 325,722 456,722"/>{{end}}
{{if index .Matchups "1_4"}}<polyline class="cb16 st8" points="139,817 325,817 325,722 396,722"/>{{end}}
{{if index .Matchups "1_5"}}<polyline class="cb16 st8" points="1725,247 1590,247 1590,342 1495,342"/>{{end}}
{{if index .Matchups "1_6"}}<polyline class="cb16 st8" points="1725,437 1590,437 1590,342 1539,342"/>{{end}}
{{if index .Matchups "1_7"}}<polyline class="cb16 st8" points="1725,627 1590,627 1590,722 1495,722"/>{{end}}
{{if index .Matchups "1_8"}}<polyline class="cb16 st8" points="1725,817 1590,817 1590,722 1539,722"/>{{end}}
<polyline id="c2a" class="cb16 st8" points="415,342 581,342 581,577 698,577"/>
<polyline id="c2b" class="cb16 st8" points="415,722 581,722 581,577 644,577"/>
<polyline id="c2c" class="cb16 st8" points="1440,342 1336,342 1336,577 1263,577"/>
<polyline id="c2d" class="cb16 st8" points="1440,722 1336,722 1336,577 1297,577"/>
<polyline id="c3a" class="cb16 st8" points="756,577 832,577 832,497 909,497"/>
<polyline id="c3b" class="cb16 st8" points="1161,577 1085,577 1085,497 1008,497"/>
{{if index .Matchups "2_1"}}<polyline class="cb8 st8" points="577,247 742,247 742,410 994,410"/>{{end}}
{{if index .Matchups "2_2"}}<polyline class="cb8 st8" points="577,437 742,437 742,410 915,410"/>{{end}}
{{if index .Matchups "2_3"}}<polyline class="cb8 st8" points="577,627 742,627 742,654 915,654"/>{{end}}
{{if index .Matchups "2_4"}}<polyline class="cb8 st8" points="577,817 742,817 742,654 994,654"/>{{end}}
<polyline id="c3a" class="cb8 st8" points="886,410 1125,410 1125,532 1303,532"/>
<polyline id="c3b" class="cb8 st8" points="886,654 1125,654 1125,532 1224,532"/>
{{if index .Matchups "3_1"}}<polyline class="cb4 st8" points="753,486 967,486 967,588 1117,588"/>{{end}}
{{if index .Matchups "3_2"}}<polyline class="cb4 st8" points="753,690 967,690 967,588 1048,588"/>{{end}}
</g>
{{end}}
2022-08-20 23:13:40 -07:00
</g>
<g id="matches">
{{range $matchup := .Matchups}}
{{template "matchup" index $matchup}}
{{end}}
</g>
<g id="labels">
{{if eq .BracketType "double"}}
2022-08-20 23:13:40 -07:00
<text x="219" y="975">Round 1</text>
<text x="516" y="975">Round 2</text>
<text x="813" y="975">Round 3</text>
<text x="1109" y="975">Round 4</text>
<text x="1405" y="975">Round 5</text>
<text x="1702" y="975">Finals</text>
<text id="finals_subtitle" x="1802" y="434">Best-of-3</text>
{{else}}
2022-08-20 23:13:40 -07:00
<line id="label_underline" x1="663" y1="371" x2="1257" y2="371"/>
<text id="l_r16" transform="translate(198.7197 964.415)" class="label_16">Round of 16</text>
<text id="l_r16" transform="translate(1714.8735 964.415)" class="label_16">Round of 16</text>
<text id="l_qf" transform="translate(452.5196 964.415)" class="label_8">Quarterfinals</text>
<text id="l_qf" transform="translate(1464.7197 964.415)" class="label_16">Quarterfinals</text>
<text id="l_sf" transform="translate(705.8195 964.415)" class="label_4">Semifinals</text>
<text id="l_sf" transform="translate(1211.4189 964.415)" class="label_16">Semifinals</text>
<text id="l_f" transform="translate(959.5 964.415)" class="label_4">Finals</text>
{{end}}
</g>
</g>
</svg>
{{end}}
2022-08-20 23:13:40 -07:00
{{define "matchup"}}
2022-08-21 10:46:18 -07:00
<g id="match_{{.Round}}_{{.Group}}" class="matchblock {{if .IsActive}}active{{end}} {{if .IsComplete}}complete {{.SeriesLeader}}-win{{end}}">
2022-08-20 23:13:40 -07:00
<rect class="structure" id="background" y="23" width="205" height="130.452"/>
<rect class="red" y="23" width="45.567" height="66.319"/>
<rect class="blue" y="89.133" width="45.567" height="64.319"/>
<line class="structure" x1="0" y1="89" x2="205" y2="89"/>
<rect class="structure" y="23" width="205" height="130.452"/>
<text id="series_status" x="203.9999" y="170.5669" class="{{.SeriesLeader}}">{{.SeriesStatus}}</text>
<text id="match_title" x="0" y="17.3691">{{.DisplayName}}</text>
{{if .RedAlliance}}
2022-08-21 10:46:18 -07:00
<text x="22" y="70" class="alliancenum r">{{.RedAlliance.Id}}</text>
{{if ge (len .RedAlliance.TeamIds) 3}}
2022-08-21 10:46:18 -07:00
<text x="86.7247" y="54.0281" class="teamnum r">{{index .RedAlliance.TeamIds 0}}</text>
<text x="162.8365" y="54.0281" class="teamnum r">{{index .RedAlliance.TeamIds 1}}</text>
<text x="86.7247" y="81.2683" class="teamnum r">{{index .RedAlliance.TeamIds 2}}</text>
{{end}}
{{if ge (len .RedAlliance.TeamIds) 4}}
2022-08-21 10:46:18 -07:00
<text x="162.8365" y="81.2683" class="teamnum r">{{index .RedAlliance.TeamIds 3}}</text>
{{end}}
{{else}}
2022-08-20 23:13:40 -07:00
<text class="placeholder" x="101.1501" y="66.5769">{{.RedAllianceSource}}</text>
{{end}}
{{if .BlueAlliance}}
2022-08-21 10:46:18 -07:00
<text x="22" y="135" class="alliancenum b">{{.BlueAlliance.Id}}</text>
{{if ge (len .BlueAlliance.TeamIds) 3}}
2022-08-21 10:46:18 -07:00
<text x="86.7247" y="119.1797" class="teamnum b">{{index .BlueAlliance.TeamIds 0}}</text>
<text x="162.8365" y="119.1797" class="teamnum b">{{index .BlueAlliance.TeamIds 1}}</text>
<text x="86.7247" y="146.4199" class="teamnum b">{{index .BlueAlliance.TeamIds 2}}</text>
{{end}}
{{if ge (len .BlueAlliance.TeamIds) 4}}
2022-08-21 10:46:18 -07:00
<text x="162.8365" y="146.4199" class="teamnum b">{{index .BlueAlliance.TeamIds 3}}</text>
{{end}}
{{else}}
2022-08-20 23:13:40 -07:00
<text class="placeholder" x="101.1501" y="130.4177">{{.BlueAllianceSource}}</text>
{{end}}
</g>
{{end}}