WIP
This commit is contained in:
@@ -8,9 +8,9 @@ use std::{
|
||||
|
||||
use itertools::Itertools;
|
||||
use log::{debug, error, info, Level};
|
||||
use nm::{show_request, view_thread};
|
||||
use notmuch::ThreadSet;
|
||||
use seed::{prelude::*, *};
|
||||
use serde::Deserialize;
|
||||
use wasm_timer::Instant;
|
||||
|
||||
const SEARCH_RESULTS_PER_PAGE: usize = 20;
|
||||
@@ -93,7 +93,7 @@ mod urls {
|
||||
enum Context {
|
||||
None,
|
||||
Search(shared::SearchResult),
|
||||
Thread(ThreadSet),
|
||||
Thread(Vec<shared::Message>),
|
||||
}
|
||||
|
||||
// `Model` describes our app state.
|
||||
@@ -127,7 +127,7 @@ pub enum Msg {
|
||||
},
|
||||
SearchResult(fetch::Result<shared::SearchResult>),
|
||||
ShowRequest(String),
|
||||
ShowResult(fetch::Result<ThreadSet>),
|
||||
ShowResult(fetch::Result<Vec<shared::Message>>),
|
||||
NextPage,
|
||||
PreviousPage,
|
||||
}
|
||||
@@ -210,6 +210,19 @@ fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn show_request(tid: &str) -> fetch::Result<Vec<shared::Message>> {
|
||||
let b = Request::new(api::show(tid))
|
||||
.method(Method::Get)
|
||||
.fetch()
|
||||
.await?
|
||||
.check_status()?
|
||||
.bytes()
|
||||
.await?;
|
||||
let mut deserializer = serde_json::Deserializer::from_slice(&b);
|
||||
deserializer.disable_recursion_limit();
|
||||
Ok(Vec::<shared::Message>::deserialize(&mut deserializer)
|
||||
.map_err(|_| FetchError::JsonError(fetch::JsonError::Serde(JsValue::NULL)))?)
|
||||
}
|
||||
async fn search_request(
|
||||
query: &str,
|
||||
page: usize,
|
||||
@@ -496,6 +509,13 @@ fn view_footer(render_time_ms: u128) -> Node<Msg> {
|
||||
]
|
||||
}
|
||||
|
||||
fn view_thread(messages: &[shared::Message]) -> Node<Msg> {
|
||||
div![
|
||||
"MESSAGES GO HERE",
|
||||
ol![messages.iter().map(|msg| li![format!("{:?}", msg)])]
|
||||
]
|
||||
}
|
||||
|
||||
fn view_desktop(model: &Model) -> Node<Msg> {
|
||||
let content = match &model.context {
|
||||
Context::None => div![h1!["Loading"]],
|
||||
|
||||
Reference in New Issue
Block a user