From a5cc7662567d0d60a27322a16ef270ecacd63a01 Mon Sep 17 00:00:00 2001 From: Toby Padilla Date: Tue, 12 Oct 2021 16:02:00 -0500 Subject: [PATCH] Fix repo menu order --- internal/tui/commands.go | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/internal/tui/commands.go b/internal/tui/commands.go index 2e6ef22a9e5be73a655d870b55d46398b618d089..5b6f32605b4dc6ae3e65298fb49e71f26c1b16b6 100644 --- a/internal/tui/commands.go +++ b/internal/tui/commands.go @@ -62,29 +62,36 @@ func (b *Bubble) setupCmd() tea.Msg { func (b *Bubble) menuEntriesFromSource() ([]MenuEntry, error) { mes := make([]MenuEntry, 0) - rs := b.config.Source.AllRepos() -OUTER: - for _, r := range rs { - acc := b.config.AuthRepo(r.Name, b.session.PublicKey()) - if acc == gm.NoAccess && r.Name != "config" { + for _, cr := range b.config.Repos { + acc := b.config.AuthRepo(cr.Repo, b.session.PublicKey()) + if acc == gm.NoAccess && cr.Repo != "config" { continue } - for _, cr := range b.config.Repos { - if r.Name == cr.Repo { - me, err := b.newMenuEntry(cr.Name, cr.Repo) - if err != nil { - return nil, err - } - mes = append(mes, me) - continue OUTER - } - } - me, err := b.newMenuEntry(r.Name, r.Name) + me, err := b.newMenuEntry(cr.Name, cr.Repo) if err != nil { return nil, err } mes = append(mes, me) } + for _, r := range b.config.Source.AllRepos() { + var found bool + for _, me := range mes { + if me.Repo == r.Name { + found = true + } + } + if !found { + acc := b.config.AuthRepo(r.Name, b.session.PublicKey()) + if acc == gm.NoAccess { + continue + } + me, err := b.newMenuEntry(r.Name, r.Name) + if err != nil { + return nil, err + } + mes = append(mes, me) + } + } return mes, nil }