diff options
Diffstat (limited to 'src/view/screens/tabroots/Home.tsx')
-rw-r--r-- | src/view/screens/tabroots/Home.tsx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/view/screens/tabroots/Home.tsx b/src/view/screens/tabroots/Home.tsx index 446a5a7e9..a9c952473 100644 --- a/src/view/screens/tabroots/Home.tsx +++ b/src/view/screens/tabroots/Home.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useLayoutEffect} from 'react' +import React, {useState, useEffect, useLayoutEffect} from 'react' import {Image, StyleSheet, TouchableOpacity, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {Shell} from '../../shell' @@ -8,10 +8,11 @@ import {useStores} from '../../../state' import {AVIS} from '../../lib/assets' export function Home({navigation}: RootTabsScreenProps<'HomeTab'>) { + const [hasSetup, setHasSetup] = useState<boolean>(false) const store = useStores() useEffect(() => { console.log('Fetching home feed') - store.homeFeed.setup() + store.homeFeed.setup().then(() => setHasSetup(true)) }, [store.homeFeed]) const onNavigateContent = (screen: string, props: Record<string, string>) => { @@ -19,6 +20,15 @@ export function Home({navigation}: RootTabsScreenProps<'HomeTab'>) { navigation.navigate(screen, props) } + useEffect(() => { + return navigation.addListener('focus', () => { + if (hasSetup) { + console.log('Updating home feed') + store.homeFeed.update() + } + }) + }, [navigation, store.homeFeed, hasSetup]) + useLayoutEffect(() => { navigation.setOptions({ headerShown: true, |