diff options
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/users.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/utils/users.ts b/src/utils/users.ts index d5e44b36..0b8a0582 100644 --- a/src/utils/users.ts +++ b/src/utils/users.ts @@ -174,3 +174,26 @@ export const defaultUserProfile = () => { const defaultImage = require('../assets/images/avatar-placeholder.png'); return defaultImage; }; + +export const canViewProfile = ( + state: RootState, + userXId: string | undefined, + screenType: ScreenType, +) => { + // own profile + if (!userXId || state.user.user.userId === userXId) { + return true; + } + // not private + if (!(userXId && state.userX[screenType][userXId].profile.is_private)) { + return true; + } + // is friend + if ( + userXId && + state.userX[screenType][userXId].profile.friendship_status === 'friends' + ) { + return true; + } + return false; +}; |
