diff --git a/daemon/HTTPServer.cpp b/daemon/HTTPServer.cpp
index c3a1b224..f3c82b5f 100644
--- a/daemon/HTTPServer.cpp
+++ b/daemon/HTTPServer.cpp
@@ -532,8 +532,8 @@ namespace http {
static void ShowError(std::stringstream& s, const std::string& string)
{
- s << "
\r\n" << tr("ERROR")
- << ": " << string << " |
\r\n";
+ s << "\r\n" << tr("ERROR")
+ << ": " << string << " |
\r\n";
}
static void ShowNetworkStatus (std::stringstream& s, RouterStatus status)
@@ -1841,19 +1841,25 @@ namespace http {
if (dest)
{
if(dest->DeleteStream (streamID))
- s << "" << tr("SUCCESS") << ": "
- << tr("Stream closed") << " |
\r\n";
+ s << ""
+ << "" << tr("SUCCESS") << ": "
+ << tr("Stream closed") << " |
\r\n";
else
- s << "" << tr("ERROR") << ": "
- << tr("Stream not found or already was closed") << " |
\r\n";
+ s << ""
+ << ""
+ << tr("ERROR") << ": "
+ << tr("Stream not found or already was closed") << " |
\r\n";
}
else
- s << "" << tr("ERROR") << ": "
- << tr("Destination not found") << " |
\r\n";
+ s << ""
+ << ""
+ << tr("ERROR") << ": "
+ << tr("Destination not found") << " |
\r\n";
}
else
- s << "" << tr("ERROR") << ": "
- << tr("StreamID can't be null") << " |
\r\n";
+ s << ""
+ << "" << tr("ERROR") << ": "
+ << tr("StreamID can't be null") << " |
\r\n";
redirect = "2; url=" + webroot + "?page=local_destination&b32=" + b32;
res.add_header("Refresh", redirect.c_str());
@@ -1865,8 +1871,10 @@ namespace http {
if (limit > 0 && limit <= 65535)
SetMaxNumTransitTunnels (limit);
else {
- s << "" << tr("ERROR") << ": "
- << tr("Transit tunnels count must not exceed 65535") << "\r\n |
\r\n";
+ s << ""
+ << ""
+ << tr("ERROR") << ": "
+ << tr("Transit tunnels count must not exceed 65535") << " |
\r\n";
res.add_header("Refresh", redirect.c_str());
return;
}
@@ -1899,7 +1907,8 @@ namespace http {
auto len = i2p::data::ByteStreamToBase64 (signature, signatureLen, sig, signatureLen*2);
sig[len] = 0;
out << "#!sig=" << sig;
- s << "" << tr("SUCCESS")
+ s << ""
+ << "" << tr("SUCCESS")
<< ": \r\n\r\n | \r\n";
+ << " |
\r\n";
delete[] signature;
delete[] sig;
}
else
- s << "" << tr("ERROR") << ": "
- << tr("Domain can't end with .b32.i2p") << "\r\n \r\n |
\r\n";
+ s << ""
+ << tr("ERROR") << ": "
+ << tr("Domain can't end with .b32.i2p") << " |
\r\n";
}
else
- s << "" << tr("ERROR") << ": "
- << tr("Domain must end with .i2p") << "\r\n \r\n |
\r\n";
+ s << ""
+ << tr("ERROR") << ": "
+ << tr("Domain must end with .i2p") << " |
\r\n";
}
else
- s << "" << tr("ERROR") << ": "
- << tr("No such destination found") << "\r\n \r\n< |
\r\n";
+ s << ""
+ << tr("ERROR") << ": "
+ << tr("No such destination found") << " |
\r\n";
// s << "" << tr("Return to destination page") << "\r\n";
return;
@@ -1950,7 +1962,8 @@ namespace http {
}
- s << "";
+ s << " |
"
+ << "";
if (cmd == HTTP_COMMAND_SHUTDOWN_NOW)
s << tr("Immediate router shutdown initiated");
else if (cmd == HTTP_COMMAND_SHUTDOWN_CANCEL)
@@ -1969,7 +1982,7 @@ namespace http {
s << tr("Log level updated for session");
else
s << "" << tr("SUCCESS") << ": " << tr("Command accepted");
- s << " |
\r\n";
+ s << "\r\n";
res.add_header("Refresh", redirect.c_str());
}
diff --git a/webconsole/style.css b/webconsole/style.css
index 1f9568c7..f3750562 100644
--- a/webconsole/style.css
+++ b/webconsole/style.css
@@ -138,6 +138,10 @@ b {
font-weight: 600;
}
+.toast b {
+ font-weight: 900;
+}
+
#main {
margin: 0 auto;
min-width: 300px;
@@ -504,7 +508,7 @@ td:last-child {
}
.error, .notify {
- padding: 30px 12px 40px;
+ padding: 0;
font-size: 110%;
color: #fff;
box-shadow: var(--highlight), inset 0 0 3px 3px rgba(0,0,0,.6);
@@ -516,6 +520,18 @@ td:last-child {
display: none;
}
+.container {
+ margin: 12px;
+ padding: 40px 20px;
+ display: inline-block;
+ width: calc(100% - 24px);
+ background: radial-gradient(at bottom center, rgba(48,8,48,.3), rgba(0,0,0,0) 70%),
+ linear-gradient(to top, rgba(160,56,160,.1), rgba(96,16,96,.1));
+ box-shadow: 0 0 0 1px rgba(255,160,255,.3), inset 0 0 0 2px #000, inset 0 0 0 3px #303;
+ box-sizing: border-box;
+ text-shadow: 0 1px 1px #000;
+}
+
#warning, #success {
margin: -5px 0 10px;
width: 100%;