From 95995211a063332fd39c9ed930302baa21e38ba2 Mon Sep 17 00:00:00 2001 From: karim Date: Thu, 4 Jun 2026 20:16:06 +0200 Subject: [PATCH] Citation: persist Nav Source Selector bearing-pointer choice across sessions Co-Authored-By: Claude Opus 4.8 --- web/src/App.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/src/App.jsx b/web/src/App.jsx index 3512569..acd9e02 100644 --- a/web/src/App.jsx +++ b/web/src/App.jsx @@ -76,7 +76,11 @@ export default function App() { const [profile, setProfile] = useState(() => localStorage.getItem('cockpitProfile') || 'g1000'); // Citation Nav Source Selector bearing-pointer sources (p24): pointer 1 = cyan // circle, pointer 2 = white diamond. Each OFF/VORn/ADFn/FMSn. Shared PFD↔RMU. - const [navSrc, setNavSrc] = useState({ brg1: 'VOR1', brg2: 'VOR2' }); + const [navSrc, setNavSrc] = useState(() => { + try { return JSON.parse(localStorage.getItem('citNavSrc')) || { brg1: 'VOR1', brg2: 'VOR2' }; } + catch { return { brg1: 'VOR1', brg2: 'VOR2' }; } + }); + useEffect(() => { localStorage.setItem('citNavSrc', JSON.stringify(navSrc)); }, [navSrc]); const [profMenu, setProfMenu] = useState(false); const PROF = PROFILES[profile] || PROFILES.g1000; const TABS = PROF.tabs;