]> git.example.dev Git - binbsis50.git/commitdiff
removed `getoverview` event
authorLuigi Pinca <luigipinca@gmail.com>
Mon, 28 Mar 2016 12:37:53 +0000 (14:37 +0200)
committerLuigi Pinca <luigipinca@gmail.com>
Mon, 28 Mar 2016 12:37:53 +0000 (14:37 +0200)
lib/sparks.js
public/js/app.js
public/js/home.js
routes/site.js
views/home.jade
views/room.jade

index 80d6ef9b8e4c0f3b83cd51bebb9c553b782a8db8..c80c77604907654cada074652249e4485c78df55 100644 (file)
@@ -105,16 +105,6 @@ var authorize = function(req, authorized) {
 
 var connection = function(spark) {
   var user = spark.request.user;
-  spark.on('getoverview', function(callback) {
-    if (!isFunction(callback)) {
-      return;
-    }
-    var data = Object.create(null);
-    for (var room in rooms) {
-      data[room] = rooms[room].totusers;
-    }
-    callback(data);
-  });
   spark.on('joinauthenticated', function(room) {
     if (user && ~config.rooms.indexOf(room)) {
       if (sparks[user]) { // User already in a room
index ab0dc539bd1cab847ca756d51b0706c3d004f32b..1359a1dd61b8f0a6c75f330707911cb932f8d840 100644 (file)
     primus.send('getstatus', setStatus);
   };
 
-  // Show the number of players inside each room
-  var roomsOverview = function(data) {
-    $('.users-counter').each(function() {
-      var room = $(this).prevAll('.room-name').text();
-      userscounters[room] = $(this);
-      $(this).text(data[room]);
-    });
-
-    primus.on('updateoverview', updateRoomsOverview);
-  };
-
   var setStatus = function(data) {
     if (data.status === 0) {
       isplaying = true;
 
   $togglechat.click(hideChat);
 
+  $('.users-counter').each(function() {
+    userscounters[$(this).prevAll('.room-name').text()] = $(this);
+  });
+
   // Open the realtime connection
-  primus = Primus.connect({ strategy: false });
+  primus = new Primus({ strategy: false });
+
   primus.on('open', function() {
     $jplayer = $('#player').jPlayer({
       ready: jplayerReady,
       preload: 'auto',
       volume: 1
     });
+    primus.on('updateoverview', updateRoomsOverview);
+    primus.on('invalidnickname', invalidNickName);
     primus.on('alreadyinaroom', alreadyInARoom);
     primus.on('close', disconnect);
-    primus.on('invalidnickname', invalidNickName);
     primus.on('ready', ready);
-    primus.send('getoverview', roomsOverview);
   });
-
 })();
index 98ff0d1595c741685dce629ff306ef5c8a33384c..1ec7faff65dcfbf7f9e84e425f119d5bd89fe9b7 100644 (file)
     });
   });
 
-  var primus = Primus.connect({ strategy: false });
-  primus.on('open', function() {
-    primus.send('getoverview', function(data) {
-      for (var prop in data) {
-        $('#' + prop).text(data[prop]);
-      }
-    });
-    primus.on('updateoverview', function(room, players) {
-      $('#' + room).text(players);
-    });
+  var primus = new Primus({ strategy: false });
+
+  primus.on('updateoverview', function(room, players) {
+    $('#' + room).text(players);
   });
 })();
index 5b63ea0229a37acddf06910460173357ee04b9bf..9e615ce9472710c01dca6dfe7a48ef9278748757 100644 (file)
@@ -66,7 +66,9 @@ exports.changePasswd = function(req, res) {
 exports.home = function(req, res) {
   res.render('home', {
     loggedin: req.session.user,
-    rooms: config.rooms,
+    rooms: config.rooms.map(function(room) {
+      return { name: room, players: rooms[room].totusers };
+    }),
     slogan: randomSlogan()
   });
 };
@@ -96,15 +98,22 @@ exports.resetPasswd = function(req, res) {
 };
 
 exports.room = function(req, res) {
-  if (~config.rooms.indexOf(req.params.room)) {
-    return res.render('room', {
-      loggedin: req.session.user,
-      roomname: req.params.room,
-      rooms: config.rooms,
-      slogan: randomSlogan()
-    });
+  var stations = config.rooms.filter(function(room) {
+    return room !== req.params.room;
+  });
+
+  if (stations.length === config.rooms.length) {
+    return res.status(404).send(http.STATUS_CODES[404]);
   }
-  res.status(404).send(http.STATUS_CODES[404]);
+
+  res.render('room', {
+    loggedin: req.session.user,
+    roomname: req.params.room,
+    rooms: stations.map(function(room) {
+      return { name: room, players: rooms[room].totusers };
+    }),
+    slogan: randomSlogan()
+  });
 };
 
 exports.signup = function(req, res) {
index cf889d85d9599aabd3f155f49c4d3d96590e1018..4aa5fba8e4f7ee8cfd5e06b14cac8e0d65136a5d 100644 (file)
@@ -48,11 +48,11 @@ block sections
     .row
       .span16
         ul.thumbnails
-          - each item in rooms
+          - each room in rooms
             li.span4
-              a.thumbnail.relative(href=item)
-                .room #{item} - 
-                  span(id=item)
+              a.thumbnail.relative(href=room.name)
+                .room #{room.name} - 
+                  span(id=room.name) #{room.players}
                   |  Players
 
 append scripts
index 05ae51d51a7137d34c89b47929043c55d873814c..69e2a3e992658ac17fd1669e6ea5b2645ddb56ea 100644 (file)
@@ -17,13 +17,12 @@ block nav
       a.dropdown-toggle(data-toggle="dropdown",href="#") #{roomname} 
         b.caret
       ul.dropdown-menu
-        - each item in rooms
-          - if (item !== roomname)
-            li
-              a(href=item)
-                span.room-name #{item}
-                i.icon-user.pull-right
-                span.users-counter
+        - each room in rooms
+          li
+            a(href=room.name)
+              span.room-name #{room.name}
+              i.icon-user.pull-right
+              span.users-counter #{room.players}
     - if (locals.loggedin)
       li.dropdown
         a.dropdown-toggle(data-toggle="dropdown", href="#") Logged in as #{loggedin}