Rev 3416 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect } from 'react'import { useDispatch, useSelector } from 'react-redux'import { useParams } from 'react-router-dom'import { useFetch } from '@hooks'import {fetchFeeds,setCurrentPage,setTimelineUrl} from '@store/feed/feed.actions'import AppGrid from '@components/UI/layout/AppGrid'import Spinner from '@components/UI/Spinner'import Pagination from '@components/common/Pagination'import FeedList from '@components/dashboard/linkedin/feed-list/FeedList'import CompanyFollowers from '@components/company/company-followers'import CompanyWidget from '@components/company/company-widget'import AboutCompany from '@components/company/about-company'import CompanyInfo from '@components/company/company-info'export default function LinkedInCompany() {const { uuid } = useParams()const dispatch = useDispatch()const { feeds, timelineUrl, currentPage, loading, pages } = useSelector(({ feed }) => feed)const { data, isLoading, refetch } = useFetch(`/company/view/${uuid}`)const isFollower = !!data.link_unfollowconst allFeeds = feeds.allIds.map((id) => feeds.byId[id])const onChangePageHandler = (currentPage) => {dispatch(setCurrentPage(currentPage))window.scrollTo(0, 0)}useEffect(() => {dispatch(fetchFeeds(timelineUrl, currentPage))}, [timelineUrl, currentPage])useEffect(() => {dispatch(setTimelineUrl(data.link_timeline))}, [data])if (isLoading) {return <Spinner />}return (<AppGridrenderSidebar={() => <CompanyInfo company={data} />}renderMain={() => (<><CompanyWidget company={data} refetch={refetch} />{loading && <Spinner />}{!isFollower && <AboutCompany company={data} />}{isFollower && !loading && (<><FeedList feeds={allFeeds} /><Paginationpages={pages}page={currentPage}onChange={onChangePageHandler}/></>)}</>)}renderAside={() => (<><CompanyFollowers companyId={uuid} /><AboutCompany company={data} /></>)}/>)}