Rev 5798 | 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,
moodle_name,
moodle_image,
microlearning_appstore,
microlearning_playstore,
} = 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}:`}
btnLabelAccept={labels.GROUP_VIEW}
/>
<SuggestWidget
url="/helpers/groups-suggestion"
title={`${labels.SUGGEST_GROUPS}:`}
btnLabelAccept={labels.GROUP_VIEW}
/>
<SocialNetworks
moodle={{ name: moodle_name, image: moodle_image }}
microlearning={{
appStore: microlearning_appstore,
playStore: microlearning_playstore,
}}
/>
</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