aboutsummaryrefslogtreecommitdiff
path: root/public/static/style.css
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
commitecd01c4617ec0a6af05cfc4388bdc82986f25961 (patch)
tree89aa59db1c191af4ed6ccb4196fc800d74a195e6 /public/static/style.css
parentfb16dc2b017e339e6a36a89c9b5d8a830ce3a541 (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 'public/static/style.css')
-rw-r--r--public/static/style.css62
1 files changed, 62 insertions, 0 deletions
diff --git a/public/static/style.css b/public/static/style.css
index e698993..983cb86 100644
--- a/public/static/style.css
+++ b/public/static/style.css
@@ -160,6 +160,68 @@ body > footer {
border: 1px solid var(--border-color);
}
+.ref-selector-button {
+ anchor-name: --ref-selector-anchor;
+}
+
+.ref-selector-menu {
+ position: absolute;
+ position-anchor: --ref-selector-anchor;
+ position-area: bottom span-right;
+ width: 16rem;
+ max-height: 20rem;
+ overflow-y: auto;
+ overflow-wrap: break-word;
+ background: var(--body-background);
+ border: 1px solid var(--border-color);
+ padding: 0.5rem;
+
+ &::backdrop {
+ background: transparent;
+ }
+}
+
+.ref-selector-tabs {
+ display: flex;
+ margin-bottom: 0.5rem;
+
+ button {
+ flex: 1;
+ padding: 0.25rem;
+ cursor: pointer;
+ &.active {
+ font-weight: bold;
+ border-bottom: 2px solid var(--link-color);
+ }
+ }
+}
+
+.ref-selector-items {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ li {
+ padding: 0.2rem 0;
+ }
+}
+
+.ref-selector-badge {
+ margin-left: 0.3rem;
+ font-size: 0.75rem;
+ opacity: 0.7;
+}
+
+.ref-selector-empty,
+.ref-selector-more {
+ padding: 0.2rem 0;
+ font-size: 0.85rem;
+}
+
+.latest-commit-placeholder {
+ opacity: 0.7;
+}
+
.repo-info {
.description {
margin-bottom: .2rem;