package browser // HandleSearch filters entries by the given query string. // It performs case-insensitive substring matching across all entries in the SortIndex. // When query is empty, search results are cleared. // When results are found, ScrollOffset is set to jump to the first match. func HandleSearch(s *BrowserState, query string) { s.Query = query // Empty query clears search results; leave ScrollOffset unchanged. if query == "" { s.SearchResults = nil s.ScrollOffset = 0 // Reset scroll offset when search is cleared return } recomputeSearchResults(s) }