diff options
Diffstat (limited to 'src/pages/repo/details.rs')
-rw-r--r-- | src/pages/repo/details.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/pages/repo/details.rs b/src/pages/repo/details.rs new file mode 100644 index 0000000..4745e96 --- /dev/null +++ b/src/pages/repo/details.rs @@ -0,0 +1,37 @@ +use super::RepoWrapper; +use crate::types::{BranchData, CommitData, RepoData}; +use actix_web::{web, HttpRequest, HttpResponse, Result}; +use askama::Template; + +#[derive(Template)] +#[template(path = "repo/details.html")] +struct AboutRepo { + repo: RepoWrapper, + branches: Vec<BranchData>, + commits: Vec<CommitData>, +} + +/// Renders the "repository/about" subpage +pub async fn render(req: HttpRequest, path: web::Path<String>) -> Result<HttpResponse> { + let repo = AboutRepo { + branches: vec![], + commits: vec![], + repo: RepoWrapper { + data: RepoData { + owner: "spacekookie".into(), + name: "octopus".into(), + tagline: "A lightweight web frontend for git repositories".into(), + num_commit: 141, + num_branch: 1, + num_tag: 0, + num_contributor: 3, + size: "13.12M".into(), + }, + logo: "fakeavi.png".into(), + }, + } + .render() + .unwrap(); + + Ok(HttpResponse::Ok().content_type("text/html").body(repo)) +} |