From 7e174fc0ddb5b03026b47f81cdd905a86c01d4a7 Mon Sep 17 00:00:00 2001 From: Anon2026 Date: Tue, 27 Jan 2026 20:18:46 +0300 Subject: [PATCH] Better transit tunnels page rendering --- daemon/HTTPServer.cpp | 14 +++++++++----- daemon/HTTPServerResources.h | 9 ++++++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/daemon/HTTPServer.cpp b/daemon/HTTPServer.cpp index f6f68e66..6ba4e4c3 100644 --- a/daemon/HTTPServer.cpp +++ b/daemon/HTTPServer.cpp @@ -663,7 +663,7 @@ namespace http { << it->GetRecvStreamID () << "&token=" << token << "\" title=\"" << tr("Close stream") << "\"> ✘ "; } else { - s << " HTML "; // TODO: FIXME: Undefined HTML code + s << " !! FIXME !! "; // TODO: FIXME: Undefined HTML code } s << "" << streamDestShort << ""; s << "" << it->GetNumSentBytes () << ""; @@ -893,14 +893,18 @@ namespace http { s << "\r\n"; for (const auto& it: i2p::tunnel::tunnels.GetTransitTunnels ()) { + s << ""; if (std::dynamic_pointer_cast(it)) - s << "" << it->GetTunnelID () << "⇒"; + s << "  " << std::setw(10) << it->GetTunnelID () << "⇒"; else if (std::dynamic_pointer_cast(it)) - s << "⇒" << it->GetTunnelID () << ""; + s << "⇒" << std::setw(10) << it->GetTunnelID () << "  "; else - s << "⇒" << it->GetTunnelID () << "⇒"; + s << "⇒" << std::setw(10) << it->GetTunnelID () << "⇒"; + s << ""; ShowTraffic(s, it->GetNumTransmittedBytes ()); - s << "" << it->GetNextPeerName () << "\r\n"; + s << ""; + s << " " << it->GetNextPeerName () << ""; + s << "\r\n"; } s << "\r\n\r\n
\r\n"; } diff --git a/daemon/HTTPServerResources.h b/daemon/HTTPServerResources.h index 2772fb69..764c08f1 100644 --- a/daemon/HTTPServerResources.h +++ b/daemon/HTTPServerResources.h @@ -50,10 +50,17 @@ namespace http ".tunnel.expiring { color: #D3AE3F; }\r\n" ".tunnel.failed { color: #D33F3F; }\r\n" ".tunnel.building { color: #434343; }\r\n" + ".tcell_left { text-align: left; }\r\n" + ".tcell_center { text-align: center; }\r\n" + ".tcell_right { text-align: right; }\r\n" + "table th { padding-left: 0.25em; padding-right: 0.25em; }\r\n" + "table td { padding-left: 0.25em; padding-right: 0.25em; }\r\n" "caption { font-size: 1.5em; text-align: center; color: var(--main-link-color); }\r\n" - "table { display: table; border-collapse: collapse; text-align: center; }\r\n" + "table { border-collapse: collapse; text-align: center; }\r\n" "table.extaddr { text-align: left; }\r\n" + "table.extaddr td { padding: 0; }\r\n" "table.services { width: 100%; }\r\n" + "table.services td { padding: 0; }\r\n" "textarea { background-color: var(--main-bg-color); color: var(--main-text-color); word-break: break-all; }\r\n" ".streamdest { width: 120px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; }\r\n" ".slide div.slidecontent, .slide [type=\"checkbox\"] { display: none; }\r\n"