diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-31 13:11:36 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-31 13:11:36 +0200 |
commit | 373243a81f8c44fcfc6a3612ba46da2c6a3286c6 (patch) | |
tree | f2cee1099592d7a3771647cce58a3feb2ae462a9 /server/src/ui/node.rs | |
parent | 3e834092ba230ee081065a3b80ad227d585b5a13 (diff) | |
download | jellything-373243a81f8c44fcfc6a3612ba46da2c6a3286c6.tar jellything-373243a81f8c44fcfc6a3612ba46da2c6a3286c6.tar.bz2 jellything-373243a81f8c44fcfc6a3612ba46da2c6a3286c6.tar.zst |
use RenderInfo guard everywhere and start to use FlashMessage
Diffstat (limited to 'server/src/ui/node.rs')
-rw-r--r-- | server/src/ui/node.rs | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/server/src/ui/node.rs b/server/src/ui/node.rs index 0b1a92f..7085a5a 100644 --- a/server/src/ui/node.rs +++ b/server/src/ui/node.rs @@ -4,42 +4,34 @@ Copyright (C) 2025 metamuffin <metamuffin.org> */ use super::error::MyResult; -use crate::helper::{accept::AcceptJson, language::AcceptLanguage, A}; +use crate::helper::{RequestInfo, A}; use jellycommon::{ api::{ApiNodeResponse, NodeFilterSort}, NodeID, }; -use jellyimport::is_importing; -use jellylogic::{node::get_node, session::Session}; -use jellyui::{ - node_page::NodePage, - render_page, - scaffold::{RenderInfo, SessionInfo}, -}; +use jellylogic::node::get_node; +use jellyui::{node_page::NodePage, render_page}; use rocket::{get, response::content::RawHtml, serde::json::Json, Either}; #[get("/n/<id>?<parents>&<children>&<filter..>")] pub async fn r_node<'a>( - session: A<Session>, + ri: RequestInfo, id: A<NodeID>, - aj: AcceptJson, filter: Option<A<NodeFilterSort>>, - lang: AcceptLanguage, parents: bool, children: bool, ) -> MyResult<Either<RawHtml<String>, Json<ApiNodeResponse>>> { - let AcceptLanguage(lang) = lang; let filter = filter.unwrap_or_default(); let r = get_node( - &session.0, + &ri.session, id.0, - !*aj || children, - !*aj || parents, + !ri.accept.is_json() || children, + !ri.accept.is_json() || parents, filter.0.clone(), )?; - Ok(if *aj { + Ok(if ri.accept.is_json() { Either::Right(Json(r)) } else { Either::Left(RawHtml(render_page( @@ -50,16 +42,10 @@ pub async fn r_node<'a>( parents: &r.parents, similar: &[], filter: &filter.0, - lang: &lang, + lang: &ri.lang, player: false, }, - RenderInfo { - importing: is_importing(), - session: Some(SessionInfo { - user: session.0.user, - }), - }, - lang, + ri.render_info(), ))) }) } |