From 6a6f4d1587d0047286cfc6cbaaac064de6ac87a7 Mon Sep 17 00:00:00 2001 From: poslop Date: Tue, 8 Sep 2026 21:33:08 -0500 Subject: [PATCH] History: URL + ID columns at end, custom_slug in /api/public (#44) --- main.go | 1 + palette | Bin 29797563 -> 29799051 bytes web/static/app.css | 3 +++ web/templates/history.html | 8 +++++--- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 7768069..7c74ced 100644 --- a/main.go +++ b/main.go @@ -487,6 +487,7 @@ func (a *apiServer) handleListPublic(w http.ResponseWriter, r *http.Request) { items = append(items, map[string]any{ "id": row.ID, "title": title, "language": lang, "created_at": row.CreatedAt, "view_count": row.ViewCount, "size": row.Size, + "custom_slug": nullStrPtr(row.CustomSlug), }) } writeJSON(w, 200, map[string]any{"total": total, "limit": limit, "offset": offset, "items": items}) diff --git a/palette b/palette index a65b2d46445528f0d939e4d0fb75d300d812855a..663a234898b98a8677ea9e5dcb147f36e3e48948 100755 GIT binary patch delta 7579534 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 xs z>tfZ5V!r#z#pDtBkvy~j%Gd-QRT`6i6ThR)+rHn#{;m@%^tDNSUYL&eu>rJ|&j77G zNHpa%vGz3pOG^?!zs=Id08E)&RFO5&09@^3V_U@lwExDVi~-<(r72oUUpCzhNIu*C zSd3F$_8-+ST6JfG^d?PUpPtk5Q^L6!kU0(}6FJD4y?7~_p@fqTDoLQWPE2?$zUP9v z3So4kEd26+V%uUt*t6B`pp;{tVeP^xZOp%3d?YstJHu#XI-U1WJhYa zNjqp2eeNdJp~II5cWFF5CS=<@r5!x&dOG<^L!cwO>?<9UDd4#%NOI#z1GCFWf#i#x zDI*2LCibF?lnoRGSz1ntqR-iK#IY-m3zae{%w{ex&7zN`y!1QS^}ZFP@jUI;t(BxH z^ywEaO@nsqRk-wuqk#UyC~1Wjbsb+>%An&0CdW!|=?*aFSCLxL{xB_03UzVFqg6>? zw_;=?_|3UsjU>XoKufU8+S_@sg`cVYIy;TU|;Z@8eK)X#ib1 zt58GgX?EO}KpLq#Ii=2W^fGvI^JX4wZv$x|M+W$zz}?!VLSdnHCD(b{QOCtctwT!dn(!koY$U~z>wmV9Q~;;&Ok*k=k9m!y zLbCXIO-LS#*wJJui=%K}N^>IZ%Vsy1T0mNZ>fh&-gMF+X#;KiUk;L9^5mr5A0~yuVx|t4 z63HoLsUxKiJbYkDW2Ir*w&m~y=@dCEGbT!{I8fNV$wUn@Q>IGJ+{Bmwa)tGKU(4p| z4GI1Rm}LN@Z-9{o;Jv@CNKXUc(sWYM%GkmHocu;n&j3uiIljo@jy3=TivYg#c*1~m z{6^wz0FqhGbg3lgvEd$x$}owwP1f5PdMooVZ>Cf#=->$3Aa63@Yrg@|08C?Hv!qat zmi<<OGpZts3A(Gde^+-AoGzB_7mMSatb)oF;kINrRaYeal{n@R@ zQZoIpijEBI$HM=V28(pww(gnKGU(GD+EVDte=Z%*k(j3bMY^RsS(^>OZszm1Gzp+A zTk%}lD^T1v^^FulJM2+!q+e)nUhA#o2QC3lq$7GDp|!uxXC&+YP8!6~R_*QwGJ^1$ zaUZ3zK(670Pb9i(?A|9SLZPsRBPVCL{I+&N(IoJ3)QcZtn>jg}qlfVK1i2M>VXP>3 zf(LAgD5uhoYG9r$2htL+Dsok_e{~hPKLuWPD6$s?4bCWp3&%V~j(1spm4;bg*=8#` z5 zxYAdSq&x2ye2G~nwD%)m21fXim;_Aslgp8lJKj%T<{Q-*J{)rzu2O@3`Y_M*%p)-) zT|aJ5j>1TPxhA|~1O4SkP@?5>oAA55!HDIu7aJZZ|Dv7qRSzaPlSAxKMxLh7p2t#2 z{=`vyFf&q~3lM=m(Q+S}M$@9@*V-xUh*-HdRAl#K&kBQt4l1V zzASODfYoRybDZl*iX3YDUW!9H>2b&wCs|68+*%@seseR~k&gNBK)Sph*0T;RWIrHT zk7+3%r#NuUR&rx`V?(g+xcb?MrTy4SK0^oRgIdd5p#uwOBUb`WoXDECmB(m7_A~8d zTDhj+-i~s8mqyJ=qjgu0(NDUOSZ6Z(PI6ricCeH#@(q!KUgdkq6lH(H2K15JY9{n_ zUwIM-S(r3H{w3zaN76OTnp=PPUN3KrAx~Jldup{9fY=0E4O0l99dS6ay5Gr#;N{rI zrgDSUfyw&JgS-Mle`IY3$+bAI{XK1HpEZPD>}H_Xp1b5ndT4AB5wW zHC)~T?yTkrQaz=*{>JLnO*U_&?5!==o5sosK;FUAadJc2J4TI{{WT-he1hB$$a)=| zC`Y>!Ie?5nD3U#Thf7f2NY<&=Qh5XgI`=H42{(b=T`I4X zsDESD$QOaaevQ`2*|bZ0w@z+A*y`(Li$wGN;wCwbCR&|}7mfy+b zZ6Dbw)00a~-$e}Dv2nZPiad;9*?XwH