Fix: join room by link to load css

This commit is contained in:
Grail Finder
2025-09-11 19:29:03 +03:00
parent 1664c26c0a
commit 33bda503fc
2 changed files with 10 additions and 1 deletions

View File

@@ -253,13 +253,16 @@ func HandleStartGame(w http.ResponseWriter, r *http.Request) {
func HandleJoinRoom(w http.ResponseWriter, r *http.Request) { func HandleJoinRoom(w http.ResponseWriter, r *http.Request) {
roomID := r.URL.Query().Get("id") roomID := r.URL.Query().Get("id")
log.Debug("got join-room request", "id", roomID)
room, err := repo.RoomGetExtended(r.Context(), roomID) room, err := repo.RoomGetExtended(r.Context(), roomID)
if err != nil { if err != nil {
log.Error("failed to fetch room", "error", err, "room_id", roomID)
abortWithError(w, err.Error()) abortWithError(w, err.Error())
return return
} }
tmpl, err := template.ParseGlob("components/*.html") tmpl, err := template.ParseGlob("components/*.html")
if err != nil { if err != nil {
log.Error("failed to parse templates", "error", err, "room_id", roomID)
abortWithError(w, err.Error()) abortWithError(w, err.Error())
return return
} }
@@ -271,6 +274,7 @@ func HandleJoinRoom(w http.ResponseWriter, r *http.Request) {
if err := tmpl.ExecuteTemplate(w, "base", fi); err != nil { if err := tmpl.ExecuteTemplate(w, "base", fi); err != nil {
log.Error("failed to execute base template", "error", err) log.Error("failed to execute base template", "error", err)
} }
log.Error("failed to fetch fi", "error", err, "room_id", roomID)
// abortWithError(w, err.Error()) // abortWithError(w, err.Error())
return return
} }
@@ -283,7 +287,7 @@ func HandleJoinRoom(w http.ResponseWriter, r *http.Request) {
abortWithError(w, err.Error()) abortWithError(w, err.Error())
return return
} }
if err := tmpl.ExecuteTemplate(w, "room", fi); err != nil { if err := tmpl.ExecuteTemplate(w, "base", fi); err != nil {
log.Error("failed to execute room template", "error", err) log.Error("failed to execute room template", "error", err)
} }
} }

View File

@@ -88,6 +88,11 @@ func HandleExit(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "/", 302) http.Redirect(w, r, "/", 302)
return return
} }
if fi.Room == nil {
log.Error("failed to fetch room")
http.Redirect(w, r, "/", 302)
return
}
if fi.Room.IsRunning { if fi.Room.IsRunning {
abortWithError(w, "cannot leave when game is running") abortWithError(w, "cannot leave when game is running")
return return