63 lines
1.2 KiB
Go
63 lines
1.2 KiB
Go
package handlers
|
|
|
|
import (
|
|
"golias/config"
|
|
"golias/models"
|
|
"golias/pkg/cache"
|
|
"html/template"
|
|
"log/slog"
|
|
"net/http"
|
|
"os"
|
|
)
|
|
|
|
var (
|
|
log *slog.Logger
|
|
cfg *config.Config
|
|
memcache cache.Cache
|
|
)
|
|
|
|
func init() {
|
|
log = slog.New(slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
|
|
Level: slog.LevelDebug,
|
|
AddSource: true,
|
|
}))
|
|
memcache = cache.MemCache
|
|
cfg = config.LoadConfigOrDefault("")
|
|
}
|
|
|
|
var roundWords = map[string]string{
|
|
"hamster": "blue",
|
|
"child": "red",
|
|
"wheel": "white",
|
|
"condition": "black",
|
|
"test": "white",
|
|
"ball": "blue",
|
|
"violin": "red",
|
|
"rat": "white",
|
|
"perplexity": "blue",
|
|
"notion": "red",
|
|
}
|
|
|
|
func HandlePing(w http.ResponseWriter, r *http.Request) {
|
|
w.Write([]byte("pong"))
|
|
}
|
|
|
|
func HandleHome(w http.ResponseWriter, r *http.Request) {
|
|
tmpl, err := template.ParseGlob("components/*.html")
|
|
if err != nil {
|
|
abortWithError(w, err.Error())
|
|
return
|
|
}
|
|
// check if user in a room
|
|
// roomID := getRoomIDFromCtx(r.Context())
|
|
// roomID = "test-id"
|
|
// if roomID != "" {
|
|
// // get room data
|
|
// userState := models.MakeTestState()
|
|
// tmpl.ExecuteTemplate(w, "room", userState)
|
|
// return
|
|
// }
|
|
userState := models.MakeTestState()
|
|
tmpl.ExecuteTemplate(w, "base", userState)
|
|
}
|