Style the file-service #76
|
@ -9,6 +9,8 @@ use warp::{filters::multipart::FormData, http::Response, multipart::Part};
|
|||
|
||||
use crate::{pages, App, AuthToken, FileId, FileInfo, ReadFileError, SessionToken};
|
||||
|
||||
const CSS: &str = include_str!("../templates/style.css");
|
||||
|
||||
pub async fn handle_index(
|
||||
app: App,
|
||||
token: Option<SessionToken>,
|
||||
|
@ -22,6 +24,13 @@ pub async fn handle_index(
|
|||
}
|
||||
}
|
||||
|
||||
pub async fn handle_css() -> Result<Response<String>, Error> {
|
||||
Response::builder()
|
||||
.header("content-type", "text/css")
|
||||
.status(StatusCode::OK)
|
||||
.body(CSS.to_owned())
|
||||
}
|
||||
|
||||
pub fn render_auth_page(message: Option<String>) -> Result<Response<String>, Error> {
|
||||
Response::builder()
|
||||
.status(StatusCode::OK)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
extern crate log;
|
||||
|
||||
use cookie::Cookie;
|
||||
use handlers::{file, handle_auth, handle_upload, thumbnail};
|
||||
use handlers::{file, handle_auth, handle_css, handle_upload, thumbnail};
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
convert::Infallible,
|
||||
|
@ -119,6 +119,8 @@ pub async fn main() {
|
|||
.and(maybe_with_session())
|
||||
.then(handle_index);
|
||||
|
||||
let styles = warp::path!("css").and(warp::get()).then(handle_css);
|
||||
|
||||
let auth = warp::path!("auth")
|
||||
.and(warp::post())
|
||||
.and(with_app(app.clone()))
|
||||
|
@ -145,7 +147,8 @@ pub async fn main() {
|
|||
.then(move |id, old_etags, app: App| file(app, id, old_etags));
|
||||
|
||||
let server = warp::serve(
|
||||
root.or(auth)
|
||||
root.or(styles)
|
||||
.or(auth)
|
||||
.or(upload_via_form)
|
||||
.or(thumbnail)
|
||||
.or(file)
|
||||
|
|
Loading…
Reference in New Issue