feat: participant bricks in room added

This commit is contained in:
efim 2023-11-17 03:37:06 +00:00
parent 384afa0e00
commit 04ab19fadf
3 changed files with 18 additions and 9 deletions

View File

@ -72,7 +72,12 @@ func streamingRoomStates(
w.Header().Set("Content-Type", "text/event-stream") w.Header().Set("Content-Type", "text/event-stream")
templFile := "templates/room.gohtml" templFile := "templates/room.gohtml"
tmpl := template.Must(template.ParseFS(templateFs, templFile)) tableTemplates := "templates/tableTemplates.gohtml"
tmpl := template.Must(
template.New("").Funcs(template.FuncMap{
"bricksForPerson": bricksForPerson,
"personsFromRoom": personsFromRoom,
}).ParseFS(templateFs, tableTemplates, templFile))
roomStream := roomsM.Subscribe(r.Context(), roomName) roomStream := roomsM.Subscribe(r.Context(), roomName)
for room := range roomStream { for room := range roomStream {
@ -199,7 +204,12 @@ func roomPageRoute(
templFile := "templates/room.gohtml" templFile := "templates/room.gohtml"
baseFile := "templates/base.gohtml" baseFile := "templates/base.gohtml"
tmpl := template.Must(template.ParseFS(templateFs, templFile, baseFile)) tableTemplates := "templates/tableTemplates.gohtml"
tmpl := template.Must(
template.New("").Funcs(template.FuncMap{
"bricksForPerson": bricksForPerson,
"personsFromRoom": personsFromRoom,
}).ParseFS(templateFs, tableTemplates, templFile, baseFile))
type GestureData struct { type GestureData struct {
Name string Name string
@ -236,4 +246,3 @@ func roomPageRoute(
} }
} }
} }

View File

@ -35,14 +35,18 @@
<script src="https://unpkg.com/htmx.org/dist/ext/sse.js"></script> <script src="https://unpkg.com/htmx.org/dist/ext/sse.js"></script>
<div <div
id="roomTextContainer" id="roomTextContainer"
class="bg-blue-200" class="bg-blue-200 grid place-content-center"
hx-ext="sse" hx-ext="sse"
sse-connect="/rooms/subscribe?roomName={{ .Room.Name }}" sse-connect="/rooms/subscribe?roomName={{ .Room.Name }}"
> >
{{ block "simpleRoomShow" .Room }} {{ block "simpleRoomShow" .Room }}
<!-- TODO use template, not block, have only 'loader' in base place --> <!-- TODO use template, not block, have only 'loader' in base place -->
<!-- use different template based on 'mobile' query param --> <!-- use different template based on 'mobile' query param -->
<div sse-swap="message">{{ . }}</div> <div sse-swap="message">
<div>
{{ template "roomPeople" . }}
</div>
</div>
{{ end }} {{ end }}
</div> </div>
<div id="controls" class="bg-green-300"> <div id="controls" class="bg-green-300">

View File

@ -1,4 +1,3 @@
{{define "main-content"}}
<h2>Single templates</h2> <h2>Single templates</h2>
@ -105,6 +104,3 @@
</div> </div>
{{end}} {{end}}
</div> </div>
{{end}}