Files
PilotVault/Web App/server/dist/index.html
T
tajniak81andClaude Opus 4.8 125d0ccc7d Make air-traffic refresh interval configurable, resolved from plan
Add a refresh-interval control to the Map settings popover: Auto (follows
the OpenSky plan) or a fixed 15/30/60/120s. The states endpoint now
resolves a recommended interval from the resolved plan (anonymous 60s,
standard 30s, contributor 15s) and returns it alongside the aircraft, so
"Auto" tracks the plan's credit budget and update rate. Polling reschedules
live when the effective interval changes; the map caption reflects it. New
airTrafficInterval preference (default 'auto', persisted + synced).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 22:58:19 +02:00

45 lines
1.8 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"
rel="stylesheet"
/>
<script>
// Apply saved theme + font size before first paint (light is the brand default).
(function () {
var GROUND = { light: '#EEF0F3', dark: '#0B1730' }
var FONT = { sm: 15, md: 16, lg: 18 }
var html = document.documentElement
var mode = 'light', prefs = {}
try {
mode = localStorage.getItem('pv_theme') || 'light'
} catch (e) {}
try {
prefs = JSON.parse(localStorage.getItem('pv_prefs') || '{}') || {}
} catch (e) {}
var t = mode
if (mode === 'system') {
t = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}
html.setAttribute('data-theme', t)
html.style.backgroundColor = GROUND[t] || GROUND.light
html.style.fontSize = (FONT[prefs.fontSize] || 16) + 'px'
if (prefs.reduceMotion) html.classList.add('reduce-motion')
})()
</script>
<title>PilotVault — Control Panel</title>
<script type="module" crossorigin src="./assets/index-BdIdzNiz.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-CYeDXsw9.css">
</head>
<body>
<div id="app"></div>
</body>
</html>