Commit Graph

930 Commits

Author SHA1 Message Date
Amanda Bullington
89b71ced61 Save all camera photos in a single iNat Next album; closes #1472 (#1478) 2024-04-26 12:47:27 -07:00
Amanda Bullington
32c761ec4f Save previous map region; update zustand slice with TS; closes #1273 (#1470) 2024-04-25 17:40:19 -07:00
Amanda Bullington
146e00bb5f Keep previous explore view when changing filters (#1469)
* Keep previous explore view when changing filters; closes #1454

* Fix test; navigating back to Explore will navigate to previous explore view
2024-04-25 15:45:29 -07:00
Amanda Bullington
1484bc7749 Display saved photos after app updates (#1468)
* Correctly access local photos in ObsList/MediaViewer after app updates; closes #1420

* Use displayLargePhoto method in masonry layout

* Map bug fix; snapshot fix
2024-04-25 14:52:52 -07:00
Johannes Klein
5b4dd8d384 Focus types (#1465)
* Add lodash types

* Change functional component types

* Use some more precise prop types

* More precise param type

* Add type to state

* Fix imports

* Use type from gesture-handler library

* Functional components can rely on type inference
2024-04-25 21:20:46 +02:00
Johannes Klein
82beb8c3b5 1434 explore filter project UI (#1466)
* Refactor to TS

* Remove wrong type

* Add shrink to project item

* Add to UiLib with long title
2024-04-25 15:24:32 +02:00
Amanda Bullington
6766c03ab9 Don't show location permission in ObsDetails map (#1464)
* Map refactor; split into smaller components

* Limit map rerenders in ObsDetail; fix map disappear bug
2024-04-24 15:02:51 -07:00
Ken-ichi Ueda
87c753501a Bugfix: DetailsTab crashed w/o obs; layout fix for DQA 2024-04-23 17:45:33 -07:00
Amanda Bullington
53f52e4d9f Allow multiple gestures on same spot in camera (#1463)
* Include tapped or pinched area in gesture handler; closes #1336

* Refactor focus square animation into useFocusTap
2024-04-23 17:21:30 -07:00
Ken-ichi Ueda
8b74264580 Minor padding fix for AddObsModal 2024-04-23 16:31:14 -07:00
Ken-ichi Ueda
eb5766911b Hide login header on iPhone 13 and make signup link visible
Slight modification to the height thresholds controlling the visibility of
these two elements. Note that this may also change the repro conditions
in #1362, but the todos in that issue still stand.
2024-04-23 15:42:27 -07:00
Amanda Bullington
2b1bcd9363 Enable multi-camera (#1461)
* Use multi-cam; closes #1458

* Typescript conversion
2024-04-23 14:26:57 -07:00
Angie
f10b25fecc 1198 photos on taxondetails should be swipable (#1432)
* TaxonDetails carousel

* Fix tests, disable taxondetails accessibility test because of photo carousel

* spacing change

* Fix failing tests
2024-04-23 09:59:13 -07:00
Angie
25d7ca24a8 Added drop shadow on multiple observations card, fix arrow spacing (#1436) 2024-04-23 09:58:29 -07:00
Johannes Klein
05b6309307 Vision camera 4.0.1 (#1437)
* Update camera and plugin packages

* Remove one patch

* Replace deprecated function

* Update runAsync patch

Removing this patch leads to non-functioning frame processors in release builds. Contrary to what the original issue's solution states.
2024-04-23 14:27:27 +02:00
Ken-ichi Ueda
24ac2c1a29 Fix minor spacing issues on Notifications 2024-04-22 18:15:39 -07:00
budowski
44c12e1af9 Adding ID for photo-less obs goes directly to TaxonSearch (#1422)
* Closes #1186 - in case of photo-less observations, adding an ID will go directly to taxon search
2024-04-22 16:38:33 -07:00
Amanda Bullington
802ba76873 Move taxon result under top notch; closes #1354 (#1425) 2024-04-22 12:46:08 -07:00
Johannes Klein
84d506f184 Mock format 2024-04-22 13:36:04 +02:00
Johannes Klein
3f43f6047b Set the exposure to the middle of the min and max exposure 2024-04-22 11:57:43 +02:00
Johannes Klein
dc0b47d9f0 Select a camera format that uses max available photo resolution. 2024-04-22 09:39:08 +02:00
Johannes Klein
39e97fe7d2 Fix crash because of named import 2024-04-19 23:39:10 +02:00
Amanda Bullington
21b9cc6a97 Update Eslint to support TypeScript (#1419)
* Add typescript parser and fix Flow errors in JS files

* Uninstall packages from react-native/eslint-config

* Fix all flow errors (or ignore them for unknowns
2024-04-18 21:35:26 -07:00
Ken-ichi Ueda
6d21d85bc2 Remove back button label from DetailsMap 2024-04-18 16:04:34 -07:00
Amanda Bullington
37f6a5d7bf Remove old stylesheets (#1417)
* Remove old stylesheets and unused dictionaries

* Remove old stylesheets and unused dictionaries; cleanup global shadow styles

* Fix Heading1; update Tailwind config; add jest clear cache

* Update snapshots
2024-04-18 15:39:19 -07:00
Ken-ichi
205122d74e Sound model (#1416)
* Sound model; refactor for basic sound creation and playback
* Fetch sound attribution and license_code fields
2024-04-18 12:07:20 -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
73b8f6e5ee Update Typography with latest text styles (#1410)
* 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

* Update Typography styles in tailwind config; closes #1398

* Styling fixes for typography

* Update snapshots

* Fix snapshots

* Fix photo count typography

* Code cleanup

* Update Heading2 snapshot
2024-04-17 15:52:13 -07:00
Ken-ichi
f14e5f6b7a Set opacity on grid tiles; change grid color to orange; use hybrid instead of satellite (#1411) 2024-04-17 14:57:39 -07:00
Ken-ichi
6fdc32c106 Relative width for wordmark on About (#1409) 2024-04-17 12:08: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
144d9019c4 Automatically play sound in MediaViewer when play tapped in SoundRecorder (#1408) 2024-04-17 11:17:31 -07:00
Amanda Bullington
0833d2ddf0 Jest config updates; fixes for slower tests (#1401)
* Speed up ObsEdit test with jest-test-time

* Update jest config and standardize accessibility tests

* Add test:memory to package json
2024-04-17 10:07:29 -07:00
Johannes Klein
ffd642ce41 1070 sound progress (#1396)
* Refactor format function

* Missing dependency

* Rename function

* Add a slider to set playback position

* Use theme instead of RGB string

* Remove log
2024-04-17 16:59:47 +02:00
Johannes Klein
700990ba0b 1305 Remove predictions state on blur and focus (#1402)
* Remove predictions state on blur and focus

* Mock for plugin function

* Fix mock

* Update mock

* Rename ARCamera test files
2024-04-17 12:32:53 +02:00
Ken-ichi
77a8e7ec90 Offline warning for upload (#1406)
* Wrap Settings in a ScrollView so you can actually see it all on a smaller screen
* Show alert when trying to upload or sync while offline
2024-04-16 18:34:52 -07:00
Ken-ichi Ueda
aa1090ba55 Wrap Settings in a ScrollView so you can actually see it all on a smaller screen 2024-04-16 17:32:11 -07:00
Ken-ichi
a7784d7f82 Obs list item media finishing (#1403)
* Started separating UILibrary into components
* move sound photo icons to the bottom corners
* thick border for photoless styles
* altered icon drop shadows per designs
* might have fixed missing multiple photos icon on ObsGridItem
2024-04-16 17:30:14 -07:00
Amanda Bullington
0af617cdd1 Reset taxon/place when resetting explore filters (#1400)
* Allow reset button in Explore filters to reset taxon/place

* Update map when resetting place; closes #1236
2024-04-15 20:32:11 -07:00
Ken-ichi
16faeed32d Explore current location zoom level (#1397)
* Add debug info about zoom to Explore map
* Current loc btn on Explore zooms less than on LocationPicker
2024-04-15 16:29:12 -07:00
Johannes Klein
649f1f6d7c 1044 persist obs tab (#1393)
* Refactor current obs tab into persisted zustand store

* Refactor consts into store

* Update ObsDetails.test.js
2024-04-15 16:06:11 +02:00
Johannes Klein
1859e5bd4b Enable e2e tests (#1392)
* Replace downloader dependency which errored out on CI

* Reenable on push to main and PR

* Tap on bottom sheet header to dismiss keyboard
2024-04-15 14:14:34 +02:00
Johannes Klein
a0e6284d54 AR camera rename files to AI camera (#1391)
* Rename ARCamera files to AICamera

* Update Podfile.lock
2024-04-15 12:02:39 +02:00
Johannes Klein
abe427f985 Update comment 2024-04-15 11:15:14 +02:00
Johannes Klein
324eaca073 String sorting 2024-04-15 11:13:03 +02:00
Johannes Klein
345171f77c Replace AR with AI in strings and mentions 2024-04-15 11:12:19 +02:00
Johannes Klein
e7304dde00 Switch UI to power user mode during e2e test (#1390) 2024-04-15 11:07:16 +02:00
Johannes Klein
eb6127588b 1363 casual home screen (#1389)
* Refactor GradientButton out of AddObsButton

* Refactor GradientButton to own file

* Add section for logged out user on empty home screen

* This test no longer applies

* Center items

* Add prop to give size for gradient button

* Center align text

* Pressing the text also navigates to camera

* Home screen has two buttons with same a11y label now

* Log in button neutral if logged-out user has no observations

* Text top margin

* More margin horizontal

* Rough center of AI camera button

* Add explanation comment
2024-04-15 10:22:45 +02:00
Amanda Bullington
d62167e712 Refactor navigation (#1387)
* Separate navigator into two main stacks: tab and no tab

* Organize screen options

* Preserve separate navigator for Login

* Restore login navigation

* Fix navigation/test for advanced users
2024-04-12 10:48:27 -07:00
Johannes Klein
efd88802ed 1364 UI setting (#1384)
* Show settings menu item to all users

* Add strings

* Update strings.ftl

* Add a logged out section to Settings

* Refactor logged in section

* Prop to use small label

* Restyle radio buttons

* Add react-native-mmkv

* Show logged in section only when logged in

* Add a boolean if user is advanced

* Hook for storage

* Change bottom tab button based on isAdvancedUser

* Add string

* Change supported AR camera version

* Refactor navigation out of AddObsModal

* Create new observation only on ObsEdit navigation inside Modal

* Reset store needs to happen before making new observation

* Merge conflicts removed some strings, put them back

* Remove comment

* Refactor AddObsModal test to unit test only

* Refactor navigation parts into integration test

* Add test case for advanced user

* Code style

* Add test case for advanced user to Tab bar

* Do not use a user object for snapshot tests, only the advanced user layout

* Use advanced user layout in navigation tests

* StandardCamera test with advanced user layout

* Add default value for boolean setting

* Remove default value as it is breaking immediate update of UI

* Refactor persisted layout value to be a part of zustand store

* Refactor persisted state into one bound store

* Explicit state for snapshot needed?

* Revert "Explicit state for snapshot needed?"

This reverts commit d448edc3dc.

* Remove snapshot test
2024-04-12 16:47:10 +02:00