From 18f6f0219474f0f43e7403a5f5f8cff7c3dd0246 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 5 Aug 2015 01:21:38 -0400 Subject: login view, lobby view --- public/js/lib/views/index.js | 9 ++++++++- public/js/lib/views/lobby/index.js | 8 ++++++++ public/js/lib/views/login.js | 29 +++++++++++++++++++++++++++++ public/js/lib/views/room/index.js | 3 ++- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 public/js/lib/views/login.js (limited to 'public/js/lib/views') diff --git a/public/js/lib/views/index.js b/public/js/lib/views/index.js index d96bffb..d5ec35d 100644 --- a/public/js/lib/views/index.js +++ b/public/js/lib/views/index.js @@ -10,13 +10,20 @@ var SiteRouter = Router.extend({ }, initialize: function(){ - this.route() + if (! user.username) { + $("#login").show() + } + else { + this.route() + } }, lobby: function(){ + this.view = new LobbyView () }, room: function(name){ + this.view = new RoomView (name) }, }) \ No newline at end of file diff --git a/public/js/lib/views/lobby/index.js b/public/js/lib/views/lobby/index.js index 5ed1966..70b63c4 100644 --- a/public/js/lib/views/lobby/index.js +++ b/public/js/lib/views/lobby/index.js @@ -1,9 +1,17 @@ var LobbyView = View.extend({ events: { + "form submit": "join" }, initialize: function(){ + this.$createRoom = this.$("#create-room") + }, + + join: function(){ + var name = this.$createRoom.sanitize() + if (! name) { return } + window.location.href = "/v/" + name } }) \ No newline at end of file diff --git a/public/js/lib/views/login.js b/public/js/lib/views/login.js new file mode 100644 index 0000000..325d22d --- /dev/null +++ b/public/js/lib/views/login.js @@ -0,0 +1,29 @@ +var LoginView = View.extend({ + el: "#login", + + events: { + "form submit": "save", + }, + + initialize: function(){ + this.$el.show() + }, + + save: function(e){ + e.preventDefault() + user.save() + var that = this + if (user.username.length) { + app.router.route() + oktween.add({ + obj: this.el.style, + from: { opacity: 1 }, + to: { opacity: 0 }, + duration: 500, + finished: function(){ + that.el.style.display = "none" + } + }) + } + }, +}) \ No newline at end of file diff --git a/public/js/lib/views/room/index.js b/public/js/lib/views/room/index.js index b266e29..58d7449 100644 --- a/public/js/lib/views/room/index.js +++ b/public/js/lib/views/room/index.js @@ -3,7 +3,8 @@ var RoomView = View.extend({ events: { }, - initialize: function(){ + initialize: function(name){ + app.socket = ws.connect(name) } }) \ No newline at end of file -- cgit v1.2.3-70-g09d2