Format and lint
This commit is contained in:
parent
42ee2d4c51
commit
04a78e7bfe
75 changed files with 1290 additions and 719 deletions
|
|
@ -1,5 +1,4 @@
|
|||
import { useState, useEffect, useCallback, useMemo } from 'react';
|
||||
import { trackPageview } from './hooks/usePlausible';
|
||||
import MapPage, { type ExportState } from './components/map/MapPage';
|
||||
import DataSourcesPage from './components/data-sources/DataSourcesPage';
|
||||
import FAQPage from './components/faq/FAQPage';
|
||||
|
|
@ -19,17 +18,22 @@ import { useSavedSearches } from './hooks/useSavedSearches';
|
|||
|
||||
declare global {
|
||||
interface Window {
|
||||
__og_ready?: boolean;
|
||||
__screenshot_ready?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
function pageToPath(page: Page): string {
|
||||
switch (page) {
|
||||
case 'dashboard': return '/dashboard';
|
||||
case 'data-sources': return '/data-sources';
|
||||
case 'faq': return '/faq';
|
||||
case 'saved-searches': return '/saved';
|
||||
default: return '/';
|
||||
case 'dashboard':
|
||||
return '/dashboard';
|
||||
case 'data-sources':
|
||||
return '/data-sources';
|
||||
case 'faq':
|
||||
return '/faq';
|
||||
case 'saved-searches':
|
||||
return '/saved';
|
||||
default:
|
||||
return '/';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +48,10 @@ function pathToPage(pathname: string): Page | null {
|
|||
|
||||
export default function App() {
|
||||
const urlState = useMemo(() => parseUrlState(), []);
|
||||
const initialViewState = useMemo(() => urlState.viewState || INITIAL_VIEW_STATE, []);
|
||||
const initialViewState = useMemo(
|
||||
() => urlState.viewState || INITIAL_VIEW_STATE,
|
||||
[urlState.viewState]
|
||||
);
|
||||
|
||||
const isScreenshotMode = useMemo(() => {
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
|
|
@ -76,11 +83,7 @@ export default function App() {
|
|||
const params = new URLSearchParams(window.location.search);
|
||||
if (params.has('v') || params.has('f') || params.has('poi') || params.has('tab')) {
|
||||
// Rewrite URL to /dashboard keeping query params
|
||||
window.history.replaceState(
|
||||
{ page: 'dashboard' },
|
||||
'',
|
||||
`/dashboard${window.location.search}`
|
||||
);
|
||||
window.history.replaceState({ page: 'dashboard' }, '', `/dashboard${window.location.search}`);
|
||||
return 'dashboard';
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +144,7 @@ export default function App() {
|
|||
return () => controller.abort();
|
||||
}, []);
|
||||
|
||||
// Screenshot mode ready signal — MapPage sets __og_ready once map data loads
|
||||
// Screenshot mode ready signal — MapPage sets __screenshot_ready once map data loads
|
||||
|
||||
// Navigation
|
||||
const navigateTo = useCallback((page: Page, hash?: string, infoFeature?: string) => {
|
||||
|
|
@ -152,7 +155,6 @@ export default function App() {
|
|||
const url = hash ? `${path}#${hash}` : path;
|
||||
window.history.pushState({ page }, '', url);
|
||||
setActivePage(page);
|
||||
trackPageview();
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -180,11 +182,12 @@ export default function App() {
|
|||
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
||||
|
||||
// Fetch saved searches when page becomes active
|
||||
const { fetchSearches } = savedSearches;
|
||||
useEffect(() => {
|
||||
if (activePage === 'saved-searches') {
|
||||
savedSearches.fetchSearches();
|
||||
fetchSearches();
|
||||
}
|
||||
}, [activePage, savedSearches.fetchSearches]);
|
||||
}, [activePage, fetchSearches]);
|
||||
|
||||
const [exportState, setExportState] = useState<ExportState | null>(null);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue