diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 30ea5497df76..323c4f095be5 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -6,7 +6,7 @@ on:
branches-ignore: [staging, production]
env:
- DEVELOPER_DIR: /Applications/Xcode_12.5.app/Contents/Developer
+ DEVELOPER_DIR: /Applications/Xcode_12.5.1.app/Contents/Developer
jobs:
test:
diff --git a/.github/workflows/platformDeploy.yml b/.github/workflows/platformDeploy.yml
index cb581c22cd18..45a47d7503ff 100644
--- a/.github/workflows/platformDeploy.yml
+++ b/.github/workflows/platformDeploy.yml
@@ -10,7 +10,7 @@ on:
env:
SHOULD_DEPLOY_PRODUCTION: ${{ github.event_name == 'release' }}
- DEVELOPER_DIR: /Applications/Xcode_12.5.app/Contents/Developer
+ DEVELOPER_DIR: /Applications/Xcode_12.5.1.app/Contents/Developer
jobs:
validateActor:
diff --git a/android/app/build.gradle b/android/app/build.gradle
index a7d8d4a4cec5..ffa27793bdb1 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -150,8 +150,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
- versionCode 1001010805
- versionName "1.1.8-5"
+ versionCode 1001010808
+ versionName "1.1.8-8"
}
splits {
abi {
diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist
index 42ba651e3c3e..c2ee2ca52ecc 100644
--- a/ios/NewExpensify/Info.plist
+++ b/ios/NewExpensify/Info.plist
@@ -31,7 +31,7 @@
CFBundleVersion
- 1.1.8.5
+ 1.1.8.8
ITSAppUsesNonExemptEncryption
LSApplicationQueriesSchemes
diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist
index 9a1d767f329f..800efa1603bd 100644
--- a/ios/NewExpensifyTests/Info.plist
+++ b/ios/NewExpensifyTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 1.1.8.5
+ 1.1.8.8
diff --git a/package-lock.json b/package-lock.json
index f1dd425c682a..595afb20d835 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "1.1.8-5",
+ "version": "1.1.8-8",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index 4959806c8e69..08854aea819c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "1.1.8-5",
+ "version": "1.1.8-8",
"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.",
diff --git a/src/components/ExpensiTextInput/BaseExpensiTextInput.js b/src/components/ExpensiTextInput/BaseExpensiTextInput.js
index 04c92bf7f1e6..31f94248d571 100644
--- a/src/components/ExpensiTextInput/BaseExpensiTextInput.js
+++ b/src/components/ExpensiTextInput/BaseExpensiTextInput.js
@@ -171,16 +171,21 @@ class BaseExpensiTextInput extends Component {
]}
>
{hasLabel ? (
-
+ <>
+ {/* Adding this background to the label only for multiline text input,
+ to prevent text overlaping with label when scrolling */}
+ {multiline && }
+
+ >
) : null}
{
diff --git a/src/components/Modal/index.ios.js b/src/components/Modal/index.ios.js
index 43087549409a..060f8b730a35 100644
--- a/src/components/Modal/index.ios.js
+++ b/src/components/Modal/index.ios.js
@@ -1,21 +1,15 @@
import React from 'react';
-import {SafeAreaView} from 'react-native';
import withWindowDimensions from '../withWindowDimensions';
import BaseModal from './BaseModal';
import {propTypes, defaultProps} from './ModalPropTypes';
-// Only want to use on iOS. Avoids ScrollBar in the middle of the modal.
-// https://github.com/facebook/react-native/issues/26610
const Modal = props => (
-
-
- {props.children}
-
-
-
+ {...props}
+ >
+ {props.children}
+
);
Modal.propTypes = propTypes;
diff --git a/src/pages/iou/steps/IOUAmountPage.js b/src/pages/iou/steps/IOUAmountPage.js
index c03824f18bc7..72482fee134d 100755
--- a/src/pages/iou/steps/IOUAmountPage.js
+++ b/src/pages/iou/steps/IOUAmountPage.js
@@ -76,6 +76,7 @@ class IOUAmountPage extends React.Component {
this.updateAmountNumberPad = this.updateAmountNumberPad.bind(this);
this.updateAmount = this.updateAmount.bind(this);
this.stripCommaFromAmount = this.stripCommaFromAmount.bind(this);
+ this.focusTextInput = this.focusTextInput.bind(this);
this.state = {
amount: props.selectedAmount,
@@ -83,7 +84,20 @@ class IOUAmountPage extends React.Component {
}
componentDidMount() {
- // Component is not initialized yet due to navigation transitions
+ this.focusTextInput();
+ }
+
+ componentDidUpdate(prevProps) {
+ if (this.props.iou.selectedCurrencyCode !== prevProps.iou.selectedCurrencyCode) {
+ this.focusTextInput();
+ }
+ }
+
+ /**
+ * Focus text input
+ */
+ focusTextInput() {
+ // Component may not initialized due to navigation transitions
// Wait until interactions are complete before trying to focus
InteractionManager.runAfterInteractions(() => {
// Focus text input
diff --git a/src/styles/styles.js b/src/styles/styles.js
index a329fcba50a0..4488a4643d4a 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -521,6 +521,7 @@ const styles = {
justifyContent: 'center',
height: '100%',
backgroundColor: themeColors.componentBG,
+ overflow: 'hidden',
},
expensiTextInputLabel: {
position: 'absolute',
@@ -531,6 +532,15 @@ const styles = {
fontFamily: fontFamily.GTA,
width: '100%',
},
+ expensiTextInputLabelBackground: {
+ position: 'absolute',
+ top: 0,
+ width: '100%',
+ height: 25,
+ backgroundColor: themeColors.componentBG,
+ borderTopRightRadius: variables.componentBorderRadiusNormal,
+ borderTopLeftRadius: variables.componentBorderRadiusNormal,
+ },
expensiTextInputLabelDesktop: {
transformOrigin: 'left center',
},
@@ -550,6 +560,7 @@ const styles = {
paddingBottom: 8,
paddingHorizontal: 11.5,
borderRadius: variables.componentBorderRadiusNormal,
+ zIndex: -1,
},
expensiTextInputDesktop: addOutlineWidth({}, 0),
expensiTextInputAndroid: left => ({