diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html index 2ea7152..d44cf43 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html @@ -8,9 +8,9 @@ - + - + diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css index 3a6e727..8167dbb 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css @@ -77,7 +77,7 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url('https://cdn.jsdelivr.net/npm/@fontsource/dseg14-classic/files/dseg14-classic-latin-400-normal.woff2') format('woff2'); + src: url('/vendor/dseg14-classic-latin-400-normal.woff2') format('woff2'); unicode-range: U+0030-0039, U+002E, U+002D, U+0020, U+002B; } diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/vendor/dseg14-classic-latin-400-normal.woff2 b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/vendor/dseg14-classic-latin-400-normal.woff2 new file mode 100644 index 0000000..ba7cd02 Binary files /dev/null and b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/vendor/dseg14-classic-latin-400-normal.woff2 differ diff --git a/src/trx-client/trx-frontend/trx-frontend-http/src/api/assets.rs b/src/trx-client/trx-frontend/trx-frontend-http/src/api/assets.rs index 6539b5c..611844d 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/src/api/assets.rs +++ b/src/trx-client/trx-frontend/trx-frontend-http/src/api/assets.rs @@ -70,6 +70,9 @@ define_gz_cache!( define_gz_cache!(gz_vchan_js, status::VCHAN_JS, "vchan.js"); define_gz_cache!(gz_bandplan_json, status::BANDPLAN_JSON, "bandplan.json"); +// Vendored DSEG14 Classic font +// (binary woff2 — served directly, not through gz_cache) + // Vendored Leaflet 1.9.4 define_gz_cache!(gz_leaflet_js, status::LEAFLET_JS, "leaflet.js"); define_gz_cache!(gz_leaflet_css, status::LEAFLET_CSS, "leaflet.css"); @@ -378,6 +381,18 @@ pub(crate) async fn bandplan_json(req: HttpRequest) -> impl Responder { static_asset_response(&req, "application/json; charset=utf-8", c) } +// --------------------------------------------------------------------------- +// Vendored DSEG14 Classic font +// --------------------------------------------------------------------------- + +#[get("/vendor/dseg14-classic-latin-400-normal.woff2")] +pub(crate) async fn dseg14_classic_woff2() -> impl Responder { + HttpResponse::Ok() + .insert_header((header::CONTENT_TYPE, "font/woff2")) + .insert_header((header::CACHE_CONTROL, "public, max-age=604800, immutable")) + .body(status::DSEG14_CLASSIC_WOFF2) +} + // --------------------------------------------------------------------------- // Vendored Leaflet 1.9.4 // --------------------------------------------------------------------------- diff --git a/src/trx-client/trx-frontend/trx-frontend-http/src/api/mod.rs b/src/trx-client/trx-frontend/trx-frontend-http/src/api/mod.rs index 08be84c..9d0c9cc 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/src/api/mod.rs +++ b/src/trx-client/trx-frontend/trx-frontend-http/src/api/mod.rs @@ -667,6 +667,8 @@ pub fn configure(cfg: &mut web::ServiceConfig) { .service(assets::background_decode_js) .service(assets::vchan_js) .service(assets::bandplan_json) + // Vendored DSEG14 Classic font + .service(assets::dseg14_classic_woff2) // Vendored Leaflet 1.9.4 .service(assets::leaflet_js) .service(assets::leaflet_css) diff --git a/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs b/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs index 180aea3..2f5fe24 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs +++ b/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs @@ -35,6 +35,10 @@ pub const BACKGROUND_DECODE_JS: &str = include_str!("../assets/web/plugins/backg pub const VCHAN_JS: &str = include_str!("../assets/web/plugins/vchan.js"); pub const BANDPLAN_JSON: &str = include_str!("../assets/web/bandplan.json"); +// Vendored DSEG14 Classic font +pub const DSEG14_CLASSIC_WOFF2: &[u8] = + include_bytes!("../assets/web/vendor/dseg14-classic-latin-400-normal.woff2"); + // Vendored Leaflet 1.9.4 pub const LEAFLET_JS: &str = include_str!("../assets/web/vendor/leaflet.js"); pub const LEAFLET_CSS: &str = include_str!("../assets/web/vendor/leaflet.css");