summaryrefslogtreecommitdiff
path: root/pkg/ui/views/game_api.go
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2025-04-18 13:17:19 +0200
committerSanto Cariotti <santo@dcariotti.me>2025-04-18 13:17:19 +0200
commit040b6e169dbd78b0f79921e4590e49b8970f685f (patch)
tree9f051bc0e4b8d581d514a4b29f5061bbd0fe1534 /pkg/ui/views/game_api.go
parentfafd0111465ded6bfec5c0d91d7dd9c19ddac50b (diff)
Use playname-n for peers instead of peer-1 and peer-2
Diffstat (limited to 'pkg/ui/views/game_api.go')
-rw-r--r--pkg/ui/views/game_api.go29
1 files changed, 16 insertions, 13 deletions
diff --git a/pkg/ui/views/game_api.go b/pkg/ui/views/game_api.go
index 485df41..e2ef280 100644
--- a/pkg/ui/views/game_api.go
+++ b/pkg/ui/views/game_api.go
@@ -6,6 +6,7 @@ import (
"os"
"github.com/boozec/rahanna/internal/api/database"
+ "github.com/boozec/rahanna/pkg/p2p"
tea "github.com/charmbracelet/bubbletea"
"github.com/notnil/chess"
)
@@ -15,6 +16,21 @@ func (m GameModel) handleDatabaseGameMsg(msg database.Game) (GameModel, tea.Cmd)
var cmd tea.Cmd
+ // Establish peer connection
+ if m.network.Peer() == p2p.EmptyNetworkID {
+ if m.network.Me() == m.playerPeer(1) {
+ if m.game.IP2 != "" {
+ remote := m.game.IP2
+ go m.network.AddPeer(m.playerPeer(2), remote)
+ }
+ } else {
+ if m.game.IP1 != "" {
+ remote := m.game.IP1
+ go m.network.AddPeer(m.playerPeer(1), remote)
+ }
+ }
+ }
+
if m.game.Outcome != chess.NoOutcome.String() {
cmd = func() tea.Msg {
return EndGameMsg{}
@@ -46,19 +62,6 @@ func (m *GameModel) getGame() tea.Cmd {
return nil
}
- // Establish peer connection
- if m.network.Me() == "peer-1" {
- if game.IP2 != "" {
- remote := game.IP2
- go m.network.AddPeer("peer-2", remote)
- }
- } else {
- if game.IP1 != "" {
- remote := game.IP1
- go m.network.AddPeer("peer-1", remote)
- }
- }
-
return game
}
}