counter.js (834B)
1 window.addEventListener("DOMContentLoaded", () => { 2 const websocket = new WebSocket("ws://localhost:6789/"); 3 4 document.querySelector(".minus").addEventListener("click", () => { 5 websocket.send(JSON.stringify({ action: "minus" })); 6 }); 7 8 document.querySelector(".plus").addEventListener("click", () => { 9 websocket.send(JSON.stringify({ action: "plus" })); 10 }); 11 12 websocket.onmessage = ({ data }) => { 13 const event = JSON.parse(data); 14 switch (event.type) { 15 case "value": 16 document.querySelector(".value").textContent = event.value; 17 break; 18 case "users": 19 const users = `${event.count} user${event.count == 1 ? "" : "s"}`; 20 document.querySelector(".users").textContent = users; 21 break; 22 default: 23 console.error("unsupported event", event); 24 } 25 }; 26 });