package handlers import ( "golias/models" "html/template" "net/http" ) func HandleShowCreateForm(w http.ResponseWriter, r *http.Request) { show := true tmpl, err := template.ParseGlob("components/*.html") if err != nil { abortWithError(w, err.Error()) return } tmpl.ExecuteTemplate(w, "createform", show) } func HandleHideCreateForm(w http.ResponseWriter, r *http.Request) { show := false tmpl, err := template.ParseGlob("components/*.html") if err != nil { abortWithError(w, err.Error()) return } tmpl.ExecuteTemplate(w, "createform", show) } func HandleShowColor(w http.ResponseWriter, r *http.Request) { word := r.URL.Query().Get("word") ctx := r.Context() session, ok := ctx.Value(models.CtxSessionKey).(*models.Session) if !ok { // trying to get color without a session -> error abortWithError(w, "session not found") return } // // get room by room-id // room, err := getRoomByID(session.CurrentRoom) // if err != nil { // log.Error("failed to get room", "error", err, "session", session) // abortWithError(w, "failed to get room") // return // } // log.Debug("got room", "room", room) state, err := loadState(session.Username) if err != nil { abortWithError(w, err.Error()) return } log.Debug("got state", "state", state) // TODO: update room score color, exists := roundWords[word] log.Debug("got show-color request", "word", word, "color", color) if !exists { abortWithError(w, "word is not found") return } tmpl, err := template.ParseGlob("components/*.html") if err != nil { abortWithError(w, err.Error()) return } cardword := models.WordCard{ Word: word, Color: models.StrToWordColor(color), Revealed: true, } tmpl.ExecuteTemplate(w, "cardword", cardword) }