refactor(profile): rename the tab to repos
6 files changed, +12 −12
- flow_test.go modified +2 −2
- store.go modified +2 −2
- templates/repositories.html → templates/repos.html renamed +2 −2
- templates/stars.html modified +1 −1
- templates/user.html modified +1 −1
- web.go modified +4 −4
flow_test.go modified
| @@ -298,7 +298,7 @@ func TestPins(t *testing.T) { | ||
| 298 | 298 | if s.store.Pins(alice.ID)[ids[0]] != 0 { |
| 299 | 299 | t.Error("unticking the box did not unpin") |
| 300 | 300 | } |
| 301 | - if w := get(h, "/~alice/repositories", ""); w.Code != 200 || !strings.Contains(w.Body.String(), `href="/~alice/g"`) { | |
| 302 | - t.Error("repositories page does not list every repo") | |
| 301 | + if w := get(h, "/~alice/repos", ""); w.Code != 200 || !strings.Contains(w.Body.String(), `href="/~alice/g"`) { | |
| 302 | + t.Error("repos page does not list every repo") | |
| 303 | 303 | } |
| 304 | 304 | } |
store.go modified
| @@ -1084,7 +1084,7 @@ func validEmail(email string) bool { | ||
| 1084 | 1084 | const maxPins = 6 |
| 1085 | 1085 | |
| 1086 | 1086 | func reservedRepo(name string) bool { |
| 1087 | - return name == "avatar" || name == "stars" || name == "feed" || name == "repositories" | |
| 1087 | + return name == "avatar" || name == "stars" || name == "feed" || name == "repos" | |
| 1088 | 1088 | } |
| 1089 | 1089 | |
| 1090 | 1090 | func (s *Store) Pins(owner int64) map[int64]int { |
| @@ -1110,7 +1110,7 @@ func (s *Store) Pin(owner, repo int64, on bool) error { | ||
| 1110 | 1110 | return err |
| 1111 | 1111 | } |
| 1112 | 1112 | if len(s.Pins(owner)) >= maxPins { |
| 1113 | - return fmt.Errorf("Only %d repositories can be pinned, unpin one first", maxPins) | |
| 1113 | + return fmt.Errorf("Only %d repos can be pinned, unpin one first", maxPins) | |
| 1114 | 1114 | } |
| 1115 | 1115 | _, err := s.db.Exec(`update repos set pinned = (select coalesce(max(pinned), 0) + 1 from repos where owner = ?) where id = ? and owner = ? and pinned = 0`, owner, repo, owner) |
| 1116 | 1116 | return err |
templates/repositories.html → templates/repos.html renamed
| @@ -2,7 +2,7 @@ | ||
| 2 | 2 | {{$d := .Data}} |
| 3 | 3 | <div class="userhead"> |
| 4 | 4 | <h2>~{{$d.Owner.Name}}</h2> |
| 5 | -<nav class="tabs small"><a href="/~{{$d.Owner.Name}}">about</a><a class="active" href="/~{{$d.Owner.Name}}/repositories">repositories{{if $d.Repos}} <span class="count">{{len $d.Repos}}</span>{{end}}</a>{{if not $d.Org}}<a href="/~{{$d.Owner.Name}}/stars">stars{{if $d.Count}} <span class="count">{{$d.Count}}</span>{{end}}</a>{{end}}<a href="/~{{$d.Owner.Name}}/feed">feed</a></nav> | |
| 5 | +<nav class="tabs small"><a href="/~{{$d.Owner.Name}}">about</a><a class="active" href="/~{{$d.Owner.Name}}/repos">repos{{if $d.Repos}} <span class="count">{{len $d.Repos}}</span>{{end}}</a>{{if not $d.Org}}<a href="/~{{$d.Owner.Name}}/stars">stars{{if $d.Count}} <span class="count">{{$d.Count}}</span>{{end}}</a>{{end}}<a href="/~{{$d.Owner.Name}}/feed">feed</a></nav> | |
| 6 | 6 | </div> |
| 7 | -{{if $d.Repos}}<div class="events">{{range $d.Repos}}{{$pin := index $d.Pins .ID}}<div class="event"><h4><a href="/{{.Path}}">{{.Name}}</a>{{if .Private}} <span class="tag">private</span>{{else if .Unlisted}} <span class="tag">unlisted</span>{{end}}{{if $pin}} <span class="tag">pinned</span>{{end}}{{if .Stars}}<span class="starcount" title="{{.Stars}} stars">☆ {{.Stars}}</span>{{end}}</h4>{{if .Description}}<p>{{.Description}}</p>{{end}}{{if .Tags}}<p class="tags">{{range .Tags}}<a href="/search?q=tag:{{.}}">#{{.}}</a> {{end}}</p>{{end}}</div>{{end}}</div>{{else}}<p class="info">No repositories yet.</p>{{end}} | |
| 7 | +{{if $d.Repos}}<div class="events">{{range $d.Repos}}{{$pin := index $d.Pins .ID}}<div class="event"><h4><a href="/{{.Path}}">{{.Name}}</a>{{if .Private}} <span class="tag">private</span>{{else if .Unlisted}} <span class="tag">unlisted</span>{{end}}{{if $pin}} <span class="tag">pinned</span>{{end}}{{if .Stars}}<span class="starcount" title="{{.Stars}} stars">☆ {{.Stars}}</span>{{end}}</h4>{{if .Description}}<p>{{.Description}}</p>{{end}}{{if .Tags}}<p class="tags">{{range .Tags}}<a href="/search?q=tag:{{.}}">#{{.}}</a> {{end}}</p>{{end}}</div>{{end}}</div>{{else}}<p class="info">No repos yet.</p>{{end}} | |
| 8 | 8 | {{end}} |
templates/stars.html modified
| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | {{define "content"}} |
| 2 | 2 | <div class="userhead"> |
| 3 | 3 | <h2>~{{.Data.Owner.Name}}</h2> |
| 4 | -<nav class="tabs small"><a href="/~{{.Data.Owner.Name}}">about</a><a href="/~{{.Data.Owner.Name}}/repositories">repositories</a><a class="active" href="/~{{.Data.Owner.Name}}/stars">stars{{if .Data.Count}} <span class="count">{{.Data.Count}}</span>{{end}}</a></nav> | |
| 4 | +<nav class="tabs small"><a href="/~{{.Data.Owner.Name}}">about</a><a href="/~{{.Data.Owner.Name}}/repos">repos</a><a class="active" href="/~{{.Data.Owner.Name}}/stars">stars{{if .Data.Count}} <span class="count">{{.Data.Count}}</span>{{end}}</a></nav> | |
| 5 | 5 | </div> |
| 6 | 6 | {{if .Data.Starred}}<div class="events">{{range .Data.Starred}}<div class="event"><h4><a href="/~{{.Owner.Name}}">~{{.Owner.Name}}</a>/<a href="/{{.Path}}">{{.Name}}</a>{{if .Stars}}<span class="starcount" title="{{.Stars}} stars">☆ {{.Stars}}</span>{{end}}</h4>{{if .Description}}<p>{{.Description}}</p>{{end}}{{if .Tags}}<p class="tags">{{range .Tags}}<a href="/search?q=tag:{{.}}">#{{.}}</a> {{end}}</p>{{end}}</div>{{end}}</div>{{else}}<p class="info">~{{.Data.Owner.Name}} has not starred anything yet.</p>{{end}} |
| 7 | 7 | {{end}} |
templates/user.html modified
| @@ -3,7 +3,7 @@ | ||
| 3 | 3 | {{$own := and .User (eq .User.ID .Data.Owner.ID)}} |
| 4 | 4 | <div class="userhead"> |
| 5 | 5 | <h2>~{{.Data.Owner.Name}}</h2> |
| 6 | -<nav class="tabs small"><a class="active" href="/~{{.Data.Owner.Name}}">about</a><a href="/~{{.Data.Owner.Name}}/repositories">repositories{{if .Data.Total}} <span class="count">{{.Data.Total}}</span>{{end}}</a><a href="/~{{.Data.Owner.Name}}/stars">stars{{if .Data.Count}} <span class="count">{{.Data.Count}}</span>{{end}}</a><a href="/~{{.Data.Owner.Name}}/feed">feed</a></nav> | |
| 6 | +<nav class="tabs small"><a class="active" href="/~{{.Data.Owner.Name}}">about</a><a href="/~{{.Data.Owner.Name}}/repos">repos{{if .Data.Total}} <span class="count">{{.Data.Total}}</span>{{end}}</a><a href="/~{{.Data.Owner.Name}}/stars">stars{{if .Data.Count}} <span class="count">{{.Data.Count}}</span>{{end}}</a><a href="/~{{.Data.Owner.Name}}/feed">feed</a></nav> | |
| 7 | 7 | </div> |
| 8 | 8 | <div class="columns user"> |
| 9 | 9 | <aside class="profile"> |
web.go modified
| @@ -857,8 +857,8 @@ func (s *Server) route(w http.ResponseWriter, r *http.Request) { | ||
| 857 | 857 | s.orgSettings(w, r, owner, name) |
| 858 | 858 | return |
| 859 | 859 | } |
| 860 | - if name == "repositories" && len(parts) == 2 && r.Method == "GET" { | |
| 861 | - s.repositories(w, r, owner, user) | |
| 860 | + if name == "repos" && len(parts) == 2 && r.Method == "GET" { | |
| 861 | + s.repos(w, r, owner, user) | |
| 862 | 862 | return |
| 863 | 863 | } |
| 864 | 864 | if name == "stars" && len(parts) == 2 && r.Method == "GET" { |
| @@ -1592,7 +1592,7 @@ func pinnedRepos(repos []Repo, pins map[int64]int) []Repo { | ||
| 1592 | 1592 | return out |
| 1593 | 1593 | } |
| 1594 | 1594 | |
| 1595 | -func (s *Server) repositories(w http.ResponseWriter, r *http.Request, owner User, user *User) { | |
| 1595 | +func (s *Server) repos(w http.ResponseWriter, r *http.Request, owner User, user *User) { | |
| 1596 | 1596 | member := user != nil && (user.ID == owner.ID || s.store.IsMember(owner.ID, user.ID)) |
| 1597 | 1597 | repos, err := s.store.ReposByOwner(owner.ID, member) |
| 1598 | 1598 | if err != nil { |
| @@ -1601,5 +1601,5 @@ func (s *Server) repositories(w http.ResponseWriter, r *http.Request, owner User | ||
| 1601 | 1601 | } |
| 1602 | 1602 | starred, _ := s.store.StarredRepos(owner.ID) |
| 1603 | 1603 | data := map[string]any{"Owner": owner, "Repos": s.byUpdate(repos), "Pins": s.store.Pins(owner.ID), "Count": len(starred), "Org": s.store.IsOrg(owner.ID)} |
| 1604 | - s.render(w, r, "repositories", page{Title: "~" + owner.Name + " repositories", User: user, Data: data}) | |
| 1604 | + s.render(w, r, "repos", page{Title: "~" + owner.Name + " repos", User: user, Data: data}) | |
| 1605 | 1605 | } |