Better mobile formatting

This commit is contained in:
Brian Buller 2018-06-18 08:49:15 -05:00
parent 4591d3c827
commit 88ce4097b6
13 changed files with 259 additions and 207 deletions

View File

@ -141,9 +141,15 @@ func handleAdminVotes(w http.ResponseWriter, req *http.Request, page *pageData)
Results []Ranking
}
vpd := new(votePageData)
now := time.Now()
dayThresh := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
for i := range m.jam.Votes {
v := new(vpdVote)
v.Timestamp = m.jam.Votes[i].Timestamp.Format(time.RFC3339)
if m.jam.Votes[i].Timestamp.Before(dayThresh) {
v.Timestamp = m.jam.Votes[i].Timestamp.Format("Jan _2 15:04")
} else {
v.Timestamp = m.jam.Votes[i].Timestamp.Format(time.Kitchen)
}
v.ClientId = m.jam.Votes[i].ClientId
for _, choice := range m.jam.Votes[i].Choices {
for _, fndTm := range m.jam.Teams {

287
assets.go
View File

@ -190,43 +190,46 @@ var _escData = map[string]*_escFile{
"/assets/css/admin.css": {
local: "assets/css/admin.css",
size: 291,
modtime: 1506689947,
size: 252,
modtime: 1529324817,
compressed: `
H4sIAAAJbogA/2TPwW7DIAwG4DtPYalnqnbTDkmueRECjFkDjAxMlaa8+yCJom29/nz4tw1+XTXFYmOB
bwEQFDuM0tv3MsL97ZYek1iF6GyhUijInJS2v+2ed31gDO5aPmpYokK/SV05E4+QCFsVnyPZ5upLln0D
hdHyphdiY5u+pwdk8mjgMgzDdL5IVgZrHuG1F7ZU6U/HVKNpg3zvuczzPD1v+HLbPyRlDEZ3XPk//atX
8RMAAP//j2OxNiMBAAA=
H4sIAAAJbogA/2SOzarDIBCF9z7FQNaGm3u5iyTbvIhRa4eqI6OWQMm7Nz9QKNl+8805x+CznakUCjIn
pS28BEBQ7DDKkw/Q/adlFKsQGFxb7jXMUaE/TF05Ew+QCGOxfFh7JNtcfclSUywKo+XDnomN3ewuLZDJ
o4Gm7/vxc5GsDNY8wN9euFGlH46pRrMF+b2nmaZpvC78/TkfkjIGo5Pe3sqVftureAcAAP//BQCMs/wA
AAA=
`,
},
"/assets/css/gjvote.css": {
local: "assets/css/gjvote.css",
size: 4498,
modtime: 1517262141,
size: 5010,
modtime: 1529328784,
compressed: `
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
AP//znRJ1pITAAA=
`,
},
@ -321,27 +324,28 @@ H4sIAAAJbogA/wEAAP//AAAAAAAAAAA=
"/assets/js/gjvote.js": {
local: "assets/js/gjvote.js",
size: 3561,
modtime: 1506689947,
size: 3874,
modtime: 1517841211,
compressed: `
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
`,
},
@ -11944,68 +11948,69 @@ K5ery4r/BLWa+n4HAAD//wwzWIlKAwAA
"/templates/admin-clients.html": {
local: "templates/admin-clients.html",
size: 1023,
modtime: 1506689947,
size: 1173,
modtime: 1529329301,
compressed: `
H4sIAAAJbogA/5RTQavbMAy+91eI0OPSwI7DCYyVQdh4vMPeYUclVhqDYwfHL6OU/vfJSdMlbdPxCg2y
9En6JH8+nUBVYKyH3S9qWo2e9uhx900rMr6D83kjpOqh1Nh1adS1WFLck/OqRB1lLxZQSuWVNagZNCbV
2BMURAbw3dfsYrAnKRKulG24JemOhtIeC02gZBpdcuPBE137WTdC2ndH8a0ZF9ZJciSh5FxyUbYBENwR
ZbDCT3g3meOxzr477iT1EV6wIZGw5wYwzg75/lHwJ3Yefhj7x0D++gjwdTnyPWDuY3vgF3wX1sIXVh4n
AC/LoTkQbNUn2PbwJV29KFgbWWZcZdvvwryM417yMeDtLd8/BeSv62GWESPC9IHLb+rg30UD6yScjFzJ
nx2HmRfFFkGBUDuq0ihB2SiTXHSTLCZIJAXlXWXUOtWgO0aZUJOrQqgw/hw+3h4OLCZrOJ4o/uMdn0mw
H2ey4EHOWfcfFlX1hMawwPnuZructHSLZf+oKDbCqxlf4Bj9GwAA///E71UP/wMAAA==
H4sIAAAJbogA/5RUwYrbMBC95ysGkUMLdQQ9FsWwNJfQsuyhe+hxEo0TgSwZSesSlv33jqI4jd1smwRi
xqN5M8/znv36CqYB5xMsflDbWUy0woSLr9aQSxHe3mZKmx62FmNcitjhlqqeQjJbtKJ+9IBam2S8Q8tF
BbTHnmBD5ABf0p5TXJxIK8md6hmPJBvp2DrhxhIYvRQnbHXMiPM8H0pJ9xKomobVxgdNgTRsGUtB1DMA
xRNR5yj/VApDWG739QNzUpKDSf4RW7qSH6h4Zw+VxbAjUZftwHp1Y/13jAm+Of/LwfrpRszDeHV/MBwf
nynnTk+q0sbrw1DACw7odgRz8wnmPXxZvisuvLcmfXl7bMk2mfeLzCord3moEPaBmqWQqFvj5ElKySBG
PD+vV4yQmrIZzsp2wbQYDqJWZkg1CA1Wn/Ml+d2O9fWOz6XhP/7FZ/DQ/UxGPCgEH/7Domn+QcPpMQuW
RU93WeZng3Gt6kZyxxYtv0kfRhw/KtnVVzpdM8oIeBdm/XQXYuQA+EnxQgbgL8F5G5ctB7dO18X54lkO
8rtcvgvl9HcAAAD//w5BhnqVBAAA
`,
},
"/templates/admin-editteam.html": {
local: "templates/admin-editteam.html",
size: 13682,
modtime: 1516991452,
size: 13866,
modtime: 1529328971,
compressed: `
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
HKFyNQAA
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
`,
},
@ -12030,14 +12035,14 @@ zrZTSnYGAAA=
"/templates/admin-games.html": {
local: "templates/admin-games.html",
size: 507,
modtime: 1506689947,
size: 592,
modtime: 1529329086,
compressed: `
H4sIAAAJbogA/3RRwW6DMAy98xUW4jjofQJOk3brZfsBg98KEiRVkiFNVf99TrJq3dpeome/Z/vZOZ1o
/iBjAzXvWI8LB7xwYA149XQ+F63MW7+3dOAVnibeQANgaHRQrbS7yBfaBotHKgg8LKBZujLV1CkuaVzY
+6701mXB8dOh/g/rwTqBg9AIE+DKviBqwwSWiCJ2GaR0/6oTaK9Pu9Poioj+7xJvahzGTzb4X0pRahsz
P6PaMFj5yrRu59gcQNX8RNVGz92Da9GtR+m1utqa6LSJhlSmY+RW8Zhc9N6XFlf+/4gvKyS3MBK/ImXz
GgriffNPZfY7AAD//1NqSJj7AQAA
H4sIAAAJbogA/3RRQW/zIAy991dYqMcvzf0T5TRpt162P2CKl0QiEAGLFFX97zPQqE3XXdCz3zN+ti8X
GL7A+QSHTxoni4neMCEHOEa4XnfSDLM6eehwpAg9zgSayME5EGuNbDO/42/IRioFCbUlGMxRlJqmxALO
FmM8iuhDFUzfgZpn2GgfDAUycCaXKAi1A5CpJzQZZRwqKGn1zh3gxI9sOboTazfv7NJYDB0JlUd6pVUf
PAu52PsU7xSj0ilnbt1l0t4sleaBA7qOYD/8g/0M/49/LBB+2zaKq/fzIZs/ZEMsk9PGchzRWqH0InWA
9qZfpe2k2JV5+PDVuE81G30mLR9xNfGwgY14XUKZl5zJ9y3ZuggG+Wj1/JX9CQAA//9YnNSjUAIAAA==
`,
},
@ -12057,17 +12062,17 @@ Xo6z3V9nVvnKh0MZ+h0AAP//kX1qvCYDAAA=
"/templates/admin-main.html": {
local: "templates/admin-main.html",
size: 1541,
modtime: 1506689947,
size: 1534,
modtime: 1529324657,
compressed: `
H4sIAAAJbogA/6xTTW/bMAy991dwRoBcJrvtboVjIMiAnfaBrtvOis04QmUpk2QHQdH/PtJygmRN2yDt
xbLIp6dHPiqvVAellt5PktKagCYkxQUAx3mlv+Wn4kc716qEr7bCPKN9TMzbEKwBa0pK3k+StTKVXafa
ljIoa9Klw8VknMmqUSZr6Gx2OU62l61ahyIyiGDrWqNYKOcD7CXg4QHUAvAvpFEBC4BLeHzcP71yqpFu
Q1g0FeWS4o9UQZk6zyLibLlXL8qlxAlqr15V+9v+LzbPhu7nH4R4YsZUa7vGCuI5uENHgqX25zoj27B8
oztTojjRm+9Gb4DxNGmK5FAhM61o499i166Gsy3blfC6YVOzGTTDTBr2AY+6JwR/n52KwditXIe+1cEL
foVSGXTxHS6vi1nrHF92GxHk8/VA7KSpEUbqI4w6uJlAeofNSlNTP8sg4xX7uMDA0CNHHWFl47egHkbB
W2nuKXbTb0OXfpMN0j6fO8iKLV1sxMXh/67sg+Dh5LJX8BNLNvDIvD41LjnR/4488OP+LeEzg3Q+eeBG
EXnfsPcmr6nBTP6F1/cmbz06Jv/F65EZHZZ/AQAA//8pWoRoBQYAAA==
H4sIAAAJbogA/6xTTW/bMAy991dwRoBcJrvtboVtIMiAnfaBrtvOis3YQmUpk2QHQdH/Psqyg2RN28Dt
xbLIp6dHPiotRQeF5NZmUZRfAPiAX+mv/pT/aFdSFPBVl5gmtA+JVeucVqBVQcn7LNoKVeptLHXBndAq
rg2us3nCy0aopKGzyeU8Gm/ZtAZZYGBOV5VEthbGOjhIwMMDiDXgX4iDAi8ALuHx8fD0xoiGmx1hUZWU
i/I/XDihqjQJiMlyr16US4kz1F69qva3/l9smgzdTz8w9sSMhZR6iyWEc3CHhgRzaac6w1tXv9GdBVGc
6c13JXfg8aicIDlUyFIK2ti32LWvYbJl+xJeN2yhdoNmWHLlfcCT7jHmv89OxWDsKNegbaWzrNDKcaHQ
hHdYX+fL1hh/2W1AkM/XA7HhqkKYiY8w6+Amg/gOm42kpn7mjocrDnHOA12PnHWE5Y0dQT2Mgrdc3VPs
pt+6Lv7GG6R9ujKQ5CNdaMTF8f++7KPg8eR6r+AnFt7AE/P61LjoTP878sDO+7eEzwzSdHLnG0XkfcPe
m7yiBnvyL359b/LWovHkv/x6YkaH5V8AAAD//6BFHFz+BQAA
`,
},
@ -12082,17 +12087,17 @@ H4sIAAAJbogA/wEAAP//AAAAAAAAAAA=
"/templates/admin-teams.html": {
local: "templates/admin-teams.html",
size: 1090,
modtime: 1506689947,
size: 1248,
modtime: 1529326977,
compressed: `
H4sIAAAJbogA/5xTwYrcMAy9z1eIMMdmfC8eQ2GhFNo97X6AEms2po4z2E5KWfbfK9tJmxmSlm5Osvyk
J708S20maC2GcK6aIcahr8MVW4KWXCRfqQOARDCar6P7pPUTYV8tFdfRU92MXOZgFddhbFsKoYLO0+Vc
CdS9cSJyaRCOflRKmqXFBeGC9dWOgbPCKGAOSCRSoDpIwfOpw+srmAu4IcLpifqrxUgPGPGUcAHe3g5p
DfU4QKaADieChshB64mx+k8bsoFyQcTGUt4r19T5/HuxMPgCyFvdh3UzeE2e9I1KsSPUKUqfjH4Jy7FT
j9iTFBzc5b+hwxfquRN8Ne77JoT6hnzYuvq803Wd4zhPk3LzjDI2g/65AFgYj+6F4Gg+wHGCj+cdoWFv
Pa24x3E6pSUZx0z6HsA2mu2QFBcF//z85YHxlbo5pn+/1YJBlv8qA2dFdqhKsyTN3wZaHbPJN8x6M5Ug
beI/vc+iGbfhcHKtscXj2dr/S67JUqT30kePodtkXyuzGGX2BDmd3krOF7twkB5AeUrl9lcAAAD//1lQ
SRlCBAAA
H4sIAAAJbogA/5xTzW7bMAy+5ykII8c5ug+KgAEFhgFbT+0D0BYTC9OPISkZiqLvPkq2u6R1sWw+kTS/
jz/iJ7U5Q28xpX3ThZyDa9OIPUFPPlNs1AZAIhjNv7P/ovUDoWsWxHiK1HYnhnm4sNt06ntKqYEh0mHf
CNTOeJEZmoSnX42SZqE4IBywHe0pcVQYBVwDShEpUG2k4P7U5vkZzAF8yLB7IDdazHSHGXclL8HLy6aM
oe4D1BIw4JmgI/LQR+Jc/YeGbKIKyNhZqnNVTFv918FSiFNCneqt2XYhaoqkr7aUB0JdrPLJHBdzcgd1
j46kYOM6vpQM3j61FuORGvUDPR7JMTl8N/7nrShyHcV0Y/bX9XbUZYztOkaJzcPJ3AX9tCTwRiP6I8HW
fILtGT7vP3gh+GgvWjHH9rwr2+E8OV71mhxa28wppePXPDGWTvUbsrVB+XznMywvLSaux8dvd0yzUM9u
ubkbWRln+cAYO6+9wm+FvpvmHfDSrRJckdJV74K0yX9VJr+M8Sv6I98bOymwCu9fi2uylOl/y+eIaVit
frmZ5RrnwyOvi5JrfLpJNoo8J6FPf38HAAD//zs8r8zgBAAA
`,
},
@ -12114,16 +12119,16 @@ XzHfrrS2uzLN6JsOkTvo3Iny7fxf2KYCxs3I30osvf4OAAD//yR+jxHtAwAA
"/templates/admin-votes.html": {
local: "templates/admin-votes.html",
size: 848,
modtime: 1516741087,
size: 881,
modtime: 1529325858,
compressed: `
H4sIAAAJbogA/3xSPW/cMAzd/SsI48b6DLRbIAsoLkuWDsGhu2wxOaGyZEg8A0WQ/15KtqPcRzOJfHoU
Hx8ltJlhsCrGrg4Yz5ZiM3hHyjgMtazE6bs8nENAR/C83IuWsertDYJyrwg78w12Mzx0sD/iOFlF+KhI
7Vc2vL9XAIVNiU6Zv5u5Qo0rJZMYelbuDyMPOaV5/0uNyLnoA7RyeQqdTjUlEi2PwWJJ9RbB6K6ePWFs
cl5v80UfFsJ0Dthch03vg8aAGgYeNg8PIOiESsssT1BYggzLoxkxkhon0XL26eJgTXLr6fH6Ik1m3Gss
OEf5zYSsfQT1Xv+VmyFfe/zT2t9p0M3BC4laLoZ+CE0utqRvGYviJ32HsIaceFuSImxIyoZtnYeTN0OR
s1Zak/sMZZctQ58fW9f4UdGWZkXQZtZlBaObYYJevKc7y9LbD7D4QvwdvI2Tcl39o07CLLr/2wpHT8pC
Tm+l8Lm05CD9IVn9CwAA//8Mc47HUAMAAA==
H4sIAAAJbogA/3xSwW7bMAy95ysII8c5BrZboQgY0ksvOxTB7rLFJsJkyZAYA0XRfx8l2VWSdT2FfHn0
e3yU0GaGwaoY903AeLEU28E7UsZhaORGnL/LwyUEdATP5X/RMbZ5e4Og3Alha77BdoaHPeyOOE5WET4q
UruFDe/vG4DKpkSnzN/OPKHGhZJJDD0r94eRh9zSvPulRuRe9AE6WT6FTqeZWomO12CzpHqLYPS+mT1h
bHPfrPtFHwphugRs78u290FjQA0DL5uXBxB0RqVlticolCLD8mhGFB0XV1jybtwp3uGrAe/sa2tVOGEj
D9akTJ8eK5errJCQRVVQ7/WrXOP5OvGf1v5Oa6953hjWssSbbEdS45Qy7UhfM5aSG29rU3WHJDystzuc
vRmq2jJpTRYa6uE6hq4/ttzsY6KrYneGPsutbFHSe9I3S6z53aowumYo6MV7+uSaH0oWX4jfi7dxUm7f
/Mh6Ft3/k4ajJ2Uht/9a4d8iyUV6ZHLzNwAA//+9mrcmcQMAAA==
`,
},

View File

@ -1,7 +1,3 @@
div.content {
margin-left: 150px;
}
div.bottom-space {
margin-bottom: 15px;
}

View File

@ -312,21 +312,46 @@ input.larger {
background-color: #229af9;
color: #FFFFFF;
}
.content {
margin-left: 150px;
}
}
/* Small Screens */
@media screen and (max-width:35.5em) {
div.pure-control-group label.control-label {
text-align: left;
}
}
@media screen and (max-width:64em) and (min-width: 48em) {
div.pure-control-group label.control-label {
text-align: left;
.only-large {
display: none;
}
.only-small {
display: default;
}
.team-management-buttons {
text-align:left;
}
.team-management-buttons>.pure-button {
margin-top: 1em;
}
}
/* Starting at Small, horizontal */
@media screen and (min-width: 35.5em) {
div.content {
margin-left: 150px;
}
div.pure-control-group label.control-label {
text-align: left;
}
.only-small {
display: none;
}
}
/* Small Horizontal to Medium */
@media screen and (min-width: 35.5em) and (max-width: 48em) { }
/* Medium Screens */
@media screen and (min-width: 48em) and (max-width:64em) { }
/* Larger Screens */
@media (min-width: 64em) { }

View File

@ -1,3 +1,26 @@
(function(){
document.onkeydown = function(evt) {
evt = evt || window.event;
var isEscape = false;
if("key" in evt) {
isEscape = (evt.key == "Escape" || evt.key == "Esc");
} else {
isEscape = (evt.keyCode == 27);
}
if(isEscape) {
toggleAdminPanel();
}
}
document.querySelector('.menu-button').onclick = function() {
var mnu = document.querySelector('#menu .menu-container');
if(mnu.style.display == 'inline-block') {
mnu.style.display = 'none';
} else {
mnu.style.display = 'inline-block';
}
}
})()
function toggleAdminPanel() {
var menu = document.querySelector('#menu');
if(menu.classList.contains('hidden')) {
@ -9,20 +32,6 @@ function toggleAdminPanel() {
}
}
document.onkeydown = function(evt) {
evt = evt || window.event;
var isEscape = false;
if("key" in evt) {
isEscape = (evt.key == "Escape" || evt.key == "Esc");
} else {
isEscape = (evt.keyCode == 27);
}
if(isEscape) {
toggleAdminPanel();
}
}
function showModal(options) {
var modal = document.getElementById('modal-overlay');
document.getElementById('modal-title').innerText = (options.title)?options.title:"";

View File

@ -136,7 +136,7 @@ func main() {
}()
fmt.Printf("Listening on port %d\n", m.site.Port)
log.Fatal(http.ListenAndServe("127.0.0.1:"+strconv.Itoa(m.site.Port), chain))
log.Fatal(http.ListenAndServe(m.site.Ip+":"+strconv.Itoa(m.site.Port), chain))
}
func loadConfig() {
@ -154,6 +154,9 @@ func loadConfig() {
case "-title":
m.site.Title = val
fmt.Print("Set site title: ", m.site.Title, "\n")
case "-ip":
m.site.Ip = val
fmt.Print("Set site IP: ", m.site.Ip, "\n")
case "-port":
var tryPort int
var err error

View File

@ -12,6 +12,7 @@ import (
*/
type siteData struct {
Title string
Ip string
Port int
SessionName string
ServerDir string
@ -32,6 +33,7 @@ type siteData struct {
func NewSiteData(m *model) *siteData {
ret := new(siteData)
ret.Title = "ICT GameJam"
ret.Ip = "127.0.0.1"
ret.Port = 8080
ret.SessionName = "ict-gamejam"
ret.ServerDir = "./"
@ -65,6 +67,9 @@ func (s *siteData) LoadFromDB() error {
if title, _ := s.m.bolt.GetValue(s.mPath, "title"); strings.TrimSpace(title) != "" {
s.Title = title
}
if ip, err := s.m.bolt.GetValue(s.mPath, "ip"); err == nil {
s.Ip = ip
}
if port, err := s.m.bolt.GetInt(s.mPath, "port"); err == nil {
s.Port = port
}
@ -97,6 +102,9 @@ func (s *siteData) SaveToDB() error {
if err = s.m.bolt.SetValue(s.mPath, "title", s.Title); err != nil {
return err
}
if err = s.m.bolt.SetValue(s.mPath, "ip", s.Ip); err != nil {
return err
}
if err = s.m.bolt.SetInt(s.mPath, "port", s.Port); err != nil {
return err
}

View File

@ -4,20 +4,16 @@
<table id="clients-table" class="sortable pure-table pure-table-bordered center">
<thead>
<tr>
<th>Friendly Name</th>
<th>Client ID</th>
<th>Last Known IP</th>
<th>Authenticated</th>
<th></th>
<th>Auth</th>
<th>Name</th>
<th class="only-large">Client ID</th>
<th class="only-large">Last Known IP</th>
<th class="only-large">Authenticated</th>
</tr>
</thead>
<tbody>
{{ range $i, $v := .TemplateData.Clients }}
<tr>
<td>{{ $v.Name }}</td>
<td>{{ $v.UUID }}</td>
<td>{{ $v.IP }}</td>
<td>{{ if $v.Auth }} Yes {{ else }} No {{ end }}</td>
<td>
{{ if $v.Auth }}
<a href="/admin/clients/{{ $v.UUID }}/deauth" class="primary"><i class="fa fa-2 fa-toggle-on"></i></a>
@ -25,6 +21,10 @@
<a href="/admin/clients/{{ $v.UUID }}/auth" class="error"><i class="fa fa-2 fa-toggle-off"></i></a>
{{ end }}
</td>
<td>{{ $v.Name }}<p class="only-small">({{ $v.UUID }})</p></td>
<td class="only-large">{{ $v.UUID }}</td>
<td class="only-large">{{ $v.IP }}</td>
<td class="only-large">{{ if $v.Auth }} Yes {{ else }} No {{ end }}</td>
</tr>
{{ end }}
</tbody>

View File

@ -1,10 +1,10 @@
{{ $uuid := .TemplateData.UUID }}
<div class="center">
<div>
<div class="team-management-buttons">
<h3>Team Management</h3>
<button id="edit-team-button" onclick="javascript:gotoTeamTab();" class="pure-button-toggle-first pure-button pure-button-primary">Team Details</button>
<button id="edit-game-button" onclick="javascript:gotoTeamGameTab();" class="pure-button-toggle-middle pure-button">Game Details</button>
<button id="edit-team-members-button" onclick="javascript:gotoTeamMemberTab();" class="pure-button-toggle-last pure-button">Team Members</button>
<button id="edit-team-button" onclick="javascript:gotoTeamTab();" class="pure-button-toggle-first pure-button pure-button-primary">Team Details</button><br class="only-small" />
<button id="edit-game-button" onclick="javascript:gotoTeamGameTab();" class="pure-button-toggle-middle pure-button">Game Details</button><br class="only-small" />
<button id="edit-team-members-button" onclick="javascript:gotoTeamMemberTab();" class="pure-button-toggle-last pure-button">Team Members</button><br class="only-small" />
</div>
<div id="edit-team-tab" class="left">
<form class="pure-form pure-form-aligned" action="/admin/teams/{{ $uuid }}/save" method="POST">
@ -16,10 +16,10 @@
<input id="teamname" name="teamname" value="{{ .TemplateData.Name }}" placeholder="Team Name">
</div>
</div>
<div class="pure-control-group reset-pull">
<a href="/admin/teams" class="pull-left space pure-button pure-button-plain">Cancel</a>
<button type="submit" class="pull-right space pure-button pure-button-primary">Update Team</button>
<button type="button" id="btnDeleteTeam" class="pull-right space pure-button pure-button-error">Delete Team</button>
<div class="pure-control-group team-management-buttons">
<a href="/admin/teams" class="pure-button pure-button-plain">Cancel</a>
<button type="submit" class="pure-button pure-button-primary">Update Team</button>
<button type="button" id="btnDeleteTeam" class="pure-button pure-button-error">Delete Team</button>
</div>
</fieldset>
</form>
@ -73,9 +73,9 @@
<thead>
<tr>
<th>Name</th>
<th>Slack ID</th>
<th>Twitter</th>
<th>Email</th>
<th class="only-large">Slack ID</th>
<th class="only-large">Twitter</th>
<th class="only-large">Email</th>
<th>Remove</th>
</tr>
</thead>
@ -83,9 +83,9 @@
{{ range $i, $v := .TemplateData.Members }}
<tr>
<td>{{ $v.Name }}</td>
<td>{{ $v.SlackId }}</td>
<td>{{ $v.Twitter }}</td>
<td>{{ $v.Email }}</td>
<td class="only-large">{{ $v.SlackId }}</td>
<td class="only-large">{{ $v.Twitter }}</td>
<td class="only-large">{{ $v.Email }}</td>
<td>
<form action="/admin/teams/{{ $uuid }}/deletemember" method="POST">
<input type="hidden" name="memberid" value="{{ $v.UUID }}"/>

View File

@ -5,15 +5,15 @@
<thead>
<tr>
<th>Game Name</th>
<th>Team Name</th>
<th class="only-large">Team Name</th>
<th>Screenshots</th>
</tr>
</thead>
<tbody>
{{ range $i, $v := .TemplateData.Teams }}
<tr>
<td>{{ $v.Game.Name }}</td>
<td>{{ $v.Name }}</td>
<td>{{ $v.Game.Name }}<p class="only-small">by<br />{{ $v.Name }}</p></td>
<td class="only-large">{{ $v.Name }}</td>
<td>{{ len $v.Game.Screenshots }}</td>
</tr>
{{ end }}

View File

@ -1,4 +1,4 @@
<div class="content">
<div class="">
<div>
<h3>Public Mode</h3>
<button onclick="window.location.href='/admin/mode/0'" class="pure-button-toggle-first pure-button {{ if eq .PublicMode 0 }}pure-button-primary{{ end }}">Waiting</button>

View File

@ -8,19 +8,19 @@
<thead>
<tr>
<th>Name</th>
<th>Management Link</th>
<th>Members</th>
<th>Game</th>
<th class="only-large">Management Link</th>
<th class="only-large">Members</th>
<th class="only-large">Game</th>
<th></th>
</tr>
</thead>
<tbody>
{{ range $i, $v := .TemplateData.Teams }}
<tr>
<td>{{ $v.Name }}</td>
<td><a href="/team/{{ $v.UUID }}">{{ $v.UUID }}</a></td>
<td>{{ len $v.Members }}</td>
<td>{{ $v.Game.Name }}</td>
<td>{{ $v.Name }}<p class="only-small">{{ $v.Game.Name }}</p></td>
<td class="only-large"><a href="/team/{{ $v.UUID }}">{{ $v.UUID }}</a></td>
<td class="only-large">{{ len $v.Members }}</td>
<td class="only-large">{{ $v.Game.Name }}</td>
<td>
<a href="/admin/teams/{{ $v.UUID }}/edit" class="pure-button pure-button-plain"><i class="fa fa-pencil"></i></a>
<a href="/admin/teams/{{ $v.UUID }}/delete" class="pure-button pure-button-plain"><i class="fa fa-trash"></i></a>

View File

@ -9,16 +9,15 @@
<table id="votes-table" class="sortable pure-table pure-table-bordered center">
<thead>
<tr>
<th>Timestamp</th>
<th>Client ID</th>
<th>Time</th>
<th>Rankings</th>
<th class="only-large">Client ID</th>
</tr>
</thead>
<tbody>
{{ range $i, $v := .TemplateData.AllVotes }}
<tr>
<td>{{ $v.Timestamp }}</td>
<td>{{ $v.ClientId }}</td>
<td>
<ol>
{{ range $ci, $cv := $v.Choices }}
@ -26,6 +25,7 @@
{{ end }}
</ol>
</td>
<td class="only-large">{{ $v.ClientId }}</td>
</tr>
{{ end }}
</tbody>