aboutsummaryrefslogtreecommitdiff
path: root/src/pages/repo/details.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/repo/details.rs')
-rw-r--r--src/pages/repo/details.rs37
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))
+}