commit 723461b19d22da659088d4edf96a2d35ed8c731e
parent 4440d3e9088cbbbeb69f94b851c9d3b2bac34a02
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 14 Jun 2023 14:12:29 -0700
add link to analyse
Diffstat:
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/pkg/web/handlers/chess.go b/pkg/web/handlers/chess.go
@@ -409,7 +409,7 @@ func ChessGameHandler(c echo.Context) error {
c.Response().WriteHeader(http.StatusOK)
send(cssReset)
send(`<style>html, body { background-color: #222; }</style>`)
- card := g.DrawPlayerCard(key, isFlipped, false, authUser.ChessSoundsEnabled)
+ card := g.DrawPlayerCard(key, isFlipped, false, authUser.ChessSoundsEnabled, authUser.IsAdmin)
send(card)
return nil
}
@@ -437,9 +437,9 @@ func ChessGameHandler(c echo.Context) error {
var card1 string
if isSpectator {
- card1 = g.DrawSpectatorCard(isFlipped, authUser.ChessSoundsEnabled)
+ card1 = g.DrawSpectatorCard(isFlipped, authUser.ChessSoundsEnabled, authUser.IsAdmin)
} else {
- card1 = g.DrawPlayerCard(key, isFlipped, false, authUser.ChessSoundsEnabled)
+ card1 = g.DrawPlayerCard(key, isFlipped, false, authUser.ChessSoundsEnabled, authUser.IsAdmin)
}
send(card1)
diff --git a/pkg/web/handlers/interceptors/chess.go b/pkg/web/handlers/interceptors/chess.go
@@ -310,11 +310,11 @@ func (g *ChessGame) renderBoardB64(isFlipped bool) string {
return imgB64
}
-func (g *ChessGame) DrawPlayerCard(key string, isBlack, isYourTurn, soundsEnabled bool) string {
- return g.drawPlayerCard(key, isBlack, false, isYourTurn, soundsEnabled)
+func (g *ChessGame) DrawPlayerCard(key string, isBlack, isYourTurn, soundsEnabled, isAdmin bool) string {
+ return g.drawPlayerCard(key, isBlack, false, isYourTurn, soundsEnabled, isAdmin)
}
-func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn, soundsEnabled bool) string {
+func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn, soundsEnabled, isAdmin bool) string {
htmlTmpl := `
<style>
#p1Status {
@@ -414,7 +414,10 @@ func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn,
{{ end }}
<tr style="height: 100%;">
<td colspan="2">
- <div style="color: #eee;">Outcome: <span id="outcome"></span></div>
+ <div style="color: #eee; display: inline-block;">Outcome: <span id="outcome"></span></div>
+ {{ if and .GameOver .IsAdmin }}
+ <a style="color: #eee;" href="/chess/{{ .Key }}/analyse">Analyse</a>
+ {{ end }}
</td>
</tr>
{{ if .GameOver }}<tr><td colspan="2"><div><textarea>{{ .PGN }}</textarea></div></td></tr>{{ end }}
@@ -488,6 +491,7 @@ func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn,
"BlackAccuracy": g.DbChessGame.AccuracyBlack,
"Stats": stats,
"ColumnWidth": columnWidth,
+ "IsAdmin": isAdmin,
}
fns := template.FuncMap{
@@ -530,8 +534,8 @@ func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn,
return buf1.String()
}
-func (g *ChessGame) DrawSpectatorCard(isFlipped, soundsEnabled bool) string {
- return g.drawPlayerCard("", isFlipped, true, false, soundsEnabled)
+func (g *ChessGame) DrawSpectatorCard(isFlipped, soundsEnabled, isAdmin bool) string {
+ return g.drawPlayerCard("", isFlipped, true, false, soundsEnabled, isAdmin)
}
func (b *Chess) GetGame(key string) (*ChessGame, error) {