From 3ef7905765ee7c1ec8314d007303ab4c76eba96a Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 9 Oct 2025 10:27:53 +0000 Subject: [PATCH 1/5] 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/d8HozM2 --- .replit | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.replit b/.replit index a194fdb..d2b4742 100644 --- a/.replit +++ b/.replit @@ -26,10 +26,6 @@ externalPort = 3002 localPort = 35385 externalPort = 6800 -[[ports]] -localPort = 36725 -externalPort = 8000 - [[ports]] localPort = 37431 externalPort = 5000 From bf06d883bdb0bdfa383a2591f567c8a20db3439f Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 9 Oct 2025 10:40:34 +0000 Subject: [PATCH 2/5] Improve media upload previews for social media posts Update the media upload component to consolidate Facebook and Instagram feed previews into a single display, and adjust styling for Instagram stories. 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/d8HozM2 --- client/src/components/media-upload.tsx | 43 +++++++------------------ feed_preview.png | Bin 0 -> 12659 bytes story_preview.png | Bin 0 -> 7733 bytes 3 files changed, 11 insertions(+), 32 deletions(-) create mode 100644 feed_preview.png create mode 100644 story_preview.png diff --git a/client/src/components/media-upload.tsx b/client/src/components/media-upload.tsx index ebc08cc..ce28afd 100644 --- a/client/src/components/media-upload.tsx +++ b/client/src/components/media-upload.tsx @@ -170,40 +170,18 @@ export default function MediaUpload() {
-
+
- Facebook Feed -
- 1200×630 -
-
- {selectedFile?.facebookFeedUrl ? ( - Facebook preview - ) : ( -
- -
- )} -
-
- -
-
-
- Instagram Feed + Feed
1080×1080
-
- {selectedFile?.instagramFeedUrl ? ( +
+ {selectedFile?.facebookFeedUrl || selectedFile?.instagramFeedUrl ? ( Instagram feed preview ) : ( @@ -216,17 +194,18 @@ export default function MediaUpload() {
-
+
+ - Instagram Story + Story
1080×1920
-
+
{selectedFile?.instagramStoryUrl ? ( Instagram story preview ) : ( diff --git a/feed_preview.png b/feed_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..c91ae40be4778ad491e21d88ce9847a93be632c3 GIT binary patch literal 12659 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 z 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 Date: Thu, 9 Oct 2025 10:40:48 +0000 Subject: [PATCH 3/5] Add AI text generation for product descriptions Add AI text generation functionality for product descriptions. 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/d8HozM2 From 829595fec7b17128e5ef63f81e8be6fd150fadab Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 9 Oct 2025 10:47:31 +0000 Subject: [PATCH 4/5] Show a waiting modal during image uploads Introduce a loading modal using `Dialog` and `Loader2` components to indicate pending image uploads within the `MediaUpload` component. 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/8Nctbk0 --- .replit | 4 ++++ client/src/components/media-upload.tsx | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.replit b/.replit index d2b4742..04050d4 100644 --- a/.replit +++ b/.replit @@ -46,6 +46,10 @@ externalPort = 6000 localPort = 43245 externalPort = 3001 +[[ports]] +localPort = 45149 +externalPort = 8000 + [[ports]] localPort = 46681 externalPort = 5173 diff --git a/client/src/components/media-upload.tsx b/client/src/components/media-upload.tsx index ce28afd..4f825ea 100644 --- a/client/src/components/media-upload.tsx +++ b/client/src/components/media-upload.tsx @@ -1,9 +1,10 @@ import { useState, useCallback } from "react"; import { useDropzone } from "react-dropzone"; import { Button } from "@/components/ui/button"; +import { Dialog, DialogContent } from "@/components/ui/dialog"; import { useMutation, useQuery } from "@tanstack/react-query"; import { apiRequest, queryClient } from "@/lib/queryClient"; -import { CloudUpload, Image as ImageIcon, Video, X, Upload } from "lucide-react"; +import { CloudUpload, Image as ImageIcon, Video, X, Upload, Loader2 } from "lucide-react"; import { useToast } from "@/hooks/use-toast"; import { SiFacebook, SiInstagram } from "react-icons/si"; @@ -219,6 +220,24 @@ export default function MediaUpload() {
+ + + +
+
+ +
+

+ Upload en cours... +

+

+ Votre image est en cours de téléchargement et de traitement. +
+ Veuillez patienter. +

+
+
+
); } From c7426743f93504815860ac7c0dd94a43d2f2e91f Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 9 Oct 2025 10:47:44 +0000 Subject: [PATCH 5/5] Show a loading indicator while images are uploaded Add a loading modal to the image upload functionality to provide user feedback during the upload process. 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/8Nctbk0