aboutsummaryrefslogtreecommitdiff
path: root/ui/src/components/node_page.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/components/node_page.rs')
-rw-r--r--ui/src/components/node_page.rs29
1 files changed, 21 insertions, 8 deletions
diff --git a/ui/src/components/node_page.rs b/ui/src/components/node_page.rs
index f40aa73..5cd71ce 100644
--- a/ui/src/components/node_page.rs
+++ b/ui/src/components/node_page.rs
@@ -4,7 +4,7 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::{RenderInfo, components::props::Props};
+use crate::{RenderInfo, components::props::Props, page};
use jellycommon::{
jellyobject::{Object, Tag, TypedTag},
routes::{u_image, u_node_slug_player},
@@ -13,9 +13,24 @@ use jellycommon::{
use jellyui_locale::tr;
use std::marker::PhantomData;
+page!(NodePage<'_>, |x| x
+ .nku
+ .node
+ .get(NO_TITLE)
+ .unwrap_or_default()
+ .to_string()
+ .into());
+page!(Player<'_>, |x| x
+ .nku
+ .node
+ .get(NO_TITLE)
+ .unwrap_or_default()
+ .to_string()
+ .into());
+
markup::define! {
- NodePage<'a>(ri: &'a RenderInfo<'a>, nku: Object<'a>) {
- @let node = nku.get(NKU_NODE).unwrap_or_default();
+ NodePage<'a>(ri: &'a RenderInfo<'a>, nku: Nku<'a>) {
+ @let node = nku.node;
@let slug = node.get(NO_SLUG).unwrap_or_default();
@let pics = node.get(NO_PICTURES).unwrap_or_default();
@if let Some(path) = pics.get(PICT_BACKDROP) {
@@ -59,7 +74,7 @@ markup::define! {
}
}
.details {
- @Props { ri, nku: *nku, full: true }
+ @Props { ri, nku, full: true }
h3 { @node.get(NO_TAGLINE).unwrap_or_default() }
@if let Some(description) = &node.get(NO_DESCRIPTION) {
p { @for line in description.lines() { @line br; } }
@@ -141,13 +156,11 @@ markup::define! {
// }
}
- Player<'a>(ri: &'a RenderInfo<'a>, nku: Object<'a>) {
+ Player<'a>(ri: &'a RenderInfo<'a>, nku: Nku<'a>) {
@let _ = ri;
- @let node = nku.get(NKU_NODE).unwrap_or_default();
- @let pics = node.get(NO_PICTURES).unwrap_or_default();
+ @let pics = nku.node.get(NO_PICTURES).unwrap_or_default();
video[id="player", poster=pics.get(PICT_COVER).map(|p| u_image(p, 2048))] {}
}
-
}
// fn chapter_key_time(c: Object, dur: f64) -> f64 {