Commit Graph

3241 Commits

Author SHA1 Message Date
Abbey Campbell
ff707b97f3 handle dismiss in BottomSheet 2025-12-16 16:00:29 -08:00
Johannes Klein
8780543f07 Add key for components resulting from a .map (#3291) 2025-12-16 22:29:16 +01:00
Abbey Campbell
73301b2e21 Merge pull request #3298 from inaturalist/mob-1037-obs-sheet-large-text
add maxFontSizeMultiplier to obssheet
2025-12-16 12:43:04 -08:00
Ryan Stelly
6a2769add1 (CI) run detox once (leaner flags) then retry once on failure with recordings / verbose logs (#3294)
* MOB-1071 run lean detox once, retry once on failure with recordings / verbose logs

* don't retry on status check failure
2025-12-15 19:17:40 -06:00
Abbey Campbell
316c6cc0da add maxFontSizeMultiplier to obssheet 2025-12-15 15:48:48 -08:00
Seth Peterson
f4b7d67722 Merge pull request #3276 from inaturalist/mob-722-ts
MOB-722 match components ts conversion
2025-12-15 14:05:45 -06:00
Johannes Klein
beee0b64ab Use record utility type in a few places (#3290)
* Replace object syntax with Record utility

* Replace interface with Record utility

I did not know how to be DRY here.
2025-12-12 23:33:09 +01:00
sepeterson
4ce81ea183 Merge branch 'main' into mob-722-ts 2025-12-12 15:43:48 -06:00
Johannes Klein
f7ee3fb829 Use Photo.getLocalPhotoUri helper to display local photo (#3289) 2025-12-12 22:36:17 +01:00
sepeterson
a2f175c65a MOB-722 lint fix 2025-12-12 14:39:29 -06:00
Ryan Stelly
c1fbe105f7 Merge branch 'main' into mob-722-ts 2025-12-12 14:18:02 -06:00
Ryan Stelly
4c49e69851 MOB-1039 apply member delimiter style and autofix (#3281) 2025-12-12 14:04:58 -06:00
Johannes Klein
741f053716 Remove mock (#3287) 2025-12-12 21:02:54 +01:00
Abbey Campbell
2c6eb6622a Merge pull request #3271 from inaturalist/mob-963-change-slideover-menu-to-be-a-static-page
Mob 963 change slideover menu to be a static page
2025-12-12 10:27:37 -08:00
sepeterson
db76d3037a MOB-722 merge main 2025-12-12 11:19:43 -06:00
sepeterson
54fcb2aa65 MOB-722 rep photo can be undefined 2025-12-12 11:17:06 -06:00
sepeterson
154e482a52 MOB-722 union photo types where appropriate 2025-12-12 11:13:17 -06:00
sepeterson
ff687673f4 MOB-722 TODO rm onSkip prop 2025-12-12 11:01:25 -06:00
sepeterson
48f49da1c7 MOB-722 DRY match button type 2025-12-12 10:57:22 -06:00
sepeterson
4dea79d970 MOB-722 ApiTaxon -> RealmTaxon for iconicTaxon 2025-12-12 10:45:28 -06:00
sepeterson
d6573b9293 MOB-722 add fetch statuses enum 2025-12-12 10:26:06 -06:00
Corey Farwell
1e38e21521 Migrate AIDebugButton component to TypeScript. (#3286)
* Migrate `AIDebugButton` component to TypeScript.

* Reorder keys

* Update to use vision camera's own type

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-12-12 11:36:56 +01:00
Corey Farwell
c36c94a5df Remove unneeded getImageDimensions helper function. (#3200)
* Remove unneeded `getImageDimensions` helper function.

The built-in React Native function has an `async` API that we can call directly.

* Legit test failure

* Import Image from React Native

* Prefer using styledComponents.Image.getSize

* Revert "Prefer using styledComponents.Image.getSize"

This reverts commit 103ca9b3ef.
2025-12-12 10:58:42 +01:00
Abbey Campbell
b7c6c5b5d4 fix navigation issues with AddObs screens 2025-12-11 16:13:54 -08:00
Abbey Campbell
fec130f761 use enum for mutually exclusive modal state 2025-12-11 14:27:01 -08:00
Abbey Campbell
b94a2b308c use hideHeader 2025-12-11 14:18:23 -08:00
Abbey Campbell
0c07017ac6 update testID 2025-12-11 14:17:39 -08:00
Abbey Campbell
c92cc28ee2 add context for accessibility hint 2025-12-11 12:13:30 -08:00
Abbey Campbell
579b62a1e6 styling fixes 2025-12-11 12:09:02 -08:00
Abbey Campbell
910bfa69dd make menu modal/sheet state mutually exclusive 2025-12-10 17:48:38 -08:00
Abbey Campbell
01a8da9dbe update MenuOption type so nav and onPress are mutually exclusive 2025-12-10 17:34:57 -08:00
sepeterson
aab6bf6aa1 MOB-722: add confidence constants 2025-12-10 16:52:27 -06:00
Abbey Campbell
3fae2abd82 remove memoization of menuItems 2025-12-10 13:35:07 -08:00
Abbey Campbell
9c42d64676 add missing testID to MenuItem, remove drawer layer in signIn test 2025-12-10 12:56:52 -08:00
Ryan Stelly
8f97ae197f MOB-936 introduce new Android CI and Maestro smoke test (#3217)
* MOB-936 introduce new Android CI and Maestro smoke test

* Potential fix for code scanning alert no. 30: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* remove branch exception to cache write rule

* delete unused new share flow

* add run to reintroduce workflow

* switch to -m runner for build

* redisable run on push

* add comments and update readme for changes

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-10 12:45:59 -06:00
Ryan Stelly
1bdf8ddc4e MOB-1039 add stylistic eslint plugin package dependency (#3266) 2025-12-10 12:20:04 -06:00
Johannes Klein
5db19c25e5 1048 explore redesign debug mode (#3270)
* Make a copy of Explore

* Show ExploreRedesigned in debug mode

* Remove header from ExploreRedesigned

* Remove bottom sheet to switch between views

* Remove ExploreFiltersModal from ExploreRedesigned

Removing this now in preparation of making the Explore Filters a standalone screen called "Advanced Search". However, looking through the code, I see that the filters modal is actually tied to the same ExploreContext as the instance of the screen it is displayed in.
The idea behind making the modal into a standalone screen was to make our lives as developers easier and to not having to have a modal that allows navigating forward (which is unusual for a modal). So, there is a follow-up ticket after this PR to asses how much work it would be to connect two standalone screens to the same context knowing that several instances of those screens can be in the stack simultaneously.

* Rename file without code changes

* Revert "Rename file without code changes"

This reverts commit c0fb84d4d0.

* Remove unused props

* Rename debug component

* Add a type in useLocationPermission

* Remove not needed undefined

* layout prop can be null

* Migrate to TS

* Use enum for mutually exclusive states

* Add enum for mutually exclusive observations view layouts
2025-12-10 16:01:46 +01:00
Abbey Campbell
f05d79be24 remove isTest flag, override bottom-tabs animation in jest setup, add comments to detox fix 2025-12-09 18:48:17 -08:00
Abbey Campbell
1d2d992cbb test disable sync 2025-12-09 18:48:17 -08:00
Abbey Campbell
425f0a11bf add detox to testing flag 2025-12-09 18:48:17 -08:00
Abbey Campbell
1c7ec2296b remove bottom tab animation for test case 2025-12-09 18:48:17 -08:00
Abbey Campbell
67ecc43580 lint fix 2025-12-09 18:48:17 -08:00
Abbey Campbell
ad105d110f use built-in fade animation for bottom tabs 2025-12-09 18:48:14 -08:00
Abbey Campbell
f66f0c51d8 improve accessibility for menu header 2025-12-09 18:46:41 -08:00
Abbey Campbell
275c5acad8 remove drawer-related nav options 2025-12-09 18:46:41 -08:00
Abbey Campbell
e8ee6c39cb restructure root nav and delete dead drawer code and library 2025-12-09 18:46:41 -08:00
Abbey Campbell
caca94fb48 update more tests and snapshots 2025-12-09 18:46:40 -08:00
Abbey Campbell
b8375e0254 update tests and snapshots 2025-12-09 18:46:40 -08:00
Abbey Campbell
20093e9ff4 update accessibility hint 2025-12-09 18:46:40 -08:00
Abbey Campbell
b7b1e810da add menu screen 2025-12-09 18:46:40 -08:00