web: make debug output hidden by default

This commit is contained in:
Bill Thiede 2023-12-10 16:11:15 -08:00
parent fae4e43682
commit f1b5e78962

View File

@ -7,6 +7,7 @@ use chrono::{DateTime, Datelike, Duration, Local, Utc};
use itertools::Itertools; use itertools::Itertools;
use log::{error, info}; use log::{error, info};
use seed::{prelude::*, *}; use seed::{prelude::*, *};
use seed_hooks::{state_access::CloneState, topo, use_state};
use wasm_timer::Instant; use wasm_timer::Instant;
use crate::{ use crate::{
@ -292,7 +293,7 @@ fn thread(thread: &ShowThreadQueryThread) -> Node<Msg> {
}, },
) => div![ ) => div![
raw_text_message(&contents), raw_text_message(&contents),
pre![C!["content-tree"], content_tree] view_content_tree(&content_tree),
], ],
ShowThreadQueryThreadMessagesBody::Html( ShowThreadQueryThreadMessagesBody::Html(
ShowThreadQueryThreadMessagesBodyOnHtml { ShowThreadQueryThreadMessagesBodyOnHtml {
@ -311,7 +312,7 @@ fn thread(thread: &ShowThreadQueryThread) -> Node<Msg> {
.iter() .iter()
.map(|a| div!["Filename: ", &a.filename, " ", &a.content_type]) .map(|a| div!["Filename: ", &a.filename, " ", &a.content_type])
]), ]),
pre![C!["content-tree"], content_tree] view_content_tree(&content_tree),
], ],
} }
], ],
@ -330,6 +331,30 @@ fn thread(thread: &ShowThreadQueryThread) -> Node<Msg> {
] ]
} }
#[topo::nested]
fn view_content_tree(content_tree: &str) -> Node<Msg> {
let debug_open = use_state(|| false);
div![
hr![],
small![
i![C![
"fa-solid",
if debug_open.get() {
"fa-angle-up"
} else {
"fa-angle-down"
}
]],
" Debug",
ev(Ev::Click, move |_| {
debug_open.set(!debug_open.get());
})
],
IF!(debug_open.get() =>
pre![C!["content-tree"], content_tree]),
]
}
fn view_header(query: &str, refresh_request: &RefreshingState) -> Node<Msg> { fn view_header(query: &str, refresh_request: &RefreshingState) -> Node<Msg> {
let is_loading = refresh_request == &RefreshingState::Loading; let is_loading = refresh_request == &RefreshingState::Loading;
let is_error = if let RefreshingState::Error(err) = refresh_request { let is_error = if let RefreshingState::Error(err) = refresh_request {