Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement flexible bottom tab bar #49539

Open
wants to merge 428 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
428 commits
Select commit Hold shift + click to select a range
27a356d
Add a test for bank account flow
WojtekBoman Oct 30, 2024
e528b6a
Merge pull request #124 from software-mansion-labs/poc/split-bank-acc…
WojtekBoman Oct 30, 2024
8fa61a2
Fix issue: App opens room details page when tapping RHP back button a…
WojtekBoman Oct 30, 2024
9fd294b
Fix counting distanceToPop in goBack
WojtekBoman Oct 31, 2024
75c3f18
Fix fallbackRoute in selectExportDate in QuickbooksExportDateSelectPage
WojtekBoman Oct 31, 2024
0ad8a87
Merge branch 'main' into poc/split-navs
WojtekBoman Oct 31, 2024
8e44d87
Adjust goUp to handle navigating back when targetState is rootState
WojtekBoman Oct 31, 2024
ed0ebca
Merge pull request #129 from software-mansion-labs/poc/fix-go-up
adamgrzybowski Oct 31, 2024
4c2c180
Fix issue: Track expense - Member list opens again after clicking bac…
WojtekBoman Nov 4, 2024
65b6c89
Adjust getAdaptedState to handle OnboardingModalNavigator
WojtekBoman Nov 4, 2024
6f65c7c
Fix issue: Group chat - Default group chat name when created offline …
WojtekBoman Nov 5, 2024
b213f93
Add test steps for the issue: Opening particular onboarding pages fro…
WojtekBoman Nov 5, 2024
33d6012
Merge pull request #130 from software-mansion-labs/poc/split-navs-ada…
WojtekBoman Nov 5, 2024
0c90d16
Merge branch 'main' into poc/split-navs
WojtekBoman Nov 6, 2024
44bde76
Fix issue: Expense - Report details RHP opens after deleting receipt
WojtekBoman Nov 6, 2024
6fc9f27
adjust navigation patch for new screens and navigators
adamgrzybowski Nov 8, 2024
c52cbaa
implement new freeze wrapper
adamgrzybowski Nov 8, 2024
dab0ad4
use new freeze wrapper
adamgrzybowski Nov 8, 2024
4dbdd23
Merge pull request #134 from software-mansion-labs/poc/freeze-perf
adamgrzybowski Nov 8, 2024
a455bac
Merge branch 'main' into poc/split-navs
WojtekBoman Nov 12, 2024
f6084ec
Adjust getIsScreenBlurred to native platforms
WojtekBoman Nov 12, 2024
122fc6a
Merge pull request #135 from software-mansion-labs/poc/adjust-get-is-…
WojtekBoman Nov 13, 2024
43f48d3
Make ReportsSplitNavigator public
WojtekBoman Nov 14, 2024
b5eb92b
Refactor the comment about state reset after logout
WojtekBoman Nov 14, 2024
4cb080c
Merge pull request #137 from software-mansion-labs/poc/split-login-pa…
WojtekBoman Nov 14, 2024
34d6403
Cleanup ActiveWorkspaceProvider
WojtekBoman Nov 14, 2024
0cd11da
Fix animationTypeForReplace for RHP screens
WojtekBoman Nov 15, 2024
5d978e3
Add GetStateForActionHandlers
WojtekBoman Nov 15, 2024
99166de
Fix ParamList in WorkspacePerDiemPage
WojtekBoman Nov 18, 2024
061f2ca
Fix types in RELATIONS and getAdaptedStateFromPath
WojtekBoman Nov 18, 2024
3659ad0
Remove @todo comment from getAdaptedStateFromPath
WojtekBoman Nov 18, 2024
62b1cda
Remove NAVIGATION.TYPE.UP
WojtekBoman Nov 18, 2024
20efb77
Remove passing CONST.NAVIGATION.ACTION_TYPE.PUSH as a type param to N…
WojtekBoman Nov 18, 2024
2df2704
Fix lint in CustomRouter.ts
WojtekBoman Nov 18, 2024
4849fb7
Rename shouldDismissSideModalNavigator to isNavigatingToModalFromModal
WojtekBoman Nov 18, 2024
0de350b
Merge pull request #138 from software-mansion-labs/poc/split-cleanup
WojtekBoman Nov 18, 2024
e211447
Replace isSearchTopmostRoute with isSearchTopmostFullScreenRoute
WojtekBoman Nov 18, 2024
a846373
Cleanup handleDismissModalAction
WojtekBoman Nov 22, 2024
954a411
Merge branch 'main' into poc/split-merge-native-stacks
WojtekBoman Dec 2, 2024
c7c315e
Adjust split router to native stack
WojtekBoman Dec 2, 2024
785259f
Merge pull request #147 from software-mansion-labs/poc/split-merge-na…
WojtekBoman Dec 2, 2024
9765499
Adjust PlatformStackNavigator typescript and styles to SplitNavigators
WojtekBoman Dec 3, 2024
37203aa
Remove searchRoute from PlatformStack types
WojtekBoman Dec 3, 2024
741ce5f
Add getSplitNavigatorOptions
WojtekBoman Dec 4, 2024
899084b
Add parentRoute to CustomCodeProps
WojtekBoman Dec 4, 2024
861f87a
Fix lint
WojtekBoman Dec 4, 2024
2e212a7
Merge pull request #149 from software-mansion-labs/poc/split-adjust-t…
WojtekBoman Dec 10, 2024
93fa76d
Remove BOTTOM_TAB, cleanup code related to SplitNavigators
WojtekBoman Nov 25, 2024
4ace213
Cleanup config.ts
WojtekBoman Nov 25, 2024
fd99fa8
Remove subscribe
WojtekBoman Nov 25, 2024
d54df17
Remove Navigation.removeScreenFromNavigationState
WojtekBoman Nov 25, 2024
9280e9e
Fix typo in NavigationUtils.ts
WojtekBoman Nov 25, 2024
9fbccec
Add navigation helpers
WojtekBoman Nov 25, 2024
be9cb55
Move navigation functions to helpers package
WojtekBoman Nov 26, 2024
e8749f4
Make goUp private
WojtekBoman Nov 26, 2024
3ed172e
Rename SplitNavigatorLHNScreen to SplitNavigatorSidebarScreen
WojtekBoman Nov 26, 2024
dd7a57c
Rename createSplitNavigator to getInitialSplitNavigatorState
WojtekBoman Nov 26, 2024
2afede2
Fix goBack calls with shouldPopToTop
WojtekBoman Nov 26, 2024
3afe817
Remove LHN_TO_SPLIT_NAVIGATOR_MAPPING
WojtekBoman Nov 26, 2024
324b598
Cleanup navigation types and remove redundant mapping files
WojtekBoman Nov 27, 2024
f44db08
Add missing docs to navigation functions
WojtekBoman Nov 27, 2024
216c812
Cleanup isNavigatorName
WojtekBoman Nov 28, 2024
f46818a
Adjust comment in SIDEBAR_TO_RHP
WojtekBoman Nov 29, 2024
7cf08be
Refactor getTopmostReportParam to getTopmostReportParams
WojtekBoman Nov 29, 2024
21f7bf6
Adjust getOnboardingAdaptedState docs
WojtekBoman Nov 29, 2024
b11cba2
Adjust screen navigation props types
WojtekBoman Dec 11, 2024
b15bcca
Rename SplitStack to Split
WojtekBoman Dec 11, 2024
e69b8f0
Fix tests that use useActiveWorkspace
WojtekBoman Dec 11, 2024
2896031
Fix mocking isSearchTopmostFullScreenRoute in IOUTest
WojtekBoman Dec 11, 2024
686dde6
Update relations files and remove redundant mappings
WojtekBoman Dec 11, 2024
d7d0ff3
Add popToTop method to Navigation.ts
WojtekBoman Dec 11, 2024
097d3c5
Unification of comments in Navigation.ts
WojtekBoman Dec 11, 2024
0ae4aac
Fix goBack in navigateToConciergeChatAndDeleteReport
WojtekBoman Dec 11, 2024
7345d80
Merge pull request #142 from software-mansion-labs/poc/bottom-tab-cle…
WojtekBoman Dec 11, 2024
ade9a19
Merge branch 'main' into poc/split-navs
WojtekBoman Dec 11, 2024
27c6f92
Simplify ActiveWorkspaceContextProvider
WojtekBoman Dec 12, 2024
96289b1
Adjust BaseSidebarScreen workspace reset hook to split navigators
WojtekBoman Dec 12, 2024
18ad376
Remove Navigation.switchPolicyID
WojtekBoman Dec 12, 2024
14068c4
Adjust createInverseRelation, fix SPLIT_TO_SIDEBAR
WojtekBoman Dec 12, 2024
0a11e29
Fix Navigation.popToTop
WojtekBoman Dec 12, 2024
5117a9f
Adjust ResizeScreenTests to SplitNavigator structure
WojtekBoman Dec 13, 2024
08f5c9d
Fix goBack types
WojtekBoman Dec 13, 2024
579608e
Remove useNavigationResetRootOnLayoutChange
WojtekBoman Dec 13, 2024
79202d1
Fix go back using swipe from not found policy page
WojtekBoman Dec 17, 2024
9f5bccb
Hide bottom tab on workspace initial page when policy is not found
WojtekBoman Dec 17, 2024
faeaf9a
Simplify getAdaptedState
WojtekBoman Dec 17, 2024
e7a5150
Add comment to NAVIGATORS.WORKSPACE_SPLIT_NAVIGATOR linking config
WojtekBoman Dec 18, 2024
49c49f9
Handle adding SettingsSplit under WorkspaceSplit in getAdaptedState
WojtekBoman Dec 18, 2024
4620ac7
Add shouldDisplayPolicyNotFoundPage
WojtekBoman Dec 18, 2024
f405f7e
Simplify getRoutePolicyID
WojtekBoman Dec 18, 2024
2e08e1e
Remove backTo param from Workspace Initial Page
WojtekBoman Dec 18, 2024
3e7f16c
Merge pull request #154 from software-mansion-labs/poc/fix-adapt-state
adamgrzybowski Dec 18, 2024
c611aa2
fix copying params for sidebar in adaptStateIfNecessary
adamgrzybowski Dec 18, 2024
7438d33
implement TopLevelBottomTabBar and proper animations
adamgrzybowski Dec 20, 2024
88b9998
Merge pull request #155 from software-mansion-labs/poc/top-level-bott…
adamgrzybowski Dec 20, 2024
28ed8b9
Merge branch 'main' into poc/split-navs
WojtekBoman Dec 20, 2024
99fc247
Fix lint
WojtekBoman Dec 20, 2024
17759f4
Remove Navigation.popToTop and add shouldPopToTop to GoBackOptions
WojtekBoman Dec 20, 2024
1480723
Fix types in getAdaptedStateFromPath
WojtekBoman Dec 20, 2024
af2058d
Add splitNavigator to RootNavigatorOptions
WojtekBoman Dec 30, 2024
98247e3
Merge branch 'main' into poc/split-navs
WojtekBoman Dec 30, 2024
e5fa16b
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 7, 2025
4b2949d
Add resetPolicyIDInNavigationState
WojtekBoman Jan 9, 2025
0a07ab6
add final review adjustments
adamgrzybowski Jan 9, 2025
94f9dfb
remove index file for helpers
adamgrzybowski Jan 9, 2025
1b32364
Fix navigating to workspaces list using settings tab button
WojtekBoman Jan 9, 2025
2d6951a
remove isSplitNavigatorName
adamgrzybowski Jan 9, 2025
84a15f5
Merge pull request #157 from software-mansion-labs/poc/split-reset-po…
WojtekBoman Jan 9, 2025
c81e83d
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 9, 2025
9fbe3d3
Merge branch 'poc/split-navs' into poc/final-review-adjustments
adamgrzybowski Jan 9, 2025
e22f82a
Merge pull request #158 from software-mansion-labs/poc/final-review-a…
adamgrzybowski Jan 9, 2025
e575d1b
fix resetPolicyIDInNavigationState
adamgrzybowski Jan 9, 2025
f4ef875
fix ts problems
adamgrzybowski Jan 9, 2025
3bc1739
Split BOTTOM_TABS const to a separate file to fix imports
Kicu Jan 10, 2025
03e6a6d
Move setNavigationActionToMicrotaskQueue to Navigation.ts
WojtekBoman Dec 23, 2024
c4fa287
Add tests for Navigation.goBack
WojtekBoman Dec 23, 2024
4a6766e
Add tests for Navigation.goBack with comparing route params
WojtekBoman Dec 23, 2024
3acba0a
Add test for going back to previous split
WojtekBoman Dec 30, 2024
5232577
Cleanup and group go back tests
WojtekBoman Dec 31, 2024
0b6c39f
Add test for going back to the page present in the split navigator th…
WojtekBoman Dec 31, 2024
a22cf59
Add NavigateTests
WojtekBoman Dec 31, 2024
3a9fd70
Add SwitchPolicyIDTests
WojtekBoman Jan 7, 2025
c404c02
Create package for navigation tests
WojtekBoman Jan 7, 2025
3960579
Move setNavigationActionToMicrotaskQueue to helpers
WojtekBoman Jan 10, 2025
8bc926d
Refactor old names in nav tests
WojtekBoman Jan 10, 2025
9c9d28c
Move TestNavigationContainer to test utils
WojtekBoman Jan 10, 2025
b21cb6a
Merge pull request #156 from software-mansion-labs/poc/go-back-tests
adamgrzybowski Jan 10, 2025
6589e68
fix tests
adamgrzybowski Jan 10, 2025
f05d53c
fix lint
adamgrzybowski Jan 10, 2025
8648ce7
fix tests v2
adamgrzybowski Jan 10, 2025
3af5702
Adjust useBottomTabIsFocused to splits
WojtekBoman Jan 8, 2025
e07c4f5
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 14, 2025
d514067
Mock TopLevelBottomTabBar in navigation tests
WojtekBoman Jan 14, 2025
5f90743
Fix lint in ReportUtils
WojtekBoman Jan 14, 2025
0812be8
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 16, 2025
c1d8459
Add LinkToOptions
WojtekBoman Jan 14, 2025
c11217d
Adjust navigate calls to LinkToOptions
WojtekBoman Jan 16, 2025
f1bc522
Add backTo param to SelectDelegateRolePage
WojtekBoman Jan 16, 2025
52ce458
fix tooltips for sidebar list
adamgrzybowski Jan 16, 2025
667a052
fix tooltipis on bottom tab bar
adamgrzybowski Jan 16, 2025
21be090
remove leftover style
adamgrzybowski Jan 16, 2025
114b059
Merge pull request #159 from software-mansion-labs/poc/link-to-options
WojtekBoman Jan 16, 2025
36c1238
fix fab tooltip
adamgrzybowski Jan 16, 2025
6d1010f
fix tests and typecheck
adamgrzybowski Jan 16, 2025
2b5299a
Merge pull request #160 from software-mansion-labs/poc/split-tooltips
adamgrzybowski Jan 16, 2025
50f36ea
fix tests v2
adamgrzybowski Jan 16, 2025
ac8a578
change name to isTooltipAllowed
adamgrzybowski Jan 16, 2025
072f0d9
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 16, 2025
8292c1e
fix tests v3
adamgrzybowski Jan 16, 2025
133e7d2
Add optional chaining to useIsBottomTabVisibleDirectly
WojtekBoman Jan 17, 2025
a7207b8
Merge branch 'main' into poc/split-navs
adamgrzybowski Jan 17, 2025
12cf649
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 17, 2025
0da271f
remove unnecessary line
adamgrzybowski Jan 17, 2025
e6a96a4
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 20, 2025
52c7e39
Fix dismissModal in submitPerDiemExpense
WojtekBoman Jan 20, 2025
29d62e7
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 20, 2025
8a45900
create SidebarSpacerWrapper
adamgrzybowski Jan 21, 2025
4bade3d
reorganize screen options
adamgrzybowski Jan 21, 2025
eb76552
fix naming for createSplitNavigator
adamgrzybowski Jan 21, 2025
8c879b0
Fix issue: Web - App opens invite member confirmation page when press…
WojtekBoman Jan 22, 2025
905e986
Merge pull request #163 from software-mansion-labs/splits/fix-safari-…
adamgrzybowski Jan 22, 2025
1b051fd
Fix issue: Workspace settings - Clicking RHP back button does not clo…
WojtekBoman Jan 22, 2025
151f989
Merge pull request #164 from software-mansion-labs/poc/fixes-after-re…
WojtekBoman Jan 22, 2025
045a00f
fix stat index in adaptStateIfNecessary
adamgrzybowski Jan 22, 2025
9bd4941
Merge pull request #165 from software-mansion-labs/splits/fix-split-r…
adamgrzybowski Jan 22, 2025
76c44f9
fix bottom bar over composer on safari mobile
adamgrzybowski Jan 22, 2025
0988220
handle styles for platforms
adamgrzybowski Jan 22, 2025
fbf309c
improve comment
adamgrzybowski Jan 22, 2025
eed4ebc
Merge pull request #166 from software-mansion-labs/splits/fix-safar-b…
adamgrzybowski Jan 22, 2025
2d5107f
Fix search menu overflowing on scrolling on mobile
Kicu Jan 23, 2025
c973fa6
Fix contextual search item missing in router
Kicu Jan 23, 2025
e5fde2a
Merge pull request #167 from software-mansion-labs/kicu/help-navi-search
WojtekBoman Jan 23, 2025
f04858c
Cleanup split navigators code
WojtekBoman Jan 16, 2025
16e4838
Add persistentScreens props
WojtekBoman Jan 17, 2025
422db51
Add useIsCurrentRouteHome
WojtekBoman Jan 17, 2025
1eb0557
Add GetStateForActionHandlers docs
WojtekBoman Jan 17, 2025
20a6ae7
Add docs to showSettingsPage
WojtekBoman Jan 17, 2025
ca99a85
Exclude switchPolicyID logic to navigation helpers
WojtekBoman Jan 17, 2025
c336b80
Fix imports in FAB
WojtekBoman Jan 20, 2025
0c50bef
Remove unnecessary check in SearchPageNarrow
WojtekBoman Jan 20, 2025
d8eaaad
Add getTopmostReportsSplitNavigator
WojtekBoman Jan 20, 2025
4a5d43e
Add replaceWithSplitNavigator
WojtekBoman Jan 20, 2025
0fd49e5
Add warnings to handleOpenWorkspaceSplitAction
WojtekBoman Jan 22, 2025
0e88076
Exclude navigation tests to separate file
WojtekBoman Jan 22, 2025
fc5e1ec
Fix showing tooltips in OptionRowLHN
WojtekBoman Jan 23, 2025
49d50bb
Merge pull request #161 from software-mansion-labs/poc/code-cleanup
WojtekBoman Jan 23, 2025
1437b88
Fix issue: Desktop - Filter by WS - The E icon is misaligned on the r…
WojtekBoman Jan 23, 2025
ecba313
Fix issue: Expense - Amount editor RHP slides in from the right inste…
WojtekBoman Jan 23, 2025
d472353
Fix adding params to additionalAction in linkTo
WojtekBoman Jan 23, 2025
561bab6
Merge pull request #168 from software-mansion-labs/poc/fixes-after-re…
WojtekBoman Jan 23, 2025
7d7a0db
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 23, 2025
ff4a363
Fix imports in InitialSettingsPage
WojtekBoman Jan 23, 2025
65838b5
fix position
adamgrzybowski Jan 23, 2025
c128d35
fix isTooltipAllowed timing issue
adamgrzybowski Jan 23, 2025
acb842c
simplify condition
adamgrzybowski Jan 23, 2025
d1f82ba
Merge pull request #169 from software-mansion-labs/splits/bottom-tab-…
adamgrzybowski Jan 23, 2025
406c209
Fix issue: Contact methods - Lets make sure it is you page appears twice
WojtekBoman Jan 24, 2025
e1778df
Fix issue: Web - Copilot - RHP is not dismissed after adding a copilot
WojtekBoman Jan 24, 2025
4cfdaa8
Fix issue: Workspace - Wrong navigation when opening workspace after …
WojtekBoman Jan 24, 2025
f1b1404
Run prettier
WojtekBoman Jan 24, 2025
750155c
fix xero export page nav bug
SzymczakJ Jan 24, 2025
55bc370
Merge branch 'poc/split-navs' into @szymczak/xero-export-page-nav-bug
SzymczakJ Jan 24, 2025
a0b57dc
Merge pull request #171 from software-mansion-labs/@szymczak/xero-exp…
SzymczakJ Jan 24, 2025
90dcc91
Fix issue: Scan expense - Selecting replace on the receipt of a scann…
WojtekBoman Jan 24, 2025
5bcc320
Merge pull request #170 from software-mansion-labs/poc/fixes-after-re…
WojtekBoman Jan 24, 2025
7b38421
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 24, 2025
95b9ed9
fix blinking of bottom tab
adamgrzybowski Jan 24, 2025
dd31a78
Merge pull request #172 from software-mansion-labs/splits/fix-blinkin…
adamgrzybowski Jan 24, 2025
b6ab4cb
fix misalgined bottom tab bar on empty workspace list
adamgrzybowski Jan 24, 2025
0bd0bc8
Merge pull request #173 from software-mansion-labs/splits/fix-misalig…
adamgrzybowski Jan 24, 2025
b0c90fc
fix invoices - it's no here page
289Adam289 Jan 27, 2025
69745d5
Merge pull request #174 from software-mansion-labs/289Adam289/fix-nav…
289Adam289 Jan 27, 2025
55d7b0b
Fix issue: Expensify Card -App crashes when clicking Card limit/Limit…
WojtekBoman Jan 27, 2025
6474240
fix 2fa navi bug
SzymczakJ Jan 27, 2025
0347c3d
Merge pull request #176 from software-mansion-labs/@szymczak/fix-2fa-…
SzymczakJ Jan 27, 2025
d6fddec
Merge pull request #175 from software-mansion-labs/poc/fixes-after-re…
WojtekBoman Jan 27, 2025
9f4fe6f
fix SageIntacct wrong nav in out-of-pocket expenses
SzymczakJ Jan 27, 2025
e8c3815
Merge pull request #177 from software-mansion-labs/@szymczak/fix-sage…
SzymczakJ Jan 27, 2025
a17b7bb
Fix issue: Workflows - RHP opens not here page when returning from Ap…
WojtekBoman Jan 27, 2025
42fcb57
Merge pull request #179 from software-mansion-labs/poc/fixes-after-re…
WojtekBoman Jan 27, 2025
d9bfcf9
fix admins button dismiss modal crash
adamgrzybowski Jan 28, 2025
68f9160
Merge pull request #180 from software-mansion-labs/splits/fix-admins-…
adamgrzybowski Jan 28, 2025
0b4807d
Fix composer focus when navigating when starting new chat
Kicu Jan 27, 2025
2b169c0
Simplify ReportSplitNavigator
Kicu Jan 27, 2025
b4ab2d3
Simplify focusing logic and fix focusing composer after message edit.
Kicu Jan 28, 2025
20808cb
fix get physical card navigation flow
SzymczakJ Jan 28, 2025
427ba66
Merge pull request #182 from software-mansion-labs/@szymczak/fix–get–…
SzymczakJ Jan 28, 2025
44d3f19
fix hold modal
adamgrzybowski Jan 28, 2025
225ca63
Merge pull request #183 from software-mansion-labs/splits/fix-hold-modal
adamgrzybowski Jan 28, 2025
0e43795
Merge pull request #181 from software-mansion-labs/kicu/fix-composer-…
Kicu Jan 29, 2025
e1896b1
fix card not immediately appearing after assigning
SzymczakJ Jan 29, 2025
49f4491
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 29, 2025
14e612f
Add CONST.NAVIGATION_TESTS
WojtekBoman Jan 29, 2025
9299ea3
Remove getTopmostRouteName and replace it with focusedRoute.
Kicu Jan 29, 2025
03f1271
Merge pull request #184 from software-mansion-labs/kicu/nav-cleantopmost
Kicu Jan 29, 2025
f1ba2dd
Merge pull request #186 from software-mansion-labs/@szymczak/card-not…
SzymczakJ Jan 29, 2025
35ffdfe
use proper backTo param
adamgrzybowski Jan 29, 2025
579a8b3
Merge pull request #187 from software-mansion-labs/splits/fix-wrong-r…
adamgrzybowski Jan 29, 2025
36ef0c3
Fix navigating to tag list view for multitags
Kicu Jan 29, 2025
c5d99ed
sync submodule with main
Kicu Jan 29, 2025
a29d2e2
Fix broken auth params when opening desktop App from deeplink.
Kicu Jan 30, 2025
1c88720
Merge pull request #188 from software-mansion-labs/kicu/nav-fix-multi…
Kicu Jan 30, 2025
0b2a175
Improve naming around resetting route params on logout
Kicu Jan 31, 2025
82b4f9d
Merge pull request #189 from software-mansion-labs/kicu/nav-fix-deskt…
Kicu Jan 31, 2025
b5e1778
Merge branch 'main' into poc/split-navs
WojtekBoman Jan 31, 2025
0f4090a
fix per diem nav bug
SzymczakJ Jan 31, 2025
445f747
Merge pull request #191 from software-mansion-labs/@szymczak/fix-per-…
SzymczakJ Jan 31, 2025
25054fe
fix bottom bar on not found view
adamgrzybowski Jan 31, 2025
38c0fd1
create goBackToHome
adamgrzybowski Jan 31, 2025
007b1ff
Merge pull request #192 from software-mansion-labs/splits/goBackToHome
adamgrzybowski Jan 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion contributingGuides/APPLE_GOOGLE_SIGNIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ index 4286a26033..850f8944ca 100644
index ca2da6f56b..2c191598f0 100644
--- a/src/libs/Navigation/linkingConfig/prefixes.ts
+++ b/src/libs/Navigation/linkingConfig/prefixes.ts
@@ -8,6 +8,7 @@ const prefixes: LinkingOptions<RootStackParamList>['prefixes'] = [
@@ -8,6 +8,7 @@ const prefixes: LinkingOptions<RootNavigatorParamList>['prefixes'] = [
'https://www.expensify.cash',
'https://staging.expensify.cash',
'https://dev.new.expensify.com',
Expand Down
271 changes: 271 additions & 0 deletions contributingGuides/NAVIGATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,3 +208,274 @@ The action for the first step created with `getMinimalAction` looks like this:

### Deeplinking
There is no minimal action for deeplinking directly to the `Profile` screen. But because the `Settings_root` is not on the stack, pressing UP will reset the params for navigators to the correct ones.

### Tests

#### There should be a proper report under attachment screen after reload

1. Open any report with image attachment on narrow layout.
2. Open attachment.
3. Reload the page.
4. Verify that after pressing back arrow in the header you are on the report where you sent the attachment.


#### There is a proper split navigator under RHP with a sidebar screen only for screens that can be opened from the sidebar

1. Open the browser on narrow layout with url `/settings/profile/status`.
2. Reload the page.
3. Verify that after pressing back arrow in the header you are on the settings root page.


#### There is a proper split navigator under the overlay after refreshing page with RHP/LHP on wide screen

1. Open the browser on wide screen with url `/settings/profile/display-name`.
2. Verify that you can see settings profile page under the overlay of RHP.


#### There is a proper split navigator under the overlay after deeplinking to page with RHP/LHP on wide screen

1. Open the browser on wide screen.
2. Open any report.
3. Send message with url `/settings/profile/display-name`.
4. Press the sent link
5. Verify that the settings profile screen is now visible under the overlay

#### The Workspace list page is displayed (SCREENS.SETTINGS.WORKSPACES) after clicking the Settings tab from the Workspace settings screen

1. Open any workspace settings (Settings → Workspaces → Select any workspace)
2. Click the Settings button on the bottom tab.
3. Verify that the Workspace list is displayed (`/settings/workspaces`)
4. Select any workspace again.
5. Reload the page.
6. Click the Settings button on the bottom tab.
7. Verify that the Workspace list is displayed (`/settings/workspaces`)


#### The last visited screen in the settings tab is saved when switching between tabs

1. Open the app.
2. Go to the settings tab.
3. Open the workspace list.
4. Select any workspace.
5. Switch between tabs and open the settings tabs again.
6. Verify that the last visited page in this tab is displayed.


#### The Workspace selected in the application is reset when you select a chat that does not belong to the current policy

1. Open the home page.
2. Click on the Expensify icon in the upper left corner.
3. Select any workspace.
4. Click on the magnifying glass above the list of available chats.
5. Select a chat that does not belong to the workspace selected in the third step.
6. Verify if the chat is opened and the global workspace is selected.


#### The selected workspace is saved between Search and Inbox tabs

1. Open the Inbox tab.
2. Change the workspace using the workspace switcher.
3. Switch to the Search tab and verify if the workspace selected in the second step is also selected in the Search.
4. Change the workspace once again.
5. Go back to the Inbox.
6. Verify if the workspace selected in the fourth step is also selected in the Inbox tab.

#### Going up to the workspace list page after refreshing on the workspace settings and pressing the up button

1. Open the workspace settings from the deep link (use a link in format: `/settings/workspaces/:policyID:/profile`)
2. Click the app’s back button.
3. Verify if the workspace list is displayed.

#### Going up to the RHP screen provided in the backTo parameter in the url

1. Open the settings tab.
2. Go to the Profile page.
3. Click the Address button.
4. Click the Country button.
5. Reload the page.
6. Click the app’s back button.
7. Verify if the Profile address page is displayed (`/settings/profile/address`)

#### There is proper split navigator under the overlay after refreshing page in RHP that includes valid reportID in params

wide layout :

1. Open any report.
2. Open report details (press the chat header).
3. Reload the app.
4. Verify that the report under the overlay is the same as the one opened in report details.

narrow layout :

1. Open any report
2. Open report details (press the chat header).
3. Reload the app.
4. Verify that after pressing back arrow in the header you are on the report previously seen in the details page.

#### Navigating back to the Workspace Switcher from the created workspace

1. Open the app and go to the Inbox tab.
2. Open the workspace switcher (Click on the button in the upper left corner).
3. Create a new workspace by clicking on the + button.
4. Navigate back using the back button in the app.
5. Verify if the workspace switcher is displayed with the report screen below it

#### Going up to the sidebar screen

Linked issue: https://github.com/Expensify/App/pull/44138

1. Go to Subscription page in the settings tab.
2. Click on Request refund button
3. Verify that modal shown
4. Next click Downgrade...
5. Verify that modal got closed, your account is downgraded and the Home page is opened.

#### Navigating back from the Search page with invalid query parameters

1. Open the search page with invalid query parameters (e.g `/search?q=from%3a`)
2. Press the app's back button on the not found page.
3. Verify that the Search page with default query parameters is displayed.

#### Navigating to the chat from the link in the thread

1. Open any chat.
2. If there are no messages in the chat, send a message.
3. Press reply in thread.
4. Press the "From" link in the displayed header.
5. Verify if the link correctly redirects to the chat opened in the first step.

#### Expense - App does not open destination report after submitting expense

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2432400819

1. Launch the app.
2. Open FAB > Submit expense > Manual.
3. Submit a manual expense to any user (as long as the user is not the currrently opened report and the receiver is not workspace chat).
4. Verify if the destination report is opened after submitting expense.

#### QBO - Preferred exporter/Export date tab do not auto-close after value selected

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433342220

Precondition: Workspace with QBO integration connected.

1. Go to Workspace > Accounting.
2. Click on Export > Preferred exporter (or Export date).
3. Click on value.
4. Verify if the value chosen in the third step is selected and the app redirects to the Export page.

#### Web - Hold - App flickers after entering reason and saving it when holding expense

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433389682

1. Launch the app.
2. Open DM with any user.
3. Submit two expenses to them.
4. Click on the expense preview to go to expense report.
5. Click on any preview to go to transaction thread.
6. Go back to expense report.
7. Right click on the expense preview in Step 5 > Hold.
8. Enter a reason and save it.
9. Verify if the app does not flicker after entering reason and saving it.

#### Group - App returns to group settings page after saving group name

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433381800

1. Launch the app.
2. Create a group chat.
3. Go to group chat.
4. Click on the group chat header.
5. Click Group name field.
6. Click Save.
7. Verify if the app returs to group details RHP after saving group name.

#### Going up to a screen with any params

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2432694948

1. Press the FAB.
2. Select "Book travel".
3. Press "Book travel" in the new RHP pane.
4. Press "Country".
5. Select any country.
6. Verify that the country you selected is actually visible in the form.

#### Change params of existing attachments screens instead of pushing new screen on the stack

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2432360626

1. Open any chat.
2. Send at least two images.
3. Open attachment by pressing on image.
4. Press arrow on the side of attachment modal to navigate to the second image.
5. Close the modal with X in the corner.
6. Verify that the modal is now fully closed.

#### Navigate instead of push for reports with same reportID

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433351709

1. Open app on wide layout web.
2. Go to report A (any report).
3. Go to report B (any report with message).
4. Press reply in thread.
5. Press on header subtitle.
6. Press on the report B in the sidebar.
7. Verify that the message you replied to is no longer highlighted.
8. Press the browsers back button.
9. Verify that you are on the A report.


#### Don't push the default full screen route if not necessary.

1. Open app on wide layout web.
2. Open search tab.
3. Press track expense.
4. Verify that the split navigator hasn't changed under the overlay.

#### BA - Back button on connect bank account modal opens incorporation state modal

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433261611

Precondition: Use staging server (it can be set in Settings >> Troubleshoot)

1. Launch the app.
2. Navigate to Settings >> Workspaces >> Workspace >> Workflows.
3. Select Connect with Plaid option.
4. Go through the Plaid flow (Added Wells Fargo details).
5. Complete the Personal info, Company info & agreements section.
6. Note user redirected to page with the header Connect bank account and the option to disconnect your now set up bank account.
7. Tap back button on connect bank account modal.
8. Verify if the connect bank account modal is closed and the Workflows page is opened with the bank account added.

#### App opens room details page when tapping RHP back button after saving Private notes in DM

Linked issue: https://github.com/Expensify/App/pull/49539#issuecomment-2433321607

1. Launch the app.
2. Open DM with any user that does not have content in Private notes.
3. Click on the chat header.
4. Click Private notes.
5. Enter anything and click Save.
6. Click on the RHP back button.
7. Verify if the Profile RHP Page is opened (URL in the format /a/:accountID).

#### Opening particular onboarding pages from a link and going back

Linked issue: https://github.com/Expensify/App/issues/50177

1. Sign in as a new user.
2. Select Something else from the onboarding flow.
3. Reopen/refresh the app.
4. Verify the Personal detail step is shown.
5. Go back.
6. Verify you are navigated back to the Purpose step.
7. Select Manage my team.
8. Choose the employee size.
9. Reopen/refresh the app.
10. Verify the connection integration step is shown.
11. Go back.
12. Verify you are navigated back to the employee size step.
13. Go back.
14. Verify you are navigated back to the Purpose step.
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = {
`<rootDir>/tests/ui/**/*.${testFileExtension}`,
`<rootDir>/tests/unit/**/*.${testFileExtension}`,
`<rootDir>/tests/actions/**/*.${testFileExtension}`,
`<rootDir>/tests/navigation/**/*.${testFileExtension}`,
`<rootDir>/?(*.)+(spec|test).${testFileExtension}`,
],
transform: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ index 7558eb3..b7bb75e 100644
}) : STATE_TRANSITIONING_OR_BELOW_TOP;
}
+
+ const isHomeScreenAndNotOnTop = (route.name === 'BottomTabNavigator' || route.name === 'Workspace_Initial') && isScreenActive !== STATE_ON_TOP;
+ const isHomeScreenAndNotOnTop = (route.name === 'BottomTabNavigator' || route.name === 'Workspace_Initial' || route.name === 'Home' || route.name === 'Search_Bottom_Tab' || route.name === 'Settings_Root' || route.name === 'ReportsSplitNavigator' || route.name === 'Search_Central_Pane') && isScreenActive !== STATE_ON_TOP;
+
const {
headerShown = true,
Expand Down
4 changes: 0 additions & 4 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {PickerStateProvider} from 'react-native-picker-select';
import {SafeAreaProvider} from 'react-native-safe-area-context';
import '../wdyr';
import ActiveElementRoleProvider from './components/ActiveElementRoleProvider';
import ActiveWorkspaceContextProvider from './components/ActiveWorkspaceProvider';
import ColorSchemeWrapper from './components/ColorSchemeWrapper';
import ComposeProviders from './components/ComposeProviders';
import CustomStatusBarAndBackground from './components/CustomStatusBarAndBackground';
Expand Down Expand Up @@ -35,7 +34,6 @@ import CONFIG from './CONFIG';
import Expensify from './Expensify';
import {CurrentReportIDContextProvider} from './hooks/useCurrentReportID';
import useDefaultDragAndDrop from './hooks/useDefaultDragAndDrop';
import {ReportIDsContextProvider} from './hooks/useReportIDs';
import OnyxUpdateManager from './libs/actions/OnyxUpdateManager';
import {ReportAttachmentsProvider} from './pages/home/report/ReportAttachmentsContext';
import type {Route} from './ROUTES';
Expand Down Expand Up @@ -89,8 +87,6 @@ function App({url}: AppProps) {
EnvironmentProvider,
CustomStatusBarAndBackgroundContextProvider,
ActiveElementRoleProvider,
ActiveWorkspaceContextProvider,
ReportIDsContextProvider,
PlaybackContextProvider,
FullScreenContextProvider,
VolumeContextProvider,
Expand Down
24 changes: 21 additions & 3 deletions src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {sub as dateSubtract} from 'date-fns/sub';
import Config from 'react-native-config';
import * as KeyCommand from 'react-native-key-command';
import type {ValueOf} from 'type-fest';
import type ResponsiveLayoutResult from './hooks/useResponsiveLayout/types';
import type {Video} from './libs/actions/Report';
import type {MileageRate} from './libs/DistanceRequestUtils';
import BankAccount from './libs/models/BankAccount';
Expand Down Expand Up @@ -4677,13 +4678,15 @@ const CONST = {
SF_COORDINATES: [-122.4194, 37.7749],

NAVIGATION: {
TYPE: {
UP: 'UP',
},
ACTION_TYPE: {
REPLACE: 'REPLACE',
PUSH: 'PUSH',
NAVIGATE: 'NAVIGATE',

/** These action types are custom for RootNavigator */
SWITCH_POLICY_ID: 'SWITCH_POLICY_ID',
DISMISS_MODAL: 'DISMISS_MODAL',
OPEN_WORKSPACE_SPLIT: 'OPEN_WORKSPACE_SPLIT',
},
},
TIME_PERIOD: {
Expand Down Expand Up @@ -6456,6 +6459,21 @@ const CONST = {
GLOBAL_CREATE_TOOLTIP: 'globalCreateTooltip',
},
SMART_BANNER_HEIGHT: 152,

NAVIGATION_TESTS: {
DEFAULT_PARENT_ROUTE: {key: 'parentRouteKey', name: 'ParentNavigator'},
DEFAULT_USE_RESPONSIVE_LAYOUT_VALUE: {
shouldUseNarrowLayout: true,
isSmallScreenWidth: true,
isInNarrowPaneModal: false,
isExtraSmallScreenHeight: false,
isMediumScreenWidth: false,
isLargeScreenWidth: false,
isExtraSmallScreenWidth: false,
isSmallScreen: false,
onboardingIsMediumOrLargerScreenWidth: false,
} as ResponsiveLayoutResult,
},
} as const;

type Country = keyof typeof CONST.ALL_COUNTRIES;
Expand Down
4 changes: 3 additions & 1 deletion src/NAVIGATORS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
* */
export default {
CENTRAL_PANE_NAVIGATOR: 'CentralPaneNavigator',
BOTTOM_TAB_NAVIGATOR: 'BottomTabNavigator',
LEFT_MODAL_NAVIGATOR: 'LeftModalNavigator',
RIGHT_MODAL_NAVIGATOR: 'RightModalNavigator',
ONBOARDING_MODAL_NAVIGATOR: 'OnboardingModalNavigator',
Expand All @@ -13,4 +12,7 @@ export default {
EXPLANATION_MODAL_NAVIGATOR: 'ExplanationModalNavigator',
MIGRATED_USER_MODAL_NAVIGATOR: 'MigratedUserModalNavigator',
FULL_SCREEN_NAVIGATOR: 'FullScreenNavigator',
REPORTS_SPLIT_NAVIGATOR: 'ReportsSplitNavigator',
SETTINGS_SPLIT_NAVIGATOR: 'SettingsSplitNavigator',
WORKSPACE_SPLIT_NAVIGATOR: 'WorkspaceSplitNavigator',
} as const;
Loading
Loading