aboutsummaryrefslogtreecommitdiff
path: root/ui/src/lib.rs
diff options
context:
space:
mode:
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()
+}