Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5407 | Rev 5412 | 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, useEffect } from 'react'
import { useDispatch } from 'react-redux'
import { setTimelineUrl } from '../../../redux/feed/feed.actions'
import { feedTypes } from '../../../redux/feed/feed.types'
import { setIntlLabels } from '../../../redux/intl/intl.action'

// Components
import NotificationAlert from '../../../shared/notification/NotificationAlert'
import SocialNetworks from './SocialNetworks'
import ShareFeed from '../share-feed/ShareFeed'
import PeopleYouMayKnow from '../../../shared/helpers/people-you-may-know/PeopleYouMayKnow'
import DailyPulse from '../../../shared/helpers/daily-pulse/DailyPulse'
import HomeNews from './HomeNews'
import Spinner from '../../../shared/loading-spinner/Spinner'
import SuggestWidget from '../../../shared/helpers/my-groups-helper/SuggestWidget'

// Lazy Components
const FeedSection = React.lazy(() => import('../feed-section/FeedSection'))

const HomeSection = ({ routeTimeline, routeDailyPulse, backendVars, labels }) => {
  const { image, feed } = backendVars
  const dispatch = useDispatch()

  useEffect(() => {
    dispatch(setIntlLabels(labels))
    dispatch(setTimelineUrl(routeTimeline))
  }, [])

  return (
    <>
      <main className='main-section-data container'>
        <aside className="main-left-sidebar d-none d-md-flex">
          <SuggestWidget url="/helpers/my-groups" title={`${labels.MY_GROUPS}:`} />
          <SuggestWidget url="/helpers/groups-suggestion" title={`${labels.GROUPS}:`} />
          <SocialNetworks />
        </aside>

        <section className='feed-section'>
          <ShareFeed
            image={image}
            feedType={feedTypes.DASHBOARD}
            postUrl="/feed/add"
          />
          <Suspense fallback={<Spinner />}>
            <FeedSection
              routeTimeline={routeTimeline}
              feed={feed}
              image={image}
            />
          </Suspense>
        </section>

        <aside className='right-sidebar'>
          {routeDailyPulse && <DailyPulse routeDailyPulse={routeDailyPulse} />}
          <PeopleYouMayKnow />
          <HomeNews />
        </aside>

      </main>

    </>
  )
}

export default HomeSection