diff options
Diffstat (limited to 'src/view/screens/Profile.tsx')
-rw-r--r-- | src/view/screens/Profile.tsx | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index bd60ca61c..7fd813809 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -26,10 +26,14 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { const [hasSetup, setHasSetup] = useState<boolean>(false) const uiState = React.useMemo( () => new ProfileUiModel(store, {user: params.name}), - [params.user], + [params.name, store], ) useEffect(() => { + store.nav.setTitle(navIdx, params.name) + }, [store, navIdx, params.name]) + + useEffect(() => { let aborted = false const feedCleanup = uiState.feed.registerListeners() if (!visible) { @@ -38,7 +42,6 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { if (hasSetup) { uiState.update() } else { - store.nav.setTitle(navIdx, params.name) uiState.setup().then(() => { if (aborted) { return @@ -50,7 +53,7 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { aborted = true feedCleanup() } - }, [visible, params.name, store]) + }, [visible, store, hasSetup, uiState]) // events // = @@ -139,7 +142,7 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { <EmptyState icon={['far', 'message']} message="No posts yet!" - style={{paddingVertical: 40}} + style={styles.emptyState} /> ) } @@ -187,7 +190,7 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { function LoadingMoreFooter() { return ( - <View style={{paddingVertical: 20}}> + <View style={styles.loadingMoreFooter}> <ActivityIndicator /> </View> ) @@ -202,6 +205,12 @@ const styles = StyleSheet.create({ paddingVertical: 10, paddingHorizontal: 14, }, + emptyState: { + paddingVertical: 40, + }, + loadingMoreFooter: { + paddingVertical: 20, + }, endItem: { paddingTop: 20, paddingBottom: 30, |