web: add tablet rendering, listen to window resize events.

This commit is contained in:
2023-12-02 10:56:14 -08:00
parent 4c2526c70b
commit 714b057fdb
5 changed files with 61 additions and 19 deletions

30
web/src/view/tablet.rs Normal file
View File

@@ -0,0 +1,30 @@
use seed::{prelude::*, *};
use crate::{
state::{Context, Model, Msg},
view::{view_header, view_search_results, view_thread},
};
pub(super) fn view(model: &Model) -> Node<Msg> {
// Do two queries, one without `unread` so it loads fast, then a second with unread.
let content = match &model.context {
Context::None => div![h1!["Loading"]],
Context::Thread(_) => unimplemented!("tablet legacy thread view"),
Context::ThreadResult(thread) => view_thread(thread),
Context::Search(_) => unimplemented!("tablet legacy search results view"),
Context::SearchResult {
query,
results,
count,
pager,
} => view_search_results(&query, results.as_slice(), *count, pager),
};
div![
C!["main-content"],
div![
view_header(&model.query, &model.refreshing_state),
content,
view_header(&model.query, &model.refreshing_state),
]
]
}