use crate::defaults::DEFAULT_NO_TEXT;
use crate::{
rumtk_web_collect_page, rumtk_web_get_param, rumtk_web_render_component,
rumtk_web_render_contents, rumtk_web_render_html, HTMLResult, RUMWebTemplate, SharedAppState,
URLParams, URLPath,
};
use rumtk_core::strings::RUMString;
#[derive(RUMWebTemplate)]
#[template(
source = "
<main class='' id='main-content'>
<div class='padding-bottom-200'>
</div>
{{contents|safe}}
<div class='padding-bottom-50'>
</div>
</main>
",
ext = "html"
)]
pub struct Main {
contents: RUMString,
}
pub fn main(path_components: URLPath, params: URLParams, state: SharedAppState) -> HTMLResult {
let page: RUMString =
rumtk_web_get_param!(path_components, 0, RUMString::from(DEFAULT_NO_TEXT));
let body_components = rumtk_web_collect_page!(page, state)?;
let contents = rumtk_web_render_component!(|| -> HTMLResult {
rumtk_web_render_contents(&body_components)
});
rumtk_web_render_html!(Main { contents })
}