+
for _, m := range messages {
-
-
- { m.Nickname + ": " }
-
- { m.Message }
-
+ @ChatMessage(m, cfg)
}
diff --git a/features/c4game/handlers.go b/features/c4game/handlers.go
index c5a5bc0..be6c09b 100644
--- a/features/c4game/handlers.go
+++ b/features/c4game/handlers.go
@@ -148,8 +148,13 @@ func HandleGameEvents(store *connect4.Store, nc *nats.Conn, sm *scs.SessionManag
return
}
case msg := <-chatCh:
- room.Receive(msg.Data)
- if err := patchAll(); err != nil {
+ chatMsg, _ := room.Receive(msg.Data)
+ err := sse.PatchElementTempl(
+ chatcomponents.ChatMessage(chatMsg, chatCfg),
+ datastar.WithSelectorID("c4-chat-history"),
+ datastar.WithModeAppend(),
+ )
+ if err != nil {
return
}
}
diff --git a/features/snakegame/handlers.go b/features/snakegame/handlers.go
index dffb6a0..7a96ed4 100644
--- a/features/snakegame/handlers.go
+++ b/features/snakegame/handlers.go
@@ -172,8 +172,13 @@ func HandleSnakeEvents(snakeStore *snake.SnakeStore, nc *nats.Conn, sm *scs.Sess
if msg == nil {
continue
}
- room.Receive(msg.Data)
- if err := patchAll(); err != nil {
+ chatMsg, _ := room.Receive(msg.Data)
+ err := sse.PatchElementTempl(
+ chatcomponents.ChatMessage(chatMsg, chatCfg),
+ datastar.WithSelectorID("snake-chat-history"),
+ datastar.WithModeAppend(),
+ )
+ if err != nil {
return
}
}