diff --git a/admin_games.go b/admin_games.go
index 0c5dda4..3e47889 100644
--- a/admin_games.go
+++ b/admin_games.go
@@ -1,8 +1,10 @@
package main
import (
+ "fmt"
"io/ioutil"
"net/http"
+ "strings"
"encoding/base64"
@@ -52,11 +54,21 @@ func handleAdminGames(w http.ResponseWriter, req *http.Request, page *pageData)
}
func saveScreenshots(teamId string, req *http.Request) error {
- file, _, err := req.FormFile("newssfile")
+ var err error
+ file, hdr, err := req.FormFile("newssfile")
if err != nil {
return err
}
- data, err := ioutil.ReadAll(file)
+ fmt.Println("File Received: " + hdr.Filename)
+ extIdx := strings.LastIndex(hdr.Filename, ".")
+ fltp := "png"
+ if len(hdr.Filename) > extIdx {
+ fltp = hdr.Filename[extIdx+1:]
+ }
+ data, _ := ioutil.ReadAll(file)
str := base64.StdEncoding.EncodeToString(data)
- return dbSaveTeamGameScreenshot(teamId, &Screenshot{Image: str})
+ return dbSaveTeamGameScreenshot(teamId, &Screenshot{
+ Image: str,
+ Filetype: fltp,
+ })
}
diff --git a/assets.go b/assets.go
index fa8ea1e..d1c8660 100644
--- a/assets.go
+++ b/assets.go
@@ -202,8 +202,8 @@ Y8Pj6dAeZ3gBzLZbhMnSW8r0f78+9y+zlDVuQ3ZNXD8zD+/mGzZjDfK53gEAAP//D/6XxHkAAAA=
"/assets/css/gjvote.css": {
local: "assets/css/gjvote.css",
- size: 4044,
- modtime: 1499645867,
+ size: 4090,
+ modtime: 1499955435,
compressed: `
H4sIAAAAAAAA/6xX7WrcOhP+n6sQLIUWXhk7zTZZB8oLaXIDvQLZ0tpDZMlI8u4mh9z7QR/2WracHg4H
8iOWZkbPzDzzsa3pOPrrBqEOBG4ZNK0pUZHnXx5vPm5uKknf3G0tuVQl2t3f3z9uCRMnadjFYMpqqYgB
@@ -222,9 +222,9 @@ CTMNrbiBeD6kRD6SD3RAaZjbi2EYdz5PXFxEj/nDdThSD3GydsTqf+5HSuLfIIoglRS0TS/dylGY9uPn
4XAInVBSwt1I5cTvTifQUAEH81aiFihlYrsDhwVs1oDD/xtjf/xOl8g7BkHZxYnl6d6mmop8zf+Hwl+2
/5Zw4yeFU7waRWEOnTfUWzJajr/JrWlEFhNrnJ6rrXejYCmcdqyroGmYYPR3rRgTv9tQl+NK1UsYI7MF
MQyk48C5dkaWA+ZLIhl/Xh7itCZzNW9aUyTHBBZ5Xjhw/+8YBYK+2uU/oLjLWffNwbwuievdYe3EHPcR
-Lsytyh83k53V2pRYI1bi07RdKIAAA4Q/RtgCEGdktfykXEgAXsTWEskPu3Dgjc9+6Sx6w2TdCRI7jLMj
-J7oNwrMBeXuXlsyuvfwP3Tzq56EkVtb0UNdM6217t7cHcjx8ai/65bjt8ZVQgexEUPS1I5fAre97u5B/
-C5vTyfdHa1pJji2qHnFSMZ6NZ+4rPLpeDv7Jkz/u7IP+cMbxh/8ext8BAAD//w7sG7XMDwAA
+Lsytyh83k53V2pRYI1bi07RdKIAAA4Q/RtgCEGdktfykXEgAXsTWEskPu3Dgjc9+6Sx6w2TdCbrcc6Lb
+IDobj7d3n6KYZzvt4WQ7u/b+P3T/qP+HElrY0kNdM623rd3eHsjx8Km16Hfmdnyu9AulQQRFXztyCUz8
+vrfr+7ewZ518N7WmleTYouoRJxXj2XjmvsKj61Xinzz5484+6A9nFfHw38P4OwAA///cV+Jj+g8AAA==
`,
},
@@ -310,35 +310,36 @@ GwM5xLYdRhVY/PPdX2X8mMmnqO5/AdOTL+cjjP0hAAAAAElFTkSuQmCCAQAA//+FC1PpvxAAAA==
"/assets/js/admin.js": {
local: "assets/js/admin.js",
- size: 34,
- modtime: 1494731526,
+ size: 0,
+ modtime: 1499949720,
compressed: `
-H4sIAAAAAAAA/0rOzyvOz0nVy8lP11DydA5RcE/MTfVKzFVwTMnNzFPStOYCBAAA//8imS6KIgAAAA==
+H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=
`,
},
"/assets/js/gjvote.js": {
local: "assets/js/gjvote.js",
- size: 3469,
- modtime: 1499644439,
+ size: 3561,
+ modtime: 1499955342,
compressed: `
-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
+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
`,
},
@@ -11973,42 +11974,42 @@ AzZ13XlyoWq0W413wp1qSZRt1WjlGq3oSzub9lZ2CyYO03iFZSGo1fye5Rcp6t8AAAD//+fF4HvJAgAA
"/templates/admin-editteam.html": {
local: "templates/admin-editteam.html",
- size: 7789,
- modtime: 1498145831,
+ size: 7805,
+ modtime: 1499955087,
compressed: `
-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
+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
-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
+usUItlKtIhuRICVG3tVfSYlp4gQGmpioagOMBq+A/T/8vSO8xlW03w9OyWqFwyGCipMMC8kpqlXUGezH
l1C2C7Iy+Hk2elCo0cyrmvO+TgKFwm3/GKOjHs7nLuMu2x4Gm9oYKcLnecUJE9H6RyIy5GlCehYaefNc
4SrS9aZkpm9Asby4aEGxkqjnaP2posQg2Aylid88bc3/iNzZbIy4Q44G7auvdwCVkipaexUnzPdOJE36
-QE4TWz/Nc6EgcVXo37j6HYWXkxJfWHij0npRYaWkQXPukJwEO20Z/9PVxrGGX1WLlyvRGvaVaA2dqsSg
-DrsXAs/P16FVfKIYO5vRV9beV0RLUWcWbDpTrLLHPRWvwS+GKCRdyO6tIGT/uxdMoHKxWETr6UQEUnA4
-pElr6VsnYP2QKUShC2n0VMSjUTYnnEMhFfufFIbwuc6U5BxMUZcbQRh3fhAmUPkmMLURWtjvgW1BSDOV
-lcA5O1gBem1Um2eOq6gkKmdibmS1/O5t9eU2mnD4UpNrWvJ/yY74c1gameccP1VcEvrw8A+pytn1rW2G
+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
-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
-r++/r77EPqtp0g7v/wcAAP//RoELQm0eAAA=
+Puoi0CpbRVbXkpUkx2S/f7Nb/Mw42uZ+ONxuiMb33934lx9ble7VZD0MGAXtRzG1NkB1i4fXJCfEqJsr
+Q97hy3V8oB+NiHol9GcAZCrgQVYGQy388RWMY5JvJD30/GHc49swDz/r+qM/SEt/7LdD/yqc+SeYdztM
+f8FygyrgxKkhG479PgIVoZSJHApGj4MpNQUSGmTAqP7EKNZ+eJpiuP7ASfYZ7u+m9h6fmDGoprZ+Kgnj
+kxuUman1f2MpdwMP0uTop90JYkjNRtLno+jF1tVkr4fgYRbo2veMZt6niaHTAi4p9/SsTJOcszIuSyck
+ht3hRHl0TTRB2oPx2apIWSu4JbAl8wpFxni0ThO2HrWCS745Qnrx2kcdQy7dMZy4/nUaPWPz9VkwSlG0
+9MW/z2jI2IJBkoxUna/1s5x+mCSjiC7aHI2vGH0qP5W8EM+TLXUESMgk1xURq+h9tP5AKRAQ+AQ+C+eU
+n1fVJcA3i+EomrxyvPBm/7IDfs2NHPocXuCTtxES+cFig40Bx/UtwFN2ILWRW5nVesgJTpnTtuYt8AYW
+u/Vpoz/4XnE34h6n7BjfN0Z2uvUTdh7b/RfawdLxrIGVZnXaRq1R/eAkFpkspy29ZrbONaOoL0/YD5RO
+F9wEUXldFaZJMEfSxA3U4P79ei7z7b6bNC61f6xf9jxrx+R0R+R8qTaXDsp0xcnzUkiBt/7zXvFuivx5
+SvFHfmvolHsHBw0BUGQeImXNDauIMu7U5pbWt6k83yQGF6uNNEaWy+/d3ao7Xo/7toszjlGDTP/cgV9r
+v+C98Rjo0zcy5taWYv0iKeGWUp844jHER5T0zyiZtiaG6LGc4eXY6b2lwzv01x/TANY+tXZDC5J9XnCm
+DQpUM5eqvZAUl1RmdYnCLHI0P3G0jx+f7+ks7n3Ki69vcIfCLOOMs+xzfLhxKra1cNidXcO+QYku5JM/
+x33XJAwzHJcQB9/14ptuV9ebVmB26tPtdSBve8wS4g8K4VnWoGuFf4fHgmnIiBDSwAahFlQKXIRvuePT
+S/htHzQzbzj2IAqkASqpmQ1tGVv89bZcCpbQIbbbOtxM6PZBn9DtwDhQTrReQjyiUD0pWz5LiC/ww/jo
+2e/N4+H61j1ZnuQeJ5HRCJ8HyMRnnvi6dbKHlnbRepUTg8sjcKyJI3gAFJpaCWc5MKg/Pj+S3GJhFrMy
+j5sgfBg27+fQaC9Jvj0/FNJ4bPqonxSpZqZg+vq3t7/3E3N1VHdSCSvz1tKOKMsl78scVsDKfJFxKfBX
+SXHW6LUSttT9dwNYwcm8jttIHOiwub74tg6PxL/7VDCOM7u8KIj+sWCcWvf07PqYLber3N3RCXhxTrRx
+P4MMNbKkqlBQL+vDb2TGXaAtcZvIYFp22LBVbR1aBlnq9rraPfL9QVOJb85VzrHiYLLkXD1PwMf/e2KC
+yqcFlxlxeFjBS0a1L8Ek+ouFg53EGs1Ca0ZvA+WHoHdMxNb2panYJqMa9abOgm8Abfkfc7xwI2XRDKhV
+tOEy+xydkCrQmllFf3v7tvrihA69Spn6QBZUiGcvl/A/RcLii7ga8bDuiF83X444PHrbS91x+VzqTkZX
+Wu/n1kp83c9q/Nf331dfYp/VNGmH9/8CAAD//xVMliN9HgAA
`,
},
@@ -12074,16 +12075,10 @@ LVzkkM5QrSQnvObEI3VzRIrCexi06R1XCF2XMSl2kKgd2SzC+7678Ve/y9AqPGIZqnb7l2i/5uTITbWG
"/templates/admin-menu.html": {
local: "templates/admin-menu.html",
- size: 1124,
- modtime: 1498691362,
+ size: 0,
+ modtime: 1499949610,
compressed: `
-H4sIAAAAAAAA/9yUwW6jMBCG7/sUI2+OS3xfQaTs9tBI6alP4OChGcWMK2OQKsvvXmEggSZVox57ip35
-5+f/hhG5pg5IF6JGbgWURjVNIUKgCtaPpHGra+In5DbGI2mNHAKyjlFsfgGk5rHltXWYJZO+ApArODqs
-CvF74dxfskPrveVRCJDTVK0UVCo7KNeITS5pdJJqPMwel3xKy14Ro7tYteYqUGao8WcFQAjgFL8grE5/
-YNXB3wLWPSHEeNbkhq59yGM985kxhgCrbr23pfJkGWIUt1LwSWwWrEPbrhxaEvH4314d0ECMZ/ZhEIYW
-GMj6EjqXrZmqIUD/Av8bQva7Ztv645xuKLP1F8kzug7dYgQTnFT9DsgyKRsZwtSkY5QOa9vhfbiVyk74
-NnI+YEo1WC0wP4L1d9PgjPSuZErrb8S6Hepq1p+tGQz7bb239Rcr9y+JftTi5VJTlz4Mw2H8eQ8AAP//
-T8Bo3mQEAAA=
+H4sIAAAAAAAA/wEAAP//AAAAAAAAAAA=
`,
},
@@ -12145,13 +12140,17 @@ XvV/PgEAAP///4iBjuQAAAA=
"/templates/header.html": {
local: "templates/header.html",
- size: 244,
- modtime: 1498849944,
+ size: 1364,
+ modtime: 1499955303,
compressed: `
-H4sIAAAAAAAA/0yMPW7EIBBGe04xoo+R3GZMYylSilTJBQiMFySWXQF2g+buKyzb2vL7eQ+LzeFZtdhM
-BhsDpfrtYALZ2jAfkVl+ClTnE00JjsBGU8okl2iKB0upUobWhq+e574xSy3g6n6oFHMjZoFqN2iBLmyn
-xz5SpVQPBMICw+/6/xdqJGAWAO9nT8ZR/rhTWncAAP2oW7sQZlR+7BMqF7ZDSsl11ysAAP//dznCgvQA
-AAA=
+H4sIAAAAAAAA/9xUwW6cMBC971eM3BwLSDm2BilNVTVSckp/wIuHMFpjItsgVZb/vTJ4WdNN1ajH3hjm
++fm94THctoZeXXOYhYFWEWr3IKEG5n15n8oQ2OcDr85ILmmGVglra9YpYXtoUTs04H35Ldb3sRcCaw6w
+vXtCa8ULhnDglaQ5sZCs2YB6Ymc+76mD8jtJvJMD6SfUUwg9SYnae9QyseYSXieDxUISOwBcQG+wq9mH
+HXMsiuPk3KgTEIDT5kNAJ4qjMJY1vKLEVIn0kF238LSjdoI0mgvVpK4EFYqs2xBxFmCEfkG4OX2Emxk+
+1VBGhxDChuGKrnnI4ZDxZB69h5u5fBxb4WjUEAJ7S4U+sWbndT320K5HFsfp3aM4ooIQNu/rIBTtbKCW
+F9G8mtS56z3ED5iSY+8m1+fu1rYe3QXyjGZGsxvB2VwlYgaqNZW22iWyMjiMM77PbieKE/5MPr/iomql
+2tn83VislcXM6buUCSn/Qdbboq5m/aeYwZrv0blx+Evkviyg/yp4aadsD/mOSZfHXxa1S0tpSenzdPxB
+TqUPnIN7FBLNbqv0t43325Gos7/NbszV/QoAAP//h0mw81QFAAA=
`,
},
@@ -12183,63 +12182,63 @@ AAD//1puW/YhAwAA
"/templates/public-voting.html": {
local: "templates/public-voting.html",
- size: 11836,
- modtime: 1499649549,
+ size: 11859,
+ modtime: 1499956689,
compressed: `
-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
+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
`,
},
diff --git a/assets/css/gjvote.css b/assets/css/gjvote.css
index 313b574..bfbe484 100644
--- a/assets/css/gjvote.css
+++ b/assets/css/gjvote.css
@@ -263,16 +263,19 @@ div.fullscreen {
margin-left: 150px;
}
- aside.flash {
+ div.flash {
font-size: 24px;
+ position: fixed;
+ top: 0px;
+ width: 100%;
}
- aside.flash.error {
+ div.flash.error {
background-color: #DD0000;
color: #FFFFFF;
}
- aside.flash.success {
+ div.flash.success {
background-color: #229af9;
color: #FFFFFF;
}
diff --git a/assets/js/admin.js b/assets/js/admin.js
index 622fcd2..e69de29 100644
--- a/assets/js/admin.js
+++ b/assets/js/admin.js
@@ -1 +0,0 @@
-console.log("ICT GameJam Admin");
diff --git a/assets/js/gjvote.js b/assets/js/gjvote.js
index 8a527d0..812627a 100644
--- a/assets/js/gjvote.js
+++ b/assets/js/gjvote.js
@@ -73,7 +73,10 @@ function hideModal() {
}
function setFlashMessage(msg, cls) {
- var flash = document.querySelector('aside.flash');
+ if( Object.prototype.toString.call( cls ) !== '[object Array]' ) {
+ cls = [ cls ];
+ }
+ var flash = document.querySelector('div.flash');
flash.innerText = msg;
for(var i = 0; i < cls.length; i++) {
flash.classList.add(cls[i]);
@@ -84,14 +87,14 @@ function setFlashMessage(msg, cls) {
}
function handleFlashMessage() {
- var flash = document.querySelector('aside.flash');
+ var flash = document.querySelector('div.flash');
if(flash.classList.contains('fading')) {
setTimeout(fadeOutFlashMessage, 1000);
}
}
function fadeOutFlashMessage() {
- var flash = document.querySelector('aside');
+ var flash = document.querySelector('div.flash');
var opac = flash.style.opacity;
if(opac == "") { opac = 1; }
if(opac > 0) {
diff --git a/main.go b/main.go
index 12ddae7..c5ed9c4 100644
--- a/main.go
+++ b/main.go
@@ -104,6 +104,8 @@ func main() {
pub := r.PathPrefix("/").Subrouter()
pub.HandleFunc("/", handleMain)
pub.HandleFunc("/vote", handlePublicSaveVote)
+ pub.HandleFunc("/image/{teamid}/{imageid}", handleImageRequest)
+ pub.HandleFunc("/thumbnail/{teamid}/{imageid}", handleThumbnailRequest)
// API Subrouter
//api := r.PathPrefix("/api").Subtrouter()
@@ -297,7 +299,6 @@ func InitPageData(w http.ResponseWriter, req *http.Request) *pageData {
func (p *pageData) show(tmplName string, w http.ResponseWriter) error {
for _, tmpl := range []string{
"htmlheader.html",
- "admin-menu.html",
"header.html",
tmplName,
"footer.html",
diff --git a/model_games.go b/model_games.go
index 4aea97e..c33833d 100644
--- a/model_games.go
+++ b/model_games.go
@@ -14,9 +14,11 @@ type Game struct {
}
type Screenshot struct {
+ UUID string
Description string
Image string
- UUID string
+ Thumbnail string
+ Filetype string
}
func dbUpdateTeamGame(teamId, name, desc string) error {
@@ -109,6 +111,15 @@ func dbGetTeamGameScreenshot(teamId, ssId string) *Screenshot {
if ret.Image, err = db.GetValue(ssPath, "image"); err != nil {
return nil
}
+ if ret.Thumbnail, err = db.GetValue(ssPath, "thumbnail"); err != nil {
+ return nil
+ }
+ if ret.Thumbnail == "" {
+ ret.Thumbnail = ret.Image
+ }
+ if ret.Filetype, err = db.GetValue(ssPath, "filetype"); err != nil {
+ return nil
+ }
return ret
}
@@ -132,6 +143,12 @@ func dbSaveTeamGameScreenshot(teamId string, ss *Screenshot) error {
if err := db.SetValue(ssPath, "image", ss.Image); err != nil {
return err
}
+ if err := db.SetValue(ssPath, "thumbnail", ss.Thumbnail); err != nil {
+ return err
+ }
+ if err := db.SetValue(ssPath, "filetype", ss.Filetype); err != nil {
+ return err
+ }
return nil
}
diff --git a/public_endpoints.go b/public_endpoints.go
index 1adcccc..0f039cd 100644
--- a/public_endpoints.go
+++ b/public_endpoints.go
@@ -1,10 +1,13 @@
package main
import (
+ "encoding/base64"
"math/rand"
"net/http"
"strings"
"time"
+
+ "github.com/gorilla/mux"
)
func initPublicPage(w http.ResponseWriter, req *http.Request) *pageData {
@@ -73,3 +76,35 @@ func handlePublicSaveVote(w http.ResponseWriter, req *http.Request) {
page.session.setFlashMessage("Vote Saved!", "success large fading")
redirect("/", w, req)
}
+
+func handleThumbnailRequest(w http.ResponseWriter, req *http.Request) {
+ vars := mux.Vars(req)
+ ss := dbGetTeamGameScreenshot(vars["teamid"], vars["imageid"])
+ if ss == nil {
+ http.Error(w, "Couldn't find image", 404)
+ return
+ }
+ w.Header().Set("Content-Type", "image/"+ss.Filetype)
+ dat, err := base64.StdEncoding.DecodeString(ss.Thumbnail)
+ if err != nil {
+ http.Error(w, "Couldn't find image", 404)
+ return
+ }
+ w.Write(dat)
+}
+
+func handleImageRequest(w http.ResponseWriter, req *http.Request) {
+ vars := mux.Vars(req)
+ ss := dbGetTeamGameScreenshot(vars["teamid"], vars["imageid"])
+ if ss == nil {
+ http.Error(w, "Couldn't find image", 404)
+ return
+ }
+ w.Header().Set("Content-Type", "image/"+ss.Filetype)
+ dat, err := base64.StdEncoding.DecodeString(ss.Image)
+ if err != nil {
+ http.Error(w, "Couldn't find image", 404)
+ return
+ }
+ w.Write(dat)
+}
diff --git a/templates/admin-editteam.html b/templates/admin-editteam.html
index 885b538..8932ec4 100644
--- a/templates/admin-editteam.html
+++ b/templates/admin-editteam.html
@@ -40,7 +40,7 @@
Upload Screenshot
{{ else }}
{{ range $i, $v := .TemplateData.Game.Screenshots }}
-
+
{{ end }}
{{ end }}
diff --git a/templates/admin-menu.html b/templates/admin-menu.html
index 0c3a25f..e69de29 100644
--- a/templates/admin-menu.html
+++ b/templates/admin-menu.html
@@ -1,30 +0,0 @@
-