add: everything else

This commit is contained in:
trisua 2025-03-21 01:38:07 -04:00
parent c982e1dc15
commit 6dff656583
19 changed files with 4955 additions and 0 deletions

17
src/routes/assets.rs Normal file
View file

@ -0,0 +1,17 @@
use axum::response::IntoResponse;
/// `/css/style.css`
pub async fn style_css_request() -> impl IntoResponse {
(
[("Content-Type", "text/css")],
crate::data::assets::STYLE_CSS,
)
}
/// `/js/atto.js`
pub async fn atto_js_request() -> impl IntoResponse {
(
[("Content-Type", "text/javascript")],
crate::data::assets::ATTO_JS,
)
}

48
src/routes/mod.rs Normal file
View file

@ -0,0 +1,48 @@
pub mod assets;
use crate::State;
use axum::{
Extension, Router,
response::{Html, IntoResponse},
routing::get,
};
/// `/`
pub async fn index_request(Extension(data): Extension<State>) -> impl IntoResponse {
let data = data.read().await;
let mut context = data.initial_context();
Html(data.1.render("index.html", &mut context).unwrap())
}
/// `/_atto/login`
pub async fn login_request(Extension(data): Extension<State>) -> impl IntoResponse {
let data = data.read().await;
let mut context = data.initial_context();
Html(
data.1
.render("_atto/auth/login.html", &mut context)
.unwrap(),
)
}
/// `/_atto/register`
pub async fn register_request(Extension(data): Extension<State>) -> impl IntoResponse {
let data = data.read().await;
let mut context = data.initial_context();
Html(
data.1
.render("_atto/auth/register.html", &mut context)
.unwrap(),
)
}
pub fn routes() -> Router {
Router::new()
// assets
.route("/css/style.css", get(assets::style_css_request))
.route("/js/atto.js", get(assets::atto_js_request))
// pages
.route("/", get(index_request))
.route("/_atto/login", get(login_request))
.route("/_atto/register", get(register_request))
}