diff options
Diffstat (limited to 'src/view/com/profile')
-rw-r--r-- | src/view/com/profile/ProfileFollowers.tsx | 12 | ||||
-rw-r--r-- | src/view/com/profile/ProfileFollows.tsx | 12 | ||||
-rw-r--r-- | src/view/com/profile/ProfileMembers.tsx | 14 |
3 files changed, 34 insertions, 4 deletions
diff --git a/src/view/com/profile/ProfileFollowers.tsx b/src/view/com/profile/ProfileFollowers.tsx index 65297ccc6..c4e9435d6 100644 --- a/src/view/com/profile/ProfileFollowers.tsx +++ b/src/view/com/profile/ProfileFollowers.tsx @@ -6,6 +6,7 @@ import { FollowerItem, } from '../../../state/models/user-followers-view' import {Link} from '../util/Link' +import {ErrorMessage} from '../util/ErrorMessage' import {UserAvatar} from '../util/UserAvatar' import {useStores} from '../../../state' import {s, colors} from '../../lib/styles' @@ -31,6 +32,10 @@ export const ProfileFollowers = observer(function ProfileFollowers({ .catch(err => console.error('Failed to fetch user followers', err)) }, [name, view?.params.user, store]) + const onRefresh = () => { + view?.refresh() + } + // loading // = if ( @@ -50,7 +55,12 @@ export const ProfileFollowers = observer(function ProfileFollowers({ if (view.hasError) { return ( <View> - <Text>{view.error}</Text> + <ErrorMessage + dark + message={view.error} + style={{margin: 6}} + onPressTryAgain={onRefresh} + /> </View> ) } diff --git a/src/view/com/profile/ProfileFollows.tsx b/src/view/com/profile/ProfileFollows.tsx index 1bdd18f66..9efd58f8c 100644 --- a/src/view/com/profile/ProfileFollows.tsx +++ b/src/view/com/profile/ProfileFollows.tsx @@ -7,6 +7,7 @@ import { } from '../../../state/models/user-follows-view' import {useStores} from '../../../state' import {Link} from '../util/Link' +import {ErrorMessage} from '../util/ErrorMessage' import {UserAvatar} from '../util/UserAvatar' import {s, colors} from '../../lib/styles' @@ -31,6 +32,10 @@ export const ProfileFollows = observer(function ProfileFollows({ .catch(err => console.error('Failed to fetch user follows', err)) }, [name, view?.params.user, store]) + const onRefresh = () => { + view?.refresh() + } + // loading // = if ( @@ -50,7 +55,12 @@ export const ProfileFollows = observer(function ProfileFollows({ if (view.hasError) { return ( <View> - <Text>{view.error}</Text> + <ErrorMessage + dark + message={view.error} + style={{margin: 6}} + onPressTryAgain={onRefresh} + /> </View> ) } diff --git a/src/view/com/profile/ProfileMembers.tsx b/src/view/com/profile/ProfileMembers.tsx index 11db02054..75ef18caa 100644 --- a/src/view/com/profile/ProfileMembers.tsx +++ b/src/view/com/profile/ProfileMembers.tsx @@ -1,8 +1,9 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {ActivityIndicator, FlatList, Text, View} from 'react-native' +import {ActivityIndicator, FlatList, View} from 'react-native' import {MembersViewModel, MemberItem} from '../../../state/models/members-view' import {ProfileCard} from './ProfileCard' +import {ErrorMessage} from '../util/ErrorMessage' import {useStores} from '../../../state' export const ProfileMembers = observer(function ProfileMembers({ @@ -24,6 +25,10 @@ export const ProfileMembers = observer(function ProfileMembers({ newView.setup().catch(err => console.error('Failed to fetch members', err)) }, [name, view?.params.actor, store]) + const onRefresh = () => { + view?.refresh() + } + // loading // = if ( @@ -43,7 +48,12 @@ export const ProfileMembers = observer(function ProfileMembers({ if (view.hasError) { return ( <View> - <Text>{view.error}</Text> + <ErrorMessage + dark + message={view.error} + style={{margin: 6}} + onPressTryAgain={onRefresh} + /> </View> ) } |