diff --git a/client/js/lounge.js b/client/js/lounge.js index 80f2091ecb..def70d64fb 100644 --- a/client/js/lounge.js +++ b/client/js/lounge.js @@ -74,28 +74,32 @@ $(function() { }); }); - socket.on("auth", function(/* data */) { + socket.on("auth", function(data) { var body = $("body"); var login = $("#sign-in"); if (!login.length) { refresh(); return; } + login.find(".btn").prop("disabled", false); - var token = window.localStorage.getItem("token"); - if (token) { + + if (!data.success) { + body.addClass("signed-out"); + window.localStorage.removeItem("token"); - socket.emit("auth", {token: token}); - } - if (body.hasClass("signed-out")) { + var error = login.find(".error"); error.show().closest("form").one("submit", function() { error.hide(); }); + } else { + var token = window.localStorage.getItem("token"); + if (token) { + socket.emit("auth", {token: token}); + } } - if (!token) { - body.addClass("signed-out"); - } + var input = login.find("input[name='user']"); if (input.val() === "") { input.val(window.localStorage.getItem("user") || ""); diff --git a/src/server.js b/src/server.js index 055bd8d371..036b572ebe 100644 --- a/src/server.js +++ b/src/server.js @@ -106,7 +106,7 @@ function index(req, res, next) { function init(socket, client) { if (!client) { - socket.emit("auth"); + socket.emit("auth", {success: true}); socket.on("auth", auth); } else { socket.on( @@ -251,7 +251,7 @@ function auth(data) { } }); if (!success) { - socket.emit("auth"); + socket.emit("auth", {success: success}); } } }