@@ -4,25 +4,21 @@ import {View} from 'react-native';
44import type { OnyxEntry } from 'react-native-onyx' ;
55import type { ValueOf } from 'type-fest' ;
66import useMoneyReportHeaderStatusBar from '@hooks/useMoneyReportHeaderStatusBar' ;
7- import useNetwork from '@hooks/useNetwork' ;
87import useOnyx from '@hooks/useOnyx' ;
9- import usePaginatedReportActions from '@hooks/usePaginatedReportActions' ;
10- import useReportTransactionsCollection from '@hooks/useReportTransactionsCollection' ;
118import useResponsiveLayout from '@hooks/useResponsiveLayout' ;
129import useResponsiveLayoutOnWideRHP from '@hooks/useResponsiveLayoutOnWideRHP' ;
1310import useThemeStyles from '@hooks/useThemeStyles' ;
1411import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID' ;
15- import { getAllNonDeletedTransactions } from '@libs/MoneyRequestReportUtils' ;
1612import type { PlatformStackRouteProp } from '@libs/Navigation/PlatformStackNavigation/types' ;
1713import type { ReportsSplitNavigatorParamList , RightModalNavigatorParamList } from '@libs/Navigation/types' ;
18- import { getFilteredReportActionsForReportView , getOneTransactionThreadReportID , getOriginalMessage , isMoneyRequestAction } from '@libs/ReportActionsUtils' ;
1914import { isInvoiceReport as isInvoiceReportUtil } from '@libs/ReportUtils' ;
2015import CONST from '@src/CONST' ;
2116import ONYXKEYS from '@src/ONYXKEYS' ;
2217import SCREENS from '@src/SCREENS' ;
2318import type * as OnyxTypes from '@src/types/onyx' ;
2419import MoneyReportHeaderNextStep from './MoneyReportHeaderNextStep' ;
2520import MoneyReportHeaderStatusBarSection from './MoneyReportHeaderStatusBarSection' ;
21+ import { useMoneyReportTransactionThread } from './MoneyReportTransactionThreadContext' ;
2622import MoneyRequestReportNavigation from './MoneyRequestReportView/MoneyRequestReportNavigation' ;
2723
2824type MoneyReportHeaderMoreContentProps = {
@@ -76,29 +72,13 @@ type MoneyReportHeaderMoreContentBodyProps = {
7672
7773function MoneyReportHeaderMoreContentBody ( { moneyRequestReport, statusBarType, isReportInSearch, shouldShowNextStep} : MoneyReportHeaderMoreContentBodyProps ) {
7874 const styles = useThemeStyles ( ) ;
79- const { isOffline} = useNetwork ( ) ;
8075 const { shouldUseNarrowLayout, isMediumScreenWidth} = useResponsiveLayout ( ) ;
8176 const shouldDisplayNarrowVersion = shouldUseNarrowLayout || isMediumScreenWidth ;
8277 const { isWideRHPDisplayedOnWideLayout, isSuperWideRHPDisplayedOnWideLayout} = useResponsiveLayoutOnWideRHP ( ) ;
8378 const shouldDisplayNarrowMoreButton = ! shouldDisplayNarrowVersion || isWideRHPDisplayedOnWideLayout || isSuperWideRHPDisplayedOnWideLayout ;
8479
8580 const reportID = moneyRequestReport ?. reportID ;
86- const [ chatReport ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ moneyRequestReport ?. chatReportID } ` ) ;
87-
88- const { reportActions : unfilteredReportActions } = usePaginatedReportActions ( reportID ) ;
89- const reportActions = getFilteredReportActionsForReportView ( unfilteredReportActions ) ;
90-
91- const allReportTransactions = useReportTransactionsCollection ( reportID ) ;
92- const nonDeletedTransactions = getAllNonDeletedTransactions ( allReportTransactions , reportActions , isOffline , true ) ;
93- const visibleTransactionsForThreadID = nonDeletedTransactions ?. filter ( ( t ) => isOffline || t . pendingAction !== 'delete' ) ;
94- const reportTransactionIDs = visibleTransactionsForThreadID ?. map ( ( t ) => t . transactionID ) ;
95- const transactionThreadReportID = getOneTransactionThreadReportID ( moneyRequestReport , chatReport , reportActions ?? [ ] , isOffline , reportTransactionIDs ) ;
96- const [ transactionThreadReport ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ transactionThreadReportID } ` ) ;
97-
98- const requestParentReportAction =
99- reportActions && transactionThreadReport ?. parentReportActionID ? reportActions . find ( ( action ) => action . reportActionID === transactionThreadReport . parentReportActionID ) : null ;
100-
101- const iouTransactionID = isMoneyRequestAction ( requestParentReportAction ) ? getOriginalMessage ( requestParentReportAction ) ?. IOUTransactionID : undefined ;
81+ const { iouTransactionID} = useMoneyReportTransactionThread ( ) ;
10282
10383 return (
10484 < View style = { [ styles . flexRow , styles . gap2 , styles . justifyContentStart , styles . flexNoWrap , styles . ph5 , styles . pb3 ] } >
0 commit comments