import { RouteProp, useFocusEffect, useNavigation, useRoute } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import React, { useCallback, useEffect } from 'react'; import { BackHandler, I18nManager, ScrollView, StyleSheet, Text, View } from 'react-native'; import Button from '../../components/Button'; import { useTheme } from '../../components/themes'; import { useSettings } from '../../hooks/context/useSettings'; import { useStorage } from '../../hooks/context/useStorage'; import loc from '../../loc'; import { AddWalletStackParamList } from '../../navigation/AddWalletStack'; import SeedWords from '../../components/SeedWords'; import { disableScreenProtect, enableScreenProtect } from '../../helpers/screenProtect'; type RouteProps = RouteProp; type NavigationProp = NativeStackNavigationProp; const PleaseBackup: React.FC = () => { const { wallets } = useStorage(); const { walletID } = useRoute().params; const wallet = wallets.find(w => w.getID() === walletID)!; const navigation = useNavigation(); const { isPrivacyBlurEnabled } = useSettings(); const { colors } = useTheme(); const stylesHook = StyleSheet.create({ flex: { backgroundColor: colors.elevated, }, pleaseText: { color: colors.foregroundColor, }, }); const handleBackButton = useCallback(() => { navigation.getParent()?.goBack(); return true; }, [navigation]); useEffect(() => { BackHandler.addEventListener('hardwareBackPress', handleBackButton); return () => { BackHandler.removeEventListener('hardwareBackPress', handleBackButton); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); useFocusEffect( useCallback(() => { if (isPrivacyBlurEnabled) enableScreenProtect(); return () => { disableScreenProtect(); }; }, [isPrivacyBlurEnabled]), ); return ( {loc.pleasebackup.text}