commit 6c8dfe04ea11b6cf883fb9dd01dbf5972cb5b90b
parent 0e96105afbe5a3b671dc505f34bca6b21c27f70e
Author: Damian Myrda <damian@prime8.dev>
Date: Fri, 23 Oct 2026 00:59:17 +0000
web: tags under the project path, clone on the path's line
Diffstat:
2 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/internal/web/styles/project_detail.css b/internal/web/styles/project_detail.css
@@ -1,12 +1,29 @@
+/* path and clone share the top line; the tags sit under the path, so a long
+ clone url never pushes them onto a wrapped line of their own */
.detail-header {
- display: flex;
- flex-wrap: wrap;
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) auto;
+ grid-template-areas:
+ "path clone"
+ "tags tags";
align-items: center;
gap: 8px 14px;
margin-bottom: 16px;
}
.detail-path {
+ grid-area: path;
+}
+
+.tech-stack {
+ grid-area: tags;
+}
+
+.clone-bar {
+ grid-area: clone;
+}
+
+.detail-path {
min-width: 0;
font-size: var(--fs-19);
font-weight: 400;
@@ -206,8 +223,17 @@
@media (max-width: 768px) {
.detail-header {
- align-items: flex-start;
- flex-direction: column;
+ grid-template-columns: minmax(0, 1fr);
+ grid-template-areas:
+ "path"
+ "tags"
+ "clone";
+ align-items: start;
+ }
+
+ .clone-bar {
+ margin-left: 0;
+ justify-self: start;
}
.detail-path {
diff --git a/internal/web/templates/partials/project_detail.gohtml b/internal/web/templates/partials/project_detail.gohtml
@@ -3,9 +3,9 @@
<div class="detail-content" data-id="{{.Project.ID}}">
<div class="detail-header">
<h2 class="detail-path"><span class="detail-path-text">~/projects/{{.Project.Name}}</span></h2>
- <div class="tech-stack">
+ {{if .Project.Tech}}<div class="tech-stack">
{{range .Project.Tech}}<span class="tag {{tagClass .}}">{{.}}</span>{{end}}
- </div>
+ </div>{{end}}
{{if .Project.Repo}}
<div class="clone-bar" data-clone>
<div class="clone-tabs" role="radiogroup" aria-label="Clone protocol">