1
Fork 0
mirror of https://github.com/RGBCube/GDUS synced 2025-07-28 05:27:45 +00:00

Add prototype code

This commit is contained in:
RGBCube 2023-11-16 12:22:48 +03:00
parent 2d5b3b2e6c
commit 45a48e1e9d
No known key found for this signature in database
5 changed files with 877 additions and 209 deletions

979
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -8,5 +8,10 @@ version = "0.0.1"
edition = "2021"
[dependencies]
axum = "0.6.20"
maud = { version = "0.25.0", features = [ "axum" ] }
actix-web = "4.4.0"
maud = { version = "0.25.0", features = [ "actix-web" ] }
serde = { version = "1.0.192", features = [ "derive" ] }
tokio = { version = "1.34.0", features = [ "full" ] }
[profile.dev]
incremental = true

14
src/index.rs Normal file
View file

@ -0,0 +1,14 @@
use actix_web as web;
use maud::{
html,
Markup,
DOCTYPE,
};
#[web::get("/")]
async fn index() -> web::Result<Markup> {
Ok(html! {
(DOCTYPE)
h1 { "Hello, World!" }
})
}

View file

@ -1,24 +1,19 @@
use axum::{
routing,
Router,
};
use maud::{
html,
Markup,
};
mod index;
mod submit;
async fn index() -> Markup {
html! {
h1 { "Hello, World!" }
}
}
#[tokio::main]
async fn main() {
let app = Router::new().route("/", routing::get(index));
axum::Server::bind(&"0.0.0.0:80".parse().unwrap())
.serve(app.into_make_service())
.await
.unwrap();
use std::io;
use actix_web as web;
#[web::main]
async fn main() -> io::Result<()> {
web::HttpServer::new(|| {
web::App::new()
.service(index::index)
.service(submit::submit)
.service(submit::submit_form)
})
.bind(("127.0.0.1", 80))?
.run()
.await
}

45
src/submit.rs Normal file
View file

@ -0,0 +1,45 @@
use actix_web as web;
use actix_web::web::Query;
use maud::{
html,
Markup,
DOCTYPE,
};
#[derive(Debug, serde::Deserialize)]
pub struct Reminder {
date: String,
message: String,
}
#[web::get("/submit-form")]
async fn submit_form(Query(reminder): Query<Reminder>) -> web::Result<Markup> {
println!("{reminder:?}");
Ok(html! {
(DOCTYPE)
h1 { "Kaydedildi." }
})
}
#[web::get("/submit")]
async fn submit() -> web::Result<Markup> {
Ok(html! {
(DOCTYPE)
form action="/submit-form" {
ul {
li class="li-button" {
button type="submit" { "Kaydet" }
}
li {
label for="date" { "Tarih:" }
input type="datetime-local" id="date" name="date";
}
li {
label for="message" { "Mesaj:" }
input id="message" name="message";
}
}
}
})
}