* Refactor FadeInOutView animation to use reanimated
* Only define the dynamic parts of the style in useAnimatedStyle
* Refactor FadeInView to use reanimated
* Only define dynamic values in useAnimatedStyle
* extract non-react log helpers out of custom hook
* git mv useLogs to more appropriate name / location
* update logmgmt imports, clean up getLogs
* git mv Log.js Log.tsx
* remove sharing functionality from log preview screen
* reorganize debug screen w/ headers
* refactor all Debug sections for consistency
* add rolling log config, switch existing logmgmt to 'legacy' var
* factor path out of share/email for legacy wrappers
* add 'legacy' log category in prep for showing new logs
* add legacy flag to log preview screen params
* add useLogPreview for Log screen supporting legacy and aggregated recent rolling logs
* actually support sharing the new logs w/ a tmp file of concatenated recent logs
* delete low value developer screen test
* fix double reverse and handle bad filename
* Refactor focus tap to Reanimated
Have moved the check if the focus has been tapped (!tappedCoordinates) to the view component because we anyways export the coordinates. This removes the need for the lodash import.
* Refactor LocationStatus to use Reanimated
* Only define dynamic properties in useAnimatedStyle
* Fix previous comment
* Add stub for ExploreFilters screen
* Create FilterModalV2.tsx
* Remove everything that is not needed from ExploreFilters stub
* Add a dummy header link to navigate to ExploreFilters V2
* Wrap ExploreFiltersContainer in Explore context provider
This is probably not what we want in the long term but there are too many errors to fix now if I don't do this.
* Replace project search modal with navigation
* Stub for an ExploreSearch screen
* Rename export
* Replace user search modal with navigation call
* Replace location search modal with navigation call
* Add function stub
* Replace location search modal with navigation call
* Update type in ExploreLocationSearch
* Copy over search UI into the new Universal Search screen
* Remove console.log
* Add params type
* Make cross hair circle size relative to map.
* Calculate the zoom level by taking into account that the crosshair circle
only fills a portion of the map, and the accuracy represents the radius not the diameter.
* Revert "Make cross hair circle size relative to map."
This reverts commit bf1e244f24.
* Listen to on map layout
* Set radius to map height ratio in state
We need this to convert accuracy to latitude delta and vice versa. We only get information for the entire map, i.e. onRegionChange latitude delta is from map top to map bottom, but we want to know the value for the cross hair circle radius.
* Add helper to calculate latitude delta to meters
* Replace meters to latitude delta calculation
* Replace accuracy estimation on map update with the more thorough calculation
* Use radius to height ratio to calculate initialRegion latitudeDelta
* Use map dimensions ratio to calculate required longitude delta
Turn out that if we give the map an initial region with latitudeDelta: 0.2 and longitudeDelta: 0.2 the latitudeDelta has no effect because longitude is on the shorter side of our map and thusly dictates the zoom.
So, specifying the zoom level based on latitude level was off a factor of width/height of the map view.
* Migrate DisplayLatLng to TS
* Remove unused typed param
* Keep the useEffect that calls initializeMap but add the new ratios
* Only use initial region when returned
This being null can happen if this function get's called before we measured the necessary ratios.
* Initial state for the region is now undefined
This is possible because we switched to initialRegion for centering the map.
* Only set new region if present
If a user presses SAVE without having changed the region on the map we just go back in navigation.
* Also show initialRegion as the text in the map
* Change to useCallback, two functions that are dependencies of a useEffect in Map
* Also use initialRegion on Android
* Change size of project icon
For a project.icon image we can only query for a 70x70px image (or a 1024x1024). So let's just display something closer to the image we receive so that it is not too blurry.
* Remove dead code