From 7fe3b4dcd014f34d52b3b448420c06bd9bf60f6c Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 10 Jun 2025 15:23:00 -0700 Subject: [PATCH 1/3] style: add selection styles for improved text highlighting - Introduced custom styles for text selection using ::selection and ::-moz-selection. - Set color and background for selected text to enhance visibility. This update aims to improve user experience by providing better text selection feedback. --- emhttp/plugins/dynamix/styles/default-base.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/emhttp/plugins/dynamix/styles/default-base.css b/emhttp/plugins/dynamix/styles/default-base.css index 6310f3318..90ca2b174 100644 --- a/emhttp/plugins/dynamix/styles/default-base.css +++ b/emhttp/plugins/dynamix/styles/default-base.css @@ -25,6 +25,16 @@ img { p { text-align: justify; } + +/* these selection selectors must be kept as individual rules or they won't work */ +::selection { + color: var(--white); + background-color: var(--orange-800); +} +::-moz-selection { + color: var(--white); + background-color: var(--orange-800); +} /** * The markdown parser will often add

around links, scripts, and styles. * Without this, spacing is off with essentially empty paragraphs. From 8dc5410e1440e243aa5ede1f5909fefd687203b5 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 10 Jun 2025 18:09:39 -0700 Subject: [PATCH 2/3] feat: add favicon and web app manifest support - Introduced new favicon files: apple-touch-icon.png, favicon-96x96.png, favicon.ico, favicon.svg. - Updated auth-request.php to include new favicon paths in the whitelist. - Added web app manifest files: web-app-manifest-192x192.png, web-app-manifest-512x512.png, and created a manifest.json structure in ThemeHelper. - Refactored DefaultPageLayout to include favicon links and manifest reference. This update enhances the application's branding and improves the user experience on mobile devices. --- emhttp/apple-touch-icon.png | Bin 0 -> 9664 bytes emhttp/auth-request.php | 9 ++- emhttp/favicon-96x96.png | Bin 0 -> 6525 bytes emhttp/favicon.ico | Bin 15086 -> 15086 bytes emhttp/favicon.svg | 3 + .../dynamix/include/DefaultPageLayout.php | 4 +- .../include/DefaultPageLayout/Favicon.php | 11 +++ .../plugins/dynamix/include/ThemeHelper.php | 68 ++++++++++++++++++ emhttp/web-app-manifest-192x192.png | Bin 0 -> 17519 bytes emhttp/web-app-manifest-512x512.png | Bin 0 -> 90116 bytes 10 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 emhttp/apple-touch-icon.png create mode 100644 emhttp/favicon-96x96.png create mode 100644 emhttp/favicon.svg create mode 100644 emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php create mode 100644 emhttp/web-app-manifest-192x192.png create mode 100644 emhttp/web-app-manifest-512x512.png diff --git a/emhttp/apple-touch-icon.png b/emhttp/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5222f032a5651bfd49a846ec1be2afde45e620b4 GIT binary patch literal 9664 zcmWlfXE>W(9L6JdP^I>)y+_U35qnh-dl#)yv|`m>k+y2oEJ~9SdylsEsw#>grKnw_ zsa>1!dOtkR`Es7?{LgjH{k!k;T<0b9fgTNr4FmuHXbkkV&2QSK{~rpno448snG67M z7hs^R2@7@FE}*P))X5#VSh$!HH>{$Uf0bfHA?uo@O-6^TQvum(BESm46qNQqdB3s6 z-OA^`ZwMgu;i%5#u~Sab2N&e#@jROr1$(@!r#3P^NI!8(|1@@Tq!j7*UcIAmyD)rF z$+C7Kcx;OBH~PA(wr#BZb&u}Q$On?Tx1#A|)1ktv+qQu3_l;00Ouwo~X0{5fZ4(+eU zCy6y}2PuCN0w4HwhI_?{1rxVY`U&S4k$?xBNTJI~ry7&HTaOh`6pMdSF9Ccf8s}1% z#?0M>;24hRf!)3EH8t5kAqNV(yDd*zsI1OAbSRr%W;)IZe=eE>ELnd{yLYLM-Pm61 zdkH=0LPmW|u=^Cvh$h2|opNewNb7wwS+l6S&H*Pe0!3BM|89KS-2Id`Zv8R+9w1M| z%f^d!M17c5%Q1fP^}*2fj%{(k-V^SeB@0QLFNMIROoYnMnZ?9BtWE)3aK$G`)}t)o1tX#8S-RCu=C&%8@n8Pl=jYiE6AH zV0RC0`sU5`m6aOvcMR4O!*1?fE+W6$Kx8K8%Ts1s ziGXUZG#R?e@V!!Lk;=S!fgPKBC!mEbJ@5%9q|Xnm zWKKtd+<&J^JwN7!uF~Vrp(Ts9xn$8#qXxgjDV2^Nx+$Q`xbt9kw5S(N_GRv?)Ks7LL zt>d^EwfHe}nBjwIioCZ!MJZGOd!5YdOL@&1t z3g99N3oevWB46ZBtRhI``@59+$R9t62JvC{2X?lk;;w%SgWE&48|s{ygc!1pi=5mc zV_B8vt1TK7(IccBCpV`!YHWlYHZ^T@@g~X;P@HcCm%Vy~rUua_qv!+d@b7$>fjk$~|Fp zi?cHPQ$X;n;d^xqF2$uE``T!cMSnI>PF1o|5~xU^i=bqXSsZB)!VoCJbZwc0EiYpG zes2)mj*Z%E9%q(9Xd_NU8g^d>tv_d_W621|PejRKqm~j%8o}l8x0uJZSjs!%e9@sV z4{Mxkm`Qj#*4#DfY7>Jf1`lu^s7;Pd(p38+Ql}~{%@>fPc-q!MSGjx4sApX8-Dax6 z&0xPl2BVNaRhs3v-d^V#tWEnmFsrxdx_K3DosMQ!sGPoT2I9nfGXM%v z$ia@Ef>3V<%c#x;Qz1vdTP1A#m@jWQx6>Vj?dvUjBJW3KhGl)4LbUQVW~#e?DQT+0 zPK;x9lj=9{h(J-#hg~;|GgZ%hT3qs)%u$B4^|~<2{dP5(QO+Rjvu#%1adP@rl7(TK zk>YIV!$)X)9@FG0zIYFZT%zQ{7XNL-?Ii>0av>31)D&NH;ws77X?z|&{k~QA%PdRO z%Q2kF#c;WOs&Ne0-(7(=DdiFSpx(*=G0~th#p$nuO= z2=jS77qPaftbZhzhe$R%*r(sb`m9=<1kF8)-l~?zB5*+43Z$aL= z>qkLyU0DbZMh0*|l4+dX%}okJr-finxfB1w8=rxK zNS(a{&wa~DUX%mpsibKM-bSJ6I+Q`Te+f`A2r$*4VtI!>TdT~f9NwiEmXaMx$Fy(g zLLcYcMZ@s=f_%xY2Pr{aX%+L|8lCxz^1I4L3xCrKpTkMMvzW=EQP(Yxb~SZR0X3FsdfL)h=E9R0CZq(?RK<`g2D zBW#~|!{ee;sHf_HCT+`}mwsu>lil6ZQR*FB)}Lq%D6{2ciCs4dq(fiXzg>Oi*{;O(GKTAN zY{Y$R+d6EmY`<;j$FC`9pL>A|9ZxBiL%V+TeXu{+W1>sFUe$)xmh4r5m|{Af+(kF9 zF8PXUVfb_}pgg8dX7jTBYXAz;n7rMsIUhAWhRM5sc}kjaNvj&+H2HLLC<=C~(BxbD z1xNFYR62iU=Y=|L&ywts9{rcNAvQb%Q-8olg@!?fnBqEFQ;+AocS4xJ^-r%ES^;bq zF>3k(thY08he-fC7K1Fwj_-P`+j#ORrHv7+5lqB-(Kq$f&gxl|ZA)F(%vZ}Sqg7I5 zJtJG`i=DU8;?uJPru1@iBh>l^M3ym=q3I*I5sC+sBFMUH#!)yslo?vyaONlkgdjs9 z-#^!GJJ6wOs>SjM%f__^(6?7z zeNne);}Y7`^9lV7*%r52mX70rY9=e_NYolMtUYMH)Or*3FAZExnsVYeYcwS z%0r^$ndJFT;NbXX^WY46=Z%^sjJaEjcWjjK7FtKRZD(5ern}E+RJ~YiRAwWGlBQ#> zdOmEu&Ew|N`7T$^nTs*gL;{R5NV~&k`T={V;ENu5cq-<$xsT6JT(Q)5^zVb4h4n9@$Pna-0) z(2CmtZDsNVg3@!2Rc(5kJ;H(?s?sSAXdvWiJw}mV`QDjnd{9^;rq;YmV%!o+Rn}Hx zC4A`5<2xWuPJSou>r}r`tR3ZH4w0ub`d>opL1AujfTZfH=>Rxct3N@xVfQ`$YR0l$ zNWAs+QqE@@g16WVye~Zr#TxfPiMT&SDTn?t-Iu`3DY?D&le?|fjJSha9GNdP(0Tut zTNw%mqybguVXU9;8c%$5xV5lXt!MXM12=au?a*OR$exo`DT{5BbkI+XI{Dx@-N%q% zQB1kP8gqO?Ny>UD_1ZTBG}P)o?l0QvyY}nOxH`+|xRNzZ;35L)gVsjWaEcFV#Y1+Z zyZ>Qr!PR*`Z75vBMA-Z`zH5ay7Ov>>_QxPg&eDxS*FdU zt9+aCX0S5=R2@4(A?I_-blmR&dBfycfjwAgI8cv=$g)U;gPh7MOCjoEOsZXd58>vU z%ZnY_!A?+TZ=GSBp#BnS3K-e(SSc>q!!(bRAq!SZ)R7KRcELa3AIU9W}>uF$DQ?5qQ-@M-7QfVGBPP5@!kXB*kh00>43&A&zHBxe2qkl13;u zuLcy;u7swLBl$yc28jLJewGsmnG#m?agq0ut5}(8=dvTkWsPODW_eC0#^% zT)6U_J%60|FtEjDAAP)K=-9ST>S@fWn;Z-bo6a)&h8>X=Gm?5GZ9q=c!5(k-)Un?zB1PKl~=qJd9G1GDl>)EK#kdt*xa zV>WKh!x2zKC)AHBaVlXl_*rIau)z2B@PD{sFw+0;(duJ;LH-tzqc8oS;r-!icSXBf zRxT}~L7(F$%<-dVYzSSH{K?PAf?qcaas40J&O*V$|2+uvCR~Urj9DyIBs1UlYDt>pY+=XH_GCz z&%GPr9nfrNH;ppL-ft5aj=OI8O(-d8DdI@%Lfm}e8GC@N@LpD`?~ z3788Zk4VUrQNmS}m%`9=o;6YUWRS$bxHrn*s&xBFR_n+69;ln6Fk;Jr2sE^K+c~Pq zW#qUIwD|=(-P453qq=PoH%sQpi2D(Lizkb6?=@)ALN;dL_$Yl`qq7V)R6Il5I`Pi` zb5wJRU--*3!j+gVKXeiW#b7C#>P)p+Nb8q0QiE&?;40-DM5!RzCsQC!pfb_T%xe*3 zd@c9Fg;~Eo!-NXW;I%;7h_&?)3*XxQ}oR7H4^q^M@^KEbWvB*jE=1 zm+~@O6%;*CYqiERiRIO_2|`*^vcG2E$L-$nmp(rr!)X z=L-qjhI^8*G0u{_qx5d#D4UQ$?6k}_a+JVX#8iQXZmKtS_D=w`P5+w7xV#+V{9zBP z$bo)`5xOIhN>nFs_-1gysvwfGybxe2DF4I{tbw<^b?2#anUJIVHZtt6M!6uC7=7_b=ToUBdRaww~sS5`hyRuNV zd%ibIcahEaS&nK+TUbc4!=V=I5bqU?`3STF$}ggHTr)6#U!|4Spdn&0TsDyj$3$=1 z+08_P=0wB{)=n{kRK8s#m9()}4XVBy4>bfOCjpU+p`M7@x1+AG`t~fg71ruC8wM^L zO17vBQF+n80gr$ir4xHrXXaVMcQ-zgrhQbA>3`E3x%fP9tCN$1qxUd z$>o?N$|L?J4$#efin`BqNU|1=qu$oZJ`cF>OL6_RR4KXrN{Ad&T^S%8^7ZFBs>b-8 zvG=YDKg{%X-|}MJG#Eb6$4wxV-@xTo7?M}CnH_h!>5N$eqY#DDjCfouSJatKL*$!J zEBWtXda+OIxb0BZKrDTk%{bT7>pR7Sz0FL+2&(A?p=A>X2Xt;`o~G@hUJcF{Il`N< z8)_`5TKt%2maP8SX>?qlSFAcxL~gFD1ziG)Z0XgKMcn}>)7JN7t(A;~xscKx;>G>@ z4e85-B>vB0)v*ULH>%>}2NQok{1NcPLLTHc&4p;)h62tXkYcH{h5M4*E}k?)cF9nf zK&_#$Y$uQ@8turOJalnH`g}6rf_D^5)|DwnjXG6|NfXws}gJ?fi%1!sb;}Z zp(-fog0YU|FQHH9D;r-f-DMH zZ#w?7goZ)cV~@pJ7*RDmSnF>R16Mwms)4{V6{|kp8RAQwh6dOxDa3RSGb7N!?A_T)8|P+e%vr5rD~`jtRdT12hFh1K7loR%oRp z+!nNGZPNiwW@kqZTxtc^uV!;=#Xd+-!{5oq-wn`jRpoBoHDcG_&AIGhtdW5*`^1Dz zkOrX0djbycVtcO4%1TvHP|uhaZgIUjy)QXu$e_g5hvZGb8{WNNxeTEazQI!EUoN}+ zY>(bMc#jTen3OC%I@o+Oaxp6JFk&iNp{d4a`bO(v&v7?GIQ^9>o#|TE{J+3`%jRe= z(q;p`PioB^86-pauyGLi#!_9{YM3WUUYoUbSx~CJKFQ(T(+y7MebFJ#2YYQnm^BRx zo(!T#0@%+KIi!a4n8LVht#z~+T50%=AZ{C3v=-_x)%M2m{}5h*eJmE&YicONZ&LNY z+pIKj@Cwnp7Wa1_H8dBE@i#Z_P~cA9FgHs6G>9L?BLc{#Gvp6Jj)Efaxa-lN!`dK`+;IrsX z-Y-7CqiTB_tNus4(asO6^0`qPlZt^{>q@M}=TOgIt{0_DY3RjX;<0#hD&`L&rZ>ZY zOwltVNjF=92{dxfCJ(i^$xzj?4fe!=V>4+7RHI26OH|ptG^tm4_i*y})eFWxd`^9e z67+&y9ho6I&FL6qP;QW9qqe=XNrik_tlFmqt=sb`K|m(a6=#s@B+ zEff>YQhR`=?vi635PNqzX}ua#1hw*WU*Bc|+=PkpNrQ_D|DP`!Lkz8l?;Vu-{ys8& z_o1HbQQ1Bnv8KW}5gy>lBMN>?=UspM$FUAP8KPN)jG9yfA=Ddp(8*EqKmqIWs$P%x z``6h>!Z#Xkt4p>r))QZDwH#cx)|}rccr|wM^i;$>G=C&X@o(0;@&{p`ZGW>Hn9N_3 z{6-UiAVrpFo52su-%xVE5ltJ2M15`q-&)oz(EC#VBAr}6=<5^v!g)rv)L-ynlfu+> zLJXDkmY|1b+Di24hKO@$T%f)%3OJzE zX^kz_A?sGM%htMKS%+1@EnF+&lW3QMw@w(DE}-?P)-kKXmp719}JTnc|5yOBiOvUeK1D7X9HdxZL_Mrdr=sz z5MH*QNXWl&R-$J5O`pgc_=zikDzJYUG?#_&yHBV`h%GTi?o39;)6d>N`y|z#cWOAO z#a}r5m3J`a&hXolXDe!gF|F{CuJj>>e?G#Y%_%g83;sRrDPzBiA6%A}ay88T68o&3E8qDo4?KRG|#c zVoFS$97wny{sk!YEXcGH*h(J5rHf*H3&fRS{X4B|uqx_1B7u}ap*uREIElhizxU+9 z#OA>@_D>LB?`&(&5fOc8f++o13FogrGEdR=$P60UQvw~DjmI*cUulyl$H;(=V#fv< zTQ}Io0?KOW)S8$)uipva{y^rRC$-I^ESHt*dOxvz58eWl#XDJVg;^xpkq2@EI1^>4 zo0&Wp1HPe3Km?^^2zewYli+19(6;dDIz*dR%;$677{ipsKb`HlKCt7L@XVje&mdWT zN;&5Bgr1Mu;ME>ywH+3j*^Q2HJ|B$V`(TRlUN>sI(7z~-=QLbydwC};#Edv{^;+m= zWuKP{9e${Iu$YG1?QU#($;E4E11DjaYZuBV6me`QPJ0?X&=Qh1i~LTT^`@tQWpn;y zLF>Hm+&eUa#|=|sPqmYs*%5m}D}fak{=Kc`;{0Lb1twE7iI%o=&;Oan2_qv}3DYxn z(#44mHvx4dVj>aOZ(c4opJ6bqCjFKkZbW@ZK^@x_d_KtY9L{q32U!j z-IM2VLr^6bzq{b6*NEcz#0eMla)vp3GwNY1h}cXo9|OVw-M2o*X;zb*i#|XbmGyx} zvXJ%5B`BPuVnjU51uQU_&4!J)kI2gYWkaWWGzSCGfLC9^w<})05ZZY4PTs*{+CdKU zRq5mDCf!H*`_QW8yf0Y?0uGWfrDSrJe=wbf%nbOt$fY$T)x*#|L(_tS(h^r&N0C-5 zU;ekz4_YxGIZLmYyz_B-JOy?CV3f;RolXnADf=Ij-lN=)1QebcTw0F-1)?SZ!G9rY zWS_p0QZyvaJvrvfEInLGp8c|g+Ufik{!)g$iU*5%WsunEA>qA=VIE|sTA%(=4#NY* znw{fcJE3b1Vp@Z@I3}J)HGC%1yU*$0woLey)>#Fd#_iT zGYc_sw2~E(Cy(9dA~khHES_x)>BLJvQi$AG-x}-)P4KN(?LbwH`vj_zbD&mV8yToX zc+`7<>lxatp)vv{f1E zR76nn-Yt9pEohuIC$m!*OSPlbQ1pe>e@E%gN+TVRV}20x%DGhO*F!z;Gc&__t6k)~ zH6Ax(sGBZjyrxz&GX{kpsXc*-%a(NviJ?DItjIv|qo%cj+d`%JKW@JqCiPSm5tS2d zZui-cO!|~uakn36IEVODK{ryoDs2D&kcR(%7eM&*=D(`JpXSIt?TMg%Vp~f1JOQI- zUe>mv_IEl%jU8XvXksWrlfFXY3R--k98KBmicZ9o`i0Y;uK!*B5o$#&eBRGr!t^E| z(nvK^&)eSGPhv^g46G2OWDvXKBDa?~AagXL`n!cVIV$X8rQiMbdPL@N5m#EvW2rno z%yh?r=0q^=Nk$#pm4EH*O)u*Q|0e&nU)~^>7=66aB%SwAUex5c=%QCee@<_mKVioA z1Qs*Z@yIAhNlU6zKdUuiR*FaP^Ju(KKMa4ox{)RcP~MebM6Ei>K?vs&Z@uyKo6i>R zy>0s2(1j9STQd5rIlhuSS@t<#`_$9TrDVGBakdtjdcl`Ki&K#j4;0It3LwcV&a&^! zYqj5FeIclAi4X^gsaO{S$<1jlUS)93pWY6)sevojM{=_`3_sR441T^=dTv6I2ky`o|${q{k@uH;}$1yv2O!N^9zAkMKQ1Yf~H~x*Xi^)ihsZ7xP&a|r zV{;@^v!%CxL*9Ey#twwLnq^6?0wl^^bD%Tt{4LT_{k0do7GW8s$JSLKw>A!%aU3UfiWgAEGoV z)RkuL%_6S|I0^Xn5P%)|$OzbU*GcqY+_w$ma~M^A$GT@1LfJe&lvAUWL~*{xOCF{C z@D*uOLo+?W|%Hp>W z@$-+o=Im&FNK{bA@>IZh_Z->L-Ykl=hj7NV9)B!%U#Vy_m_v`y9p>Kl5<$(3khw$; zljjrS$LwAfc|B8Ye(QSs;V7>LFPbLupd}|GCF7Oi?BlqP&&Bo9Ro-kF^(+8hCA&N( zZRTZ>PxdtAe$yQWH9!eEby?1ur%!0T+ zbb~%q@`rz)?-&dqO?eASn@XxZm1zq?Dkzp0kWV$Ps}#xG26Y+CUe2Yy)lp7Wc^L@! zp7pZ7KsB@ZyRAsz6th|JYSE(Z53b8Ws>5yK2V*pY&)&9g6C=}7_#T_3(X9mhGenWh zf_tSyeM#6YIU*IWxZe8DJFGEmlZ#3Ne?>8LQ{7%2+lSrX?UcHHWCcYfZO_tq!vaVm zn*2=xXWgcRlff@g{Onw5`YbMl9<n{SX8Se1{ja;$yjz=pJ?Q zVJ^17pCG<}G7)o4wwN?wW+;iwSlj<sb_DjWpV2yG+`il;y1AJJFwl9RT?286`wym6ZA1V7 literal 0 HcmV?d00001 diff --git a/emhttp/auth-request.php b/emhttp/auth-request.php index 4a82843a1..184899bb8 100644 --- a/emhttp/auth-request.php +++ b/emhttp/auth-request.php @@ -44,7 +44,14 @@ $arrWhitelist = [ '/webGui/images/green-on.png', '/webGui/images/red-on.png', '/webGui/images/yellow-on.png', - '/webGui/images/UN-logotype-gradient.svg' + '/webGui/images/UN-logotype-gradient.svg', + '/apple-touch-icon.png', + '/favicon-96x96.png', + '/favicon.ico', + '/favicon.svg', + '/web-app-manifest-192x192.png', + '/web-app-manifest-512x512.png', + '/manifest.json' ]; // Add JS files from the unraid-components directory using cache diff --git a/emhttp/favicon-96x96.png b/emhttp/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..992133c7af401736cbe995d3dad8933cfb235848 GIT binary patch literal 6525 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 literal 0 HcmV?d00001 diff --git a/emhttp/favicon.ico b/emhttp/favicon.ico index 006be742eab6b7e677aa1f828162381a00e9d49a..679fe30f2ce0a44340928ecf4c5588a6be8248ef 100644 GIT binary patch literal 15086 zcmc&*33OEFb$*1Vq+6Wjv`tf5I3Qc|-prd37P|mpKv)D~#3I&MY-Tk!5OxV8fn*l5 z#0!pTY`3SUIf+kul5l!Xo06nKkfc3L;sdU2)B?5uEu&pC+Gf#=Zom7#_dh+2W)p&R z&Uriynt#6Uzwf*EzxV#X6lH`mQpw6va38C@_qd`=RupCISo8fC6y;O=-xqM_-*5Xp zMLB^FIPe(^QP$()|9|u^8aYmD`)fy5{SHUA_owQ_`fhDoY=sBf87(<`S)a#C^?z$E=tB$k@xU#`{A}$+uZF&P~GjPqsmD@

Z_c`D!xHk*#&V1Y#w2*Tl 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 Tm+_V8Rfb>i#h>LdJof(pxK%2f literal 15086 zcmeI3TWl298OMjqVndr0uu~iX!EsWl-krT9B)$YMwjl(PPzW}}0SxBiU{jKoabw0?7y@Bk=ze0p|-hQ=Kn%KIvT9x!`fUZs&_P zkHdb&`BG=I^W{$7^pDp9`vusA^W|WRGdJjXROz$Tz*E`ofIr)FGdJ6NGu7lI<`>SEWWF+S4uy?p#y)9hpZh!Cm+0Gkj z*{(nuZ9c_}88I(|Tkxy~X!91oxqW<1%+q1-aJ>fq`Z0cWQ?Ena+?S?q>03;(wXgCV zy_e!Sb}!9SGXndKtFT|C&2KchU@tTJnVevNHXomV-R*SPJ6s!jgzNPlEB>&rRNw0R z6868UCH-#m+;-HkZ}c3$chyrnBH0Dcs!n?^H_uJX%VPaZfHohWe?9ygdOBbit~bW< zzt!i5T~kZ@L+aN4T=U#^)UcNmd)-?%BH0D(y3;p~KPOlg>t_PA_xSu9deULot z#@?~`m%v}zufZNtx7o~JJ5mn2?yV0?cG=J9wE404=fN-gnN_y}l=%E_!2f1%2kb)q z**N~K{eHML_3b+$wd{_q@%Ns9zdo#cKL|^9L3`I}?_>P=!7SpwANF_XC!dIS&tXr6 zy#)4m)y=&wb6?o~uxsi&@Nc)7zdl?JyY4*&f3%;`Y4aAp$?z~WG55o+soMua>W%?> z<9`zVQxVat`FDlA?U^>8ih0`|Xo-qRMEOq130FEK zRY7|%v-r>6FZX={|EIcS7qIJ$KkVh-2mgNf-yI6M4-8rDhnUyFEj+(~|Ce{;^EX7Y zU=PTC#(R3y;)lH)cHMVgm+W7Yzkfv@yve*iJ8EM766}A6z1>|knz2&`>`Tbut#P8M^)R)&a%dj>OJM)8yL#9f zD--iN*ahtEo+IDEe|j_v_JHhXyl3u@=TC)wiSIWe<6#)5b1d9-a0_zycJg4O{diA= zXY-tHp`WRty{|FP3wIVJAp04fRg2%;J`*+Ub+8L^;C4?R5ik83 zzOHThc;pxHn70~wD?5w1-x@JD^yP2k7j!S;gG}KK^MN+O2p>iR(8+ zn&rHl;iu;X6W8A{FdrYT4G*prA1iVFCiJDx7WJtT*5{h%<3qKf-HIPFkGbp={HFqZ z5SjXXYvEo$&3xnF6i#&erxz8 z#c~_-ug%O~O6^PZs|nA6qwT;)sKp04rdAHl#{XD`hj1MaVRHQ@^gkTcm=BBUpVQ0m z3NB6LobEch%kTiMGly>IbH5i8^G(b@8{b)=yPG*gjkp{7)76>kIM0!L%kUkp)2~ML zPlof*9w6@3@)&e0h`Gj`x8*}jb*}0Bj`kC1S2KUT&d_U!{3(;On+?U&NzT`QQ5%^z>fHB=L)jy4FpxmvZ1cj&# z3O%>8aa5KAh+w}EofMrD$TIaJU)FMPl}WMYDH6_RIruSH_$GFi z#3bL$CeJT*ZS0xlTHQ7KLD3l>Jx8uy$@pL`d0P|j?NyA29>_msY?n)}n}haeQoIZ^lx|&?JYNEDW=N-O)_vmGqFO!>3`u{7)K@XA( z9w7HxOb%v^)$#t9^8QWZU2vHk?{mhllOMltu$mlhKl#)9l+A{2J>L#AM9$-%=JW3S zGvC1!5bHUUF_H&8PY$+%9HfpMWE;n2z`Tg}&u4glIlOa?@$+QIj{l8VZ{r>Q3h(VE zbl0L=$vgYG@%zO4+fz3(n>=(D*ISBqw%nI*F^pKpJMMAV7M&B7^QO^qm-=6n3SChe Q%@Sr?gwj8@pSl0P0S2Ow+W-In diff --git a/emhttp/favicon.svg b/emhttp/favicon.svg new file mode 100644 index 000000000..1c5a2dd62 --- /dev/null +++ b/emhttp/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 1b10cfde8..33800046b 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -85,7 +85,9 @@ if (count($pages)) { - + + + "> "> "> diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php new file mode 100644 index 000000000..f30ece50f --- /dev/null +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php @@ -0,0 +1,11 @@ +checkManifestFile(); +?> + + + + + + diff --git a/emhttp/plugins/dynamix/include/ThemeHelper.php b/emhttp/plugins/dynamix/include/ThemeHelper.php index f560be970..1214fbe55 100644 --- a/emhttp/plugins/dynamix/include/ThemeHelper.php +++ b/emhttp/plugins/dynamix/include/ThemeHelper.php @@ -33,6 +33,7 @@ class ThemeHelper { private bool $lightTheme; private string $fgcolor; private bool $unlimitedWidth = false; + private string $manifestFile = '/usr/local/emhttp/manifest.json'; /** * Constructor for ThemeHelper @@ -127,6 +128,73 @@ class ThemeHelper { exec("sed -ri 's/^\.logLine\{color:#......;/.logLine{color:{$this->fgcolor};/' $docroot/plugins/dynamix.docker.manager/log.htm >/dev/null &"); } + /** + * @todo finalize and configure in createManifestFile + */ + public function getManifestThemeColor(?array $display = null): string { + // check DisplaySettings "header custom background color" + if (!empty($display) && isset($display['background'])) { + return (!str_starts_with($display['background'], '#')) + ? "#{$display['background']}" + : $display['background']; + } + // matches the default background colors for the themes...@todo: make this dynamic + $colors = [ + self::THEME_AZURE => '#e8e8e8', + self::THEME_WHITE => self::COLOR_WHITE, + self::THEME_BLACK => self::COLOR_BLACK, + self::THEME_GRAY => '#1d1b1b', + ]; + return $colors[$this->themeName] ?? self::COLOR_BLACK; + } + + /** + * @todo the api / emhttp should potentially write this / update this. So for now we'll create a simple version. + */ + public function createManifestFile(string $name = 'Unraid'): void { + $manifest = [ + 'name' => $name, + 'short_name' => $name, + 'icons' => [ + [ + 'src' => "/web-app-manifest-192x192.png", + 'sizes' => '192x192', + 'type' => 'image/png', + 'purpose' => 'maskable' + ], + [ + 'src' => "/web-app-manifest-512x512.png", + 'sizes' => '512x512', + 'type' => 'image/png', + 'purpose' => 'maskable' + ] + ], + // @todo: make colors dynamic based on theme and display settings via getManifestThemeColor. + // Needs something to prevent overkill when checking. + 'theme_color' => '#1c1c1c', + 'background_color' => '#1c1c1c', + 'display' => 'standalone', + ]; + file_put_contents($this->manifestFile, json_encode($manifest, JSON_PRETTY_PRINT)); + } + + /** + * @todo finalize to check if the manifest file exists and if it does, check if the name matches the name of the webgui + * for now we'll just create the manifest file with "Unraid" as the name and not check it. + */ + public function checkManifestFile(?string $name = ''): void { + if (file_exists($this->manifestFile) && !empty($name)) { + $manifest = json_decode(file_get_contents($this->manifestFile), true); + if ($manifest['name'] !== $name) { + $manifest['name'] = $name; + $manifest['short_name'] = $name; + file_put_contents($this->manifestFile, json_encode($manifest, JSON_PRETTY_PRINT)); + } + } else { + $this->createManifestFile($name); + } + } + /** * Get all available theme names from the themes directory * diff --git a/emhttp/web-app-manifest-192x192.png b/emhttp/web-app-manifest-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..e7694937ab93bee312da13ab8e78d396a5e6abe2 GIT binary patch literal 17519 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 literal 0 HcmV?d00001 From 10e9ffaa99fd6db1a972eb9c67846f17d49132c6 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Wed, 11 Jun 2025 13:09:01 -0700 Subject: [PATCH 3/3] refactor: make manifest json static --- emhttp/manifest.json | 21 ++++++ .../include/DefaultPageLayout/Favicon.php | 6 -- .../plugins/dynamix/include/ThemeHelper.php | 68 ------------------- 3 files changed, 21 insertions(+), 74 deletions(-) create mode 100644 emhttp/manifest.json diff --git a/emhttp/manifest.json b/emhttp/manifest.json new file mode 100644 index 000000000..cee5c5df0 --- /dev/null +++ b/emhttp/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "Unraid", + "short_name": "Unraid", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image\/png", + "purpose": "maskable" + } + ], + "theme_color": "#1c1c1c", + "background_color": "#1c1c1c", + "display": "standalone" +} diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php index f30ece50f..830ff7f11 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/Favicon.php @@ -1,9 +1,3 @@ -checkManifestFile(); -?> - diff --git a/emhttp/plugins/dynamix/include/ThemeHelper.php b/emhttp/plugins/dynamix/include/ThemeHelper.php index 1214fbe55..f560be970 100644 --- a/emhttp/plugins/dynamix/include/ThemeHelper.php +++ b/emhttp/plugins/dynamix/include/ThemeHelper.php @@ -33,7 +33,6 @@ class ThemeHelper { private bool $lightTheme; private string $fgcolor; private bool $unlimitedWidth = false; - private string $manifestFile = '/usr/local/emhttp/manifest.json'; /** * Constructor for ThemeHelper @@ -128,73 +127,6 @@ class ThemeHelper { exec("sed -ri 's/^\.logLine\{color:#......;/.logLine{color:{$this->fgcolor};/' $docroot/plugins/dynamix.docker.manager/log.htm >/dev/null &"); } - /** - * @todo finalize and configure in createManifestFile - */ - public function getManifestThemeColor(?array $display = null): string { - // check DisplaySettings "header custom background color" - if (!empty($display) && isset($display['background'])) { - return (!str_starts_with($display['background'], '#')) - ? "#{$display['background']}" - : $display['background']; - } - // matches the default background colors for the themes...@todo: make this dynamic - $colors = [ - self::THEME_AZURE => '#e8e8e8', - self::THEME_WHITE => self::COLOR_WHITE, - self::THEME_BLACK => self::COLOR_BLACK, - self::THEME_GRAY => '#1d1b1b', - ]; - return $colors[$this->themeName] ?? self::COLOR_BLACK; - } - - /** - * @todo the api / emhttp should potentially write this / update this. So for now we'll create a simple version. - */ - public function createManifestFile(string $name = 'Unraid'): void { - $manifest = [ - 'name' => $name, - 'short_name' => $name, - 'icons' => [ - [ - 'src' => "/web-app-manifest-192x192.png", - 'sizes' => '192x192', - 'type' => 'image/png', - 'purpose' => 'maskable' - ], - [ - 'src' => "/web-app-manifest-512x512.png", - 'sizes' => '512x512', - 'type' => 'image/png', - 'purpose' => 'maskable' - ] - ], - // @todo: make colors dynamic based on theme and display settings via getManifestThemeColor. - // Needs something to prevent overkill when checking. - 'theme_color' => '#1c1c1c', - 'background_color' => '#1c1c1c', - 'display' => 'standalone', - ]; - file_put_contents($this->manifestFile, json_encode($manifest, JSON_PRETTY_PRINT)); - } - - /** - * @todo finalize to check if the manifest file exists and if it does, check if the name matches the name of the webgui - * for now we'll just create the manifest file with "Unraid" as the name and not check it. - */ - public function checkManifestFile(?string $name = ''): void { - if (file_exists($this->manifestFile) && !empty($name)) { - $manifest = json_decode(file_get_contents($this->manifestFile), true); - if ($manifest['name'] !== $name) { - $manifest['name'] = $name; - $manifest['short_name'] = $name; - file_put_contents($this->manifestFile, json_encode($manifest, JSON_PRETTY_PRINT)); - } - } else { - $this->createManifestFile($name); - } - } - /** * Get all available theme names from the themes directory *