HX-Redirect to handle redirections with htmx
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Change password</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="/admin/password" method="post">
|
||||
<input
|
||||
type="password"
|
||||
name="current_password"
|
||||
placeholder="Current password"
|
||||
/>
|
||||
<input type="password" name="new_password" placeholder="New password" />
|
||||
<input
|
||||
type="password"
|
||||
name="new_password_check"
|
||||
placeholder="Confirm new password"
|
||||
/>
|
||||
<button type="submit">Change password</button>
|
||||
</form>
|
||||
{}
|
||||
<p><a href="/admin/dashboard">Back</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,21 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Admin dashboard</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Welcome {}!</p>
|
||||
<p>Available actions:</p>
|
||||
<ol>
|
||||
<li><a href="/admin/password">Change password</a></li>
|
||||
<li><a href="/admin/newsletters">Send a newsletter</a></li>
|
||||
<li>
|
||||
<form name="logoutForm" action="/admin/logout" method="post">
|
||||
<input type="submit" value="Logout" />
|
||||
</form>
|
||||
</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>Send a newsletter</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="/admin/newsletters" method="post">
|
||||
<input type="text" name="title" placeholder="Subject" />
|
||||
<input type="text" name="html" placeholder="Content (HTML)" />
|
||||
<input type="text" name="text" placeholder="Content (text)" />
|
||||
<input hidden type="text" name="idempotency_key" value="{}" />
|
||||
<button type="submit">Send</button>
|
||||
</form>
|
||||
{}
|
||||
<p><a href="/admin/dashboard">Back</a></p>
|
||||
</body>
|
||||
</html>
|
||||
14
src/routes/admin/logout.rs
Normal file
14
src/routes/admin/logout.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
use crate::{routes::AdminError, session_state::TypedSession};
|
||||
use axum::{
|
||||
http::HeaderMap,
|
||||
response::{IntoResponse, Response},
|
||||
};
|
||||
use reqwest::StatusCode;
|
||||
|
||||
#[tracing::instrument(name = "Logging out", skip(session))]
|
||||
pub async fn logout(session: TypedSession) -> Result<Response, AdminError> {
|
||||
session.clear().await;
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert("HX-Redirect", "/login".parse().unwrap());
|
||||
Ok((StatusCode::OK, headers).into_response())
|
||||
}
|
||||
Reference in New Issue
Block a user