From 34a6e0150e650d2613ee20a109c5ff790a34006a Mon Sep 17 00:00:00 2001 From: Joe Julian Date: Sun, 29 Mar 2026 13:39:28 -0700 Subject: [PATCH] Sync UI path fallbacks during main landing --- main.go | 8 ++++++++ ui_keyboard.go | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 1ec8d61..941aca3 100644 --- a/main.go +++ b/main.go @@ -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() } diff --git a/ui_keyboard.go b/ui_keyboard.go index c8d2e2b..66fe538 100644 --- a/ui_keyboard.go +++ b/ui_keyboard.go @@ -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