diff --git a/appview/pages/pages.go b/appview/pages/pages.go index 4deaaef3..34976175 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -612,8 +612,7 @@ type RepoSettingsParams struct { RepoInfo repoinfo.RepoInfo Collaborators []Collaborator Active string - Branches []string - DefaultBranch string + Branches []types.Branch // TODO: use repoinfo.roles IsCollaboratorInviteAllowed bool } diff --git a/appview/pages/templates/repo/empty.html b/appview/pages/templates/repo/empty.html index 7c07626e..32d9b64f 100644 --- a/appview/pages/templates/repo/empty.html +++ b/appview/pages/templates/repo/empty.html @@ -6,11 +6,29 @@ {{ end }} {{ define "repoContent" }} -
+
+ {{ if gt (len .BranchesTrunc) 0 }} +

- This is an empty repository. Push some commits here. + This branch is empty. Other branches in this repository are populated:

-
+
+ {{ range $br := .BranchesTrunc }} + +
+ {{ $br.Name }} + +
+
+ {{ end }} +
+ + {{ else }} +

+ This is an empty repository. Push some commits here. +

+ {{ end }} +
{{ end }} {{ define "repoAfter" }} diff --git a/appview/pages/templates/repo/settings.html b/appview/pages/templates/repo/settings.html index c41032b5..3dcf9dc2 100644 --- a/appview/pages/templates/repo/settings.html +++ b/appview/pages/templates/repo/settings.html @@ -55,19 +55,26 @@
- diff --git a/appview/state/repo.go b/appview/state/repo.go index d37d9939..3454e1d2 100644 --- a/appview/state/repo.go +++ b/appview/state/repo.go @@ -981,48 +981,36 @@ func (s *State) RepoSettings(w http.ResponseWriter, r *http.Request) { } } - var branchNames []string - var defaultBranch string us, err := knotclient.NewUnsignedClient(f.Knot, s.config.Core.Dev) if err != nil { log.Println("failed to create unsigned client", err) - } else { - resp, err := us.Branches(f.OwnerDid(), f.RepoName) - if err != nil { - log.Println("failed to reach knotserver", err) - } else { - defer resp.Body.Close() + return + } - body, err := io.ReadAll(resp.Body) - if err != nil { - log.Printf("Error reading response body: %v", err) - } else { - var result types.RepoBranchesResponse - err = json.Unmarshal(body, &result) - if err != nil { - log.Println("failed to parse response:", err) - } else { - for _, branch := range result.Branches { - branchNames = append(branchNames, branch.Name) - } - } - } - } + resp, err := us.Branches(f.OwnerDid(), f.RepoName) + if err != nil { + log.Println("failed to reach knotserver", err) + return + } + defer resp.Body.Close() - defaultBranchResp, err := us.DefaultBranch(f.OwnerDid(), f.RepoName) - if err != nil { - log.Println("failed to reach knotserver", err) - } else { - defaultBranch = defaultBranchResp.Branch - } + body, err := io.ReadAll(resp.Body) + if err != nil { + log.Printf("Error reading response body: %v", err) } + + var result types.RepoBranchesResponse + err = json.Unmarshal(body, &result) + if err != nil { + log.Println("failed to parse response:", err) + } + s.pages.RepoSettings(w, pages.RepoSettingsParams{ LoggedInUser: user, RepoInfo: f.RepoInfo(s, user), Collaborators: repoCollaborators, IsCollaboratorInviteAllowed: isCollaboratorInviteAllowed, - Branches: branchNames, - DefaultBranch: defaultBranch, + Branches: result.Branches, }) } }