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 511a9a91..960987fa 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 @@ -1531,15 +1531,16 @@ small { color: var(--text-muted); } align-items: center; gap: 0.2rem; min-width: 0; - /* Never wraps and never scrolls: the occasional destinations live behind - * More, so four tabs plus More always fit. overflow-x here would clip the - * dropdown this element anchors. */ + /* Never wraps. It must still be able to shrink below its content, or it + * overlaps the controls; the menus it anchors are reparented to the body on + * open, so clipping here no longer reaches them. */ flex-wrap: nowrap; + overflow: hidden; } .tab-bar-nav .tab { flex: 0 0 auto; } /* Icons before scrolling: every tab already carries one, and four icons plus * More always fit, so the strip never has to hide a destination. */ -@media (max-width: 1180px) and (min-width: 701px) { +@media (max-width: 1360px) and (min-width: 701px) { .tab-bar-nav .tab .tab-label { display: none; } .tab-bar-nav .tab .tab-icon, .tab-bar-nav .tab .tab-more-icon { display: block; } .tab-bar-nav .tab { padding: 0.5rem 0.6rem; } @@ -5187,7 +5188,6 @@ body[data-operator-layout="broadcast"] #cw-bar-overlay { display: flex; flex-direction: column; gap: 1rem; - padding: 1rem; } .stats-controls { display: flex; 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 7f5c1c7a..2f84d383 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 @@ -95,6 +95,18 @@ pub(crate) async fn about_index(req: HttpRequest) -> impl Responder { static_asset_response(&req, "text/html; charset=utf-8", c) } +#[get("/statistics")] +pub(crate) async fn statistics_index(req: HttpRequest) -> impl Responder { + let c = gz_index_html(); + static_asset_response(&req, "text/html; charset=utf-8", c) +} + +#[get("/bookmarks")] +pub(crate) async fn bookmarks_index(req: HttpRequest) -> impl Responder { + let c = gz_index_html(); + static_asset_response(&req, "text/html; charset=utf-8", c) +} + // --------------------------------------------------------------------------- // Favicon & logo // --------------------------------------------------------------------------- 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 528f313b..e79233e1 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 @@ -637,6 +637,8 @@ pub fn configure(cfg: &mut web::ServiceConfig) { .service(assets::recorder_index) .service(assets::settings_index) .service(assets::about_index) + .service(assets::statistics_index) + .service(assets::bookmarks_index) .service(assets::favicon) .service(assets::favicon_png) .service(assets::logo)