aboutsummaryrefslogtreecommitdiff
path: root/ui/src/home.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/home.rs')
-rw-r--r--ui/src/home.rs36
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()
+ }
+}