diff --git a/public/src/app.js b/public/src/app.js index 00aaf7c47c..f3201af211 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -275,7 +275,7 @@ var socket, if (active) { jQuery('#main-nav li a').each(function() { var href = this.getAttribute('href'); - if (active == "sort-posts" || active == "sort-reputation" || active == "search" || active== "latest") + if (active == "sort-posts" || active == "sort-reputation" || active == "search" || active == "latest" || active == "online") active = 'users'; if (href && href.match(active)) { jQuery(this.parentNode).addClass('active'); @@ -286,6 +286,8 @@ var socket, $('span.timeago').timeago(); + + setTimeout(function() { window.scrollTo(0, 1); // rehide address bar on mobile after page load completes. }, 100); @@ -432,12 +434,14 @@ var socket, ajaxify.go("search/" + input.val(), null, "search"); input.val(''); return false; - }) + }); + + + }); showWelcomeMessage = location.href.indexOf('loggedin') !== -1; loadConfig(); - }()); \ No newline at end of file diff --git a/public/src/forum/footer.js b/public/src/forum/footer.js index 876880f05f..eb04220b2c 100644 --- a/public/src/forum/footer.js +++ b/public/src/forum/footer.js @@ -94,6 +94,11 @@ right_menu.appendChild(registerEl); right_menu.appendChild(loginEl); } + + $('#main-nav a,#right-menu a').off('click').on('click', function() { + if($('.navbar .navbar-collapse').hasClass('in')) + $('.navbar-header button').click(); + }); }); // Notifications dropdown diff --git a/public/src/forum/search.js b/public/src/forum/search.js index 5044a9be76..f7238ef8c3 100644 --- a/public/src/forum/search.js +++ b/public/src/forum/search.js @@ -12,6 +12,13 @@ $('#search-form input').val(searchQuery); + + $('#mobile-search-form').off('submit').on('submit', function() { + var input = $(this).find('input'); + ajaxify.go("search/" + input.val(), null, "search"); + input.val(''); + return false; + }); }); })(); \ No newline at end of file diff --git a/public/src/forum/users.js b/public/src/forum/users.js index bf69cdad9f..a5d29adaa7 100644 --- a/public/src/forum/users.js +++ b/public/src/forum/users.js @@ -74,7 +74,12 @@ }); - + socket.on('api:user.isOnline', function(data) { + if(active == 'online' && !loadingMoreUsers) { + $('#users-container').empty(); + startLoading('users:online', 0); + } + }); function onUsersLoaded(users) { var html = templates.prepare(templates['users'].blocks['users']).parse({ @@ -91,24 +96,32 @@ set = 'users:postcount'; } else if (active === 'sort-reputation') { set = 'users:reputation'; + } else if (active === 'online') { + set = 'users:online'; } if (set) { - loadingMoreUsers = true; - socket.emit('api:users.loadMore', { - set: set, - after: $('#users-container').children().length - }, function(data) { - if (data.users.length) { - onUsersLoaded(data.users); - } else { - $('#load-more-users-btn').addClass('disabled'); - } - loadingMoreUsers = false; - }); + startLoading(set, $('#users-container').children().length); } } + function startLoading(set, after) { + loadingMoreUsers = true; + socket.emit('api:users.loadMore', { + set: set, + after: after + }, function(data) { + if (data.users.length) { + onUsersLoaded(data.users); + $('#load-more-users-btn').removeClass('disabled'); + } else { + $('#load-more-users-btn').addClass('disabled'); + } + loadingMoreUsers = false; + }); + } + + $('#load-more-users-btn').on('click', loadMoreUsers); $(window).off('scroll').on('scroll', function() { diff --git a/public/templates/header.tpl b/public/templates/header.tpl index 7b0aba6bf1..cbdd8e9680 100644 --- a/public/templates/header.tpl +++ b/public/templates/header.tpl @@ -43,9 +43,9 @@