import { actionOnePost } from '../../actions/query/postQuery' import { actionFullExplorePostsTypeSaga } from '../../actions/typeSaga/exploreTypesSaga' import { Row, Col } from 'antd' import { Card } from '../../components/post/PostCard' import React, { useEffect, useState } from 'react' import { connect } from 'react-redux' import { actionClearExplorePostsType } from '../../actions/types/exploreTypes' import load from '../../materials/load.gif' const ExplorePosts = ({ explorePosts = [], onPost, onClearExplore, onExlorePosts, explorePostsPromise, }) => { const [checkScroll, setScroll] = useState(true) useEffect(() => { if (checkScroll) { onExlorePosts() } setScroll(false) }, [checkScroll]) useEffect(() => { document.addEventListener('scroll', scrollHandler) return () => { document.removeEventListener('scroll', scrollHandler) onClearExplore() } }, []) useEffect(() => { document.addEventListener('scroll', scrollHandler) }, [explorePosts.length]) const scrollHandler = (e) => { if ( e.target.documentElement.scrollHeight - (e.target.documentElement.scrollTop + window.innerHeight) < 200 ) { setScroll(true) document.removeEventListener('scroll', scrollHandler) } } return ( <>
{(explorePosts || [])?.map((item) => ( ))}
{explorePostsPromise?.status == 'PENDING' && ( )} ) } export const CExplorePosts = connect( (state) => ({ my_Id: state.auth?.payload?.sub?.id || '', countAllPostsUser: state.promise?.countAllPostsUser?.payload, explorePosts: state.explore?.explorePosts, explorePostsPromise: state.promise?.explorePosts, explorePostsCount: state.explore?.explorePostsCount, }), { onExlorePosts: actionFullExplorePostsTypeSaga, onPost: actionOnePost, onClearExplore: actionClearExplorePostsType, }, )(ExplorePosts)