Skip to content

Commit 6dc6a47

Browse files
authored
Merge pull request #61 from geotribu/ui/lighter-web-page
ui(web): display nb of users rather than unnecessary messages
2 parents 1f2a030 + 775a9b3 commit 6dc6a47

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

gischat/templates/ws-page.html

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@
7373
<div class="card">
7474

7575
<div class="card-body">
76+
<h5 id="roomCardTitle" class="card-title" style="display: none;">💬 Room</h5>
7677
<ul id="messages" class="list-group">
77-
</ul>
78+
</ul><span class="badge badge-light">4</span>
7879
</div>
7980
</div>
8081

@@ -86,6 +87,8 @@
8687
instance.value = window.location.host;
8788
const ssl = document.getElementById("ssl");
8889
ssl.checked = window.location.protocol.startsWith("https");
90+
const room = document.getElementById("roomId");
91+
const roomCardTitle = document.getElementById("roomCardTitle");
8992

9093
function displayMessage(msg) {
9194
const messages = document.getElementById('messages');
@@ -131,13 +134,17 @@
131134
document.getElementById("connectButton").innerText = enabled ? "Disconnect" : "Connect";
132135
}
133136

137+
function setRoomText(room, nbUsers) {
138+
roomCardTitle.innerText = `💬 Room ${room} (${nbUsers})`;
139+
roomCardTitle.style.display = "inline-block";
140+
}
141+
134142
function onConnectButtonClick(event) {
135143
if (connected) {
136144
websocket.close();
137145
event.preventDefault();
138146
return;
139147
}
140-
const room = document.getElementById("roomId");
141148
if (!room.value) {
142149
alert("Room must be set");
143150
return;
@@ -150,6 +157,7 @@
150157
displayMessage(`Connected to websocket in room ${room.value}`);
151158
connected = true;
152159
setFormEnabled(true);
160+
setRoomText(room.value, "-");
153161
websocket.send(JSON.stringify({type: "newcomer", newcomer: user}));
154162
}
155163
websocket.onmessage = (event) => {
@@ -167,13 +175,14 @@
167175
displayMessage(`${data.author} sent an image`);
168176
break;
169177
case "nb_users":
170-
displayMessage(`${data.nb_users} user(s) present in the room`);
178+
console.log(`${data.nb_users} user(s) present in the room`);
179+
setRoomText(room.value, data.nb_users);
171180
break;
172181
case "newcomer":
173-
displayMessage(`${data.newcomer} has joined the room`);
182+
console.log(`${data.newcomer} has joined the room`);
174183
break;
175184
case "exiter":
176-
displayMessage(`${data.exiter} has left the room`);
185+
console.log(`${data.exiter} has left the room`);
177186
break;
178187
case "like":
179188
displayMessage(`${data.liker_author} liked your message "${data.message}"`);
@@ -187,6 +196,9 @@
187196
case "bbox":
188197
displayMessage(`${data.author} shared a bbox using '${data.crs_authid}'`);
189198
break;
199+
case "position":
200+
displayMessage(`${data.author} shared the ${data.x}-${data.y} position using '${data.crs_authid}'`);
201+
break;
190202
default:
191203
displayMessage(`Unknown message received: ${data}`);
192204
}
@@ -199,6 +211,7 @@
199211
connected = false;
200212
displayMessage("Disconnected from websocket");
201213
setFormEnabled(false);
214+
roomCardTitle.style.display = "none";
202215
}
203216
event.preventDefault();
204217
}

0 commit comments

Comments
 (0)