Skip to content

[Due for payment 2026-07-29] Refactor ConfirmModal usage to useConfirmModal in various components, hooks, and providers #76696

Description

@roryabraham

Coming from #68799 (comment)...

Problem

When every component mounts its own ConfirmModal in the component tree, it creates component bloat, memory overhead from multiple modal instances, and repetitive boilerplate code that makes the application harder to maintain.

Solution

Refactor ConfirmModal usage to useConfirmModal in the following files:

ImportSpreadsheet.tsx
ImportSpreadsheetConfirmModal.tsx
DotIndicatorMessage.tsx
BookTravelButton.tsx
AccountSwitcher.tsx
ExportWithDropdownMenu.tsx
LocationPermissionModal/index.tsx
LocationPermissionModal/index.desktop.tsx
ContactPermissionModal/index.native.tsx
FocusModeNotification.tsx
SupportalPermissionDeniedModalProvider.tsx
DelegateNoAccessModalProvider.tsx
LockedAccountModalProvider.tsx
useFilesValidation.tsx
useCreateEmptyReportConfirmation.tsx
src/Expensify.tsx
TransactionReceiptModalContent.tsx
Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @ZhenjaHorbach

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributorOverdue

Type

No type

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions