redirect to /login and redirect back, instead of showing small msg

This commit is contained in:
2026-04-09 15:20:02 +02:00
parent 3c111212f0
commit b93cdfba63
10 changed files with 217 additions and 211 deletions

View File

@@ -1,6 +1,6 @@
use axum::{
extract::{Query, Request},
response::{IntoResponse, Response},
response::{IntoResponse, Redirect, Response},
};
use maud::{PreEscaped, html};
use serde::Deserialize;
@@ -9,10 +9,7 @@ use crate::{
database,
error::CompositeError,
quotes::Quote,
users::{
User,
auth::{UserAuthRequired, UserAuthenticate},
},
users::{User, auth::UserAuthenticate},
web::{
components::{nav::nav, quote::quote},
icons,
@@ -31,7 +28,10 @@ pub async fn page(
Query(query): Query<PageQuery>,
req: Request,
) -> Result<Response, CompositeError> {
let u = User::authenticate(req.headers())?.required()?;
let u = match User::authenticate(req.headers())? {
Some(u) => u,
None => return Ok(Redirect::to(&format!("/login?r={}", req.uri().path())).into_response()),
};
let conn = database::conn()?;
let page = query.page.unwrap_or(1).max(1);