* stop asking for PHOTO LIBRARY permission before import, b/c it's not
necessary for importing
* use a forked version of react-native-cameraroll that allows us to write
location metadata to newly-created photos, which was the really important
thing we were using the PHOTO LIBRARY permission for
Closes#1612
* Stop location fetch when nav to location picker; let useWatchPosition handle acc
* Update pods
* Close delete obs sheet after single deletion
* Fix for e2e test: restore isFocused check
* Revert code
* Replace name in permission requests
* TakePhoto TS
* PermissionGate TS
* Type
* PermissionGateContainer TS
* Interface
* Types
* LocationGate TS
* Remove LocationPermissionGate from Camera
* Remove write only permission
* Type
* ObsPhotoSelectionList TS
* Code style
* Show the improve with location button
* Create useLocationPermission.tsx
* Use new hook on suggestions
* Doc comment
* Use new hook in camera view
* Add strings
* Refactor Explore main content
* Use permission hook on RootExplore
* Add no location permission component
* Rename function
* Prop request permissions and use with button
* Default to Nearby label
* Remove Node type
* Projects TS
* Use useLocationPermission hook in projects screen
* Add string
* Prop permission down
* Refactor list render
* Refactor tab id into enum
* Tab type
* On nearby tab if without permission show button to prompt
* Leftovers
* Remove location permission gate from ObsEdit
* Use location permission hook on evidence section
* SearchBar TS
* Do not autoFocus on search bar in location picker.
Closes#1743
* Update type
* LocationSearch TS
* Show location permission gate on location picker's mount
* Add location permission to CurrentLocationButton
* Remove unused props of Map
* Remove unused exports from useMapLocation
* Migration
* Revert "Show location permission gate on location picker's mount"
This reverts commit 30ff75698c53d54d0b14cd2bd629f7155b743bf8.
* Add callbacks to useLocationPermission hook
* Show location permission ask on Obs Edit
* Remove unused string
* Reset explore filters should set location always to worldwide
* Add helper function to show place text in Explore
* Remove unused state of filter modal
* Show place text in filters modal with helper
* Show location permission button only for Nearby explore state
* Add a placeMode state
* Do not send placeMode to API
* Also treat limited permission as yes
* useLocationPermission in ExploreLocationSearch
* Refactor to setting place mode
Instead of logic based on the translated text of the place_guess string that is stored in ExploreContext, we are switching to an enum state that signifies which mode to show on explore:
1.) Nearby: Filters explore results based on the user's location. This also has a state without location permission that does not query the API.
2.) Place: Filtering by a specific place (as retrieved by /places API).
3.) Worldwide: Retrieve worldwide results, i.e. not having a place filter set.
4.) Map area: Filtering explore results precisely to the map rectangle shown on the explore map.
* Remove import from test
* Remove export
* Use blocked title only for blocked permission asks
* Move gallery permission container to Tab navigator as are the others
* Add gallery save title
* Split location permission explanation into two
* Update strings.ftl
* Only nav to location picker if permission was not granted
* Check permission on app being foregrounded
* The location permission part is handled by useLocationPermission
* Do not store permission result in hook
* Use hasPermission from permissions hook
* Update fetchUserLocation.e2e-mock
* Move hook one higher
* Show user location if permission is given
* PermissionGate callbacks should use useCallback
* Add permission hook to map usage
* Fix test
* Update layout to be asserted
* Add location permission hook to Explore
* Remove console.log
* Few TS fixes
* Indentation
* Remove superficial check
* Update Podfile.lock
* Disagreeing IDs and Potential disagreement bottomsheet
* Change back to js
* Styling for withdrawn disagree text, string adjustments
* Agree taxon and disagree taxon share same state var, Reuse existing RadioButtonSheet for potential disagree, UI changes, styling for scientific name
* Remove duplicate
* Fix suggest id sheet not showing from teaxon details
* IconicTaxonChooser no longer takes a taxon or manages its own state
* Setting iconic taxon filter to Unknown is now its own action
* Unsetting a taxon can be done with the CHOOSE_TAXON action by setting taxon
to null or undefined
* Omitted some extraneous params from tile requests
* Refactor upload code into hook and zustand slice
* Create a single source of truth for toolbar and individual progress
* Fix unit tests
* Fix more tests
* Continue trying to simplify upload progress and status code
* Continued overhaul of upload code
* Fix exclamation point in Toolbar
* Fix total toolbar progress
* Fix tests
* Update snapshots
* Code cleanup
* Update MyObs test
* Fix most tests by not deleting realm
* Keep attempting to make toolbar text clear in subsequent tests
* Delete photos from observation; allow upload once photos deleted; closes#1575
* Only pass photo uri into evidence list; fix test
* Fix merge
* Add keyboard dismissable component to ViewWrapper; closes#1567
* Show region in Location Picker when current location tapped
* Fix tests with accessibility label
* Update strings
* Make Modal for ExploreFilters
* Show bottomsheets in modal
* TaxonSearch now a modal in explore fliters
* taxon search modal now clickable from explore page header
* more explore search modals. WIP nearby and worldwide buttons
* Adding explore user, location and project search modal files
* Nearby and worldwide buttons explore location modal
* Fix undefined place in useMapLocation
* Fix undefined place
When an Error object is passed to logger.error() as the last arg, this change
* extracts error_type and backtrace
* reports a shorter message that should be searchable
Also:
* Avoid double logging errors; ErrorBoundary should log errors in a way we can parse
* Added restart button to default ErrorBoundary; globalized text
* Check for CV directory
* Save original, rotated photos for processing; clear directory when user lands on MyObs
* Reset evidenceToAdd when user lands on StandardCamera
* Disable photo taking while loading so one photo doesn't overwrite another