2013-09-17 11:19:37 -07:00
|
|
|
/*global app, me, client*/
|
2013-08-29 20:38:28 -07:00
|
|
|
"use strict";
|
2013-06-03 15:51:30 -07:00
|
|
|
|
2013-08-29 20:38:28 -07:00
|
|
|
var Backbone = require('backbone');
|
2015-02-23 18:24:16 +01:00
|
|
|
var SettingsPage = require('./pages/settings');
|
2013-08-29 20:38:28 -07:00
|
|
|
var ChatPage = require('./pages/chat');
|
2013-09-16 16:12:00 -07:00
|
|
|
var GroupChatPage = require('./pages/groupchat');
|
2013-06-03 15:51:30 -07:00
|
|
|
|
|
|
|
|
|
|
|
module.exports = Backbone.Router.extend({
|
|
|
|
routes: {
|
2015-02-23 18:24:16 +01:00
|
|
|
'': 'settings',
|
2013-09-05 16:53:23 -07:00
|
|
|
'chat/:jid': 'chat',
|
2013-12-20 03:39:06 -08:00
|
|
|
'chat/:jid/:resource': 'chat',
|
2013-09-16 16:12:00 -07:00
|
|
|
'groupchat/:jid': 'groupchat',
|
2013-09-05 16:53:23 -07:00
|
|
|
'logout': 'logout'
|
2013-06-03 15:51:30 -07:00
|
|
|
},
|
|
|
|
// ------- ROUTE HANDLERS ---------
|
2015-02-23 18:24:16 +01:00
|
|
|
settings: function () {
|
|
|
|
app.renderPage(new SettingsPage({
|
2013-06-03 15:51:30 -07:00
|
|
|
model: me
|
|
|
|
}));
|
|
|
|
},
|
2013-08-23 16:07:37 -07:00
|
|
|
chat: function (jid) {
|
2014-12-10 11:25:19 +01:00
|
|
|
var contact = me.contacts.get(decodeURIComponent(jid));
|
2013-08-20 10:45:06 -07:00
|
|
|
if (contact) {
|
2013-08-29 20:38:28 -07:00
|
|
|
app.renderPage(new ChatPage({
|
2013-08-20 10:45:06 -07:00
|
|
|
model: contact
|
|
|
|
}));
|
|
|
|
} else {
|
|
|
|
app.navigate('/');
|
|
|
|
}
|
2013-09-05 16:53:23 -07:00
|
|
|
},
|
2013-09-16 16:12:00 -07:00
|
|
|
groupchat: function (jid) {
|
2014-12-10 11:25:19 +01:00
|
|
|
var contact = me.mucs.get(decodeURIComponent(jid));
|
2013-09-16 16:12:00 -07:00
|
|
|
if (contact) {
|
|
|
|
app.renderPage(new GroupChatPage({
|
|
|
|
model: contact
|
|
|
|
}));
|
|
|
|
} else {
|
|
|
|
app.navigate('/');
|
|
|
|
}
|
|
|
|
},
|
2013-09-05 16:53:23 -07:00
|
|
|
logout: function () {
|
2013-09-17 11:19:37 -07:00
|
|
|
if (client.sessionStarted) {
|
|
|
|
client.disconnect();
|
|
|
|
}
|
2013-09-05 16:53:23 -07:00
|
|
|
localStorage.clear();
|
|
|
|
window.location = '/login';
|
2013-06-03 15:51:30 -07:00
|
|
|
}
|
|
|
|
});
|