Some bug fixes.

This commit is contained in:
2026-01-23 15:23:15 -06:00
parent a64184aecf
commit 0834792c57

View File

@@ -62,7 +62,6 @@ type ScreenHome struct {
doOpen bool doOpen bool
isLoading bool isLoading bool
loading *w.Spinner loading *w.Spinner
pdsStatus *w.Text
cursor int cursor int
} }
@@ -77,14 +76,11 @@ func (s *ScreenHome) Init(a *App) {
s.openPdsEntry = w.NewField("home.openpds.field", s.style) s.openPdsEntry = w.NewField("home.openpds.field", s.style)
s.openPdsEntry.SetLabel("ID") s.openPdsEntry.SetLabel("ID")
s.openPdsEntry.SetActive(true) s.openPdsEntry.SetActive(true)
s.openPdsEntry.SetPos(w.Coord{X: 2, Y: 1}) s.openPdsEntry.SetPos(w.Coord{X: 3, Y: 1})
s.openPdsEntry.SetSize(w.Coord{X: 20, Y: 1}) s.openPdsEntry.SetSize(w.Coord{X: 20, Y: 1})
s.doOpen = true s.doOpen = true
s.isLoading = false s.isLoading = false
s.pdsStatus = w.NewText("home.pdsstatus", s.style.Foreground(tcell.ColorRed))
s.pdsStatus.SetText("𐄂")
s.pdsStatus.SetPos(w.Coord{X: 2, Y: 1})
s.loading = w.NewSpinner("home.loading", s.style) s.loading = w.NewSpinner("home.loading", s.style)
s.loading.SetVisible(true) s.loading.SetVisible(true)
s.loading.SetPos(w.Coord{X: 2, Y: 1}) s.loading.SetPos(w.Coord{X: 2, Y: 1})
@@ -105,7 +101,7 @@ func (s *ScreenHome) Init(a *App) {
s.pdsListing.SetBorder( s.pdsListing.SetBorder(
[]rune{'─', '┬', '│', '┴', '─', '└', '│', '┌', '├', '─', '┤', '┬', '│', '┴', '┼'}, []rune{'─', '┬', '│', '┴', '─', '└', '│', '┌', '├', '─', '┤', '┬', '│', '┴', '┼'},
) )
s.pdsListing.SetTitle(" ") s.pdsListing.SetTitle(strings.Repeat(" ", 30))
s.pdsListing.SetOnSelect(s.selectPdsListingEntry) s.pdsListing.SetOnSelect(s.selectPdsListingEntry)
s.pdsListing.SetOnChange(s.updateJsonView) s.pdsListing.SetOnChange(s.updateJsonView)
s.pdsListing.SetVimMode(viper.GetBool(data.KeyVimMode)) s.pdsListing.SetVimMode(viper.GetBool(data.KeyVimMode))
@@ -118,7 +114,7 @@ func (s *ScreenHome) Init(a *App) {
s.columns.AddAll(s.pdsListing, brd) s.columns.AddAll(s.pdsListing, brd)
s.layout.AddAll(s.columns, s.cli) s.layout.AddAll(s.columns)
s.layout.SetWeight(s.columns, 4) s.layout.SetWeight(s.columns, 4)
s.menuLayout.SetWidget(s.layout) s.menuLayout.SetWidget(s.layout)
} }
@@ -184,6 +180,7 @@ func (s *ScreenHome) initMenu() {
s.menuLayout.CreateMenuItem("file.openpds", "Open PDS", func() bool { s.menuLayout.CreateMenuItem("file.openpds", "Open PDS", func() bool {
s.menuLayout.ToggleMenu() s.menuLayout.ToggleMenu()
s.doOpen = true s.doOpen = true
s.pdsListing.SetTitle(strings.Repeat(" ", 30))
return true return true
}, 'o'), }, 'o'),
s.menuLayout.CreateMenuItem("file.reloadpds", "Reload PDS", func() bool { s.menuLayout.CreateMenuItem("file.reloadpds", "Reload PDS", func() bool {
@@ -244,14 +241,17 @@ func (s *ScreenHome) toggleCli() {
s.layout.Delete(s.cli) s.layout.Delete(s.cli)
} else { } else {
s.layout.Add(s.cli) s.layout.Add(s.cli)
s.cli.SetVisible(true)
} }
} }
func (s *ScreenHome) hideCli() { func (s *ScreenHome) hideCli() {
s.cli.SetVisible(false)
if s.layout.Contains(s.cli) { if s.layout.Contains(s.cli) {
s.layout.Delete(s.cli) s.layout.Delete(s.cli)
} }
} }
func (s *ScreenHome) showCli() { func (s *ScreenHome) showCli() {
s.cli.SetVisible(true)
if !s.layout.Contains(s.cli) { if !s.layout.Contains(s.cli) {
s.layout.Add(s.cli) s.layout.Add(s.cli)
} }
@@ -268,8 +268,13 @@ func (s *ScreenHome) cliGetPds(args ...string) bool {
go func() { go func() {
pds, err := s.r.GetPDS(args[1]) pds, err := s.r.GetPDS(args[1])
if err != nil { if err != nil {
s.cli.Log(err.Error()) s.Log(err.Error())
s.isLoading = false s.isLoading = false
return
} else if pds == nil {
s.Log("PDS (%s) Not Found.", args[1])
s.isLoading = false
return
} }
s.doOpen = false s.doOpen = false
s.cli.Log("Retrieved: %s (%s)", pds.AtId, pds.Did) s.cli.Log("Retrieved: %s (%s)", pds.AtId, pds.Did)
@@ -283,7 +288,7 @@ func (s *ScreenHome) cliGetPds(args ...string) bool {
} }
func (s *ScreenHome) updatePdsListing() { func (s *ScreenHome) updatePdsListing() {
s.pdsListing.SetTitle(fmt.Sprintf("─── %s (%s)", s.activePds.AtId.String(), s.activePds.Did.String())) s.pdsListing.SetTitle(fmt.Sprintf("─ %s (%s)", s.activePds.AtId.String(), s.activePds.Did.String()))
// When we first get the pds, all entries are models.TypeNSID // When we first get the pds, all entries are models.TypeNSID
s.pdsListingTypes = []models.EntryType{} s.pdsListingTypes = []models.EntryType{}
s.recordIdsToNSIDs = make(map[string]syntax.NSID) s.recordIdsToNSIDs = make(map[string]syntax.NSID)