Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🍒 Cherry pick PR #6319 to staging 🍒 #6452

Merged
merged 3 commits into from
Nov 23, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001011605
versionName "1.1.16-5"
versionCode 1001011606
versionName "1.1.16-6"
}
splits {
abi {
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.1.16.5</string>
<string>1.1.16.6</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.1.16.5</string>
<string>1.1.16.6</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "1.1.16-5",
"version": "1.1.16-6",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down
7 changes: 4 additions & 3 deletions src/languages/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -690,7 +690,8 @@ export default {
benefit2: 'Digital and physical cards',
benefit3: 'No personal liability',
benefit4: 'Customizable limits',
chatWithConcierge: 'Chat with Concierge',
addWorkEmail: 'Add work email address',
checkingDomain: 'Hang tight! We are still working on enabling your Expensify Cards. Check back here in a few minutes.',
},
reimburse: {
captureReceipts: 'Capture receipts',
Expand Down Expand Up @@ -754,9 +755,9 @@ export default {
streamlinePayments: 'Streamline payments',
oneMoreThing: 'One more thing!',
allSet: 'You\'re all set!',
accountDescriptionNoCards: 'This bank account will be used to reimburse expenses, collect invoices, and pay bills all from the same account.\n\nConcierge can help you add a work email address to enable the Expensify Card.',
accountDescriptionNoCards: 'This bank account will be used to reimburse expenses, collect invoices, and pay bills all from the same account.\n\nPlease add a work email address as a secondary login to enable the Expensify Card.',
accountDescriptionWithCards: 'This bank account will be used to issue corporate cards, reimburse expenses, collect invoices, and pay bills all from the same account.',
chatWithConcierge: 'Chat with Concierge',
addWorkEmail: 'Add work email address',
letsFinishInChat: 'Let\'s finish in chat!',
almostDone: 'Almost done!',
disconnectBankAccount: 'Disconnect bank account',
Expand Down
7 changes: 4 additions & 3 deletions src/languages/es.js
Original file line number Diff line number Diff line change
Expand Up @@ -692,7 +692,8 @@ export default {
benefit2: 'Tarjetas digitales y físicas',
benefit3: 'Sin responsabilidad personal',
benefit4: 'Límites personalizables',
chatWithConcierge: 'Chatea con Concierge',
addWorkEmail: 'Añadir correo electrónico de trabajo',
checkingDomain: '¡Un momento! Estamos todavía trabajando para habilitar tu Tarjeta Expensify. Vuelve aquí en unos minutos.',
},
reimburse: {
captureReceipts: 'Captura recibos',
Expand Down Expand Up @@ -756,9 +757,9 @@ export default {
streamlinePayments: 'Optimiza pagos',
oneMoreThing: '¡Una cosa más!',
allSet: '¡Todo listo!',
accountDescriptionNoCards: 'Esta cuenta bancaria se utilizará para reembolsar gastos y cobrar y pagar facturas, todo desde la misma cuenta. Concierge puede ayudarte a añadir tu correo de trabajo para activar la Tarjeta Expensify.',
accountDescriptionNoCards: 'Esta cuenta bancaria se utilizará para reembolsar gastos y cobrar y pagar facturas, todo desde la misma cuenta.\n\nPor favor añade un correo electrónico de trabajo como tu nombre de usuario secundario para activar la Tarjeta Expensify.',
accountDescriptionWithCards: 'Esta cuenta bancaria se utilizará para emitir tarjetas corporativas, reembolsar gastos y cobrar y pagar facturas, todo desde la misma cuenta.',
chatWithConcierge: 'Chat con Concierge',
addWorkEmail: 'Añadir correo electrónico de trabajo',
letsFinishInChat: '¡Continuemos en el chat!',
almostDone: '¡Casi listo!',
disconnectBankAccount: 'Desconectar cuenta bancaria',
Expand Down
1 change: 1 addition & 0 deletions src/libs/Pusher/EventType.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ export default {
REPORT_COMMENT_EDIT: 'reportCommentEdit',
REPORT_TOGGLE_PINNED: 'reportTogglePinned',
PREFERRED_LOCALE: 'preferredLocale',
EXPENSIFY_CARD_UPDATE: 'expensifyCardUpdate',
};
1 change: 1 addition & 0 deletions src/libs/actions/User.js
Original file line number Diff line number Diff line change
Expand Up @@ -343,4 +343,5 @@ export {
setPreferredSkinTone,
setShouldUseSecureStaging,
clearUserErrorMessage,
subscribeToExpensifyCardUpdates,
};
17 changes: 12 additions & 5 deletions src/pages/ReimbursementAccount/EnableStep.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,19 @@ import Navigation from '../../libs/Navigation/Navigation';
import Text from '../../components/Text';
import compose from '../../libs/compose';
import ONYXKEYS from '../../ONYXKEYS';
import {ChatBubble, Close} from '../../components/Icon/Expensicons';
import {Mail, Close} from '../../components/Icon/Expensicons';
import MenuItem from '../../components/MenuItem';
import getBankIcon from '../../components/Icon/BankIcons';
import {getPaymentMethods} from '../../libs/actions/PaymentMethods';
import FullScreenLoadingIndicator from '../../components/FullscreenLoadingIndicator';
import bankAccountPropTypes from '../../components/bankAccountPropTypes';
import {navigateToConciergeChat} from '../../libs/actions/Report';
import confettiPop from '../../../assets/images/confetti-pop.gif';
import Icon from '../../components/Icon';
import WorkspaceSection from '../workspace/WorkspaceSection';
import {ConciergeBlue} from '../../components/Icon/Illustrations';
import {requestResetFreePlanBankAccount} from '../../libs/actions/BankAccounts';
import {openOldDotLink} from '../../libs/actions/Link';
import {subscribeToExpensifyCardUpdates} from '../../libs/actions/User';

const propTypes = {
/** Are we loading payment methods? */
Expand Down Expand Up @@ -72,10 +73,11 @@ class EnableStep extends React.Component {
}];
if (!isUsingExpensifyCard) {
menuItems.unshift({
title: this.props.translate('workspace.bankAccount.chatWithConcierge'),
icon: ChatBubble,
title: this.props.translate('workspace.bankAccount.addWorkEmail'),
icon: Mail,
onPress: () => {
navigateToConciergeChat();
openOldDotLink('settings?param={"section":"account","openModal":"secondaryLogin"}');
subscribeToExpensifyCardUpdates();
},
shouldShowRightIcon: true,
});
Expand Down Expand Up @@ -111,6 +113,11 @@ class EnableStep extends React.Component {
: this.props.translate('workspace.bankAccount.accountDescriptionWithCards')}
</Text>
</WorkspaceSection>
{this.props.user.isCheckingDomain && (
<Text style={[styles.formError, styles.m5]}>
{this.props.translate('workspace.card.checkingDomain')}
</Text>
)}
</View>
</View>
);
Expand Down
79 changes: 47 additions & 32 deletions src/pages/workspace/card/WorkspaceCardVBANoECardView.js
Original file line number Diff line number Diff line change
@@ -1,55 +1,70 @@
import React from 'react';
import {View} from 'react-native';
import {withOnyx} from 'react-native-onyx';
import Text from '../../../components/Text';
import styles from '../../../styles/styles';
import withLocalize, {withLocalizePropTypes} from '../../../components/withLocalize';
import {Concierge} from '../../../components/Icon/Expensicons';
import {Mail} from '../../../components/Icon/Expensicons';
import {JewelBoxBlue} from '../../../components/Icon/Illustrations';
import UnorderedList from '../../../components/UnorderedList';
import WorkspaceSection from '../WorkspaceSection';
import {navigateToConciergeChat} from '../../../libs/actions/Report';
import Navigation from '../../../libs/Navigation/Navigation';
import {openOldDotLink} from '../../../libs/actions/Link';
import {subscribeToExpensifyCardUpdates} from '../../../libs/actions/User';
import ONYXKEYS from '../../../ONYXKEYS';
import compose from '../../../libs/compose';

const propTypes = {
...withLocalizePropTypes,
};

const WorkspaceCardVBANoECardView = props => (
<WorkspaceSection
title={props.translate('workspace.card.header')}
icon={JewelBoxBlue}
menuItems={[
{
title: props.translate('workspace.card.chatWithConcierge'),
onPress: () => {
Navigation.dismissModal();
navigateToConciergeChat();
<>
<WorkspaceSection
title={props.translate('workspace.card.header')}
icon={JewelBoxBlue}
menuItems={[
{
title: props.translate('workspace.card.addWorkEmail'),
onPress: () => {
Navigation.dismissModal();
openOldDotLink('settings?param={"section":"account","openModal":"secondaryLogin"}');
subscribeToExpensifyCardUpdates();
},
icon: Mail,
shouldShowRightIcon: true,
},
icon: Concierge,
shouldShowRightIcon: true,
},
]}
>
<View style={[styles.mv4]}>
<Text>{props.translate('workspace.card.VBANoECardCopy')}</Text>
</View>

<UnorderedList
items={[
props.translate('workspace.card.benefit1'),
props.translate('workspace.card.benefit2'),
props.translate('workspace.card.benefit3'),
props.translate('workspace.card.benefit4'),
]}
/>
>
<View style={[styles.mv4]}>
<Text>{props.translate('workspace.card.VBANoECardCopy')}</Text>
</View>

<View style={[styles.mv4]}>
<Text>{props.translate('workspace.card.conciergeCanHelp')}</Text>
</View>
</WorkspaceSection>
<UnorderedList
items={[
props.translate('workspace.card.benefit1'),
props.translate('workspace.card.benefit2'),
props.translate('workspace.card.benefit3'),
props.translate('workspace.card.benefit4'),
]}
/>
</WorkspaceSection>
{props.user.isCheckingDomain && (
<Text style={[styles.m5, styles.formError]}>
{props.translate('workspace.card.checkingDomain')}
</Text>
)}
</>
);

WorkspaceCardVBANoECardView.propTypes = propTypes;
WorkspaceCardVBANoECardView.displayName = 'WorkspaceCardVBANoECardView';

export default withLocalize(WorkspaceCardVBANoECardView);
export default compose(
withLocalize,
withOnyx({
user: {
key: ONYXKEYS.USER,
},
}),
)(WorkspaceCardVBANoECardView);