Rev 3108 | Rev 3432 | 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,loading: loadingCompany,refetch,} = useFetch(`/company/view/${uuid}`);const isFollower = !!data.link_unfollow;const 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 (loadingCompany) {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} /></>)}/>);}