dkforest

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

commit f39ef8c13d7e37ceae7918dfa694eae2ad65ccab
parent 2d2d9788a6791f2b32314a042941cfa2f1b1acd4
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon,  4 Dec 2023 22:36:53 -0500

display own cards

Diffstat:
Mpkg/web/handlers/poker.go | 26+++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go @@ -61,6 +61,7 @@ type Ongoing struct { type PokerPlayer struct { Username string Bet int + Cards []string } type PokerGame struct { @@ -196,6 +197,7 @@ func (g *PokerGame) Deal(roomID string) { Angle: d.Angle, Burn: true, } + g.Ongoing.Players[i].Cards = append(g.Ongoing.Players[i].Cards, card) PokerPubSub.Pub(myTopic, evt) PokerPubSub.Pub(myTopic+"_"+p.Username, YourCardEvent{Idx: j, Name: card}) g.Ongoing.Events = append(g.Ongoing.Events, evt) @@ -438,6 +440,28 @@ func PokerSitHandler(c echo.Context) error { return c.HTML(http.StatusOK, `<form method="post"><button>SIT</button></form>`) } +func buildYourCardsHtml(authUser *database.User, g *PokerGame) string { + html := `<div style="position: absolute; top: 500px; left: 200px;"><div id="yourCard1"></div><div id="yourCard2"></div></div>` + if g.Ongoing != nil { + cards := make([]string, 0) + for _, p := range g.Ongoing.Players { + if p.Username == authUser.Username.String() { + cards = p.Cards + break + } + } + html += `<style>` + if len(cards) >= 1 { + html += `#yourCard1:before { content: "` + cards[0] + `"; }` + } + if len(cards) == 2 { + html += `#yourCard2:before { content: "` + cards[1] + `"; }` + } + html += `</style>` + } + return html +} + func buildTakeSeatHtml(authUser *database.User, g *PokerGame, roomID string) string { takeSeatBtns := "" seated, _ := g.IsSeated(authUser.Username.String()) @@ -629,7 +653,7 @@ body { <iframe src="/poker/` + roomID + `/fold" id="foldBtn"></iframe> </div>` send(turnAction) - send(`<div style="position: absolute; top: 500px; left: 200px;"><div id="yourCard1"></div><div id="yourCard2"></div></div>`) + send(buildYourCardsHtml(authUser, g)) actions := `<iframe src="/poker/` + roomID + `/deal" id="dealBtn"></iframe>` actions += `<iframe src="/poker/` + roomID + `/unsit" id="unSitBtn"></iframe>` send(actions)