From 7fae82a9bd18fafa08b246e1f1c86a4accca01ed Mon Sep 17 00:00:00 2001
From: Julian Lam <julian@designcreateplay.com>
Date: Wed, 16 Sep 2015 16:05:00 -0400
Subject: [PATCH] Update chat page behaviour on mobile

As the chat page is not optimised for mobile devices, if
entered, the chat messages themselves will be hidden
(corresponding commits on themes), and the client-side
javascript will open the chat modal when contacts are clicked.
---
 public/src/client/chats.js | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/public/src/client/chats.js b/public/src/client/chats.js
index 8611d36f32..201636787b 100644
--- a/public/src/client/chats.js
+++ b/public/src/client/chats.js
@@ -10,7 +10,8 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
 	var newMessage = false;
 
 	Chats.init = function() {
-		var containerEl = $('.expanded-chat ul');
+		var containerEl = $('.expanded-chat ul'),
+			env = utils.findBootstrapEnvironment();
 
 		if (!Chats.initialised) {
 			Chats.addSocketListeners();
@@ -18,9 +19,11 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
 		}
 
 		Chats.addEventListeners();
-		Chats.setActive();
 
-		Chats.resizeMainWindow();
+		if (env === 'md' || env === 'lg') {
+			Chats.resizeMainWindow();
+		}
+
 		Chats.scrollToBottom($('.expanded-chat ul'));
 
 		Chats.initialised = true;
@@ -40,7 +43,12 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
 			popoutEl = $('[data-action="pop-out"]');
 
 		$('.chats-list').on('click', 'li', function(e) {
-			ajaxify.go('chats/' + utils.slugify($(this).attr('data-username')));
+			var env = utils.findBootstrapEnvironment();
+			if (env === 'xs' || env === 'sm') {
+				app.openChat($(this).attr('data-username'), $(this).attr('data-uid'));
+			} else {
+				ajaxify.go('chats/' + utils.slugify($(this).attr('data-username')));
+			}
 		});
 
 		inputEl.on('keypress', function(e) {
@@ -175,6 +183,8 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
 
 			messagesList.height($(window).height() - (fromTop + inputHeight + (margin * 4)));
 		}
+
+		Chats.setActive();
 	};
 
 	Chats.notifyTyping = function(toUid, typing) {