diff --git a/examples/kanban/src/main.rs b/examples/kanban/src/main.rs index 20baccd..bfba402 100644 --- a/examples/kanban/src/main.rs +++ b/examples/kanban/src/main.rs @@ -35,6 +35,11 @@ struct Card { column: usize, } +#[derive(Hemplate)] +struct AppShell { + body: SafeHtml, +} + #[derive(Hemplate)] #[hemplate = "partials"] struct BoardColumns { @@ -232,32 +237,8 @@ fn page_html(board: &BoardState) -> SafeHtml { } fn shell(body: SafeHtml) -> SafeHtml { - // Explicit full-page composition boundary for already-rendered hemplate fragments. // req: html_safety/001 req: html_safety/002 req: axum_integration/001 - SafeHtml::trusted(format!( - r#" - - - - - slhx Kanban - - - - - {body} - -"# - )) + slhx::render(&AppShell { body }) } fn render_options() -> SafeHtml { diff --git a/examples/kanban/templates/app_shell.heml b/examples/kanban/templates/app_shell.heml new file mode 100644 index 0000000..0bfcb2b --- /dev/null +++ b/examples/kanban/templates/app_shell.heml @@ -0,0 +1,20 @@ + + + + + + slhx Kanban + + + +{+= self.body =+} +