dkforest

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

commit c6417d13cad00e56b9aabdcc08999ba86bf76df6
parent fa4fbaf803f12f50ae4597b4ca16f88263311b85
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon,  4 Dec 2023 15:46:34 -0500

stuff

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

diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -773,7 +773,7 @@ func (p *Poker) GetOrCreateGame(roomID string) *PokerGame { g, found := p.Games[roomID] if !found { g = &PokerGame{ - Players: [10]string{}, + Players: make([]string, 10), } p.Games[roomID] = g } @@ -783,7 +783,20 @@ func (p *Poker) GetOrCreateGame(roomID string) *PokerGame { var PokerInstance *Poker = NewPoker() type PokerGame struct { - Players [10]string + Players []string +} + +func (g PokerGame) IsSeated(player string) (bool, int) { + isSeated := false + pos := 0 + for idx, p := range g.Players { + if p == player { + isSeated = true + pos = idx + 1 + break + } + } + return isSeated, pos } type PokerEvent struct { @@ -1159,14 +1172,7 @@ Loop: } } - isSeated := false - for _, p := range g.Players { - if p == authUser.Username.String() { - isSeated = true - break - } - } - if !isSeated { + if seated, _ := g.IsSeated(authUser.Username.String()); !seated { send(`<style>.takeSeat` + strconv.Itoa(idx+1) + ` { display: block; }</style>`) } for i, p := range g.Players { @@ -1180,14 +1186,7 @@ Loop: } else if _, ok := payload.(PokerSeatTakenEvent); ok { - isSeated := false - for _, p := range g.Players { - if p == authUser.Username.String() { - isSeated = true - break - } - } - if isSeated { + if seated, _ := g.IsSeated(authUser.Username.String()); seated { send(`<style>.takeSeat { display: none; }</style>`) }