web: rename legacy functions to take advantage of mod namespacing

This commit is contained in:
Bill Thiede 2023-12-02 10:11:56 -08:00
parent 28d5562491
commit a8f4aa03bd
3 changed files with 62 additions and 70 deletions

View File

@ -5,10 +5,7 @@ use seed_hooks::{state_access::CloneState, topo, use_state};
use crate::{ use crate::{
api::urls, api::urls,
state::{Context, Model, Msg, Tag}, state::{Context, Model, Msg, Tag},
view::{ view::{legacy, view_header, view_search_results, view_thread},
legacy::{view_search_results_legacy, view_thread_legacy},
view_header, view_search_results, view_thread,
},
}; };
#[topo::nested] #[topo::nested]
@ -16,9 +13,9 @@ pub(super) fn view(model: &Model) -> Node<Msg> {
// Do two queries, one without `unread` so it loads fast, then a second with unread. // Do two queries, one without `unread` so it loads fast, then a second with unread.
let content = match &model.context { let content = match &model.context {
Context::None => div![h1!["Loading"]], Context::None => div![h1!["Loading"]],
Context::Thread(thread_set) => view_thread_legacy(thread_set), Context::Thread(thread_set) => legacy::thread(thread_set),
Context::ThreadResult(thread) => view_thread(thread), Context::ThreadResult(thread) => view_thread(thread),
Context::Search(search_results) => view_search_results_legacy(&model.query, search_results), Context::Search(search_results) => legacy::search_results(&model.query, search_results),
Context::SearchResult { Context::SearchResult {
query, query,
results, results,

View File

@ -9,10 +9,7 @@ use crate::{
view::{human_age, pretty_authors, set_title, tags_chiclet}, view::{human_age, pretty_authors, set_title, tags_chiclet},
}; };
pub(super) fn view_search_results_legacy( pub(super) fn search_results(query: &str, search_results: &shared::SearchResult) -> Node<Msg> {
query: &str,
search_results: &shared::SearchResult,
) -> Node<Msg> {
if query.is_empty() { if query.is_empty() {
set_title("all mail"); set_title("all mail");
} else { } else {
@ -45,7 +42,7 @@ pub(super) fn view_search_results_legacy(
}); });
let first = search_results.page * search_results.results_per_page; let first = search_results.page * search_results.results_per_page;
div![ div![
view_search_pager_legacy(first, summaries.len(), search_results.total), search_pager(first, summaries.len(), search_results.total),
table![ table![
C![ C![
"table", "table",
@ -62,11 +59,11 @@ pub(super) fn view_search_results_legacy(
]], ]],
tbody![rows] tbody![rows]
], ],
view_search_pager_legacy(first, summaries.len(), search_results.total) search_pager(first, summaries.len(), search_results.total)
] ]
} }
pub(super) fn view_search_pager_legacy(start: usize, count: usize, total: usize) -> Node<Msg> { fn search_pager(start: usize, count: usize, total: usize) -> Node<Msg> {
let is_first = start <= 0; let is_first = start <= 0;
let is_last = (start + SEARCH_RESULTS_PER_PAGE) >= total; let is_last = (start + SEARCH_RESULTS_PER_PAGE) >= total;
nav![ nav![
@ -90,7 +87,7 @@ pub(super) fn view_search_pager_legacy(start: usize, count: usize, total: usize)
] ]
} }
pub(super) fn view_thread_legacy(thread_set: &ThreadSet) -> Node<Msg> { pub(super) fn thread(thread_set: &ThreadSet) -> Node<Msg> {
assert_eq!(thread_set.0.len(), 1); assert_eq!(thread_set.0.len(), 1);
let thread = &thread_set.0[0]; let thread = &thread_set.0[0];
assert_eq!(thread.0.len(), 1); assert_eq!(thread.0.len(), 1);
@ -107,6 +104,56 @@ pub(super) fn view_thread_legacy(thread_set: &ThreadSet) -> Node<Msg> {
], ],
] ]
} }
pub(super) fn mobile_search_results(
query: &str,
search_results: &shared::SearchResult,
) -> Node<Msg> {
if query.is_empty() {
set_title("all mail");
} else {
set_title(query);
}
let summaries = &search_results.summary.0;
let rows = summaries.iter().map(|r| {
/*
let tid = r.thread.clone();
tr![
td![
C!["from"],
pretty_authors(&r.authors),
IF!(r.total>1 => small![" ", r.total.to_string()]),
],
td![C!["subject"], tags_chiclet(&r.tags), " ", &r.subject],
td![C!["date"], &r.date_relative],
ev(Ev::Click, move |_| Msg::ShowPrettyRequest(tid)),
]
*/
let tid = r.thread.clone();
let datetime = human_age(r.timestamp as i64);
a![
C!["has-text-light"],
attrs! {
At::Href => urls::thread(&tid)
},
div![
C!["row"],
div![C!["subject"], &r.subject],
span![C!["from", "is-size-7"], pretty_authors(&r.authors)],
div![
span![C!["is-size-7"], tags_chiclet(&r.tags, true)],
span![C!["is-size-7", "float-right", "date"], datetime]
]
]
]
});
let first = search_results.page * search_results.results_per_page;
div![
C!["search-results"],
search_pager(first, summaries.len(), search_results.total),
rows,
search_pager(first, summaries.len(), search_results.total)
]
}
fn view_message(thread: &ThreadNode) -> Node<Msg> { fn view_message(thread: &ThreadNode) -> Node<Msg> {
let message = thread.0.as_ref().expect("ThreadNode missing Message"); let message = thread.0.as_ref().expect("ThreadNode missing Message");
let children = &thread.1; let children = &thread.1;

View File

@ -5,19 +5,18 @@ use crate::{
graphql::front_page_query::*, graphql::front_page_query::*,
state::{Context, Model, Msg}, state::{Context, Model, Msg},
view::{ view::{
human_age, human_age, legacy, pretty_authors, set_title, tags_chiclet, view_header, view_search_pager,
legacy::{view_search_pager_legacy, view_thread_legacy}, view_thread,
pretty_authors, set_title, tags_chiclet, view_header, view_search_pager, view_thread,
}, },
}; };
pub(super) fn view(model: &Model) -> Node<Msg> { pub(super) fn view(model: &Model) -> Node<Msg> {
let content = match &model.context { let content = match &model.context {
Context::None => div![h1!["Loading"]], Context::None => div![h1!["Loading"]],
Context::Thread(thread_set) => view_thread_legacy(thread_set), Context::Thread(thread_set) => legacy::thread(thread_set),
Context::ThreadResult(thread) => view_thread(thread), Context::ThreadResult(thread) => view_thread(thread),
Context::Search(search_results) => { Context::Search(search_results) => {
view_mobile_search_results_legacy(&model.query, search_results) legacy::mobile_search_results(&model.query, search_results)
} }
Context::SearchResult { Context::SearchResult {
query, query,
@ -70,54 +69,3 @@ fn view_mobile_search_results(
view_search_pager(count, pager), view_search_pager(count, pager),
] ]
} }
fn view_mobile_search_results_legacy(
query: &str,
search_results: &shared::SearchResult,
) -> Node<Msg> {
if query.is_empty() {
set_title("all mail");
} else {
set_title(query);
}
let summaries = &search_results.summary.0;
let rows = summaries.iter().map(|r| {
/*
let tid = r.thread.clone();
tr![
td![
C!["from"],
pretty_authors(&r.authors),
IF!(r.total>1 => small![" ", r.total.to_string()]),
],
td![C!["subject"], tags_chiclet(&r.tags), " ", &r.subject],
td![C!["date"], &r.date_relative],
ev(Ev::Click, move |_| Msg::ShowPrettyRequest(tid)),
]
*/
let tid = r.thread.clone();
let datetime = human_age(r.timestamp as i64);
a![
C!["has-text-light"],
attrs! {
At::Href => urls::thread(&tid)
},
div![
C!["row"],
div![C!["subject"], &r.subject],
span![C!["from", "is-size-7"], pretty_authors(&r.authors)],
div![
span![C!["is-size-7"], tags_chiclet(&r.tags, true)],
span![C!["is-size-7", "float-right", "date"], datetime]
]
]
]
});
let first = search_results.page * search_results.results_per_page;
div![
C!["search-results"],
view_search_pager_legacy(first, summaries.len(), search_results.total),
rows,
view_search_pager_legacy(first, summaries.len(), search_results.total)
]
}