Compare commits

...

2 Commits

Author SHA1 Message Date
873c35ab08 Enha: roomid confusion 2025-07-03 14:11:52 +03:00
3fa0d608de Chore: template update 2025-07-03 13:17:41 +03:00
8 changed files with 18 additions and 12 deletions

View File

@ -3,7 +3,7 @@
{{template "login"}}
{{ else if ne .LinkLogin "" }}
{{template "linklogin" .LinkLogin}}
{{ else if eq .State.RoomID "" }}
{{ else if not .State.RoomID }}
<div id="hello-user">
<p>data: {{.}} {{.State}} {{.Room}}</p>
<p>Hello {{.State.Username}}</p>

View File

@ -25,7 +25,7 @@
<hr />
{{if .Room.IsRunning}}
<p>Turn of the <span class="text-{{.Room.TeamTurn}}-500">{{.Room.TeamTurn}}</span> team</p>
{{template "turntimer" .Room}}
{{template "turntimer" .Room.Settings}}
{{if .Room.MimeDone}}
<p class="text-{{.Room.TeamTurn}}-500 text-xl">Waiting for guessers</p>
<p class="text-{{.Room.TeamTurn}}-500 text-xl">Given Clue: "{{.Room.FetchLastClueWord}}"</p>

View File

@ -12,7 +12,7 @@
<span class="font-medium text-gray-700">{{.CreatorName}}</span>
</div>
<div class="mt-1 flex items-center gap-3">
<span class="px-2 py-1 text-xs font-medium rounded-full {{if .IsGameRunning}}bg-green-100 text-green-800{{else}}bg-gray-100 text-gray-600{{end}}">
<span class="px-2 py-1 text-xs font-medium rounded-full {{if .IsRunning}}bg-green-100 text-green-800{{else}}bg-gray-100 text-gray-600{{end}}">
{{if .IsRunning}}Game Active{{else}}Waiting Room{{end}}
</span>
</div>

View File

@ -135,11 +135,13 @@ func getFullInfoByCtx(ctx context.Context) (*models.FullInfo, error) {
return nil, err
}
resp.State = state
if state.RoomID == nil {
if state.RoomID == nil || *state.RoomID == "" {
log.Debug("returning state without room", "username", state.Username)
return resp, nil
}
// room, err := getRoomByID(state.RoomID)
room, err := repo.RoomGetByID(ctx, *state.RoomID)
room, err := repo.RoomGetExtended(ctx, *state.RoomID)
// room, err := repo.RoomGetByID(ctx, *state.RoomID)
if err != nil {
// room was deleted; remove it from player;
log.Warn("failed to find room despite knowing room_id;",

View File

@ -40,11 +40,11 @@ func HandleCreateRoom(w http.ResponseWriter, r *http.Request) {
}
fi.State.RoomID = &room.ID
fi.Room = room
if err := repo.RoomCreate(r.Context(), room); err != nil {
log.Error("failed to create a room", "error", err)
abortWithError(w, err.Error())
return
}
// if err := repo.RoomCreate(r.Context(), room); err != nil {
// log.Error("failed to create a room", "error", err)
// abortWithError(w, err.Error())
// return
// }
if err := repo.PlayerSetRoomID(r.Context(), fi.State.Username, room.ID); err != nil {
log.Error("failed to set room id", "error", err)
abortWithError(w, err.Error())

View File

@ -52,7 +52,8 @@ func HandleHome(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Error("failed to fetch fi", "error", err)
}
if fi != nil && fi.Room != nil && fi.State != nil {
// there must be a better way
if fi != nil && fi.Room != nil && fi.Room.ID != "" && fi.State != nil {
fi.Room.UpdateCounter()
if fi.State.Role == "mime" {
fi.Room.MimeView() // there must be a better way

View File

@ -380,7 +380,7 @@ type WordCard struct {
Word string `json:"word" db:"word"`
Color WordColor `json:"color" db:"color"`
Revealed bool `json:"revealed" db:"revealed"`
Mime bool `json:"mime" db:"mime"` // user who sees that card is mime
Mime bool `json:"mime" db:"mime_view"` // user who sees that card is mime
Mark []CardMark `json:"marks" db:"-"`
}

View File

@ -33,6 +33,9 @@ func (p *RepoProvider) PlayerGetByName(ctx context.Context, username string) (*m
if err != nil {
return nil, err
}
if player.RoomID != nil && *player.RoomID == "" {
player.RoomID = nil
}
return &player, nil
}