Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4013 | Rev 4072 | 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 { 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 SocialNetworks from "./SocialNetworks";


const ShareFeed = React.lazy(() => import("../share-feed/ShareFeed"))
const FeedSection = React.lazy(() => import("../feed-section/FeedSection"));
const PeopleYouMayKnow = React.lazy(() => import("../../../shared/helpers/people-you-may-know/PeopleYouMayKnow"))
const HomeNews = React.lazy(() => import("./HomeNews"));
const WidgetHelper = React.lazy(() => import("../../../shared/helpers/my-groups-helper/MyGroups"));

import Spinner from "../../../shared/loading-spinner/Spinner";

const HomeSection = ({ routeTimeline, backendVars }) => {

  const dispatch = useDispatch()
  const { image, feed } = backendVars;

  dispatch(setTimelineUrl(routeTimeline));

  return (
    <>
      <div className="main-section">
        <div className='main-section-data'>
          <div className="main-left-sidebar d-none d-md-flex">
            <Suspense fallback={<Spinner />}>
              <WidgetHelper
                url="/helpers/my-groups"
                title="Mis Grupos:"
              />
            </Suspense>
            <Suspense fallback={<Spinner />}>
              <WidgetHelper
                url="/helpers/groups-suggestion"
                title="Grupos:"
              />
            </Suspense>
            <div className="d-block d-xl-none">
              <Suspense fallback={<Spinner />}>
                <PeopleYouMayKnow />
              </Suspense>
            </div>
            <SocialNetworks />
          </div>
          <div className='feed-section'>
            <Suspense fallback={<Suspense />}>
              <ShareFeed
                image={image}
                feedType={feedTypes.DASHBOARD}
                postUrl="/feed/add"
              />
            </Suspense>
            <Suspense fallback={<Spinner />}>
              <FeedSection
                routeTimeline={routeTimeline}
                feed={feed}
                image={image}
              />
            </Suspense>
          </div>
          <div className='right-sidebar'>
            <Suspense fallback={<Spinner />}>
              <PeopleYouMayKnow />
            </Suspense>
            <Suspense fallback={null}>
              <HomeNews />
            </Suspense>
          </div>
        </div>
      </div>
      <NotificationAlert />
    </>
  );
};

export default HomeSection;