Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Autoría | Ultima modificación | Ver Log |

import React, { useEffect, useState } from 'react'
import { useDispatch, useSelector } from 'react-redux'
import { getBackendVars } from '../../services/backendVars'

import { feedTypes } from '../../redux/feed/feed.types'
import { setTimelineUrl } from '../../redux/feed/feed.actions'

import PeopleYouMayKnow from '../../components/widgets/default/PeopleYouMayKnow'
import SocialNetworks from '../../components/widgets/default/SocialNetworks'
import SuggestWidget from '../../components/widgets/default/SuggestWidget'
import HomeNews from '../../components/widgets/default/HomeNews'
import DailyPulse from '../../components/widgets/default/DailyPulse'
import ShareFeed from '../../components/share-feed/ShareFeed'
import FeedSection from '../../components/feed-section/FeedSection'

import './styles/main.scss'

const Home = () => {
  const [userInfo, setUserInfo] = useState({})
  const labels = useSelector(({ intl }) => intl.labels)
  const dispatch = useDispatch()

  useEffect(() => {
    getBackendVars('/dashboard')
      .then(({ routeTimeline, ...results }) => {
        setUserInfo(results)
        dispatch(setTimelineUrl(routeTimeline))
      })
      .catch((err) => {
        console.log(err)
        throw new Error(err)
      })
  }, [])

  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
          microlearning={{
            appStore: userInfo?.microlearning_appstore,
            playStore: userInfo?.microlearning_playstore,
          }}
          moodle={{
            name: userInfo?.moodle_name,
            image: userInfo?.moodle_image,
          }}
        />
      </aside>

      <section className="feed-section">
        <ShareFeed
          image={userInfo?.image}
          feedType={feedTypes.DASHBOARD}
          postUrl="/feed/add"
        />
        <FeedSection feed={userInfo?.feed} image={userInfo?.image} />
      </section>

      <aside className="right-sidebar">
        {userInfo?.routeDailyPulse && (
          <DailyPulse dailyPulseUrl={userInfo?.routeDailyPulse} />
        )}
        <PeopleYouMayKnow />
        <HomeNews />
      </aside>
    </main>
  )
}

export default Home