+11
appview/pages/pages.go
+11
appview/pages/pages.go
···
396
396
return p.executeRepo("repo/issues/new", w, params)
397
397
}
398
398
399
+
type RepoPullsParams struct {
400
+
LoggedInUser *auth.User
401
+
RepoInfo RepoInfo
402
+
Active string
403
+
}
404
+
405
+
func (p *Pages) RepoPulls(w io.Writer, params RepoPullsParams) error {
406
+
params.Active = "pulls"
407
+
return p.executeRepo("repo/pulls/pulls", w, params)
408
+
}
409
+
399
410
func (p *Pages) Static() http.Handler {
400
411
sub, err := fs.Sub(files, "static")
401
412
if err != nil {
+7
appview/pages/templates/repo/pulls/pulls.html
+7
appview/pages/templates/repo/pulls/pulls.html
+22
appview/state/repo.go
+22
appview/state/repo.go
···
873
873
}
874
874
}
875
875
876
+
func (s *State) RepoPulls(w http.ResponseWriter, r *http.Request) {
877
+
user := s.auth.GetUser(r)
878
+
f, err := fullyResolvedRepo(r)
879
+
if err != nil {
880
+
log.Println("failed to get repo and knot", err)
881
+
return
882
+
}
883
+
884
+
switch r.Method {
885
+
case http.MethodGet:
886
+
s.pages.RepoPulls(w, pages.RepoPullsParams{
887
+
LoggedInUser: user,
888
+
RepoInfo: pages.RepoInfo{
889
+
Name: f.RepoName,
890
+
OwnerDid: f.OwnerDid(),
891
+
OwnerHandle: f.OwnerHandle(),
892
+
SettingsAllowed: settingsAllowed(s, user, f),
893
+
},
894
+
})
895
+
}
896
+
}
897
+
876
898
func fullyResolvedRepo(r *http.Request) (*FullyResolvedRepo, error) {
877
899
repoName := chi.URLParam(r, "repo")
878
900
knot, ok := r.Context().Value("knot").(string)
+4
appview/state/state.go
+4
appview/state/state.go