Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6834 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6830 stevensc 1
import React, { useEffect, useState } from 'react'
2
import { axios } from '../../utils'
3
import { useDispatch } from 'react-redux'
4
import { setTimelineUrl } from '../../redux/feed/feed.actions'
5
import { getBackendVars } from '../../services/backendVars'
6
import { useParams } from 'react-router-dom'
7
 
8
import FeedList from '../../components/feed/linkedin/FeedList'
9
import GroupInfo from '../../components/group/GroupInfo'
10
import AboutCompany from '../../components/company/AboutCompany'
11
import CompanyFollowers from '../../components/company/CompanyFollowers'
12
import CompanyActions from '../../components/company/CompanyActions'
13
 
14
const LinkedInCompany = () => {
15
  const [backendVars, setBackendVars] = useState(null)
16
  const [authorizedLinks, setAuthorizedLinks] = useState(null)
17
  const [isFollower, setIsFollower] = useState(false)
18
  const { uuid } = useParams()
19
  const dispatch = useDispatch()
20
 
21
  const fetchAuthorizedLinks = async () => {
22
    const { data: response } = await axios.get(`/company/view/${uuid}`)
23
    const { data, success } = response
24
 
25
    if (success) {
26
      setAuthorizedLinks(data)
27
      setIsFollower(!!data.link_unfollow)
28
    }
29
  }
30
 
31
  useEffect(() => {
32
    fetchAuthorizedLinks()
33
  }, [])
34
 
35
  useEffect(() => {
36
    getBackendVars(`/company/view/${uuid}`)
37
      .then((vars) => {
38
        console.log(vars)
39
        setBackendVars(vars)
40
      })
41
      .catch((err) => {
42
        console.log(`Error: ${err}`)
43
        throw new Error(err)
44
      })
45
  }, [])
46
 
47
  return (
48
    <main className="w-100">
49
      <div className="container p-0 app__body layout__content">
50
        <div className="d-flex flex-column">
51
          <GroupInfo
52
            cover={backendVars?.cover}
53
            image={backendVars?.image}
54
            name={backendVars?.companyName}
55
            overview={backendVars?.overview}
56
            groupId={backendVars?.companyId}
57
            totalMembers={backendVars?.totalFollowers}
58
            groupType={backendVars?.companySize}
59
            accessibility={backendVars?.industry}
60
            type="company"
61
          />
62
        </div>
63
        <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
64
          <CompanyActions
65
            name={backendVars?.companyName}
66
            image={backendVars?.image}
67
            companyId={backendVars?.companyId}
68
            cover={backendVars?.cover}
69
            overview={backendVars?.overview}
70
            refetch={() => fetchAuthorizedLinks()}
71
            actionLinks={authorizedLinks}
72
          />
73
          {!isFollower ? (
74
            <AboutCompany {...backendVars} />
75
          ) : (
76
            <FeedList
77
              image={`/storage/type/company/code/${backendVars?.companyId}/${
78
                backendVars?.image ? `filename/${backendVars?.image}` : ''
79
              }`}
80
            />
81
          )}
82
        </div>
83
        <div className="d-flex flex-column" style={{ gap: '.5rem' }}>
84
          <CompanyFollowers companyId={uuid} />
85
          <AboutCompany {...backendVars} />
86
        </div>
87
      </div>
88
    </main>
89
  )
90
}
91
 
92
export default LinkedInCompany