UNPKG

@mindinventory/react-native-boilerplate

Version:
51 lines (40 loc) 1.13 kB
import { useCallback } from 'react'; import { Linking } from 'react-native'; import { useFocusEffect } from '@react-navigation/native'; import { AppConfig, isIOS } from '@src/constants'; import { useAppContext } from '@src/context'; import { logger } from '@src/utils'; import { forceUpdateStyles } from './ForceUpdate.style'; const useForceUpdate = () => { const { color, ...props } = useAppContext(); const styles = forceUpdateStyles(color); const onUpdatePress = useCallback(() => { try { const URLToOpen = isIOS ? AppConfig.APP_STORE_URL : AppConfig.PLAY_STORE_URL; Linking.canOpenURL(URLToOpen) .then(res => { res && Linking.openURL(URLToOpen); }) .catch(error => { logger(`Error:: ${error}`); }); } catch (error) { logger(`Error:: ${error}`); } }, []); const onRetryPress = useCallback(() => {}, []); useFocusEffect( useCallback(() => { onRetryPress(); }, [onRetryPress]) ); return { onRetryPress, onUpdatePress, styles, ...props, }; }; export default useForceUpdate;