aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui/home.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui/home.rs')
-rw-r--r--server/src/ui/home.rs32
1 files changed, 7 insertions, 25 deletions
diff --git a/server/src/ui/home.rs b/server/src/ui/home.rs
index 4a423cf..9e11900 100644
--- a/server/src/ui/home.rs
+++ b/server/src/ui/home.rs
@@ -5,39 +5,21 @@
*/
use super::error::MyResult;
-use crate::helper::{accept::AcceptJson, language::AcceptLanguage, A};
+use crate::helper::{accept::Accept, RequestInfo};
use jellycommon::api::ApiHomeResponse;
-use jellyimport::is_importing;
-use jellylogic::session::Session;
-use jellyui::{
- home::HomePage,
- render_page,
- scaffold::{RenderInfo, SessionInfo},
-};
+use jellyui::{home::HomePage, render_page};
use rocket::{get, response::content::RawHtml, serde::json::Json, Either};
#[get("/home")]
-pub fn r_home(
- session: A<Session>,
- aj: AcceptJson,
- lang: AcceptLanguage,
-) -> MyResult<Either<RawHtml<String>, Json<ApiHomeResponse>>> {
- let AcceptLanguage(lang) = lang;
+pub fn r_home(ri: RequestInfo) -> MyResult<Either<RawHtml<String>, Json<ApiHomeResponse>>> {
+ let r = jellylogic::home::home(&ri.session)?;
- let r = jellylogic::home::home(&session.0)?;
-
- Ok(if *aj {
+ Ok(if matches!(ri.accept, Accept::Json) {
Either::Right(Json(r))
} else {
Either::Left(RawHtml(render_page(
- &HomePage { lang: &lang, r },
- RenderInfo {
- importing: is_importing(),
- session: Some(SessionInfo {
- user: session.0.user,
- }),
- },
- lang,
+ &HomePage { lang: &ri.lang, r },
+ ri.render_info(),
)))
})
}