/* This file is part of jellything (https://codeberg.org/metamuffin/jellything) which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2026 metamuffin */ use crate::{CONF, Page, locale::tr, node_card::NodeCard, scaffold::RenderInfo}; use markup::DynRender; markup::define! { HomePage<'a>(ri: RenderInfo<'a>, r: ApiHomeResponse) { h2 { @tr(ri.lang, "home.bin.root").replace("{title}", &CONF.brand) } ul.children.hlist {@for nodeu in &r.toplevel { li { @NodeCard { ri, nodeu } } }} @for (name, nodes) in &r.categories { // @if !nodes.is_empty() { // h2 { @trs(lang, name) } // ul.children.hlist {@for (node, udata) in nodes { // li { @NodeCard { node, udata, lang } } // }} // } } } } impl Page for HomePage<'_> { fn title(&self) -> String { tr(self.ri.lang, "home").to_string() } fn to_render(&self) -> DynRender<'_> { markup::new!(@self) } }