import { actionOnePost } from '../../actions/query/postQuery' import user from '../../materials/user.png' import React, { useState, useEffect } from 'react' import { Card } from '../../components/post/PostCard' import ListOfUsers from '../../components/ListOfUsers' import { connect } from 'react-redux' import { Avatar } from 'antd' import { actionFullProfilePageUserTypeSaga, actionPostsPortionTypeSaga, } from '../../actions/typeSaga/userTypesSaga' import { actionClearAllPostsType } from '../../actions/types/postTypes' import { Row, Col } from 'antd' import { CSubscribe } from '../../components/Subscribe' import { CEditSetting } from '../setting' import load from '../../materials/load.gif' import backendURL from '../../helpers/backendUrl' export const PageAboutUser = ({ match: { params: { _id }, }, my_Id, aboutUser: { login, nick, createdAt, avatar, followers, following } = {}, allPosts, onPost, onAboutUser, countPosts, onClearPosts, onUserPosts, userPostPromise, }) => { const [checkScroll, setScroll] = useState(true) useEffect(() => { onAboutUser(_id) }, [_id]) useEffect(() => { if (checkScroll) { onUserPosts(_id) } setScroll(false) }, [checkScroll]) useEffect(() => { document.addEventListener('scroll', scrollHandler) return () => { document.removeEventListener('scroll', scrollHandler) onClearPosts() } }, []) useEffect(() => { document.addEventListener('scroll', scrollHandler) }, [allPosts?.length]) const scrollHandler = (e) => { if ( e.target.documentElement.scrollHeight - (e.target.documentElement.scrollTop + window.innerHeight) < 200 ) { setScroll(true) document.removeEventListener('scroll', scrollHandler) } } const checkMyId = _id === my_Id return ( <>
{avatar?.url ? ( ) : ( )}
{login ?

{login}

:

{'Anon'}

}

Created Account:{' '} {new Intl.DateTimeFormat('en-GB').format(createdAt)}

{countPosts > 0 ? (

{countPosts} posts

) : (

0 posts

)}

nick: {nick == null ? login : nick}

{checkMyId ? : }
{(allPosts || [])?.map((item) => ( ))}
{userPostPromise?.status == 'PENDING' && ( )} ) } export const CPageAboutUser = connect( (state) => ({ my_Id: state.auth?.payload?.sub?.id, aboutUser: state.userData?.aboutUser, countPosts: state?.promise?.countPosts?.payload, allPosts: state.userData?.allPosts, userPostPromise: state.promise?.allPosts, }), { onAboutUser: actionFullProfilePageUserTypeSaga, onPost: actionOnePost, onClearPosts: actionClearAllPostsType, onUserPosts: actionPostsPortionTypeSaga, }, )(PageAboutUser)