Use ReanimatedModal in Search Router Modal#65250
Conversation
…outer, fix search router swipe
|
@ZhenjaHorbach Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
| [initialTranslationX, initialTranslationY, onSwipeComplete, swipeDirection, swipeThreshold], | ||
| ); | ||
|
|
||
| if (!swipeDirection || !onSwipeComplete) { |
There was a problem hiding this comment.
Maybe we should also add !swipeDirection?.length ?
because I think this is also not a valid case for GestureDetector
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid.movAndroid: mWeb Chromeandroid-web.moviOS: HybridAppios.moviOS: mWeb Safariios-web.movMacOS: Chrome / Safariweb.movMacOS: Desktopweb.mov |
|
Minor comment 2025-07-08.18.52.45.mov |
|
Changes look good ! 2025-07-08.23.46.08.mov |
On desktop this is a
|
|
In this case no more questions from my side |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.1.79-0 🚀
|
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.1.79-11 🚀
|
| onModalShow={() => setShouldHideInputCaret(false)} | ||
| shouldApplySidePanelOffset={!shouldUseNarrowLayout} | ||
| enableEdgeToEdgeBottomSafeAreaPadding | ||
| shouldUseReanimatedModal={shouldUseNarrowLayout} |
There was a problem hiding this comment.
Coming from the #66065 checklist, this option doesn’t work on mWeb, so we have temporarily disabled it on mobile web.
Explanation of Change
This PR uses
react-native-reanimatedbased modal forSearchRoutermodal. It also introduces swipe dismissal to new modals and fixes swipe navigation onSearchRoutermodal. Change is relevant for narrow screens. On large screensSearchRouterModalis aPOPOVERtype.Animation is always
slideInRight/slideOutRightFixed Issues
$ #64776
PROPOSAL:
https://expensify.slack.com/archives/C05LX9D6E07/p1750147058498549
Depends on
#65172
Tests
Offline tests
Same as tests.
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
0025.android.native.mov
Android: mWeb Chrome
0025.android.chrome.mov
iOS: Native
0025.ios.safari.mp4
0025.native.ios.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari
N/A
MacOS: Desktop
N/A