Build base web page
This commit is contained in:
		
							
								
								
									
										85
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										85
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -352,6 +352,50 @@ version = "1.7.1"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 | 
					checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "askama"
 | 
				
			||||||
 | 
					version = "0.12.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "askama_derive",
 | 
				
			||||||
 | 
					 "askama_escape",
 | 
				
			||||||
 | 
					 "humansize",
 | 
				
			||||||
 | 
					 "num-traits",
 | 
				
			||||||
 | 
					 "percent-encoding",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "askama_derive"
 | 
				
			||||||
 | 
					version = "0.12.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "askama_parser",
 | 
				
			||||||
 | 
					 "basic-toml",
 | 
				
			||||||
 | 
					 "mime",
 | 
				
			||||||
 | 
					 "mime_guess",
 | 
				
			||||||
 | 
					 "proc-macro2",
 | 
				
			||||||
 | 
					 "quote",
 | 
				
			||||||
 | 
					 "serde",
 | 
				
			||||||
 | 
					 "syn",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "askama_escape"
 | 
				
			||||||
 | 
					version = "0.10.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "askama_parser"
 | 
				
			||||||
 | 
					version = "0.2.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "nom",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "async-trait"
 | 
					name = "async-trait"
 | 
				
			||||||
version = "0.1.85"
 | 
					version = "0.1.85"
 | 
				
			||||||
@@ -442,6 +486,15 @@ version = "0.22.1"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 | 
					checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "basic-toml"
 | 
				
			||||||
 | 
					version = "0.1.9"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "serde",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "bitflags"
 | 
					name = "bitflags"
 | 
				
			||||||
version = "2.8.0"
 | 
					version = "2.8.0"
 | 
				
			||||||
@@ -1174,6 +1227,15 @@ version = "1.0.3"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 | 
					checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "humansize"
 | 
				
			||||||
 | 
					version = "2.1.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "libm",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "humantime"
 | 
					name = "humantime"
 | 
				
			||||||
version = "2.1.0"
 | 
					version = "2.1.0"
 | 
				
			||||||
@@ -1471,6 +1533,12 @@ version = "0.2.169"
 | 
				
			|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
 | 
					checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "libm"
 | 
				
			||||||
 | 
					version = "0.2.11"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "light-openid"
 | 
					name = "light-openid"
 | 
				
			||||||
version = "1.0.2"
 | 
					version = "1.0.2"
 | 
				
			||||||
@@ -1537,6 +1605,7 @@ dependencies = [
 | 
				
			|||||||
 "actix-session",
 | 
					 "actix-session",
 | 
				
			||||||
 "actix-web",
 | 
					 "actix-web",
 | 
				
			||||||
 "anyhow",
 | 
					 "anyhow",
 | 
				
			||||||
 | 
					 "askama",
 | 
				
			||||||
 "clap",
 | 
					 "clap",
 | 
				
			||||||
 "env_logger",
 | 
					 "env_logger",
 | 
				
			||||||
 "lazy_static",
 | 
					 "lazy_static",
 | 
				
			||||||
@@ -1598,6 +1667,12 @@ dependencies = [
 | 
				
			|||||||
 "rxml",
 | 
					 "rxml",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "minimal-lexical"
 | 
				
			||||||
 | 
					version = "0.2.1"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "miniz_oxide"
 | 
					name = "miniz_oxide"
 | 
				
			||||||
version = "0.8.3"
 | 
					version = "0.8.3"
 | 
				
			||||||
@@ -1636,6 +1711,16 @@ dependencies = [
 | 
				
			|||||||
 "tempfile",
 | 
					 "tempfile",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "nom"
 | 
				
			||||||
 | 
					version = "7.1.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "memchr",
 | 
				
			||||||
 | 
					 "minimal-lexical",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "num-bigint"
 | 
					name = "num-bigint"
 | 
				
			||||||
version = "0.4.6"
 | 
					version = "0.4.6"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,3 +18,4 @@ thiserror = "2.0.11"
 | 
				
			|||||||
rand = "0.9.0-beta.3"
 | 
					rand = "0.9.0-beta.3"
 | 
				
			||||||
rust-embed = "8.5.0"
 | 
					rust-embed = "8.5.0"
 | 
				
			||||||
mime_guess = "2.0.5"
 | 
					mime_guess = "2.0.5"
 | 
				
			||||||
 | 
					askama = "0.12.1"
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								assets/favicon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/favicon.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.6 KiB  | 
@@ -5,6 +5,7 @@ use crate::user::{User, UserID};
 | 
				
			|||||||
use crate::utils;
 | 
					use crate::utils;
 | 
				
			||||||
use actix_session::Session;
 | 
					use actix_session::Session;
 | 
				
			||||||
use actix_web::{web, HttpResponse};
 | 
					use actix_web::{web, HttpResponse};
 | 
				
			||||||
 | 
					use askama::Template;
 | 
				
			||||||
use light_openid::primitives::OpenIDConfig;
 | 
					use light_openid::primitives::OpenIDConfig;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Static assets
 | 
					/// Static assets
 | 
				
			||||||
@@ -26,6 +27,10 @@ pub async fn static_file(path: web::Path<String>) -> HttpResult {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[derive(askama::Template)]
 | 
				
			||||||
 | 
					#[template(path = "index.html")]
 | 
				
			||||||
 | 
					struct HomeTemplate {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Main route
 | 
					/// Main route
 | 
				
			||||||
pub async fn home(session: Session) -> HttpResult {
 | 
					pub async fn home(session: Session) -> HttpResult {
 | 
				
			||||||
    // Get user information, requesting authentication if information is missing
 | 
					    // Get user information, requesting authentication if information is missing
 | 
				
			||||||
@@ -46,7 +51,9 @@ pub async fn home(session: Session) -> HttpResult {
 | 
				
			|||||||
            .finish());
 | 
					            .finish());
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Ok(HttpResponse::Ok().body("You are authenticated!"))
 | 
					    Ok(HttpResponse::Ok()
 | 
				
			||||||
 | 
					        .insert_header(("content-type", "text/html"))
 | 
				
			||||||
 | 
					        .body(HomeTemplate {}.render().unwrap()))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(serde::Deserialize)]
 | 
					#[derive(serde::Deserialize)]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								templates/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								templates/index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <title>Matrix GW</title>
 | 
				
			||||||
 | 
					    <link rel="icon" type="image/png" href="/static/favicon.png" />
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user