aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui/player.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui/player.rs')
-rw-r--r--server/src/ui/player.rs34
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(),
))))
}