From 36574b409666ef7cb5ef26efe51c50cb88e6140b Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 19 Nov 2025 11:08:36 +0100 Subject: [PATCH] impr: add monkey caret style also moves caret images to a folder --- frontend/src/styles/caret.scss | 13 +++++++++++-- .../src/ts/commandline/commandline-metadata.ts | 4 ++-- frontend/src/ts/utils/caret.ts | 11 ++++++++++- frontend/static/images/{ => caret}/banana.png | Bin frontend/static/images/{ => caret}/carrot.png | Bin frontend/static/images/caret/monkey.png | Bin 0 -> 8020 bytes packages/schemas/src/configs.ts | 1 + 7 files changed, 24 insertions(+), 5 deletions(-) rename frontend/static/images/{ => caret}/banana.png (100%) rename frontend/static/images/{ => caret}/carrot.png (100%) create mode 100644 frontend/static/images/caret/monkey.png diff --git a/frontend/src/styles/caret.scss b/frontend/src/styles/caret.scss index 962cc4c7c..89a2f3a8e 100644 --- a/frontend/src/styles/caret.scss +++ b/frontend/src/styles/caret.scss @@ -38,7 +38,7 @@ &.carrot { background-color: transparent; - background-image: url("/images/carrot.png"); + background-image: url("/images/caret/carrot.png"); background-size: contain; background-position: center; background-repeat: no-repeat; @@ -47,7 +47,16 @@ &.banana { background-color: transparent; - background-image: url("/images/banana.png"); + background-image: url("/images/caret/banana.png"); + background-size: contain; + background-position: center; + background-repeat: no-repeat; + width: 1em; + } + + &.monkey { + background-color: transparent; + background-image: url("/images/caret/monkey.png"); background-size: contain; background-position: center; background-repeat: no-repeat; diff --git a/frontend/src/ts/commandline/commandline-metadata.ts b/frontend/src/ts/commandline/commandline-metadata.ts index 4cc09cad4..fb105f009 100644 --- a/frontend/src/ts/commandline/commandline-metadata.ts +++ b/frontend/src/ts/commandline/commandline-metadata.ts @@ -457,7 +457,7 @@ export const commandlineConfigMetadata: CommandlineConfigMetadataObject = { caretStyle: { subgroup: { options: "fromSchema", - isVisible: (value) => !["banana", "carrot"].includes(value), + isVisible: (value) => !["banana", "carrot", "monkey"].includes(value), }, }, paceCaret: { @@ -489,7 +489,7 @@ export const commandlineConfigMetadata: CommandlineConfigMetadataObject = { paceCaretStyle: { subgroup: { options: "fromSchema", - isVisible: (value) => !["banana", "carrot"].includes(value), + isVisible: (value) => !["banana", "carrot", "monkey"].includes(value), }, }, diff --git a/frontend/src/ts/utils/caret.ts b/frontend/src/ts/utils/caret.ts index d8c7b35d6..ef7d00ff4 100644 --- a/frontend/src/ts/utils/caret.ts +++ b/frontend/src/ts/utils/caret.ts @@ -55,7 +55,16 @@ export class Caret { this.style = style; this.element.style.width = ""; this.element.classList.remove( - ...["off", "default", "underline", "outline", "block", "carrot", "banana"] + ...[ + "off", + "default", + "underline", + "outline", + "block", + "carrot", + "banana", + "monkey", + ] ); this.element.classList.add(style); } diff --git a/frontend/static/images/banana.png b/frontend/static/images/caret/banana.png similarity index 100% rename from frontend/static/images/banana.png rename to frontend/static/images/caret/banana.png diff --git a/frontend/static/images/carrot.png b/frontend/static/images/caret/carrot.png similarity index 100% rename from frontend/static/images/carrot.png rename to frontend/static/images/caret/carrot.png diff --git a/frontend/static/images/caret/monkey.png b/frontend/static/images/caret/monkey.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb2a2fa65c895690d7d4197f57a799221bc90fa GIT binary patch literal 8020 zcma)hbzD?i*Z%<0NP`L}Ln$3YkEDPw!q6R(1B^67mo$>nNK1D&2n?Y#h?F2DCDPr( zJ9wYx-ut}w_q?CqA7{?ld&T~)wZChh&sh_ytSEaIj|vX}0NjPhNvopnzPA?+7V5W4 z%y<9*z@&t$YddK}6~Lx;Hk`(0b|x@RHyeAD8~_jzce6J(wSqYTO<)#qTT%MmmUem| z+)R{Siyz7jwU>ff!sR?1VQLZTr6rov|Q;$nCrZeWxH8<>+Z(9Oo$76En>rT^_0 zjC#JE=AsAwR&lZtrPqck1EuU7VL*OPeok(BF+8A%qnSBaRr>kAj8P*|dP^rKdoUN5 ztE(%gD=(*=qXid_u&^)}H;4-a;y`I|Alz-8jNLeF5e&C3{_r6ULzp_k?VaFuw!mAT z#wK>oPNMYmC^_)o$ZYKYbZ(3ISM;bnaJd=VbMbI;bNyY}-qOy=4q<8cUrhcK|HBaG z2LCID|5)Z$@(*<f5(kbcejUe zslpI;&W@%q85fwX6T|OZpjHD*Il_#cVA7~dlpe$l;^*Mu;ouQg=ivtP3xauh*tmJP zx&Ks#+L^)4-T$A;!eH)OW$@p%QS>k~b~66|(f>2y;9KoKK%uDlePIiv&zo-7FB{i7CAEQ5p z*6`m&1O)!364==Ec70KLdq+DnXH%HjZwM%Ne@GE_=1#80jxb3J6pKXZCC$y@D5UN{ z<=c7!f`A}Y<^Qn-f10>j!cgx1*G~S8E?obD#&uiQ|HdZ5^$+wSzZL#=5TNY-m_r>f zsFRB8&!Y-8`17!X*`jFVh&swPgA9fN05m^1iV*)G0sz1q;~X=>Capr=BhD+eZ1E;2 z=wq%iKi_kxb$l}4crH8w^mXvVdEQ#&lqW-<=Cq=U$?}wcyKh;wW|&-G3P+XXi2L(M zv*GR8!=?q#k)QL3jzA178B80dU449^s1>xj+Bk6)dw`(bWP<+eJc{qO-RC684#ZhB@#pbBdl21r z20QwmW2mX#ck1&)shYVdY>j(kJ`N#+km08sSx?%S zLK;Qm{C+T4MoC>V@eL+;p45zd=jhg4E#Wls#P(SA8o0XWs%^2|JU|OZy_0b5<#Z4L z0Acs-g_giZNDTno*Mdk(s=K9ar@P0iPb4E>@3zh~dl;_U)>B%(hucGl>E7T6Q9-#S z@tBhPOrA}43M-PzT4YB|%dNS^#&tW?M#OcnXE0K+@bjd|utbpXWd}=d^**lVn}d#7 zZEIA_U#Sqc6kECLY48v1wwL>y&R6XG+L*uGY0&rMP224B*j6KLh>wXERq9onhgs4RJu zhh8^*Xp@DK!aE&iSbZ02%+Z)f0C%y9-DMznhWwCR+)!;>v@pMgntZ}|LsRQLv>nRQ zGy&>1>okE>iJOZF0diy9Mf6!D=3|YASTC`zaYQgW@i}+b0wK;x>1w(tWOE73rRe1t z^Z4V5@28Cyr;uIISFHn=Zl!l@C?nMr(XKLo`TCj}5PD&0V+sv0D~j(ip!rnJZhq5y zF6@NpXZBrKc0m_JHw3ID>ZB>eBIA$^1}_&f`#B;gAAdl%K5i_b&?dT~E;>999j-y9 zb5_{tHDRiB1!@4=Eg~u6N6=l-hgK71vEQOKG(A51!cBJ@eT%QB->~C=Ni_4G4RQPG zff$&MBbe;PE!?}zUbJW0O)#EhQDlMs%Z0;LO2#r?4Jgr)olDYBc!8}#khBUeaNS2%bg?Tl2M#hki;$M{ZS)6QY5 z=HT4cIF& z8TSsZ?q5Bo$PVpX>MmM;y5qj^Z+h7(&06TdcDH4THQ!odYrGXtSToamDA;jH=aH(Y~WEG}+%WChUp4h~%Q2V3z4G z-SB>ikmMR)_`*TA=gpj@GHai0j*sHg1dbsbRRyk>9C`SWpK<)iDDoJd+A z$c_=__ncFPLV%&;Lm4uwE0nBydWET?_>!z~?3AGw!rMZr8rY%}KxV;r6KyPbl^<*J zskHOgru!$&Uk$@kiLcuy#`0A~yv6%ynnE=p;<1`|Y^9*{bVwJS@}37$(?DiBLLe^XsdrKOXui3j85z0EM1&qr z4Y`rz{Bw57jTws#u$=HR@g3AtvGD80?)bG@k=Z)9>61NN)!hpOq{;2>Y5P1(KCnyp zq3Gs}#ge7aCR%w=FA^wqIp2T&TF+VIb=QX`2i2G{$Rcs&LpR3c_zeBMpIjy2YxO*U zL8^cN+5(1HY}sH{`fI7Ek2Q&PQQXih`%5Vf_y>$SDTh+uFfB+4 z-&zQ!=T_^lh-UR#%oSS;Q;>Nou&22XW2x&3w=dMemtjrU$rf13ZDGX(52p*5<%2M+ zG#sKdyY}yNWfhW)6~mdsI_;TX2u*=3iS;xnC_@-FZ|*qTX^>X_jKpq_sf#V$r9!2k z9_^+$-$ineGjO`)IyZZ7a1+~YqvBF{T-+aBeWr{Zp4mCWbZA-5VpHGP7DL>Ab-3W} zU?)lLuyJ1TpYsgUi$x;V#&%&AKj77Fg_W4{&C&xUcS(f*_#f}_xp@Td!mB>dPU92c? zZBPndC02p@O8eQ`rjqr5@L9AjY1`qr{0EQsQ}F_a`!nBKy?zuWAqd5gcX-y@g*Q}ngRfX$sLy)B0uyjm?7jNe17<*fNRUdZp5hL$4YMJ zT>G~UW#(79-;xP}vb}B^oW_<oN*L5QagJoHCf*`ZmK=vZ^)3LKYk3fLOW<)ocyI|$3 zzOAuAu_=iZs94#gn{_SK!}2A{5Q7SC;psWv_bpo)8Io!h=gPjKSSvgS297bC_HvkT zY(CV7%lq{dEyfnnp^~XUx%=Bwe61Gw%CzG-I#7Oo`^+w4|9?XX3@0 znc>Q@y%Vco_TTyVYKxOUncIgQOe0VqLoMLIAY@X>$!qq&%Arnk{rXsnwSJK{cLWeC z^rF8>g4dMD2k#xL2FX;_cTmlTWappLBIclaC5}&o)4@I0G5LT)F$Yid&vizT$3;n9 zp9&09C6gR-R>w9$^+k0lKzaHD#Z0OQ!*%LQ*?PNtwk^x8_dNl0q8hm>KltjaN=x|c zOm%_HKOGfy&}z^0=?Y-3f6>jMi6q@}|H03~GSDscDc(r8^*X|Ff{?n7 zVvR+jY|OT|lDDoy+vS5BbG*4V{>c%&tn)Tor=zMc_ep>?-d^maE{1GWRLxLNaKuAD z7lp~!KXPKKKNgM^ii}3IsgnmGV{(Kuh6kb$;=eM_%lv%v^*C0vBleJPrck%aO0*}m z>1tF(wVU{4hJ0gJ@qr$jrL}rL(@I&tGCYZ4|3&@a{&>ywBft_q zx#(=>B4t;bh!!-_B(t|A#fmC8r$2n)IL9ZeSD93r9BBa>rauf2*9vpIvSP(sn)9yL z3Q$;SY%lgbDnuyJ@ybq@{muSt6X7QWIfSO+!;g(Q+M*&JFz5v+L-Y{^| zM)kysQ`Ii@Rk4d>*V58zezVWMNJ{ZUYV(x-xN)xr2T3ULBbxs68#56_Ycq8lXYrpO z_D>wJy>%#VBTUcDRyZK-W1s zv^8kD6B3qZ^gTkeT(B_0Pf8Z=x)VQ267Rv;g7r=y(EdJAn)wE1wwb@ynh46r@kge-B@c%)ljBy-OIxV=989| zxp}T3f*~@~WGgj!n4Tu9o~h?KVGGeLN2}f`B>gTo)ACx(BnOR^irTrrFGe~hucm;z zB`-sny+ckY3|*nDVhwfn9t4%#C8TH12u zH5(3&CV1B!w|^(V^P~t=%+kjg6@1}!o5aBtY-JkjmbQW*4U-ED3HyA(N6Q8~= zIBpaKgF1UVx>EYnLL+EIO5uBGOMYpl4uD1m!)gD+`0O`^ST0dk>OJnS3wQ7Pb3Mm7re)#CtF3@OjGedE zRa_Dy#5^n;C_5Gvw7aF>@ZE@rN^IFK2b!2e!WbqHJ+#ljI|X_1E^X>oya6lBB&gA71bKe+s%f1dmR7y7Qt5=|#jp${gc^WuW zkbxbUFE{hq2aa6cig#>@&V;9#s?DV5aMo}aaXCeXzQp7fp`CdZRsx6;DIbesm!vq) zKl5@<_AC1okFVkUTY=9NKl{xDDofVvLgJn-sloYJx&=`UoQfGUFQn8?5^Q{;ng=^K zoKi>>3kKj-jIP)gCJvh9bB{lZxjs&MSw#R>FbN9&0!Z= zz!)lDq5b?)-zEx}LK2vL19Z$1jF?g`46l(L4=>3`AW3V2+qBz-&jv5!1CgB5aT!g zGAd^MM=Ub&%ugR5^||#(Qmh-G6MTG{njo>{)EOu?YAf@s9sT~n$$0YoO6_xyk8xr- z&u9q%+bI!4bt*TF>0vq~^OK{55?w2v5%WH@%5D`*!87y3f0$=i&qS{~_TCq}wepeD8OWZKERu*~Dw)WkY0mCa z1Dz|PA0ORGxVrAMz@@55Ob9dr_U>kmw>=5pR0CuVZ1Tp3eT-me@~owldrX>Q?)SaJ znDC*Hvpmp&MsQJIA?;-Zmx^86*drSkyoyHY5#2QfyUhX{+J78ATILMm>?HaN(XbRlovZyl0-W+7_57(iIl_!Z8JBMAJFRWv-2Q{84(h%7e@63-?OLaBtE2i?i!Q`oO+1hMSiz(%R z{su;VK&!Xz$PKN~XhXg#`2suU_i*2hH~kW>Z#RmRiSKAOR~S!jJpkwNW+vBI*l(wt z7QM_^(N@^3xZ%R{Qc1GMWDY|w-LoY`vsG_?%T_(ut7lhIZWzm`>AkKy-1@$ePVber zz2uXrvR2JFe*3es29@yz`Y%MKFTWo@Xb+^rmqCpD+K(#FQqmu9x_kCSy_>Xu^ga%H z{VV6)OMf7DOHO(}>l5q+u)>$X@ZwsdDs6iM?*~bZoWt$`9s>Tdo;b8>zc%h+X*Pdo zYyTOea#v^fk=>bi|G`J_7G~S;FDyws!`6?bdGy^6aRsFVe4bl+mThqRQ@K zAlR8Ma2ZPl*xI{$Z;-lf<}&W8qncD*NU6ei4tF5g#`83#irYNymoB>&-zJmRHzz0< z)uJIBQ1({q&~m7y$bFN=A<WlDo1N~6olTA1#xICD3TEXIwydk;mLW4Bnp7V@Bq(#8cXO2hN&n_Scj6r`%z-I=tB zgFXyF^<&Z_EJac#)nh~N_%X=VX$zgAWjeWgr`W=IQ>)nksK#qPdVEFn0Sj~EGAR?T zg*mEUQoxp*fUXYc+%4~Izlfc;=l@yb~}WM;%O~69r+@o&)XJ^GtQ#! zaZD2Fn6UikX>ln|?Vt@N5<;?#%_m-767pX*3rHG2I%g^!ZkK*EdB%c-{B9bmj&iE$ zecEtZvMlU*sTH0lCl(kg7r4I29pfiirnTG#nEiQh;ncH75sq5~cp{vI(-50NqCUVn zZT+>lq*7DE#2H+rF2u)05yl>eBl{-gS$6=PNluRLPy^nc-r`d-heah&7R4<)Y%hZ%n+Q|Bcj8y-@Q52M98P*-m3e3jXO|x@jWutlS{#4O;uJ! zTuh<98o{!vH;~m<wI)}9Jx>6#1`q$b%6-rv;PQpTY;