forked from midou/invidious
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
'use strict';
|
|
var watched_data = JSON.parse(document.getElementById('watched_data').textContent);
|
|
var payload = 'csrf_token=' + watched_data.csrf_token;
|
|
|
|
function mark_watched(target) {
|
|
var tile = target.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
tile.style.display = 'none';
|
|
|
|
var url = '/watch_ajax?action_mark_watched=1&redirect=false' +
|
|
'&id=' + target.getAttribute('data-id');
|
|
|
|
helpers.xhr('POST', url, {payload: payload}, {
|
|
onNon200: function (xhr) {
|
|
tile.style.display = '';
|
|
}
|
|
});
|
|
}
|
|
|
|
function mark_unwatched(target) {
|
|
var tile = target.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
tile.style.display = 'none';
|
|
var count = document.getElementById('count');
|
|
count.textContent--;
|
|
|
|
var url = '/watch_ajax?action_mark_unwatched=1&redirect=false' +
|
|
'&id=' + target.getAttribute('data-id');
|
|
|
|
helpers.xhr('POST', url, {payload: payload}, {
|
|
onNon200: function (xhr) {
|
|
count.textContent++;
|
|
tile.style.display = '';
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
var save_player_pos_key = 'save_player_pos';
|
|
|
|
function get_all_video_times() {
|
|
return helpers.storage.get(save_player_pos_key) || {};
|
|
}
|
|
|
|
var watchedIndicators = document.getElementsByClassName('watched-indicator');
|
|
console.log('indicators', watchedIndicators.length);
|
|
for (var i = 0; i < watchedIndicators.length; i++) {
|
|
var indicator = watchedIndicators[i];
|
|
var watched_part = get_all_video_times()[indicator.getAttribute('data-id')];
|
|
var total = parseInt(indicator.getAttribute('data-length'), 10);
|
|
var percentage = Math.round((watched_part / total) * 100);
|
|
|
|
if (percentage < 5) {
|
|
percentage = 5;
|
|
}
|
|
if (percentage > 90) {
|
|
percentage = 100;
|
|
}
|
|
|
|
indicator.style.width = percentage + '%';
|
|
}
|