]> git.r.bdr.sh - rbdr/junction/blobdiff - extension/junction.js
More stuff
[rbdr/junction] / extension / junction.js
index 575a716b20d83c825898befe01cb225e68578c48..bb2d3e544140119cd74ecbe25246dfed3289f789 100644 (file)
@@ -1,3 +1,5 @@
+const io = require('socket.io-client');
+
 const internals = {
 
   promisesSupported: !!(window.browser),
@@ -15,6 +17,10 @@ const internals = {
     }
   },
 
+  socket: null,
+
+  peers: 0,
+
   onClick() {
     if (internals.isInCall()) {
       return internals.hangUp();
@@ -27,14 +33,39 @@ const internals = {
 
     internals.isInCallState = true;
     internals.setIcon('hangUp');
-    console.log('setting tabs');
     const activeTabs = await internals.getActiveTabs();
 
+    const socketUrl = 'http://polypropylene.website:8000';
+    const currentUrl = activeTabs[0].url;
+
+    this.socket = io(socketUrl);
+
+    this.socket.on('connect', function() {
+      console.log("Connected to signaling server");
+    });
+
+    this.socket.on('disconnect', function() {
+      console.log("disconnected from signaling server");
+    });
+
+    this.socket.on('addPeer', function() {
+      this.peers++;
+      console.log(`There are now ${this.peers} participants`);
+    });
+
+    this.socket.on('removePeer', function() {
+      this.peers--;
+      console.log(`There are now ${this.peers} participants`);
+    });
+
     console.log(activeTabs[0].url); // placeholder while we connect backend.
     internals.createAudioElement(internals.getRoot().runtime.getURL('sounds/tada.wav'));
   },
 
   hangUp() {
+    this.socket.close();
+
+
 
     document.querySelectorAll('audio').forEach((audioElement) => audioElement.remove());
     internals.setIcon('call');