Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3082 | Rev 3084 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3082 Rev 3083
Línea 1... Línea 1...
1
import React, { useState } from 'react'
1
import React, { useState } from 'react'
2
import { useParams } from 'react-router-dom'
2
import { useParams } from 'react-router-dom'
3
import { useDispatch } from 'react-redux'
3
import { useDispatch } from 'react-redux'
4
import { Grid, Tab, Tabs } from '@mui/material'
4
import { Grid, Tab, Tabs } from '@mui/material'
Línea 5... Línea -...
5
 
-
 
6
import { useFetch } from '@hooks'
-
 
7
import ApplyModal from '@components/job/ApplyModal'
-
 
8
import JobAttr from '@components/job/JobAttr'
5
 
9
import { axios, parse } from '@utils'
6
import { axios, parse } from '@utils'
10
import Description from '@components/job/Description'
7
import { useFetch } from '@hooks'
11
import { addNotification } from '@store/notification/notification.actions'
-
 
-
 
8
import { addNotification } from '@store/notification/notification.actions'
12
import ClientInfo from '@components/job/ClientInfo'
9
 
-
 
10
import Spinner from '@components/UI/Spinner'
-
 
11
import JobCard from '@components/job/job-card'
-
 
12
import JobAttr from '@components/job/job-attr'
-
 
13
import ClientInfo from '@components/job/ClientInfo'
Línea 13... Línea 14...
13
import Spinner from '@components/UI/Spinner'
14
import ApplyModal from '@components/job/ApplyModal'
14
 
15
 
15
const JobViewPage = () => {
16
const JobViewPage = () => {
16
  const [showApplyModal, setShowApplyModal] = useState(false)
17
  const [showApplyModal, setShowApplyModal] = useState(false)
17
  const [loading, setLoading] = useState(false)
18
  const [loading, setLoading] = useState(false)
Línea 18... Línea 19...
18
  const { uuid } = useParams()
19
  const { uuid } = useParams()
Línea 19... Línea 20...
19
  const dispatch = useDispatch()
20
  const dispatch = useDispatch()
Línea 20... Línea -...
20
 
-
 
21
  const { data: job, isLoading } = useFetch(`/job/view/${uuid}`)
21
 
22
 
-
 
Línea 23... Línea 22...
23
  const isJobApplied = job?.job_apply_operation === 'remove-apply'
22
  const { data: job, isLoading, mutate } = useFetch(`/job/view/${uuid}`)
24
 
23
 
25
  const handleShowApplyModal = () => {
24
  const isJobApplied = job?.job_apply_operation === 'remove-apply'
Línea 26... Línea 25...
26
    setShowApplyModal(!showApplyModal)
25
 
27
  }
26
  const toggleApplyModal = () => setShowApplyModal(!showApplyModal)
28
 
27
 
Línea 56... Línea 55...
56
        <Tab label='Información' value='group' disableRipple />
55
        <Tab label='Información' value='group' disableRipple />
57
      </Tabs>
56
      </Tabs>
Línea 58... Línea 57...
58
 
57
 
59
      <Grid container spacing={2}>
58
      <Grid container spacing={2}>
60
        <Grid item xs md={8} spacing={3}>
-
 
61
          <Description
59
        <Grid item xs md={8} spacing={3}>
62
            jobId={job?.job_uuid}
-
 
63
            companyId={job?.company_uuid}
-
 
64
            companyImage={job?.company_image}
-
 
65
            jobTitle={job?.job_title}
-
 
66
            companyName={job?.company_name}
-
 
67
            timeElapsed={job?.timeElapsed}
-
 
68
            location={job?.location}
-
 
69
            jobSaved={job?.job_save_operation}
-
 
70
            lastDateOfApplication={job?.last_date_of_application}
-
 
71
            employmentType={job?.employment_type}
-
 
72
            jobCategory={job?.job_category}
-
 
73
            jobDescription={job?.job_description}
-
 
74
            jobSkills={job?.job_skills}
-
 
75
            totalApplications={job?.total_applications}
-
 
76
            jobVisits={job?.job_visits}
60
          <JobCard job={job} />
77
          />
61
 
78
          <JobAttr title='Visión general' info={parse(job?.job_description)} />
62
          <JobAttr title='Visión general' info={parse(job?.job_description)} />
79
          <JobAttr
63
          <JobAttr
80
            title='Último día de aplicación'
64
            title='Último día de aplicación'
81
            info={job?.last_date_of_application}
65
            info={job?.last_date_of_application}
Línea 92... Línea 76...
92
 
76
 
93
        <Grid item xs md={4}>
77
        <Grid item xs md={4}>
94
          <button
78
          <button
95
            type='button'
79
            type='button'
96
            className={`btn ${isJobApplied ? 'btn-secondary' : 'btn-primary'}`}
80
            className={`btn ${isJobApplied ? 'btn-secondary' : 'btn-primary'}`}
97
            onClick={isJobApplied ? removeApply : handleShowApplyModal}
81
            onClick={isJobApplied ? removeApply : toggleApplyModal}
98
            disabled={loading}
82
            disabled={loading}
99
          >
83
          >
100
            {job?.job_apply_operation === 'remove-apply'
84
            {job?.job_apply_operation === 'remove-apply'
101
              ? 'Quitar aplicación'
85
              ? 'Quitar aplicación'
Línea 112... Línea 96...
112
      </Grid>
96
      </Grid>
Línea 113... Línea 97...
113
 
97
 
114
      <ApplyModal
98
      <ApplyModal
115
        jobId={job?.job_uuid}
99
        jobId={job?.job_uuid}
116
        show={showApplyModal}
-
 
117
        onApplied={handleApply}
100
        show={showApplyModal}
118
        userProfiles={job?.user_profiles}
101
        userProfiles={job?.user_profiles}
-
 
102
        onHide={toggleApplyModal}
119
        onHide={() => setShowApplyModal(false)}
103
        onApplied={handleApply}
120
      />
104
      />
121
    </>
105
    </>
122
  )
106
  )