2025-04-08 20:18:50 +02:00

45 lines
1.1 KiB
Rust

use crate::page;
use axum::{routing::get, Router};
use maud::{html, Markup};
use sqlx::SqlitePool;
use std::sync::Arc;
use tower_sessions::Session;
pub(crate) mod route;
pub(crate) mod station;
pub(crate) mod team;
async fn index(session: Session) -> Markup {
let content = html! {
h1 { (t!("app_name")) }
nav {
ul {
li {
a role="button" href="/admin/station" {
(t!("stations"))
}
}
li {
a role="button" href="/admin/route" {
(t!("routes"))
}
}
li {
a role="button" href="/admin/team" {
(t!("teams"))
}
}
}
}
};
page(content, session, false).await
}
pub(super) fn routes() -> Router<Arc<SqlitePool>> {
Router::new()
.route("/", get(index))
.nest("/station", station::routes())
.nest("/route", route::routes())
.nest("/team", team::routes())
}