diff --git a/.replit b/.replit index 25d9ce1..4fc10e8 100644 --- a/.replit +++ b/.replit @@ -24,7 +24,7 @@ localPort = 35637 externalPort = 3000 [[ports]] -localPort = 45701 +localPort = 38759 externalPort = 3002 [env] diff --git a/attached_assets/image_1758905153607.png b/attached_assets/image_1758905153607.png new file mode 100644 index 0000000..2c98d8d Binary files /dev/null and b/attached_assets/image_1758905153607.png differ diff --git a/client/src/pages/LivePage.tsx b/client/src/pages/LivePage.tsx index fb87484..5e407f2 100644 --- a/client/src/pages/LivePage.tsx +++ b/client/src/pages/LivePage.tsx @@ -469,29 +469,75 @@ export default function LivePage() { - {/* Sidebar - Suggested Videos */} + {/* Sidebar - Empfohlene Videos */}
-
-

Suggested Videos

-
- {videos.slice(0, 8).map((video: any) => ( -
- window.location.href = `/video/${video.id}`} - className="hover:bg-bunny-dark/50 transition-colors rounded-lg scale-90" + {/* Sidebar Ad */} +
+ +
+ +

Empfohlene Videos

+ +
+ {videos.slice(0, 10).map((video: any) => ( +
{ + const shortId = video.id.replace(/-/g, '').substring(0, 8); + window.location.href = `/video/${shortId}`; + }} + className="flex gap-3 p-2 bg-bunny-gray/30 hover:bg-bunny-gray/50 rounded-lg cursor-pointer transition-colors" + > +
+ {video.title} { + const target = e.target as HTMLImageElement; + target.style.display = 'none'; + if (target.parentElement && !target.parentElement.querySelector('.thumbnail-placeholder')) { + target.parentElement.style.background = 'linear-gradient(135deg, #1f2937, #374151)'; + const placeholder = document.createElement('div'); + placeholder.className = 'thumbnail-placeholder absolute inset-0 flex items-center justify-center text-white text-xs'; + placeholder.innerHTML = '
🎬
'; + target.parentElement.appendChild(placeholder); + } + }} /> +
+ {video.duration ? Math.floor(video.duration / 60) + ':' + String(video.duration % 60).padStart(2, '0') : '0:00'} +
- ))} -
- - {/* Ad Space inside same container */} -
- -
+ +
+

+ {video.title} +

+
+
{video.views ? (video.views >= 1000 ? Math.floor(video.views / 1000) + 'K' : video.views) : '0'} views • {video.createdAt ? new Date(video.createdAt).toLocaleDateString('de-DE') : 'Unknown date'}
+
+
+
+ ))} +
+ + {/* Bottom Sidebar Ad */} +
+