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')}