2020-04-06 20:22:10 +02:00
|
|
|
use rocket::{Route};
|
|
|
|
use rocket::response::Redirect;
|
|
|
|
|
|
|
|
use rocket_contrib::templates::Template;
|
|
|
|
|
|
|
|
use crate::util::*;
|
|
|
|
|
2020-04-07 11:31:28 +02:00
|
|
|
const MAX: usize = 6;
|
2020-04-06 20:22:10 +02:00
|
|
|
|
2020-04-09 22:57:12 +02:00
|
|
|
/// Redirects to the first info page
|
2020-04-06 20:22:10 +02:00
|
|
|
#[get("/info")]
|
2020-04-09 22:57:12 +02:00
|
|
|
fn info_base() -> Redirect {
|
2020-04-06 20:22:10 +02:00
|
|
|
Redirect::to("/info/1")
|
|
|
|
}
|
|
|
|
|
2020-04-09 22:57:12 +02:00
|
|
|
/// Renders the <page> info page
|
2020-04-06 20:22:10 +02:00
|
|
|
#[get("/info/<page>")]
|
2020-04-09 22:57:12 +02:00
|
|
|
async fn info(page: usize) -> Template {
|
2020-04-06 20:22:10 +02:00
|
|
|
let context = Context::new_with("info", json!({
|
|
|
|
"page": page,
|
|
|
|
"next": if page + 1 <= MAX { Some(page + 1) } else { None },
|
|
|
|
"prev": if page - 1 > 0 { Some(page - 1) } else { None }
|
|
|
|
}));
|
|
|
|
|
2020-04-09 22:57:12 +02:00
|
|
|
Template::render(format!("info/info_{}", page), &context)
|
2020-04-06 20:22:10 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
pub fn fuel(routes: &mut Vec<Route>) {
|
2020-04-09 22:57:12 +02:00
|
|
|
routes.extend(routes![info_base, info]);
|
2020-04-06 20:22:10 +02:00
|
|
|
}
|