diff options
Diffstat (limited to 'server/src/ui/mod.rs')
| -rw-r--r-- | server/src/ui/mod.rs | 43 |
1 files changed, 12 insertions, 31 deletions
diff --git a/server/src/ui/mod.rs b/server/src/ui/mod.rs index 112bb6b..855b25f 100644 --- a/server/src/ui/mod.rs +++ b/server/src/ui/mod.rs @@ -3,48 +3,29 @@ which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2026 metamuffin <metamuffin.org> */ +use crate::{State, request_info::RequestInfo}; use error::MyResult; -use rocket::{futures::FutureExt, get}; +use jellycommon::routes::{u_account_login, u_home}; +use rocket::{futures::FutureExt, get, response::Redirect}; use std::{future::Future, pin::Pin, sync::Arc}; use tokio::{fs::File, io::AsyncRead}; -use crate::State; - pub mod account; -// pub mod admin; +pub mod admin; pub mod assets; pub mod error; pub mod home; -// pub mod items; pub mod node; -// pub mod player; -// pub mod search; -// pub mod stats; pub mod style; -// #[get("/")] -// pub async fn r_index( -// lang: AcceptLanguage, -// sess: Option<A<Session>>, -// ) -> MyResult<Either<Redirect, RawHtml<String>>> { -// let AcceptLanguage(lang) = lang; -// if sess.is_some() { -// Ok(Either::Left(Redirect::temporary(rocket::uri!(r_home())))) -// } else { -// let front = read_to_string(CONF.asset_path.join("front.htm")).await?; -// Ok(Either::Right(RawHtml(render_page( -// &CustomPage { -// title: "Jellything".to_string(), -// body: front, -// }, -// RenderInfo { -// importing: false, -// session: None, -// lang, -// }, -// )))) -// } -// } +#[get("/")] +pub async fn r_index(ri: RequestInfo<'_>) -> MyResult<Redirect> { + if ri.user.is_some() { + Ok(Redirect::temporary(u_home())) + } else { + Ok(Redirect::temporary(u_account_login())) + } +} #[get("/favicon.ico")] pub async fn r_favicon(s: &rocket::State<Arc<State>>) -> MyResult<File> { |