diff options
Diffstat (limited to 'server/src/ui/player.rs')
-rw-r--r-- | server/src/ui/player.rs | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/server/src/ui/player.rs b/server/src/ui/player.rs index ae4468d..4938c14 100644 --- a/server/src/ui/player.rs +++ b/server/src/ui/player.rs @@ -5,7 +5,7 @@ */ use super::error::MyResult; use crate::{ - helper::{language::AcceptLanguage, A}, + helper::{RequestInfo, A}, CONF, }; use jellycommon::{ @@ -14,13 +14,8 @@ use jellycommon::{ user::{PermissionSet, PlayerKind}, 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, Redirect}, @@ -44,30 +39,27 @@ fn jellynative_url(action: &str, seek: f64, secret: &str, node: &str, session: & #[get("/n/<id>/player?<t>", rank = 4)] pub fn r_player( - session: A<Session>, - lang: AcceptLanguage, + ri: RequestInfo, t: Option<f64>, id: A<NodeID>, ) -> MyResult<Either<RawHtml<String>, Redirect>> { - let AcceptLanguage(lang) = lang; - - let r = get_node(&session.0, id.0, false, true, NodeFilterSort::default())?; + let r = get_node(&ri.session, id.0, false, true, NodeFilterSort::default())?; let native_session = |action: &str| { Ok(Either::Right(Redirect::temporary(jellynative_url( action, t.unwrap_or(0.), - &session.0.user.native_secret, + &ri.session.user.native_secret, &id.0.to_string(), &jellylogic::session::create( - session.0.user.name.clone(), + ri.session.user.name.clone(), PermissionSet::default(), // TODO Duration::from_hours(24), ), )))) }; - match session.0.user.player_preference { + match ri.session.user.player_preference { PlayerKind::Browser => (), PlayerKind::Native => { return native_session("player-v2"); @@ -100,16 +92,10 @@ pub fn r_player( parents: &r.parents, similar: &[], filter: &NodeFilterSort::default(), - lang: &lang, + lang: &ri.lang, player: true, }, - RenderInfo { - importing: is_importing(), - session: Some(SessionInfo { - user: session.0.user, - }), - }, - lang, + ri.render_info(), )))) } |