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.
15 lines
388 B
Rust
15 lines
388 B
Rust
mod app_state;
|
|
mod browse;
|
|
mod file_display_data;
|
|
mod rooms;
|
|
|
|
pub use app_state::{
|
|
AppState, ChatMessage, CommandBarMode, DownloadEntry, FocusedPane,
|
|
MessageDirection, SearchEntry, SearchStatus,
|
|
};
|
|
pub use browse::{
|
|
BrowseState, BrowseStatus, BrowseTabs, files_under, find_node,
|
|
};
|
|
pub use file_display_data::FileDisplayData;
|
|
pub use rooms::{RoomLine, RoomsState, RoomsView};
|