Rev 4001 | Rev 4017 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */
import React, { Suspense } from "react";
import styled from "styled-components";
import { useDispatch } from "react-redux";
import { setTimelineUrl } from "../../../redux/feed/feed.actions";
import { feedTypes } from "../../../redux/feed/feed.types";
import NotificationAlert from "../../../shared/notification/NotificationAlert";
import ShareFeed from "../share-feed/ShareFeed";
import ShareModal from "../share-modal/ShareModal";
import SocialNetworks from "./SocialNetworks";
import PeopleYouMayKnow from "../../../shared/helpers/people-you-may-know/PeopleYouMayKnow";
const HomeNews = React.lazy(() => import("./HomeNews"));
const WidgetHelper = React.lazy(() => import("../../../shared/helpers/my-groups-helper/MyGroups"));
const FeedSection = React.lazy(() => import("../feed-section/FeedSection"));
import Spinner from "../../../shared/loading-spinner/Spinner";
const StyledSpinner = styled.div`
width:100%;
height:100%;
display:grid;
place-items:center;
`;
const HomeSection = ({ routeTimeline, backendVars }) => {
const dispatch = useDispatch()
const { image, feed } = backendVars;
dispatch(setTimelineUrl(routeTimeline));
console.log('Home rendered successfully')
return (
<>
<div className="main-section">
<div className='main-section-data'>
<div className="main-left-sidebar d-none d-md-flex">
<Suspense fallback={null}>
<WidgetHelper
url="/helpers/my-groups"
title="Mis Grupos:"
/>
</Suspense>
<Suspense fallback={null}>
<WidgetHelper
url="/helpers/groups-suggestion"
title="Grupos:"
/>
</Suspense>
<div className="d-block d-xl-none">
<PeopleYouMayKnow />
</div>
<SocialNetworks />
</div>
<div className='feed-section'>
<ShareFeed image={image} feedType={feedTypes.DASHBOARD} postUrl="/feed/add" />
<Suspense
fallback={
<StyledSpinner>
<Spinner />
</StyledSpinner>
}
>
<FeedSection
routeTimeline={routeTimeline}
feed={feed}
image={image}
/>
</Suspense>
</div>
<div className='right-sidebar'>
<PeopleYouMayKnow />
<Suspense fallback={null}>
<HomeNews />
</Suspense>
</div>
</div>
</div>
<ShareModal />
<NotificationAlert />
</>
);
};
export default HomeSection;