From 6e5c466e576a23b4beb6580a746c47a0e5d2b51e Mon Sep 17 00:00:00 2001 From: Colin Darie Date: Mon, 11 Sep 2023 17:41:54 +0200 Subject: [PATCH] style: update favicons with chart color, apple touch icon and shortcuts names --- app/assets/images/favicons/16x16.png | Bin 466 -> 480 bytes app/assets/images/favicons/32x32.png | Bin 889 -> 878 bytes app/assets/images/favicons/96x96.png | Bin 2557 -> 2815 bytes .../images/favicons/apple-touch-icon.png | Bin 0 -> 2837 bytes app/views/graphql/playground.html.haml | 6 +++--- app/views/layouts/_favicons.html.haml | 5 +++++ app/views/layouts/application.html.haml | 6 +++--- app/views/layouts/component_preview.html.haml | 6 +++--- app/views/layouts/print.html.haml | 6 +++--- config/env.example.optional | 3 +++ config/initializers/images.rb | 9 ++++++--- 11 files changed, 26 insertions(+), 15 deletions(-) create mode 100644 app/assets/images/favicons/apple-touch-icon.png create mode 100644 app/views/layouts/_favicons.html.haml diff --git a/app/assets/images/favicons/16x16.png b/app/assets/images/favicons/16x16.png index c73712dba80395a62963b701b7fd25623182e474..ed096c4e0c0d22ceccb340e481deb1716604179e 100644 GIT binary patch delta 454 zcmV;%0XhEC1K11ruqyx_ zUWT`Itv#w@pDOYK?nNv6Wa~xIH%r0!)E^2jd&=W29Ro|X3Qq>j2Fa6T0I{lItSzAN z8Of)JdL7_NGk>kS%l80&)Tr>J(5R29NHzcuX}>j~kQR-yY4k{tfBiV|6&`(rTPZb3c%-OJAjX=3oun+_mm}lmc!j w@T<0UM{i@AxlX4~SwYpUPup4s=6av01QbLWJv>O(^Z)<=07*qoM6N<$f)*0r5&!@I delta 440 zcmV;p0Z0De1JVPKB!8JnL_t(|0o_sq>=t1hzHD1_8soh9-euR+j@htcIcAJ2o)|*aWI|xoOyM^ciD}Kv`55cdy0?co+KXaHO_1b z8SYOpI*tz0eSZmaa8tvNdN9E=!;c%JCU73W8q!D;{~UXTBLU9wq=*Vgb8K-;h@541oA!cXf^)?iuc%x>a4nM+|sL{Bd<3Eo>u`QN0x^( zsCS}cm#tGjrHuQrlUoGs6O+B=J=|q`Tt9JSyLUKq#4-Ds{6*M_oYA ief|%{Z=YN(x7Ht2-SKvasV@=$0000FDa|d@KTF9{y zFO&F{m6(6AU4KC02Ua9XSu)Nacvfux&UZ01{TF@G6S2zQcf~p@5~a*NRWFfvoNl4v z3jD`Rb|FeJuvis6kG0p6HK;i^ww>7{uBwT+`D*Lk$+}Bcrh@708iJ>jc!jPR#d(fm zDziDKUtDoW#7$$Z*Ks9X$l8djNjwn(FOxW#tirvS$bTHp857+)MWmdy{g^-vXHm@P zvn8`B4}qVlW7~|Pjj5!8%jrxI*7F>}^tler=(QB1s0)EVsbRB>qNAy0CVRB;09%bp z64#S2(Q8qvNFnesi32h=pc}W6_?wNI3}1qeNW9L_j9zOpg-IcB6Ny{NWfb<~aT33c zitg)0+<�wRcE-#!^H^pW{e;90J=il`@tit9S^{x)oD-^!{tRIO>~-o07G!ScxEO zCqAT+(_-$u`z(q3=|+_DLkt=ASuFfUoXr zT6_a^V-uccPQ*<$edCIIevUzxRYtGLb8pX&*qz=4Il8kR4={^4TtLT`8<1yrej_o9 zZ+MhDd6%gq$~Z3KwyypusNaR}Xk<2@a}W3PF_TG*;uN}+`XE`7%lL&kq`B%T<0e)h z*HGf(8o{~zLJeuII?A|{HOZIwB7(Wi2eSzWb2K}#D20sAu_0{5ksQu8EJE@B5pI&v h9}m0(MjbHf007+FQmo=@h{ON@002ovPDHLkV1kium|y?^ delta 866 zcmV-o1D*Wt2Kfe%B!56jL_t(|0b&>hqhJ(_0sv#x0PZ*!M1R}1ZDWn}t!=fr>9cLy zOxCvd!`ilO+q+5o{ATB-cTpsL{k|&q&YUx6r1dgXSU%t+OA03{Te%AP23Mg}bE13# z|BvCM%4UxD!EAm5Oe743kQHDgH(&@~4MzS9e$U2t9{_l~(SP8aq=X@$(zZedtv3=` zz>TQ?vi??P(oGav|GfKdoSMXsvnlq4blYJ#_wEdDld#cGf&K3exY zhRN^rF1fOBzkgqv3S4UxtW;*L`;-upSYRVTE`YD^J5HB64TaY+$G0f~N<>d3jO=Bb zq&!?Uhl8o`L<6Rb=-PODKaJpf8Hu4Tq*o$svdioA3I>9Lo<%3Cn4_cqd52P2y6QN| z+EbUr5aBPhtD^;qgkE*b{c7sSAXZGHjyr*ew6mnVQH^Aieqg?=^Qo@S&mSK3+*V;b#bej($$uR}h)Ipz_ z@Qh9&)v)MO9M5T&Ac-q19bA?PLse%x^eIMzZOCBbCfVGxxew5>XfvVKG*=0r;( z&Wx)n(ek^u&Uweod1M!?1rs6az~TMh1D^jI|EJ-Z!tPuILVj?+kVLsJf?sm84VQNq zQCsz;Z5xsSv>x1S!=>2DA2oU<_mSWwx{&Bb#E6g59>+ZI!%81TH>8UZ{R(YUd@n?> s6O<6jy$k;jr^R<~41*Pnf>AIE0EA@4=7Bk50{{R307*qoM6N<$g5VIOW&i*H diff --git a/app/assets/images/favicons/96x96.png b/app/assets/images/favicons/96x96.png index a4d73f1d7fe22f6040d9dab3fcaddae339916782..fa679a50cc9ba7fc0b635ccf859e553771cbaed3 100644 GIT binary patch literal 2815 zcmYjTc{tQ-8-9&_EE!`f3_{47$(FK=F_vU0q_TyGYzZl{WjRKlAr+FXRHLjXbdboB z{U9mjWH+dcB_hkr_nY5*r|Y|}XWn_A_qp%;xu195KPJW2+Kdmm4+#L^voOb>gudMw zA1+pC9VR401y*2dWp8R0Yz06j0O@o9Ccqv5GN3&i8Iz1O4LXMb^a;TK|5fPxGozF~ z1^C8+FuW0(WMCL{2n+?J09B#%JpkhX37t$c(z{dtgF(HZE(|178K%bo@E`ab>dugw z0s;_VoM8s?nE}iGc5)l0FxN~7342Z-1t@ryOemcIys&u291vy7!liVkH;4{XG9XL8 z_skO}i|GO0LuMct3O3KM0qOi61m-dnm@VMGO#je~Bqjwep`aBaGU*Tu4*n@12sdI} z2n>Vf<(UM0%wd1yp%Qb(F(3fpVV{iOju}uo2KbmBm^#d%0D$g?foJMKCFn9CFqHla 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 diff --git a/app/assets/images/favicons/apple-touch-icon.png b/app/assets/images/favicons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc28ab04135b974dfa6a32ad03e6944fa5326f9f GIT binary patch literal 2837 zcmV+w3+nWVP)0{{R3FC5Sl00093P)t-s|NsB{ z`~BzV^w`+$%F5`!zvH;L;Jm!z$jImJ?)U!w{{H#-`{m~O)YkaL$o9Ft`OVM!-rxQ2 z@9^;W!ouW@jm~0XyFo#%D=VWI7@G+RlmP&d1qG897Md(9q)ADzb92M3t=s12^!@hs z`qkI-nV#%pZ0J5o<|8lT5+C6K58(n3;tw6FV^UuIp7_CngRaLbb8k|~MxBTbm@|2qBLQUcd809E5_{hum_xnpru?q{95fPaE@$vMhtnYDo z+S>1IY`-5Lo`8VJ_{+}gSz_W18|ExH`uhB`vfTm#kplygLqn~)y5ao%{qm8Q>|SRG z2$UTiojW_KV`ICCiOiv)*0i+VkdV*m>Gk6jA?Q0s^|H3_eT3#NI_Ee;_r1XW{QT_f z_IG#0S68-{meJDE>!zmIQBkze(CYN4t>q>%{O#`WfQJVMl*h;B@$vYuu-y3g`~2$b z^{%q>prv15x=Kp0@X^`qTxH<|5~!%zB_*Le4SUERJNCN1{`mO&ql+-|&Tu{OIX^e#fMw*YSvsH#e!y z>CT@A>)s-rn%}&(R|zpy@+SnVHl2+}X;*34+4t%+1uFw6L}000000*d?Z1YHNMuDNZhein)1s`S|(y`2+-oxM=DqVG&U= zaS2H&X=xc*Ie7&|B}P1|l~q*L)HO7?`55Xp7cT#VfeGL+!n-t-HIsEAH;=`)u8JGygjYm6>!V;rD5E&Uda(rnkmb%rj=D zb5)@kBR$|InOOs}8`b2~pgwC(ZXOgK`N0j7gog44k_%$t7V+NQm|fwl*>mR3Yo9xR z!5setW|uU*NYr)HkYq=u;*#h-H{Mv0ds!ZD4cj+{I9A}o*aj=mY}pYN&V`{nO>oViKwm}@cD2n!W81dw_O;jPT~=Pfg%Q!Q z5*nMluB1Zw`3|@wbFMOu{+01)PSJuYrL%wjOL^?Ds9UPh45_A8sWhbyuIS+>hH=7L zsOh+-kTF*8bL(yPx^7Q|it1El%?8~JZ% zjLwEQt>8YdQRc&hP%6l-q6-EiXZCzM=IKJ_%5 zc;Fc>d-gdPQ`CjY?py^YJklQJlUl^SSCtgga9p!cjhP*^O!K5Beb43pmxn922 zhb2`?&=&Vf7_H3fVT9+aO!mRmJKKK%T6W4~89Ekv9i#{BJ_HRrhBoMn zk|~|#9EOG?#oVSZ^xAxs*#t^ZSC=Ak4Y>{u?LH7E?200&dydZXW6�J}0fmq3-%; zIf*&}Lbje{GV7_+P&Ii7w^x*z$r(<99zz4>(cPGAqIV|Lm_DQ{2J|{k z7qPY)8<@DSM$SMZtyYR_Nw?8vs9DHmMuQ!In$mEwAYViiTUIc#|18vOyjHM@E5qO;z18IbU^GF)`vWy#vDzrEzoPLe7CUfZNV-! zymm4Oxg*Di$u1s-syN#EpMhTOX32MpJy2(UQB1SsjlJM-_*F*UTMKoTAiDS%eL-50 z2X)oAixWJ2Y&8^T$5@%{Xa@=E9*f{MGoe@ft90M*seRWMTSmxO6G-d3vc=73v;+;M z^p_t)w^MZCpARjGm+Z-^sjs_ynQY+7R?r|tQ`I}5+ulNEvpf%4uDcX^b!R>A67zo2 zf=paNsKlmIpJXcP+_&Ey+xZ>~xMzZfbzO1>~HGNh#Bb)B}C6Wsj&!&2y33KnX5u6Oay%$`w>Q^Ro z52*B%&_L^z`?HylaHR-0$>StT9`ZnSqgXe8oDs^&urv?2YVE65`?I_JcEA&gL#uw< zU&s_6%o`8Dk`}@hAwxa^-D>gBO&#Vc{&wI65)~R*B<8!L4 zOyL{Q5whx-_1rEwsCGx}1`o@T2l78GN#}OOZ^pqLiuU+12cPZ(lcr6ZHIT|8v%W8a zVE*G$GPes$9}y7|F(RD0BB2*{nBX3Vw(hqwb(;dbTESs*pOi4JF1_G-xQ%r8^pi}5 z&wIy<(7@8(uZ-X-DoRrSggfQ6J$2NVHRb!ko;GNr`lm}HLYr%AaefWltyP=3T@qMB z-GB8y*b2>wyWy240~#?ib-RRXp|#iCH6QpT*qZaPCM4|-{OGLugQ{a=%2SGyZRx^> zg$#}C8}rAXxMrk7Mg1y&+Y=bLe8K1gr}LoAlvuZO-|xTwzHj7@fBb3st35cN0RR9% n7-av{_V|DS0000006^OTR{wW{`u~r200000NkvXXu0mjf@z>Tj literal 0 HcmV?d00001 diff --git a/app/views/graphql/playground.html.haml b/app/views/graphql/playground.html.haml index 1f2a5dad6..c45cd4fb1 100644 --- a/app/views/graphql/playground.html.haml +++ b/app/views/graphql/playground.html.haml @@ -4,14 +4,14 @@ %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } + %meta{ name: "application-name", content: APPLICATION_NAME } + %meta{ name: "apple-mobile-web-app-title", content: APPLICATION_NAME } = csrf_meta_tags %title = content_for?(:title) ? "#{yield(:title)} · #{APPLICATION_NAME}" : APPLICATION_NAME - = favicon_link_tag(image_url("#{FAVICON_16PX_SRC}"), type: "image/png", sizes: "16x16") - = favicon_link_tag(image_url("#{FAVICON_32PX_SRC}"), type: "image/png", sizes: "32x32") - = favicon_link_tag(image_url("#{FAVICON_96PX_SRC}"), type: "image/png", sizes: "96x96") + = render partial: "layouts/favicons" = vite_client_tag = vite_typescript_tag 'playground' diff --git a/app/views/layouts/_favicons.html.haml b/app/views/layouts/_favicons.html.haml new file mode 100644 index 000000000..4c2ba2744 --- /dev/null +++ b/app/views/layouts/_favicons.html.haml @@ -0,0 +1,5 @@ += favicon_link_tag(image_url(FAVICONS_SRC["16px"]), type: "image/png", sizes: "16x16") if FAVICONS_SRC.key?("16px") += favicon_link_tag(image_url(FAVICONS_SRC["32px"]), type: "image/png", sizes: "32x32") if FAVICONS_SRC.key?("32px") += favicon_link_tag(image_url(FAVICONS_SRC["96px"]), type: "image/png", sizes: "96x96") if FAVICONS_SRC.key?("96px") += favicon_link_tag(image_url(FAVICONS_SRC["apple_touch"]), type: nil, sizes: "152x152", rel: "apple-touch-icon") if FAVICONS_SRC.key?("apple_touch") +%meta{ name: "theme-color", content: "#ffffff" } diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 281018841..932431329 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -4,14 +4,14 @@ %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } + %meta{ name: "application-name", content: APPLICATION_NAME } + %meta{ name: "apple-mobile-web-app-title", content: APPLICATION_NAME } = csrf_meta_tags %title = content_for?(:title) ? "#{sanitize(yield(:title))} · #{APPLICATION_NAME}" : APPLICATION_NAME - = favicon_link_tag(image_url("#{FAVICON_16PX_SRC}"), type: "image/png", sizes: "16x16") - = favicon_link_tag(image_url("#{FAVICON_32PX_SRC}"), type: "image/png", sizes: "32x32") - = favicon_link_tag(image_url("#{FAVICON_96PX_SRC}"), type: "image/png", sizes: "96x96") + = render partial: "layouts/favicons" = Gon::Base.render_data(camel_case: true, init: true, nonce: request.content_security_policy_nonce) diff --git a/app/views/layouts/component_preview.html.haml b/app/views/layouts/component_preview.html.haml index 82fcf217c..da52c5d1f 100644 --- a/app/views/layouts/component_preview.html.haml +++ b/app/views/layouts/component_preview.html.haml @@ -4,14 +4,14 @@ %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } + %meta{ name: "application-name", content: APPLICATION_NAME } + %meta{ name: "apple-mobile-web-app-title", content: APPLICATION_NAME } = csrf_meta_tags %title = content_for?(:title) ? "#{yield(:title)} · #{APPLICATION_NAME}" : APPLICATION_NAME - = favicon_link_tag(image_url("#{FAVICON_16PX_SRC}"), type: "image/png", sizes: "16x16") - = favicon_link_tag(image_url("#{FAVICON_32PX_SRC}"), type: "image/png", sizes: "32x32") - = favicon_link_tag(image_url("#{FAVICON_96PX_SRC}"), type: "image/png", sizes: "96x96") + = render partial: "layouts/favicons" = vite_client_tag = vite_javascript_tag 'application' diff --git a/app/views/layouts/print.html.haml b/app/views/layouts/print.html.haml index 5b3baa7b0..2de782bd2 100644 --- a/app/views/layouts/print.html.haml +++ b/app/views/layouts/print.html.haml @@ -3,14 +3,14 @@ %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } + %meta{ name: "application-name", content: APPLICATION_NAME } + %meta{ name: "apple-mobile-web-app-title", content: APPLICATION_NAME } = csrf_meta_tags %title = t("dynamics.page_title") - = favicon_link_tag(image_url("#{FAVICON_16PX_SRC}"), type: "image/png", sizes: "16x16") - = favicon_link_tag(image_url("#{FAVICON_32PX_SRC}"), type: "image/png", sizes: "32x32") - = favicon_link_tag(image_url("#{FAVICON_96PX_SRC}"), type: "image/png", sizes: "96x96") + = render partial: "layouts/favicons" %body = yield diff --git a/config/env.example.optional b/config/env.example.optional index 8935825e9..c9d341df6 100644 --- a/config/env.example.optional +++ b/config/env.example.optional @@ -46,9 +46,12 @@ DS_ENV="staging" # STATUS_PAGE_URL="" # Instance customization: Favicons ---> to be put in "app/assets/images" +# Search "real favicon generator" to find websites generating all these formats from a single image source. +# An empty string disable the icon if you don't care. # FAVICON_16PX_SRC="favicons/16x16.png" # FAVICON_32PX_SRC="favicons/32x32.png" # FAVICON_96PX_SRC="favicons/96x96.png" +# FAVICON_APPLE_TOUCH_152PX_SRC="favicons/apple-touch-icon.png" # Instance customization: Application logo ---> to be put in "app/assets/images" # HEADER_LOGO_SRC="marianne.png" diff --git a/config/initializers/images.rb b/config/initializers/images.rb index 161c9fc24..9bf0804dc 100644 --- a/config/initializers/images.rb +++ b/config/initializers/images.rb @@ -1,7 +1,10 @@ # Favicons -FAVICON_16PX_SRC = ENV.fetch("FAVICON_16PX_SRC", "favicons/16x16.png") -FAVICON_32PX_SRC = ENV.fetch("FAVICON_32PX_SRC", "favicons/32x32.png") -FAVICON_96PX_SRC = ENV.fetch("FAVICON_96PX_SRC", "favicons/96x96.png") +FAVICONS_SRC = { + "16px" => ENV.fetch("FAVICON_16PX_SRC", "favicons/16x16.png"), + "32px" => ENV.fetch("FAVICON_32PX_SRC", "favicons/32x32.png"), + "96px" => ENV.fetch("FAVICON_96PX_SRC", "favicons/96x96.png"), + "apple_touch" => ENV.fetch("FAVICON_APPLE_TOUCH_152PX_SRC", "favicons/apple-touch-icon.png") +}.compact_blank.freeze # Header logo HEADER_LOGO_SRC = ENV.fetch("HEADER_LOGO_SRC", "marianne.png")