From 5707f97089f35db87d7b63e7947508c57c510814 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Wed, 7 Oct 2026 10:39:22 +0200 Subject: [PATCH] fix(admin): add favicon and page-aware titles --- admin/index.html | 1 + admin/public/favicon.ico | Bin 0 -> 15086 bytes admin/src/App.vue | 7 ++++- admin/src/app/pageTitle.ts | 42 ++++++++++++++++++++++++++++ admin/tests/app/pageTitle.test.ts | 42 ++++++++++++++++++++++++++++ admin/tests/views/App.test.ts | 3 ++ modules/boardwalk/boardwalk.go | 1 + modules/boardwalk/boardwalk_test.go | 6 +++- 8 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 admin/public/favicon.ico create mode 100644 admin/src/app/pageTitle.ts create mode 100644 admin/tests/app/pageTitle.test.ts diff --git a/admin/index.html b/admin/index.html index 30bc6ca..6f6edfd 100644 --- a/admin/index.html +++ b/admin/index.html @@ -5,6 +5,7 @@ + SummerCMS diff --git a/admin/public/favicon.ico b/admin/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..624afe692775b990f00bf6e063adbe0c53ad1e43 GIT binary patch literal 15086 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�P%ZHsM(|%CCre#DUL6h+F=C~}!`LT=S%Eme1)U8j5chmTl4VK)1~JACsF%W$Q8Hrn4M`Hd-zQI95|sHlzaw@T+3&z>6P?sc>w$h zd+BInih=F5b5 z$PBf}%?54%UEShFA;`yx++vrc=kXWtUEj0!u+h@5^5B%51tBRp$r$MT zpzkxETqYj+!}w1h@|W4cHheoD=nelI`B_t;U+Qb>c=~bgFsv&NNPTr^IerUGdN!xS zD~X%JR|h;ed<}T+4sC8Rq!pTPuR57HD*3i}D4`BIEujKk6?# z(ACJG2fZ$b()9ecB+CP%?^3|t+YVTpjPV@0-=OQNOVt0sttNe5A_s`J=yy3|*6_Qp zXnax@`OP_3uYcUrY2FLY>Nj5*N6nVT%76N#)va4%=s@TKumb$Y!=T?5au~CZ?2u!y z9p?sINZ{W*8GJvVu!Wd{pL~|> zhkbP3l_Hy6s8-A=kti(f^~RBp-#$Ue7o5$V^|`Z8He%tpWr`!`|p07g&)3yEbdRrM#P&bAl50cEI}5)Z|fAW zmVfdyVOo$;bm_&=ZZq`!6z z)ms`bw_0^YZoU0BS#P~X%Jqq4z4?|*iFvKb^n>JhQB$E-@LCJxYRT$Y?gq=g0u92NV4-(7779<{osLYvm4 z!k%fTZAos92Q#nQN54x~!olq}s)>pZKS03LZ2k&17&+D?PD<3K#;YZP*93FD!X2I8Qmx! zbIHvY$t~)Jk8^b9Ce`u$R3-Ky2cVy7jJ`qamDBC3!?`{JkJu0IyscDH&QY`D(RVK# z_oYWWZisK)^wi@nO_K`ldR)*JTJ2)(0E~58!|}u(DzU#xx0fml<4W`qEl#N=>qQ!N zJuT%mO!#u$`^3ZGMn~^Z%a2R}sW~fbE+NNyn@b}wp7BFJ(kTyp6d?BgAm_v#&uP?R z&qm{m4|fGZ=K6bYP}`L!spa9@ChgNc-fVuSB-0&(fYt9=GXs6T*k92X-;F|f)81lV z9QO2hC#ZA%Z@hcZXiu_lv)xyz%eB|k;bCFL&M2?lowt!Lkk|VT^3ShXy&k!U)xeBb zTUh>-9>=q#p54Ji2BVbC>ilM_N5Cee8<7_YcAADThF{79}UCr#-GxZg9xt^owm;7AbAJ^!|oQB?g?bi!s2W1w- z4axejqit5nEx#=F`>-ePe(sa;DQ72s3%~!$wfEI*-$4)aDfE7xJUHzQg*?ia^||$u zhCO;q+qWE}(B$V$2IJk3tb$d+*#)sfaUGhF?bPY|>*~X9=TN^pZ)nK#0{M{aPZW&r z2Hbr^eFcxST)l|2SF+)$FKKjQCJjw_(Fh0_oA{K5#HLfX%bC>g<}1B^DLL}NPu^4L M<9E=*|J(6@07kO9{r~^~ literal 0 HcmV?d00001 diff --git a/admin/src/App.vue b/admin/src/App.vue index d9f58b8..c22063c 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -1,10 +1,15 @@