import React, {useEffect, useState} from 'react';
import {ActivityIndicator, Dimensions, StyleSheet, View,} from 'react-native';
import WebView from 'react-native-webview';
import {connect, useDispatch} from 'react-redux';
import {createStructuredSelector} from 'reselect';
import {ScreenComponent} from "../components/ScreenComponent";
const WebviewScreen = ({
navigation,
route,
paypalValidPayment,
fetchPaypalValidPayment,
}: any) => {
let webviewRef = null;
const dispatch = useDispatch();
const [backButtonEnabled, setBackButtonEnabled] = useState(false);
const {url, title} = navigation.state.params;
console.log("URL loaded", url);
/* useFocusEffect(
useCallback(() => {
const onBackPress = () => {
if (backButtonEnabled) {
webviewRef?.goBack();
} else {
navigation.goBack();
}
return false;
};
BackHandler.addEventListener('hardwareBackPress', onBackPress);
return () =>
BackHandler.removeEventListener(
'hardwareBackPress',
onBackPress,
);
}, []),
);*/
const renderLoader = () => (
);
return (
{
webviewRef = ref;
}}
javaScriptEnabled
domStorageEnabled
onNavigationStateChange={webViewState => {
setBackButtonEnabled(true);
}}
renderLoading={renderLoader}
startInLoadingState
/>
);
};
export default connect(null, null)(WebviewScreen);
const styles = StyleSheet.create({
contain: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
paddingLeft: 20,
paddingRight: 20,
},
contentModal: {
width: '100%',
borderRadius: 8,
padding: 8,
},
item: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
paddingVertical: 20,
},
contentAction: {
flexDirection: 'row',
justifyContent: 'flex-end',
paddingTop: 24,
},
webview: {
height: Dimensions.get('window').height,
width: Dimensions.get('window').width,
},
});