* Add button to import photos from the gallery to the AI Camera
* Move AI Camera buttons to side rails so it's easier to add new buttons
* Got shutter button closer to spec
* Change e2e to test for element absence instead of status text
Closes#1848
* Close#1806 - taxon suggestion - when the api does not provide a common ancestor and there is no species suggestion with a combined score higher than .78 - show a special message (we're not confident...)
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Change connectivity url to ping inat; remove unnecessary useIsConnected hook; closes#1770
* Ensure inaturalist.org/ping is being pinged
* Fix e2e tests by using isConnected, not isInternetReachable
* Use DisplayTaxonName as component in Trans to show DisagreementText
* Use DisplayTaxonName for top of disagree sheet
* Use DisplayTaxonName styling in radio button labels
* Remove italic from disagree text
* Add testing for DisplayTaxonName with plain text and scientific name only
* Add reset button to set user to null
* Update type
* Update project to be null with reset button
* Reset button to set taxon to null
* Fix test for null now
* Project can also be null now
* Refactor into useReducer
* Use reducer for Suggestions
* Offline working
* Progress on getting location permissions button to work as expected
* Code improvements
* Fix photo deletion test
* Fix AICamera nav test
* Ensure suggestions location permission uses location immediately
* Loading wheel fixes
* Fix photo deletion test
* Use online result to advance to obsedit in PhotoDeletion
* Fix test by using online mock
* Fix Suggestions test & create test for online suggestions with location
* Fetch location according to toggle
* Update tests
* Show loading & remove prev queries when toggling location
* Fix loading test
* Refactor to use watchPosition
* Update useWatchPosition with permissions/retry
* Replace useUserLocation with useWatchPosition and fix tests; return userLocation from watch position hook
* Only update observation keys when there's an observation
* Improve TypeScript definitions
* Revert TypeScript commit
* Revert "Only update observation keys when there's an observation"
This reverts commit a4cd17a513.
* Code cleanup: make useWatchPosition more modular
* Code cleanup; location permission in ObsEdit instead of subcomponent
* Use correct accuracy in Camera photos
* Camera fixes
* Fixes to watching position in ObsEdit
* Fix useWatchPosition tests
* Fix tests
* Make sure state updates when renavigating to OsEdit; test fixes
* Hide skip ID button on Suggestions sometimes
We only want to show the text "Add an ID later" when one needs to move forward
without adding an ID, so this hides it
* When reached from ObsDetails (you can go back)
* When reaced from ObsEdit and there is an existing identification
(you've already added an ID so if you're editing it you need to choose a
taxon or back out)
* Update test
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>