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 ? (
-

- ) : (
-
-
-
- )}
-
-
-
-
-
-
- Instagram Feed
+ Feed
1080×1080
-
- {selectedFile?.instagramFeedUrl ? (
+
+ {selectedFile?.facebookFeedUrl || selectedFile?.instagramFeedUrl ? (

) : (
@@ -216,17 +194,18 @@ export default function MediaUpload() {
-
+
+
- Instagram Story
+ Story
1080×1920
-
+
{selectedFile?.instagramStoryUrl ? (

) : (
diff --git a/feed_preview.png b/feed_preview.png
new file mode 100644
index 0000000000000000000000000000000000000000..c91ae40be4778ad491e21d88ce9847a93be632c3
GIT binary patch
literal 12659
zcmeHuRa6|n(&i8X2?Po565NA(a0pItcXt@v2^!pGaCZsr?(WXu5@ZGo&cNpG+5dU>
zVIS{9zkH{vtGmuueY&f
h
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
z
zLvJ@+E&OQMAouhMi9Y$znFi6F;aL%gUqsXJH<0bC6f>ptD2d7i@jUIEDqYOBAxws0
zvsP(Sar?1#UFxO70Ys1LiovPQ5$npJ%KrOM&Wz(9t7)xcKK2JVScmP!f5BVbq~rl2
zVt10b2?X!B_{|4??{czS4%`2*xxXAjJRq5X`pM$GS5)Xy@bHJ53V|-8hgwoc3kfJx
z#nG%FkG#2_gs)-mBUk4UdW`#7np64|?BnPO33QaWcF)6S0=8!&BEqq!iwS{pU1?=n
zBLZ%=5}26V>7y2EwH|YY-*M#uu?ww1?TsOuTkbu=;CKyJw{1jGF
zR|8gBZ#OuKBFBZb1z5D4kXCuZB0yvVx#i)M!jT7h%NXuxNGF#
zkrg2k6jx5FKzZ3Q41ptUdoAyr8WIaZO(1_Z*E8H}l^(C{D>aZ`9zn0Tgb8u2PK*55
z->NS%;J?C~C>j;U8V()vf2+k?t`2^dMouE?pn(Y(ey#fEH!Pb7GVhr@+!do3~$
zu~`P`5LB%E;D=gy2z7MMh+5amP3r>QrUKj=}~e8C5;W_zD#VS$vl$7UC+`fwX%(O`nWdpL4ZG
z;_6~FYR9o#nFmifL%z5m(obo=l7~&do=%IhsdtP9susJh9UcxGzc-i{SZ`4g{{knz
z!3+>G4Cdk&z~z>Bx4hJJtsvjU74Q;jk^Gn<1*vy!RQyX$pndA6s4d2B@P=$3Qs6Ol
z=NrkYe_s-+6LX|urpVx?A1(6@l3mI;HF<|8K;Ox_=N%!qSxh(*Ivl_N>MHo8lg#r?(hYPDQ#7?zl2*gCcS0~rRr8G^h)
zTxrIRPbpU9F#~ZTZPs>~hsoUac8L_(g4`gWzZGGS{?=w^bqj`7idc~431h>hx7Qzh
z>SxXbQ<|T>S$>~apbF2}p1#ltCq?y6yzBLeTEdSzw9#|7%I>`ox*|)=(O7E!^&!TybO>#)4JU|=EjKMdLdU&}3g?Qh
zf2W&p_thN|5gOmv=VYkesPq9<3q%
zip%d`s%empvtpU#0Hh{S6DFQlp(PDNs?g)uKvUaa_<|Y38L8>?ic+(ve}#SQY7{$!
zDocHR`(H|1R8%wf7-n%oFBs$__b^dy-!D57X4t>WhlWRl>l2@6SA4Sl!uob_MJ!uz
zvRTzZxRh%RHdH`{GR
zWcSJoz`d1Ftw`k_I@|^o5jmpIyy{Bz9SX6Iep4l@k$t``Kv`phsEv^FCnW?14xTPE
zI@CbrNx-NM^*e-}JI!mz9!sWn>1G!#B8nc9I8Qd@6|dzTyRD##VQ&1PN`r_
zW6q96PwgTJHR!Q+QX?S$Z!KVX$^V?zhoY*F%4G>J{-2DzV4UQ;ttis!Oq|_(BmY4|
zT~TDXOT&3eix2;wmFa(0u7v9v3HmomM7S~Z6LsI7=Tn1(bdo!zIsEztGTezY77%m5
znC_SU5OGdK&RWGmP8{i>AkK^NxEiBVJ>?wU33_$s-KPbai
zP3NGd4n^MGtCFIPcZbrmcPLPd-dE%8P&Yx%jL5#?;*e9t{>j|qvIO#~Gb`d!DURyb8gt#KfXzq+h7^Afos#J;
z#Dz}BLTkW}lhfVsg@-Op6AU(cGwfN;u1gq!e45?)rGZ}>&ii8gXWHkV*?L{1G+&lY
z6-oNy5qse!x!;{Qpc+=CPuCjpgn12jvwkZOzI0^>sX&h5(%9>q>`GMz+)eo}{(A@i
z*J7YHiAFu{x?Rut-0{Kv8&Y?;;^e=-Pt8U4TWi{rNmx20%(1jjH
zX(;5h4{JVO>D}ImzvChz1f|MJNUJ+ej`g?kTfAm>>YM&$P`#{m07f~REAEl8`epaf
zfqoBW4UZ*b%bzdWbsl~1*RQc&`6g1&{CR6+dtZjY^6e%*&ts3w^p4f)G6|TTr?IM*
z{=I7#vBT18$~Lki=54tS%{H4j8fPNAp7hBs`ZuTRL`DiO=Q!sUFZ{U?50_$fxem*z
zoOPj9nQ^PC81!0|>CF5!l3O3q0<%02&{(ku+Z7?#ghk;ju{MpzMcybrE+=cHYkugQ
zz})`j%rRNdnh5&y_m+{Y*A(Z`+pChgyx89~($3i;4Gb~qgPPfuUJtBCb<=3x1GiZ?);GkYOkA=o^iH2a5TIQ>ZtQv}rb~w3uQ#xUAqPA~S;Uq-p+)HzF?Pi;d
zeSX>#fDVtwigtTItpSHvTg3SB7|1BDOR><`cOx5}o;=aOctXr|=1Y?m(+JrMxepyp
zyWeFehdSjeI*$f%Hizitku??$lSOrH)_gU${A(|qrJ0%0>Zd!o;>Nwn4uR#1Xl%%d
zXYG9tEv+3&0NHFBD_)uo;_^a27fl*O9O#6G^mMAb>kPTM*VN+di;|9V-435^)nrsx
zHjB47jGrBc8IM9B?b377{02W>LMC)VyUtb;Ef$kSG)<~Ynn_0}7H?;@$qO+)#7PtA
zQiCyM3~MF;{*aa-ij|B+TmvlKfY}dW*6Onw>xElXCowf9vI!%oK#~%8ZQxS8=%6AR
zPL*|96FMKQoKjoG>uE!zrb9~%
zmp(2Lg}UZcchDoF+8zO#``FX?uZ{XBLWQHJYUC_D*LitV5qRtY?A1o~uC0q`U9HUZ
za{aW=8*MdVJa*d{XWQD0UifgT1d>Y1n1n)0z{c&eu55HUD+!4%$;kXO$hWK#l_&UjaWcTtIXzsA*a
z9?OxHhGv>jQMl6$;p_mvlTn{aK6T4yYmV0aQIeD$k*dffYov@FNdmf4Yq<#i>OFc2
zJEeR=Kg~fqXGSoqdu;Y{rGNarCo%UJvOAyARUI`8CZ;wv)RQDRS!`!xs>0gT3L3cM
zn25By!jVx4i%l1)(y^?#oRamPC@*i#;`WNL3>gBggh%1xJlWDQZatSU(fp3It$(^V1ivtUY
z*gioyj#OWL>@_}Qxju7)Bv%TZVs8R`4C?kysm+xpFvGfhZGt}T-)hN@ytJH$_CXmH
zls*c_P!;U(DSTFXDE5qJjghjNHrgxA?-Z2ip}^}T<*dR297XW%k2-VEG&}I=W&aX3
zH+LPgh~ZxsYS<|VWKB_x;wQ*U(+1C7uRa?!T9ds_b*qkmleC0phIibG&^<{>AI1#}
z3h~`;RWxsM0ZR7jixLOyUxBtS!-99yy={Y9hUOOkiJR}}duVMe|6TRW-FnUv@>drD
z2Hb6AGx$?U}kYy>ycl$xSqOj
zgN%`UDe=+*Eu<}*m+dR-Nh1>(KftFo&~k~yev$NQjDRr#@eek5<1i*UbrcR2r0Dwz
z#D@SBfa0`SOQsNu9b{@{7_f;oe@dW|ELmw(6DDO
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() {
+
+
);
}
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