<% content_for "header" do %>
<title><%= translate(locale, "Subscription manager") %> - Invidious</title>
<% end %>

<div class="pure-g h-box">
    <div class="pure-u-1-3">
        <h3>
            <a href="/feed/subscriptions">
                <%= translate(locale, "`x` subscriptions", %(<span id="count">#{subscriptions.size}</span>)) %>
            </a>
        </h3>
    </div>
    <div class="pure-u-1-3" style="text-align:center">
        <h3>
            <a href="/feed/history">
                <%= translate(locale, "Watch history") %>
            </a>
        </h3>
    </div>
    <div class="pure-u-1-3" style="text-align:right">
        <h3>
            <a href="/data_control?referer=<%= URI.escape(referer) %>">
                <%= translate(locale, "Import/export") %>
            </a>
        </h3>
    </div>
</div>

<% subscriptions.each do |channel| %>
    <div class="h-box">
        <div class="pure-g<% if channel.deleted %> deleted <% end %>">
            <div class="pure-u-2-5">
                <h3 style="padding-left:0.5em">
                    <a href="/channel/<%= channel.id %>"><%= channel.author %></a>
                </h3>
            </div>
            <div class="pure-u-2-5"></div>
            <div class="pure-u-1-5" style="text-align:right">
                <h3 style="padding-right:0.5em">
                    <form onsubmit="return false" action="/subscription_ajax?action_remove_subscriptions=1&c=<%= channel.id %>&referer=<%= env.get("current_page") %>" method="post">
                        <input type="hidden" name="csrf_token" value="<%= URI.escape(env.get?("csrf_token").try &.as(String) || "") %>">
                        <a onclick="remove_subscription(this)" data-ucid="<%= channel.id %>" href="#">
                            <input style="all:unset" type="submit" value="<%= translate(locale, "unsubscribe") %>">
                        </a>
                    </form>
                </h3>
            </div>
        </div>

        <% if subscriptions[-1].author != channel.author %>
            <hr>
        <% end %>
    </div>
<% end %>

<script>
function remove_subscription(target) {
    var row = target.parentNode.parentNode.parentNode.parentNode.parentNode;
    row.style.display = 'none';
    var count = document.getElementById('count');
    count.innerText = count.innerText - 1;

    var url = '/subscription_ajax?action_remove_subscriptions=1&redirect=false' +
        '&referer=<%= env.get("current_page") %>' +
        '&c=' + target.getAttribute('data-ucid');
    var xhr = new XMLHttpRequest();
    xhr.responseType = 'json';
    xhr.timeout = 20000;
    xhr.open('POST', url, true);
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.send('csrf_token=<%= URI.escape(env.get?("csrf_token").try &.as(String) || "") %>');

    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            if (xhr.status != 200) {
                count.innerText = parseInt(count.innerText) + 1;
                row.style.display = '';
            }
        }
    }
}
</script>
