Skip to content

Commit 1560a56

Browse files
authored
Merge pull request Expensify#69007 from callstack-internal/uber-banner
2 parents 0399715 + 8de9eae commit 1560a56

25 files changed

Lines changed: 248 additions & 73 deletions

File tree

Lines changed: 51 additions & 0 deletions
Loading

src/ONYXKEYS.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ const ONYXKEYS = {
164164
/** This NVP contains the referral banners the user dismissed */
165165
NVP_DISMISSED_REFERRAL_BANNERS: 'nvp_dismissedReferralBanners',
166166

167+
/** This NVP contains the uber banners the user dismissed */
168+
NVP_DISMISSED_UBER_BANNERS: 'nvp_dismissedUber4BusinessBanner',
169+
167170
/**
168171
* This NVP contains if user has ever seen the ASAP submit explanation modal and user intent to not show the ASAP submit explanation modal again
169172
* undefined : user has never seen the modal
@@ -619,7 +622,6 @@ const ONYXKEYS = {
619622
MERGE_TRANSACTION: 'mergeTransaction_',
620623
PRIVATE_NOTES_DRAFT: 'privateNotesDraft_',
621624
NEXT_STEP: 'reportNextStep_',
622-
623625
// Manual expense tab selector
624626
SELECTED_TAB: 'selectedTab_',
625627

@@ -1119,6 +1121,7 @@ type OnyxValuesMapping = {
11191121
[ONYXKEYS.ARE_TRANSLATIONS_LOADING]: boolean;
11201122
[ONYXKEYS.NVP_ACTIVE_POLICY_ID]: string;
11211123
[ONYXKEYS.NVP_DISMISSED_REFERRAL_BANNERS]: OnyxTypes.DismissedReferralBanners;
1124+
[ONYXKEYS.NVP_DISMISSED_UBER_BANNERS]: Record<string, boolean>;
11221125
[ONYXKEYS.NVP_HAS_SEEN_TRACK_TRAINING]: boolean;
11231126
[ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION]: OnyxTypes.PrivateSubscription;
11241127
[ONYXKEYS.NVP_PRIVATE_STRIPE_CUSTOMER_ID]: OnyxTypes.StripeCustomerID;

src/components/FeatureTrainingModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ import useThemeStyles from '@hooks/useThemeStyles';
1616
import Log from '@libs/Log';
1717
import Navigation from '@libs/Navigation/Navigation';
1818
import variables from '@styles/variables';
19-
import {dismissTrackTrainingModal} from '@userActions/User';
19+
import {setNameValuePair} from '@userActions/User';
2020
import CONST from '@src/CONST';
21+
import ONYXKEYS from '@src/ONYXKEYS';
2122
import type IconAsset from '@src/types/utils/IconAsset';
2223
import Button from './Button';
2324
import CheckboxWithLabel from './CheckboxWithLabel';
@@ -340,7 +341,7 @@ function FeatureTrainingModal({
340341

341342
if (!willShowAgain) {
342343
Log.hmmm('[FeatureTrainingModal] Dismissing track training modal');
343-
dismissTrackTrainingModal();
344+
setNameValuePair(ONYXKEYS.NVP_HAS_SEEN_TRACK_TRAINING, true, false);
344345
}
345346

346347
Log.hmmm('[FeatureTrainingModal] Setting modal invisible');

src/components/Icon/Illustrations.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import Building from '@assets/images/simple-illustrations/simple-illustration__b
8484
import Buildings from '@assets/images/simple-illustrations/simple-illustration__buildings.svg';
8585
import CarIce from '@assets/images/simple-illustrations/simple-illustration__car-ice.svg';
8686
import Car from '@assets/images/simple-illustrations/simple-illustration__car.svg';
87+
import PinkCar from '@assets/images/simple-illustrations/simple-illustration__car_pink.svg';
8788
import ChatBubbles from '@assets/images/simple-illustrations/simple-illustration__chatbubbles.svg';
8889
import CheckmarkCircle from '@assets/images/simple-illustrations/simple-illustration__checkmarkcircle.svg';
8990
import CoffeeMug from '@assets/images/simple-illustrations/simple-illustration__coffeemug.svg';
@@ -175,6 +176,7 @@ export {
175176
CoffeeMug,
176177
ConciergeBlue,
177178
ConciergeExclamation,
179+
PinkCar,
178180
CreditCardsBlue,
179181
EmailAddress,
180182
EmptyCardState,
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import {setNameValuePair} from '@userActions/User';
2+
import ONYXKEYS from '@src/ONYXKEYS';
3+
import useOnyx from './useOnyx';
4+
5+
function useDismissedUberBanners({policyID}: {policyID?: string}): {isDismissed: boolean; setAsDismissed: () => void} {
6+
const [dismissedUberBanners, metadata] = useOnyx(ONYXKEYS.NVP_DISMISSED_UBER_BANNERS, {canBeMissing: true});
7+
const isDismissed = (!!policyID && !!dismissedUberBanners?.[policyID]) || metadata.status !== 'loaded';
8+
9+
const setAsDismissed = () => {
10+
if (!policyID) {
11+
return;
12+
}
13+
setNameValuePair(ONYXKEYS.NVP_DISMISSED_UBER_BANNERS, {[policyID]: !isDismissed}, {[policyID]: isDismissed});
14+
};
15+
16+
return {isDismissed, setAsDismissed};
17+
}
18+
19+
export default useDismissedUberBanners;

src/languages/de.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3549,11 +3549,14 @@ const translations = {
35493549
deepDiveExpensifyCard: `<muted-text-label>Expensify Card-Transaktionen werden automatisch in ein mit <a href="${CONST.DEEP_DIVE_EXPENSIFY_CARD}">unserer Integration</a> erstelltes „Expensify Card Liability Account“ exportiert.</muted-text-label>`,
35503550
},
35513551
receiptPartners: {
3552+
connect: 'Jetzt verbinden',
35523553
uber: {
35533554
subtitle: 'Automatisieren Sie die Reisekosten und Essenslieferungskosten in Ihrem gesamten Unternehmen.',
35543555
autoRemove: 'Neue Workspace-Mitglieder zu Uber for Business einladen',
35553556
autoInvite: 'Entfernte Workspace-Mitglieder von Uber for Business deaktivieren',
35563557
manageInvites: 'Einladungen verwalten',
3558+
bannerTitle: 'Expensify + Uber ren pekin angang',
3559+
bannerDescription: 'Kopwe riri ngeni Uber ren Business pwe epwe otot ren monien sai me mongo non unusen om mwicheich.',
35573560
},
35583561
},
35593562
perDiem: {

src/languages/en.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3546,11 +3546,14 @@ const translations = {
35463546
deepDiveExpensifyCard: `<muted-text-label>Expensify Card transactions will automatically export to an "Expensify Card Liability Account" created with <a href="${CONST.DEEP_DIVE_EXPENSIFY_CARD}">our integration</a>.</muted-text-label>`,
35473547
},
35483548
receiptPartners: {
3549+
connect: 'Connect now',
35493550
uber: {
35503551
subtitle: 'Automate travel and meal delivery expenses across your organization.',
35513552
autoRemove: 'Invite new workspace members to Uber for Business',
35523553
autoInvite: 'Deactivate removed workspace members from Uber for Business',
35533554
manageInvites: 'Manage invites',
3555+
bannerTitle: 'Expensify + Uber for Business',
3556+
bannerDescription: 'Connect Uber for Business to automate travel and meal delivery expenses across your organization.',
35543557
},
35553558
},
35563559
perDiem: {

src/languages/es.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3534,11 +3534,14 @@ const translations = {
35343534
deepDiveExpensifyCard: `<muted-text-label>Las transacciones de la Tarjeta Expensify se exportan automáticamente a una "Cuenta de Responsabilidad de la Tarjeta Expensify" creada con <a href="${CONST.DEEP_DIVE_EXPENSIFY_CARD}">nuestra integración</a>.</muted-text-label>`,
35353535
},
35363536
receiptPartners: {
3537+
connect: 'Conéctate ahora',
35373538
uber: {
35383539
subtitle: 'Automatice los gastos de viajes y entrega de comidas en toda su organización.',
35393540
autoRemove: 'Invitar a nuevos miembros del espacio de trabajo a Uber para Empresas',
35403541
autoInvite: 'Desactivar miembros del espacio de trabajo eliminados de Uber para Empresas',
35413542
manageInvites: 'Administrar invitaciones',
3543+
bannerTitle: 'Expensify + Uber para empresas',
3544+
bannerDescription: 'Conecte Uber for Business para automatizar los gastos de viajes y entrega de comidas en toda su organización.',
35423545
},
35433546
},
35443547
perDiem: {

src/languages/fr.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3557,11 +3557,14 @@ const translations = {
35573557
deepDiveExpensifyCard: `<muted-text-label>Les transactions Expensify Card seront automatiquement exportées vers un « Expensify Card Liability Account » créé avec <a href="${CONST.DEEP_DIVE_EXPENSIFY_CARD}">notre intégration</a>.</muted-text-label>`,
35583558
},
35593559
receiptPartners: {
3560+
connect: 'Connectez-vous maintenant',
35603561
uber: {
35613562
subtitle: 'Automatisez les dépenses de déplacement et de livraison de repas dans toute votre organisation.',
35623563
autoRemove: "Inviter de nouveaux membres de l'espace de travail sur Uber",
35633564
autoInvite: "Désactiver les membres supprimés de l'espace de travail sur Uber",
35643565
manageInvites: 'Gérer les invitations',
3566+
bannerTitle: 'Expensify + Uber pour les entreprises',
3567+
bannerDescription: 'Connectez Uber for Business pour automatiser les frais de déplacement et de livraison de repas dans toute votre organisation.',
35653568
},
35663569
},
35673570
perDiem: {

src/languages/it.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3562,11 +3562,14 @@ const translations = {
35623562
deepDiveExpensifyCard: `<muted-text-label>Le transazioni della carta Expensify verranno esportate automaticamente in un “Conto di responsabilità della carta Expensify” creato con la <a href="${CONST.DEEP_DIVE_EXPENSIFY_CARD}">nostra integrazione</a>.</muted-text-label>`,
35633563
},
35643564
receiptPartners: {
3565+
connect: 'Connettiti ora',
35653566
uber: {
35663567
subtitle: 'Automatizza le spese di viaggio e di consegna dei pasti in tutta la tua organizzazione.',
35673568
autoRemove: "Invita nuovi membri dell'area di lavoro su Uber for Business",
35683569
autoInvite: "Disattiva i membri dell'area di lavoro rimossi da Uber for Business",
35693570
manageInvites: 'Gestisci inviti',
3571+
bannerTitle: 'Expensify + Uber per le aziende',
3572+
bannerDescription: 'Connetti Uber for Business per automatizzare le spese di viaggio e di consegna dei pasti nella tua organizzazione.',
35703573
},
35713574
},
35723575
perDiem: {

0 commit comments

Comments
 (0)