* Intro work to obs list toolbar redesign
* Replace current upload prompt w/ toolbar
* Fix and skip locale tests
* Add resetting error to cleanup func
* Update icon size
* Make loading bar more accurate
* lint
* Fix file name
* Make requested changes
* Space parens
* Update UserCard.js
* Fix UserCard background color
* Fix navigation to Explore screen
* Small changes, mostly to get LoggedOutCard visible and tests passing
---------
Co-authored-by: Amanda Bullington <35536439+albullington@users.noreply.github.com>
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* Add heading typography components
* Add typography components for body, list, and subheading
* Add font sizes/line heights to tailwind css
* Replace Text components in UI library with new typography; closes#383
* Update pixel size of fonts and use Heading2 throughout UI library
* Remove repeated logic from code
* Fix sizes for typography components
* Add eslint-plugin-react-native-a11y dependency
* Do not fix warnings on eslint run
* Change all a11y error rules to warnings for now
* Add a11y hint to Tabs
* Add a11y prop to UserIcon
* Update strings.ftl
* Update strings
* Update README.md
* Update a11y props for InlineUser
* Update a11y label
* Add explanation for strings
* Add custom iNat icon font to iOS and Android
* Add custom icon to iNat UI library
* Create custom iNat icons using IconButton for add obs modal & footer
* Add icon placeholders to observation edit screen
* Test fixes for accessibility
* Move paper provider into new component; fix names in UI library
* Update README with clarified directions about changing the name of the .ttf file
Closes#110
* #110 - upload photos/sounds separately from obs_photos/obs_sounds, using new API v2
* Updated package-lock.json with new version of inaturalistjs
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Create base inline user component
* make icon closer to spec
* use premade func
* Add unit tests
* Add unsaved changes
* Add unsaved changes
* Change a11y role to get branch to run without errors
* Fix comments
* Lint
* Add nav to user profile
* Move InlineUser in UiLib and use currentUser if true
* Add a11y label and testID
* Add currentUser to UiLib
* Reorder tests
* Rename mock
* Await photos in tests
* Fix order
* Refactor Inline to use UserIcon and add no internet icon
* Update UiLibrary.js
* Test also that unwanted images are not present
* Use InlineUser component in ObsDetail and ActivityItem
* Update UserIcon.js
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Rename some functions and variables
* Rename function
* Revert to original timeout for tokens
* Get JWT for a 401 or 403 http errors in the react-query QueryClient retry handler
* Log API error to new logger
* Fetch token on every render in useApiToken hook
* Remove commented code
* Add comment
* Remove useEffect from useApiToken
* Revert "Remove useEffect from useApiToken"
This reverts commit 9cf1e0c0bc.
* Standard Camera adjust for width when screen orientation changes. Closes#350.
* Remove SafeAreaView from StandardCamera
* Reduced pressable area for camera button
* Lock StandardCamera orientation to portrait mode on smaller devices, detect device rotation
* PhotoCarousel responsive to device rotation, mocks added to StandardCamera tests
* Image rotation when rotation to and from landscape mode
* Regroup accessibility label strings at end of strings file
* Add accessibility test to AddID
* Add a11y labels to AddID
* Add a11y test to StandardCamera
* Add a11y props to StandardCamera
* Remove unit test with only todos
* Add a11y test to Messages
* Refactor PhotoScroll test into own file
* Add a11y test to ObsDetails
* Add a11y test to ObsList
* Add a11y matcher to PhotoGallery test
* Add a11y matcher to ProjectDetails test
* Add a11y matcher to ProjectObservations test
* Add a11y matcher to Projects test
* Add a11y props to ProjectList
* Add a11y props to ProjectTabs
* Add a11y matcher to Search
* Add a11y matcher to UserProfile test
* Add a11y test matcher to UserText test
* Update react-native-accessibility-engine
* Add a11y matcher to Tabs test
* Add a11y label to a selectable photo
* Refactor DataTab tests into separate file
* Refactor ActivityTab test out into own file
* Added a test how to check if a component uses a mocked container
* Add wrong a11y props to TextInput left icon
* Enable a11y test with actual BottomSheet because mock does not pass a11y props down
* Add a11y default props to Button
* Update Button component with new styling; closes#384
* Change button to Pressable instead of RNPaper to get border to show on Android
* Add disabled buttons to UI library
* Add multiple buttons in row
* Add multiple button examples
* Create reusable tab components
* Add tests, accessibility, and nit changes
* Update a11y state to use expanded instead of selected add a11y role to parent
* Update Tabs.test.js
* Use screen, rearrange test, added expanded state
* Define default prop outside of component
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
Removes intentional Realm file deletion to avoid unintentional Realm file deletion, though the latter remains something of a mystery.
* Configure Realm with the full path to the file
* Remove all Realm.open calls in AuthenticationService in favor of passing the
context/provider copy of realm (only one realm instance)
* Only delete the realm file on sign out if deleting realm contents fails for
some reason
* Replaced deleteRealm with semantically more accurate clearRealm
Closes#373
* Wrap focus errors in try/catch; show focus box immediately with correct coords; closes#355
* Throw errors which are not startFocusAndMetering error
Closes#363
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Update to newer Gesture.Tap and GestureDetector API; add double tap to zoom
* Update pinch to zoom to use newer Gesture.Pinch API
* Improve zoom by comparing saved value instead of checking velocity to determine zoom in/out
* Wrap focus errors in try/catch; show focus box immediately with correct coords
* Added withTiming to animate tap-to-zoom without animating pinch-to-zoom
Closes#355
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* #369 - use different library for location fetching
* Use @react-native-community/geolocation everywhere, including tests
Co-authored-by: Yaron Budowski <budowski@gmail.com>
* Set up logging for user signing in and out
* Set up button to email debug logs in About; closes#357
* Fix bug where signOut called too many times in App; code cleanup
* Add mocks to RNFS to get Auth tests passing
* Add simple test to make sure mailer is called on button press
* Added a file sharing fallback when Mail is not available in iOS
* Rename log extension
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Add e2e test to log in a test user
* Add config variables to .env.example
* Add e2e user credentials to .env created for workflow
* Fix newline typo in workflow file
* Change ios e2e to run only on push to main as well
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>