{{ define "battleSingle" }} {{ template "head" . }} <body> {{ template "nav" . }} <span id="battle"></span> <h1><a href="#battle">{{ .battle.Name }}</a></h1> <pre> <a href="#settings">Settings</a> <a href="#registered-bots">Registered Bots</a> <a href="#output">Output</a> <a href="#debug">Debug</a> </pre> <span id="settings"></span> <h2><a href="#settings">Settings</a></h2> <table> <tbody> <form id="save" method="POST" action="/battle/{{ .battle.ID }}"> <tr> <td><label for="name">Name:</label></td> <td><input class="border" type="text" id="name" name="name" value="{{ .battle.Name }}"></td> </tr> <!-- <tr> <td><label for="latestBotSubmission">Latest Bot Submission</label></td> <td><input class="border" type="datetime-local" id="latestBotSubmission" name="latestBotSubmission" value="2024-11-08T12:00" ></td> </tr> <tr> <td><label for="battleStart">Battle Start</label></td> <td><input class="border" type="datetime-local" id="battleStart" name="battleStart" value="2024-11-08T16:00" ></td> </tr> <tr> <td><label for="owners">Owners:</label></td> <td> {{ range $idx, $usr := .battle.Owners }}{{if $idx}},{{end}}<a href="/user/{{ $usr.ID }}">{{ $usr.Name }}</a>{{ end }} </td> </tr> --> <!-- <tr> <td><label for="public">Public?</label></td> <td><input type="checkbox" id="public" name="public" {{ if .battle.Public }}checked{{end}}/></td> </tr> --> <tr> <td>Archs</td> <td> {{ range $idx, $arch := .archs }}{{if $idx}},{{end}} <input type="checkbox" class="check-with-label" name="arch-{{$arch.ID}}" id="arch-{{$arch.ID}}" {{if $arch.Enabled}}checked{{end}}/> <label class="label-for-check" for="arch-{{$arch.ID}}">{{$arch.Name}}</label> {{- end }} </td> </td> <tr> <td>Bits</td> <td>{{ range $idx, $bit := .bits }}{{if $idx}},{{end}} <input type="checkbox" class="check-with-label" id="bit-{{$bit.ID}}" name="bit-{{$bit.ID}}" {{if $bit.Enabled}}checked{{end}}/> <label class="label-for-check" for="bit-{{$bit.ID}}">{{$bit.Name}}</label> {{- end }} </td> </tr> <tr> <td>Arena size:</td> <td> <input class="border" type="number" name="arena-size" id="arena-size" value="{{ .battle.ArenaSize }}"/> </td> </tr> <tr> <td>Max Rounds:</td> <td> <input class="border" type="number" name="max-rounds" id="max-rounds" value="100"/> </td> </tr> <tr> <td>Owners</td> <td> {{ $viewerID := .user.ID }} {{ $owners := .battle.Owners }} {{ range $idx, $u := .users}}{{if $idx}},{{- end}} <input type="checkbox" class="check-with-label" name="owner-{{ $u.ID }}" id="owner-{{ $u.ID }}" {{if eq $u.ID $viewerID}}{{end}} {{ range $idx, $own := $owners }} {{if eq $u.ID $own.ID}}checked{{end}} {{ end }} /> <label class="label-for-check" for="owner-{{ $u.ID }}">{{$u.Name}}</label> {{- end }} </td> </tr> </form> <tr> <td></td> <td width="100%"> <div style="display: grid; grid-template-columns: 32% 32% 32%; justify-content: space-between;"> <input class="border" type="submit" value="Save Settings" form="save" style="padding: 0 1ex; width: 100%"> <input class="border" type="submit" value="Run Battle" form="run" style="border: width: 100%"> <input class="border" type="submit" value="Delete this battle" form="delete" style="border: 1px solid red; background: red; color: white; width: 100%"> </div> </td> </tr> {{ if .res }} <tr> <td></td> <td><div style="border: 1px solid blue; padding: 1ex">{{ .res }}</div></td> </tr> {{ end }} <tr> <td><br><hr><br></td> <td><br><hr><br></td> </tr> {{ if .myBots }} <form id="submit" method="POST" action="/battle/{{ .battle.ID }}/submit"> <tr> <td><label for="name">My Bots</label></td> <td style="width: 100%;"> <table style="width: 100%;"> {{ range $bot := .myBots }} <tr class="trhover"> <td style="text-align: center; vertical-align: middle; width: 2ex;"> <input type="checkbox" id="bot-{{$bot.ID}}" name="bot-{{$bot.ID}}" value="{{$bot.ID}}" {{ range $bbot := $.battle.Bots }} {{ if eq $bot.ID $bbot.ID }}checked{{ end }} {{ end }} /> <label for="bot-{{$bot.ID}}"> <a href="/bot/{{$bot.ID}}">{{$bot.Name}}</a> </label> </td> <td style="vertical-align: middle"> </td> </tr> {{ end }} </table> </td> </tr> </form> <form id="run" method="POST" action="/battle/{{ .battle.ID }}/run"> </form> <form id="delete" method="POST" action="/battle/{{ .battle.ID }}/delete"></form> <tr> <td></td> <td width="100%"> <div style="display: grid; grid-template-columns: 100%; justify-content: space-between;"> <input class="border" type="submit" value="Submit Bots" form="submit" style="width: 100%"> </div> </td> </tr> {{ else }} <tr> <td></td> <td><a href='/bot/new'>Upload a bot</a> to get started!</td> </tr> {{ end }} </tbody> <table> <span id="registered bots"></span> <h2><a href="#registered-bots">Registered Bots</a></h2> {{ range $idx, $bot := .battle.Bots}}{{if $idx}}, {{end}}<a href="/bot/{{ $bot.ID }}">{{ $bot.Name }}</a>{{ end -}} <span id="output"></span> <h2><a href="#output">Output</a></h2> <!--<details>--> <pre>{{ .battle.RawOutput }}</pre> <!--</details>--> <span id="debug"></span> <h2><a href="#debug">Debug</a></h2> <details> <pre>{{ . }}</pre> </details> </body> {{ template "footer" . }} {{ end }}