26 lines
603 B
Rust
26 lines
603 B
Rust
|
use crate::dao::v1::*;
|
||
|
/**
|
||
|
* View routes
|
||
|
*/
|
||
|
use crate::state::*;
|
||
|
use log::*;
|
||
|
use tide::{Body, Request, Server};
|
||
|
|
||
|
pub fn register(app: &mut Server<AppState<'static>>) {
|
||
|
app.at("/").get(index);
|
||
|
}
|
||
|
|
||
|
async fn index(req: Request<AppState<'static>>) -> tide::Result<Body> {
|
||
|
let data = json!({
|
||
|
"projects" : Project::load_all(),
|
||
|
});
|
||
|
let lang = match req.header("Accept-Language") {
|
||
|
Some(l) => l.as_str(),
|
||
|
None => "en",
|
||
|
};
|
||
|
let langs = y10n::parse_accept_language(lang);
|
||
|
info!("Lang: {:?}", langs);
|
||
|
|
||
|
req.state().render("index", &langs, Some(data)).await
|
||
|
}
|