diff --git a/src/ROUTES.ts b/src/ROUTES.ts index 77b5ffd2c80f..7fee9b5497ce 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -369,16 +369,16 @@ const ROUTES = { getUrlWithBackToParam(`${action}/${iouType}/scan/${transactionID}/${reportID}`, backTo), }, MONEY_REQUEST_STEP_TAG: { - route: ':action/:iouType/tag/:tagIndex/:transactionID/:reportID/:reportActionID?', + route: ':action/:iouType/tag/:orderWeight/:transactionID/:reportID/:reportActionID?', getRoute: ( action: ValueOf, iouType: ValueOf, - tagIndex: number, + orderWeight: number, transactionID: string, reportID: string, backTo = '', reportActionID?: string, - ) => getUrlWithBackToParam(`${action}/${iouType}/tag/${tagIndex}/${transactionID}/${reportID}${reportActionID ? `/${reportActionID}` : ''}`, backTo), + ) => getUrlWithBackToParam(`${action}/${iouType}/tag/${orderWeight}/${transactionID}/${reportID}${reportActionID ? `/${reportActionID}` : ''}`, backTo), }, MONEY_REQUEST_STEP_WAYPOINT: { route: ':action/:iouType/waypoint/:transactionID/:reportID/:pageIndex', diff --git a/src/components/ReportActionItem/MoneyRequestView.tsx b/src/components/ReportActionItem/MoneyRequestView.tsx index dd34d0ca2540..f6c937b72653 100644 --- a/src/components/ReportActionItem/MoneyRequestView.tsx +++ b/src/components/ReportActionItem/MoneyRequestView.tsx @@ -408,7 +408,7 @@ function MoneyRequestView({ )} {shouldShowTag && - policyTagLists.map(({name}, index) => ( + policyTagLists.map(({name, orderWeight}, index) => ( Navigation.navigate( - ROUTES.MONEY_REQUEST_STEP_TAG.getRoute(CONST.IOU.ACTION.EDIT, CONST.IOU.TYPE.REQUEST, index, transaction?.transactionID ?? '', report.reportID), + ROUTES.MONEY_REQUEST_STEP_TAG.getRoute(CONST.IOU.ACTION.EDIT, CONST.IOU.TYPE.REQUEST, orderWeight, transaction?.transactionID ?? '', report.reportID), ) } brickRoadIndicator={getErrorForField('tag', {tagListIndex: index, tagListName: name}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index 3976d12a9537..f378d17dc0b0 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -397,7 +397,7 @@ type MoneyRequestNavigatorParamList = { reportID: string; backTo: Routes; reportActionID: string; - tagIndex: string; + orderWeight: string; }; [SCREENS.MONEY_REQUEST.STEP_TAX_RATE]: { action: ValueOf; diff --git a/src/libs/PolicyUtils.ts b/src/libs/PolicyUtils.ts index 665830ca7167..1b9423c70ee7 100644 --- a/src/libs/PolicyUtils.ts +++ b/src/libs/PolicyUtils.ts @@ -181,19 +181,15 @@ function getSortedTagKeys(policyTagList: OnyxEntry): Array, tagIndex: number): string { +function getTagListName(policyTagList: OnyxEntry, orderWeight: number): string { if (isEmptyObject(policyTagList)) { return ''; } - const policyTagKeys = getSortedTagKeys(policyTagList ?? {}); - const policyTagKey = policyTagKeys[tagIndex] ?? ''; - - return policyTagList?.[policyTagKey]?.name ?? ''; + return Object.values(policyTagList).find((tag) => tag.orderWeight === orderWeight)?.name ?? ''; } - /** * Gets all tag lists of a policy */ diff --git a/src/pages/iou/request/step/IOURequestStepTag.tsx b/src/pages/iou/request/step/IOURequestStepTag.tsx index 4d1edbe32f56..a62720cbd13a 100644 --- a/src/pages/iou/request/step/IOURequestStepTag.tsx +++ b/src/pages/iou/request/step/IOURequestStepTag.tsx @@ -54,7 +54,7 @@ function IOURequestStepTag({ policyTags, report, route: { - params: {action, tagIndex: rawTagIndex, transactionID, backTo, iouType, reportActionID}, + params: {action, orderWeight: rawTagIndex, transactionID, backTo, iouType, reportActionID}, }, transaction, splitDraftTransaction,