diff --git a/client/src/components/bunny-video-modal.tsx b/client/src/components/bunny-video-modal.tsx index a723936..bd7a93d 100644 --- a/client/src/components/bunny-video-modal.tsx +++ b/client/src/components/bunny-video-modal.tsx @@ -156,14 +156,14 @@ export default function BunnyVideoModal({ video, isOpen, onClose, onEdit, videos }; const shareOnTwitter = () => { - const text = `Poglej si "${video?.title}" na go4.video`; + const text = `Poglej si "${video?.title}" na video.folx.tv`; const url = `https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(getShareUrl())}`; window.open(url, 'twitter-share', 'width=600,height=400'); setShowShareMenu(false); }; const shareOnWhatsApp = () => { - const text = `Poglej si "${video?.title}" na go4.video: ${getShareUrl()}`; + const text = `Poglej si "${video?.title}" na video.folx.tv: ${getShareUrl()}`; const url = `https://wa.me/?text=${encodeURIComponent(text)}`; window.open(url, 'whatsapp-share', 'width=600,height=400'); setShowShareMenu(false); diff --git a/client/src/components/netflix-grid.tsx b/client/src/components/netflix-grid.tsx index 3378658..c752f4f 100644 --- a/client/src/components/netflix-grid.tsx +++ b/client/src/components/netflix-grid.tsx @@ -149,7 +149,7 @@ export default function NetflixGrid({ videos, isLoading }: NetflixGridProps) {
-

go4.video

+

video.folx.tv

Loading videos...

diff --git a/client/src/components/search-header.tsx b/client/src/components/search-header.tsx index 7f9131d..f55e0ed 100644 --- a/client/src/components/search-header.tsx +++ b/client/src/components/search-header.tsx @@ -60,7 +60,7 @@ export default function SearchHeader({
-

go4.video

+

FOLX

diff --git a/client/src/components/thumbnail-generator.tsx b/client/src/components/thumbnail-generator.tsx index 42ccd9c..dbaa18e 100644 --- a/client/src/components/thumbnail-generator.tsx +++ b/client/src/components/thumbnail-generator.tsx @@ -275,7 +275,7 @@ export default function ThumbnailGenerator({
-
go4.video
+
video.folx.tv
)} diff --git a/client/src/components/vast-player.tsx b/client/src/components/vast-player.tsx index b5f0b9f..0464b86 100644 --- a/client/src/components/vast-player.tsx +++ b/client/src/components/vast-player.tsx @@ -77,7 +77,7 @@ export default function VASTPlayer({ video, onClose, vastTagUrl, enableAds = tru }, [video, enableAds]); const initializeVASTSystem = async () => { - console.log("🎯 Initializing VAST Ad System for go4.video"); + console.log("🎯 Initializing VAST Ad System for video.folx.tv"); // Waterfall approach - try ad networks in priority order const networks = Object.entries(AD_NETWORKS).sort((a, b) => a[1].priority - b[1].priority); diff --git a/client/src/components/video-ads.tsx b/client/src/components/video-ads.tsx index 6e7e51e..854fb10 100644 --- a/client/src/components/video-ads.tsx +++ b/client/src/components/video-ads.tsx @@ -31,7 +31,7 @@ export default function VideoAds({ videoId }: VideoAdsProps) {
-
go4.video
+
video.folx.tv
Loading ads...
diff --git a/client/src/components/video-card.tsx b/client/src/components/video-card.tsx index 8f1637c..8eeaf9a 100644 --- a/client/src/components/video-card.tsx +++ b/client/src/components/video-card.tsx @@ -328,7 +328,7 @@ export default function VideoCard({ video, onClick, className = "", hideOverlay

- {(video.title.split(' - ')[0] || 'go4.video').substring(0, 35)} + {(video.title.split(' - ')[0] || 'video.folx.tv').substring(0, 35)}

{(video.title.split(' - ')[1] || video.title).substring(0, 50)} diff --git a/client/src/components/video-grid.tsx b/client/src/components/video-grid.tsx index 555273f..a5c4ed3 100644 --- a/client/src/components/video-grid.tsx +++ b/client/src/components/video-grid.tsx @@ -39,7 +39,7 @@ export default function VideoGrid({ videos, isLoading, hasMore, onLoadMore, view

-

go4.video

+

video.folx.tv

Loading videos...

diff --git a/client/src/components/video-modal.tsx b/client/src/components/video-modal.tsx index a4130ac..ff2295c 100644 --- a/client/src/components/video-modal.tsx +++ b/client/src/components/video-modal.tsx @@ -594,7 +594,7 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }:
{ - window.open(`https://twitter.com/intent/tweet?url=${encodeURIComponent(getShareUrl())}&text=${encodeURIComponent(`Watch "${video.title}" on go4.video`)}`, '_blank', 'width=600,height=400'); + window.open(`https://twitter.com/intent/tweet?url=${encodeURIComponent(getShareUrl())}&text=${encodeURIComponent(`Watch "${video.title}" on video.folx.tv`)}`, '_blank', 'width=600,height=400'); setShowShareMenu(false); }} className="flex items-center gap-2 p-2 w-full hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer" @@ -605,7 +605,7 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }:
{ - window.open(`https://wa.me/?text=${encodeURIComponent(`Watch "${video.title}" on go4.video: ${getShareUrl()}`)}`, '_blank'); + window.open(`https://wa.me/?text=${encodeURIComponent(`Watch "${video.title}" on video.folx.tv: ${getShareUrl()}`)}`, '_blank'); setShowShareMenu(false); }} className="flex items-center gap-2 p-2 w-full hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer" diff --git a/client/src/index.css b/client/src/index.css index a68ad80..93222e3 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -232,6 +232,31 @@ .video-js .vjs-menu li:hover { background: rgba(236, 76, 115, 0.6) !important; } + + /* Video.js Loading Animation */ + .video-js .vjs-loading-spinner { + border-color: rgba(236, 76, 115, 0.3) rgba(236, 76, 115, 0.3) rgba(236, 76, 115, 0.3) #ec4c73 !important; + } + + .video-js .vjs-loading-spinner:before, + .video-js .vjs-loading-spinner:after { + border-color: rgba(236, 76, 115, 0.3) rgba(236, 76, 115, 0.3) rgba(236, 76, 115, 0.3) #ec4c73 !important; + } + + /* Custom buffering spinner */ + .video-buffering-spinner { + border: 2px solid rgba(236, 76, 115, 0.3); + border-radius: 50%; + border-top: 2px solid #ec4c73; + width: 16px; + height: 16px; + animation: spin 1s linear infinite; + } + + @keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } } /* Video edit modal styles */ diff --git a/client/src/pages/VideoPage.tsx b/client/src/pages/VideoPage.tsx index 14e4cf2..f9c6203 100644 --- a/client/src/pages/VideoPage.tsx +++ b/client/src/pages/VideoPage.tsx @@ -168,14 +168,14 @@ export default function VideoPage() { useEffect(() => { if (currentVideo) { // Update page title - document.title = `${currentVideo.title} | go4.video`; + document.title = `${currentVideo.title} | video.folx.tv`; // Update meta description with original or rich content const metaDescription = document.querySelector('meta[name="description"]'); if (metaDescription) { const descriptionContent = currentVideo.description && currentVideo.description.trim() !== '' ? currentVideo.description - : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf go4.video.`; + : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf video.folx.tv.`; metaDescription.setAttribute('content', descriptionContent); } @@ -195,7 +195,7 @@ export default function VideoPage() { // Use original description if available, otherwise create rich description const richDescription = currentVideo.description && currentVideo.description.trim() !== '' ? currentVideo.description - : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf go4.video.`; + : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf video.folx.tv.`; updateMetaTag('og:description', richDescription); // For social media, use direct Bunny.net thumbnail if available, otherwise fallback to our endpoint @@ -210,11 +210,11 @@ export default function VideoPage() { updateMetaTag('og:image:width', '1200'); updateMetaTag('og:image:height', '630'); updateMetaTag('og:image:type', 'image/png'); - updateMetaTag('og:image:alt', `${currentVideo.title} - go4.video`); + updateMetaTag('og:image:alt', `${currentVideo.title} - video.folx.tv`); updateMetaTag('og:url', window.location.href); updateMetaTag('og:type', 'video.other'); updateMetaTag('og:video:duration', currentVideo.duration.toString()); - updateMetaTag('og:site_name', 'go4.video'); + updateMetaTag('og:site_name', 'video.folx.tv'); updateMetaTag('og:locale', 'de_DE'); // Update Twitter Card tags @@ -232,7 +232,7 @@ export default function VideoPage() { updateTwitterTag('twitter:title', currentVideo.title); updateTwitterTag('twitter:description', richDescription); updateTwitterTag('twitter:image', socialThumbnail); - updateTwitterTag('twitter:image:alt', `${currentVideo.title} - go4.video`); + updateTwitterTag('twitter:image:alt', `${currentVideo.title} - video.folx.tv`); updateTwitterTag('twitter:site', '@go4video'); } }, [currentVideo]); @@ -309,7 +309,7 @@ export default function VideoPage() {
-

go4.video

+

video.folx.tv

Loading video...

@@ -323,7 +323,7 @@ export default function VideoPage() {
-

go4.video

+

video.folx.tv

Video not found

@@ -342,7 +342,7 @@ export default function VideoPage() {
-

go4.video

+

video.folx.tv

@@ -692,13 +692,13 @@ export default function VideoPage() { Facebook - +
Twitter
- +
WhatsApp @@ -807,7 +807,7 @@ export default function VideoPage() {
- go4.video + video.folx.tv
{/* Legal Links */} @@ -825,7 +825,7 @@ export default function VideoPage() { {/* Copyright */}
- © 2025 go4.video. Alle Rechte vorbehalten. + © 2025 video.folx.tv. Alle Rechte vorbehalten.