"use strict"; var community_data = JSON.parse( document.getElementById("community_data").textContent, ); function hide_youtube_replies(event) { var target = event.target; var sub_text = target.getAttribute("data-inner-text"); var inner_text = target.getAttribute("data-sub-text"); var body = target.parentNode.parentNode.children[1]; body.style.display = "none"; target.innerHTML = sub_text; target.onclick = show_youtube_replies; target.setAttribute("data-inner-text", inner_text); target.setAttribute("data-sub-text", sub_text); } function show_youtube_replies(event) { var target = event.target; var sub_text = target.getAttribute("data-inner-text"); var inner_text = target.getAttribute("data-sub-text"); var body = target.parentNode.parentNode.children[1]; body.style.display = ""; target.innerHTML = sub_text; target.onclick = hide_youtube_replies; target.setAttribute("data-inner-text", inner_text); target.setAttribute("data-sub-text", sub_text); } function get_youtube_replies(target, load_more) { var continuation = target.getAttribute("data-continuation"); var body = target.parentNode.parentNode; var fallback = body.innerHTML; body.innerHTML = '

'; var url = "/api/v1/channels/comments/" + community_data.ucid + "?format=html" + "&hl=" + community_data.preferences.locale + "&thin_mode=" + community_data.preferences.thin_mode + "&continuation=" + continuation; helpers.xhr( "GET", url, {}, { on200: function (response) { if (load_more) { body = body.parentNode.parentNode; body.removeChild(body.lastElementChild); body.innerHTML += response.contentHtml; } else { body.removeChild(body.lastElementChild); var p = document.createElement("p"); var a = document.createElement("a"); p.appendChild(a); a.href = "javascript:void(0)"; a.onclick = hide_youtube_replies; a.setAttribute("data-sub-text", community_data.hide_replies_text); a.setAttribute("data-inner-text", community_data.show_replies_text); a.textContent = community_data.hide_replies_text; var div = document.createElement("div"); div.innerHTML = response.contentHtml; body.appendChild(p); body.appendChild(div); } }, onNon200: function (xhr) { body.innerHTML = fallback; }, onTimeout: function (xhr) { console.warn("Pulling comments failed"); body.innerHTML = fallback; }, }, ); }