import { FC, useCallback, useEffect } from 'react'; import { Add, ChatFill, Pin } from 'icons'; import { NavigationRoutes } from 'navigation/enum'; import { useProfile, useResponsiveLayout, useRouting } from 'hooks'; import { Divider } from 'components/divider'; import { Avatar } from 'components/avatar'; import { Button } from 'components/button'; import { Col, Container, Row, ScrollView } from 'components/layout'; import { Text } from 'components/text'; import { Visible } from 'components/visible'; import { useOneUserLazyQuery } from 'expo-schema'; export const Inner: FC = ({ userId, setIsEdit }) => { const { navigateTo } = useRouting(); const { isHandHeld, isMobile } = useResponsiveLayout(); const { profile: userProfile } = useProfile(); const isUser = !!userId; const [onUser, { loading: isLoading, data: oneUserData }] = useOneUserLazyQuery({ variables: { oneUserId: userId, }, }); useEffect(() => { if (isUser) { onUser(); } }, [onUser, isUser]); const navigateToEdit = useCallback(() => { if (isHandHeld) { navigateTo(NavigationRoutes.EditProfile); } else { if (setIsEdit) { setIsEdit(true); } } }, [isHandHeld, navigateTo, setIsEdit]); const profile = userId ? oneUserData?.oneUser : userProfile; const alignSelf = isMobile ? 'auto' : 'flex-end'; return ( <> {profile?.name.first} {profile?.name.last} {profile?.pronouns} {profile?.location} Bio {profile?.about} <>