use crate::defaults::DEFAULT_NO_TEXT;
use crate::{rumtk_web_collect_page, rumtk_web_get_param, rumtk_web_render_contents, ComponentResult, RUMWebTemplate, RUMWebTemplateSafe, 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,
}
impl RUMWebTemplateSafe for Main {}
pub fn main(path_components: URLPath, params: URLParams, state: SharedAppState) -> ComponentResult<Main> {
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_contents(&body_components)?;
Ok(Main { contents: contents.to_string() })
}