Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

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