From 1999970f386e753c352dedaf39353402ba97e221 Mon Sep 17 00:00:00 2001 From: geoffsee <> Date: Sat, 5 Jul 2025 10:40:22 -0400 Subject: [PATCH] gps map token input actually works --- packages/base-map/src/App.tsx | 52 ++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/packages/base-map/src/App.tsx b/packages/base-map/src/App.tsx index f3b9e8c..f8be36c 100644 --- a/packages/base-map/src/App.tsx +++ b/packages/base-map/src/App.tsx @@ -6,18 +6,29 @@ import Cookies from 'js-cookie'; function App() { const [mapboxToken, setMapboxToken] = useState(() => Cookies.get('mapbox_token') || ''); + const [isTokenLoading, setIsTokenLoading] = useState(false); + const [authenticated, setAuthenticated] = useState(false); useEffect(() => { - if (mapboxToken) { + const checkAndLoadToken = async () => { + const savedToken = Cookies.get('mapbox_token'); + if (savedToken) { + setMapboxToken(savedToken); + } + setIsTokenLoading(false); + }; + checkAndLoadToken(); + }, []); + + useEffect(() => { + if (!isTokenLoading && mapboxToken) { Cookies.set('mapbox_token', mapboxToken, { secure: true, sameSite: 'strict', expires: 30 // 30 days }); - } else { - Cookies.remove('mapbox_token'); } - }, [mapboxToken]); + }, [mapboxToken, isTokenLoading]); return ( @@ -31,26 +42,35 @@ function App() { - {!mapboxToken && ( - setMapboxToken(e.target.value)} - /> + {!authenticated && ( + <> + setMapboxToken(e.target.value)} + /> + + )} {/* Map itself */} - + style={{width: '100%', height: '100%'}} // let the wrapper dictate size + />)} ); }