dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 723461b19d22da659088d4edf96a2d35ed8c731e
parent 4440d3e9088cbbbeb69f94b851c9d3b2bac34a02
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed, 14 Jun 2023 14:12:29 -0700

add link to analyse

Diffstat:
Mpkg/web/handlers/chess.go | 6+++---
Mpkg/web/handlers/interceptors/chess.go | 16++++++++++------
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) {