Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6830 | Rev 6835 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useEffect, useState } from 'react'
import { axios } from '../../utils'
import { useDispatch } from 'react-redux'
import { setTimelineUrl } from '../../redux/feed/feed.actions'
import { getBackendVars } from '../../services/backendVars'
import { useParams } from 'react-router-dom'

import FeedList from '../../components/feed/linkedin/FeedList'
import GroupInfo from '../../components/group/GroupInfo'
import AboutCompany from '../../components/company/AboutCompany'
import CompanyFollowers from '../../components/company/CompanyFollowers'
import CompanyActions from '../../components/company/CompanyActions'

import './styles/linkedin.scss'

const LinkedInCompany = () => {
  const [backendVars, setBackendVars] = useState(null)
  const [authorizedLinks, setAuthorizedLinks] = useState(null)
  const [isFollower, setIsFollower] = useState(false)
  const { uuid } = useParams()
  const dispatch = useDispatch()

  const fetchAuthorizedLinks = async () => {
    const { data: response } = await axios.get(`/company/view/${uuid}`)
    const { data, success } = response

    if (success) {
      setAuthorizedLinks(data)
      setIsFollower(!!data.link_unfollow)
    }
  }

  useEffect(() => {
    fetchAuthorizedLinks()
  }, [])

  useEffect(() => {
    getBackendVars(`/company/view/${uuid}`)
      .then((vars) => {
        console.log(vars)
        setBackendVars(vars)
      })
      .catch((err) => {
        console.log(`Error: ${err}`)
        throw new Error(err)
      })
  }, [])

  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={uuid} />
          <AboutCompany {...backendVars} />
        </div>
      </div>
    </main>
  )
}

export default LinkedInCompany