Commit Graph

231 Commits

Author SHA1 Message Date
Ken-ichi Ueda
f97d413930 v0.24.0+73 2024-02-26 13:02:25 -08:00
Johannes Klein
4877c1a369 Add Support screen (#1171)
* Update strings.ftl

* Add drawer item for Support

* Update strings.ftl

* Change key

* UI for Support screen

* Link out to websites on button presses

* Restyle screen header

* Eslint settings to get rid of an error

* Use react-native-store-review to ask for review

* Not needed use of .tsx in import

* Remove comments
2024-02-25 22:33:04 +01:00
Ken-ichi Ueda
c5b2335926 v0.23.0+72 2024-02-23 21:33:44 -08:00
Ken-ichi
4ccf9e750b Explore fixes (#1169)
* Separate zoom to user loc from nearby; fix Android map crash; disable map pitch and rotate
* Ensure Explore shows nearby observations after permission granted
* Ensure Explore shows nearby observations even when defaulting to grid/list
  view
* Don't default the map to showing verifiable obs (this isn't the map's
  responsibility, sometimes we want to map casual obs)
* Remove extraneous current location button on map (closes #941)
* Bugfix: Explore user filter didn't let you choose a user
* Remove place params for bounding box searches and vice versa
* Prevent Explore list and map from re-rendering every time you come back to Explore
* Fixed Explore header count overflow style
* Bugfix: Explore filters weren't 100% width on iPad
* More layout fixes; fixed bug w/ UserProfile when zero idents
2024-02-23 19:55:25 -08:00
Ken-ichi
f45108036f Sound recording (#1164)
* Added basic navigation test for StandardCamera & SoundRecorder
* Abstracted camera nav buttons and used in SoundRecorder
* Show sounds in the MediaViewer
* Added sounds to ObsEdit, w/ MediaViewer support
* Ensure sounds get both uploaded and added to observations
* Local sound deletion
* Remote sound deletion
* Rudimentary and deeply unperformative sound visualization

Closes #869
2024-02-22 22:02:25 -08:00
Johannes Klein
ef8497b582 My creation (#1159)
* Move identify screen to DeveloperStack

* Remove Identify link from drawer

* Activity animation using all of flexbox

* Adding a list of observations to Identify and show animation on loading

* Remark is not needed

* Refactor import

* Update Podfile.lock

* Refactor iconic taxon to be inside Confetti component

* Remove some comments

* This View is not really required I think

* Change comment
2024-02-20 14:32:28 +01:00
Amanda Bullington
eb7f9d28e4 Add navigation links to explore views (#1146)
* Add navigation links to species, observer, identifier view items

* Add tests to check for navigation; closes #1054
2024-02-13 16:52:11 -08:00
Ken-ichi Ueda
ccd0f8ed97 Changed toolbar upload rotating icon rotation direction to be clockwise 2024-02-12 14:29:21 -08:00
Amanda Bullington
8e6269c8d0 Wrap realm.write in safeRealmWrite transaction (#1123)
* Add a safeRealmWrite transaction for better logging around writes; code cleanup and realm update

* Add safeRealmWrite to tests and make sure action is called synchronously

* Fix final test

* Only write to realm when useObservationsUpdates data changes; code cleanup

* Code cleanup
2024-02-09 16:16:32 -08:00
Ken-ichi Ueda
7f7097ea6b v0.22.0+71 2024-02-08 19:00:46 -08:00
Johannes Klein
fdca961117 Upgrade RN to 0.71.16 (#1118) 2024-02-07 16:18:50 +01:00
Johannes Klein
f1bbf6f988 v0.21.1+70 2024-01-29 13:56:39 +01:00
Johannes Klein
7b7569e650 v0.21.0+69 2024-01-26 13:35:54 +01:00
Ken-ichi
4e42ebc262 Community taxon opt out notice (#1060)
* Shows notice when user or obs is opted out of Community Taxon on ObsDetails
  (closes #882)
* Unifies mapApiToRealm methods around a single interface
* Ensure that the remote obs used on ObsDetail is normalized to look like a
  local obs
* Ensure some tests that use signIn() have isolated Realm instances
* Update current user's obs from ObsDetails (closes #1045) 
* Fixed CC0 license display on ObsDetails (was not actually related to
  updating the local copy of the obs
2024-01-18 20:16:30 -08:00
Amanda Bullington
51a3d171b2 Limit display taxon name on ObsGridItem (#1042)
* Ellipsize long common name text, ObsGridItem; closes #913

* Update snapshots
2024-01-16 16:52:10 -08:00
Johannes Klein
18ace3e397 Small dependency update 2024-01-16 22:38:47 +01:00
Amanda Bullington
ea4a7e0d4b Remove StickyView from Explore Header (#1030)
* Make Explore Header closer to spec

* Remove icons that aren't proper svgs
2024-01-12 16:09:48 -08:00
Johannes Klein
62d787dbf8 Upgrade react native patch version 2024-01-12 21:35:15 +01:00
Ken-ichi Ueda
bd4052c73c v0.20.0+68 2024-01-12 12:09:32 -08:00
Ken-ichi Ueda
0c701faf84 Changed Establishment Means title heading on TaxonDetail 2024-01-12 11:30:37 -08:00
Angie Ta
b65c6f92af Merge branch 'main' into 933-iconictaxonchooser-should-fill-entire-width 2024-01-11 17:58:07 -08:00
Angie Ta
b867f3ae59 Adjust margins for IdentificationSection 2024-01-11 17:20:19 -08:00
Amanda Bullington
30a5a9fbec Use safe area insets to style tab bar padding (#1021)
* Use safe area insets to style tab bar padding; closes #945

* Update snapshot
2024-01-11 10:57:54 -08:00
Johannes Klein
5996688318 Share image into app bugfix (#1022)
* Switch the order of share manager or linking manager

* Maestro e2e test for sharing into app on iOS

* Update maestro flow

* Maestro e2e test to check if links into the app work

* Maestro e2e test android share into app
2024-01-11 18:43:52 +01:00
Ken-ichi
3eddba7daf Change bundle ID (#1013)
* Changed the Android package name to org.inaturalist.iNaturalistMobile
* Changed iOS bundle ID to org.inaturalist.iNaturalistMobile
* Updated fastlane; committing eslint fixes
* Updated ios/iNaturalistReactNative-ShareExtension/Info.plist with new bundle ID
2024-01-10 12:12:17 -08:00
Amanda Bullington
9fd47453a1 Add Photo Permission Gate (#999)
* Add permission gate for adding photos

* Add permission gate for adding photos to library

* Show permission gate first time camera loads; allow navigation on future loads

* Show PermissionGate only when checkmark tapped

* Show permission gate when checkmark tapped

* Nav to obs edit when permission granted

* Fix ARCamera tests

* Update file names; remove unused files

* Rename method from usePrepareState hook
2024-01-09 11:18:10 -08:00
Amanda Bullington
21f83d7f58 Only show current ids in IdentificationCount; closes #995 (#1007) 2024-01-09 11:15:41 -08:00
Amanda Bullington
cd18e970d7 Taxonomy component, TaxonDetails (#978)
* Style taxonomy ancestors and current taxon

* Link to TaxonDetails pages

* Add children to TaxonDetails taxonomy

* Add children taxa toggle

* Display children after button tap

* Wrap text'

* Fix italic font size in DisplayTaxonName

* Add tests to Taxonomy component

* Change Taxonomy test
2023-12-19 11:04:30 -08:00
Ken-ichi Ueda
3653050d96 v0.19.0+67 2023-12-15 21:43:39 -08:00
Ken-ichi
f7dc08a704 Suggestions fixes (#972)
* 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
2023-12-15 19:58:12 -08:00
Amanda Bullington
b33119f5a4 Update checkboxes & fix tests (#971)
* Update checkboxes & fix tests

* Fix accessibility/tests

* Update pods
2023-12-15 09:36:40 +01:00
Ken-ichi
8119a3e5ca Taxon detail media viewer (#966)
* Access MediaViewer from TaxonDetails
* Added our own presets for ActivityIndicator
* TaxonDetail should show a local taxon if one is available
* Made it a little easier to import the custom logger
* Refactored MediaViewer to accept photo-like objects instead of URIs
* Added license / attribution button to MediaViewer
* Moved delete button into MainPhotoDisplay so each photo has its own button
  and it can be laid out relative to its photo
* Add custom header to MediaViewer when accessed from TaxonDetial
* Allow DisplayTaxonName to accept custom text components as props
* Added darker bg to photo on TaxonDetail to make title more legible
2023-12-14 17:18:41 -08:00
Ken-ichi
171eab91fe White bird on green splash screen (#957) 2023-12-07 09:38:44 -08:00
Ken-ichi Ueda
2fe2c46543 v0.18.1+66 2023-12-04 19:50:05 -08:00
Ken-ichi Ueda
abede8ebdd v0.18.0+65 2023-12-01 16:23:36 -08:00
Johannes Klein
a335955645 Update Podfile.lock 2023-11-29 17:53:58 +01:00
Amanda Bullington
a401854475 Sync deleted observations from server (#924)
* Realm updates for cascading deletions

* Delete local observations from remote list

* Add tests for deleting local obs which were deelted on server

* Fix: don't create embedded objects explicitly
2023-11-27 15:07:23 -08:00
Amanda Bullington
1a27ef68cb Upgrade to Realm 12 (#925)
* 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
2023-11-22 13:01:59 -08:00
Ken-ichi Ueda
4357995e20 v0.17.1+64 2023-11-22 10:17:35 -08:00
Ken-ichi Ueda
21f1f3690b v0.17.0+63 2023-11-20 18:49:16 -08:00
Ken-ichi
6af81365d8 Restore tap-to-focus by reverting to react-native-vision-camera v2 (#923) 2023-11-20 14:49:30 -08:00
Ken-ichi Ueda
3c08edbe61 Added unnecessary iOS permission text
The App Store complained about missing this permission the last time we
submitted a build, even though we never request it. I added it to supress
that warning, but used text to make it clear the user should not be seeing
it.
2023-11-15 11:00:04 -08:00
Ken-ichi Ueda
4307ee829e v0.16.0+62 2023-11-10 23:12:11 -05:00
budowski
3c6f453bf3 Native image picker (#828)
Uses a fork of
https://github.com/react-native-image-picker/react-native-image-picker that
forces an old-style Android native photo picker to ensure we get all the
photo metadata we need. Closes #431 and closes #569

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-11-06 19:41:09 -05:00
Amanda Bullington
1d9adb0f51 More performance improvements (#845)
* 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

* Use callbacks and memoization to cause less rerenders

* Fix tests

* Remove unused code

* Remove log

* Minimize calls to check whether internet is reachable

* Remove unused code
2023-11-06 12:24:31 -08:00
Ken-ichi Ueda
c4f8551be8 v0.15.0+61 2023-11-03 17:36:32 -04:00
Amanda Bullington
5913fb511e Energy usage / performance improvements (#844)
* 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
2023-11-02 11:03:48 -07:00
Amanda Bullington
8df67b8992 Add comment sheet for deleting comments; closes #792 (#835) 2023-10-25 16:21:54 -07:00
Ken-ichi
dacd8788ec Permission gate layouts (#743)
Primarily adds designed layouts for permission gates (also referred to as permissions priming).

* moved permission gate business logic into a container
* use react-native-permissions exclusively
* Show PermissionGate as a modal
* Basic unit tests for PermissionGate
* Consistent content width on tablet, other minor style changes
* Allow PermissionGate to be used outside of nav hierarchy
* Use user location on Explore after getting permission
* Remove redundant 'always' location perm in ios
* Isolate current location button in the Map component, which uses location fetching functionality from react-native-maps instead of our own
* Updated cocoapods; matched INatIcon.ttf to sha1 hashes
2023-10-18 16:47:12 -07:00
Johannes Klein
d15f0bd6ee v0.14.0+60 2023-10-16 22:27:55 +02:00