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::{
api::urls,
state::{Context, Model, Msg, Tag},
view::{
legacy::{view_search_results_legacy, view_thread_legacy},
view_header, view_search_results, view_thread,
},
view::{legacy, view_header, view_search_results, view_thread},
};
#[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.
let content = match &model.context {
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::Search(search_results) => view_search_results_legacy(&model.query, search_results),
Context::Search(search_results) => legacy::search_results(&model.query, search_results),
Context::SearchResult {
query,
results,

View File

@ -9,10 +9,7 @@ use crate::{
view::{human_age, pretty_authors, set_title, tags_chiclet},
};
pub(super) fn view_search_results_legacy(
query: &str,
search_results: &shared::SearchResult,
) -> Node<Msg> {
pub(super) fn search_results(query: &str, search_results: &shared::SearchResult) -> Node<Msg> {
if query.is_empty() {
set_title("all mail");
} else {
@ -45,7 +42,7 @@ pub(super) fn view_search_results_legacy(
});
let first = search_results.page * search_results.results_per_page;
div![
view_search_pager_legacy(first, summaries.len(), search_results.total),
search_pager(first, summaries.len(), search_results.total),
table![
C![
"table",
@ -62,11 +59,11 @@ pub(super) fn view_search_results_legacy(
]],
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_last = (start + SEARCH_RESULTS_PER_PAGE) >= total;
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);
let thread = &thread_set.0[0];
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> {
let message = thread.0.as_ref().expect("ThreadNode missing Message");
let children = &thread.1;

View File

@ -5,19 +5,18 @@ use crate::{
graphql::front_page_query::*,
state::{Context, Model, Msg},
view::{
human_age,
legacy::{view_search_pager_legacy, view_thread_legacy},
pretty_authors, set_title, tags_chiclet, view_header, view_search_pager, view_thread,
human_age, legacy, pretty_authors, set_title, tags_chiclet, view_header, view_search_pager,
view_thread,
},
};
pub(super) fn view(model: &Model) -> Node<Msg> {
let content = match &model.context {
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::Search(search_results) => {
view_mobile_search_results_legacy(&model.query, search_results)
legacy::mobile_search_results(&model.query, search_results)
}
Context::SearchResult {
query,
@ -70,54 +69,3 @@ fn view_mobile_search_results(
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)
]
}