Improve video sharing by displaying thumbnails correctly on social media

Implements signed thumbnail URLs using Bunny.net and updates og:image meta tags in video.tsx and creates a /thumbnail/:videoId route.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 50814a1e-92e4-4968-856f-7bc7eedf5e8f
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/50814a1e-92e4-4968-856f-7bc7eedf5e8f/wwY5Klj
This commit is contained in:
sebastjanartic
2025-08-04 19:16:54 +00:00
parent f286638b19
commit e9c136a92a
3 changed files with 29 additions and 11 deletions
+5 -2
View File
@@ -93,10 +93,13 @@ export default function VideoPage() {
const shareUrl = `${window.location.origin}/video/${video.id}`;
// Use server proxy endpoint for reliable thumbnail access in social sharing
const publicThumbnailUrl = `${window.location.origin}/thumbnail/${video.id}`;
// Open Graph tags for Facebook
updateMeta('og:title', video.title);
updateMeta('og:description', video.description || `Oglej si ta video na VideoStream`);
updateMeta('og:image', video.thumbnailUrl);
updateMeta('og:image', publicThumbnailUrl);
updateMeta('og:image:width', '1200');
updateMeta('og:image:height', '630');
updateMeta('og:image:type', 'image/jpeg');
@@ -111,7 +114,7 @@ export default function VideoPage() {
updateMeta('twitter:card', 'summary_large_image', false);
updateMeta('twitter:title', video.title, false);
updateMeta('twitter:description', video.description || `Oglej si ta video na VideoStream`, false);
updateMeta('twitter:image', video.thumbnailUrl, false);
updateMeta('twitter:image', publicThumbnailUrl, false);
}
}, [video]);