diff --git a/client/src/pages/mobile/remotion-video.tsx b/client/src/pages/mobile/remotion-video.tsx index 8e2c09b..5129b0e 100644 --- a/client/src/pages/mobile/remotion-video.tsx +++ b/client/src/pages/mobile/remotion-video.tsx @@ -124,6 +124,7 @@ export default function MobileRemotionVideoPage() { 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 }); @@ -330,6 +331,35 @@ export default function MobileRemotionVideoPage() { + {/* 4. Page Facebook */} + + + 4. Page Facebook + + + {facebookPages.length === 0 ? ( + Aucune page Facebook connectée. + ) : ( + facebookPages.map(page => ( + + + setSelectedPageIds(prev => + checked ? [...prev, page.id] : prev.filter(id => id !== page.id) + ) + } + /> + + {page.pageName} + + + )) + )} + + + {/* Générer */} {isRendering @@ -351,25 +381,12 @@ export default function MobileRemotionVideoPage() { {facebookPages.length === 0 ? ( Aucune page Facebook connectée. + ) : selectedPageIds.length === 0 ? ( + Sélectionnez une page ci-dessus. ) : ( - - {facebookPages.map(page => ( - - - setSelectedPageIds(prev => - checked ? [...prev, page.id] : prev.filter(id => id !== page.id) - ) - } - /> - - {page.pageName} - - - ))} - + + Pages : {facebookPages.filter(p => selectedPageIds.includes(p.id)).map(p => p.pageName).join(', ')} + )} setPublishDescription(e.target.value)} /> diff --git a/server/routes/remotion.ts b/server/routes/remotion.ts index 6c6a330..f069a98 100644 --- a/server/routes/remotion.ts +++ b/server/routes/remotion.ts @@ -173,7 +173,10 @@ remotionRouter.post("/render", upload.fields([{ name: "images", maxCount: 4 }, { if (user?.id) { const pages = await dbStorage.getSocialPages(user.id); if (pages.length > 0) { - storeName = pages[0].pageName; + // Use the page selected by the user, or fall back to first page + const selectedPageId = req.body.selectedPageId as string | undefined; + const page = selectedPageId ? pages.find(p => p.id === selectedPageId) : pages[0]; + storeName = (page ?? pages[0]).pageName; console.log("🏪 Store name:", storeName); } } @@ -269,7 +272,8 @@ remotionRouter.post("/render", upload.fields([{ name: "images", maxCount: 4 }, { }); console.log("✅ Render completed:", outputFilename); - res.json({ url: `${host}/uploads/temp/${outputFilename}` }); + // Return relative URL so any client (mobile, desktop, Docker) can access it + res.json({ url: `/uploads/temp/${outputFilename}` }); } catch (err: any) { console.error("❌ Remotion render error:", err);
Aucune page Facebook connectée.
Sélectionnez une page ci-dessus.
+ Pages : {facebookPages.filter(p => selectedPageIds.includes(p.id)).map(p => p.pageName).join(', ')} +