commit d19e4b1d2bb8300b22f0c6c032c6aeb6cd7f9156 parent f7c1a39bc159360c3419cb93b07f555e22080171 Author: William Casarin <jb55@jb55.com> Date: Sat, 22 Feb 2025 20:01:23 -0800 search: improve search column header Signed-off-by: William Casarin <jb55@jb55.com> Diffstat:
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/crates/notedeck_columns/src/search.rs b/crates/notedeck_columns/src/search.rs @@ -6,7 +6,7 @@ use tokenator::{ParseError, TokenParser, TokenSerializable, TokenWriter}; #[derive(Debug, Eq, PartialEq, Clone, Hash)] pub struct SearchQuery { author: Option<Pubkey>, - search: String, + pub search: String, } impl TokenSerializable for SearchQuery { diff --git a/crates/notedeck_columns/src/timeline/kind.rs b/crates/notedeck_columns/src/timeline/kind.rs @@ -588,7 +588,9 @@ impl TimelineKind { pub fn to_title(&self) -> ColumnTitle<'_> { match self { - TimelineKind::Search(_query) => ColumnTitle::simple("Search"), + TimelineKind::Search(query) => { + ColumnTitle::formatted(format!("Search \"{}\"", query.search)) + } TimelineKind::List(list_kind) => match list_kind { ListKind::Contact(_pubkey_source) => ColumnTitle::simple("Contacts"), }, diff --git a/crates/notedeck_columns/src/ui/column/header.rs b/crates/notedeck_columns/src/ui/column/header.rs @@ -434,9 +434,14 @@ impl<'a> NavTitle<'a> { // no pfp for threads } + TimelineKind::Search(_sq) => { + // TODO: show author pfp if author field set? + + ui.add(ui::side_panel::search_button()); + } + TimelineKind::Universe | TimelineKind::Algo(_) - | TimelineKind::Search(_) | TimelineKind::Notifications(_) | TimelineKind::Generic(_) | TimelineKind::List(_) => { diff --git a/crates/notedeck_columns/src/ui/side_panel.rs b/crates/notedeck_columns/src/ui/side_panel.rs @@ -487,8 +487,7 @@ fn compose_note_button(interactive: bool, dark_mode: bool) -> impl Widget { } } -#[allow(unused)] -fn search_button() -> impl Widget { +pub fn search_button() -> impl Widget { |ui: &mut egui::Ui| -> egui::Response { let max_size = ICON_WIDTH * ICON_EXPANSION_MULTIPLE; // max size of the widget let min_line_width_circle = 1.5; // width of the magnifying glass