|
@ -1,5 +1,5 @@ |
|
|
import React, { useEffect, useState } from 'react'; |
|
|
import React, { useEffect, useState } from 'react'; |
|
|
import { ScrollView, Linking, Dimensions } from 'react-native'; |
|
|
import { ScrollView, Linking, Dimensions, Image, View, Text, TouchableOpacity } from 'react-native'; |
|
|
import { useNavigation } from 'react-navigation-hooks'; |
|
|
import { useNavigation } from 'react-navigation-hooks'; |
|
|
import { |
|
|
import { |
|
|
BlueTextCentered, |
|
|
BlueTextCentered, |
|
@ -10,6 +10,7 @@ import { |
|
|
BlueCard, |
|
|
BlueCard, |
|
|
BlueText, |
|
|
BlueText, |
|
|
BlueNavigationStyle, |
|
|
BlueNavigationStyle, |
|
|
|
|
|
BlueListItem, |
|
|
} from '../../BlueComponents'; |
|
|
} from '../../BlueComponents'; |
|
|
import { getApplicationName, getVersion, getBundleId, getBuildNumber } from 'react-native-device-info'; |
|
|
import { getApplicationName, getVersion, getBundleId, getBuildNumber } from 'react-native-device-info'; |
|
|
import Rate, { AndroidMarket } from 'react-native-rate'; |
|
|
import Rate, { AndroidMarket } from 'react-native-rate'; |
|
@ -24,7 +25,7 @@ const About = () => { |
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
setIsLoading(false); |
|
|
setIsLoading(false); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const handleOnReleaseNotesPress = () => { |
|
|
const handleOnReleaseNotesPress = () => { |
|
|
navigate('ReleaseNotes'); |
|
|
navigate('ReleaseNotes'); |
|
@ -65,82 +66,93 @@ const About = () => { |
|
|
return isLoading ? ( |
|
|
return isLoading ? ( |
|
|
<BlueLoading /> |
|
|
<BlueLoading /> |
|
|
) : ( |
|
|
) : ( |
|
|
<SafeBlueArea forceInset={{ horizontal: 'always' }} style={{ flex: 1 }}> |
|
|
<SafeBlueArea style={{ flex: 1 }}> |
|
|
<ScrollView testID="AboutScrollView"> |
|
|
<ScrollView testID="AboutScrollView"> |
|
|
<BlueCard> |
|
|
<BlueCard> |
|
|
<BlueTextCentered h4>BlueWallet is a free and open source Bitcoin wallet. Licensed MIT.</BlueTextCentered> |
|
|
<View style={{ justifyContent: 'center', alignItems: 'center', marginTop: 54 }}> |
|
|
<BlueSpacing20 /> |
|
|
<Image |
|
|
|
|
|
source={require('../../img/bluebeast.png')} |
|
|
<BlueTextCentered h4>Always backup your keys</BlueTextCentered> |
|
|
style={{ |
|
|
<BlueSpacing20 /> |
|
|
width: 102, |
|
|
|
|
|
height: 124, |
|
|
<BlueButton |
|
|
}} |
|
|
icon={{ |
|
|
/> |
|
|
name: 'github', |
|
|
<Text style={{ maxWidth: 260, marginVertical: 24, color: "#9AA0AA", fontSize: 15, textAlign: 'center', fontWeight: '500' }}>Blue Wallet is a free and open source project. Crafted by Bitcoin users.</Text> |
|
|
type: 'font-awesome', |
|
|
<Text style={{ maxWidth: 260, marginBottom: 40, color: "#0C2550", fontSize: 15, textAlign: 'center', fontWeight: '500' }}>Always backup your keys!</Text> |
|
|
color: BlueApp.settings.buttonTextColor, |
|
|
<BlueButton |
|
|
}} |
|
|
|
|
|
onPress={handleOnGithubPress} |
|
|
|
|
|
title="github.com/BlueWallet/BlueWallet" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueSpacing20 /> |
|
|
|
|
|
|
|
|
|
|
|
<BlueButton |
|
|
|
|
|
icon={{ |
|
|
|
|
|
name: 'twitter', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: BlueApp.settings.buttonTextColor, |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnTwitterPress} |
|
|
|
|
|
title="Follow us on Twitter" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueSpacing20 /> |
|
|
|
|
|
|
|
|
|
|
|
<BlueButton |
|
|
|
|
|
icon={{ |
|
|
|
|
|
name: 'telegram', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: BlueApp.settings.buttonTextColor, |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnTelegramPress} |
|
|
|
|
|
title="Join Telegram chat" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueSpacing20 /> |
|
|
|
|
|
|
|
|
|
|
|
<BlueButton |
|
|
|
|
|
icon={{ |
|
|
|
|
|
name: 'thumbs-up', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: BlueApp.settings.buttonTextColor, |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnRatePress} |
|
|
onPress={handleOnRatePress} |
|
|
title="Rate BlueWallet" |
|
|
title="help with a review ⭐🙏" |
|
|
/> |
|
|
/> |
|
|
|
|
|
</View> |
|
|
<BlueSpacing20 /> |
|
|
</BlueCard> |
|
|
<BlueText h3>Built with awesome:</BlueText> |
|
|
<BlueListItem |
|
|
<BlueSpacing20 /> |
|
|
leftIcon={{ |
|
|
<BlueText h4>* React Native</BlueText> |
|
|
name: 'twitter', |
|
|
<BlueText h4>* bitcoinjs-lib</BlueText> |
|
|
type: 'font-awesome', |
|
|
<BlueText h4>* Nodejs</BlueText> |
|
|
color: "#1da1f2", |
|
|
<BlueText h4>* Electrum server</BlueText> |
|
|
}} |
|
|
<BlueSpacing20 /> |
|
|
onPress={handleOnTwitterPress} |
|
|
|
|
|
title="Follow us on Twitter" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueListItem |
|
|
|
|
|
leftIcon={{ |
|
|
|
|
|
name: 'telegram', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: "#0088cc", |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnTelegramPress} |
|
|
|
|
|
title="Telegram chat" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueListItem |
|
|
|
|
|
leftIcon={{ |
|
|
|
|
|
name: 'github', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: "black", |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnGithubPress} |
|
|
|
|
|
title="GitHub" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueCard> |
|
|
|
|
|
<View style={{ backgroundColor: '#f9f9f9', padding: 16, paddingTop: 0, borderRadius: 8 }}> |
|
|
<BlueSpacing20 /> |
|
|
<BlueSpacing20 /> |
|
|
|
|
|
|
|
|
<BlueButton onPress={handleOnReleaseNotesPress} title="Release notes" /> |
|
|
<BlueTextCentered>Built with the awesome 👍</BlueTextCentered> |
|
|
<BlueSpacing20 /> |
|
|
<BlueSpacing20 /> |
|
|
|
|
|
<BlueTextCentered>React Native</BlueTextCentered> |
|
|
<BlueButton onPress={handleOnSelfTestPress} title="Run self test" testID="RunSelfTestButton" /> |
|
|
<BlueTextCentered>bitcoinjs-lib</BlueTextCentered> |
|
|
<BlueTextCentered /> |
|
|
<BlueTextCentered>Nodejs</BlueTextCentered> |
|
|
<BlueTextCentered> |
|
|
<BlueTextCentered>Electrum server</BlueTextCentered> |
|
|
{getApplicationName()} ver {getVersion()} (build {getBuildNumber()}) |
|
|
</View> |
|
|
</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered>{new Date(getBuildNumber() * 1000).toGMTString()}</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered>{getBundleId()}</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered> |
|
|
|
|
|
w, h = {width}, {height} |
|
|
|
|
|
</BlueTextCentered> |
|
|
|
|
|
</BlueCard> |
|
|
</BlueCard> |
|
|
|
|
|
<BlueListItem |
|
|
|
|
|
leftIcon={{ |
|
|
|
|
|
name: 'book', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: "#9AA0AA", |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnReleaseNotesPress} |
|
|
|
|
|
title="Release notes" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueListItem |
|
|
|
|
|
leftIcon={{ |
|
|
|
|
|
name: 'flask', |
|
|
|
|
|
type: 'font-awesome', |
|
|
|
|
|
color: "#FC0D44", |
|
|
|
|
|
}} |
|
|
|
|
|
onPress={handleOnSelfTestPress} |
|
|
|
|
|
title="Run self test" |
|
|
|
|
|
testID="RunSelfTestButton" |
|
|
|
|
|
/> |
|
|
|
|
|
<BlueSpacing20 /> |
|
|
|
|
|
<BlueSpacing20 /> |
|
|
|
|
|
<BlueTextCentered> |
|
|
|
|
|
{getApplicationName()} ver {getVersion()} (build {getBuildNumber()}) |
|
|
|
|
|
</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered>{new Date(getBuildNumber() * 1000).toGMTString()}</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered>{getBundleId()}</BlueTextCentered> |
|
|
|
|
|
<BlueTextCentered> |
|
|
|
|
|
w, h = {width}, {height} |
|
|
|
|
|
</BlueTextCentered> |
|
|
</ScrollView> |
|
|
</ScrollView> |
|
|
</SafeBlueArea> |
|
|
</SafeBlueArea> |
|
|
); |
|
|
); |
|
|