also require login for /dashboard
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
use axum::extract::{Request, State};
|
||||
use axum::{
|
||||
extract::{Request, State},
|
||||
response::{IntoResponse, Redirect, Response},
|
||||
};
|
||||
use chrono::{DateTime, Utc};
|
||||
use maud::{Markup, PreEscaped, html};
|
||||
use maud::{PreEscaped, html};
|
||||
|
||||
use crate::{
|
||||
MnemoState,
|
||||
@@ -21,12 +24,15 @@ const LINKS: &[(&str, &str, &str)] = &[
|
||||
("Add Person", "/persons", icons::CONTACT),
|
||||
];
|
||||
|
||||
pub async fn page(State(state): State<MnemoState>, req: Request) -> Result<Markup, CompositeError> {
|
||||
pub async fn page(
|
||||
State(state): State<MnemoState>,
|
||||
req: Request,
|
||||
) -> Result<Response, CompositeError> {
|
||||
let mut conn = state.pool.acquire().await?;
|
||||
let u = User::authenticate(&mut *conn, req.headers())
|
||||
.await
|
||||
.ok()
|
||||
.flatten();
|
||||
let u = match User::authenticate(&mut *conn, req.headers()).await? {
|
||||
Some(u) => Some(u),
|
||||
None => return Ok(Redirect::to(&format!("/login?r={}", req.uri().path())).into_response()),
|
||||
};
|
||||
|
||||
let newest_quote = match u {
|
||||
Some(_) => Quote::get_newest(&mut *conn).await?,
|
||||
@@ -114,7 +120,7 @@ pub async fn page(State(state): State<MnemoState>, req: Request) -> Result<Marku
|
||||
|
||||
div class="text-4xl xs:text-6xl sm:text-8xl text-neutral-800/25 mt-16 text-center font-semibold font-lora select-none" {"Mnemosyne"}
|
||||
),
|
||||
))
|
||||
).into_response())
|
||||
}
|
||||
|
||||
fn format_time_ago(dt: DateTime<Utc>) -> String {
|
||||
|
||||
Reference in New Issue
Block a user