Commit Graph

76 Commits

Author SHA1 Message Date
budowski
b1b6e49d58 Update projects icons (#1996)
Closes #1930
2024-08-23 11:12:58 -07:00
budowski
b96051cb02 Internal feedback form (#1992)
Adds internal feedback form that posts to our logging infrastructure.

Also,

* Adds maxLength prop to TextInputSheet w/ UI to show characters remaining
* Adds optional description to TextInputSheet
* Adjusts TextInputSheet input height to fit area left by the keyboard

Closes #1844 

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-08-22 15:12:37 -07:00
Johannes Klein
06589dd89e Revert "Upgrade to RN0.74.0 (#1471)"
This reverts commit 1b705b4495.
2024-06-26 16:29:40 +02:00
Johannes Klein
1b705b4495 Upgrade to RN0.74.0 (#1471)
* Upgrade to RN0.74 with upgrade helper

* Bump minor version

* Update lock files

* Update PrivacyInfo.xcprivacy

* Upgrade react-native-safe-area-context

* Update project.pbxproj

* Create react-native-vision-camera+4.0.3.patch

* Update react-native-vector-icons

* Update Podfile.lock

* Fix crash on LoginForm

* Minor version bump

* Delete react-native-vision-camera+4.0.3.patch

* Update metro.config.js

* Update Podfile.lock
2024-06-26 16:17:39 +02:00
budowski
f72b4422e2 Change iNat Beta to iNat Next (#1590)
* Close #1460 - change iNat Beta to iNat Next

* One more name change

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-05-20 20:49:01 -07:00
Amanda Bullington
e19221ddf0 Reduce app size (fonts and model/taxonomy assets) (#1513)
* Remove material community icons

* Remove unneeded font files from app

* Show app size in Debug on Android

* Update snapshots

* Code cleanup
2024-05-08 09:22:01 -07:00
Angie
902be59b5a 1266 location icon associated with an observation should change based on geoprivacy across the app (#1412)
* Add new icons, change ObservationLocation to include icons

*Change observationLocation to include new icons for geoprivacy

* update snapshot
2024-04-17 16:56:18 -07:00
Amanda Bullington
2f94987b4c Whitney -> Lato font (#1407)
* Replace Whitney fonts with Lato

* Escape font family names so Lato works on iOS

* Update custom fonts

* Typography file cleanup

* Rename constants to appConstants

* Fix margins in AddObsModal
2024-04-17 11:30:55 -07:00
Ken-ichi
0b2c8315a0 OfflineNotice (#1388)
* Added clean script; fixed UI Library
* OfflineNotice component; added to Notifications
* OfflineNotice on ObsDetails media
* OfflineNotice for DQA
2024-04-11 17:25:55 -07:00
Johannes Klein
c2ccfbd90d Repair merge induced errors with Android 2024-04-09 17:20:58 +02:00
Johannes Klein
d6afb4b386 Upgrade to RN 0.73 (#1339)
* Upgrade to RN 0.73 with upgrade helper

* Upgrade testing-library

* Comment announcements

* Comment out UserProfle test

* Mock function used to calculate masonry layout

* There should not be a modal here

* There is actually also no modal here

* Use View if SafeAreaView is undefined

* Replace fast image library that was failing tests because of not being maintained

* Clear mocks in useTaxon test

* Remove legacy deps from testing flow

* Snapshot update

* Revert "Snapshot update"

This reverts commit bca8b296df.

* Update package-lock.json

* Clean-start

* Update project.pbxproj

* Reenable test that failed before updating dependency

* Reenable test that failed because of dependencies

* Remove comment
2024-04-08 15:28:06 +02:00
Johannes Klein
486ba4f30f Upgrade React Native to 0.72 (#1337) 2024-03-29 17:52:37 +01:00
Angie
f37f92795b 1221 explore screen icons (#1308)
* Identifiers and Observers icons

* Add icons to explore bottomsheet
2024-03-27 16:21:56 -07:00
Angie Ta
9588c577aa Removed old font files and replaced with updated 2024-03-13 14:38:10 -07:00
Angie
66cefdaf6b 1209 font styling fixes (#1269)
* Added font files for Book and Semibold, Added MediumText component.

* Update snaopshots for font changes

* Body1 and Body3 changed to Whitney Medium, changes to italic fonts weights on ObsListItem, seperate component for ScientificName
2024-03-10 19:50:09 -07:00
Angie
248e51e011 1209 font styling fixes (#1257)
* Added font files for Book and Semibold, Added MediumText component.

* Update snapshots for font changes
2024-03-08 10:31:26 -08:00
budowski
a338349dc5 Change app name to iNat Beta
Closes #1046

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-02-27 21:41:54 -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
Ken-ichi Ueda
ccd0f8ed97 Changed toolbar upload rotating icon rotation direction to be clockwise 2024-02-12 14:29:21 -08:00
Ken-ichi Ueda
794b014e15 Added smaller bird for Android icon 2024-02-02 10:57:56 -08:00
Ken-ichi Ueda
ecbe6fd53b Added background to Android adaptive icon 2024-02-02 10:57:56 -08: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
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
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
f678e97919 Basaic Android adaptive icon (#956)
Since it's a vector and includes a monochrome variant, this can be styled
based on the user's theme and should look good with a variety of OEM masks.
2023-12-07 10:27:01 -08:00
Ken-ichi
171eab91fe White bird on green splash screen (#957) 2023-12-07 09:38:44 -08:00
Amanda Bullington
7d20f6aa81 Suggestions (using server data) (#821)
* UI overhaul for Suggestions

* Updates to suggestions

* Update permissions library and Podfile

* Get tests passing

* Add tests for suggestions

* Update snapshot

* Add comment prompt & box to TaxonSearch

* Add empty state

* Nav and loading fixes

* Add more tests to Suggestions flow

* Fix tests

* Fix tests
2023-10-13 14:46:05 -07:00
Angie
1487e5f421 Accuracy circle and obscuration cell for obsdetail map (#744)
* Obscuration cell and accuracy circle on ObsDetail map
* DetailsMap view
* Copy and share location from DetailsMap
* Patched react-native-maps to address bug with showsUserLocation

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-10-09 12:41:22 -07:00
Amanda Bullington
6b42f58090 Universal links on iOS (#782)
* Write RN code to try to get universal links working

* Navigate to login and show confirmation message when deep link intercepted, ios

* Code cleanup

* Show email confirmation in iOS via universal links
2023-09-18 13:59:41 -07:00
Amanda Bullington
5647e3a902 Show icon in DisplayTaxon if no photo (#775)
* Show icon in DisplayTaxon if no photo; closes #769

* Update icons with correct mollusca name

* Fix tests

* Fix tests and add test for iconic taxon icon; fix API call for default photo
2023-09-11 09:57:27 -07:00
Amanda Bullington
20d8308e5f Explore UI (#731)
* Start building explore screen

* Header for Explore screen

* Fix button build

* Move ObsFlashList to shared components for use in Explore

* Fix background transparency on SegmentedButtons

* Use reusable components for map and ObservationLocation

* Use search observations API to show results in explore views

* Add infinite scroll hook to species, observers, and identifiers views

* Update snapshots and create ExploreFlashList for consistent header animation

* Float segmented buttons above observation lists in explore

* Use queryparams for API calls; add loading state to each view
2023-08-08 12:29:17 -07:00
Ken-ichi
7ae95519ea Iconic taxa icons (#723)
* Added iconic taxa icons; cleaned up some other icon files
* Updated snapshots
* Renamed ban icon to match fontawesome convention we use on the web
2023-07-28 10:22:34 -07:00
Angie Ta
dd2b17f6dc DQA Tests, Id withdraw icon change 2023-07-25 17:55:49 -07:00
Angie Ta
6da79d4df0 ActivityItem, DetailsTab tests. TaxonImage and DisplayTaxonName withdrawn id styling. 2023-07-21 18:29:08 -07:00
Angie Ta
1a14134c6d ID Withdraw, withdraw icon added 2023-07-19 16:09:26 -07:00
Amanda Bullington
d58415dd27 UI for side menu (#668)
* Update side menu

* UI for side menu

* Add placeholder components; adjust for small screen sizes

* Code cleanup

* Update snapshots

* Query for second username element in e2e test

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-06-26 10:34:51 -07:00
Ken-ichi
d336c0e1fe Fix Android camera rotation (#613)
Fixes problem in which the StandardCamera did not render previews in the correct orientation in Android.

* useDeviceOrientation hook in StandardCamera
* Bugfix: useDeviceOrientation was not setting the initial device orientation
  correctly
* Bugfix: deal with idiosyncracies in iOS vs Android orientation values when
  making our own copies of photos
* Convenience scripts for running OS-specific e2e build and test
2023-05-18 15:58:06 -07:00
Ken-ichi Ueda
562dec68ba Bugfix: Android MAIN intent filter got conflated with the SEND intent filter 2023-05-17 17:11:56 -07:00
budowski
58de692298 364 sharing photos to inat (#568)
Allows user to share photos from gallery apps to our app as new observations via react-native-share-menu. Also added patch-package and patched react-native-share-menu for Android prod builds. Patch addresses https://github.com/meedan/react-native-share-menu/issues/216

Closes #364

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-05-17 13:24:38 -07:00
Amanda Bullington
7349916ba1 Remove write permissions > android 10; update read permissions > android 13 (#610) 2023-05-15 15:31:35 -07:00
Ken-ichi Ueda
27356d5b9f Restore package name to AndroidManifest.xml 2023-05-03 16:02:15 -07:00
Ken-ichi Ueda
62e6868937 Minor fixes
* Show remark in Add ID
* Lock screen orientation in StandardCamera for phones
* Stop crosshairs from blocking gestures in LocationPicker
* Changed thresholds for optimal accuracy in LocationPicker
* Tried to improve key for DisplayTaxonName
* Added stub content for Data tab on TaxonDetails
* Added delimiters and pluralization for counts on UserProfile
2023-05-02 18:34:50 -07:00
Amanda Bullington
5ee4a433df Add location picker to ObsEdit (#593)
* Crosshairs, location accuracy warnings, text input for location picker

* Add LocationPicker tests

* UI improvements and code refactor into smaller components; get GMaps working

* Add shadows to icons/text boxes

* Use debouncing to avoid map jitter when typing in location

* Show place results & let user pick new location from web api

* Add tests for location picker with remote results

* Add gmaps api key to github actions

* Try adding manifest placeholders for env variable to work in github actions

* Add key to printf in github actions

* Try accessing GMAPS_API_KEY a different way

* Update android e2e env file step

This updates the "Create .env file" step to use printf to print the Google Maps key into a newly created .env file in the GitHub Action runner. Using the same key as in env.example.

* Fix newline

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-04-26 10:51:05 -07:00
Johannes Klein
1439c40c6a Upgrading the app to react-native 0.71.7 (#592)
* Changes in the unproblematic files

* Remove manually linked react-native-config

* Updates to files because of upgrade

* RN 71 and dependencies packages

* Update snapshot tests

* RN 71.1

* Fix missing jest mock

* RN 71.7

* Missing mock

* Fix errors with apisauce and axios

* Remove react-native-codegen direct dependency

* Code style
2023-04-25 17:18:24 +02:00
Johannes Klein
3a0ff42a0e Dependency upgrades, breaking changes 2023-04-20 17:24:46 +02:00
Angie
8ef2fbb89c 440 activityitem component (#564)
* ActivityItem component main styling, ActivityHeader added Body4

* ActivityItem component, onAgree icon

* Remove console logs

* onAgree prop

* Changes requested, text wrap, styling to match figma

* Add ActivityItem to UILibrary

* onAgree button shows conditionally

* onAgree button shows conditionally

---------

Co-authored-by: Amanda Bullington <albullington@gmail.com>
2023-04-06 13:09:32 -07:00
Amanda Bullington
bbc5b9d67d MyObservations refactor (#510)
* WIP: very rough start at pulling state up into a container for MyObservations

I made a parallel MyObservations component and container so ObservationViews
can still be used as a working reference, but the ultimate goal here is to
focus MyObservations on presentation, and pull state and other business logic
up into a container component. This should make MyObservations a bit more
testable and clean up a very large and confusing file.

I'm also trying to move away from a generalized representation of observations
on all screens, which is why I want to name it MyObservations and not
ObservationViews. MyObservations has a lot of unique functionality that we
won't need elsewhere, and we can modularize stuff when we need to use it in
multiple places.

* UI updates for header, toolbar, empty component

* Add pressable component and login sheet

* UI improvements; get infinite scroll working

* UI improvements & additions for empty screen & bottom sheet

* Show login sheet when a user presses sync but is not logged in

* Fix backdrop close for AddObsModal

* Move UI elements to MyObservations

* Fix unit tests for MyObservations

* Fix for login sheet

* Set header height to a different height on Android to account for safe area

* Fix failing tests & rerender of user icon in navbar

* Remove scientific name from DisplayTaxonName to match Figma UI

* Set height above toolbar dynamically for sticky toolbar

* Add prop to display or hide second name in DisplayTaxonName

* Use RN styling to style grid view for MyObs flatlist

* Fix failing project obs test

* Create separate ToolbarContainer to separate presentation from logic; fix upload count

* Merge main and show onboarding based on user's total obs count

* Fix display taxon name styling and remove header fade on iOS

* Add header text for 0 observations, logged out state

* Update infinite scroll to 50 obs at a time; make loading wheel show faster

* Add uploaded status to toolbar

* Apply bandaid fix to stop Android from crashing on start

* Start adding new icons to MyObs

* Add circular progress; show upload icons at correct times during upload

* Add disabled props for accessibility state

* Fix tests; update snapshots

* Code cleanup

* Code cleanup & add inaturalist icon

* Fix merge conflict and add icon

* Add inaturalist icon

* Fix navigation to obs list and toolbar status when upload completes

* Move showLoginSheet code to MyObsContainer

* Fix toolbar status text

* Sync toolbar with upload status progress

* Clear toolbar after nav

* Tests passing

* Update e2e test

* Target login button in e2e tests

* Fix failing e2e tests with new testID for login button

* Update button snapshot to include new testID

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-03-14 10:54:33 -07:00
Ken-ichi
3320aec7f6 Add icons to repo & use script to generate font (#518)
This uses an npm package to convert SVGs into an icon font, allowing us to
not step on each others' toes when adding new icons in branches and
simplifying the icon addition process. It also allows us to track changes to
the icons, and embed them directly as SVGs if we need to.

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-03-10 12:21:09 -08:00
Ken-ichi
6047a44241 Reverted icon names in Fontastic to match main (mostly) (#511)
Somehow many of the icon names in Fontastic were changed. This changes them
back to match what we use on the web and what we use in the main branch of
this repo, with a few exceptions to attempt to make names more consistent.

Also updated the README in the hopes of avoiding situations like this in the
future.

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-03-07 15:01:29 -08:00
Amanda Bullington
829cc77958 Add photo gallery icon (#463)
* Add photo gallery icon; closes #461

* New SVG for gallery
2023-02-10 18:03:12 -08:00