feat: add loading state to search area button
This commit is contained in:
@@ -313,6 +313,7 @@ function Map({data, loading, end, duration, slider, mapState, setMapState, setSu
|
|||||||
|
|
||||||
function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, submenu, setSubmenu, showDirection, setShowDirection, setMapState, shareStart, shareEnd, drawnItems}) {
|
function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, submenu, setSubmenu, showDirection, setShowDirection, setMapState, shareStart, shareEnd, drawnItems}) {
|
||||||
const [showRange, setShowRange] = useState(false);
|
const [showRange, setShowRange] = useState(false);
|
||||||
|
const [isSearching, setIsSearching] = useState(false);
|
||||||
|
|
||||||
const chooseDuration = (x) => {
|
const chooseDuration = (x) => {
|
||||||
setSubmenu(false);
|
setSubmenu(false);
|
||||||
@@ -459,6 +460,8 @@ function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, subm
|
|||||||
southWest: bounds.getSouthWest(),
|
southWest: bounds.getSouthWest(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
setIsSearching(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const api_key = localStorage.getItem('api_key');
|
const api_key = localStorage.getItem('api_key');
|
||||||
const params = {
|
const params = {
|
||||||
@@ -476,6 +479,8 @@ function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, subm
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error during area search:', error);
|
console.error('Error during area search:', error);
|
||||||
alert('An error occurred during the search.');
|
alert('An error occurred during the search.');
|
||||||
|
} finally {
|
||||||
|
setIsSearching(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
setSubmenu(false);
|
setSubmenu(false);
|
||||||
@@ -651,7 +656,9 @@ function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, subm
|
|||||||
</label>
|
</label>
|
||||||
<button onClick={recentreView}>Recentre view</button>
|
<button onClick={recentreView}>Recentre view</button>
|
||||||
<button onClick={excludeArea}>Exclude area</button>
|
<button onClick={excludeArea}>Exclude area</button>
|
||||||
<button onClick={searchArea}>Search area</button>
|
<button onClick={searchArea} disabled={isSearching}>
|
||||||
|
{isSearching ? 'Searching...' : 'Search area'}
|
||||||
|
</button>
|
||||||
<button onClick={shareRange}>Share range</button>
|
<button onClick={shareRange}>Share range</button>
|
||||||
<button onClick={resetToDefaults}>Reset page</button>
|
<button onClick={resetToDefaults}>Reset page</button>
|
||||||
</>
|
</>
|
||||||
|
|||||||
Reference in New Issue
Block a user