Rev 3688 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect } from 'react';import { useParams } from 'react-router-dom';import { useDispatch, useSelector } from 'react-redux';import { useFetch } from '@hooks';import { feedTypes } from '@store/feed/feed.types';import { fetchFeeds, setCurrentPage, setTimelineUrl } from '@store/feed/feed.actions';import { Pagination, Spinner } from '@shared/components';import AppGrid from '@components/UI/layout/AppGrid';import GroupWidget from '@components/widgets/linkedin/group-widget';import GroupActions from '@groups/components/sections-cards/group-actions/GroupActions';import ShareComponent from '@components/dashboard/linkedin/share/ShareComponent';import FeedList from '@components/dashboard/linkedin/feed-list/FeedList';import Members from '@groups/components/sections-cards/members/Members';import AboutGroup from '@groups/components/AboutGroup';const GroupPage = () => {const { uuid } = useParams();const dispatch = useDispatch();const { data, isLoading, refetch } = useFetch(`/group/view/${uuid}`);const { feeds, timelineUrl, currentPage, loading, pages } = useSelector(({ feed }) => feed);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(`/feed/timeline/${data.group_uuid}/group`));}, [data]);if (isLoading) {return <Spinner />;}return (<AppGridrenderSidebar={() => <GroupWidget group={data} />}renderMain={() => (<><GroupActions {...data} refetch={refetch} />{data.without_feeds ? (<AboutGroup {...data} />) : (<><ShareComponentfeedType={feedTypes.GROUP}postUrl={`/feed/add/group/${uuid}`}image={data?.image}/><FeedList feeds={allFeeds} loading={loading} /><Pagination pages={pages} page={currentPage} onChange={onChangePageHandler} /></>)}</>)}renderAside={() => (<><Members id={data.group_uuid} />{!data.without_feeds && <AboutGroup {...data} />}</>)}/>);};export default GroupPage;