Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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;