From 19574452253bd296eee9d8131a25fcac2e3eccdd Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Wed, 25 Mar 2026 11:58:34 +0100 Subject: [PATCH] feat: Implement Remotion video generation and publishing page with image selection, text-to-speech, music, and social media integration. --- client/src/pages/remotion-video.tsx | 52 +++++++++++++++++++---------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/client/src/pages/remotion-video.tsx b/client/src/pages/remotion-video.tsx index 3485d89..a764dec 100644 --- a/client/src/pages/remotion-video.tsx +++ b/client/src/pages/remotion-video.tsx @@ -108,6 +108,7 @@ export default function RemotionVideoPage() { selectedLibraryImages.forEach(m => formData.append("existingImageUrls", m.originalUrl)); if (overlayText) formData.append("overlayText", overlayText); if (ttsEnabled && overlayText) formData.append("ttsVoice", ttsVoice); + if (selectedPageIds[0]) formData.append("selectedPageId", selectedPageIds[0]); if (musicFile) { formData.append("music", musicFile); formData.append("musicVolume", String(musicVolume)); } else if (selectedTrack) { formData.append("musicTrackUrl", selectedTrack.url); formData.append("musicVolume", String(musicVolume)); } const response = await fetch("/api/remotion/render", { method: "POST", body: formData }); @@ -304,6 +305,34 @@ export default function RemotionVideoPage() { + {/* 4. Page Facebook */} + + + 4. Page Facebook + Sélectionnez la page cible (son nom apparaîtra en fin de vidéo). + + + {facebookPages.length === 0 ? ( +

Aucune page Facebook connectée.

+ ) : ( + facebookPages.map(page => ( +
+ + setSelectedPageIds(prev => checked ? [...prev, page.id] : prev.filter(id => id !== page.id)) + } + /> + +
+ )) + )} +
+
+ {/* Générer */}