commit b8e7fc235da45d1bac87bf4603be90b76edac910
parent 2782c4d0af6906e01be2a215393042a56570d8cc
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 19 Dec 2023 11:18:21 -0500
cleanup
Diffstat:
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go
@@ -373,7 +373,6 @@ func PokerLogsHandler(c echo.Context) error {
if g == nil {
return c.Redirect(http.StatusFound, "/")
}
- ongoing := g.Ongoing
roomLogsTopic := roomID.LogsTopic()
sub := poker.PokerPubSub.Subscribe([]string{roomLogsTopic})
defer sub.Close()
@@ -388,12 +387,8 @@ func PokerLogsHandler(c echo.Context) error {
send(hutils.HtmlCssReset)
send(`<style>body { background-color: #ccc; }</style><div style="display:flex;flex-direction:column-reverse;">`)
- if ongoing != nil {
- ongoing.LogEvents.RWith(func(v *[]poker.LogEvent) {
- for _, evt := range *v {
- send(fmt.Sprintf(`<div>%s</div>`, evt.Message))
- }
- })
+ for _, evt := range g.GetLogs() {
+ send(fmt.Sprintf(`<div>%s</div>`, evt.Message))
}
c.Response().Flush()
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -107,7 +107,7 @@ func (e playerEvent) getAction() PlayerAction {
var PokerInstance = NewPoker()
type Ongoing struct {
- LogEvents utils.RWMtx[[]LogEvent]
+ logEvents utils.RWMtx[[]LogEvent]
deck []string
players []*pokerPlayer
events utils.RWMtx[[]PokerEvent]
@@ -225,6 +225,16 @@ type gameResult struct {
players []*pokerPlayer
}
+func (g *PokerGame) GetLogs() (out []LogEvent) {
+ if g.Ongoing != nil {
+ g.Ongoing.logEvents.RWith(func(logEvents *[]LogEvent) {
+ out = make([]LogEvent, len(*logEvents))
+ copy(out, *logEvents)
+ })
+ }
+ return
+}
+
func (g *PokerGame) Check(userID database.UserID) {
g.sendPlayerEvent(playerEvent{UserID: userID, Check: true})
}
@@ -553,7 +563,7 @@ func (g *PokerGame) newLogEvent(msg string) {
logEvt := LogEvent{Message: msg}
PokerPubSub.Pub(g.roomID.LogsTopic(), logEvt)
if ongoing != nil {
- ongoing.LogEvents.With(func(v *[]LogEvent) {
+ ongoing.logEvents.With(func(v *[]LogEvent) {
*v = append(*v, logEvt)
})
}