From 916e54b16ae6cdb3a0d48f20bf049b7719a5b678 Mon Sep 17 00:00:00 2001
From: utkarsh_33 <60460-Utkarsh_33@users.noreply.drupalcode.org>
Date: Fri, 7 Feb 2025 19:41:44 +0000
Subject: [PATCH] Issue #3503137: The ProjectIcon component should accept an
 image prop, or figure out its image internally

---
 sveltejs/public/build/bundle.js          | Bin 296408 -> 293964 bytes
 sveltejs/public/build/bundle.js.map      | Bin 264973 -> 264383 bytes
 sveltejs/src/Project/ActionButton.svelte |   7 +------
 sveltejs/src/Project/ProjectIcon.svelte  |  24 +++++++++++++----------
 4 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/sveltejs/public/build/bundle.js b/sveltejs/public/build/bundle.js
index 022a59fcd7192efca14fc1e01422460644adf8d1..d886e24189a268d14bdf33b3426558f3cfeff5bf 100644
GIT binary patch
delta 1411
zcmZuxdrXyO7~lK*z5^V&$W6I;*(W2pXq_A9!Z8FkmI@6oRMvn2%2khC;*d2`iEu8>
zAsyjS5OdAt){K}1Zy`*ya!O#6Ss5khtVv5PMz(69z2C>F)$IH0dB6Af{C>aZdEfWB
zx-WG2w~&S=_5ntU>HA`gvm_cQ$3|L|#VnMzpZT>GN}*I<in<^}Vv)<8Xizr0U(B`U
zQ%$ZELtT}KptWVl5_zdx5k+xTSV0G#MMzsY`dJbeWSxv2Y(eTQq90Z>&1}U%`n?!2
zbjgK-fz?IsaxbqXpRQ%H+W#uk(SFH6pHw0?*pTS1aJx#pXj?vAeplMyxqdT{c2~g}
z;AL_sOP4C1^|vy^Vw7cyA@L!BG#*}oSl0H3G?yB5QZ}tCfSwONj}0=F=E+7Lx*Z#3
zinxt=Pu44<?B$B4tL#ux6!%NjB~MkY*;baTM)@n|DB{z*O594lqALAANJDwjCl*p`
z5#r)ihibZ#l9HmtRaDlxi(Iaf;<yB*ewI(KQKe9Gz3A|nqmqp>U&j3f>R(~zZwt%+
zWsa}kfmMv2xPmax;-0zGxmxz6>KbOCZ+oF9<vjEEEFSWspj}u*6JrPns3<Mi<f_`d
zwZI;0rW-9t^{gF=rX#!1DFPi|*#HyN$g^NHoA=eR5%A{S_?*F-%nSEGFUd*9WE-Uq
zAdENc#SCM1zVmf#mvu&~(_*2i5~fh^IfT<=E$EOOu_ih&fpBrNR53~$hK_!?h<W6E
z1C!cPUamZ9;%7VX3!B~UX=R}lTqnsCNK&ZBIOangjfmsHH<1bo8iAGHA(S!MW_8+V
z-Ac(yE4~tf{u8j#n>8$lmhBP(iR}oWtakX*@d>0;Wg~oOkGj#_E^eloer|_B*it%>
z0dqbTU0_eEAU*Nx*vqqz2nDKYM9xFHI+Mxhba<8w#8crJgwbFxs)&zDc4niWMkNcM
zc?*Xa#7$k|V3G9RafGQ&vvbk3X(m8@ZzG$cTM*6{p1^nbr=v~OF)1F{v0ULf%_hnG
zqj&HtV<z5x5`RiCI(Sz%wlLYA?3F*XQ<S60pFf2N@!B-`koWNlQ%RFm#VMw<3%jP-
zlSw#@SGj?sTLWm8ri4`+ec6W`+J9KIQRC}6fdu}=X_RX?o0llr>NJ_P!ZS{Z!i|?;
zq}R@36VLq^O^l1skLer^XOeAJO*xMYUU&(&0byYBQ#j~kuaM9Zvo2t>H&KLh7&DTn
zGm<JV;st7JM-oL2A!@EQ*6e+5`ifE|p3-}mB2KSp2+^XI&C`fMftijC!Aboc2;{@H
z@L_HDki#rIeHe#D|1@4cJ%Z;X*zD>mf|p!IFNEai*Jx5p_T`0FkiaN-jXEE$;c-5A
z6#-0}5+tTXF#R}=59!_*(#ROZqWJv@Z1bhnd9p%*d2+O;|C>jcl|H+LRXk-94`f&@
bp26`*dghK8d^fJKh&}V~g3rGzouj`1o8s-M

