mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-07-29 23:19:36 +00:00
fix: mobile — dvh for proper viewport height, VCR bar no-wrap, LCD hidden on small screens, orientation triple-invalidate, feed-detail-card bottom aligned
This commit is contained in:
+3
-3
@@ -20,9 +20,9 @@
|
||||
<meta name="twitter:title" content="MeshCore Analyzer">
|
||||
<meta name="twitter:description" content="Real-time MeshCore LoRa mesh network analyzer — live packet visualization, node tracking, channel decryption, and route analysis.">
|
||||
<meta name="twitter:image" content="https://raw.githubusercontent.com/Kpa-clawbot/meshcore-analyzer/master/public/og-image.png">
|
||||
<link rel="stylesheet" href="style.css?v=1773961950">
|
||||
<link rel="stylesheet" href="style.css?v=1773963309">
|
||||
<link rel="stylesheet" href="home.css">
|
||||
<link rel="stylesheet" href="live.css?v=1773963172">
|
||||
<link rel="stylesheet" href="live.css?v=1773963309">
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
||||
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
|
||||
crossorigin="anonymous">
|
||||
@@ -84,7 +84,7 @@
|
||||
<script src="nodes.js?v=1773961950" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="traces.js?v=1774079160" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="analytics.js?v=1773961035" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="live.js?v=1773962359" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="live.js?v=1773963309" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observers.js?v=1774079160" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="node-analytics.js?v=1773961276" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
</body>
|
||||
|
||||
+7
-6
@@ -4,12 +4,14 @@
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
overflow: hidden;
|
||||
background: var(--surface-0);
|
||||
}
|
||||
/* Override #app height constraint on live page */
|
||||
#app:has(.live-page) {
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
@@ -265,7 +267,7 @@
|
||||
position: fixed !important;
|
||||
right: 0 !important;
|
||||
left: 0 !important;
|
||||
bottom: 72px !important;
|
||||
bottom: 58px !important;
|
||||
top: auto !important;
|
||||
transform: none !important;
|
||||
width: 100% !important;
|
||||
@@ -606,11 +608,10 @@
|
||||
|
||||
/* Mobile VCR */
|
||||
@media (max-width: 600px) {
|
||||
.vcr-bar { padding: 4px 8px; flex-wrap: wrap; }
|
||||
.vcr-controls { gap: 4px; flex-wrap: wrap; width: 100%; justify-content: center; }
|
||||
.vcr-timeline-wrap { width: 100%; }
|
||||
.vcr-btn { padding: 10px 14px; font-size: 0.8rem; min-height: 44px; min-width: 44px; }
|
||||
.vcr-scope-btn { font-size: 0.75rem; padding: 10px 12px; min-height: 44px; min-width: 44px; }
|
||||
.vcr-bar { padding: 4px 6px; overflow-x: auto; flex-wrap: nowrap; }
|
||||
.vcr-btn { padding: 6px 10px; font-size: 0.8rem; min-height: 36px; min-width: 36px; }
|
||||
.vcr-scope-btn { font-size: 0.7rem; padding: 4px 8px; min-height: 36px; }
|
||||
.vcr-lcd { display: none; }
|
||||
}
|
||||
|
||||
/* Timeline time tooltip */
|
||||
|
||||
+5
-1
@@ -67,7 +67,11 @@
|
||||
resizeTimer = setTimeout(() => { if (map) map.invalidateSize({ animate: false }); }, 150);
|
||||
};
|
||||
window.addEventListener('resize', _onResize);
|
||||
window.addEventListener('orientationchange', () => setTimeout(_onResize, 200));
|
||||
window.addEventListener('orientationchange', () => {
|
||||
setTimeout(_onResize, 200);
|
||||
setTimeout(_onResize, 600);
|
||||
setTimeout(_onResize, 1200);
|
||||
});
|
||||
}
|
||||
|
||||
// === VCR Controls ===
|
||||
|
||||
+1
-1
@@ -150,7 +150,7 @@ a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible
|
||||
.nav-stats .stat-val.updated { color: var(--accent); }
|
||||
|
||||
/* === Layout === */
|
||||
#app { height: calc(100vh - 52px); overflow: hidden; }
|
||||
#app { height: calc(100vh - 52px); height: calc(100dvh - 52px); overflow: hidden; }
|
||||
|
||||
.split-layout {
|
||||
display: flex; height: 100%; overflow: hidden;
|
||||
|
||||
Reference in New Issue
Block a user