Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5912 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

/* eslint-disable react/prop-types */
import React, { useEffect, useState } from 'react'
import { axios } from '../../../../../utils'
import { useDispatch } from 'react-redux'
import { setTimelineUrl } from '../../../../../redux/feed/feed.actions'
import FeedList from '../../../../../dashboard/templates/linkedin/Feed/FeedList'
import GroupInfo from '../../../../../group/view/templates/linkedin/components/GroupInfo'
import AboutCompany from '../components/AboutCompany'
import CompanyFollowers from '../components/CompanyFollowers'
import CompanyActions from '../components/CompanyActions'
import { setIntlLabels } from '../../../../../redux/intl/intl.action'

const View = ({ backendVars, labels }) => {
  const [authorizedLinks, setAuthorizedLinks] = useState(null)
  const [isFollower, setIsFollower] = useState(false)
  const dispatch = useDispatch()

  const fetchAuthorizedLinks = async () => {
    const { data: response } = await axios.get(
      `/company/view/${backendVars.companyId}`
    )
    if (response.success) {
      setAuthorizedLinks(response.data)
      if (response.data.link_unfollow) {
        setIsFollower(true)
      } else {
        setIsFollower(false)
      }
    }
  }

  useEffect(() => {
    dispatch(setTimelineUrl(backendVars.timeline))
    dispatch(setIntlLabels(labels))
    fetchAuthorizedLinks()
  }, [])

  return (
    <main className="w-100">
      <div className="container p-0 app__body layout__content">
        <div className="d-flex flex-column">
          <GroupInfo
            cover={backendVars.cover}
            image={backendVars.image}
            name={backendVars.companyName}
            overview={backendVars.overview}
            groupId={backendVars.companyId}
            totalMembers={backendVars.totalFollowers}
            groupType={backendVars.companySize}
            accessibility={backendVars.industry}
            type="company"
          />
        </div>
        <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
          <CompanyActions
            name={backendVars.companyName}
            image={backendVars.image}
            companyId={backendVars.companyId}
            cover={backendVars.cover}
            overview={backendVars.overview}
            refetch={() => fetchAuthorizedLinks()}
            actionLinks={authorizedLinks}
          />
          {!isFollower ? (
            <AboutCompany {...backendVars} />
          ) : (
            <FeedList
              image={`/storage/type/company/code/${backendVars.companyId}/${
                backendVars.image ? `filename/${backendVars.image}` : ''
              }`}
            />
          )}
        </div>
        <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
          <CompanyFollowers companyId={backendVars.companyId} />
          <AboutCompany {...backendVars} />
        </div>
      </div>
    </main>
  )
}

export default View