Commit Graph

84 Commits

Author SHA1 Message Date
Angie Ta
dd2b17f6dc DQA Tests, Id withdraw icon change 2023-07-25 17:55:49 -07:00
Angie Ta
afd9ce0579 Merge branch 'main' into obs-detail 2023-07-24 17:59:23 -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
Ken-ichi Ueda
8fd3d9bb58 v0.7.0+49 2023-07-13 16:29:57 -07:00
Ken-ichi Ueda
576fbb220c v0.6.1+48 2023-06-29 16:18:27 -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 Ueda
7e562a2ba4 v0.6.0+47 2023-06-09 18:46:57 -07:00
Ken-ichi Ueda
5341214d12 v0.5.1+46 2023-06-02 13:20:13 -07:00
Ken-ichi Ueda
8c6019b9f9 v0.5.0+45 2023-05-26 18:13:02 -07:00
Ken-ichi Ueda
c07b7ec2f3 v0.4.0+44 2023-05-19 16:10:09 -07:00
Ken-ichi Ueda
1d55ddd664 v0.4.0+43 2023-05-19 14:07:55 -07:00
Ken-ichi Ueda
5be3dfa422 Reset build number to 42 2023-05-19 14:07:24 -07:00
Ken-ichi Ueda
445f5d0f95 v0.4.0+2 2023-05-19 13:49:45 -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
e025a76817 v0.3.0+42 2023-05-12 09:40:11 -07:00
Ken-ichi Ueda
27356d5b9f Restore package name to AndroidManifest.xml 2023-05-03 16:02:15 -07:00
Ken-ichi Ueda
54dc545718 v0.2.0+41 2023-05-02 19:26:45 -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
Ken-ichi Ueda
6386f8d397 v0.1.1+40 2023-03-31 18:55:01 -07:00
Ken-ichi Ueda
bed61aa6b4 v0.1.1+39 2023-03-14 18:19:21 -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
Ken-ichi Ueda
0e043ad3c8 Revert to using react-native-asset to link assets 2023-02-09 20:41:58 -08:00
Amanda Bullington
1caaa595df Add italic Whitney font (#451)
* Add italic Whitney font to tailwind & DisplayTaxonName
* Switch to using className italic instead of fontFamily
2023-02-09 14:55:36 -08:00
Ken-ichi Ueda
44f6410097 Use gradle to integrate custom icon font
Per
https://github.com/oblador/react-native-vector-icons#option-with-gradle-recommended.
This should theoretically keep the font up to date in Android when we update
the font file.
2023-02-07 21:12:41 -05:00
Amanda Bullington
7d39c0f919 UI redesign: Typography components (#402)
* 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
2023-02-01 12:40:25 -08:00
Amanda Bullington
3f125beab6 Framework for adding custom icons to iNatRN (#414)
* 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
2023-01-31 16:45:11 -08:00
Ken-ichi Ueda
5c70783a7e v0.1.1+38 2023-01-23 22:45:41 -08:00
Ken-ichi Ueda
7cd6e4ded2 v0.1.1+37 2023-01-23 21:31:23 -08:00
Amanda Bullington
1857115669 v0.1.1+36; Automate fastlane rollout to internal testers on iOS and Android (#335)
* Add different env files to gitignore; update react-native-config

* Set different staging and production .env files in Android

* Add different envfiles to podfile

* Use podfile to check for .env.production and .env.staging files

* Update README

* Update fastfile to automate distribution/rollout for iOS and Android

* v0.1.1+34

* Tweaks to try to get Android to use production API via Fastlane

* v0.1.1+35

* Point production to .env instead of .env.production

* v0.1.1+36
2023-01-05 10:27:33 -08:00
Amanda Bullington
236904e0a1 Use different .env files for staging and production (#332)
* Add different env files to gitignore; update react-native-config

* Set different staging and production .env files in Android

* Add different envfiles to podfile

* Use podfile to check for .env.production and .env.staging files

* Update README

* Point production to .env instead of .env.production
2023-01-05 10:26:17 -08:00
Amanda Bullington
360a5b2d17 v0.1.1+33 (#330) 2023-01-04 12:04:59 -08:00
Johannes Klein
eb81453e60 Merge branch 'main' into 250-e2e-init 2022-12-13 22:31:58 +01:00
Johannes Klein
8630b78b3b Add basic detox setup for Android tests 2022-12-12 15:22:47 +01:00
Ken-ichi Ueda
53b4bd1dca Updated app icon 2022-12-07 12:11:12 -08:00
Ken-ichi Ueda
9efe9c3901 v0.1.1+32 2022-11-28 21:05:23 -08:00
budowski
4e5481a607 144 import photo exif (#168)
* #144 - when creating new observation, import first photo EXIF data for location + date
* #144 - usePhotoExif - read partial file data; added testing for usePhotoExif hook
* #144 - import photo exif - use our own react-native-exif-reader library + other fixes (not to automatically fetch location, save original uri)
* Do not save original photo URI in DB, only pass it along to obs edit screen for EXIF parsing
* Upgraded testing library version to support renderHook

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-11-28 20:58:34 -08:00
Ken-ichi Ueda
7a0e091b9c v0.1.1+31 2022-11-14 14:43:40 -08:00
Ken-ichi Ueda
31c3f6e27a v0.1.1+30 2022-11-14 14:20:51 -08:00
Ken-ichi Ueda
aaedd884b2 v0.1.1+29 2022-11-14 12:12:33 -08:00