From 9f0155443c57663c9d358f86668a3c051b59b20a Mon Sep 17 00:00:00 2001 From: Samori Gorse Date: Thu, 16 Jan 2025 16:41:14 +0100 Subject: [PATCH 01/19] Initial commit --- embedded/admin/static/img/logo.png | Bin 0 -> 8835 bytes embedded/admin/templates/admin_index.tmpl | 142 +++++++++----- .../templates/includes/admin_footer.tmpl | 3 +- .../templates/includes/admin_header.tmpl | 174 +++++++++++------- frontend/dev/index.html | 18 +- frontend/index.html | 20 +- frontend/public/logo.png | Bin 0 -> 8835 bytes frontend/src/app.css | 28 +-- frontend/tailwind.config.ts | 1 + handlers/admin.go | 9 + main.go | 1 + 11 files changed, 233 insertions(+), 163 deletions(-) create mode 100644 embedded/admin/static/img/logo.png create mode 100644 frontend/public/logo.png diff --git a/embedded/admin/static/img/logo.png b/embedded/admin/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eafa415d4260d51c6b2225c2ed8d5f6679ac72ff GIT binary patch literal 8835 zcmZvC2Q*w=*Z=5s5Ftc~UZN8T#vmek4T%zBqSs*LbT}J z=)KPjpFGd=z3=;f|KGW5-@VVizu(?xpL5n->)dst^>kE$Bf9=0YY|Bdt525#l<0P}Egbz%P#*TT}((?gDv^G~9GwSUG5h5aj$ z3;ds|uIm%^v4Dw+i-?K-UnCC)+kX%5|6%=k@;B|Ts{T#}zMdM8lDmzChpYQjS665G z|6U-l=zk;rJyP(WkRTI%8@Q{p=bwt?WgdV<|3Bw{6Lj4jY_2EgFM{|#`2Y0%H{SUF zO7Ne~e+XdFKNI>N6a4q;{pG!0K6&!%TK;z{$deyP<`w|}Y})FN6`%UxZKsnVUp(_& zJN>Yu-Sd!79#x*}=V=lZ4UUfls+OKcDa}9pP2h#sr}|D~N#%Vkmtf#1!!JkZ$_DpcWIFdc z(?(`^S2^I$D@ez1LJBRzVror5mtIg0zG)wR#DJdj%W6fbyoR8tLpj~2Gg-4MojrJ%HmFcgg^Ut57d#S z-%EZyv5o|1ISOaT5K1d@->B)R&3hICTV&I~wq1eJLd0y|>7OE#ZWY`K z9N#I>dJ!R^?_8N6S2J?hLbP1 z{a81rN<{n8XG11_?b1Lg!YPr2Y1_mz|6@-OkDW9%5N%p z{JB>&1dH5z!v#(4H<2sMtHX9+g%;5lO@TSj!I3nL#rhKu*0%%Q96s{0719s$#nznI z1qW>E^sTjW?1zU$!{iu?V?uq!0~lSRKI};_ax3j>igmDk^x$>apS?|S+-$wv6Ie+N z9V<35W|XPq%aHSbE8oXtJW@(P~zQvYSLwWW1<_yet=O~Cd= zA|r4186`2nxb9D?2)lV2G3m%1Zbl2i*O)AsHN!!-$Ftv}tQ$}sLpXgnlbz>l6jN6YTWO}T*vw2-vttCyR>wlA>xQox7g z3HF;n?AlgL%H?aFBj{Y5n%yCjE?SbOFU1+qD+LP!+PV6P1C8@DeBAVda)Su-US(VP;AA_qspbxP?J7g*n zb%uuB=ck%x0WhIkOCBHKsz@`X$_BkRstXkK`RQgoW`vt?ccH6Ou+?fC|KWN)jo!M; zJq7RQE)&J;eRI;Wr+oa_kz+W;+7V8T!!_Vov>d8r2}T!-e+vl|^fAKdrV`h63@+VL z@rlcAo}q34P|{Kh_PxiNk80NLZI+{pCKw|gO^#2U(h}Gyor1JnpLZz?kG|O4IQ+d6 zO;EcQ;8AM4=DQ4}Vx6296D#)S9Ex;qeLQzb*6iy3TwEGtD>N4^lEpICvUwZH0l{~z zHR33-b-l#A9XX{YTS>`t@Y{WTqlvY9MJ9P7h6vql&^nGNIEpuF?cWLbta7RK>nfz7 zoSIV3#p2aC`+49QrC&hqTF-jlI69`zHkqR#Jn!ta^FZQA$*?c&E-)p0_iibX?kx62 z=L3zPN6A3g*fXfEzp6%K(P+5FXQ`v?JX%S(J7*BlpC%RMRAqq5H-*-Q$T>hv##kizs=6zS?TZ zpZ@UfXkSPFIliDGaYcoVVEWv9hw@2MlO4(K%??zvHC8_wU>>&wq3^}jKUcoc7l{|r zWcJ2$%fKDWWF(_zNOR`wD8nua8POm0?4Q)*~(tpCL?Lv&aN_<-CCpL zSc3GwHjUO3$)LK$XPw|!9;rZ8NFN|6qIHDHam5end@_6WazA6vbY9#TPrR%?)(3siiPswF9Y>se$fmXB z8q#2E!@@!o*$qPHsRW3 zYd1Yy;=`9@RJZFzf1})3mu?#q#x&}NbXqW|S@3`f5lh{tF^zP`cM(=F`+_9)I|en; z(2`ba6w#gdDyP0n62tqYRkDh91y*AU&N4O^m7N+67q`f#lUUpAHh92VSmdPq1|rRc z$!hKu#Dqm(_`Lww(LQx z-?3H1`QcBcUG5_x7-g5+Oe*#)S#aR62a@uI+75TyH)GcfhR_fU9Q)F_FZo+_L1+)g zsFj($xCy(xrgtON8pE@i8$@s%@Vlw?Cr9FEvS$=x>{Zl~YF7*a)RaY@*@qk7 zKp|G5AvfE7r-JFKX{W9L@)VQb8yX5|F~OAQQ*AHFaMt&tapQ(3@4efo2M$x;N!}?q zqp|HuOg&0^mo+_BOW;at$*&>iT{8Cm=%mD?e=v)k-Ef3_9el8{`{i97ba&f-zjhOi zkhM5i#t0sw*=GHFk3JV9zg_eUC|637oLaK1DCt*i`FWHqNHQ02h!QN+q^ zCWg8J?bEy;@oiC*EK`xs6h!4L6YmhkhttNEK}IvwyT|oFej}S&E-`{*3w}&@qbtSy zd88|qeZ=ihRGIHGjx`Y1heH-KPV5?4)i2|gNO;+3`VxeV-7up z2XgN`xuUBl=M8x~4ox#|b;=@5>9`BK1qLQhsk#ZFYghx=@GMe$Z+Vz;+aLp*E#W0FOmwwLM#>HV zKt%4wxeDL|r93&E6Eaq~=Fmb{qiNO|%L$Pmf4ifR&RMHE!gfN&jLO?$-jmmxCVA2! zKe=FB&y0v9nh@%-zR3&a0U`L3b1PVkJJrpF=5BxQ(D4+Iou}Yhf8dw4K!OmVkE%P2 zR*GmZk_-IWIOZuT)+oaxnAa>X52g^bQ0DT)J9kSji!C?fi}g)}-bKk#juwS(dcnD* zU7V^RN*mIkk}p;b`v_4c$?rkT=gbxYV3M(~y4B+Yd%UDk&kCR;1?HYIQN{)*aj;TU zt+;9>&eESJY~aCCyL&gnw{Y&hPswldG`}Lh4S$A@1idXU#W19cv%m9A(odhmD50?g zwK-K$1)&tameRF-r>W5Q(AF`d7ik{HV2p%{?LdUZF<eR?TddY#U ztLD6ARIZ+!YTTY_1QkOytO539sg^Zr0Q%~dC@sWW1pg+Wqy@f_mU?!=?KF<-2vg)9 zOL*2KPTZTcM+yc^_8@g`A%+}vo>CikBFviR6Z$LN6pKQqi(kw)Wmh1FSkrP*e&VPT@|k4cZEy#q=lRU1%y0A3(2HS`@n0P)V9D0TB;^DiXV|`0@DIdOIR;HzdIPc z=S}JQ*g<~)zojQ5|M}(;<_K>wFSl&_TZ5AokJQ!Hq+C^;)3A3H;?L7V(h3rOZU|8bd0Sa?vQWh6xP(jt z>pH-%W!9f=yy^O?+08^Da-gs0abUkx<5ZJzP$x#^aYBj^`xxmJz-lkmlO8%EUUEgF_Kmt1tMNjtmf#xu^Ec)u40YghEX-SDg< z4z#oX6v%aaE%ZcckF1`e7($K;rsY2uuTI>q=7AsoysaW?V zs4RWfLLj)`lKZW@T6E7J*`;McH}`%!4nYnf6N|UB!HFGv-yUgxL>X87Vik1ke5HfT z^)yV#YN{Pocy|?sR#ccJs!sEqjBK!Wk0eTIpR&+3CaG9(BX@iqIL}#6;u1pLzChES zlOxCD`Fx+w%PQTBQJ&8XgFyw?B+>tr+9=ghU3Dy6^K^j1LOZ|?+skf)p+kbBlInB*Dub>1p_ ziH(q0ov{0Ixx^rmn9@z0YB@5^4-`GVarBg0eBRQ11IQPBVb9E0wK9Yvx-Gp>oUbzr zWFRP1;vS1#^WjfbQgaBnbr1h%f8n?^LsEDILqiEwB_8X&!iYL}m0y%T?y`Nvg z-r#%2K6sj*wK-fm+1U~^j#-(b54VfeSrss*+MLTNh6 z*VJuUZHe<0a9S+D_8}h&9tsWC>-f>Hno!Tx)P`vXG%@cGbwAm<39Z66mo#+F4SZjZ z@Q}BeZKlH*Rhi9Dp+;*cdHtU(5c4B!AZUl80lKoL%IS-y*d^&xvX`dN7MaSJ?n7ro;)3EZA<9qYkVz*kzz1!UO=wVbz z^BmIjwM48CH*?f*ZFlF&UXb2%BGqPF+*c?44&&pmjk7)IVa2!)PI)NXK*K317Ew4Y z1v9N*=Xq`bT;DS)v;Bx!ngccDm0z;Tysf1Kss1@`b1qpjC!ZU3eO|3y<;yf?09784 z{Y0h?+}GB`W(Gcdb~N>IJ-=9{2?x5zkiDcpoGAio;mgB2;#^ArVV~C1q3|-MW%~o? z?^V}XVduEQR%5S+~1e8;yyC-$0d zJjpwrexz6B%Qj^LGKie9hS{ zC=8ATCLwM@7#D<3n17Ej{;7zL`XOrg0{75O>sS^+%jaY^u4&q;LNiq>7I5|mIsg&p z{%Wb{wG=0#t2;qEJ6|&wd6-sIJ5hxT`jk-mQM$GtSDL~bmE7BTc2H)@{B`qG<={Ih ziHEyFNSAHGSH(}8bmMKL(o8O|$mVlBV8S_6!y(SeQgJ|WwqIuXA{Z6NAh1@X)b)FG z97ft7c^c-;#^#$G)}9mk!bqBB0@xd-0{xwv;nb~wkA18<)R3;Z=3z#iAR0pQJ!PKu zjO7g;!ShGyNuYPF0D?Y1%&~0dfyf!x-lTjQCrYq&_K-QFT750PLP2A~Ua!?tTx8;s z8rVTKR`>SB-RY7i3rog+%ZZqgZGEkvVba$skRYC}l!$7L+93?)%vD8wc{i!8AyxfIE__`!FV-uvf!{o!XVHX^u<@ z0|)srD+6yu4N}GvKYE+FQFb3wxicb3W`VO42tw8idsr1%T#8qGM^19&1CpR&D!1qcw>QA0fCJbVP4|c=KLutK{+QKGO@x!pQnn%QdS)&ZULzlXlDroDL*ofRaqS0wn*9^!4JIfDW*<>3?X=pi3-ir! zCY@vD1G^B!PKLpCMI?o~XdsDUU77>L)1DbK5OD?QY8nF9Wt^i){_BX(O#c`2A$ zCvrCo9`9GlOg}Y=ej;5q^t^l2fr)v1cX0NF5QXYc;v%BzEfx~0b2C)=!MUa}-sI0( z)Py*Y9SSvh7d5lQJxT_>xf%T~7Z`&Zv0=K%sIzLE+mL(-q*}ST=d_pYrahK+T5}5?Vg*LhDl)^7A#)3XK2iiFaAo<*=st>!LsYlO2j<3%w!=uB8 zQzAj3$_>1lj@X`(2u_WT8#EMqom_}otPM{ z^s@7M7n|+?la|05nTI3xR{Q&p&MoAA7``15`jPkZ4U zaG#NTCsi>wh;MlYVp4gK`}t(qQh6@y?RnJxI?PqRUS;^RI@(SvD!8k8^9#chb~`XyXk z@wBno+UfY+F7 z^M-8i!h^T9>80yd z9UAYXm-sVzRF`!|!}zy|Gkcxp$?9)nA3h|307yC=VV_>iy~t+t@pbD2Cj378`r}GA zfb=As_2IcNn7pntzFl{A#HrOVD$@p(vJ`l`g@~lX7^aQ5ON^OGhzYv$Gf;{5%{; zc6~%tcD*|!M*PTJa;G-?Q(Ui+fXWz|2oJ3fs!dtcYATJkCt?j%I0A5 z{@hcrB){ztU&>z`bGG3RdZbt$8yT|jMKe^*2T0Gx@(z9J8qjB%7Pm}SD~WxOf5SL= zN~JTB%Q)X>5eE>7!YKau`PIDA#(Z>h+H{7VrCny@W$As{88s>1Qq|^-H#KO?a<^nw z-TQ48RoO4yNIVGwAp^@#t!kI}gOPW52P_*JNlZ=Q{$*CWT2{z_rc~3GH^{3JU47q^ ziM&bi=x$`CtFzN<7zSAg8=BTXwnb4 z2afKOd2_ywe8aXsFm@voE+Ml4%F9y8tH9C@u6bi=;sDAIfD+!v`(J5yHFVnuV0_bK z^}Ij65!FcgeG1a#2E8EkU5gEIS>YeDRa$=u@~kurO&b3kxa~ScN`ra5(uufqjRZ*R$ci#To#LnKeHsC%|cFe-2rsY}{4kQrOz9zb4+nrA>@R4G6`t#p~ Ny0XsW(nl}D{s-f&0ZIS> literal 0 HcmV?d00001 diff --git a/embedded/admin/templates/admin_index.tmpl b/embedded/admin/templates/admin_index.tmpl index 25f6082..9ee7848 100644 --- a/embedded/admin/templates/admin_index.tmpl +++ b/embedded/admin/templates/admin_index.tmpl @@ -1,56 +1,106 @@ {{ template "admin_header" . }} -
-