delta 1727
zcma)6ZA?^06wRD@fa?OH@~ze<RYBase!{X9MWZo(RZ_9Gp>#`NUDoAeMKD@LA=Ork
zjU{Wn3rf4B;YV8=i;ANSDyXrDSdCWGMuQS<to_ldO|3OXJG;;*Nlp8Hyu3H}&N=7a
zduDncjQpW~RP82q0B4KI{|6LaSXxCL#rTbx#2yC{SeUEKX%8$;b7D-KsUSZ+wQ8-$
zk(#a+RjtX_7Zjugf-@Jgc=9Y@8VYabain!(p#*r{i3yCENCGVrV=FL`QEmldDWU}7
ziG#TI)rF<i4s}9ywwm(4sJ<&fJRMt((9nT&Qh#Mrf{+xq0y8AtvK8on*-9~P?4a}m
zOf!6yr?A{!<*F)mP>UN!X_o_0{}f2&Wq6az46-<pB)3b|dGvNOkM&-^5kX(<=izkC
ziKge&k?<7z*;1atlX6mnSvoZ-s3A$GKHWqs^Y|iCA0dfy?a+8f{1hb)dN51z`X4Al
zSB)h~q;9w>AC1OY>2Q?Kqy9BW91;9}si?$J<Sr|$bW?vdCQ;`FXsPo(Xz2cG#B1|P
zT&vWwisEWnw{tC$sc)E~Ax{l|fqd`au_iFcyoz~cPSLgwa~ZY9Ack_<_y|g@K?QB`
zA%<Hg8mOfPGw8k#iS)1r&CDo#8(;yAZNe}bw;KzDT8G^VGW6o;W@xx#HDnpZnJtI{
zx7v)vrt_CYLOpCsh(T{Nndq*AsZ`R6Xxg?NyLgtQ@cR(W%t0n*q5c{qknbb>%q*g=
z0gsqmYx|hRdT$@s3jJ=3R*<PD-EnEUUcz{)KP<7H5VlgY58<@6TfPE_<gY;v&FO}j
z{Ebj3tx+1%M7fPfmt?h#m<>|_6?U_w<nKY4NNU3G(y(IuMb-eSI0K8g`UzZ&TWnVE
zgd-`in`vY_YU!RInPi!x#EKa$ILKHgu`65`DBL6-?899~=NE8=#<XG)%Mz|u{E1*!
zNCr2N?nj<P{(L#Bs1r~`!socpScZuD5|20xCK0(8E0|(650FyV5sao!56g+9v>{Hm
zB&Q7r7?)&ZxWYG!_4`rI6e-a#(Am0^vhqN_XlTdR5@=A>J;n@VJ&Yw3*^YNb<Tq#t
z28{!fLk)Vp&0q}FNgltXoZ1C_z*1pCdla`2l4Y`)GX^NuY)7<^@o}7G(7cndQd}2i
z)1Ff(5*=OG#Dx4D9vGV}DxS`Li`7)yfH1oC0gt88jfkVQ-EziPyP;KF%heQ`+0N9!
zFbpdZ4|^spuIEXxn~0r;EwD9&l(RgVRE0kz|5viWsP|bINiS&WdL?wUu>qlU;zNEq
zFt%Q)DnKmqdhrHFrZMmrCr+KiK`^sdeLR)^T8~kICWX=Uc4_!mKI7AA=|x<nCzFv)
zckb{|+B=^g+qs2}qVw5YOZH2cLb;_((PkKJ8B^4CFG}6Cp%Af?)X9_8;>v1IVd)Y_
zRh6sUndWqrrxnX%DG#4R&6amtvVjb4>C|6H9<iacp@YZzwTrm&-|W<BmeT4jND~GP
zzqLkseeq??_nz+wrSZ2B^J=nWPgY&!YI^DrRfBi7u^^!Ld9i<!p6p%M<EEZ&mM^w7
z$+3DnJ0dCPdrTwGR16dTorsh-`{3<GEthbJ_WLl4^pPw<?7NJzFqTDXAKsE<+1Q7<
n<A%smvxhcM9O^?v2r?|*&c1lMb^|*ihUCBRz6s&J$@}SV;GbB<

diff --git a/sveltejs/public/build/bundle.js.map b/sveltejs/public/build/bundle.js.map
index bf816089563d7c72ef1c676fc0399eb9b52f86bd..9cb8ddef8d89b5dfe6e4fe941b8fd87c7f168a15 100644
GIT binary patch
delta 860
zcma)3-%C?*6z6--?hLK8XcaT$Yl=VO;`~vj%?00kcOAD)#mq*T<<QLyuG?T2buQ7K
z!b<Q*cIYVvfnYrtL>CM4AJ7c6C=(2Ni0C1G?xF78>{00D@cEweIiJt@o-_HVV0pS=
z{3Tg<hoxt@B2-_Ke7$gu9JSmWb>4_l+8c`|G@7CTRTHQd(bOOvr7o%^<H0L2WuU*y
zMBN#x8Z?RVfEM1D5(&`?Q<YLAE5y!cFcz+m(rQ{(maUkA)a7!~@`zy_P}N{xxml^C
zsVpJm;KG)5astzDhz&Q_iI=3XX@gwg&EhCtoF}LB`3<s4NJ^jhNM3Qcu|rPd`y{dI
zQ=f^A$C_<YaW}M0^w2h!n6)O|(ttaxe;ouT;rnIg3t{mv`1B<W;)Fljyq6I1dlekR
z#V*K!%Z+aQG6!{dyAqD`Ns+NmobChL5rr{Xh#2pPD0r9@bz@Bus&TCzs_^L$4COeT
z&Nk*#F**#_EDH0rV15tSaVrmU@#h?r{GZ};{8a_Hyuw-?ZfqKXt9*ck-634sg))#E
zMcj>mU4JnG-(bw?RG7yh2@+#WXfcCq1`lH%6Ul;?F|UcdW{wFRjCGh~NiaU6WZTSM
zr=Lj<F`N9S;N72XxXN{+AYnTPCyhy^K@rn2&W5WT<exL%(LIBVy`M3EW-hZWE@nr}
z_-E!!7#mH9*xmyr)=nuRY9ihmgHI%k4dd{E^y`Q3z~%v>;ExHYw#dSOh^!VIy6+xn
z#Huh=bch&x0Qb3sjMF>dz@0o}*NeZogS?-e_q1Vp3+%={JlFN~Bs}A|1~;}&L5HQT
vxkko6#5mFN6eM^>s+Ah?(qkybqK8m{v>p!OlUaC+z8UByK7C;ZdWZi4D`X9Q

delta 791
zcmY+B-%FEW6vsL5aZ7}9#O7#NytZ;eYi`5HH6}fKx9OX|BDJU)_O`vvvANCtur0N^
zh?FEV0?$Q6-E`59%kb^a{s6Hu)-PxYL6=!KK{wUA3E7^Dhx2gG_jAtqKFhatHy3qR
zpTXl*dQku!4fb$m(*1%C<=ramtl7cyk+du)#6%`5#p87MHJEBcqjD%VCZ%a=4Mgo&
zGMtOcw6X?G)cy&!)7Ll9O~E4kQR<3t91K!C>zT|JQu1I@9E$|Y(OH`kd<#q5ex45{
zRWu(?=TcI9K+a~Pi3snhe$)B}G}EgBXcgB7FlaQB=I8~UU<Dd1d~<Vku`Lo!*uqje
zrp_hv9*>8&I4sk2-^lGT{J)AE9^T8hb_^$Ic^!=O$jIsGd<pb4vjFuo`4TAk5;uNF
z>n`|&1A_8x9FKrD<72`lAN|N+yP=b@POHEet6Xk(#LxP2<mkr+YD}Y9iDd8^Xk&qY
z3gec-ugcu&X$w?os3nKyaz}Q;rEH9&8#HY`)-$?AC6%g&33@Prr<Gy`8$fe0P+g%i
z8Z{#GrTla>k0;g8A)FzIqDd*`@eAsEnLq8bh8PQ3D|3iU%^#e?8LiXHnA1zr2=3Dk
z2~O`}fj&>;dq~mq%UFb@GJgd>)<Q2uXVFf|GVUUKi^^S@#Vk<DfxDeUEbcwzwRSVs
zZOy1S(W-7Ol`Rst%&KJAW=5o!fKBwX3!U`+H&=(pT749_fpeVQPtsGh&p8L$G^bd+
ztAEjgrk3)!o2cHh`BE8QakjEi`9s_y>vVaQ!8v@waWOx^JPy>f1{{8>2Q<;cIn>kj
cc^uj176rTD@{#Ty8kTNh5TH*PUcgZPFQ2^sTmS$7

diff --git a/sveltejs/src/Project/ActionButton.svelte b/sveltejs/src/Project/ActionButton.svelte
index 28f59602c..26c5b4c34 100644
--- a/sveltejs/src/Project/ActionButton.svelte
+++ b/sveltejs/src/Project/ActionButton.svelte
@@ -15,7 +15,6 @@
 
   // eslint-disable-next-line import/no-mutable-exports,import/prefer-default-export
   export let project;
-  const drupalSetting = drupalSettings;
 
   const { Drupal } = window;
   const processMultipleProjects = MAX_SELECTIONS === null || MAX_SELECTIONS > 1;
@@ -59,11 +58,7 @@
     <ProjectStatusIndicator {project} statusText={Drupal.t('Not compatible')} />
   {:else if project.status === 'active'}
     <ProjectStatusIndicator {project} statusText={Drupal.t('Installed')}>
-      {#if 'gin' in drupalSetting && drupalSetting.gin.darkmode === '1'}
-        <ProjectIcon type="greenInstalled" />
-      {:else}
-        <ProjectIcon type="installed" />
-      {/if}
+      <ProjectIcon type="installed" />
     </ProjectStatusIndicator>
   {:else}
     <span>
diff --git a/sveltejs/src/Project/ProjectIcon.svelte b/sveltejs/src/Project/ProjectIcon.svelte
index 27a9501c0..fa19914a0 100644
--- a/sveltejs/src/Project/ProjectIcon.svelte
+++ b/sveltejs/src/Project/ProjectIcon.svelte
@@ -1,8 +1,8 @@
 <script>
   import { FULL_MODULE_PATH, DARK_COLOR_SCHEME } from '../constants';
 
-  const { Drupal } = window;
-  // eslint-disable-next-line import/no-mutable-exports,import/prefer-default-export
+  const { Drupal, drupalSettings } = window;
+
   export let type = '';
   export let variant = false;
   export let classes = false;
@@ -37,18 +37,22 @@
       alt: Drupal.t('Installed'),
       title: Drupal.t('This project is installed.'),
     },
-    greenInstalled: {
-      path: 'green-checkmark-icon',
-      alt: Drupal.t('Installed'),
-      title: Drupal.t('This module is installed.'),
-    },
   };
+  const { alt, title } = typeToImg[type];
+  let { path } = typeToImg[type];
+  if (
+    'gin' in drupalSettings &&
+    drupalSettings.gin.darkmode === '1' &&
+    type === 'installed'
+  ) {
+    path = 'green-checkmark-icon';
+  }
 </script>
 
 {#if type === 'installed'}
-  <span class="pb-project__status-icon-span" title={typeToImg[type].title}>
+  <span class="pb-project__status-icon-span" {title}>
     <img
-      src="{FULL_MODULE_PATH}/images/{typeToImg[type].path}{DARK_COLOR_SCHEME
+      src="{FULL_MODULE_PATH}/images/{path}{DARK_COLOR_SCHEME
         ? '--dark-color-scheme'
         : ''}.svg"
       class={`pb-icon pb-icon--${variant} pb-icon--${type} ${classes}`}
@@ -62,7 +66,7 @@
         ? '--dark-color-scheme'
         : ''}.svg"
       class={`pb-icon pb-icon--${variant} pb-icon--${type} ${classes}`}
-      alt={typeToImg[type].alt}
+      {alt}
     />
   </button>
 {/if}
-- 
GitLab