import React, { useCallback, useContext, useEffect } from 'react'; import { useNavigation, useRoute, useTheme } from '@react-navigation/native'; import { View, useWindowDimensions, StyleSheet, BackHandler, StatusBar } from 'react-native'; import { SafeBlueArea, BlueNavigationStyle, BlueSpacing20, BlueCopyTextToClipboard, BlueButton, BlueTextCentered, BlueText, } from '../../BlueComponents'; import QRCode from 'react-native-qrcode-svg'; import Privacy from '../../Privacy'; import { ScrollView } from 'react-native-gesture-handler'; import loc from '../../loc'; import { BlueStorageContext } from '../../blue_modules/storage-context'; import { LightningCustodianWallet } from '../../class'; const PleaseBackupLNDHub = () => { const { wallets } = useContext(BlueStorageContext); const { walletID } = useRoute().params; const wallet = wallets.find(w => w.getID() === walletID); const navigation = useNavigation(); const { colors } = useTheme(); const { height, width } = useWindowDimensions(); const handleBackButton = useCallback(() => { navigation.dangerouslyGetParent().pop(); return true; }, [navigation]); const styles = StyleSheet.create({ root: { flex: 1, backgroundColor: colors.elevated, }, scrollViewContent: { flexGrow: 1, backgroundColor: colors.elevated, justifyContent: 'center', alignItems: 'center', padding: 20, }, qrCodeContainer: { borderWidth: 6, borderRadius: 8, borderColor: '#FFFFFF' }, }); useEffect(() => { Privacy.enableBlur(); BackHandler.addEventListener('hardwareBackPress', handleBackButton); return () => { Privacy.disableBlur(); BackHandler.removeEventListener('hardwareBackPress', handleBackButton); }; }, [handleBackButton]); return ( {loc.pleasebackup.text_lnd} - {loc.pleasebackup.text_lnd2} {wallet.getBaseURI() === LightningCustodianWallet.defaultBaseUri && - {loc.pleasebackup.text_lnd3}} width ? width - 40 : width / 2} color="#000000" logoBackgroundColor={colors.brandingColor} backgroundColor="#FFFFFF" ecl="H" /> navigation.dangerouslyGetParent().pop()} title={loc.pleasebackup.ok_lnd} /> ); }; PleaseBackupLNDHub.navigationOptions = ({ navigation }) => ({ ...BlueNavigationStyle(navigation, true), title: loc.pleasebackup.title, headerLeft: null, headerRight: null, gestureEnabled: false, swipeEnabled: false, }); export default PleaseBackupLNDHub;