summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOmar Roth <omarroth@hotmail.com>2019-01-27 21:06:28 -0600
committerOmar Roth <omarroth@hotmail.com>2019-01-27 21:06:28 -0600
commit6218078c517abe88f8dc6470eb5bc83b12d990d6 (patch)
treeabbf4caae62ddbe91398db4fb7368e132b819ee9
parenta9aae6b36c270643461a80b9987ed611077498af (diff)
downloadinvidious-6218078c517abe88f8dc6470eb5bc83b12d990d6.tar.gz
invidious-6218078c517abe88f8dc6470eb5bc83b12d990d6.tar.bz2
invidious-6218078c517abe88f8dc6470eb5bc83b12d990d6.zip
Pull subscribe widget into separate file
-rw-r--r--src/invidious/views/channel.ecr67
-rw-r--r--src/invidious/views/components/subscribe_widget.ecr24
-rw-r--r--src/invidious/views/components/subscribe_widget_script.ecr42
-rw-r--r--src/invidious/views/watch.ecr73
4 files changed, 78 insertions, 128 deletions
diff --git a/src/invidious/views/channel.ecr b/src/invidious/views/channel.ecr
index 38e7bc1b..53b71b6f 100644
--- a/src/invidious/views/channel.ecr
+++ b/src/invidious/views/channel.ecr
@@ -14,30 +14,8 @@
</div>
<div class="h-box">
-<% if user %>
- <% if subscriptions.includes? ucid %>
- <p>
- <a id="subscribe" onclick="unsubscribe()" class="pure-button pure-button-primary"
- href="/subscription_ajax?action_remove_subscriptions=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Unsubscribe") %> | <%= number_to_short_text(sub_count) %></b>
- </a>
- </p>
- <% else %>
- <p>
- <a id="subscribe" onclick="subscribe()" class="pure-button pure-button-primary"
- href="/subscription_ajax?action_create_subscription_to_channel=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Subscribe") %> | <%= number_to_short_text(sub_count) %></b>
- </a>
- </p>
- <% end %>
-<% else %>
- <p>
- <a id="subscribe" class="pure-button pure-button-primary"
- href="/login?referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Login to subscribe to `x`", author) %></b>
- </a>
- </p>
-<% end %>
+<% sub_count_text = number_to_short_text(sub_count) %>
+<%= rendered "components/subscribe_widget" %>
</div>
<div class="pure-g h-box">
@@ -94,43 +72,6 @@
</div>
<script>
-document.getElementById("subscribe")["href"] = "javascript:void(0)"
-
-function subscribe() {
- var url = "/subscription_ajax?action_create_subscription_to_channel=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>";
- 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) {
- subscribe_button = document.getElementById("subscribe");
- subscribe_button.onclick = unsubscribe;
- subscribe_button.innerHTML = '<b><%= translate(locale, "Unsubscribe") %> | <%= number_to_short_text(sub_count) %></b>'
- }
- }
- }
-}
-
-function unsubscribe() {
- var url = "/subscription_ajax?action_remove_subscriptions=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>";
- 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) {
- subscribe_button = document.getElementById("subscribe");
- subscribe_button.onclick = subscribe;
- subscribe_button.innerHTML = '<b><%= translate(locale, "Subscribe") %> | <%= number_to_short_text(sub_count) %></b>'
- }
- }
- }
-}
+<% sub_count_text = number_to_short_text(sub_count) %>
+<%= rendered "components/subscribe_widget_script" %>
</script>
diff --git a/src/invidious/views/components/subscribe_widget.ecr b/src/invidious/views/components/subscribe_widget.ecr
new file mode 100644
index 00000000..4f36368f
--- /dev/null
+++ b/src/invidious/views/components/subscribe_widget.ecr
@@ -0,0 +1,24 @@
+<% if user %>
+ <% if subscriptions.includes? ucid %>
+ <p>
+ <a id="subscribe" onclick="unsubscribe()" class="pure-button pure-button-primary"
+ href="/subscription_ajax?action_remove_subscriptions=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>">
+ <b><%= translate(locale, "Unsubscribe") %> | <%= sub_count_text %></b>
+ </a>
+ </p>
+ <% else %>
+ <p>
+ <a id="subscribe" onclick="subscribe()" class="pure-button pure-button-primary"
+ href="/subscription_ajax?action_create_subscription_to_channel=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>">
+ <b><%= translate(locale, "Subscribe") %> | <%= sub_count_text %></b>
+ </a>
+ </p>
+ <% end %>
+<% else %>
+ <p>
+ <a id="subscribe" class="pure-button pure-button-primary"
+ href="/login?referer=<%= env.get("current_page") %>">
+ <b><%= translate(locale, "Login to subscribe to `x`", author) %></b>
+ </a>
+ </p>
+<% end %>
diff --git a/src/invidious/views/components/subscribe_widget_script.ecr b/src/invidious/views/components/subscribe_widget_script.ecr
new file mode 100644
index 00000000..5180bbb8
--- /dev/null
+++ b/src/invidious/views/components/subscribe_widget_script.ecr
@@ -0,0 +1,42 @@
+subscribe_button = document.getElementById("subscribe");
+if (subscribe_button.getAttribute('onclick')) {
+ subscribe_button["href"] = "javascript:void(0)";
+}
+
+function subscribe() {
+ var url = "/subscription_ajax?action_create_subscription_to_channel=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>";
+ 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) {
+ subscribe_button = document.getElementById("subscribe");
+ subscribe_button.onclick = unsubscribe;
+ subscribe_button.innerHTML = '<b><%= translate(locale, "Unsubscribe") %> | <%= sub_count_text %></b>'
+ }
+ }
+ }
+}
+
+function unsubscribe() {
+ var url = "/subscription_ajax?action_remove_subscriptions=1&c=<%= ucid %>&referer=<%= env.get("current_page") %>";
+ 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) {
+ subscribe_button = document.getElementById("subscribe");
+ subscribe_button.onclick = subscribe;
+ subscribe_button.innerHTML = '<b><%= translate(locale, "Subscribe") %> | <%= sub_count_text %></b>'
+ }
+ }
+ }
+}
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index d5ab5411..da45011b 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -117,30 +117,10 @@
<h3><%= video.author %></h3>
</a>
</p>
- <% if user %>
- <% if subscriptions.includes? video.ucid %>
- <p>
- <a id="subscribe" onclick="unsubscribe()" class="pure-button pure-button-primary"
- href="/subscription_ajax?action_remove_subscriptions=1&c=<%= video.ucid %>&referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Unsubscribe") %> | <%= video.sub_count_text %></b>
- </a>
- </p>
- <% else %>
- <p>
- <a id="subscribe" onclick="subscribe()" class="pure-button pure-button-primary"
- href="/subscription_ajax?action_create_subscription_to_channel=1&c=<%= video.ucid %>&referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Subscribe") %> | <%= video.sub_count_text %></b>
- </a>
- </p>
- <% end %>
- <% else %>
- <p>
- <a id="subscribe" class="pure-button pure-button-primary"
- href="/login?referer=<%= env.get("current_page") %>">
- <b><%= translate(locale, "Login to subscribe to `x`", video.author) %></b>
- </a>
- </p>
- <% end %>
+ <% ucid = video.ucid %>
+ <% author = video.author %>
+ <% sub_count_text = video.sub_count_text %>
+ <%= rendered "components/subscribe_widget" %>
<p>
<b><%= translate(locale, "Shared `x`", video.published.to_s("%B %-d, %Y")) %></b>
</p>
@@ -252,48 +232,11 @@ function number_with_separator(val) {
return val;
}
-subscribe_button = document.getElementById("subscribe");
-if (subscribe_button.getAttribute('onclick')) {
- subscribe_button["href"] = "javascript:void(0)";
-}
-
-function subscribe() {
- var url = "/subscription_ajax?action_create_subscription_to_channel=1&c=<%= video.ucid %>&referer=<%= env.get("current_page") %>";
- var xhr = new XMLHttpRequest();
- xhr.responseType = "json";
- xhr.timeout = 20000;
- xhr.open("GET", url, true);
- xhr.send();
+<% ucid = video.ucid %>
+<% author = video.author %>
+<% sub_count_text = video.sub_count_text %>
+<%= rendered "components/subscribe_widget_script" %>
- xhr.onreadystatechange = function() {
- if (xhr.readyState == 4) {
- if (xhr.status == 200) {
- subscribe_button = document.getElementById("subscribe");
- subscribe_button.onclick = unsubscribe;
- subscribe_button.innerHTML = '<b><%= translate(locale, "Unsubscribe") %> | <%= video.sub_count_text %></b>'
- }
- }
- }
-}
-
-function unsubscribe() {
- var url = "/subscription_ajax?action_remove_subscriptions=1&c=<%= video.ucid %>&referer=<%= env.get("current_page") %>";
- 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) {
- subscribe_button = document.getElementById("subscribe");
- subscribe_button.onclick = subscribe;
- subscribe_button.innerHTML = '<b><%= translate(locale, "Subscribe") %> | <%= video.sub_count_text %></b>'
- }
- }
- }
-}
<% if plid %>
function get_playlist(timeouts = 0) {