Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14867 | | 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 = () => {
16650 stevensc 10
  const { allFeeds, timelineUrl, pages, currentPage, loading } = useSelector(
11
    (state) => state.feed
12
  )
7205 stevensc 13
 
16650 stevensc 14
  const dispatch = useDispatch()
7463 stevensc 15
 
16650 stevensc 16
  useEffect(() => {
17
    dispatch(fetchFeeds(timelineUrl, currentPage))
18
  }, [timelineUrl])
7205 stevensc 19
 
16650 stevensc 20
  const onChangePageHandler = (currentPage) => {
21
    dispatch(setCurrentPage(currentPage))
22
    dispatch(fetchFeeds(timelineUrl, currentPage))
23
    window.scrollTo(0, 0)
24
  }
7458 stevensc 25
 
16650 stevensc 26
  if (loading) {
27
    return <Spinner />
28
  }
7458 stevensc 29
 
16650 stevensc 30
  return (
31
    <>
32
      {allFeeds.map((feed) => (
33
        <FeedTemplate feed={feed} key={feed.feed_unique} />
34
      ))}
35
      <PaginationComponent
36
        onChangePage={onChangePageHandler}
37
        pages={pages}
38
        isRow
39
        currentActivePage={currentPage}
40
      />
41
      <NotificationAlert />
42
    </>
43
  )
14867 stevensc 44
}
7205 stevensc 45
 
16650 stevensc 46
export default React.memo(FeedSection)