Merge the updates and releases pages

* Remove unused story page
* Remove updates page
* Remove updates from nav
This commit is contained in:
Nate
2021-09-24 17:04:02 -04:00
parent a90ccbdc86
commit 4013e45af6
7 changed files with 19 additions and 188 deletions
-4
View File
@@ -9,8 +9,6 @@ mod github;
mod home;
mod rpc;
mod team;
mod story;
mod updates;
mod releases;
mod community;
@@ -177,9 +175,7 @@ pub async fn run_server(
web.with(errors::Middleware);
home::add_routes(&mut web);
team::add_routes(&mut web);
story::add_routes(&mut web);
releases::add_routes(&mut web);
updates::add_routes(&mut web);
community::add_routes(&mut web);
admin::add_routes(&mut web);
auth::add_routes(&mut web);
-15
View File
@@ -1,15 +0,0 @@
use crate::{AppState, Request, RequestExt};
use std::sync::Arc;
use tide::http::mime;
pub fn add_routes(story: &mut tide::Server<Arc<AppState>>) {
story.at("/story").get(get_story);
}
async fn get_story(mut request: Request) -> tide::Result {
let data = request.layout_data().await?;
Ok(tide::Response::builder(200)
.body(request.state().render_template("story.hbs", &data)?)
.content_type(mime::HTML)
.build())
}
-55
View File
@@ -1,55 +0,0 @@
use crate::{
auth::RequestExt as _, github::Release, AppState, LayoutData, Request, RequestExt as _,
};
use comrak::ComrakOptions;
use serde::{Serialize};
use std::sync::Arc;
use tide::{http::mime};
pub fn add_routes(updates: &mut tide::Server<Arc<AppState>>) {
updates.at("/updates").get(get_updates);
}
async fn get_updates(mut request: Request) -> tide::Result {
#[derive(Serialize)]
struct UpdatesData {
#[serde(flatten)]
layout: Arc<LayoutData>,
releases: Option<Vec<Release>>,
}
let mut data = UpdatesData {
layout: request.layout_data().await?,
releases: None,
};
if let Some(user) = request.current_user().await? {
if user.is_insider {
data.releases = Some(
request
.state()
.repo_client
.releases()
.await?
.into_iter()
.filter_map(|mut release| {
if release.draft {
None
} else {
let mut options = ComrakOptions::default();
options.render.unsafe_ = true; // Allow raw HTML in the markup. We control these release notes anyway.
release.body = comrak::markdown_to_html(&release.body, &options);
Some(release)
}
})
.collect(),
);
}
}
Ok(tide::Response::builder(200)
.body(request.state().render_template("updates.hbs", &data)?)
.content_type(mime::HTML)
.build())
}