Browse Source

* FIX: Import toolbar touch

master
Marcos Rodriguez Vélez 5 years ago
committed by GitHub
parent
commit
53c099562b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      BlueComponents.js
  2. 113
      screen/wallets/import.js

7
BlueComponents.js

@ -640,6 +640,7 @@ export class BlueFormMultiInput extends Component {
underlineColorAndroid="transparent"
numberOfLines={4}
style={{
flex: 1,
marginTop: 5,
marginHorizontal: 20,
borderColor: BlueApp.settings.inputBorderColor,
@ -647,7 +648,6 @@ export class BlueFormMultiInput extends Component {
borderWidth: 0.5,
borderBottomWidth: 0.5,
backgroundColor: BlueApp.settings.inputBackgroundColor,
height: 200,
color: BlueApp.settings.foregroundColor,
}}
autoCorrect={false}
@ -938,11 +938,10 @@ export class BlueDoneAndDismissKeyboardInputAccessory extends Component {
<View
style={{
backgroundColor: '#eef0f4',
height: 44,
flex: 1,
flexDirection: 'row',
justifyContent: 'flex-end',
alignItems: 'center',
maxHeight: 44,
}}
>
<BlueButtonLink title="Clear" onPress={this.props.onClearTapped} />
@ -954,7 +953,7 @@ export class BlueDoneAndDismissKeyboardInputAccessory extends Component {
if (Platform.OS === 'ios') {
return <InputAccessoryView nativeID={BlueDoneAndDismissKeyboardInputAccessory.InputAccessoryViewID}>{inputView}</InputAccessoryView>;
} else {
return <KeyboardAvoidingView style={{ height: 44 }}>{inputView}</KeyboardAvoidingView>;
return <KeyboardAvoidingView>{inputView}</KeyboardAvoidingView>;
}
}
}

113
screen/wallets/import.js

@ -1,6 +1,6 @@
/* global alert */
import React, { useEffect, useState } from 'react';
import { ScrollView, KeyboardAvoidingView, Platform, Dimensions, View, Keyboard } from 'react-native';
import { Platform, Dimensions, View, Keyboard } from 'react-native';
import {
BlueFormMultiInput,
BlueButtonLink,
@ -25,8 +25,14 @@ const WalletsImport = () => {
useEffect(() => {
Privacy.enableBlur();
return () => Privacy.disableBlur();
});
Keyboard.addListener(Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow', () => setIsToolbarVisibleForAndroid(true));
Keyboard.addListener(Platform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide', () => setIsToolbarVisibleForAndroid(false));
return () => {
Keyboard.removeListener(Platform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide');
Keyboard.removeListener(Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow');
Privacy.disableBlur();
};
}, []);
const importButtonPressed = () => {
if (importText.trim().length === 0) {
@ -62,64 +68,59 @@ const WalletsImport = () => {
return (
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={{ flex: 1, paddingTop: 40 }}>
<ScrollView>
<KeyboardAvoidingView behavior="position" enabled>
<BlueFormLabel>{loc.wallets.import.explanation}</BlueFormLabel>
<BlueSpacing20 />
<BlueFormMultiInput
value={importText}
contextMenuHidden
onChangeText={setImportText}
inputAccessoryViewID={BlueDoneAndDismissKeyboardInputAccessory.InputAccessoryViewID}
onFocus={() => setIsToolbarVisibleForAndroid(true)}
onBlur={() => setIsToolbarVisibleForAndroid(false)}
/>
{Platform.select({
ios: (
<BlueDoneAndDismissKeyboardInputAccessory
onClearTapped={() => {
setImportText('');
Keyboard.dismiss();
}}
onPasteTapped={text => {
setImportText(text);
Keyboard.dismiss();
}}
/>
),
android: isToolbarVisibleForAndroid && (
<BlueDoneAndDismissKeyboardInputAccessory
onClearTapped={() => {
setImportText('');
Keyboard.dismiss();
}}
onPasteTapped={text => {
setImportText(text);
Keyboard.dismiss();
}}
/>
),
})}
</KeyboardAvoidingView>
<BlueFormLabel>{loc.wallets.import.explanation}</BlueFormLabel>
<BlueSpacing20 />
<BlueFormMultiInput
value={importText}
contextMenuHidden
onChangeText={setImportText}
inputAccessoryViewID={BlueDoneAndDismissKeyboardInputAccessory.InputAccessoryViewID}
/>
<BlueSpacing20 />
<View style={{ flex: 1, alignItems: 'center' }}>
<BlueButton
disabled={importText.trim().length === 0}
title={loc.wallets.import.do_import}
buttonStyle={{
width: width / 1.5,
}}
onPress={importButtonPressed}
/>
<BlueSpacing20 />
<View style={{ flex: 1, alignItems: 'center' }}>
<BlueButton
disabled={importText.trim().length === 0}
title={loc.wallets.import.do_import}
buttonStyle={{
width: width / 1.5,
<BlueButtonLink
title={loc.wallets.import.scan_qr}
onPress={() => {
navigate('ScanQRCode', { launchedBy: 'ImportWallet', onBarScanned, showFileImportButton: true });
}}
/>
</View>
{Platform.select({
ios: (
<BlueDoneAndDismissKeyboardInputAccessory
onClearTapped={() => {
setImportText('');
Keyboard.dismiss();
}}
onPasteTapped={text => {
setImportText(text);
Keyboard.dismiss();
}}
onPress={importButtonPressed}
/>
<BlueSpacing20 />
<BlueButtonLink
title={loc.wallets.import.scan_qr}
onPress={() => {
navigate('ScanQRCode', { launchedBy: 'ImportWallet', onBarScanned, showFileImportButton: true });
),
android: isToolbarVisibleForAndroid && (
<BlueDoneAndDismissKeyboardInputAccessory
onClearTapped={() => {
setImportText('');
Keyboard.dismiss();
}}
onPasteTapped={text => {
setImportText(text);
Keyboard.dismiss();
}}
/>
</View>
</ScrollView>
),
})}
</SafeBlueArea>
);
};

Loading…
Cancel
Save