Skip to content

Commit 4ccf3c0

Browse files
committed
Fix linter
1 parent bb08ae6 commit 4ccf3c0

5 files changed

Lines changed: 28 additions & 27 deletions

File tree

src/components/MoneyReportHeader.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ function MoneyReportHeader({policy, report: moneyRequestReport, transactionThrea
185185
const isPayAtEndExpense = isPayAtEndExpenseTransactionUtils(transaction);
186186
const isArchivedReport = isArchivedReportWithID(moneyRequestReport?.reportID);
187187
const [archiveReason] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${moneyRequestReport?.reportID}`, {selector: getArchiveReason, canBeMissing: true});
188+
const [reportNameValuePairs] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${moneyRequestReport?.reportID}`, {canBeMissing: true});
188189

189190
const getCanIOUBePaid = useCallback(
190191
(onlyShowPayElsewhere = false, shouldCheckApprovedState = true) =>
@@ -361,8 +362,8 @@ function MoneyReportHeader({policy, report: moneyRequestReport, transactionThrea
361362
if (!moneyRequestReport) {
362363
return '';
363364
}
364-
return getReportPrimaryAction(moneyRequestReport, transactions, violations, policy);
365-
}, [isPaidAnimationRunning, moneyRequestReport, policy, transactions, violations]);
365+
return getReportPrimaryAction(moneyRequestReport, transactions, violations, policy, reportNameValuePairs);
366+
}, [isPaidAnimationRunning, moneyRequestReport, policy, reportNameValuePairs, transactions, violations]);
366367

