diff options
Diffstat (limited to 'ui/src/home.rs')
-rw-r--r-- | ui/src/home.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ui/src/home.rs b/ui/src/home.rs new file mode 100644 index 0000000..7b58179 --- /dev/null +++ b/ui/src/home.rs @@ -0,0 +1,36 @@ +/* + 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) 2025 metamuffin <metamuffin.org> +*/ + +use crate::{ + locale::{Language, tr, trs}, + node_card::NodeCard, + scaffold::LayoutPage, +}; + +markup::define! { + HomePage<'a>(lang: &'a Language) { + h2 { @tr(lang, "home.bin.root").replace("{title}", &CONF.brand) } + ul.children.hlist {@for (node, udata) in &toplevel { + li { @NodeCard { node, udata, lang: &lang } } + }} + @for (name, nodes) in &categories { + @if !nodes.is_empty() { + h2 { @trs(&lang, &name) } + ul.children.hlist {@for (node, udata) in nodes { + li { @NodeCard { node, udata, lang: &lang } } + }} + } + } + } +} + +pub fn home_page() { + LayoutPage { + title: tr(lang, "home").to_string(), + content: HomePage { lang: &lang }, + ..Default::default() + } +} |