summaryrefslogtreecommitdiff
path: root/cgithub/views/_latestCommit.eta
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-07-21 17:46:58 -0400
committerJoe Mou <dev@mou.fo>2026-07-22 23:25:26 -0400
commit6240cf1c6b73b7ed34ff5816b53333382c229f5c (patch)
tree4e8a8e379aa466c8a0d1d298266700a589b1a445 /cgithub/views/_latestCommit.eta
parent9b556ffe6c0c0528697e15f7f4f35107de212ce1 (diff)
Add async branch/tag dropdown and latest-commit bar
Adds two lazily-fetched UI pieces to match vanilla GitHub while keeping initial page loads plain server-rendered HTML: a branch/tag selector (native <dialog>, CSS anchor-positioned to its button, light-dismissed via closedby="any") and a latest-commit bar above the file listing. Both are populated by new /api/:owner/:repo/refs/:type and /api/:owner/:repo/latest-commit/:branch/:path routes; the latter calls GitHub's own /latest-commit JSON endpoint (the same one the React UI uses) rather than scraping the full commit history page.
Diffstat (limited to 'cgithub/views/_latestCommit.eta')
-rw-r--r--cgithub/views/_latestCommit.eta16
1 files changed, 16 insertions, 0 deletions
diff --git a/cgithub/views/_latestCommit.eta b/cgithub/views/_latestCommit.eta
new file mode 100644
index 0000000..18d22a1
--- /dev/null
+++ b/cgithub/views/_latestCommit.eta
@@ -0,0 +1,16 @@
+<div class="commit box">
+ <div>
+ <div>
+ <%~ it.commit.shortMessageHtml %>
+ </div>
+ <div class="commit-author">
+ <% for (const author of it.commit.authors) { %>
+ <a href="/<%= author.login %>"><%= author.login %></a>
+ <% } %>
+ <time class="timestamp" title="<%= it.commit.date %>"><%= it.commit.date.split("T")[0] %></time>
+ </div>
+ </div>
+ <div class="commit-sha">
+ <code><%= it.commit.oid.substring(0, 7) %></code>
+ </div>
+</div>