Fix: mime to see marks; reverse actions order; hide endturn button

This commit is contained in:
Grail Finder
2025-09-11 18:42:41 +03:00
parent 6daab9cb1a
commit 1664c26c0a
4 changed files with 14 additions and 28 deletions

View File

@@ -1,5 +1,5 @@
{{define "actionhistory"}} {{define "actionhistory"}}
<div id="actionHistoryContainer" class="overflow-y-auto max-h-96 border-2 border-gray-300 p-4 rounded-lg space-y-2"> <div id="actionHistoryContainer" class="overflow-y-auto max-h-96 border-2 border-gray-300 p-4 rounded-lg space-y-2 h-full flex-col-reverse justify-end">
Backlog: Backlog:
{{range .}} {{range .}}
<div class="flex items-center justify-between p-2 rounded"> <div class="flex items-center justify-between p-2 rounded">
@@ -14,27 +14,4 @@
</div> </div>
{{end}} {{end}}
</div> </div>
<script>
if (!window.actionHistoryScrollSet) {
// Use HTMX's after-swap event to scroll after content updates
document.addEventListener('htmx:afterSwap', function(evt) {
if (evt.target.id === 'actionHistoryContainer' || evt.detail.target.id === 'actionHistoryContainer') {
const container = document.getElementById('actionHistoryContainer');
if (container) {
container.scrollTop = container.scrollHeight;
}
}
});
// Fallback for initial load
htmx.onLoad(function(target) {
if (target.id === 'actionHistoryContainer') {
const container = document.getElementById('actionHistoryContainer');
if (container) {
container.scrollTop = container.scrollHeight;
}
}
});
window.actionHistoryScrollSet = true;
}
</script>
{{end}} {{end}}

View File

@@ -65,7 +65,7 @@
</div> </div>
<div> <div>
{{if .Room.IsRunning}} {{if .Room.IsRunning}}
{{if and (eq .State.Role "guesser") (eq .State.Team .Room.TeamTurn)}} {{if and (eq .State.Role "guesser") (eq .State.Team .Room.TeamTurn) (.Room.MimeDone)}}
<button hx-get="/end-turn" hx-target="#room" class="bg-amber-100 text-black px-4 py-2 rounded">End Turn</button> <button hx-get="/end-turn" hx-target="#room" class="bg-amber-100 text-black px-4 py-2 rounded">End Turn</button>
{{else if and (eq .State.Role "mime") (not .Room.MimeDone)}} {{else if and (eq .State.Role "mime") (not .Room.MimeDone)}}
{{template "mimeclue"}} {{template "mimeclue"}}

View File

@@ -9,6 +9,8 @@ import (
"log/slog" "log/slog"
"net/http" "net/http"
"os" "os"
"slices"
"strings"
) )
var ( var (
@@ -55,6 +57,12 @@ func HandleHome(w http.ResponseWriter, r *http.Request) {
} else { } else {
fi.Room.GuesserView() fi.Room.GuesserView()
} }
// reverse actions if first action
if len(fi.Room.ActionHistory) > 1 {
if strings.EqualFold(fi.Room.ActionHistory[0].Action, models.ActionTypeGameStarted) {
slices.Reverse(fi.Room.ActionHistory)
}
}
} }
if fi != nil && fi.Room == nil { if fi != nil && fi.Room == nil {
rooms, err := repo.RoomList(r.Context()) rooms, err := repo.RoomList(r.Context())

View File

@@ -104,7 +104,8 @@
- llm resp token amount limit; - llm resp token amount limit;
============= =============
- autoscroll backlog to the last action; - autoscroll backlog to the last action; (reversed order) +
- mimes to see marks on the words; - mimes to see marks on the words; +
- clearer ways to see opened words; - clearer ways to see opened words; (line through) +
- guesser sees end turn button before clue was given by mime; +
- sql no rows when joining by link? - sql no rows when joining by link?