mirror of
https://github.com/LukeMathWalker/zero-to-production.git
synced 2024-05-18 16:28:08 +00:00
42 lines
1.1 KiB
Rust
42 lines
1.1 KiB
Rust
use actix_web::{http::header::ContentType, HttpResponse};
|
|
use actix_web_flash_messages::{IncomingFlashMessages};
|
|
use std::fmt::Write;
|
|
|
|
pub async fn login_form(flash_messages: IncomingFlashMessages) -> HttpResponse {
|
|
let mut error_html = String::new();
|
|
for m in flash_messages.iter() {
|
|
writeln!(error_html, "<p><i>{}</i></p>", m.content()).unwrap();
|
|
}
|
|
HttpResponse::Ok()
|
|
.content_type(ContentType::html())
|
|
.body(format!(
|
|
r#"<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
|
<title>Login</title>
|
|
</head>
|
|
<body>
|
|
{error_html}
|
|
<form action="/login" method="post">
|
|
<label>Username
|
|
<input
|
|
type="text"
|
|
placeholder="Enter Username"
|
|
name="username"
|
|
>
|
|
</label>
|
|
<label>Password
|
|
<input
|
|
type="password"
|
|
placeholder="Enter Password"
|
|
name="password"
|
|
>
|
|
</label>
|
|
<button type="submit">Login</button>
|
|
</form>
|
|
</body>
|
|
</html>"#,
|
|
))
|
|
}
|