Marcos Rodriguez Vélez
6 years ago
4 changed files with 91 additions and 6 deletions
@ -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, |
||||
|
}), |
||||
|
}; |
Loading…
Reference in new issue