Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3227 | Rev 5000 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3564 stevensc 1
/* eslint-disable react/prop-types */
1 www 2
import React, { useState } from "react";
3
import ApplicationSidebar from "./application-sidebar/ApplicationSidebar";
4
import ApplyModal from "./apply-modal/ApplyModal";
5
import Description from "./description/Description";
6
import Information from "./information/Information";
7
import Widget from "./widget/Widget";
8
 
9
const View = (props) => {
10
  // backendVars destructuring
11
  const {
12
    jobId,
13
    companyId,
14
    companyImage,
15
    jobTitle,
16
    companyName,
17
    timeElapsed,
18
    location,
19
    jobSaved,
20
    lastDateOfApplication,
21
    employmentType,
22
    jobCategory,
23
    jobDescription,
24
    jobSkills,
25
    totalApplications,
26
    jobVisits,
27
    experience,
28
    salary,
29
    jobLanguages,
30
    jobDegrees,
31
    companyIndustry,
32
    companySize,
33
    companyAddress,
34
    companyWebsite,
35
    companyFoundationYear,
36
    jobApplyOperation,
37
    userProfiles,
38
  } = props.backendVars;
39
 
40
  const [showApplyModal, setShowApplyModal] = useState(false);
41
  const [isJobApplied, setIsJobApplied] = useState(
42
    jobApplyOperation === "apply" ? false : true
43
  );
44
 
3564 stevensc 45
  const handleShowApplyModal = () => setShowApplyModal((currentState) => !currentState)
46
  const handleApply = () => setIsJobApplied(true)
47
  const handleWithdrawApply = () => setIsJobApplied(false)
1 www 48
 
49
  return (
50
    <React.Fragment>
51
      <main>
3564 stevensc 52
        <div className='view'>
53
          <div className={`tab tab-feed`}>
1 www 54
            <ul>
55
              <li data-tab="portfolio-dd" className="active animated fadeIn">
56
                <a href="#" title="">
57
                  <img src="/images/ic3.png" alt="" />
58
                  <span>Avance</span>
59
                </a>
60
              </li>
61
              <li data-tab="info-dd" className="animated fadeIn">
62
                <a href="#" title="">
63
                  <img src="/images/ic2.png" alt="" />
3564 stevensc 64
                  <span>Información</span>
1 www 65
                </a>
66
              </li>
67
            </ul>
68
          </div>
69
          <div
3564 stevensc 70
            className={`description_header product-feed-tab current animated fadeIn`}
1 www 71
            id="portfolio-dd"
72
          >
73
            <Description
74
              jobId={jobId}
75
              companyId={companyId}
76
              companyImage={companyImage}
77
              jobTitle={jobTitle}
78
              companyName={companyName}
79
              timeElapsed={timeElapsed}
80
              location={location}
81
              jobSaved={jobSaved}
82
              lastDateOfApplication={lastDateOfApplication}
83
              employmentType={employmentType}
84
              jobCategory={jobCategory}
85
              jobDescription={jobDescription}
86
              jobSkills={jobSkills}
87
              totalApplications={totalApplications}
88
              jobVisits={jobVisits}
89
            />
90
          </div>
3564 stevensc 91
          <div className={`description product-feed-tab animated fadeIn`} id="info-dd">
1 www 92
            <Information
93
              jobDescription={jobDescription}
94
              lastDateOfApplication={lastDateOfApplication}
95
              employmentType={employmentType}
96
              location={location}
97
              experience={experience}
98
              salary={salary}
99
              jobCategory={jobCategory}
100
              jobSkills={jobSkills}
101
              jobLanguages={jobLanguages}
102
              jobDegrees={jobDegrees}
103
            />
104
          </div>
3564 stevensc 105
          <div className='sidebar'>
1 www 106
            <ApplicationSidebar
107
              jobId={jobId}
108
              onApply={handleShowApplyModal}
109
              onWithdrawApply={handleWithdrawApply}
110
              isJobApplied={isJobApplied}
111
            />
112
            <Widget
113
              companyIndustry={companyIndustry}
114
              companySize={companySize}
115
              companyAddress={companyAddress}
116
              companyWebsite={companyWebsite}
117
              companyFoundationYear={companyFoundationYear}
118
            />
119
          </div>
120
        </div>
121
      </main>
122
      <ApplyModal
123
        show={showApplyModal}
124
        onHide={() => setShowApplyModal(false)}
125
        jobId={jobId}
126
        userProfiles={userProfiles}
127
        onApplied={handleApply}
128
      />
129
    </React.Fragment>
130
  );
131
};
132
 
133
export default View;