aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--youtube/static/js/common.js23
-rw-r--r--youtube/static/js/hotkeys.js16
-rw-r--r--youtube/templates/watch.html2
3 files changed, 38 insertions, 3 deletions
diff --git a/youtube/static/js/common.js b/youtube/static/js/common.js
new file mode 100644
index 0000000..f2e62fe
--- /dev/null
+++ b/youtube/static/js/common.js
@@ -0,0 +1,23 @@
+Q = document.querySelector.bind(document);
+function text(msg) { return document.createTextNode(msg); }
+function clearNode(node) { while (node.firstChild) node.removeChild(node.firstChild); }
+function toMS(s) {
+ var s = Math.floor(s);
+ var m = Math.floor(s/60); var s = s % 60;
+ return `0${m}:`.slice(-3) + `0${s}`.slice(-2);
+}
+
+
+var cur_tt_idx = 0;
+function getActiveTranscriptTrackIdx() {
+ let tts = Q("video").textTracks;
+ if (!tts.length) return;
+ for (let i=0; i < tts.length; i++) {
+ if (tts[i].mode == "showing") {
+ cur_tt_idx = i;
+ return cur_tt_idx;
+ }
+ }
+ return cur_tt_idx;
+}
+function getActiveTranscriptTrack() { return Q("video").textTracks[getActiveTranscriptTrackIdx()]; } \ No newline at end of file
diff --git a/youtube/static/js/hotkeys.js b/youtube/static/js/hotkeys.js
index c696ac0..8b28f28 100644
--- a/youtube/static/js/hotkeys.js
+++ b/youtube/static/js/hotkeys.js
@@ -1,9 +1,7 @@
-Q = document.querySelector.bind(document);
-
function onKeyDown(e) {
if (['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName)) return false;
- console.log(e);
+ // console.log(e);
let v = Q("video");
let c = e.key.toLowerCase();
if (c == "k") {
@@ -25,6 +23,18 @@ function onKeyDown(e) {
e.preventDefault();
v.currentTime = v.currentTime + 10;
}
+ else if (c == "f") {
+ e.preventDefault();
+ if (document.fullscreen) document.exitFullscreen();
+ else v.requestFullscreen();
+ }
+ else if (c == "c") {
+ e.preventDefault();
+ let tt = getActiveTranscriptTrack();
+ if (tt == null) return;
+ if (tt.mode == "showing") tt.mode = "disabled";
+ else tt.mode = "showing";
+ }
}
window.addEventListener('DOMContentLoaded', function() {
diff --git a/youtube/templates/watch.html b/youtube/templates/watch.html
index 74b9887..b3847d5 100644
--- a/youtube/templates/watch.html
+++ b/youtube/templates/watch.html
@@ -608,6 +608,8 @@ Reload without invidious (for usage of new identity button).</a>
</details>
{% endif %}
{% endif %}
+
+ <script src="/youtube.com/static/js/common.js"></script>
{% if settings.use_video_hotkeys %}
<script src="/youtube.com/static/js/hotkeys.js"></script>
{% endif %}