Use local deps
This commit is contained in:
parent
ba01105058
commit
6b5bd9f113
11 changed files with 40 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
|||
*.json
|
||||
/node_modules/
|
||||
/target/
|
||||
logs
|
||||
|
|
|
@ -15,6 +15,7 @@ axum = { version = "0.5", default-features = false, features = [
|
|||
"query",
|
||||
"form",
|
||||
] }
|
||||
axum-extra = { version = "0.3", features = ["spa"] }
|
||||
captcha = "0.0.9"
|
||||
lettre = "0.10"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
|
|
11
src/main.rs
11
src/main.rs
|
@ -12,6 +12,7 @@ use axum::extract::Extension;
|
|||
use axum::routing::{get, post};
|
||||
use axum::{error_handling::HandleErrorLayer, http::StatusCode, BoxError};
|
||||
use axum::{Router, Server};
|
||||
use axum_extra::routing::SpaRouter;
|
||||
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
|
||||
use std::process;
|
||||
use std::sync::Arc;
|
||||
|
@ -41,10 +42,16 @@ async fn init() -> Result<WorkerGuard> {
|
|||
let config = Arc::new(config);
|
||||
let captcha_solutions = Arc::new(captcha_solutions::SharedCaptchaSolutions::new());
|
||||
|
||||
let spa = SpaRouter::new(&format!("{}/static", &path_prefix), "static");
|
||||
|
||||
let routes = Router::new()
|
||||
.route("/", get(routes::index))
|
||||
.route("/submit", post(routes::submit))
|
||||
.route("/success", get(routes::success))
|
||||
.route("/success", get(routes::success));
|
||||
|
||||
let app = Router::new()
|
||||
.nest(&path_prefix, routes)
|
||||
.merge(spa)
|
||||
.layer(TraceLayer::new_for_http().on_response(DefaultOnResponse::new().level(Level::INFO)))
|
||||
.layer(
|
||||
ServiceBuilder::new()
|
||||
|
@ -61,8 +68,6 @@ async fn init() -> Result<WorkerGuard> {
|
|||
.layer(Extension(mailer))
|
||||
.layer(Extension(captcha_solutions));
|
||||
|
||||
let app = Router::new().nest(&path_prefix, routes);
|
||||
|
||||
Server::bind(&socket_address)
|
||||
.serve(app.into_make_service())
|
||||
.await
|
||||
|
|
|
@ -79,11 +79,12 @@ pub async fn submit(
|
|||
}
|
||||
}
|
||||
|
||||
success().await
|
||||
success(config).await
|
||||
}
|
||||
|
||||
pub async fn success() -> Result<Response, errors::AppError> {
|
||||
pub async fn success(config: Extension<Arc<config::Config>>) -> Result<Response, errors::AppError> {
|
||||
let template = templates::Success {
|
||||
path_prefix: &config.path_prefix,
|
||||
message:
|
||||
"Ihre Anfrage wurde erfolgreich übermittelt! Wir melden uns bald bei Ihnen zurück.",
|
||||
};
|
||||
|
|
|
@ -16,5 +16,6 @@ pub struct ContactForm<'a> {
|
|||
#[derive(Template)]
|
||||
#[template(path = "success.askama.html")]
|
||||
pub struct Success<'a> {
|
||||
pub path_prefix: &'a str,
|
||||
pub message: &'a str,
|
||||
}
|
||||
|
|
7
static/bootstrap/bootstrap.bundle.min.js
vendored
Normal file
7
static/bootstrap/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
static/bootstrap/bootstrap.bundle.min.js.map
Normal file
1
static/bootstrap/bootstrap.bundle.min.js.map
Normal file
File diff suppressed because one or more lines are too long
7
static/bootstrap/bootstrap.min.css
vendored
Normal file
7
static/bootstrap/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
static/bootstrap/bootstrap.min.css.map
Normal file
1
static/bootstrap/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
|
@ -8,13 +8,13 @@
|
|||
|
||||
{% block styles %}{% endblock %}
|
||||
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
||||
<link href="{{ path_prefix }}/static/bootstrap/bootstrap.min.css" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
{% block body %}{% endblock %}
|
||||
|
||||
{% block scripts %}{% endblock %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
|
||||
<script src="{{ path_prefix }}/static/bootstrap/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
7
update_deps.sh
Executable file
7
update_deps.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
npm update
|
||||
|
||||
cp -v node_modules/bootstrap/dist/{css/bootstrap.min.css{,.map},js/bootstrap.bundle.min.js{,.map}} static/bootstrap
|
Loading…
Reference in a new issue