summaryrefslogtreecommitdiff
path: root/Year_3/Web/chat-socket-io/assets/chat.js
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-07-26 15:41:36 +0200
committerSanto Cariotti <santo@dcariotti.me>2022-07-26 15:41:36 +0200
commitcf7e0630c77b8f0e9660e3e633e10ea3db116387 (patch)
tree17959c07604896b2db792598c4a82ec9d34c4281 /Year_3/Web/chat-socket-io/assets/chat.js
parentd29b49fc89b608794a2ab9df84e745b864b93b2f (diff)
Usernames and exclude sender
Diffstat (limited to 'Year_3/Web/chat-socket-io/assets/chat.js')
-rw-r--r--Year_3/Web/chat-socket-io/assets/chat.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/Year_3/Web/chat-socket-io/assets/chat.js b/Year_3/Web/chat-socket-io/assets/chat.js
new file mode 100644
index 0000000..2dfdd62
--- /dev/null
+++ b/Year_3/Web/chat-socket-io/assets/chat.js
@@ -0,0 +1,37 @@
+var form = document.getElementById("form");
+var input = document.getElementById("input");
+const messages = document.getElementById("messages");
+
+form.addEventListener("submit", function(e) {
+ e.preventDefault();
+ let value = input.value;
+ if (value) {
+ if (value[0] == "/") {
+ let command = value.split(" ");
+ if (command.length == 2 && command[0] == "/user") {
+ socket.emit("set user", command[1]);
+ } else {
+ socket.emit("handle error", "Command not found");
+ }
+ } else {
+ socket.emit("chat message", value);
+ }
+ input.value = "";
+ }
+});
+socket.on("chat message", (msg) => {
+ var item = document.createElement("li");
+ item.textContent = msg;
+ messages.appendChild(item);
+ window.scrollTo(0, document.body.scrollHeight);
+});
+
+socket.on("handle error", (msg) => {
+ alert(msg);
+});
+
+socket.on("set user", (username) => {
+ const userBox = document.getElementById("userBox");
+ userBox.innerHTML = username;
+ alert("Username changed");
+});