5c71e12c5d5a165c98f8eb71bbe1e757a8918af1
4 function tick() { return $('<span class="tick tracker-mark">✔</span>') }
5 function xmark() { return $('<span class="x tracker-mark">✘</span>') }
7 function update_tracker(){
8 var data
= localStorage
.getItem('tracker_data');
9 var user
= localStorage
.getItem('tracker_username');
12 data
= JSON
.parse(data
);
17 data
.problems
.forEach(function(e
){
19 solved
[e
.problem
] = 1;
22 attempted
[e
.problem
] = 1;
28 data
.contests
.forEach(function(e
){
29 contests
[e
.contest
] = 1;
32 $('#tracker_userlink').html(data
.name
);
33 $('#tracker_solved').html(solvednr
);
34 $('#tracker_attempted').html(attemptednr
);
35 $('#tracker_contests').html(data
.contests
.length
);
37 $('.tracker-mark').detach();
38 if(location
.pathname
== '/pb/')
39 $('table').find('.name').find('a').each(function() {
40 var id
= $(this).attr('href').split('?', 2)[0];
42 $(this).parent().append(tick());
43 else if(attempted
[id
])
44 $(this).parent().append(xmark());
47 if(location
.pathname
== '/ct/')
48 $('table').find('.name').find('a').each(function() {
49 var id
= $(this).attr('href').substr(4);
51 $(this).parent().append(tick());
54 if(location
.pathname
== '/log/')
55 $('table').find('tbody').find('tr').each(function() {
56 if($(this).find('.owner').find('a').attr('href') != "/us/" + user
)
58 $(this).find('.id').append($(this).find('.r0').size() ? tick() : xmark());
62 function start_tracking(user
){
63 localStorage
.setItem('tracker_username', user
);
64 $('#tracker_userlink').attr('href', '/us/' + user
).html(user
);
65 $('#tracker_tracking').removeClass('hidden');
66 $('#tracker_form').addClass('hidden');
68 var xhr
= new XMLHttpRequest();
69 xhr
.open('GET', '/us/' + user
);
70 xhr
.setRequestHeader('Accept', 'application/json');
71 xhr
.onload = function () {
72 localStorage
.setItem('tracker_data', this.responseText
);
78 function stop_tracking(){
79 $('.tracker-mark').detach();
80 localStorage
.removeItem('tracker_username');
81 localStorage
.removeItem('tracker_data');
82 $('#tracker_tracking').addClass('hidden');
83 $('#tracker_form').removeClass('hidden');
86 $( document
).ready(function(){
87 $('#tracker').detach().prependTo($('#sidebar')).removeClass('hidden');
88 $('#tracker_button').on('click', function() { start_tracking($('#tracker_username').val()) });
89 $('#tracker_stop').on('click', stop_tracking
);
91 if(localStorage
.getItem('tracker_username'))
92 start_tracking(localStorage
.getItem('tracker_username'));
This page took 0.026033 seconds and 3 git commands to generate.