diff --git a/assets/images/expensify-logo-round-transparent.png b/assets/images/expensify-logo-round-transparent.png
new file mode 100644
index 000000000000..cfad187e38ef
Binary files /dev/null and b/assets/images/expensify-logo-round-transparent.png differ
diff --git a/src/CONST.js b/src/CONST.js
index 4557c66a42cc..42e27f7ad28f 100755
--- a/src/CONST.js
+++ b/src/CONST.js
@@ -2443,6 +2443,12 @@ const CONST = {
FLAG_SEVERITY_HARASSMENT: 'harassment',
FLAG_SEVERITY_ASSAULT: 'assault',
},
+ QR: {
+ DEFAULT_LOGO_SIZE_RATIO: 0.25,
+ DEFAULT_LOGO_MARGIN_RATIO: 0.02,
+ EXPENSIFY_LOGO_SIZE_RATIO: 0.22,
+ EXPENSIFY_LOGO_MARGIN_RATIO: 0.03,
+ },
};
export default CONST;
diff --git a/src/components/QRCode/index.js b/src/components/QRCode/index.js
index 06503d5987e7..f27cf28066ef 100644
--- a/src/components/QRCode/index.js
+++ b/src/components/QRCode/index.js
@@ -2,6 +2,7 @@ import React from 'react';
import QRCodeLibrary from 'react-native-qrcode-svg';
import PropTypes from 'prop-types';
import defaultTheme from '../../styles/themes/default';
+import CONST from '../../CONST';
const propTypes = {
/**
@@ -13,6 +14,14 @@ const propTypes = {
* Follows ImageProps href from react-native-svg that is used by react-native-qrcode-svg.
*/
logo: PropTypes.oneOfType([PropTypes.shape({uri: PropTypes.string}), PropTypes.number, PropTypes.string]),
+ /**
+ * The size ratio of logo to QR code
+ */
+ logoRatio: PropTypes.number,
+ /**
+ * The size ratio of margin around logo to QR code
+ */
+ logoMarginRatio: PropTypes.number,
/**
* The QRCode size
*/
@@ -38,6 +47,8 @@ const defaultProps = {
color: defaultTheme.text,
backgroundColor: defaultTheme.highlightBG,
getRef: undefined,
+ logoRatio: CONST.QR.DEFAULT_LOGO_SIZE_RATIO,
+ logoMarginRatio: CONST.QR.DEFAULT_LOGO_MARGIN_RATIO,
};
function QRCode(props) {
@@ -47,8 +58,9 @@ function QRCode(props) {
value={props.url}
size={props.size}
logo={props.logo}
- logoBackgroundColor="transparent"
- logoSize={props.size * 0.3}
+ logoBackgroundColor={props.backgroundColor}
+ logoSize={props.size * props.logoRatio}
+ logoMargin={props.size * props.logoMarginRatio}
logoBorderRadius={props.size}
backgroundColor={props.backgroundColor}
color={props.color}
diff --git a/src/components/QRShare/index.js b/src/components/QRShare/index.js
index 784e32d5410e..0a942c951d9d 100644
--- a/src/components/QRShare/index.js
+++ b/src/components/QRShare/index.js
@@ -60,6 +60,8 @@ class QRShare extends Component {
url={this.props.url}
logo={this.props.logo}
size={this.state.qrCodeSize}
+ logoRatio={this.props.logoRatio}
+ logoMarginRatio={this.props.logoMarginRatio}
/>
diff --git a/src/pages/settings/Security/TwoFactorAuth/VerifyPage.js b/src/pages/settings/Security/TwoFactorAuth/VerifyPage.js
index b7658ada0248..ed72f42e2d2f 100644
--- a/src/pages/settings/Security/TwoFactorAuth/VerifyPage.js
+++ b/src/pages/settings/Security/TwoFactorAuth/VerifyPage.js
@@ -19,7 +19,8 @@ import Clipboard from '../../../../libs/Clipboard';
import FixedFooter from '../../../../components/FixedFooter';
import TwoFactorAuthForm from './TwoFactorAuthForm';
import QRCode from '../../../../components/QRCode';
-import expensifyLogo from '../../../../../assets/images/expensify-logo-round-dark.png';
+import expensifyLogo from '../../../../../assets/images/expensify-logo-round-transparent.png';
+import CONST from '../../../../CONST';
const propTypes = {
...withLocalizePropTypes,
@@ -115,6 +116,8 @@ function VerifyPage(props) {
{props.translate('twoFactorAuth.addKey')}