import React, { useEffect, useState } from 'react' import { Button, Card, Col, Row } from 'antd' import postNoData from '../images/profile-post-no.jpeg' import { connect } from 'react-redux' import { Link } from 'react-router-dom' import { actionFindFollowers, actionFindFollowing, actionProfilePageData, actionRemovePostsFeedAC, actionSubscribe, actionUnSubscribe } from '../actions' import { backURL, CircularGalleryIcon } from '../helpers' import { UserAvatar } from './Header' import { CModalFollowers, CModalFollowing } from '../components/main/profilePage/ModalFollow' import { DateCreated } from '../components/main/DateCreated' import Text from 'antd/lib/typography/Text' const ProfileFollow = ({ myID, userId, followers, onSubsuscribe, onUnSubsuscribe }) => { const followCheck = followers.find(f => f._id === myID && true) return ( {!!followCheck ? : } ) } const CProfileSetting = connect(state => ({ myID: state?.auth?.payload?.sub.id, followers: state?.postsFeed?.userData?.followers || [] }), { onSubsuscribe: actionSubscribe, onUnSubsuscribe: actionUnSubscribe })(ProfileFollow) const ProfilePageData = ({ data: { _id, avatar, login, nick, createdAt = '', followers, following }, count, setFollowing, setFollowers }) =>

{nick || login || 'No Name'}

{login || '----'}
Account created: Send message {count || '0'} Posts
const CProfilePageData = connect(state => ({ data: state?.postsFeed?.userData || {}, count: state?.postsFeed?.count || null }))(ProfilePageData) const ProfilePagePosts = ({ posts }) => {Array.isArray(posts) && posts.map(p => {p?.images && p?.images[0] && p.images[0]?.url ? p.images.length === 1 ? < img src={(backURL + '/' + p?.images[0].url)} alt='post Img' /> :
post Img
: }
) }
export const CProfilePagePosts = connect(state => ({ posts: state.postsFeed?.posts || [] }))(ProfilePagePosts) const ProfilePage = ({ match: { params: { _id } }, getProfileUser, clearDataProfile }) => { const [followers, setFollowers] = useState(false) const [following, setFollowing] = useState(false) const [checkScroll, setCheckScroll] = useState(true) useEffect(() => { document.addEventListener('scroll', scrollHandler) return () => { document.removeEventListener('scroll', scrollHandler) setCheckScroll(true) clearDataProfile() } }, [_id]) useEffect(() => { if (checkScroll) { getProfileUser(_id) setCheckScroll(false) } }, [_id, checkScroll]) const scrollHandler = (e) => { if (e.target.documentElement.scrollHeight - (e.target.documentElement.scrollTop + window.innerHeight) < 500) { setCheckScroll(true) } } return ( <> {followers && < CModalFollowers statusModal={setFollowers} title={'Followers'} />} {following && < CModalFollowing statusModal={setFollowing} title={'Following'} />} ) } export const CProfilePage = connect(state => ({ posts: state?.postsFeed?.posts || [] }), { getProfileUser: actionProfilePageData, clearDataProfile: actionRemovePostsFeedAC })(ProfilePage)