* Set default explore view to observations
* Rearrange ObservationsViewBar buttons to always show grid first and map first in Explore
* Set initialRegion of Explore map to same zoom level as location picker, using delta
* Consolidate map code into MapView with ref forwarding to allow animation & initialRegion set
* Stop controlling the map region from zustand, since we're using initialRegion
* Make sure we're not double animating when navigating to a new place
* Use ref to only get map boundaries exactly when they're needed, instead of tracking in state
* Make sure current location button does the same as NEARBY button
* Update Explore integration tests to reflect observations view as first view
* Fix navigation Explore tests to reflect landing on observations view
* Update MapView unit tests
* Check location permissions in MapView on current location button
* Code cleanup
* Fix tests and add test for location permissions
* To Mob 720: add some types and null guards (#2878)
* Update Map with Region type
* Type initialRegion
* Guard against null
* Guard against undefined coordinates
* Center loading indicator but not fill space (#2880)
Move the loading indicator to the center of the parent (and back left and top for half its size).
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
URL params got removed from the query key as a part of pull-to-refresh, but
that's how changes to filters were triggering a new request. This restores
that behavior, adds a test to ensure changes to filters call the API again,
and fixes the prior test of pull to refresh which was not testing the
equivalent behavior when pulling to refresh (API on first load, so the mock
needed to be cleared).
* Add pull to refresh handler to Explore Observations
* Ensure pull to refresh clears cache and refetches queries
* Add test for pull to refresh in Explore Observations
* Get a few mocks working in __mocks__ folder
* Move more mocks into __mocks__
* Move mocks
* Move zustand mock
* Add more mocks to __mocks__
* More mocks
* Move more files to __mocks__ and audit existing mocks
* Mock react navigation in __mocks__
* Restore test to help with imports after jest env torn down
* Add fake timer to integration test with userEvent
* Add RN paper mock
* Remove tab bar when sharing photos into app; closes#1645
* Make explore view sticky with species as default view; closes#1614
* Fix Explore integration test; use default species view
* Create useInfiniteExploreScroll and use this to fetch count
* Fetch less data from fields in Explore observations
* Show header count when count is loaded
* Added loading wheel for slow fetching of header counts in Explore
* Show observations by defaulting to user location
* Remove log
* Create useHeaderCount hook to load user location count before global count
* Header count and location permission fixes
* Remove log
* Fix Explore tests
* Test fixes and add blocked/denied state
* Bugfix: TaxonDetails was crashing if it received a null taxon
* Send lat and lng instead of latitude and longitude to the score_image
endpoint
* Show offline suggestions when you are offline
* Show notice when viewing offline suggestions
* Moved code unique to useOnlineSuggestions into that file
* Ensure we use a medium size image to get suggestions when dealing with
remote URLs
* More logging around React Query retries
* Use default retry logic for useAuthenticatedQuery
* Made a module-resolver shortcut for tests
* Move offline notice above top suggestion; hide when offlines exist but onlines do too