From 5c54f2abb134fea14f6d735bf4650d671cde9c3f Mon Sep 17 00:00:00 2001
From: michaelschal <35957947-michaelschal@users.noreply.replit.com>
Date: Mon, 13 Oct 2025 05:31:01 +0000
Subject: [PATCH 1/4] Transitioned from Plan to Build mode
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/mIWJXC9
From 5c591899a15d0544cec9f257a6126d7d350b5699 Mon Sep 17 00:00:00 2001
From: michaelschal <35957947-michaelschal@users.noreply.replit.com>
Date: Mon, 13 Oct 2025 05:32:33 +0000
Subject: [PATCH 2/4] Enable sending multiple photos as individual stories on
Facebook
Update FacebookService to publish each media item in mediaList as a separate story, returning a comma-separated string of story IDs.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/mIWJXC9
---
server/services/facebook.ts | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/server/services/facebook.ts b/server/services/facebook.ts
index 8cd7201..c9bd254 100644
--- a/server/services/facebook.ts
+++ b/server/services/facebook.ts
@@ -38,11 +38,20 @@ export class FacebookService {
}
if (postType === 'story') {
- // Publish as story only
+ // Publish as story - one story per media
if (mediaList.length === 0) {
throw new Error('Stories require media (photo or video)');
}
- return await this.publishStory(post, page, mediaList[0]);
+
+ // Publish each media as a separate story
+ const storyIds: string[] = [];
+ for (const media of mediaList) {
+ const storyId = await this.publishStory(post, page, media);
+ storyIds.push(storyId);
+ }
+
+ // Return all story IDs joined together
+ return storyIds.join(',');
} else {
// Default to feed
// Count images only (videos not supported in multi-photo carousel)
From 8e42ecaff54cdfbe90bfa7295f8c08362c99e53d Mon Sep 17 00:00:00 2001
From: michaelschal <35957947-michaelschal@users.noreply.replit.com>
Date: Mon, 13 Oct 2025 05:33:00 +0000
Subject: [PATCH 3/4] Fix issue where only one photo is sent in Facebook
stories
Correct the handling of multiple image uploads for Facebook story posts, ensuring all selected images are processed.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/Z8vED4L
From 29bed1d447f349d50a20cea6a25ec75f750e0691 Mon Sep 17 00:00:00 2001
From: michaelschal <35957947-michaelschal@users.noreply.replit.com>
Date: Mon, 13 Oct 2025 06:09:32 +0000
Subject: [PATCH 4/4] =?UTF-8?q?Add=20"Stock=20limit=C3=A9"=20option=20to?=
=?UTF-8?q?=20image=20editor=20promotional=20text?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Update the `Ribbon` interface and image editor UI to include "Stock limité" as a selectable option for promotional text.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/Z8vED4L
---
client/src/pages/image-editor.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/client/src/pages/image-editor.tsx b/client/src/pages/image-editor.tsx
index aa4a96a..20fb3ca 100644
--- a/client/src/pages/image-editor.tsx
+++ b/client/src/pages/image-editor.tsx
@@ -18,7 +18,7 @@ import { useToast } from "@/hooks/use-toast";
interface Ribbon {
enabled: boolean;
- text: "Promo" | "Nouveauté" | "Arrivage";
+ text: "Promo" | "Nouveauté" | "Arrivage" | "Stock limité";
color: "red" | "yellow";
position: "north_west" | "north_east";
}
@@ -468,6 +468,10 @@ export default function ImageEditor() {