Dashboard

- -
-
-

Posts

-
{{.postCount}}
- Manage Posts +
+

Dashboard

+ +
+ +
+
+
+ Posts +
+ {{ .postCount }} +
+
+ + + + + +
- -
-

Tags

-
{{.tagCount}}
- Manage Tags + + +
+
+
+ Pages +
+ {{ .pagesCount }} +
+
+ + + + + +
- -
-

Users

-
{{.userCount}}
- Manage Users + + +
+
+
+ Users +
+ {{ .userCount }} +
+
+ + + + + +
-
-
-

Recent Posts

- {{if .recentPosts}} -
- - - - - - - - - - {{range .recentPosts}} - - - - - - {{end}} - -
TitlePublishedActions
{{.Title}} - {{.PublishedAt.Format "2006-01-02 15:04"}} - - Edit -
+ +
+
+
+ Tags +
+ {{ .tagCount }} +
+
+ + + + + + +
+
+
+

Recent Posts

+ {{if .recentPosts}} + +
+ + + + + + + + + + {{range .recentPosts}} + + + + + + {{end}} + +
TitlePublishedActions
{{.Title}} + {{.PublishedAt.Format "2006-01-02 15:04"}} + + Edit +
{{else}} -
+

You haven't created any posts yet. Start your blogging journey by creating your first post!

Create Your First Post
diff --git a/embedded/admin/templates/includes/admin_footer.tmpl b/embedded/admin/templates/includes/admin_footer.tmpl index 12b86ac..893d2dd 100644 --- a/embedded/admin/templates/includes/admin_footer.tmpl +++ b/embedded/admin/templates/includes/admin_footer.tmpl @@ -1,5 +1,6 @@ {{define "admin_footer"}} - + +
diff --git a/embedded/admin/templates/includes/admin_header.tmpl b/embedded/admin/templates/includes/admin_header.tmpl index cfe6f22..51e4dc6 100644 --- a/embedded/admin/templates/includes/admin_header.tmpl +++ b/embedded/admin/templates/includes/admin_header.tmpl @@ -6,81 +6,113 @@ {{ if .title }}{{ .title }} - {{ end }}Captain Admin - {{ .settings.Title }} {{ if .faviconHTML }}{{ .faviconHTML | raw }}{{ end }} - - {{ template "includes/flash_messages" . }} - -
-