Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 12149 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
12149 stevensc 1
import React, { useEffect } from 'react'
2
import FeedTemplate from './FeedTemplate'
7458 stevensc 3
import { fetchFeeds, setCurrentPage } from '../../redux/feed/feed.actions'
12149 stevensc 4
import { useDispatch, useSelector } from 'react-redux'
5
import PaginationComponent from '../../shared/PaginationComponent'
6
import Spinner from '../../shared/Spinner'
7
import NotificationAlert from '../../shared/notification/NotificationAlert'
7161 stevensc 8
 
14867 stevensc 9
const FeedSection = () => {
7205 stevensc 10
 
12149 stevensc 11
	const { allFeeds, timelineUrl, pages, currentPage, loading } = useSelector(state => state.feed)
7463 stevensc 12
 
12149 stevensc 13
	const dispatch = useDispatch()
7205 stevensc 14
 
12149 stevensc 15
	useEffect(() => {
16
		dispatch(fetchFeeds(timelineUrl, currentPage))
17
	}, [timelineUrl])
7458 stevensc 18
 
12149 stevensc 19
	const onChangePageHandler = (currentPage) => {
20
		dispatch(setCurrentPage(currentPage))
21
		dispatch(fetchFeeds(timelineUrl, currentPage))
22
		window.scrollTo(0, 0)
23
	}
7458 stevensc 24
 
12149 stevensc 25
	if (loading) {
26
		return <Spinner />
27
	}
7221 stevensc 28
 
12149 stevensc 29
	return (
30
		<>
31
			{
32
				allFeeds.map((feed) =>
33
					<FeedTemplate
34
						feed={feed}
35
						key={feed.feed_unique}
36
					/>
37
				)
38
			}
39
			<PaginationComponent
40
				onChangePage={onChangePageHandler}
41
				pages={pages}
42
				isRow
43
				currentActivePage={currentPage}
44
			/>
45
			<NotificationAlert />
46
		</>
47
	)
14867 stevensc 48
}
7205 stevensc 49
 
14867 stevensc 50
export default React.memo(FeedSection)