aboutsummaryrefslogtreecommitdiff
path: root/ui/src/lib.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-04-28 18:27:03 +0200
committermetamuffin <metamuffin@disroot.org>2025-04-28 18:27:03 +0200
commit51761cbdefa39107b9e1f931f1aa8df6aebb2a94 (patch)
tree957ca180786ece777e6e1153ada91da741d845ec /ui/src/lib.rs
parent80d28b764c95891551e28c395783f5ff9d065743 (diff)
downloadjellything-51761cbdefa39107b9e1f931f1aa8df6aebb2a94.tar
jellything-51761cbdefa39107b9e1f931f1aa8df6aebb2a94.tar.bz2
jellything-51761cbdefa39107b9e1f931f1aa8df6aebb2a94.tar.zst
many much more generic refactor
Diffstat (limited to 'ui/src/lib.rs')
-rw-r--r--ui/src/lib.rs27
1 files changed, 23 insertions, 4 deletions
diff --git a/ui/src/lib.rs b/ui/src/lib.rs
index 40d43dd..4298623 100644
--- a/ui/src/lib.rs
+++ b/ui/src/lib.rs
@@ -1,15 +1,34 @@
+use markup::DynRender;
+
/*
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>
*/
+pub mod filter_sort;
pub mod format;
+pub mod home;
pub mod locale;
-pub mod node_page;
pub mod node_card;
-pub mod scaffold;
+pub mod node_page;
pub mod props;
-pub mod filter_sort;
+pub mod scaffold;
pub mod search;
+pub mod settings;
pub mod stats;
-pub mod home;
+
+/// render as supertrait would be possible but is not
+/// dyn compatible and I really dont want to expose generics
+/// that generate rendering code because of compile speed.
+pub trait Page {
+ fn title(&self) -> String;
+ fn to_render(&self) -> DynRender;
+ fn class(&self) -> Option<&'static str> {
+ None
+ }
+}
+
+pub fn render_page(page: &dyn Page) -> String {
+ // page.render()
+ "a".to_string()
+}