Better transit tunnels page rendering

This commit is contained in:
Anon2026
2026-01-27 21:09:01 +03:00
parent 7b43e10b88
commit 7e174fc0dd
2 changed files with 17 additions and 6 deletions
+9 -5
View File
@@ -663,7 +663,7 @@ namespace http {
<< it->GetRecvStreamID () << "&token=" << token << "\" title=\"" << tr("Close stream") << "\"> &#10008; </a></td>";
}
else {
s << "<td> HTML </td>"; // TODO: FIXME: Undefined HTML code
s << "<td> !! FIXME !! </td>"; // TODO: FIXME: Undefined HTML code
}
s << "<td class=\"streamdest\" title=\"" << streamDest << "\">" << streamDestShort << "</td>";
s << "<td>" << it->GetNumSentBytes () << "</td>";
@@ -893,14 +893,18 @@ namespace http {
s << "<tbody class=\"tableitem\">\r\n";
for (const auto& it: i2p::tunnel::tunnels.GetTransitTunnels ())
{
s << "<tr class=\"tcell_center\">";
if (std::dynamic_pointer_cast<i2p::tunnel::TransitTunnelGateway>(it))
s << "<tr><td></td><td>" << it->GetTunnelID () << "</td><td>&#8658;</td><td>";
s << "<td> &nbsp;</td><td class=\"tcell_right\">" << std::setw(10) << it->GetTunnelID () << "</td><td>&#8658;</td>";
else if (std::dynamic_pointer_cast<i2p::tunnel::TransitTunnelEndpoint>(it))
s << "<tr><td>&#8658;</td><td>" << it->GetTunnelID () << "</td><td></td><td>";
s << "<td>&#8658;</td><td class=\"tcell_right\">" << std::setw(10) << it->GetTunnelID () << "</td><td> &nbsp;</td>";
else
s << "<tr><td>&#8658;</td><td>" << it->GetTunnelID () << "</td><td>&#8658;</td><td>";
s << "<td>&#8658;</td><td class=\"tcell_right\">" << std::setw(10) << it->GetTunnelID () << "</td><td>&#8658;</td>";
s << "<td class=\"tcell_right\">";
ShowTraffic(s, it->GetNumTransmittedBytes ());
s << "</td><td>" << it->GetNextPeerName () << "</td></tr>\r\n";
s << "</td>";
s << "<td class=\"tcell_left\">&nbsp;" << it->GetNextPeerName () << "</td>";
s << "</tr>\r\n";
}
s << "</tbody>\r\n</table>\r\n<br>\r\n";
}
+8 -1
View File
@@ -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"