367368
const primaryActionsImplementation = {
368369
[CONST.REPORT.PRIMARY_ACTIONS.SUBMIT]: (

src/libs/ReportPrimaryActionUtils.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type {OnyxCollection} from 'react-native-onyx';
22
import type {ValueOf} from 'type-fest';
33
import CONST from '@src/CONST';
4-
import type {Policy, Report, Transaction, TransactionViolation} from '@src/types/onyx';
4+
import type {Policy, Report, ReportNameValuePairs, Transaction, TransactionViolation} from '@src/types/onyx';
55
import {isApprover as isApproverUtils} from './actions/Policy/Member';
66
import {getCurrentUserAccountID} from './actions/Report';
77
import {
@@ -18,7 +18,6 @@ import {
1818
canAddTransaction as canAddTransactionUtil,
1919
getMoneyRequestSpendBreakdown,
2020
getParentReport,
21-
getReportNameValuePairs,
2221
isArchivedReport,
2322
isClosedReport as isClosedReportUtils,
2423
isCurrentUserSubmitter,
@@ -101,7 +100,7 @@ function isApproveAction(report: Report, reportTransactions: Transaction[], poli
101100
return false;
102101
}
103102

104-
function isPayAction(report: Report, policy?: Policy) {
103+
function isPayAction(report: Report, policy?: Policy, reportNameValuePairs?: ReportNameValuePairs) {
105104
const isExpenseReport = isExpenseReportUtils(report);
106105
const isReportPayer = isPayer(getSession(), report, false, policy);
107106
const arePaymentsEnabled = arePaymentsEnabledUtils(policy);
@@ -115,7 +114,6 @@ function isPayAction(report: Report, policy?: Policy) {
115114
const isReportFinished = (isReportApproved && !report.isWaitingOnBankAccount) || isSubmittedWithoutApprovalsEnabled || isReportClosed;
116115
const {reimbursableSpend} = getMoneyRequestSpendBreakdown(report);
117116

118-
const reportNameValuePairs = getReportNameValuePairs(report.chatReportID);
119117
const isChatReportArchived = isArchivedReport(reportNameValuePairs);
120118

121119
if (isChatReportArchived) {
@@ -257,6 +255,7 @@ function getReportPrimaryAction(
257255
reportTransactions: Transaction[],
258256
violations: OnyxCollection<TransactionViolation[]>,
259257
policy?: Policy,
258+
reportNameValuePairs?: ReportNameValuePairs,
260259
): ValueOf<typeof CONST.REPORT.PRIMARY_ACTIONS> | '' {
261260
if (isAddExpenseAction(report, reportTransactions)) {
262261
return CONST.REPORT.PRIMARY_ACTIONS.ADD_EXPENSE;
@@ -278,7 +277,7 @@ function getReportPrimaryAction(
278277
return CONST.REPORT.PRIMARY_ACTIONS.APPROVE;
279278
}
280279

281-
if (isPayAction(report, policy)) {
280+
if (isPayAction(report, policy, reportNameValuePairs)) {
282281
return CONST.REPORT.PRIMARY_ACTIONS.PAY;
283282
}
284283

src/libs/ReportUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8518,9 +8518,9 @@ function canCreateRequest(report: OnyxEntry<Report>, policy: OnyxEntry<Policy>,
85188518
return requestOptions.includes(iouType);
85198519
}
85208520

8521-
function getWorkspaceChats(policyID: string, accountIDs: number[], reports: OnyxCollection<Report> = allReports): Array<OnyxEntry<Report>> {
8521+
function getWorkspaceChats(policyID: string | undefined, accountIDs: number[], reports: OnyxCollection<Report> = allReports): Array<OnyxEntry<Report>> {
85228522
return Object.values(reports ?? {}).filter(
8523-
(report) => isPolicyExpenseChat(report) && report?.policyID === policyID && report?.ownerAccountID && accountIDs.includes(report?.ownerAccountID),
8523+
(report) => isPolicyExpenseChat(report) && !!policyID && report?.policyID === policyID && report?.ownerAccountID && accountIDs.includes(report?.ownerAccountID),
85248524
);
85258525
}
85268526

src/pages/NewReportWorkspaceSelectionPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ function NewReportWorkspaceSelectionPage() {
3838
const {translate} = useLocalize();
3939
const {shouldUseNarrowLayout} = useResponsiveLayout();
4040

41-
const [policies, fetchStatus] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
41+
const [policies, fetchStatus] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {canBeMissing: true});
4242
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
43-
const [isLoadingApp] = useOnyx(ONYXKEYS.IS_LOADING_APP);
43+
const [isLoadingApp] = useOnyx(ONYXKEYS.IS_LOADING_APP, {canBeMissing: false});
4444
const shouldShowLoadingIndicator = isLoadingApp && !isOffline;
4545

4646
const navigateToNewReport = useCallback(

src/pages/home/sidebar/FloatingActionButtonAndPopover.tsx

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -177,24 +177,24 @@ function FloatingActionButtonAndPopover({onHideCreateMenu, onShowCreateMenu, isT
177177
const styles = useThemeStyles();
178178
const theme = useTheme();
179179
const {translate} = useLocalize();
180-
const [isLoading = false] = useOnyx(ONYXKEYS.IS_LOADING_APP);
181-
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST);
182-
const [session] = useOnyx(ONYXKEYS.SESSION);
183-
const [quickAction] = useOnyx(ONYXKEYS.NVP_QUICK_ACTION_GLOBAL_CREATE);
184-
const [quickActionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${quickAction?.chatReportID}`);
185-
const [reportNameValuePairs] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${quickActionReport?.reportID}`);
186-
const [activePolicyID] = useOnyx(ONYXKEYS.NVP_ACTIVE_POLICY_ID);
187-
const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
188-
const [activePolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${activePolicyID}`);
180+
const [isLoading = false] = useOnyx(ONYXKEYS.IS_LOADING_APP, {canBeMissing: true});
181+
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: true});
182+
const [session] = useOnyx(ONYXKEYS.SESSION, {canBeMissing: true});
183+
const [quickAction] = useOnyx(ONYXKEYS.NVP_QUICK_ACTION_GLOBAL_CREATE, {canBeMissing: true});
184+
const [quickActionReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${quickAction?.chatReportID}`, {canBeMissing: true});
185+
const [reportNameValuePairs] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${quickActionReport?.reportID}`, {canBeMissing: true});
186+
const [activePolicyID] = useOnyx(ONYXKEYS.NVP_ACTIVE_POLICY_ID, {canBeMissing: true});
187+
const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {canBeMissing: true});
188+
const [activePolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${activePolicyID}`, {canBeMissing: true});
189189
const policyChatForActivePolicy = useMemo(() => {
190190
if (isEmptyObject(activePolicy) || !activePolicy?.isPolicyExpenseChatEnabled) {
191191
return {} as OnyxTypes.Report;
192192
}
193-
const policyChatsForActivePolicy = getWorkspaceChats(`${activePolicyID ?? CONST.DEFAULT_NUMBER_ID}`, [session?.accountID ?? CONST.DEFAULT_NUMBER_ID], allReports);
193+
const policyChatsForActivePolicy = getWorkspaceChats(activePolicyID, [session?.accountID ?? CONST.DEFAULT_NUMBER_ID], allReports);
194194
return policyChatsForActivePolicy.length > 0 ? policyChatsForActivePolicy.at(0) : ({} as OnyxTypes.Report);
195195
}, [activePolicy, activePolicyID, session?.accountID, allReports]);
196-
const [quickActionPolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${quickActionReport?.policyID}`);
197-
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {selector: (c) => mapOnyxCollectionItems(c, policySelector)});
196+
const [quickActionPolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${quickActionReport?.policyID}`, {canBeMissing: true});
197+
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {selector: (c) => mapOnyxCollectionItems(c, policySelector), canBeMissing: true});
198198
const currentUserPersonalDetails = useCurrentUserPersonalDetails();
199199
const {canUseLeftHandBar} = usePermissions();
200200

@@ -207,18 +207,19 @@ function FloatingActionButtonAndPopover({onHideCreateMenu, onShowCreateMenu, isT
207207
const prevIsFocused = usePrevious(isFocused);
208208
const {isOffline} = useNetwork();
209209
const {isBlockedFromSpotnanaTravel} = usePermissions();
210-
const [primaryLogin] = useOnyx(ONYXKEYS.ACCOUNT, {selector: (account) => account?.primaryLogin});
210+
const [primaryLogin] = useOnyx(ONYXKEYS.ACCOUNT, {selector: (account) => account?.primaryLogin, canBeMissing: true});
211211
const primaryContactMethod = primaryLogin ?? session?.email ?? '';
212-
const [travelSettings] = useOnyx(ONYXKEYS.NVP_TRAVEL_SETTINGS);
212+
const [travelSettings] = useOnyx(ONYXKEYS.NVP_TRAVEL_SETTINGS, {canBeMissing: true});
213213

214214
const {canUseSpotnanaTravel, canUseTableReportView} = usePermissions();
215215
const canSendInvoice = useMemo(() => canSendInvoicePolicyUtils(allPolicies as OnyxCollection<OnyxTypes.Policy>, session?.email), [allPolicies, session?.email]);
216216
const isValidReport = !(isEmptyObject(quickActionReport) || isArchivedReport(reportNameValuePairs));
217217
const {environment} = useEnvironment();
218-
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED);
218+
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {canBeMissing: true});
219219
const navatticURL = getNavatticURL(environment, introSelected?.choice);
220220
const [hasSeenTour = false] = useOnyx(ONYXKEYS.NVP_ONBOARDING, {
221221
selector: hasSeenTourSelector,
222+
canBeMissing: true,
222223
});
223224

224225
const {setRootStatusBarEnabled} = useContext(CustomStatusBarAndBackgroundContext);
@@ -470,7 +471,7 @@ function FloatingActionButtonAndPopover({onHideCreateMenu, onShowCreateMenu, isT
470471
]);
471472

472473
const viewTourTaskReportID = introSelected?.viewTour;
473-
const [viewTourTaskReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourTaskReportID}`);
474+
const [viewTourTaskReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${viewTourTaskReportID}`, {canBeMissing: true});
474475

475476
const canModifyTask = canModifyTaskUtils(viewTourTaskReport, currentUserPersonalDetails.accountID);
476477
const canActionTask = canActionTaskUtils(viewTourTaskReport, currentUserPersonalDetails.accountID);

0 commit comments

Comments
 (0)