Enha: mark with partial name

This commit is contained in:
Grail Finder
2025-07-06 13:55:52 +03:00
parent 357f42c354
commit a131183729
3 changed files with 20 additions and 5 deletions

View File

@ -29,7 +29,12 @@
<div class="h-6 bg-stone-600 rounded-b flex items-center justify-center text-white text-sm cursor-pointer" <div class="h-6 bg-stone-600 rounded-b flex items-center justify-center text-white text-sm cursor-pointer"
hx-get="/mark-card?word={{.Word}}" hx-trigger="click" hx-swap="outerHTML transition:true swap:.05s"> hx-get="/mark-card?word={{.Word}}" hx-trigger="click" hx-swap="outerHTML transition:true swap:.05s">
{{range .Marks}} {{range .Marks}}
{{ $length := len .Username }}
{{ if lt $length 3 }}
<span class="mx-0.5">{{.Username}}</span> <span class="mx-0.5">{{.Username}}</span>
{{else}}
<span class="mx-0.5">{{slice .Username 0 3}}</span>
{{end}}
{{end}} {{end}}
</div> </div>
</div> </div>

View File

@ -88,12 +88,22 @@ func getFullInfoByCtx(ctx context.Context) (*models.FullInfo, error) {
} }
func fillCardMarks(ctx context.Context, room *models.Room) 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 { for i, card := range room.Cards {
marks, err := repo.CardMarksByCardID(ctx, card.ID) for _, mark := range marks {
if err != nil { if mark.CardID == card.ID {
return err 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 return nil
} }

View File

@ -173,7 +173,7 @@ func (r *Room) FindColor(word string) (WordColor, bool) {
} }
func (r *Room) ClearMarks() { func (r *Room) ClearMarks() {
for i, _ := range r.Cards { for i := range r.Cards {
r.Cards[i].Marks = []CardMark{} r.Cards[i].Marks = []CardMark{}
} }
} }