From dd43753d6d9dbbf89916974eb019f8c4e1aec0df Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Sat, 11 Oct 2025 11:33:30 +0000 Subject: [PATCH] Update image editor to display currency symbol correctly after price Remove ribbon generation functionality and adjust currency symbol placement in image editor. 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 --- attached_assets/image_1760181599555.png | Bin 0 -> 18477 bytes attached_assets/image_1760181687774.png | Bin 0 -> 70879 bytes client/src/pages/image-editor.tsx | 38 +---------- server/routes.ts | 20 ------ server/services/ribbonGenerator.ts | 87 ------------------------ 5 files changed, 3 insertions(+), 142 deletions(-) create mode 100644 attached_assets/image_1760181599555.png create mode 100644 attached_assets/image_1760181687774.png delete mode 100644 server/services/ribbonGenerator.ts diff --git a/attached_assets/image_1760181599555.png b/attached_assets/image_1760181599555.png new file mode 100644 index 0000000000000000000000000000000000000000..3441ce125476327dcac61e3251678b7ff393ec63 GIT binary patch literal 18477 zcmaI81yodB*grbJAl*uLN{4hK-Kn&+ba%th9U>te5~6f>cXxM5cgH>We&4<8-nH(3 zEr%I&&zW=P?EUOtJ%%YMNTML(BZ5F66lp0j6%Yto1bAHr{|5L8|EYl+c!F|Nk^BfM z86o@&`~o%=kq1VU#~?i#zyiM`*hy(RfMw?Qf&*7fnnzzPG+cQf-^7nGpfotKFlC&&1`W zFMjooyM`-G?sMl0-gP>T>pwo=FwGLSZ9^Njbte(SfQITXW|LDNDjImPj*e(Btb~e2 zq6aTVPbB{~usOTPi1nUimDUcrEKYw~RQ^=0o1XsG7nd)2szouww8d)wPSQD zhxY6K4Wo1XpUD%!rx&}IXPSL0Nb={M(HGQ~r@2-oQ!G5WidI%Jue2&7TRohGfcq<6 zUZ37_Y&&uCxIl7vkPZ_L@MmWzB{w2#=fQ3`1*vXlj~u?O8>T2M3r^nY5fwyA*b;rV zN94v&zjpRpO(+pl0oBPN7Cv73rvhbQC>#PpR*E!TD{G*D!U8L=k7T0)61Aloybg)a z?RuX0SgYkdBrKE1aUEhgp@1$T$8~e!8_q1)8dCal`dv#5U9}^v{^E4lma*;e?(im# zG!$+$?e(i;E9G(AG3)4q-2v5SrHFvz#)mRraIw8?$y%N?u!-+_YFSN>`L8Iz>&ZNh zyX$ebUIeQ?3`j^VwXtAy5o6qvu&}U%bkZ}A>(kvP`k`(r^nf%{2q`>-lr5d-VrN)1 zXO<#{Kj(?DQG_W8$x&wr&f#o@#Q_2gfQKX_P`(wZ0AZ3#af{duLsiD$-wD-Q-PWpCj3mj4{9Tv1FLr(qvdfU6Jy=$x$5%v9Qw%(!SNu zp#A3f1d4{z70DF&>m?40d4AqJjj}lOwx?OLAY(lWT&TbxL^3`+tGhXq+~co=xeeA=EIm!YfMU#es-qD;<|5*^iSQ+Wdq%69wg#kOOjNhCXuc>}lH zC&lYVmIOC@$FpYmqAMb z3EBQrH{Z68EhRyq3xPq_)k>XIq18%4q+idu>mR~yhi!cW0-}7x1m$*wZGvsd!!yF( zYk9X7{gJD>JkbhL&2YJt6C3|99!=%{$?WhAj^rm{0_}WLV4Tqb2-Mx%<$>sj*m799 zA6IG<4}8l3_NBfA@_75a#@}^CRWHClevFb96l3acf|SA+b`aRDSE0Awl-0UJ!_Dj# zMbL?jIp<-{3AWF2`RD&oxe}$-SA|pLLF|RVM;&BFqJr&bwNXo(+z6XEu*`Xho6Q99 zB(iITf8dDBnv*zGxo`)hl?3O37eZ=RL|tb^)E@sH+!|zzAKh)ONNQB=(Y!D9B6{I_ z9E{v2ccg?E@AmE?%4dw;Gp!ff=YM-aZw~mqt2fmZ+j#cLtDT4xgE;{irj@u$?|3!p zB56e>!m58&E$A^@Wa%SGiHlWmOay^G(RHnL&o)=`rYJi2%#OSsFWeL3NHc1NxSusv z7i(Uc+x@dvxbt>0(VH5gBLTe@4hH5FWa2uD*M@{K*shLpow(8d-ol z^tNljdr5k(Mf}05%9MktA;{4Yh2ECGJxGDpf~uFyDU1iBn%LZkbLq$fqW4Jee?)`X zK$~4dW9J?8iRfIZ#vUnH;j1>{8*K-d4L`f+AEgG{DC-jQo4PHquC{5W!6zJO;sGrI-KF7Vaqx@$S!8&^h+0e7o4;B&1e61YM-pfBnnt2yPj;u zyna_zH_Ns}U9PPUFiQ`&6t9m?Q$^_YG(mGW~wd%wu zI&X#3C4q^oZHGffKh@v(&13vmH+Z|f5qhuL_@Zn2)}B2L%sG?RCZR@+p`AMsp;QP$ z`tuHx23V0i#05CEE+`bc_Kr#DJs}vgYVmyz7i}AMq7Dk^Czu5Ig`)3`$KUmA`l{Fj zq@{C@dA$iT3aDco=IjO|^hUH^C%$8mJnBxj%LO4hny~UjE*ga`yt^HNp6RB7E#SbY_py_WS;x(MkeWQ+9aGyJ&*xK`D%XCn->&%h4NNfA=aA+v_gf=8$ni} zYmlD}O~+c|tf~;qpJ0um|CrYz*sOb`dAdxp782nD(XL(TjBeeV*zl%%zI0a2x)gfu zL}0irIVKb^BScBO?d3#JTa}sA4|CPyGYp5tB$qzMj_3^`S(aeH?#u}iQj7QpKE7g< z7(os8gM}3-3}d@8OG~k?mPYArvHX%Q`e<*CVW2Q%tvMN=v zdmprNX*&=;{Xr+fs`car4rtj{dCnc+CBSo)%WXfD8SSQiZx8}c%G zNTUJ|R0#T$q);u?!vxtU`d%tgP09PZmq=OPmBPs~Yi)WJ8 zG?QZAo31jJqc3j&8V|vdgrq#2`+HB;l*0kY zt$QGg4G|_fp(&77_gm7IOAd#$Z*xR-!)8p?gVquj%wOQ^hCA}W$wSpsq$CZt(|(PJyH=o-Q$<*wl)H~vEOA~*iG!IiK@RKG_B)I7LS{h%9dzcBv+`c2c6OwM#w~;Da;?v7DQG^ zCONs^#IgDiqDbzKc?4REPK}TGU_1L|`#7NHyV>NNKUF$-GAxJ))Kq*hJ8HPfx$3ib zGB*jAr7BhY1>>j|t<77Q*h{`*o1kX1j6E|qOZKG^y3O4iZ*Y~vkxwK20fcU$9aWOS z-O5umwj4J2&c|AKL0hy_Sd!-6eZung+A$lm-3%A^s4g}T3sb}wuIvalf&r9xnQbqR z1ZfNuRqIft5=YnRd^1c$bZ%+$ovF)>Cv$a5L=G@WG=B93@G$E9+2u zUwu@trh-A87Dj4t-*xMYX9S%tZp+>l0^Sv^zIdctKwqz*XbZt8y@n22?6%vOSXS-} zStRI2-!uSs$8;E1+#q(O*W?CCz(Lx=P4kdQu;iu}ly*Iq4=c%wP2wZkZd`5gNRD-T zSn}@i*7By&@&a!S1l_UW!^ZWo7>s_Us@b|?xc<0girY&EHkRgh_WPth$tck3_sX>+ zf$3R9c^BCWp4d24P&AlmoE!%{!Al1)@26A{PB$$#K^9%}G(DO+a6&iNuq-~~??FSm zvGFfve3ut7aGY!XTKx;t|xLkm&)k;wSZ*&JzYc-wK%{z(Gg@MsIzObV2gNb z-=L94bkR%?;by2lSS}H9bJuh($q48_*XVkP3ZHZdD=QIga`~Rbnt>L4VbciLT;NWW z;J7-6+PT-%b8Ar=oTkHGK%Mbvurd7q0mC42KUfDI_YW z@*}&Ze#ccA{3LeXa-mA+X%-Swf)+K}i?x|iEhd+JTr$M~30FL*>&Sn9Lp*Lg`>mh9%Vu|wB@bKBU#cE9K6RI3fRi`N+ zHxnfo#eoKybpLoGM((=RVTq#CzT4sj-UF3-BI;!8=&Rda-UtvPaZfR6TXA;NpYzpa(=YcHLpg0kHFHXVF6DwP5)4{RSELD$h9X&EaB`EtYM zEdti<&!o%RfSbRd9ykyGvx~asj{+@!yUz*ng`#I0vrNwt9e9hDqJJ57M5~Ftk;HO( zG)aBOj{v~>;2Ja3qJ1l^8W=@%S~fGdUg){(X(9VWM|!8(9)=1=>2(d<&`B2;&5=p} zPwH%-L}T_^c%ip)J!Zg#sFyIz>Q z*ybcGeC~*j?ax99htV3YQfkS#zpld>TF)xTKio(i{E~(`3&1%#qjG^zi|2TRVBo)p z%&PhY0jp4r?L%eb7stl@RJBEe>_(8NOl^Y1$OjFcnXnRn5e9Z5z2_}0HhV>cFjrLf zwGk*+@}niV#Hd9N_aJWFhD5i4DBWoMo(r-C)f6XA8#5dO7u3IVRh_r)Iw8bnB}l>3hTzA9zi}&C(^?1;(C&swd1G@55h63OmT)q%D*;UMcF2O zddT{sJQ*Ed6HY-p&+1ROf8I;7`aQ~j>SKPptc3yA;|X~Tmk(>~!nW;=K{4vos zMrwoi^|z>WH&2=jn-U+7Tk5Gd6}2S3SS&7q*;j6120_s-4P2skq7wRd zmXYlP(qB)i5vShH@rVVN;JMt;CDx9Hr-fADY_kcFDo<&nwi$aryT4zo6OTxDCz@`6 zA>WUckuX0hzm!=X*tOAY@@RAnVP${Au!WP~XtV)g)$KA5;jWu)joR0F(qZKda6c`9 z&%KerXi}|bcG-<3YjmY5>(~?2Fx{MK)VxflJ4+9n{b?ylYfHMHk#Aw8?04%)C*h(zEfesI@PiY{BC~$AbJ=Z|X5w&ER zOO&Ia@P0g>S1!J1(7`s30ryRS5md7kCT^n#D04=j3iV;p55$ZV_+%!~(-?<6yQweE zherP8RajvprV(_1UxIEg!227u*v>-A$%qQitErB7k#5A?`K`!EckeGfhk> zL5(tsnv_B;?nhzNv3xf&ZNi_!ZW1zC_z{1J$L`pvl!oDZVsh8n%P8cr9Sa!=vbR5T zdV+N&>HPnE*gLZ(r#g)BZb)9@c?*aYvsCt(Z}EQg|G+39lDj$ReKCZlFV2ubh zvzItGI`8U~UT_GpuIMLnS%=y|UHrB))FA%={R5siZO0i4O-Ozi3%;6_hN}1wANBXB z>;un!AazEzR%n*ouSK=7DX%wwWU@ThuMv>bz3OiGCU0?8^#YSnsW0dAQv}(+y5<=7 zM8b*5C02!HnLZb1h=1A1{vUzV%}h!gdK%XcHwHHRthLMYpX?VZ*AoYCXx^zo85{BP zot8oZ>mTs#0N|@j586Z0R)=j)rU+KKf^^Zo{dh@EhqA`w$#SX&OQPM~?5mTPqZ44-_=Ss@j{Zis) zJTbKHr4v=3H`7O_S_(RIe>6McjPM^vIs%PKV)=S^a&xGS3<48r%nTF%bL0YQu@9;` z`cx%dEBSZlDwqPzW^HdSO&|Pe4AsWE--&UWI(}55<|74w#v_7`7x)3=tr2SMG1x>x zPU(!5$ykZ1o*LuQ6Ffts(k zmQ~cA5|VtD%O|qoov-A@5S~#pT=%=48aQe+F@1tglM?YSJ*{AR9P+k4Se>)I4FiXR zRNAJP(7q+P*Rw_=ixyL2z}{p&hCfrMX1#xwe@=4FU(1_Qil!pM8S~91lFfK`935~a z4+ksWcd|FtuqF|6Z(m;qACV9<&jx5;DtG*^a`zAmpr$1acI$a{nLR)I=kOEj5oo+2 zIpH1fWeT-6m=XVqgKjm=xVudHXx2OaGEuGq8IO}qxd&<*Xwo! zAUrXQV=H_P5K=?GDRV-d)!TgDh`#stV;TVoI{ytrD8%ndfyZPO-e*TGu^sA7yIWNO z3>wjM#fsOt(hadG<%tORh@Afw_fY_GKY8bN zCf6eFBAJwvJ9d!8`-8%(zy%yejCyShVdJGp^}jWV+?xV#2m?;}kA$M*MSs8m|g&oh-$Fq3Wc5bW@(a)bjq)P*2NsoL-Mp0;T zI$#PE{83L&#eO{lQ`eeni#?3hKmT9jUS`gT$6Mm7%K&A4!4JdPCi%DT(kNcAzdkn6B z$B7B3{Yoy-+vzE>s&4Lmd}VuZQR_M8`2#7>j_5k=jmset>0n(xT(~Gkm!bdAWdDWc zDwP+<2>Ujm_rzX3M*P5a;A#nHu7jc62#PmYn+>=fd}_3Rp3t^Xc6eQtCD?zNKE2oz z3ur+Wav9Cuy4I+;My%Ut90!M03VIHe`1#;iGfbvM#bHnN%qzSwdE+e`gp$_fgWGfO zmm5BFPC&HG9~QiPOiA`YOtXcH`;}G%puJU-N}~5RA~k%prfts}bF)yO)0P&!Uz0f` zqV5kp*NI7Cjfy$LfA(YP>_^BRT*`!KHW_o7lZM>!Gl2r{XDg&QM(`h{_EWxGx9I(9 zg+*@bhMvnEQXDUvRKkls8MO8F{joS8#A|s5(r49C|Im(&5}+BCkv%IRoX3NzIx;)C zJO5+g-fw)`mYzGJ8kThs`iY1-tf^G`PwCq)CoCmsd#$tC1fB17GKB4D7g>qXHU*1N zu^nBgcbCLY0{xeusbl$RCMa4aB1JJMCBlN)EH1b1=zfv>DDBC`U9E-F9BqYn-7F40 z_H8HiYJo?y@TDQge!%y=i1^I@c=Hk*=9{4u!PCiom3P&RLUhz-?!$H57^bT7Z$sM{ znc0-|{L?yH68GLv8PE}T`T zS1^jzVGeO&K1A1+&Y$smilWJDMqD5L=1_rB>!|7|?DbB#g*kM;d;k0^LyY(mFDQx6 zFJPhN+#4E{*7*)R|6Ik`3AkpsxP(Z>HI+*R{cPU5dE0ELxG2Bb5c>Xy86!=83ROEb zdfj4P?Um4U_3*MkA2rEXJJ)Q2htpq_W=T06aPnEUHkss@wa{S89Ww1OYs@lZu7CH4 z*V@^X7;Hz;)Q!=KTVLR9IdPDJNuByb(vGkSucQbn*KKC89yjz5tc2pm4*2k=sX~ ztd`N-ll^zq?|o)PgY+8VcZFQ1l@d#r=b^iM0p-|D~PS0tMv;0ab(9jNCXYFT_ z@V)CS?DT)xX)-Zg=32l!I4T=JW#WnW_Le!t0p_FV`NvlzanjPpdpHY@+A2&=Od(Wk z?rJQ+#?cSc;zsx#Elys=t4}0D7mR_2O%?y4JeyDv1!V)992W&g|A^YY>0C)i*$-`H z7FMdsn@$j0zFgMkenh(11bjED`#sRwaBkPVc`CY{bcnk65QIYntC2it8qCMKg_1S2)yL8+io>Xwi3*!Y zu84jJ(-ouQ98_#)XSf&|K zu3uU#T}Ry$VL2*h*gn=;jF?1UN5FB$RP*jvrWB5BoO&T2sec&>91SC;sy{*+fA%{Q z$^wW~9Lly^_)Go&&73oHI|Jkb8JXJR$%LRqeTap+8V2A$7Jzp~CtiAZii)MN84i@logJwpiNoprR7(dGcPJ$R@#uYg?DR_fZU zSqH5O1VnW3w1T~mpm;p8(@9$Sw>*RGw;^+*f>m&0IEsc7*jVfcX=&dSHtb)aV+vB= zKd$`yMumv#URDY_+G;_ikQp43`*e@!Om&laNSM z%sw%2wH_dHQSO4zn98&Lc>_OU>l*Ms(`fBdu?5;>r@Fwy3`f)N^2qVNse(SJH;zV;My{ZxG3oUhD^E0wc?k|-CjcY z7x{rmaaF)O5Moho_#1jfW{K5z{zKZNY*41;QXXtWR6WQJw@$eKh(wnYFb6exL{KwP zDgKR0MgN%?q?Z8R)XWdnZ|8z+UxV`Tw|r0kH%@|8wwarga*$`Y*BaILlk1=<~P zvI;AuOuhaJ4M7+D05&RytbA6D2>IcH!u;o9o}#ulD>hJ~DjLmETld|TNHD=h>zu|M zT#;4`)uJyYnBbWGLA*3fcW)J<I8=ev3*eWS z@DJ@IQ>y`ZWe;JI2|68uc7UafVBYU|H99F^JPi!B-SQG7VdR}8QLb~SVh%Ee#G z+GEI|=&Ics39 z?aC|}8BDs^@2yrNs?!bilE3f>W$f=Ih$+%AsV7uk7{vE>V5go0X@&el=dC;W??^V8 z4mLanq2zGhVdv2l5R0Ij_X28`5p=&1j0ps*%TWD`1WV9yrl1Z7H(Jklxc~4R^~}%b zu}`KBVzHfSh}-|(zZ*QEX^pTTWC3)pQF zExaa|PpSO#)D*s|@6J0r!%j{a!?IdMUG#^JPN!taS3f}|p1SAaEL=SrEp^BBt20IC z45O4tvqft(xybwJ5^ZENe+$__+!WWggnQL>S;#xXVuC&`&SSNk)qyOz!cP2k;1Wr1 z>2O${Y||#=e=A&T%o*J@#~z>qkd5u>h7{qI6b2O5*ssAu++qQeJp{w{;#pQU_dTFc zVImmEY9^gvJNnTe*H`@=lX{t3QAU`ne3+6d&9_Ax+H*u_Ne1-m%`6wF58-0DN>!4s z*0=P^&oyz_O@w|ee~bxP*Zivw{$v}dsxt(Hy*s$AEXuuw6%usIjX~%vBl$GJDs!jN zMYeMDvADAjR*cTc{yQ?DlAW?aD*3S^NZGI?$=|=>WQye-2A?M}shW2CFaI@PR#BjR z|FOj?ljLf%g7!11GiEpVCj^^sYT3*|ScO7i5pN+IElQe)l-C017>iT{f$W&vD5Nmk>AH51G?zPcQS_V&iyp|^v0@dUP1^t6NY zoV}Nh=TMvq5V!Cp$@^e|bnS%`wTjnoBH5}Ej1WVke}WTv*8Jt*nrsn)r3I}|J6fo> zcW$3uFFmx|Rhuz!2suO|^YTC!o&UL`<_LS%NV}V71vUM>^a7Of{`&?D&Z@TE@kSwN z10gM}& z$EQ_;2G^Y9V8W`8)S#>-dZiEIJu8STSAme2akMyL$n3yp#0}m#z)5Cb`y)Ug<*Z&N2RYx^h5q(^Ebe=2C&j92vDHv3kTp?KW03@ai z-cDH3;FlDHm_8x9`?2KZu=xIHOiPa{PlrfiMv!zZp|g{l#GJ-+lhKO${#MHCSsu?rklz@SdrOiD#wK zPnR$Fpv*Lj|0gH=Z!{nx$QGH|T8CwGnd1ytGr9@=uPJZV3k@^YHeqJ`7dT!QQ%(Q*6*JKo7DM=hz2sU2amBkAfojkFC0 z_OA;$Tq1Z$8#L;5;%)wb@Aak_6N0m^fiL=`-d25rWxOjl+?#%{-@lg<;2RVkVk>nq zhyaVz|4Zvwo2GI7wn6q$!=}|th{{w8a9z)}>YupN%wo_sP2l99;X_Gz-)!-ZEQEL; zNB#jpaEFxee*)3D4q71lJO~7N44I#vez#K}un*#{L>Fu=DbjMY=1LZ0xJz?Ox%c6? z&Msf+$Ti2nE9#*q0i^>%cL86Ufn{cq(YC@?yaW%p^2&jLSZ20>18TreHp6?R62i_G zf#&l{i&%Bdal^J2f-q@Y9legw@{0m{%~MEOKzPkv$$A}LgViZs@9|Y`@NCR?FeKi43Ap1(Lp&8g6mbmS**nSN$yQwPQ}PbF8aobJ6H7inueLe7uo_ zX|s*^f1;;1pc(KiBz-@g0a5ihLO{2V?1d>$diJ^2PjX&>0u0&uTp2u_D3jx3-%aZC z_7BblWH>2AK?L=CeYAdc!IE$gzilFK=8t63Rfi>k*?9akN>MV0^STJQOM$mclG*6& z55Mf6l*pmjfQ+5?+BDPD&r^>O`&4bp75o||AZIxprV1x|7*nChSqFp%=%>Qa{a%gr z&-~wno4R|S>fl@(Gs>{RhOO*e!P9qFOlZFt8|#2oehw}vt?Lm_U)cFs_$lb~(iK87 zsM^6kM?etSeQ+2R6UTYFaOUJs{)Z|)akz+=;m^G#14PI@x}s?_wh?p(&x!5$-m%YboW(tFKkDWH*Swz?lI)iUXIH;wLwJa?%gsYSIEI5ApHNtDY zhA^?CQ8!A+W(Ekc-nx1>5mW(l*2Ip((I1-HRf?M3?z7_{cEisSF(9D9`n$Tdr;kN2 z`6FBcY3O{&2Mo$6jIKA4BUwuZlfsX`Cl8c>M2kR*mA(_WU3~;9m|va$L{kLgoNt7z zf*tMEZxZcnxDA*6PjbMoWrWzHxuR4aCmKWh3cx8LlAxZ9^khu7NznRqYdgN-@e=TK zk;U1uBSN)Yru|vCd@OR3y(Q*HMr}rNBC)Bf7Sb5(AG=ijJ*46fRHWtLZER(Fqq2_IO_v58Ya8aud{@uP!yK%oJ`VDhFWAq;qX0@Wywg! zH>n(=4fGOG7VsYwc{iL4M$Vlc|aCGxH})&K^Os&{FmE9 z?0FS7kKugc(pTlU3>i|PG5Qu+6b4`Y!Uq z6_$nE$^A9%WG&|Ouc_-a8pfoY>IDb3>W3avH_h3JjOFJ>ENKz~vx$7n|F~rpKvcqL z+JWskuLJN<7`H=FJ>%c6t6Fwlwq=IrZW{F51BW-HUIT_H1G~7tv~gVKPp8@3np{M< z$scbkasGVkS58E>z;-uJBkrU)l1UK=V=FEQb|#wRRD;5@P?e0zVCoVa?3L;l%+%MH zqVUobUF<(l4K|4lk&jI(AH*pbQcoHL{K0CX;yF8Pz(jmc2rFS*m_Vkf|H{P9wu|lY;>V^wF)NRz90h^4fgM&_gIZCeq{EjFq<7%bUzL<3 zXm{Kx*Zn0Aa)XkeZIYYEbV;M6Y*=OLmhb-y^l$zp@3gw{p!OrZ)_p4mXRkhBy7T1= zO6bu*vcwcN&_2RyMGWs?FHrL-t#jIV)Ef{npe4yew~>s>g{=lwM)4=o#eGDP^l-F^ zIU457(HJIYe=b{BC>NFLpyM11>Kx5QTIX1r_r=f$o#X&*EuS;l9WMXb|K%;*?+2^y zFEMf-T+7>WuRQ1>gTc>SBkM(`!$;&39BQdH?NEVUT0Qp`w7Qao@|19&9KC_iMeCpWUAgtScru_}i030Dpv$hcy=2UMyB4QjQkY`x166?S$6ZQ1^U z=4C3=F{}&)Zm*oyE|DYj&T%wT1+lM-Az!;;=uc4xnm`M-W)9~*Emon&Sk0~^rJ;lQs zRuy12*K_8u>h!9(+bO$hI43g9;8;|Se6ekdZ3x;nC?1&>x9TGr(kMPdlL(*o=Eed#>D;U9@B^Da#*pPia@o~W0uA$S_ zjyNbE?u^g7ZiQNg{qdQy*YdSn%BlC3yUVjD7QRY)IAwd;a0HXN3&B_OOPxFQW#hQ9 zm=rY7$0B_3ua6;UuDn>Z4z+y@dpKyGe%n4G#M7Nawu9Gag{|Gv0-kFh*^ZYFfhK}V zeA+SUlf_0A$51z{Yv|I!DrcS7%q96-NaBOdC>hCd^qrkXiDX?g4=?!*p`=T#1qlgz zgBT>uw2aLaw|3j70=U)L5q94JsfIdbGKMr%4v?h65#T}$g@XJPDYn{%$CHfGl?w+NDWoojM4sy_zi} z>r<4(7)(Acjz1dEA~m-}tySb=3kZYAX0}ZL(h~yFxVuDn^b$u8QS~4X!vJz}48w61 z?YhRHyBQ)3<$SS5x4lVoK;!VuBvDY3e+qfojz6pnbVv7BEP>ILjGyrW+7Hw zGo|JRhO`(217~U>t5e-H4IU7(IC;UiLH(h7VlAd#psDD};|AlP#ZZwn?D*}?{fGBN z#c~SZ_pBo1(V^3gn4-8}7qN7;W!|_7d~3#BYih*YG}$@)OU)0!1LY6}hJ-ZIMP5*o zEHW-)yMcOgeK8aF*OOSvfZ82ohrnW^Z{mXP8i(V$<8OkG#p;KL701kbKYFt<_#*|z zVW;iSMPkaR$f18gG>z$da6e`_3*_HT%OsA={4AlR)cB5@I|{ExGA41&1U$Z9^$=AN zFp93?Y31#LA!3K($*nIGMhfY3n@AM?6p6J3i9kz`+62qf18Sc4M2xakFmnn`(}dK5 zSZqZJh2+fINOF;0oEwOpBU7Z9eMuPG*TV+Qq#h3RxF@N&KKlH4GI_5HB(3(PGvP56 zVxf8dBiP2|<^&9JD9DuEP{TQH|8=r{se=!{N4=8}BC)R5(G|x`<+PW84Ibi41X1nX|Pt{iz9n$Gb@Qk zEJVu`?q$4wq+OM!7xpdhoYlVT{s+w%rGuh8;{Ov~fEoACVjb0hZsNc;7p4wK(-PCl zOq4AKDj&eo1cqT%>Y}N5mraM7-vPZ`W^>C3rDW}l0ozbm2zFOpHHLPbV-6htmK(gr z<_C@*kAUE&VNVTlV~929)mD;lDA_KexOWW`%h|nDPQi-C9fm_qn3%G(fC znri#||l&}N87o^6_k_i)!p^BR@6pcs-tRgBL?^f{CPf5sA zLyqiIanz|NWpeVaTgWzz?u{i;N7Vc{^O?kM{}WReFzK~nBCfgv8u2(?mtPwf=Y||V zn%6hD*_3#9NYCYX3ocaR<1F8&zYGv4o+5pvwMc#KUxgwAWy=a~S=H9V(}h;yd7=W0 z*>WSos4(iMDa)*gLT4OA|1@nZJ!I#D-_E~YMe+LE!Mk5pu~@})y%Yo7+r z&P_3_1Zr>?8!3JOGAg;|o20U^4)}8h6p1P#vLzP#9)KmH4_x@fnDD-n%UFoSu)L;8 zoG^zt@`%d!1Yu`DBpoHoYTyB#bA5s$FE@9k5j;Ig0!J~00!4aqC;E#S9CD_k0?>`< zGfvmmp(FTVDU8gvjeHo|k^eGc3Tuyp5|#1QukLen?1%0{f5_!l@o?4PC?S!d{MU>q z#Zz^@rmLJqbM_VzJS*x_YjvP+XO>4~)#3D5|9V-d=KulAA>X~`4rX?-g&L97nX1<4 z2EIACzV4Q0S*&5)q#^%#y{>D`X48fc4bF=dSx%fiU@dbaSpDYlk1AyEuBPllS2dI* z2L9Iweg)>0Lwt#mO>A-pFWmkwH{Ivs#Crele!}IS35#ux5a;hvD5)E@8!l%-1Y?%7 zF6#=&+n+lvKjj;~!!niy4mPICErw1sxi~>PPD~OUAC5r*Z&1W&+Z=R46NMvXARm_tBhxGGZg}nRLc=4(7Cq{0|Ii6aSm+vxeF+3 ztkhWdMAXRT-59lL`7!WbYw!!U+dRTJ47zZEK->x)Bc0+AIJQngYc z|4HuK_kX9=Y;dKQ%hl0hj)u~0w@0kn9nO7yRUxe>st4jQnSBz0MEVv zuGVCkXcqHXE^(H#po7PJ;S`mL!Vuw)3ksjGI2P5x#;?^LN3iVtk^B*{h#I)alwmkG;Ir;O@lRt@mKi_??@7Vu;|36z!MUX=jmhreNc~mQ$Vcqe->-6D7;PD(B zsZZBW6o4K;0d$GNp#~Lp4Ou?{m<}o6RP+&sm6uI6JgDy0`L71{kq7%Z7lD3OBj3vh z?r)v;`0@Rk4*U9#^Px`QI1Vg|6E-@81*^l(wpayRWqzr*0&M9#=UWUt>m!W;G6vLCWmO4F5t6_ZapX`#32+^|I@oun1O zxn+-mbIt7sE8ZDoLS6I{I8vJMum36ZtP=1-|351Y9x^~v^%0*3|Jg;=y P;)lW0)z4*}Q$iB}|3n)%7 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 const { toast } = useToast(); - // State for generated ribbon overlay - const [ribbonPublicId, setRibbonPublicId] = useState(null); - const [isGeneratingRibbon, setIsGeneratingRibbon] = useState(false); - // Save edited image mutation - DOM capture with html-to-image const saveImageMutation = useMutation({ mutationFn: async () => { @@ -159,34 +155,6 @@ export default function ImageEditor() { } }); - // Generate ribbon when settings change - useEffect(() => { - if (!ribbon.enabled || !ribbon.text) { - setRibbonPublicId(null); - return; - } - - const generateRibbon = async () => { - setIsGeneratingRibbon(true); - try { - const response = await apiRequest("POST", "/api/media/generate-ribbon", { - text: ribbon.text, - color: ribbon.color, - position: ribbon.position - }); - const data = await response.json(); - setRibbonPublicId(data.publicId); - } catch (error) { - console.error("Error generating ribbon:", error); - } finally { - setIsGeneratingRibbon(false); - } - }; - - // Debounce to avoid too many requests - const timer = setTimeout(generateRibbon, 500); - return () => clearTimeout(timer); - }, [ribbon.enabled, ribbon.text, ribbon.color, ribbon.position]); // Generate Cloudinary transformation URL useEffect(() => { @@ -537,13 +505,13 @@ export default function ImageEditor() {
@@ -701,7 +669,7 @@ export default function ImageEditor() { }`} style={{ fontSize: `${priceBadge.size}px` }} > - €{priceBadge.price} + {priceBadge.price}€ )} diff --git a/server/routes.ts b/server/routes.ts index 2edb427..ec4fd1d 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -1341,26 +1341,6 @@ export async function registerRoutes(app: Express): Promise { } }); - // Generate ribbon overlay - app.post("/api/media/generate-ribbon", requireAuth, async (req, res) => { - const { text, color, position } = req.body; - - if (!text || !color || !position) { - return res.status(400).json({ error: "Text, color and position are required" }); - } - - try { - const { RibbonGenerator } = await import("./services/ribbonGenerator"); - const generator = RibbonGenerator.getInstance(); - - const publicId = await generator.generateTriangularRibbon(text, color, position); - res.json({ publicId }); - } catch (error) { - console.error("Error generating ribbon:", error); - res.status(500).json({ error: "Failed to generate ribbon overlay" }); - } - }); - const httpServer = createServer(app); return httpServer; diff --git a/server/services/ribbonGenerator.ts b/server/services/ribbonGenerator.ts deleted file mode 100644 index ffac041..0000000 --- a/server/services/ribbonGenerator.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { createCanvas } from "canvas"; -import cloudinary from "cloudinary"; - -export class RibbonGenerator { - private static instance: RibbonGenerator; - - static getInstance(): RibbonGenerator { - if (!RibbonGenerator.instance) { - RibbonGenerator.instance = new RibbonGenerator(); - } - return RibbonGenerator.instance; - } - - // Generate a triangular corner ribbon - async generateTriangularRibbon( - text: string, - color: "red" | "yellow", - position: "north_west" | "north_east" - ): Promise { - const width = 200; - const height = 200; - - const canvas = createCanvas(width, height); - const ctx = canvas.getContext("2d"); - - // Clear canvas with transparency - ctx.clearRect(0, 0, width, height); - - // Set ribbon color - const ribbonColor = color === "red" ? "#FF0000" : "#FFC107"; - ctx.fillStyle = ribbonColor; - - // Draw triangle based on position - ctx.beginPath(); - if (position === "north_west") { - // Triangle in top-left corner - ctx.moveTo(0, 0); - ctx.lineTo(150, 0); - ctx.lineTo(0, 150); - } else { - // Triangle in top-right corner - ctx.moveTo(width, 0); - ctx.lineTo(width - 150, 0); - ctx.lineTo(width, 150); - } - ctx.closePath(); - ctx.fill(); - - // Add text on the diagonal - ctx.save(); - ctx.fillStyle = "white"; - ctx.font = "bold 24px Arial"; - ctx.textAlign = "center"; - ctx.textBaseline = "middle"; - - if (position === "north_west") { - // Rotate for northwest corner - ctx.translate(50, 50); - ctx.rotate(-Math.PI / 4); - } else { - // Rotate for northeast corner - ctx.translate(width - 50, 50); - ctx.rotate(Math.PI / 4); - } - - ctx.fillText(text, 0, 0); - ctx.restore(); - - // Convert to base64 - const buffer = canvas.toBuffer("image/png"); - const base64 = `data:image/png;base64,${buffer.toString("base64")}`; - - // Upload to Cloudinary - try { - const result = await cloudinary.v2.uploader.upload(base64, { - folder: "ribbon-overlays", - public_id: `ribbon_${text}_${color}_${position}_${Date.now()}`, - resource_type: "image" - }); - - return result.public_id; - } catch (error) { - console.error("Error uploading ribbon to Cloudinary:", error); - throw error; - } - } -} \ No newline at end of file