Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5438 | Rev 5798 | 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 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 px-0'>
      <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