import React, {useState, useEffect} from 'react' import {View} from 'react-native' import {observer} from 'mobx-react-lite' import {Feed} from '../com/posts/Feed' import {FAB} from '../com/util/FloatingActionButton' import {useStores} from '../../state' import {FeedViewModel} from '../../state/models/feed-view' import {ComposePostModel} from '../../state/models/shell' import {ScreenParams} from '../routes' import {s} from '../lib/styles' export const Home = observer(function Home({visible}: ScreenParams) { const [hasSetup, setHasSetup] = useState(false) const [feedView, setFeedView] = useState() const store = useStores() useEffect(() => { if (!visible) { return } if (hasSetup) { console.log('Updating home feed') feedView?.update() } else { store.nav.setTitle('Home') console.log('Fetching home feed') const newFeedView = new FeedViewModel(store, {}) setFeedView(newFeedView) newFeedView.setup().then(() => setHasSetup(true)) } }, [visible, store]) const onComposePress = () => { store.shell.openModal(new ComposePostModel()) } return ( {feedView && } ) })