Browse Source

ADD: Electrum setting placeholder

electrumpeer
Marcos Rodriguez Vélez 6 years ago
parent
commit
c9a1a5325a
  1. 5
      MainBottomTabs.js
  2. 2
      loc/en.js
  3. 76
      screen/settings/electrumSettings.js
  4. 12
      screen/settings/settings.js

5
MainBottomTabs.js

@ -9,6 +9,7 @@ import Currency from './screen/settings/currency';
import EncryptStorage from './screen/settings/encryptStorage'; import EncryptStorage from './screen/settings/encryptStorage';
import PlausibleDeniability from './screen/plausibledeniability'; import PlausibleDeniability from './screen/plausibledeniability';
import LightningSettings from './screen/settings/lightningSettings'; import LightningSettings from './screen/settings/lightningSettings';
import ElectrumSettings from './screen/settings/electrumSettings';
import WalletsList from './screen/wallets/list'; import WalletsList from './screen/wallets/list';
import WalletTransactions from './screen/wallets/transactions'; import WalletTransactions from './screen/wallets/transactions';
import AddWallet from './screen/wallets/add'; import AddWallet from './screen/wallets/add';
@ -110,6 +111,10 @@ const WalletsStackNavigator = createStackNavigator(
screen: LightningSettings, screen: LightningSettings,
path: 'LightningSettings', path: 'LightningSettings',
}, },
ElectrumSettings: {
screen: ElectrumSettings,
path: 'ElectrumSettings',
},
LNDViewInvoice: { LNDViewInvoice: {
screen: LNDViewInvoice, screen: LNDViewInvoice,
swipeEnabled: false, swipeEnabled: false,

2
loc/en.js

@ -179,7 +179,7 @@ module.exports = {
retype_password: 'Re-type password', retype_password: 'Re-type password',
passwords_do_not_match: 'Passwords do not match', passwords_do_not_match: 'Passwords do not match',
encrypt_storage: 'Encrypt storage', encrypt_storage: 'Encrypt storage',
lightning_settings: 'Lightning Settings', lightning_settings: 'Lightning',
lightning_settings_explain: lightning_settings_explain:
'To connect to your own LND node please install LndHub' + 'To connect to your own LND node please install LndHub' +
' and put its URL here in settings. Leave blank to use default LndHub (lndhub.io)', ' and put its URL here in settings. Leave blank to use default LndHub (lndhub.io)',

76
screen/settings/electrumSettings.js

@ -0,0 +1,76 @@
import React, { Component } from 'react';
import { FlatList, TouchableOpacity } from 'react-native';
import { BlueLoading, BlueText, SafeBlueArea, BlueListItem, BlueCard, BlueNavigationStyle } from '../../BlueComponents';
import PropTypes from 'prop-types';
import { Icon } from 'react-native-elements';
let loc = require('../../loc');
export default class Electrum extends Component {
static navigationOptions = () => ({
...BlueNavigationStyle(),
title: 'Electrum',
});
constructor(props) {
super(props);
this.state = {
isLoading: true,
}
}
async componentDidMount() {
this.setState({
isLoading: false,
});
}
renderItem = ({ item }) => {
return (
<TouchableOpacity
onPress={() => {
console.log('setLanguage', item.value);
loc.setLanguage(item.value);
loc.saveLanguage(item.value);
return this.setState({ language: item.value });
}}
>
<BlueListItem
title={item.label}
{...(this.state.language === item.value
? {
rightIcon: <Icon name="check" type="font-awesome" color="#0c2550" />,
}
: { hideChevron: true })}
/>
</TouchableOpacity>
);
};
render() {
if (this.state.isLoading) {
return <BlueLoading />;
}
return (
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={{ flex: 1 }}>
<FlatList
style={{ flex: 1 }}
keyExtractor={(_item, index) => `${index}`}
data={this.state.availableLanguages}
extraData={this.state.availableLanguages}
renderItem={this.renderItem}
/>
<BlueCard>
<BlueText>When selecting a new language, restarting BlueWallet may be required for the change to take effect.</BlueText>
</BlueCard>
</SafeBlueArea>
);
}
}
Electrum.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func,
goBack: PropTypes.func,
}),
};

12
screen/settings/settings.js

@ -33,14 +33,11 @@ export default class Settings extends Component {
return ( return (
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={{ flex: 1 }}> <SafeBlueArea forceInset={{ horizontal: 'always' }} style={{ flex: 1 }}>
<ScrollView>
<BlueHeaderDefaultSub leftText={loc.settings.header} rightComponent={null} /> <BlueHeaderDefaultSub leftText={loc.settings.header} rightComponent={null} />
<ScrollView maxHeight={450}>
<TouchableOpacity onPress={() => this.props.navigation.navigate('EncryptStorage')}> <TouchableOpacity onPress={() => this.props.navigation.navigate('EncryptStorage')}>
<BlueListItem title={loc.settings.encrypt_storage} /> <BlueListItem title={loc.settings.encrypt_storage} />
</TouchableOpacity> </TouchableOpacity>
<TouchableOpacity onPress={() => this.props.navigation.navigate('LightningSettings')}>
<BlueListItem title={loc.settings.lightning_settings} />
</TouchableOpacity>
<TouchableOpacity onPress={() => this.props.navigation.navigate('Language')}> <TouchableOpacity onPress={() => this.props.navigation.navigate('Language')}>
<BlueListItem title={loc.settings.language} /> <BlueListItem title={loc.settings.language} />
</TouchableOpacity> </TouchableOpacity>
@ -50,6 +47,13 @@ export default class Settings extends Component {
<TouchableOpacity onPress={() => this.props.navigation.navigate('About')}> <TouchableOpacity onPress={() => this.props.navigation.navigate('About')}>
<BlueListItem title={loc.settings.about} /> <BlueListItem title={loc.settings.about} />
</TouchableOpacity> </TouchableOpacity>
<BlueHeaderDefaultSub leftText={"advanced"} rightComponent={null} />
<TouchableOpacity onPress={() => this.props.navigation.navigate('LightningSettings')}>
<BlueListItem title={loc.settings.lightning_settings} />
</TouchableOpacity>
<TouchableOpacity onPress={() => this.props.navigation.navigate('ElectrumSettings')}>
<BlueListItem title={"Electrum"} />
</TouchableOpacity>
</ScrollView> </ScrollView>
</SafeBlueArea> </SafeBlueArea>
); );

Loading…
Cancel
Save