+3
-1
.dockerignore
+3
-1
.dockerignore
+22
-2
services/darkroom/src/main.rs
+22
-2
services/darkroom/src/main.rs
···
9
9
use serde_json::json;
10
10
use std::collections::HashMap;
11
11
use tokio::net::TcpListener;
12
-
use tower_http::{cors::CorsLayer, trace::TraceLayer, services::ServeDir};
12
+
use tower_http::{cors::CorsLayer, trace::TraceLayer};
13
+
use axum::http::header;
13
14
use tracing::{info, warn};
14
15
15
16
mod composite_handler;
···
33
34
.route("/gallery-preview", get(adaptive_preview_route))
34
35
.route("/api/gallery", get(gallery_proxy_route))
35
36
.route("/xrpc/social.grain.darkroom.getGalleryComposite", get(adaptive_api_route))
36
-
.nest_service("/static", ServeDir::new("static"))
37
+
.route("/static/css/adaptive_layout.css", get(serve_css))
38
+
.route("/static/js/adaptive_layout.js", get(serve_js))
37
39
.layer(CorsLayer::permissive())
38
40
.layer(TraceLayer::new_for_http())
39
41
.fallback(not_found);
···
101
103
"timestamp": chrono::Utc::now().to_rfc3339()
102
104
}))
103
105
}
106
+
107
+
async fn serve_css() -> Result<Response<Body>, StatusCode> {
108
+
let css_content = include_str!("../static/css/adaptive_layout.css");
109
+
Ok(Response::builder()
110
+
.status(StatusCode::OK)
111
+
.header(header::CONTENT_TYPE, "text/css; charset=utf-8")
112
+
.body(Body::from(css_content))
113
+
.unwrap())
114
+
}
115
+
116
+
async fn serve_js() -> Result<Response<Body>, StatusCode> {
117
+
let js_content = include_str!("../static/js/adaptive_layout.js");
118
+
Ok(Response::builder()
119
+
.status(StatusCode::OK)
120
+
.header(header::CONTENT_TYPE, "application/javascript; charset=utf-8")
121
+
.body(Body::from(js_content))
122
+
.unwrap())
123
+
}