]> iEval git - plack-app-gruntmaster.git/blobdiff - js/90-tracker.js
Change message on us.en
[plack-app-gruntmaster.git] / js / 90-tracker.js
index 2f8271c12ab8295ad7d300e8e5d4c90603b90117..50ba7d48baeea680432a49940d5419a8a20e6898 100644 (file)
                        $('table').find('.name').find('a').each(function() {
                                var id = $(this).attr('href').split('?', 2)[0];
                                if(solved[id])
-                                       $(this).parent().append(tick());
+                                       $(this).parent().prepend(tick());
                                else if(attempted[id])
-                                       $(this).parent().append(xmark());
+                                       $(this).parent().prepend(xmark());
                        });
 
                if(location.pathname == '/ct/')
                        $('table').find('.name').find('a').each(function() {
                                var id = $(this).attr('href').substr(4);
                                if(contests[id])
-                                       $(this).parent().append(tick());
+                                       $(this).parent().prepend(tick());
                        });
 
                if(location.pathname == '/log/')
                localStorage.setItem('tracker_username', user);
                $('#tracker_userlink').attr('href', '/us/' + user).html(user);
                $('#tracker_tracking').removeClass('hidden');
-               $('#tracker_form').addClass('hidden');
                update_tracker();
+               var lastfetch = localStorage.getItem('tracker_lastfetch');
+               if(Date.now() - lastfetch > 60 * 10 * 1000)
+                       refresh_tracker();
+       }
+
+       function refresh_tracker(){
+               var user = localStorage.getItem('tracker_username');
                var xhr = new XMLHttpRequest();
                xhr.open('GET', '/us/' + user + '?format=json');
                xhr.onload = function () {
                        localStorage.setItem('tracker_data', this.responseText);
+                       localStorage.setItem('tracker_lastfetch', Date.now());
                        update_tracker();
                };
                xhr.send();
        }
+       window.refresh_tracker = refresh_tracker;
        window.start_tracking = start_tracking;
 
        function stop_tracking(){
                clean_tracker();
                localStorage.removeItem('tracker_username');
                localStorage.removeItem('tracker_data');
+               localStorage.removeItem('tracker_lastfetch');
                $('#tracker_tracking').addClass('hidden');
-               $('#tracker_form').removeClass('hidden');
        }
 
        $( document ).ready(function(){
                $('#tracker').detach().prependTo($('#sidebar'));
-               $('#tracker_button').on('click', function() { start_tracking($('#tracker_username').val()) });
                $('#tracker_stop').on('click', stop_tracking);
                $('#track_user').on('click', function() { stop_tracking(); start_tracking($(this).data('user')) });
+               $('#submitform').on('submit', function() { localStorage.removeItem('tracker_lastfetch') });
 
                if(localStorage.getItem('tracker_username'))
                        start_tracking(localStorage.getItem('tracker_username'));
This page took 0.020804 seconds and 4 git commands to generate.