diff --git a/app/src/App.tsx b/app/src/App.tsx index b42e3ff..3e0f5c3 100644 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -57,14 +57,7 @@ function App() { globalStyles(); let [errorDisplay, setErrorDisplay] = useState(); - let [file, setFileRaw] = useState(); - - let setFile = (file: PMTiles) => { - setFileRaw(file); - file.getHeader().catch((e) => { - setErrorDisplay(e.message); - }); - }; + let [file, setFile] = useState(); // initial load useEffect(() => { @@ -75,6 +68,14 @@ function App() { } }, []); + useEffect(() => { + if (file) { + file.getHeader().catch((e) => { + setErrorDisplay(e.message); + }); + } + }, [file]); + // maintaining URL state useEffect(() => { const url = new URL(window.location.href); @@ -106,7 +107,7 @@ function App() { {file ? : } - + >; }) { - const onDrop = useCallback((acceptedFiles: File[]) => { props.setFile(new PMTiles(new FileAPISource(acceptedFiles[0]))); }, []);