dkforest

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

commit 8b66543b2a6cf6e8ec14b5ee45202652cd4c9a56
parent cc97239f2355ec80f367e14cf0772f0f00e34e52
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sun, 17 Dec 2023 05:26:19 -0500

cleanup

Diffstat:
Mpkg/web/handlers/poker/poker.go | 30+++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -495,7 +495,8 @@ func (g *PokerGame) newLogEvent(msg string) { } } -func showCards(g *PokerGame, roomTopic string, seats []Seat) { +func showCards(g *PokerGame, seats []Seat) { + roomTopic := g.RoomID.Topic() for _, p := range g.Ongoing.Players { if !p.Folded.Load() { p.CardsMtx.RLock() @@ -519,7 +520,8 @@ func showCards(g *PokerGame, roomTopic string, seats []Seat) { } } -func setWaitTurn(g *PokerGame, roomTopic string, seatIdx int) { +func setWaitTurn(g *PokerGame, seatIdx int) { + roomTopic := g.RoomID.Topic() evt := PokerWaitTurnEvent{Idx: seatIdx, CreatedAt: time.Now()} PokerPubSub.Pub(roomTopic, evt) @@ -600,7 +602,7 @@ RoundIsSettledLoop: continue AllPlayersLoop } - setWaitTurn(g, roomTopic, p.SeatIdx) + setWaitTurn(g, p.SeatIdx) PokerPubSub.Pub(roomUserTopic, PokerYourTurnEvent{}) doTimeout := func() int { @@ -841,7 +843,7 @@ RoundIsSettled: PokerPubSub.Pub(roomTopic, AutoActionEvent{Message: ""}) PokerPubSub.Pub(roomTopic, ErrorMsgEvent{Message: ""}) g.newLogEvent(fmt.Sprintf("--")) - setWaitTurn(g, roomTopic, -1) + setWaitTurn(g, -1) time.Sleep(time.Second) @@ -892,7 +894,8 @@ var dealerTokenPos = [][]int{ {363, 123}, } -func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) { +func dealPlayersCards(g *PokerGame, seats []Seat, idx *int) { + roomTopic := g.RoomID.Topic() var card string for cardIdx := 1; cardIdx <= NbCardsPerPlayer; cardIdx++ { for _, p := range g.Ongoing.Players { @@ -900,7 +903,7 @@ func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) { if p.isAllIn() { continue } - roomUserTopic := roomTopic + "_" + pUsername.String() + roomUserTopic := g.RoomID.UserTopic(pUsername) seatData := seats[p.SeatIdx] time.Sleep(time.Second) if p.Folded.Load() { @@ -1014,7 +1017,7 @@ func dealerThread(g *PokerGame) { time.Sleep(time.Second) // Deal players cards - dealPlayersCards(g, roomTopic, seats, &idx) + dealPlayersCards(g, seats, &idx) // Wait for players to bet/call/check/fold... time.Sleep(time.Second) @@ -1067,7 +1070,7 @@ func dealerThread(g *PokerGame) { } // Show cards - showCards(g, roomTopic, seats) + showCards(g, seats) END: @@ -1627,7 +1630,8 @@ func buildPayloadHtml(g *PokerGame, authUser *database.User, payload any) (html return } -func buildBaseHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerBuyIn database.PokerChip) (html string) { +func buildBaseHtml(g *PokerGame, authUser *database.User, playerBuyIn database.PokerChip) (html string) { + roomID := g.RoomID html += hutils.HtmlCssReset html += pokerCss //html += `<script>document.onclick = function(e) { console.log(e.x, e.y); };</script>` // TODO: dev only @@ -1636,7 +1640,7 @@ func buildBaseHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerB //html += buildDevHtml() html += buildHelpHtml() html += buildCardsHtml() - html += buildSeatsHtml(g, authUser, roomID, playerBuyIn) + html += buildSeatsHtml(g, authUser, playerBuyIn) html += buildActionsDiv(roomID) html += buildDealerTokenHtml(g) html += `<iframe src="/poker/` + roomID.String() + `/logs" id="eventLogs"></iframe>` @@ -1814,7 +1818,7 @@ func buildActionsDiv(roomID RoomID) (html string) { return } -func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerBuyIn database.PokerChip) (html string) { +func buildSeatsHtml(g *PokerGame, authUser *database.User, playerBuyIn database.PokerChip) (html string) { g.PlayersMtx.RLock() defer g.PlayersMtx.RUnlock() for i := range g.Players { @@ -1823,7 +1827,7 @@ func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID RoomID, player html += `<div>` for i := range g.Players { html += `<div class="seat" id="seat` + itoa(i+1) + `"> -<iframe src="/poker/` + roomID.String() + `/sit/` + itoa(i+1) + `?buy-in=` + itoa2(playerBuyIn) + `" class="takeSeat takeSeat` + itoa(i+1) + `"></iframe>` +<iframe src="/poker/` + g.RoomID.String() + `/sit/` + itoa(i+1) + `?buy-in=` + itoa2(playerBuyIn) + `" class="takeSeat takeSeat` + itoa(i+1) + `"></iframe>` html += ` <div class="inner"></div>` html += ` <div id="seat` + itoa(i+1) + `_cash" class="cash"></div>` html += `</div>` @@ -2317,7 +2321,7 @@ func PokerHandler(c echo.Context) error { playerBuyIn := database.PokerChip(utils.DoParseUint64(c.QueryParam("buy-in"))) - send(buildBaseHtml(g, authUser, roomID, playerBuyIn)) + send(buildBaseHtml(g, authUser, playerBuyIn)) c.Response().Flush() Loop: