diff --git a/docker/showerloop/public/js/video-init.js b/docker/showerloop/public/js/video-init.js
index b90523a..9da1d6d 100644
--- a/docker/showerloop/public/js/video-init.js
+++ b/docker/showerloop/public/js/video-init.js
@@ -2,18 +2,28 @@
* Initialize Video.js players
*/
document.addEventListener('DOMContentLoaded', function() {
- // Wait for Video.js to be loaded
- function checkVideoJS() {
- if (window.videojs) {
- // Initialize any video players on the page
- var players = document.querySelectorAll('.video-js');
- players.forEach(function(player) {
- videojs(player.id);
- });
- } else {
- setTimeout(checkVideoJS, 50);
- }
- }
+ // Find all video.js players
+ var videoElements = document.querySelectorAll('.video-js');
- checkVideoJS();
+ // Initialize each player with error handling
+ videoElements.forEach(function(videoElement) {
+ if (videoElement.id) {
+ var player = videojs(videoElement.id, {
+ // Enable responsive mode
+ responsive: true,
+ // Provide a default source if none is found
+ sources: videoElement.querySelector('source') ? undefined : [
+ { src: '/static/videos/hls/blank/index.m3u8', type: 'application/x-mpegURL' }
+ ]
+ });
+
+ // Add error handling
+ player.on('error', function() {
+ var errorDisplay = videoElement.querySelector('.vjs-error-display');
+ if (errorDisplay) {
+ errorDisplay.innerHTML = '
Video unavailable or still processing. Please check back later.
';
+ }
+ });
+ }
+ });
});
\ No newline at end of file
diff --git a/docker/showerloop/public/static/favicon.ico b/docker/showerloop/public/static/favicon.ico
new file mode 100644
index 0000000..0519ecb
--- /dev/null
+++ b/docker/showerloop/public/static/favicon.ico
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docker/showerloop/public/static/favicon.svg b/docker/showerloop/public/static/favicon.svg
new file mode 100644
index 0000000..115a40a
--- /dev/null
+++ b/docker/showerloop/public/static/favicon.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/docker/showerloop/public/static/videos/hls/blank/blank0.ts b/docker/showerloop/public/static/videos/hls/blank/blank0.ts
new file mode 100644
index 0000000..e69de29
diff --git a/docker/showerloop/public/static/videos/hls/blank/index.m3u8 b/docker/showerloop/public/static/videos/hls/blank/index.m3u8
new file mode 100644
index 0000000..f28361f
--- /dev/null
+++ b/docker/showerloop/public/static/videos/hls/blank/index.m3u8
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXT-X-VERSION:3
+#EXT-X-TARGETDURATION:1
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:1.000,
+blank0.ts
+#EXT-X-ENDLIST
\ No newline at end of file
diff --git a/docker/showerloop/public/themes/chocolate/layouts/partials/head.html b/docker/showerloop/public/themes/chocolate/layouts/partials/head.html
index 9688fc4..696d3cf 100644
--- a/docker/showerloop/public/themes/chocolate/layouts/partials/head.html
+++ b/docker/showerloop/public/themes/chocolate/layouts/partials/head.html
@@ -171,4 +171,8 @@
+
+
+
+