From 15f55e6f0aab25f64cb797264a9f203ba452923c Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Tue, 1 Sep 2026 10:37:10 +0200 Subject: [PATCH] :tada: Add favicon for each enviroment --- docker/images/files/nginx-entrypoint.sh | 6 ++++++ frontend/resources/images/favicon-develop.png | Bin 0 -> 1976 bytes frontend/resources/images/favicon-local.png | Bin 0 -> 1973 bytes frontend/resources/images/favicon-staging.png | Bin 0 -> 2316 bytes frontend/resources/images/favicon-tokens.png | Bin 0 -> 1855 bytes frontend/resources/templates/challenge.mustache | 2 +- frontend/resources/templates/index.mustache | 2 +- frontend/resources/templates/rasterizer.mustache | 2 +- frontend/resources/templates/render.mustache | 2 +- 9 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 frontend/resources/images/favicon-develop.png create mode 100644 frontend/resources/images/favicon-local.png create mode 100644 frontend/resources/images/favicon-staging.png create mode 100644 frontend/resources/images/favicon-tokens.png diff --git a/docker/images/files/nginx-entrypoint.sh b/docker/images/files/nginx-entrypoint.sh index 47a8a5544b..1b680f8d16 100644 --- a/docker/images/files/nginx-entrypoint.sh +++ b/docker/images/files/nginx-entrypoint.sh @@ -44,8 +44,14 @@ update_oidc_name() { fi } +update_favicon() { + local favicon="${PENPOT_FAVICON:-favicon.png}" + find /var/www/app -maxdepth 1 -name "*.html" -o -name "*.svg" 2>/dev/null | xargs -r sed -i "s|__PENPOT_FAVICON__|$favicon|g" +} + update_flags /var/www/app/js/config.js update_oidc_name /var/www/app/js/config.js +update_favicon ######################################### ## Nginx Config diff --git a/frontend/resources/images/favicon-develop.png b/frontend/resources/images/favicon-develop.png new file mode 100644 index 0000000000000000000000000000000000000000..1a86cd1cac3d3eaf1a4ff9adb0c39d54f9af8f9f GIT binary patch literal 1976 zcmV;p2S@mcP)c_Zx?FJ5eHY@`uhUtize-cBRH<+=3e^TPRbuu&}T&H#bLPXlSUW zrlzE%gvWaD-~rEl_UzeUFlZHyMx#8pv{79I8X6iB1Yk~MaBvWN$Y|Kcd-v|m&(GJ_ z*SEH|Dt&l*dU}*5Seen$Q5t=HeN9bGWd@*!(P!6TNa#Fu>XZn7{P+=J>%_Bp5GXG% zmp{=r5$NshZEI_j(WrWjW9gU5R*nO-& zhFkq*z7sqFI!32ZMc~z|R|v3%Ty7O>Zf=G@4Q`ieXQqMnilJ;MA(MLL%9Vgq7xqJ-D4U%zzeQdd_O%(NHU1WQOye}BIjNpRui%a{4}@#DuV7Y*|gaB?){ z(QT{05i!#YE*nTMEUa2uT12BvU<~kSi;Ii62kA-0%8FPlrgUJ(DxyxN0<$c4 z@7`60vY7&`#?H7;>@vub3gh)xpVK+*og0Lv+Na!do8K`T- zRCITH%pDbNs=f8cuC6=NC)Vx#dAJ&zZ}$AyDPHTSM~InNF`%+S{D+V+W~koybLa10 zLRH&a-cii}%cg_Q27y4};>C;7Mq}^XxkKZ|jT@%G!-o$sk199NAV%P$^)`VEHeb?A z2Q6XB@x9A5?#``wfb1=PRt}mG3CwYnVx98>ZcWV1w#@Q%Cc~UD3WgY;OW3CJjX48E zSi~s!v;Qp`l2u&`=~+XebgZG!%&y8j8dU4Mk#whRnoB+)~TTW0BShIW>^}xVRwm8#HhA zV`F2y&xgZds$`Lkin#JA_fe86tpFmM75n@9)S$_qXL(8~C9%rN%AuhlvzQINM~@zn zWMAs(c^L@UIHa2qsnQCuSS%WiLdkmeU5foYWUA3p5~B_#hdP;|+1c55@7^inIPbWD z-rio)GS$`9Dwm)f1Eqv>POYu2ZEbB7kkeP{GN>XK`~CjDzCOm9pP#2nBK;Evy1Kfc zhk$Y$)N2+N7FZ=~XM1~lOG`^eN`kDiR6-AQbaYtnCuKgZ`=tkUGZe%+g8~~fsF!|2 z_b?$S0~#X7%ITajz>T48`v8v|utVYHI|UQAb>2>Wj4cZX3f`-$tI(6e=*vHcXM-dV`C#$cye-5zD$vC8z2@6g&GRn9d=Ys zPj=?;+`Rx7#2&+goAt3=2V#Oh0RRC1{|ZxXwEzGB21!IgR09BfX&nQ$=($4x0000< KMNUMnLSTaLD7upX literal 0 HcmV?d00001 diff --git a/frontend/resources/images/favicon-local.png b/frontend/resources/images/favicon-local.png new file mode 100644 index 0000000000000000000000000000000000000000..3e556a34ae34ceaabb09c330723fa8876855ea1e GIT binary patch literal 1973 zcmV;m2TJ&fP)5xhlAi$>F6Vq#*_G;K)JwCQJP`W4#m)3k5fH%3FEA~D_( zMMULZ?y#`jS+>8t&FboE6%55H7&bOGdMq#-6&T56^39t!FJHb~Utd?j5QtbRm3sgF{q*$o z#Kgql;GhZ&E;2SYHa9oNWx2QtfI!5irl#J$eJkx(uU^g0&Sn@qGcyy9$1@Dz=iS}i z((dc)o1C0f0pOq5%F4>~=g;juFJ8P@TU*<4Fro!>WDLEz zTU))oy>PR4E-Wm(d-ra;2+>17Hik9XQO4-$@9$@Ty_09eEx3{Lg;M1UBO@b2Lqjy$ z+S(2tJXlmz#I(A)x|nxOO-)^0oqh25_&D>HHloXbBS(%n2Ed%gwQJX~hg=QYc>n(W z;o;%h+S(H*PAGGfoI7_;8G@C0`0yc(mX?-=hK5oL(8K7Xbr=#l_wL;*gO`?;7;Jy= zC=Ubn?Aaq9kvAD|{`~oqCr`@N4jed8R#rA{fycCe|9)i%V^Ks&L>cPq>zRlBt5_@+ ziA1pbSbq$+`p({Rtz#8&%`>^B3kHen^w@as)8DK1mHS4uMeerW~ zaq+2Br}R_T_^$E$KRSN@tNTv`m5K6ybaa&d8#iv0mzOJRwME8Y5{*XnfQuI|I!w^&D8d|}11h(u{%3|Isf3ilvA z=~&sZy1J@N;L|E*0J=xqxVX4T8v}qzKyK{=kTE)02hlyO&gILO^|zQ-9?kXZ*BK@~ z7*b4#GDP^qu!op6X~U2ZX~$uem6Z~yFxVdQ@)2V6Xkz>J?NjCmpO_t!7E~^fMPkQ} z9mA|i8$;63(Lv+p&6|3_rI+=&=RJ6x_7C;-MKXr@NV%v zIcTm(V2+~{>zosCYhrHH(&Ki<<(Y964DrCg04`PK8bcO{uyFnOG>5TuAT2S32X8}A zi(S^8MlLd3;Gl`K@eqGoIC}Kx>C>m_Oh+#*F&tuNXQ#d>4~hT8xGF~=f`bgAi1^^v z#NOVzb&GI$$MNp!i<4ysaQN_Hqfjjyz#72~lY{qX(~xwCNH&f3=(j2taHJtz;co8nMMU2!7hoGkM8-ndJDH4^9H#q|v_9u(NkXsapk*{cw4xzrT z4AC>w-80)`^b_+;uyWb|HdQzAx5F2oE8qAnl`$^K14&{sx$ zfUN7CJ9q47-=)}}p?r~+7}-BL)X5VX931@k@uRXTsP7-aJ$IA6r%s3W{r8~fbqGEw)T)leL@w$OP z4%i{^@}7dmr|M>9d6hC?rTpdYSsXY}2b-Fjf}Rv6M=kiMq)-anUXcl23iMx;;NBF! zBasMJm@=PKz~tQqkF~F4GHI`&3AA6)?^^gn&}s{nNS-V65PIS|XDn1yR7kaQ`xM0~ z>Bk{JQH4?{rND5?NR;_lI^2W2)gUf`;ySKR4$sLOA<8-}h!#2CWa76X!20BNa1;f9 zN7DhLL#aNF+;~Lzg+DpKgSSD=SR58`$6>yY+<2Wv=qu&`u8*bDZ#;sgrY1RZlhx8@ z)=RaxK6H$TK|APxM{Ydg9{>OV|NrzTRRaJ300v1!K~w_(QOX)Uv96}|00000NkvXX Hu0mjf!l1k8 literal 0 HcmV?d00001 diff --git a/frontend/resources/images/favicon-staging.png b/frontend/resources/images/favicon-staging.png new file mode 100644 index 0000000000000000000000000000000000000000..237d929fb8778125d1d839e8867d4c6ca6313e3d GIT binary patch literal 2316 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 tAtv|}00960vZsYo00006Nkl Penpot - Challenge - + diff --git a/frontend/resources/templates/rasterizer.mustache b/frontend/resources/templates/rasterizer.mustache index 6a3d815e29..f19c64f8ac 100644 --- a/frontend/resources/templates/rasterizer.mustache +++ b/frontend/resources/templates/rasterizer.mustache @@ -3,7 +3,7 @@ Penpot - Rasterizer - +