* Add a cameraZoomRange default
* Small detox version bump
* Add a mocked camera with a take photo button
* An e2e mock for the computer vision plugin predicting a frame
* Mock taking a photo by loading the first photo from the CameraRoll
Closes#1981
Closing the add-obs help text, only closes the help text + never shows up again
Close#2039
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Show settings menu item to all users
* Add strings
* Update strings.ftl
* Add a logged out section to Settings
* Refactor logged in section
* Prop to use small label
* Restyle radio buttons
* Add react-native-mmkv
* Show logged in section only when logged in
* Add a boolean if user is advanced
* Hook for storage
* Change bottom tab button based on isAdvancedUser
* Add string
* Change supported AR camera version
* Refactor navigation out of AddObsModal
* Create new observation only on ObsEdit navigation inside Modal
* Reset store needs to happen before making new observation
* Merge conflicts removed some strings, put them back
* Remove comment
* Refactor AddObsModal test to unit test only
* Refactor navigation parts into integration test
* Add test case for advanced user
* Code style
* Add test case for advanced user to Tab bar
* Do not use a user object for snapshot tests, only the advanced user layout
* Use advanced user layout in navigation tests
* StandardCamera test with advanced user layout
* Add default value for boolean setting
* Remove default value as it is breaking immediate update of UI
* Refactor persisted layout value to be a part of zustand store
* Refactor persisted state into one bound store
* Explicit state for snapshot needed?
* Revert "Explicit state for snapshot needed?"
This reverts commit d448edc3dc.
* Remove snapshot test
* 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
* Add zustand to app
* Begin replacing ObsEditProvider with zustand for global state
* Use store and add tests
* Fix bugs
* Add test to check for deleted photos in StandardCamera
* Make sure evidence is only added to current observation; submit comment with ID on ObsDetail
* Fix ObsEditWithoutProvider tests
* Move store to where it's needed
* Fix tests
* Await evidence being added to obsPhotos from camera
* Add a note about slices to useStore
* Update to realm 12
* Remove unused mocks to fix some tests
* Fix test by unmocking ObsEditProvider
* Fix more tests by removing mocks/changing when tests write to realm
* Remove mocks on ObsEdit component test and fix accessibility labels
* Fix hooks tests with realm
* Set test path for realm; finish fixing tests
* Small tweak
* Upgrade realm/react library
* Migrate schema
* Simplify ObsEditProvider by moving functions into local state & calling reducer less frequently
* Fix delete all observations
* Fixes
* Move index selection to MediaViewer via params
* Access ObsEditContext on top level of ObsEdit and pass props
* Move context to top level screen components
* Fix tests
* Use waitFor to fix ObsDetails integration test
* Alphabetize props; remove realm check; refactor new Id method
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Remove console statements in production build
* Move uploadReducer into separate file
* Create reducer for creating obs; combine reducers
* Fixes with createObsReducer
* Move album, passes test states out of global context
* Bug fixes for ObsEdit flow
* Create photo gallery container
* Set accessibility test todo for PhotoGallery
* Improve FlashList performance MyObs
* Prevent flicker on modal close
* Create less rerenders in MyObservations
* Memoize drawer items for less rerendering
* Memoize custom tab bar
* Remove unused libraries and update snapshot
* Fix and prune dependencies
* Add AddObsModal tests
* Fix e2e test android by making comment confirm button visible