]> git.mxchange.org Git - friendica.git/blobdiff - js/main.js
Update messages.po
[friendica.git] / js / main.js
index f6e1cc11507286be8b0efb7334a0584eece83b1a..5df33ed590c8f0000286cf86144c3c10697b89a7 100644 (file)
                        var start = textarea.selectionStart;
                        var end = textarea.selectionEnd;
                        textarea.value = textarea.value.substring(0, start) + bbcode + textarea.value.substring(end, textarea.value.length);
+                       $(textarea).trigger('change');
                });
 
 
                                // Desktop Notifications
                                $(data.notifications.reverse()).each(function(key, e){
                                        notification_id = parseInt(e.timestamp);
-                                       if (notification_lastitem !== null && notification_id > notification_lastitem && !e.seen) {
+                                       if (notification_lastitem !== null && notification_id > notification_lastitem && Number(e.seen) === 0) {
                                                if (getNotificationPermission() === "granted") {
                                                        var notification = new Notification(document.title, {
                                                                                          body: decodeHtml(e.message.replace('→ ', '').format(e.name)),
                        }
                });
 
+               // Scroll to the next/previous thread when pressing J and K
+               $(document).keydown(function (event) {
+                       var threads = $('.thread_level_1');
+                       if ((event.keyCode === 74 || event.keyCode === 75) && !$(event.target).is('textarea, input')) {
+                               var scrollTop = $(window).scrollTop();
+                               if (event.keyCode === 75) {
+                                       threads = $(threads.get().reverse());
+                               }
+                               threads.each(function(key, item) {
+                                       var comparison;
+                                       var top = $(item).offset().top - 100;
+                                       if (event.keyCode === 74) {
+                                               comparison = top > scrollTop + 1;
+                                       } else if (event.keyCode === 75) {
+                                               comparison = top < scrollTop - 1;
+                                       }
+                                       if (comparison) {
+                                               $('html, body').animate({ scrollTop: top }, 200);
+                                               return false;
+                                       }
+                               });
+                       }
+               });
+
                // Set an event listener for infinite scroll
                if(typeof infinite_scroll !== 'undefined') {
                        $(window).scroll(function(e){