diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-19 01:25:04 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-19 01:25:04 +0100 |
| commit | 10290e706ac0190c874e8b6117cb2c11b5e6e504 (patch) | |
| tree | 85e95935cb6eacf58cb3e9f8992d9bc3a22cf558 /server | |
| parent | cc31d1b1a35d356dad044f24b3104f74a50277be (diff) | |
| download | jellything-10290e706ac0190c874e8b6117cb2c11b5e6e504.tar jellything-10290e706ac0190c874e8b6117cb2c11b5e6e504.tar.bz2 jellything-10290e706ac0190c874e8b6117cb2c11b5e6e504.tar.zst | |
set page titles
Diffstat (limited to 'server')
| -rw-r--r-- | server/src/ui/admin/mod.rs | 2 | ||||
| -rw-r--r-- | server/src/ui/home.rs | 114 | ||||
| -rw-r--r-- | server/src/ui/node.rs | 6 | ||||
| -rw-r--r-- | server/src/ui/player.rs | 9 |
4 files changed, 76 insertions, 55 deletions
diff --git a/server/src/ui/admin/mod.rs b/server/src/ui/admin/mod.rs index 555b6bc..57f00db 100644 --- a/server/src/ui/admin/mod.rs +++ b/server/src/ui/admin/mod.rs @@ -9,6 +9,7 @@ pub mod import; use super::error::MyResult; use crate::{request_info::RequestInfo, ui_responder::UiResponse}; use jellycommon::{jellyobject::ObjectBuffer, *}; +use jellyui::tr; use rocket::get; #[get("/admin/dashboard")] @@ -22,6 +23,7 @@ pub async fn r_admin_dashboard(ri: RequestInfo<'_>) -> MyResult<UiResponse> { })?; Ok(ri.respond_ui(ObjectBuffer::new(&mut [ + (VIEW_TITLE.0, &&*tr(ri.lang, "admin.dashboard.title")), (VIEW_ADMIN_DASHBOARD.0, &()), ( VIEW_ADMIN_INFO.0, diff --git a/server/src/ui/home.rs b/server/src/ui/home.rs index 1f5ea8d..c25add1 100644 --- a/server/src/ui/home.rs +++ b/server/src/ui/home.rs @@ -8,74 +8,80 @@ use super::error::MyResult; use crate::{request_info::RequestInfo, ui_responder::UiResponse}; use anyhow::Result; use jellycommon::{ - jellyobject::{Object, ObjectBuffer, Path}, + jellyobject::{Object, ObjectBuffer, ObjectBufferBuilder, Path}, *, }; use jellydb::{Filter, MultiBehaviour, Query, Sort, SortOrder, ValueSort}; +use jellyui::tr; use rocket::get; #[get("/home")] pub fn r_home(ri: RequestInfo<'_>) -> MyResult<UiResponse> { ri.require_user()?; - let mut page = ObjectBuffer::empty(); + let mut page = ObjectBufferBuilder::default(); - let latest_video = home_row( - &ri, - "home.bin.latest_video", - Query { - filter: Filter::All(vec![ - Filter::Match(Path(vec![NO_VISIBILITY.0]), VISI_VISIBLE.into()), - Filter::Match(Path(vec![NO_KIND.0]), KIND_VIDEO.into()), - ]), - sort: Sort::Value(ValueSort { - order: SortOrder::Descending, - path: Path(vec![NO_RELEASEDATE.0]), - multi: MultiBehaviour::First, - offset: None, - }), - }, - )?; - let latest_music = home_row( - &ri, - "home.bin.latest_music", - Query { - filter: Filter::All(vec![ - Filter::Match(Path(vec![NO_VISIBILITY.0]), VISI_VISIBLE.into()), - Filter::Match(Path(vec![NO_KIND.0]), KIND_MUSIC.into()), - ]), - sort: Sort::Value(ValueSort { - order: SortOrder::Descending, - path: Path(vec![NO_RELEASEDATE.0]), - multi: MultiBehaviour::First, - offset: None, - }), - }, - )?; - let max_rating = home_row( - &ri, - "home.bin.max_rating", - Query { - filter: Filter::True, - sort: Sort::Value(ValueSort { - order: SortOrder::Descending, - path: Path(vec![NO_RATINGS.0, RTYP_TMDB.0]), - multi: MultiBehaviour::First, - offset: None, - }), - }, - )?; + page.push(VIEW_TITLE, &&*tr(ri.lang, "home")); - page = page.as_object().insert_multi( + page.push( VIEW_NODE_LIST, - &[ - latest_video.as_object(), - latest_music.as_object(), - max_rating.as_object(), - ], + home_row( + &ri, + "home.bin.latest_video", + Query { + filter: Filter::All(vec![ + Filter::Match(Path(vec![NO_VISIBILITY.0]), VISI_VISIBLE.into()), + Filter::Match(Path(vec![NO_KIND.0]), KIND_VIDEO.into()), + ]), + sort: Sort::Value(ValueSort { + order: SortOrder::Descending, + path: Path(vec![NO_RELEASEDATE.0]), + multi: MultiBehaviour::First, + offset: None, + }), + }, + )? + .as_object(), + ); + page.push( + VIEW_NODE_LIST, + home_row( + &ri, + "home.bin.latest_music", + Query { + filter: Filter::All(vec![ + Filter::Match(Path(vec![NO_VISIBILITY.0]), VISI_VISIBLE.into()), + Filter::Match(Path(vec![NO_KIND.0]), KIND_MUSIC.into()), + ]), + sort: Sort::Value(ValueSort { + order: SortOrder::Descending, + path: Path(vec![NO_RELEASEDATE.0]), + multi: MultiBehaviour::First, + offset: None, + }), + }, + )? + .as_object(), + ); + page.push( + VIEW_NODE_LIST, + home_row( + &ri, + "home.bin.max_rating", + Query { + filter: Filter::True, + sort: Sort::Value(ValueSort { + order: SortOrder::Descending, + path: Path(vec![NO_RATINGS.0, RTYP_TMDB.0]), + multi: MultiBehaviour::First, + offset: None, + }), + }, + )? + .as_object(), ); - Ok(ri.respond_ui(page)) + Ok(ri.respond_ui(page.finish())) } fn home_row(ri: &RequestInfo<'_>, title: &str, q: Query) -> Result<ObjectBuffer> { diff --git a/server/src/ui/node.rs b/server/src/ui/node.rs index 853a96b..87b8446 100644 --- a/server/src/ui/node.rs +++ b/server/src/ui/node.rs @@ -28,7 +28,13 @@ pub fn r_node(ri: RequestInfo<'_>, slug: &str) -> MyResult<UiResponse> { let nku = nku.as_object(); let mut page = ObjectBufferBuilder::default(); + let title = nku + .get(NKU_NODE) + .unwrap_or_default() + .get(NO_TITLE) + .unwrap_or_default(); + page.push(VIEW_TITLE, title); page.push(VIEW_NODE_PAGE, nku); c_children(&mut page, txn, row, &nku)?; c_credits(&mut page, txn, &nku)?; diff --git a/server/src/ui/player.rs b/server/src/ui/player.rs index 6af1012..a03e455 100644 --- a/server/src/ui/player.rs +++ b/server/src/ui/player.rs @@ -6,8 +6,8 @@ use super::error::MyResult; use crate::{request_info::RequestInfo, ui_responder::UiResponse}; use jellycommon::{ - NKU_NODE, NO_SLUG, VIEW_PLAYER, jellyobject::{Object, ObjectBuffer, ObjectBufferBuilder, Path}, + *, }; use jellydb::{Filter, Query, Sort}; use rocket::get; @@ -40,6 +40,13 @@ pub fn r_player(ri: RequestInfo<'_>, t: Option<f64>, slug: &str) -> MyResult<UiR let nku = Object::EMPTY.insert(NKU_NODE, n.as_object()); let mut page = ObjectBufferBuilder::default(); + let title = nku + .as_object() + .get(NKU_NODE) + .unwrap_or_default() + .get(NO_TITLE) + .unwrap_or_default(); + page.push(VIEW_TITLE, title); page.push(VIEW_PLAYER, nku.as_object()); page_out = page.finish(); |