diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-07 13:34:04 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-07 13:34:04 +0100 |
| commit | 3a6205f6077c1555f2f3bcf308f5e9605b8dbf53 (patch) | |
| tree | 0742ed69f9abf8973ee62291ba0984e7caffae18 /ui/src/components/node_page.rs | |
| parent | 4ce6d64648634bd8d22e8ed0676e0e5b22947dc3 (diff) | |
| download | jellything-3a6205f6077c1555f2f3bcf308f5e9605b8dbf53.tar jellything-3a6205f6077c1555f2f3bcf308f5e9605b8dbf53.tar.bz2 jellything-3a6205f6077c1555f2f3bcf308f5e9605b8dbf53.tar.zst | |
reenable node page extras
Diffstat (limited to 'ui/src/components/node_page.rs')
| -rw-r--r-- | ui/src/components/node_page.rs | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/ui/src/components/node_page.rs b/ui/src/components/node_page.rs index 2a5848b..265e2d4 100644 --- a/ui/src/components/node_page.rs +++ b/ui/src/components/node_page.rs @@ -4,7 +4,11 @@ Copyright (C) 2026 metamuffin <metamuffin.org> */ -use crate::{RenderInfo, components::props::Props, page}; +use crate::{ + RenderInfo, + components::{node_card::NodeCard, props::Props}, + page, +}; use jellycommon::{ jellyobject::{EMPTY, Object, Tag, TypedTag}, routes::{u_image, u_node_slug_player}, @@ -29,7 +33,13 @@ page!(Player<'_>, |x| x .into()); markup::define! { - NodePage<'a>(ri: &'a RenderInfo<'a>, nku: Nku<'a>) { + NodePage<'a>( + ri: &'a RenderInfo<'a>, + nku: Nku<'a>, + children: &'a [Nku<'a>], + credits: &'a [(Tag, Vec<Nku<'a>>)], + credited: &'a [Nku<'a>] + ) { @let node = &nku.node; @let slug = node.get(NO_SLUG).unwrap_or_default(); @let pics = node.get(NO_PICTURES).unwrap_or(EMPTY); @@ -145,15 +155,24 @@ markup::define! { } } } - // @if matches!(node.kind, NodeKind::Collection | NodeKind::Channel) { - // @NodeFilterSortForm { f: filter, lang } - // } - // @if !similar.is_empty() { - // h2 { @trs(lang, "node.similar") } - // ul.children.hlist {@for (node, udata) in similar.iter() { - // li { @NodeCard { node, udata, lang } } - // }} - // } + + @for (cat, items) in *credits { + h2 { @tr(ri.lang, &format!("tag.cred.kind.{cat}")) } + ul.nl.inline { @for nku in items { + li { @NodeCard { ri, nku } } + }} + } + @if !credited.is_empty() { + h2 { @tr(ri.lang, &format!("node.credited")) } + ul.nl.grid { @for nku in *credited { + li { @NodeCard { ri, nku } } + }} + } + @if !children.is_empty() { + ul.nl.grid { @for nku in *children { + li { @NodeCard { ri, nku } } + }} + } } Player<'a>(ri: &'a RenderInfo<'a>, nku: Nku<'a>) { |