dropin

alternative frontend for dropout.tv
git clone https://git.ce9e.org/dropin.git

commit
b65c3d286ac0fb48089a5b5864daa0bf8a4e6532
parent
6c1ef9d1cba95e525d6c7a49f75e1d7fd72735ef
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2025-02-14 22:27
automatically skip to next video

Diffstat

M static/style.css 7 +++++++
M static/video.js 12 ++++++++++++
M templates/video.html 2 +-

3 files changed, 20 insertions, 1 deletions


diff --git a/static/style.css b/static/style.css

@@ -169,6 +169,9 @@ video {
  169   169 }
  170   170 .next {
  171   171     inset-block-start: 0.5em;
   -1   172     background-image: linear-gradient(to right, var(--border) 50%, transparent 50%);
   -1   173     background-size: 200% 100%;
   -1   174     background-position: 100% 0;
  172   175 }
  173   176 .next::before {
  174   177     content: "";
@@ -178,6 +181,10 @@ video {
  178   181     border-inline-end: 0;
  179   182     margin-inline-end: 0.4em;
  180   183 }
   -1   184 .next.loading {
   -1   185     transition: background-position 5s;
   -1   186     background-position: 0 0;
   -1   187 }
  181   188 
  182   189 .quality {
  183   190     display: flex;

diff --git a/static/video.js b/static/video.js

@@ -62,6 +62,15 @@ var createMenu = function() {
   62    62     return ul;
   63    63 };
   64    64 
   -1    65 video.addEventListener('ended', event => {
   -1    66     document.exitFullscreen();
   -1    67     var a = document.querySelector('a[rel="next"]');
   -1    68     if (a) {
   -1    69         a.classList.add('loading');
   -1    70         setTimeout(() => a.click(), 5000);
   -1    71     }
   -1    72 });
   -1    73 
   65    74 var menu = createMenu();
   66    75 video.after(menu);
   67    76 applyQuality(localStorage.getItem('quality'), true);
@@ -69,3 +78,6 @@ applyQuality(localStorage.getItem('quality'), true);
   69    78 if (query.has('t')) {
   70    79     video.currentTime = parseInt(query.get('t'), 10);
   71    80 }
   -1    81 if (query.has('autoplay')) {
   -1    82     video.play();
   -1    83 }

diff --git a/templates/video.html b/templates/video.html

@@ -13,7 +13,7 @@
   13    13             {% endfor %}
   14    14         </video>
   15    15         {% if next %}
   16    -1             <a href="/video/{{ next }}/" class="next" rel="next">Next episode</a>
   -1    16             <a href="/video/{{ next }}/?autoplay" class="next" rel="next">Next episode</a>
   17    17         {% endif %}
   18    18     </div>
   19    19     <div class="wrapper">