Commit Graph

1528 Commits

Author SHA1 Message Date
Ken-ichi
9429fd0996 fix: prevent iconic taxon common names from disappearing in the local db (#2631)
Ensure useAuthenticatedQuery only executes the query when it knows if the user
is signed in or not, and appends that state to the query key so signed in and
signed out results are distinct.

The problem here was that useIconicTaxa was mysteriously returning stale,
signed out results while offline.

Closes MOB-383
2025-01-22 17:17:26 -08:00
Amanda Bullington
c09cb2f5de Add place_guess before navigating to Match screen from gallery (#2630) 2025-01-22 13:32:28 -08:00
Amanda Bullington
20a4008c1c Crash/bug fixes for Match Screen (#2628)
* Only reset observation slice at the beginning of the flow, not the end of the flow, so screen doesn't rerender and crash

* Pass in an option to skip resetting slice before navigating

* Pass correct taxonId to TaxonDetails screen
2025-01-21 18:03:11 -08:00
Ken-ichi
21a66c8580 fix: make UUIDs more random (#2629)
Replaces react-native-uuid with uuid, which might do a better job making UUIDs random
2025-01-21 15:23:15 -08:00
Ken-ichi
7b0a7d5018 feat: remove confidence score dots from AI camera in default mode (#2622)
Closes MOB-381
2025-01-21 11:21:17 -08:00
Ken-ichi
736eba5a52 feat: add labels to tab buttons (#2611)
* feat: add text labels to bottom tabs
* fix: treat icon and text as single pressable for screen readers in bottom tabs
* feat: float AddObs button outside of bottom tab bar

Closes MOB-254

---------

Co-authored-by: Kirk van Gorkom <55742+kvangork@users.noreply.github.com>
2025-01-21 11:20:48 -08:00
Amanda Bullington
92c5fa243d Add a navigation guard to make sure a user can't navigate to login while offline (#2624) 2025-01-17 19:34:24 -08:00
Ken-ichi
8121e1452c feat: show simplified MyObservations to logged in users (#2616)
* refactor: convert UserIcon to TypeScript
* feat: show simple MyObs to signed in user; add user icon & login to header
* feat: show warning and edit button for unuploaded obs w/o basics
* refactor: consolidate ObsEdit navigation logic
* feat: show edit button with circle dots
* refactor: upload UploadQueuedRotatingIcon to the more reusable CircleDots
  component
* refactor: upload icons to use more composition and fewer specialized, one-off
  components
* fix: bugs in determining if an obs has date and coords
* refactor: extract MyObservationsSimple business logic into container
* refactor: get total obs count from relevant hooks
* feat: show remote species for signed in users
* fix: hide photo count icon when missing basics icon is present
* feat: show banner alerting user when missing location or date

Closes MOB-318
2025-01-17 17:21:29 -08:00
Amanda Bullington
bbb7b46657 Keep list items (and all content) within the screen width (#2623) 2025-01-17 16:52:15 -08:00
Ken-ichi
96c316a257 feat: show all results in Explore projects search (#2621)
* refactor: convert ExploreProjectSearch to TS and assoc'd TS changes
* feat: use infinite scroll in Explore Filters project search
* feat: show universal search results in Explore project search

This should show the same ranked search results a user would see at
https://www.inaturalist.org/search?source[]=projects

Closes MOB-313
2025-01-17 16:31:07 -08:00
Amanda Bullington
9872a99f47 Fix: Show observation date in ObsEdit date picker (#2620)
* test: run same suite of tests for ObsDetails and its default mode equivalent

* Show observation date when opening date picker
2025-01-17 15:21:40 -08:00
Amanda Bullington
92f1b304bb feat: select other suggestions in Match screen (#2617)
* Update Match screen with new taxon photos, match header, and add'l suggestions list when suggestion is selected

* Code cleanup

* More defensive object equivalence check
2025-01-16 17:46:44 -08:00
Ken-ichi
2789390f21 New Crowdin translations by GitHub Action (#2595)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-01-16 12:47:28 -08:00
Amanda Bullington
689882726c Update confidence scores to show decimal & update styling of suggestions list (#2615) 2025-01-16 10:48:05 -08:00
Amanda Bullington
4902dcf825 Show match screen after gallery; limit gallery selection to one photo (#2614) 2025-01-15 14:43:29 -08:00
Amanda Bullington
7ebde68646 Prevent swiping back on root screens (#2613) 2025-01-15 13:41:59 -08:00
Amanda Bullington
be40daa448 Hide explore button on TaxonDetails from Match (#2612) 2025-01-15 13:17:57 -08:00
Angie
cf00ef4885 new "by me" and "not by me" buttons for user filters in explore filters (#2596)
* adds "by me" and "not by me" user filter buttons to explore

* remove console log, improve rerenders when excluding current user in species view

* Remove user object from observations in realm, add key prop to ButtonBar, UI fixes

* fixes total results number in species and observation view of explore when NOT BY ME

* bug fix
2025-01-15 00:28:43 -08:00
Amanda Bullington
94ac9f2c05 Add suggestions to match screen (#2609)
* Create useSuggestions hook with all online/offline logic for reuse in Match screen

* Show real online/offline suggestions on Match screen

* Code improvements

* Display top suggestion from useSuggestions, not AICamera
2025-01-14 16:55:41 -08:00
Ken-ichi
5aa16088f5 feat: add a LearnMore screen for use in signup flow (#2610)
Closes MOB-351
2025-01-13 17:57:03 -08:00
Ken-ichi
75d69f8c74 feat: add simplified MyObservations for logged out users with at least 1 obs (#2599)
Simplified version of MyObs for signed out users with more than 1 obs. Currently only in debug mode.

Also:

* refactor: extract TaxonGridItem into a reusable component
* chore: TypeScript cleanup

Closes MOB-317
2025-01-10 19:48:29 -08:00
Ken-ichi
cee9b64188 fix: save or discard the observation from the match screen (#2607)
* fix: save or discard the observation from the match screen
* feat: add Match header and footer to TaxonDetails from Match
* refactor: rename TaxonDetailsHeader prop controlling right element
* feat: show search from TaxonDetails via Match

Closes MOB-353
Closes MOB-358
Closes MOB-359
2025-01-10 16:44:12 -08:00
Amanda Bullington
2d6a6376ec Generate strings for match header based on rank and confidence (#2608) 2025-01-09 20:03:34 -08:00
Amanda Bullington
40a375dd9f Create text style Subheading2 and apply in Match screen (#2605)
* Add Subheading2 component and apply to Match screen

* Add snapshot test for Subheading2

* Add snapshot
2025-01-09 17:10:26 -08:00
Ken-ichi
486f1f6dff fix: change No Location to Add Location on match screen (#2606)
Closes MOB-365
2025-01-09 15:58:37 -08:00
Amanda Bullington
5496cdf732 Add location picker / gate to Match screen (#2604)
* Show location permissions gate / location picker in Match screen

* Show correct place_guess on Match screen
2025-01-09 12:22:49 -08:00
Johannes Klein
f84d09648d chore: rename look up location (#2603)
Renames a function call and fixes a NullPointerException on Android
2025-01-09 16:43:54 +01:00
Amanda Bullington
94002f0f59 Update button text based on ranking (#2602) 2025-01-08 18:12:10 -08:00
Amanda Bullington
d209b5838d Memoize trigger for logging user location fetch started to avoid infinite renders / location fetching issues (#2601) 2025-01-08 15:38:14 -08:00
Amanda Bullington
4652929056 UI for Match Screen after AICamera (#2598)
* Save TaxonPhoto to realm; display taxon on match screen

* Code tweaks

* Add match screen to navigation after AI camera in debug/default mode

* Fix test and refactor

* Fix issue with infinite renders in useLayoutPrefs
2025-01-08 14:28:16 -08:00
Ken-ichi
7ec14e9e78 fix: fill ObsEdit BottomBar with Save button when logged out (#2597)
* chore: TypeScript and style fixes
* fix: fill ObsEdit BottomBar with Save button when logged out
2025-01-08 11:00:07 -08:00
Johannes Klein
feec5567a3 feat: update vision-camera-plugin-inatvision to a version that fully supports the geomodel (#2584)
* Update vision-plugin

* useOfflineSuggestion TS

* Use location for prediction from file

* Remove log

* Use plugin function to lookup location and elevation based on h3 cells

* taxonomyRollupCutoff is now done in the plugin on basis of the tops score for a frame

* Fix wrong commit reference. Now references main branch

* Fix has location check to account for 0.0 locations

* Only prop in lat and long

* Add explanation

* Fix: Import vision-plugin function from wrapper file

* Add jest mock for new plugin function
2025-01-08 16:15:36 +01:00
joergmlpts
f68d3cc252 fix: stop resetting map zoom level on every pinch in Android and more (#2594)
* stop resetting map zoom level on every pinch in Android;  state for the region needed to be introduced and updated after each gesture (closes #2529)
* zoom to current location when current location button and current location is not currently in the viewable map area; a callback needed to be called explicitly after animateToRegion() (closes #2555)
* zoom and pan the map when a place search result is chosen in Android; a state for the region needed to be introduced and a callback needed to be called explicitly after animateToRegion() (closes #2593)
2025-01-07 12:04:17 -08:00
Johannes Klein
b8464d0a9b Remove log statement (#2588) 2025-01-07 10:36:30 -08:00
Ken-ichi Ueda
f1d9607bf2 fix: make context label more descriptive 2025-01-03 15:47:59 -05:00
Ken-ichi
c12270739b New Crowdin translations by GitHub Action (#2550)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-01-01 21:47:29 -05:00
Ken-ichi Ueda
a73f54bb38 test: fix test that won't pass for the first 40 days of the year 2025-01-01 17:50:51 -05:00
Amanda Bullington
1c59f89a14 Add functionality for advanced iNaturalist mode (#2591)
* Add functionality for advanced iNaturalist mode

* Fix language settings test by toggling advanced mode on

* Fix e2e tests by adding advanced user toggle

* Fix more tests in Settings with advanced toggle
2024-12-26 21:35:27 -08:00
Ken-ichi
31ce8994d9 feat: add interface mode preference to Settings (#2583)
* feat: add interface mode preference to Settings

* Refactor existing layout preferences so they are all persisted
* Made a new namespace within the layout slice so that all values there will
  get persisted without having to add stuff to the persistence code AND we
  avoid namespace collisions
* Wrapped layout slice getters and setters in a hook to provide descriptive
  names without modifying the underlying values

* Remove duplicate testID that was causing e2e to fail

---------

Co-authored-by: Amanda Bullington <albullington@gmail.com>
2024-12-26 15:11:09 -08:00
Ken-ichi
ebba764906 feat: sign in with Google (#2579)
Closes #2515
2024-12-19 12:24:16 -05:00
Amanda Bullington
1d340eb558 Feat: redesigned ObsDetails screen in debug mode (#2580)
* Create ObsDetailsDefaultMode and rearrange items on top of screen

* Move activity, details, and more into three different sections instead of tabs

* Styling cleanup; change Activity name to Community

* Fix scroll to activity item from Notifications

* Add ObsDetailsDefaultMode unit tests

* Show kebab menu on other users' observations
2024-12-18 19:24:24 -08:00
Angie
ce7e91e209 fix side by side button text is cut off in different languages and large font sizes (#2571)
* fixes issues where side by side button text is cut off in different languages and large font sizes.
Refactor to use ButtonBar in all places with side by side buttons. Truncates header in ObsEdit when language text exeeds space to not push kebab menu off screen. Closes #2500.

* update snapshots

* clean up BottomButtons.tsx
2024-12-18 10:56:00 -08:00
Amanda Bullington
5a2de653c8 Add logging for unsuccessful AICamera flows (#2537)
* Add sentinel file creation, logging, and deletion logic to AICamera

* Log to server and delete sentinel files after logged; fix location fetch logging

* Use logger.error, not logger.debug, to log to grafana
2024-12-18 07:03:35 -08:00
budowski
f89736188c feat: use physical volume buttons to capture photo (#2495)
* Fix #2212 - use physical volume buttons to capture photo

* Fixed tests (mocking VolumeManager)

* Fixed tests (mocking VolumeManager)

* #2212 - physical volume buttons for camera capture - also in AI camera

* #2212 - additional fixes for AI camera

* Update pods

* Update pods

---------

Co-authored-by: Amanda Bullington <albullington@gmail.com>
2024-12-17 16:40:26 -08:00
budowski
2162f55ac3 Fix #2323 - view taxon observations from explore screen by tapping on taxon (#2554)
* Fix #2323 - view taxon observations from explore screen by tapping on taxon

* Updated test snapshots
2024-12-17 16:30:11 -08:00
budowski
741ee90735 Fix #2498 - black space appearing while loading taxon details (#2553) 2024-12-17 16:24:27 -08:00
israr002
185e2a234c fix: focus on last photo in MediaViewer after removing others (#2433)
Closes #1078
2024-12-17 17:12:59 -05:00
Yaron Budowski
b8ca839080 Revert "Fix #2323 - view taxon observations from explore screen by tapping on taxon"
This reverts commit 03feee9bf3.
2024-12-15 03:01:17 +09:00
Yaron Budowski
c235b6b39d Revert "Revert "fix: don't show error when user cancels Sign in with Apple""
This reverts commit 3eb0f54f7d.
2024-12-15 03:00:10 +09:00
Yaron Budowski
3eb0f54f7d Revert "fix: don't show error when user cancels Sign in with Apple"
This reverts commit 7dd5693c17.
2024-12-15 02:59:27 +09:00