diff --git a/src/languages/en.ts b/src/languages/en.ts index b80428166fff..a64dcec4b128 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -611,7 +611,7 @@ export default { splitBill: 'Split expense', splitScan: 'Split receipt', splitDistance: 'Split distance', - sendMoney: 'Pay someone', + paySomeone: ({name}: PaySomeoneParams) => `Pay ${name ?? 'someone'}`, assignTask: 'Assign task', header: 'Quick action', trackManual: 'Track expense', diff --git a/src/languages/es.ts b/src/languages/es.ts index 8ddba987d6f4..96b0aca60b39 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -604,7 +604,7 @@ export default { splitBill: 'Dividir gasto', splitScan: 'Dividir recibo', splitDistance: 'Dividir distancia', - sendMoney: 'Pagar a alguien', + paySomeone: ({name}: PaySomeoneParams) => `Pagar a ${name ?? 'alguien'}`, assignTask: 'Assignar tarea', header: 'Acción rápida', trackManual: 'Crear gasto', diff --git a/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.tsx b/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.tsx index 09023c312983..a0e1caf5db5e 100644 --- a/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.tsx +++ b/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.tsx @@ -21,7 +21,6 @@ import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRo import Navigation from '@libs/Navigation/Navigation'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; -import {isArchivedRoom} from '@libs/ReportUtils'; import * as App from '@userActions/App'; import * as IOU from '@userActions/IOU'; import * as Policy from '@userActions/Policy'; @@ -144,7 +143,7 @@ const getQuickActionTitle = (action: QuickActionName): TranslationPaths => { case CONST.QUICK_ACTIONS.TRACK_DISTANCE: return 'quickAction.trackDistance'; case CONST.QUICK_ACTIONS.SEND_MONEY: - return 'quickAction.sendMoney'; + return 'quickAction.paySomeone'; case CONST.QUICK_ACTIONS.ASSIGN_TASK: return 'quickAction.assignTask'; default: @@ -195,12 +194,30 @@ function FloatingActionButtonAndPopover( }, [personalDetails, session?.accountID, quickActionReport, quickActionPolicy]); const quickActionTitle = useMemo(() => { + if (isEmptyObject(quickActionReport)) { + return ''; + } + if (quickAction?.action === CONST.QUICK_ACTIONS.SEND_MONEY && quickActionAvatars.length > 0) { + const name: string = ReportUtils.getDisplayNameForParticipant(+(quickActionAvatars[0]?.id ?? 0), true) ?? ''; + return translate('quickAction.paySomeone', {name}); + } const titleKey = getQuickActionTitle(quickAction?.action ?? ('' as QuickActionName)); return titleKey ? translate(titleKey) : ''; - }, [quickAction, translate]); + }, [quickAction, translate, quickActionAvatars, quickActionReport]); + + const hideQABSubtitle = useMemo(() => { + if (isEmptyObject(quickActionReport)) { + return true; + } + if (quickActionAvatars.length === 0) { + return false; + } + const displayName = personalDetails?.[quickActionAvatars[0]?.id ?? 0]?.firstName ?? ''; + return quickAction?.action === CONST.QUICK_ACTIONS.SEND_MONEY && displayName.length === 0; + }, [personalDetails, quickActionReport, quickAction?.action, quickActionAvatars]); const navigateToQuickAction = () => { - const isValidReport = !(isEmptyObject(quickActionReport) || isArchivedRoom(quickActionReport)); + const isValidReport = !(isEmptyObject(quickActionReport) || ReportUtils.isArchivedRoom(quickActionReport)); const quickActionReportID = isValidReport ? quickActionReport?.reportID ?? '' : ReportUtils.generateReportID(); switch (quickAction?.action) { case CONST.QUICK_ACTIONS.REQUEST_MANUAL: @@ -439,7 +456,7 @@ function FloatingActionButtonAndPopover( isLabelHoverable: false, floatRightAvatars: quickActionAvatars, floatRightAvatarSize: CONST.AVATAR_SIZE.SMALL, - description: ReportUtils.getReportName(quickActionReport) ?? translate('quickAction.updateDestination'), + description: !hideQABSubtitle ? ReportUtils.getReportName(quickActionReport) ?? translate('quickAction.updateDestination') : '', numberOfLinesDescription: 1, onSelected: () => interceptAnonymousUser(() => navigateToQuickAction()), shouldShowSubscriptRightAvatar: ReportUtils.isPolicyExpenseChat(quickActionReport),