Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
7176b4f
refactor: move duplicate navigateToConfirmationPage logic to IOU actions
rohit9625 Sep 30, 2025
519bd7c
refactor: fix prettier and lint issues
rohit9625 Oct 3, 2025
dffeb79
refactor: move duplicate createTransaction function to IOU file
rohit9625 Oct 3, 2025
e2a90ed
refactor: move navigateToConfirmationStep from IOURequestStepScan
rohit9625 Oct 4, 2025
f2ba63b
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Oct 7, 2025
3eb7d0b
fix: remove redundant dependencies and add important ones
rohit9625 Oct 9, 2025
32e69d2
refactor: move duplicate navigation code for IOU request distance step
rohit9625 Oct 9, 2025
fa727f3
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Oct 9, 2025
d82eebd
fix: use setTransactionReport in reusable functions as present on main
rohit9625 Oct 9, 2025
3c3de79
refactor: move duplicate navigation code of manual distance request step
rohit9625 Oct 9, 2025
cf97278
refactor: remove redundant navigation function
rohit9625 Oct 9, 2025
c28fce7
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Oct 10, 2025
b572ff4
fix: get correct rate id for unreported transaction
rohit9625 Oct 10, 2025
5b4a205
test: fix unit tests by providing mock for geolocation
rohit9625 Oct 10, 2025
9868fdc
fix: pass localeCompare for customUnitRateID to match the logic on main
rohit9625 Oct 10, 2025
e18ac4f
refactor: fix typo
rohit9625 Oct 10, 2025
84b6cee
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Oct 21, 2025
1f24dd9
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Nov 8, 2025
f51f0d6
fix: update createTransaction function code sync with main branch
rohit9625 Nov 8, 2025
385d35b
refactor: fix lint and typescript errors
rohit9625 Nov 8, 2025
88365d6
refactor: move navigation utility function to IOUUtils
rohit9625 Nov 12, 2025
70e6ff7
test: add unit tests for navigateToConfirmationPage utility function
rohit9625 Nov 12, 2025
864814c
Merge branch 'Expensify:main' into refactor/create-expense-navigation…
rohit9625 Nov 12, 2025
71d42a4
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Nov 29, 2025
947ab86
refactor: fix lint errors and warnings
rohit9625 Nov 29, 2025
2419b6a
refactor: move createTransaction to the IOUUtils file
rohit9625 Nov 30, 2025
9c4b473
test: write test cases for createTransaction util function
rohit9625 Nov 30, 2025
c92ae46
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 3, 2025
c8f3b95
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 8, 2025
fd4de23
refactor: fix imports and lint issues
rohit9625 Dec 8, 2025
d850cfb
test: fix failing tests
rohit9625 Dec 8, 2025
f70a275
Merge branch 'Expensify:main' into refactor/create-expense-navigation…
rohit9625 Dec 8, 2025
a26a728
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 11, 2025
d8e8db2
refactor: add quickAction for IOU to match the main branch
rohit9625 Dec 11, 2025
952379c
refactor: resolve lint warnings
rohit9625 Dec 11, 2025
e162cbe
test: remove geolocation mockup from test setup
rohit9625 Dec 11, 2025
b34d5f2
fix: remove redundant maximumAge and timeout from parameters
rohit9625 Dec 11, 2025
f683f73
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 12, 2025
3960ee3
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 17, 2025
0531622
Merge branch 'main' into refactor/create-expense-navigation-logic
rohit9625 Dec 18, 2025
7695b63
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Dec 21, 2025
95d131a
refactor: move IOU distance and scan step utility functions to IOUUtils
rohit9625 Dec 21, 2025
eeab6aa
test: write unit tests for money request distance step utility function
rohit9625 Dec 22, 2025
922d209
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 3, 2026
671f283
refactor: move MoneyRequest related functions and tests to separate file
rohit9625 Jan 5, 2026
8c4dc26
test: fix failing test and lint issues
rohit9625 Jan 5, 2026
75b9794
test: add remaining test cases for distance step navigation
rohit9625 Jan 5, 2026
2bf88ab
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 5, 2026
6d5a27e
test: fix failing tests
rohit9625 Jan 5, 2026
ffaebbf
test: refactor and fix failing tests
rohit9625 Jan 7, 2026
0199d2f
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 7, 2026
efecff0
test: update tests according new changes
rohit9625 Jan 7, 2026
1903341
test: write test cases for IOU scan step and refactor existing tests
rohit9625 Jan 7, 2026
f861c22
Merge branch 'Expensify:main' into refactor/create-expense-navigation…
rohit9625 Jan 7, 2026
c2c0148
refactor: fix missing import and lint errors
rohit9625 Jan 8, 2026
e4c4d76
test: add test cases for IOU money request step scan navigation function
rohit9625 Jan 8, 2026
923fc7b
test: remaining test cases for IOU request scan step navigation function
rohit9625 Jan 8, 2026
8c7580e
typo: correct the spelling
rohit9625 Jan 8, 2026
0ca14ed
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 10, 2026
8b4a683
refactor: update manualDistance condition to check if undefined only
rohit9625 Jan 10, 2026
80f4e01
Merge branch 'main' into refactor/create-expense-navigation-logic
rohit9625 Jan 11, 2026
9896a30
refactor: replace manualDistance condition with existing condition check
rohit9625 Jan 11, 2026
d319645
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 13, 2026
8ddd0a2
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 15, 2026
ebc9e5e
refactor: extract duplicate code into a reusable function
rohit9625 Jan 15, 2026
20ebf02
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 19, 2026
26a5201
Merge remote-tracking branch 'origin/main' into refactor/create-expen…
rohit9625 Jan 19, 2026
97865df
Merge branch 'main' into refactor/create-expense-navigation-logic
rohit9625 Jan 20, 2026
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
35 changes: 35 additions & 0 deletions src/libs/IOUUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,40 @@ function formatCurrentUserToAttendee(currentUser?: PersonalDetails, reportID?: s
return [initialAttendee];
}

function navigateToConfirmationPage(
iouType: IOUType,
transactionID: string,
reportID: string,
backToReport: string | undefined,
shouldNavigateToSubmit = false,
reportIDParam: string | undefined = undefined,
fromManualDistanceRequest = false,
) {
switch (iouType) {
case CONST.IOU.TYPE.REQUEST:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, CONST.IOU.TYPE.SUBMIT, transactionID, reportID, backToReport));
break;
case CONST.IOU.TYPE.SEND:
if (fromManualDistanceRequest) {
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, iouType, transactionID, reportID, backToReport));
Comment on lines +336 to +338

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this, I don't think you can send the money with a manual distance expense.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other words this case should never occur so maybe it would be best to remove the handling, or add a comment and a warning log line if it's just for a defensive coding style.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added that check because the navigation call for the IOU.TYPE.SEND at the IOURequestStepDistance.tsx file, was a little bit different from IOURequestStepDistanceManual.tsx:

const navigateToConfirmationPage = useCallback(() => {
switch (iouType) {
case CONST.IOU.TYPE.REQUEST:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, CONST.IOU.TYPE.SUBMIT, transactionID, reportID, backToReport));
break;
case CONST.IOU.TYPE.SEND:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, CONST.IOU.TYPE.PAY, transactionID, reportID));
break;
default:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, iouType, transactionID, reportID, backToReport));
}
}, [backToReport, iouType, reportID, transactionID]);

const navigateToConfirmationPage = useCallback(() => {
switch (iouType) {
case CONST.IOU.TYPE.REQUEST:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, CONST.IOU.TYPE.SUBMIT, transactionID, reportID, backToReport));
break;
default:
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, iouType, transactionID, reportID, backToReport));
}
}, [iouType, transactionID, reportID, backToReport]);

Should I really remove that, @neil-marcellini?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NAB, we can leave it for now. I do think it's dead code though

} else {
Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(CONST.IOU.ACTION.CREATE, CONST.IOU.TYPE.PAY, transactionID, reportID));
}
break;
default:
Navigation.navigate(
ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(
CONST.IOU.ACTION.CREATE,
shouldNavigateToSubmit ? CONST.IOU.TYPE.SUBMIT : iouType,
transactionID,
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
reportIDParam || reportID,
backToReport,
),
);
}
}

export {
calculateAmount,
calculateSplitAmountFromPercentage,
Expand All @@ -334,4 +368,5 @@ export {
formatCurrentUserToAttendee,
navigateToParticipantPage,
shouldShowReceiptEmptyState,
navigateToConfirmationPage,
};
Loading
Loading