Monorepo for Tangled tangled.org

add repoBase layout

Changed files
+77 -51
appview
+9 -4
appview/pages/pages.go
··· 68 68 return p.t[name].ExecuteTemplate(w, "layouts/base", params) 69 69 } 70 70 71 + func (p *Pages) executeRepo(name string, w io.Writer, params any) error { 72 + return p.t[name].ExecuteTemplate(w, "layouts/repoBase", params) 73 + } 74 + 71 75 func (p *Pages) Login(w io.Writer, params LoginParams) error { 72 76 return p.execute("user/login", w, params) 73 77 } ··· 132 136 Name string 133 137 OwnerDid string 134 138 OwnerHandle string 139 + Description string 135 140 } 136 141 137 142 func (r RepoInfo) OwnerWithAt() string { ··· 154 159 155 160 func (p *Pages) RepoIndexPage(w io.Writer, params RepoIndexParams) error { 156 161 157 - return p.execute("repo/index", w, params) 162 + return p.executeRepo("repo/index", w, params) 158 163 } 159 164 160 165 type RepoLogParams struct { ··· 174 179 } 175 180 176 181 func (p *Pages) RepoCommit(w io.Writer, params RepoCommitParams) error { 177 - return p.execute("repo/commit", w, params) 182 + return p.executeRepo("repo/commit", w, params) 178 183 } 179 184 180 185 type RepoTreeParams struct { ··· 194 199 } 195 200 196 201 func (p *Pages) RepoBranches(w io.Writer, params RepoBranchesParams) error { 197 - return p.execute("repo/branches", w, params) 202 + return p.executeRepo("repo/branches", w, params) 198 203 } 199 204 200 205 type RepoTagsParams struct { ··· 204 209 } 205 210 206 211 func (p *Pages) RepoTags(w io.Writer, params RepoTagsParams) error { 207 - return p.execute("repo/tags", w, params) 212 + return p.executeRepo("repo/tags", w, params) 208 213 }
+32
appview/pages/templates/layouts/repoBase.html
··· 1 + {{define "title"}} {{ .RepoInfo.FullName }} {{ end}} 2 + 3 + {{ define "content" }} 4 + 5 + <div id="repo-header"> 6 + <h1>{{ .RepoInfo.FullName }}</h1> 7 + {{ if .RepoInfo.Description }} 8 + <h3 class="desc">{{ .RepoInfo.Description }}</h3> 9 + {{ else }} 10 + <em>this repo has no description</em> 11 + </div> 12 + 13 + <div id="repo-links"> 14 + <nav> 15 + <a href="/{{ .RepoInfo.FullName }}">summary</a>&nbsp;· 16 + <a href="/{{ .RepoInfo.FullName }}/branches">branches</a>&nbsp;· 17 + <a href="/{{ .RepoInfo.FullName }}/tags">tags</a> 18 + </nav> 19 + <div> 20 + 21 + {{ end }} 22 + 23 + {{ block "repoContent" . }} {{ end }} 24 + 25 + {{ end }} 26 + 27 + {{ define "layouts/repoBase" }} 28 + 29 + {{ template "layouts/base" . }} 30 + 31 + {{ end }} 32 +
+1 -5
appview/pages/templates/repo/branches.html
··· 1 - {{ define "title" }} 2 - branches | {{ .RepoInfo.FullName }} 3 - {{ end }} 4 - 5 - {{ define "content" }} 1 + {{ define "repoContent" }} 6 2 {{ $name := .RepoInfo.Name }} 7 3 <h3>branches</h3> 8 4 <div class="refs">
+1 -1
appview/pages/templates/repo/commit.html
··· 1 1 {{ define "title" }} commit {{ .Diff.Commit.This }} {{ end }} 2 2 3 - {{ define "content" }} 3 + {{ define "repoContent" }} 4 4 5 5 {{ $repo := .RepoInfo.FullName }} 6 6 {{ $commit := .Diff.Commit }}
+30 -35
appview/pages/templates/repo/index.html
··· 1 - {{define "title"}} {{ .RepoInfo.FullName }} {{ end}} 1 + {{define "repoContent"}} 2 2 3 - {{define "content"}} 3 + <main> 4 + {{- if .IsEmpty }} 5 + this repo is empty 6 + {{ else }} 7 + <div class="log"> 8 + {{ range .Commits }} 9 + <div> 10 + <div><a href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}" class="commit-hash">{{ slice .Hash.String 0 8 }}</a></div> 11 + <pre>{{ .Message }}</pre> 12 + </div> 13 + <div class="commit-info"> 14 + {{ .Author.Name }} <a href="mailto:{{ .Author.Email }}" class="commit-email">{{ .Author.Email }}</a> 15 + <div>{{ .Author.When.Format "Mon, 02 Jan 2006 15:04:05 -0700" }}</div> 16 + </div> 17 + <hr /> 18 + {{ end }} 19 + </div> 20 + {{- if .Readme }} 21 + <article class="readme"> 22 + {{- .Readme -}} 23 + </article> 24 + {{- end -}} 25 + {{- end -}} 4 26 5 - <h1> 6 - {{ .RepoInfo.FullName }} 7 - </h1> 8 - <main> 9 - {{- if .IsEmpty }} 10 - this repo is empty 11 - {{ else }} 12 - <div class="log"> 13 - {{ range .Commits }} 14 - <div> 15 - <div><a href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}" class="commit-hash">{{ slice .Hash.String 0 8 }}</a></div> 16 - <pre>{{ .Message }}</pre> 17 - </div> 18 - <div class="commit-info"> 19 - {{ .Author.Name }} <a href="mailto:{{ .Author.Email }}" class="commit-email">{{ .Author.Email }}</a> 20 - <div>{{ .Author.When.Format "Mon, 02 Jan 2006 15:04:05 -0700" }}</div> 21 - </div> 22 - <hr /> 23 - {{ end }} 24 - </div> 25 - {{- if .Readme }} 26 - <article class="readme"> 27 - {{- .Readme -}} 28 - </article> 29 - {{- end -}} 30 - {{- end -}} 31 - 32 - <div class="clone-url"> 33 - <strong>clone</strong> 34 - <pre> 27 + <div class="clone-url"> 28 + <strong>clone</strong> 29 + <pre> 35 30 git clone https://tangled.sh/{{ .RepoInfo.OwnerWithAt }}/{{ .RepoInfo.Name }} 36 - </pre> 37 - </div> 38 - </main> 31 + </pre> 32 + </div> 33 + </main> 39 34 {{end}} 40 35
+1 -6
appview/pages/templates/repo/tags.html
··· 1 - {{ define "title" }} 2 - tags | {{ .RepoInfo.OwnerWithAt }} / 3 - {{ .RepoInfo.Name }} 4 - {{ end }} 5 - 6 - {{ define "content" }} 1 + {{ define "repoContent" }} 7 2 {{ $name := .RepoInfo.Name }} 8 3 <h3>tags</h3> 9 4 <div class="refs">
+3
appview/state/repo.go
··· 48 48 OwnerDid: id.DID.String(), 49 49 OwnerHandle: id.Handle.String(), 50 50 Name: repoName, 51 + Description: result.Description, 51 52 }, 52 53 RepoIndexResponse: result, 53 54 }) ··· 88 89 OwnerDid: id.DID.String(), 89 90 OwnerHandle: id.Handle.String(), 90 91 Name: repoName, 92 + Description: result.Description, 91 93 }, 92 94 RepoLogResponse: result, 93 95 }) ··· 169 171 OwnerDid: id.DID.String(), 170 172 OwnerHandle: id.Handle.String(), 171 173 Name: repoName, 174 + Description: result.Description, 172 175 }, 173 176 RepoTreeResponse: result, 174 177 })