3279 Commits

Author SHA1 Message Date
Ken-ichi Ueda
0c461d1081 Updated fastlane 2022-11-14 15:04:28 -08:00
Ken-ichi Ueda
7a0e091b9c v0.1.1+31 v0.1.1+31 2022-11-14 14:43:40 -08:00
Ken-ichi Ueda
47c0d198cf Yet another device orientation 2022-11-14 14:43:00 -08:00
Ken-ichi Ueda
31c3f6e27a v0.1.1+30 v0.1.1+30 2022-11-14 14:20:51 -08:00
Ken-ichi Ueda
5770ff4705 Updates for uploading iPad builds
* Made sure xcode knows about all icon sizes
* Support all orientations (apparently a requirement for iPad)
* Ensure footer width survives device rotation
2022-11-14 14:13:27 -08:00
Ken-ichi Ueda
aaedd884b2 v0.1.1+29 v0.1.1+29 2022-11-14 12:12:33 -08:00
Angie
5809ac5823 Support for tablets. Closes #200. (#234)
* Support for tablets. Closes #200
2022-11-09 10:57:10 -08:00
Amanda Bullington
76fae15faa Make caret next to album selector pressable (#235)
* Fixed padding around caret & moved to Icon prop within PickerSelect
* Fix picker text color on Android. Closes #227
2022-11-08 17:43:59 -08:00
Amanda Bullington
733e246367 Make caret next to album selector pressable (#235)
* Fixed padding around caret & moved to Icon prop within PickerSelect
* Fix picker text color on Android. Closes #227
2022-11-08 17:37:27 -08:00
Amanda Bullington
7a72cfc3db Fix infinite loop in ObsDetail for local observations (#236)
* Fix infinite loop when setting ids; return error from api so useQuery doesn't produce an undefined error
* Add throw option to fetchRemoteObservation so error is thrown when uuid doesn't exist
2022-11-08 17:08:26 -08:00
Amanda Bullington
3fbf6cff7c Fix obs detail comment input (#228)
* Separate AddCommentModal into its own component
* Use defaultValue instead of setting TextInput with value from state; styling fixes
* Fix for android build in build.gradle
* Styling fixes for text inputs
* Update bottom sheet mock to get tests passing
* Restore notes to same code as in main branch
2022-11-08 16:52:32 -08:00
Amanda Bullington
b700573327 Fixes for ObsEdit & adding evidence to an existing observation (#220)
* Fix for chosen photos persisting after cancelling new obs, closes #204
* Clear observations when a user backs out of ObsEdit screen
* Add android back handler condition to make sure a user can't back out of ObsEdit & see old observations
* Make sure local observations are properly updated in ObsEdit
* Create subcomponents for ObsEditHeader and AddEvidenceModal
* Fix add evidence functionality; separate ObsEdit into smaller components; rename UploadProvider
* Add disabled check for gallery photos previously selected; fix number of imports in add evidence
* Move fetch location into relevant component; ideally this makes ObsEdit stop rerendering every second
* Fix for android build in build.gradle
* Styling fix for photo gallery grid of images
* Renaming obs to observation, bulk uploader to photo importer, upload provider back to obs edit provider
* Update pods and rename test directory to PhotoImporter

Also closes #218
2022-11-08 12:16:23 -08:00
Angie
33433f6ab5 201 restore profile pic and obs count to the my obs header (#211)
* Restored obs count and profile pic to the My Obs header.
* Padding adjustments for profile icon and obs details. Closes #201.
* Guard against icon_url being null or blank
2022-11-08 11:49:23 -08:00
Johannes Klein
99d306cd24 Realm 11 (#208)
This also upgrades us to React Native 0.70.4 and adds a number of files that get us ready for the New Architecture.

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-11-07 14:13:13 -08:00
Ken-ichi Ueda
66bfd7fdc3 Removed explicit reset of iOS deployment target for pods (doing more harm than good) 2022-11-07 13:51:40 -08:00
Amanda Bullington
f897baf459 Fix for android build in build.gradle (#229) 2022-11-04 18:25:11 -07:00
Johannes Klein
26f845b0a5 Replace react-native-localize with mock given by library (#225) 2022-11-04 18:03:24 -07:00
Angie
e93a29062e Parse HTML for comments and id in ObsDetails. Closes #197. (#212) 2022-11-04 17:57:13 -07:00
Ken-ichi Ueda
1e4fff96cf Upgraded actions in test workflow 2022-11-02 16:14:30 -07:00
Ken-ichi Ueda
6c009bbdb6 Make eslint allow console statements 2022-11-02 16:09:13 -07:00
Ken-ichi Ueda
531c0e02e7 Address some test problems with mocks 2022-11-02 16:06:55 -07:00
Amanda Bullington
a36fe7c92d Separate Logout component from login; stop setting username state on Login screen to close #202 (#210)
Closes #202
2022-11-01 18:37:23 -07:00
Amanda Bullington
0240e94a8f Clear old observations when creating a new observation (#207)
* Fix for chosen photos persisting after cancelling new obs, #204
* Clear observations when a user backs out of ObsEdit screen
* Add android back handler condition to make sure a user can't back out of ObsEdit & see old observations
* Make sure local observations are properly updated in ObsEdit

Closes #204
2022-11-01 18:19:29 -07:00
Ken-ichi Ueda
9420a875d3 Workarounds for fastlane / Apple upload / build problems 2022-11-01 18:11:17 -07:00
Ken-ichi Ueda
36a0597284 v0.1.1+28 v0.1.1+28 2022-11-01 09:32:05 -07:00
Amanda Bullington
4d213bd4c6 Create / update / delete requests with useMutation (#206)
* Use authenticated query for search results
* Use search API for fetching places from Settings
* Use authenticated query for authorized applications
* Use authenticated query to fetch user.me
* Move fetch/search api calls into react query format, out of hooks
* Update with react query instead of hooks
* Fetch list of blocked and muted users with authenticated query
* Added Podfile postinstall block to get app running in a Simulator
* Use auth query in identify
* Upgrade @realm/react library to 0.4.0; fixes initialization error on android due to importing realm
* Use authquery for explore provider
* Use mutations for blocking/muting users, invalidating queries, and refetching settings data
* Add react mutation to create/update/delete api calls
* Use mutation for creating identification on identity/obs detail screens
* Use mutations to update and delete relationships
* Use mutation to revoke authorized apps
* Use mutation for updating user settings
* Fix ids on activity tab; fix safe area view; fix mark viewed
* Limit fields for remote observation api call

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-31 20:39:38 -07:00
Angie
a9ca4ff02b Replacing styles/colors.js with tailwind theme colors. Closes #196. (#209)
* Replacing styles/colors.js with tailwind theme colors. Closes #196.
* Added tailwind colors alias into babel module resolver extension, changed tailwind-colors.js to tailwindColors.js.
2022-10-31 20:38:06 -07:00
Angie Ta
ef4be3b0b4 Updated the README with updated setup instructions. 2022-10-26 14:39:15 -07:00
Angie Ta
3177715142 Updated the README to include updated setup instructions. 2022-10-26 14:31:45 -07:00
Ken-ichi Ueda
575ab9391e v0.1.1+27 v0.1.1+27 2022-10-21 12:36:03 -07:00
Ken-ichi Ueda
911a71d294 Updated fastlane 2022-10-21 12:30:41 -07:00
Ken-ichi Ueda
15837cc0f6 Added .xcode.env to gitignore 2022-10-21 12:29:31 -07:00
Amanda Bullington
5456758f27 Move hooks into sharedHooks folder; reorganize Observations and models/ (#194)
* Rearrange hooks and observation component code
* Rename models/ to realmModels/ and use babel aliases

Closes #155

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-20 16:59:19 -07:00
Amanda Bullington
1d00edcb3c Add back button to camera; hide next button when no photos (#193)
Add a back button to the camera; hide next when no photos taken; styling fixes

Closes #143

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-20 16:15:15 -07:00
Amanda Bullington
a07ee979e6 Custom fonts (#192)
* Add Whitney fonts to project
* Use styled components to pass whitney as default font for all app text
* Add header component using Papyrus as default font
* Update realm and add custom font examples for Android

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-20 15:23:10 -07:00
Amanda Bullington
f9392452f3 Add navigation buttons to media viewer (#187)
Add nav buttons with scroll to index to media viewer

Closes #164

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-20 12:05:57 -07:00
Amanda Bullington
c740a06224 Start using Tailwind CSS (#185)
Starts changing styles over to tailwind via nativewind.

* Update node to 16.17.0
* Use styled() to ignore flow errors about className or tw props when styling components with nativewind
* Upgrade realm to make test suite run; set failing test in Explore as todo
* Add workaround for getting pods to run with XCode 14
* Fix for loading remote obs with infinite scroll
* Add styling section to README
* Use IconButton from rn-paper to make buttons more responsive to press
* Add caret next to camera roll album picker
* Fixed broken addition of gallery photos to existing observation
* Removed flatlist from scrollview on ProjectDetails (apparently not allowed?)
* Moved border style from Image to container in PhotoCarousel (border color
  not allowed for images?)

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-19 17:15:55 -07:00
Amanda Bullington
e81894d406 Use authenticated queries for fetch/search requests (#195)
* Use authenticated query for search results
* Use search API for fetching places from Settings
* Use authenticated query for authorized applications
* Use authenticated query to fetch user.me
* Move fetch/search api calls into react query format, out of hooks
* Update with react query instead of hooks
* Fetch list of blocked and muted users with authenticated query
* Added Podfile postinstall block to get app running in a Simulator
* Use auth query in identify
* Upgrade Realm to 11.0.0-rc.0, most recent version that will work with RN 0.68.2
* Upgrade @realm/react library to 0.4.0; fixes initialization error on android due to importing realm
* Use authquery for explore provider
* ObsDetail wasn't showing the edit button for obs created while signed out
* simplified ObsEditHeader so it takes a full observation instead of relying
  on the ObsEditContext
* ObsEdit now accepts an obs UUID as a param and loads that if the context
  doesn't have a current obs
* null checks for API methods, mostly to prevent requests that won't work b/c
  of missing params

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-19 13:01:04 -07:00
Amanda Bullington
c4d9cd4dc6 Use babel-plugin-module-resolver (#188)
* Add alias and update eslint/flow to resolve modules

* Update aliases for components and api

* Add other src directories to module resolver aliases
2022-10-07 10:20:55 -07:00
Ken-ichi
dc124d4c72 Skip group photos (#191)
Skips group photo when importing a single photo.

Closes #174, co-authored with @albullington
2022-10-06 16:24:03 -07:00
Ken-ichi
c22d0fe79a Use RealmProvider (#183)
This attempts to remove the necessity of opening and closing Realm
connections, which can lead to stale connections and invalidated objects. I
did not try to remove direct access to realm from AuthenticatedService,
which exists outside of the component hierarchy and can't really access
context, but I think eventually we may want to bring all that functionality
within the component hierarchy so there really is only one Realm connection
in the app.

Probably still some bugs here. One major problem is that deleting the Realm
file does not seem to trigger a re-render of the RealmProvider. My workaround
was to delete all the data in RealmProvider connection to Realm before
deleting the file, but it seems kind of redundant.

Some other changes

* Updated react-native-image-resizer and worked around some regressions
* Needed to use Array.from on Realm collections in many places;
  map( o => o ) doesn't seem to work for creating POJOs from realm objects any more
* React Native Paper provider needs to be inside the Realm provider for any
  realm stuff to happen with rn paper modals
* Several workarounds for the fact that Realm objects don't behave like POJOs
* Added useApiToken hook (#158)
* Renamed the useUser hook to useRemoteUser, since that's what it was doing
2022-10-06 16:15:22 -07:00
Ken-ichi Ueda
38d7716ccb Bugfix: uploading an obs without evidence was broken 2022-10-04 16:04:46 -07:00
Merhawit Gubsa
f4f1e367e7 Make sync icon active for unuploaded obs (#190)
Closes #176

Co-authored-by: Merhawit Gubsa <merhawitgubsa@Merhawits-MacBook-Pro.local>
2022-10-04 13:32:19 -07:00
Merhawit Gubsa
d3eeed7b05 123 permission fetch location (#184)
* add location permission access to android manifest
* request permission to access location for android
* removes location fetching from the observation model and adds it to ObsEdit
* do not fetch location if it is existing observation

Co-authored-by: Merhawit Gubsa <merhawitgubsa@Merhawits-MacBook-Pro.local>
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-10-04 13:26:07 -07:00
Merhawit Gubsa
76a103ded4 use only material icon set (#189)
Co-authored-by: Merhawit Gubsa <merhawitgubsa@Merhawits-MacBook-Pro.local>
2022-09-29 14:27:07 -07:00
Amanda Bullington
af8f17190d Keep toolbar sticky & collapse header on ObsList scroll (#182)
* Change bottom sheet modal to bottom sheet
* Give flatlist container a minHeight to make bottom sheet snap correctly when flatlist has few items
* Make entire header sticky above FlatList
* Hide header on scroll while keeping toolbar sticky on scroll
* Allow flatlist to scroll while bottom sheet modal up
* Use animated event on scroll with interpolation and stickyheaderindices to keep toolbar sticky while animating header
* Add accessibility label to logged out card

Closes #175
2022-09-27 16:20:13 -07:00
Amanda Bullington
337d812ab9 UI updates to bottom sheet (#181)
* Changes My Observations upload bottom sheet from modal to non-modal
* Give flatlist container a minHeight to make bottom sheet snap correctly when flatlist has few items
* Mock useLoggedIn hook in tests
* Move useCurrentUser to sharedHooks/ and mock in ObsList test
* Mock useUser hook
* Use useCurrentUser hook on user profile
* Downgrade gesture handler
2022-09-19 14:40:26 -07:00
Ken-ichi Ueda
88fa8a4516 Minor readability change 2022-09-07 17:45:50 -07:00
Ken-ichi Ueda
6f6631a5d1 Updated fastlane 2022-09-06 17:46:19 -07:00
Ken-ichi Ueda
964924c6b7 v0.1.1+26 v0.1.1+26 2022-09-06 17:05:55 -07:00