feat(tui): tabbed browsing — browse several users at once

Replace the single browse view with BrowseTabs (one tab per user),
mirroring the chat-room tabs. Browsing a new user (from search results
or a chat room's member list) opens or focuses their tab; Tab/Shift-Tab
switch between open users, 'w' closes the active tab, Esc hides the
popup while keeping the tabs. A tab bar shows the open users when more
than one is open, and each tab polls/loads independently. Re-browsing a
timed-out user retries. BrowseTabs is unit-tested.
This commit is contained in:
michel
2026-07-19 20:38:34 +02:00
parent 5a3bc6fcd5
commit 60896619d7
5 changed files with 246 additions and 49 deletions
+3 -1
View File
@@ -7,6 +7,8 @@ pub use app_state::{
AppState, ChatMessage, CommandBarMode, DownloadEntry, FocusedPane,
MessageDirection, SearchEntry, SearchStatus,
};
pub use browse::{BrowseState, BrowseStatus, files_under, find_node};
pub use browse::{
BrowseState, BrowseStatus, BrowseTabs, files_under, find_node,
};
pub use file_display_data::FileDisplayData;
pub use rooms::{RoomLine, RoomsState, RoomsView};