forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

appview: add placeholder for pulls

anirudh.fi 1745b6a3 1e29cf55

verified
Changed files
+44
appview
pages
templates
repo
pulls
state
+11
appview/pages/pages.go
···
return p.executeRepo("repo/issues/new", w, params)
}
+
type RepoPullsParams struct {
+
LoggedInUser *auth.User
+
RepoInfo RepoInfo
+
Active string
+
}
+
+
func (p *Pages) RepoPulls(w io.Writer, params RepoPullsParams) error {
+
params.Active = "pulls"
+
return p.executeRepo("repo/pulls/pulls", w, params)
+
}
+
func (p *Pages) Static() http.Handler {
sub, err := fs.Sub(files, "static")
if err != nil {
+7
appview/pages/templates/repo/pulls/pulls.html
···
+
{{ define "title" }}pulls · {{ .RepoInfo.FullName }}{{ end }}
+
+
{{ define "repoContent" }}
+
<p class="text-gray-400">
+
Support for pull requests is actively being worked on. Stay tuned!
+
</p>
+
{{ end }}
+22
appview/state/repo.go
···
}
}
+
func (s *State) RepoPulls(w http.ResponseWriter, r *http.Request) {
+
user := s.auth.GetUser(r)
+
f, err := fullyResolvedRepo(r)
+
if err != nil {
+
log.Println("failed to get repo and knot", err)
+
return
+
}
+
+
switch r.Method {
+
case http.MethodGet:
+
s.pages.RepoPulls(w, pages.RepoPullsParams{
+
LoggedInUser: user,
+
RepoInfo: pages.RepoInfo{
+
Name: f.RepoName,
+
OwnerDid: f.OwnerDid(),
+
OwnerHandle: f.OwnerHandle(),
+
SettingsAllowed: settingsAllowed(s, user, f),
+
},
+
})
+
}
+
}
+
func fullyResolvedRepo(r *http.Request) (*FullyResolvedRepo, error) {
repoName := chi.URLParam(r, "repo")
knot, ok := r.Context().Value("knot").(string)
+4
appview/state/state.go
···
r.Post("/{issue}/reopen", s.ReopenIssue)
})
+
r.Route("/pulls", func(r chi.Router) {
+
r.Get("/", s.RepoPulls)
+
})
+
// These routes get proxied to the knot
r.Get("/info/refs", s.InfoRefs)
r.Post("/git-upload-pack", s.UploadPack)