From 80d28b764c95891551e28c395783f5ff9d065743 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 28 Apr 2025 00:48:52 +0200 Subject: start with splitting server --- ui/src/home.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ui/src/home.rs (limited to 'ui/src/home.rs') 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 +*/ + +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() + } +} -- cgit v1.2.3-70-g09d2