From a131183729e1911fc1b120fbcd7feaf43a5a4e6d Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sun, 6 Jul 2025 13:55:52 +0300 Subject: [PATCH] Enha: mark with partial name --- components/cardword.html | 5 +++++ handlers/actions.go | 18 ++++++++++++++---- models/main.go | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/components/cardword.html b/components/cardword.html index 74e2dff..0aad880 100644 --- a/components/cardword.html +++ b/components/cardword.html @@ -29,7 +29,12 @@
{{range .Marks}} + {{ $length := len .Username }} + {{ if lt $length 3 }} {{.Username}} + {{else}} + {{slice .Username 0 3}} + {{end}} {{end}}
diff --git a/handlers/actions.go b/handlers/actions.go index 592516b..f8590e4 100644 --- a/handlers/actions.go +++ b/handlers/actions.go @@ -88,12 +88,22 @@ func getFullInfoByCtx(ctx context.Context) (*models.FullInfo, error) { } func fillCardMarks(ctx context.Context, room *models.Room) error { + marks, err := repo.CardMarksByRoomID(ctx, room.ID) + if err != nil { + log.Warn("failed to fetch card marks by room_id", "room_id", room.ID, "error", err) + return err + } for i, card := range room.Cards { - marks, err := repo.CardMarksByCardID(ctx, card.ID) - if err != nil { - return err + for _, mark := range marks { + if mark.CardID == card.ID { + room.Cards[i].Marks = append(room.Cards[i].Marks, mark) + } } - room.Cards[i].Marks = marks + // marks, err := repo.CardMarksByCardID(ctx, card.ID) + // if err != nil { + // return err + // } + // room.Cards[i].Marks = marks } return nil } diff --git a/models/main.go b/models/main.go index bcccb75..0845e35 100644 --- a/models/main.go +++ b/models/main.go @@ -173,7 +173,7 @@ func (r *Room) FindColor(word string) (WordColor, bool) { } func (r *Room) ClearMarks() { - for i, _ := range r.Cards { + for i := range r.Cards { r.Cards[i].Marks = []CardMark{} } }