Skip to content

Commit c813e17

Browse files
committed
Feature: Nostr Relay Health Indicators & Global Status Color System
1 parent 373c5f7 commit c813e17

4 files changed

Lines changed: 25 additions & 3 deletions

File tree

src/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ <h4>Recent Activity</h4>
722722
<span class="icon icon-disable"></span>
723723
Disable
724724
</button>
725-
<button class="btn primary-btn" id="relay-info-done">Close</button>
725+
<button class="btn cancel-btn" id="relay-info-done">Close</button>
726726
</div>
727727
</div>
728728
</div>

src/main.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3727,7 +3727,17 @@ async function refreshRelayInfoDialog() {
37273727
// Refresh metrics
37283728
try {
37293729
const metrics = await invoke('get_relay_metrics', { url });
3730-
document.getElementById('relay-info-ping').textContent = metrics.ping_ms ? `${metrics.ping_ms}ms` : '--';
3730+
const pingEl = document.getElementById('relay-info-ping');
3731+
if (metrics.ping_ms) {
3732+
pingEl.textContent = `${metrics.ping_ms}ms`;
3733+
pingEl.style.color = metrics.ping_ms < 200 ? 'var(--status-excellent)'
3734+
: metrics.ping_ms < 500 ? 'var(--status-good)'
3735+
: metrics.ping_ms < 1000 ? 'var(--status-fair)'
3736+
: 'var(--status-poor)';
3737+
} else {
3738+
pingEl.textContent = '--';
3739+
pingEl.style.color = '';
3740+
}
37313741
if (metrics.last_check) {
37323742
const lastCheck = new Date(metrics.last_check * 1000);
37333743
const now = new Date();

src/styles.css

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,10 @@
309309
--danger-red: #FC595C;
310310
--danger-color: #FC595C; /* default: red for all themes */
311311
--danger-color-hover: color-mix(in srgb, var(--danger-color) 10%, transparent);
312+
--status-excellent: #59fcb3;
313+
--status-good: #FCE459;
314+
--status-fair: #FCA559;
315+
--status-poor: var(--danger-color);
312316
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
313317
font-size: 16px;
314318
line-height: 24px;
@@ -9316,7 +9320,7 @@ select:disabled:hover {
93169320

93179321
#relay-info-url {
93189322
text-align: left;
9319-
color: var(--primary-color);
9323+
color: #fff;
93209324
font-size: 16px;
93219325
margin: 0 0 16px 0;
93229326
}
@@ -9331,6 +9335,10 @@ select:disabled:hover {
93319335
margin: 0;
93329336
}
93339337

9338+
#relay-info-done {
9339+
border: 2px solid #474747;
9340+
}
9341+
93349342
.relay-dialog-content {
93359343
padding: 20px;
93369344
display: flex;

src/themes/vector/dark.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,10 @@ select:disabled {
586586
color: var(--accent-color);
587587
}
588588

589+
.relay-dialog .relay-form-select {
590+
border: 1px solid #262626;
591+
}
592+
589593
.aggro-glitch-img {
590594
content: url('../../icons/aggro-glitch.gif');
591595
width: 64px;

0 commit comments

Comments
 (0)