feat: UI improvements and Space category

- Add new "Space" category with Satellite and ISS SSTV modes
- Rename "Scanner" to "Listening Post"
- SSTV now uses global SDR device selector
- Meshtastic map markers more visible (stronger glow, larger size)
- CSS layout fixes using flex instead of fixed heights

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Smittix
2026-01-29 22:25:31 +00:00
parent 05d96b6077
commit d28d371caf
6 changed files with 63 additions and 48 deletions

View File

@@ -1769,8 +1769,7 @@ header h1 .tagline {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
background: var(--bg-primary);
min-height: 400px;
max-height: 600px;
min-height: 0; /* Allow shrinking in flex context */
}
.output-content::-webkit-scrollbar {
@@ -2516,9 +2515,8 @@ header h1 .tagline {
/* Satellite Dashboard Embed */
.satellite-dashboard-embed {
width: 100%;
height: calc(100vh - 200px);
min-height: 700px;
max-height: 900px;
flex: 1;
min-height: 400px;
background: var(--bg-primary);
border-radius: 8px;
overflow: hidden;
@@ -3322,8 +3320,8 @@ header h1 .tagline {
background: var(--bg-secondary);
margin: 0 15px 10px 15px;
border: 1px solid var(--border-color);
height: calc(100vh - 200px);
min-height: 400px;
flex: 1;
min-height: 0; /* Allow shrinking in flex context */
box-sizing: border-box;
overflow: hidden;
}
@@ -3799,8 +3797,8 @@ header h1 .tagline {
@media (max-width: 1200px) {
.wifi-layout-container {
height: auto;
max-height: calc(100vh - 200px);
flex: 1;
min-height: 0;
}
.wifi-main-content {
@@ -3836,8 +3834,8 @@ header h1 .tagline {
background: var(--bg-secondary);
margin: 0 15px 10px 15px;
border: 1px solid var(--border-color);
height: calc(100vh - 200px);
min-height: 400px;
flex: 1;
min-height: 0; /* Allow shrinking in flex context */
}
.bt-visuals-column {
@@ -4518,8 +4516,8 @@ header h1 .tagline {
@media (max-width: 1200px) {
.bt-layout-container {
flex-direction: column;
height: auto;
max-height: calc(100vh - 200px);
flex: 1;
min-height: 0;
}
.bt-layout-container .wifi-visuals {

View File

@@ -420,6 +420,12 @@
background: var(--bg-primary);
}
/* Override Leaflet's default div-icon styling for mesh markers */
.mesh-marker-wrapper.leaflet-div-icon {
background: transparent;
border: none;
}
.mesh-map .leaflet-popup-content-wrapper {
background: var(--bg-card);
color: var(--text-primary);
@@ -437,37 +443,42 @@
margin: 10px 12px;
}
/* Custom node marker */
/* Custom node marker - high visibility on dark maps */
.mesh-node-marker {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: var(--accent-cyan);
border: 2px solid #fff;
width: 32px;
height: 32px;
background: #00ffff; /* Bright cyan for maximum visibility */
border: 3px solid #ffffff;
border-radius: 50%;
box-shadow:
0 2px 6px rgba(0, 0, 0, 0.4),
0 0 12px 4px rgba(0, 212, 255, 0.5); /* Cyan glow */
0 2px 8px rgba(0, 0, 0, 0.6),
0 0 20px 8px rgba(0, 255, 255, 0.7), /* Strong outer glow */
inset 0 0 8px rgba(255, 255, 255, 0.3); /* Inner highlight */
color: #000;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
font-size: 11px;
font-weight: bold;
text-shadow: 0 0 2px rgba(255, 255, 255, 0.8);
}
.mesh-node-marker.local {
background: var(--accent-green);
background: #00ff88; /* Bright green for local node */
box-shadow:
0 2px 6px rgba(0, 0, 0, 0.4),
0 0 12px 4px rgba(34, 197, 94, 0.5); /* Green glow */
0 2px 8px rgba(0, 0, 0, 0.6),
0 0 20px 8px rgba(0, 255, 136, 0.7), /* Strong green glow */
inset 0 0 8px rgba(255, 255, 255, 0.3);
}
.mesh-node-marker.stale {
background: var(--text-dim);
opacity: 0.7;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); /* No glow for stale */
background: #888888;
border-color: #aaaaaa;
opacity: 0.8;
box-shadow:
0 2px 6px rgba(0, 0, 0, 0.4),
0 0 8px 2px rgba(136, 136, 136, 0.3); /* Subtle glow for stale */
}
/* ============================================