Sync UI path fallbacks during main landing

This commit is contained in:
Joe Julian
2026-03-29 13:39:28 -07:00
parent cfec0c6703
commit c050cb3e40
2 changed files with 13 additions and 2 deletions
+8
View File
@@ -232,6 +232,11 @@ func newUIWithState(mode string, sess appstate.CurrentSession) *ui {
}
func (u *ui) filter() {
if len(u.state.CurrentPath) == 0 && len(u.currentPath) > 0 {
u.state.CurrentPath = append([]string(nil), u.currentPath...)
} else {
u.currentPath = append([]string(nil), u.state.CurrentPath...)
}
u.state.SearchQuery = u.search.Text()
visible, err := u.state.VisibleEntries()
if err != nil {
@@ -282,18 +287,21 @@ func (u *ui) selectedAttachmentNames() []string {
func (u *ui) showEntriesSection() {
u.state.Section = appstate.SectionEntries
u.state.NavigateToPath(nil)
u.currentPath = nil
u.filter()
}
func (u *ui) showTemplatesSection() {
u.state.Section = appstate.SectionTemplates
u.state.NavigateToPath(nil)
u.currentPath = nil
u.filter()
}
func (u *ui) showRecycleBinSection() {
u.state.Section = appstate.SectionRecycleBin
u.state.NavigateToPath(nil)
u.currentPath = nil
u.filter()
}
+5 -2
View File
@@ -234,12 +234,15 @@ func (u *ui) handleShortcutKey(name key.Name, modifiers key.Modifiers) bool {
}
func (u *ui) activateBreadcrumb(index int) {
var path []string
if index <= 0 {
u.state.NavigateToPath(nil)
path = nil
} else {
crumbs := u.breadcrumbLabels()
u.state.NavigateToPath(append([]string{}, crumbs[1:index+1]...))
path = append([]string{}, crumbs[1:index+1]...)
}
u.currentPath = append([]string(nil), path...)
u.state.NavigateToPath(path)
u.filter()
if index >= len(u.breadcrumbLabels()) {
index = len(u.breadcrumbLabels()) - 1