commit d320642a138e14fe94b6c4afb4bfc0ca9b0d6927
parent 0067f5fedbd0edca1c117ca1703358cf5ba08327
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 28 Dec 2023 22:31:06 -0500
stop loading icon to work with poker page as well
Diffstat:
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/pkg/web/handlers/api/v1/chat.go b/pkg/web/handlers/api/v1/chat.go
@@ -8,6 +8,7 @@ import (
"dkforest/pkg/managers"
"dkforest/pkg/pubsub"
"dkforest/pkg/utils"
+ "dkforest/pkg/web/handlers/poker"
"dkforest/pkg/web/handlers/streamModals"
"dkforest/pkg/web/handlers/usersStreamsManager"
hutils "dkforest/pkg/web/handlers/utils"
@@ -477,5 +478,6 @@ Loop:
func ChatStreamMessagesRefreshHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
database.MsgPubSub.Pub("refresh_loading_icon_"+string(authUser.Username), database.ChatMessageType{Typ: database.ForceRefresh})
+ poker.PubSub.Pub("refresh_loading_icon_"+string(authUser.Username), database.ChatMessageType{Typ: database.ForceRefresh})
return c.NoContent(http.StatusOK)
}
diff --git a/pkg/web/handlers/poker.go b/pkg/web/handlers/poker.go
@@ -425,13 +425,18 @@ func PokerStreamHandler(c echo.Context) error {
}
defer usersStreamsManager.Inst.Remove(authUser.ID, roomTopic)
- sub := poker.PubSub.Subscribe([]string{roomTopic, roomUserTopic})
+ sub := poker.PubSub.Subscribe([]string{roomTopic, roomUserTopic, "refresh_loading_icon_" + string(authUser.Username)})
defer sub.Close()
send(poker.BuildBaseHtml(g, authUser, chatRoomSlug))
c.Response().Flush()
loop(quit, sub, func(topic string, payload any) error {
+ switch payload.(type) {
+ case database.ChatMessageType:
+ send(`<meta http-equiv="refresh" content="1" />`)
+ return BreakLoopErr
+ }
send(poker.BuildPayloadHtml(g, authUser, payload))
c.Response().Flush()
return nil
@@ -449,7 +454,7 @@ func PokerLogsHandler(c echo.Context) error {
return c.Redirect(http.StatusFound, "/")
}
roomLogsTopic := roomID.LogsTopic()
- sub := poker.PubSub.Subscribe([]string{roomLogsTopic})
+ sub := poker.PubSub.Subscribe([]string{roomLogsTopic, "refresh_loading_icon_" + string(authUser.Username)})
defer sub.Close()
quit := hutils.SetStreaming(c)
@@ -468,6 +473,9 @@ func PokerLogsHandler(c echo.Context) error {
loop(quit, sub, func(topic string, payload any) error {
switch evt := payload.(type) {
+ case database.ChatMessageType:
+ send(`<meta http-equiv="refresh" content="1" />`)
+ return BreakLoopErr
case poker.LogEvent:
send(fmt.Sprintf(`<div>%s</div>`, evt.Message))
c.Response().Flush()
@@ -488,7 +496,7 @@ func PokerBetHandler(c echo.Context) error {
}
roomUserTopic := roomID.UserTopic(authUser.ID)
- sub := poker.PubSub.Subscribe([]string{roomID.Topic(), roomUserTopic})
+ sub := poker.PubSub.Subscribe([]string{roomID.Topic(), roomUserTopic, "refresh_loading_icon_" + string(authUser.Username)})
defer sub.Close()
quit := hutils.SetStreaming(c)
@@ -589,6 +597,9 @@ func PokerBetHandler(c echo.Context) error {
loop(quit, sub, func(topic string, payload any) error {
switch payload.(type) {
+ case database.ChatMessageType:
+ send(`<meta http-equiv="refresh" content="1" />`)
+ return BreakLoopErr
case poker.RefreshButtonsEvent:
send(fmt.Sprintf(`<meta http-equiv="refresh" content="0" />`))
c.Response().Flush()