Fix: mime to see marks; reverse actions order; hide endturn button
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{{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:
|
||||
{{range .}}
|
||||
<div class="flex items-center justify-between p-2 rounded">
|
||||
@@ -14,27 +14,4 @@
|
||||
</div>
|
||||
{{end}}
|
||||
</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}}
|
||||
|
@@ -65,7 +65,7 @@
|
||||
</div>
|
||||
<div>
|
||||
{{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>
|
||||
{{else if and (eq .State.Role "mime") (not .Room.MimeDone)}}
|
||||
{{template "mimeclue"}}
|
||||
|
@@ -9,6 +9,8 @@ import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
"slices"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -55,6 +57,12 @@ func HandleHome(w http.ResponseWriter, r *http.Request) {
|
||||
} else {
|
||||
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 {
|
||||
rooms, err := repo.RoomList(r.Context())
|
||||
|
7
todos.md
7
todos.md
@@ -104,7 +104,8 @@
|
||||
- llm resp token amount limit;
|
||||
|
||||
=============
|
||||
- autoscroll backlog to the last action;
|
||||
- mimes to see marks on the words;
|
||||
- clearer ways to see opened words;
|
||||
- autoscroll backlog to the last action; (reversed order) +
|
||||
- mimes to see marks on the 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?
|
||||
|
Reference in New Issue
Block a user