invidious-mod/src/invidious/views/subscription_manager.ecr

65 行
1.9 KiB
Plaintext
Raw 通常表示 履歴

2018-07-06 09:48:55 +09:00
<% content_for "header" do %>
<title>Subscription manager - Invidious</title>
<% end %>
<div class="pure-g h-box">
<div class="pure-u-2-3">
<h3><span id="count"><%= subscriptions.size %></span> subscriptions</h3>
</div>
<div class="pure-u-1-3" style="text-align:right;">
<h3>
2018-08-26 11:48:20 +09:00
<a href="/data_control?referer=<%= referer %>">Import/Export</a>
</h3>
</div>
</div>
2018-07-06 09:48:55 +09:00
<% subscriptions.each do |channel| %>
2018-08-06 09:59:45 +09:00
<div class="h-box">
2018-07-06 09:48:55 +09:00
<div class="pure-g">
<div class="pure-u-2-5">
2018-08-06 09:59:45 +09:00
<h3>
<a href="/channel/<%= channel.id %>"><%= channel.author %></a>
</h3>
2018-07-06 09:48:55 +09:00
</div>
<div class="pure-u-2-5"></div>
<div class="pure-u-1-5" style="text-align: right;">
2018-08-06 09:59:45 +09:00
<h3>
2018-11-22 04:35:37 +09:00
<a onclick="remove_subscription(this)"
data-id="<%= channel.id %>"
onmouseenter='this["href"]="javascript:void(0)"'
href="/subscription_ajax?action_remove_subscriptions=1&c=<%= channel.id %>">
unsubscribe
</a>
2018-08-06 09:59:45 +09:00
</h3>
2018-07-06 09:48:55 +09:00
</div>
</div>
2018-08-06 09:59:45 +09:00
<% if subscriptions[-1].author != channel.author %>
<hr>
<% end %>
</div>
2018-08-18 01:04:38 +09:00
<% end %>
2018-11-22 04:35:37 +09:00
<script>
function remove_subscription(target) {
var row = target.parentNode.parentNode.parentNode.parentNode;
row.style.display = "none";
var count = document.getElementById("count")
count.innerText = count.innerText - 1;
2018-11-22 04:35:37 +09:00
var url = "/subscription_ajax?action_remove_subscriptions=1&redirect=false&c=" + target.getAttribute("data-id");
var xhr = new XMLHttpRequest();
xhr.responseType = "json";
xhr.timeout = 20000;
xhr.open("GET", url, true);
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status != 200) {
2018-11-22 04:35:37 +09:00
row.style.display = "";
}
}
}
}
</script>