web: use random emoji when search results empty, handle search vs catchup

This commit is contained in:
Bill Thiede 2025-04-20 09:37:12 -07:00
parent e5fdde8f30
commit b3070e1919
2 changed files with 21 additions and 6 deletions

View File

@ -50,9 +50,10 @@ features = [
"Clipboard",
"DomRect",
"Element",
"History",
"MediaQueryList",
"Navigator",
"Window",
"History",
"Performance",
"ScrollRestoration",
"Window",
]

View File

@ -335,17 +335,31 @@ fn search_results(
]
})
.collect();
let show_bulk_edit = !selected_threads.is_empty();
let all_selected = (selected_threads.len() == results.len()) && !rows.is_empty();
let content = if rows.is_empty() {
let caught_up = query.contains("is:unread");
let read_emoji = ["👻", "👽", "👾", "🤖", "💀"];
let no_results_emoji = ["🙈", "👀", "🤦", "🤷", "🙅", "🛟", "🍩", "🌑", "💿", "🔍"];
let now = seed::window()
.performance()
.map(|p| p.now() as usize)
.unwrap_or(0);
let (emoji, text) = if caught_up {
let idx = now % read_emoji.len();
(read_emoji[idx], "All caught up!")
} else {
let idx = now % no_results_emoji.len();
(no_results_emoji[idx], "No results")
};
div![
C!["text-center"],
h1![C!["text-9xl"], "🥳"],
p![C!["mt-8", "text-3xl", "font-semibold"], "All caught up!"]
h1![C!["text-9xl"], emoji],
p![C!["mt-8", "text-3xl", "font-semibold"], text]
]
} else {
div![rows]
};
let show_bulk_edit = !selected_threads.is_empty();
let all_selected = selected_threads.len() == results.len();
div![
C!["flex", "flex-col", "flex-auto", "p-4"],
search_toolbar(count, pager, show_bulk_edit, all_selected),