Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

/* eslint-disable react/prop-types */
import React, { useState } from 'react'
import parse from 'html-react-parser'

import Widget from './widget/Widget'
import JobAttr from './components/JobAttr'
import ApplyModal from './components/ApplyModal'
import Description from './components/Description'
import ApplicationSidebar from './components/ApplicationSidebar'

const View = ({
  jobId,
  companyId,
  companyImage,
  jobTitle,
  companyName,
  timeElapsed,
  location,
  jobSaved,
  lastDateOfApplication,
  employmentType,
  jobCategory,
  jobDescription,
  jobSkills,
  totalApplications,
  jobVisits,
  experience,
  salary,
  jobLanguages,
  jobDegrees,
  companyIndustry,
  companySize,
  companyAddress,
  companyWebsite,
  companyFoundationYear,
  jobApplyOperation,
  userProfiles,
}) => {
  const [showApplyModal, setShowApplyModal] = useState(false)
  const [isJobApplied, setIsJobApplied] = useState(
    jobApplyOperation !== 'apply'
  )

  const handleShowApplyModal = () => setShowApplyModal(!showApplyModal)
  const handleApply = () => setIsJobApplied(!isJobApplied)

  return (
    <>
      <main className="job-page container px-0">
        <ul className="job-tabs">
          <li data-tab="portfolio-dd" className="active animated fadeIn">
            <a href="#" title="">
              <img src="/images/ic3.png" alt="" />
              <span>Avance</span>
            </a>
          </li>
          <li data-tab="info-dd" className="animated fadeIn">
            <a href="#" title="">
              <img src="/images/ic2.png" alt="" />
              <span>Información</span>
            </a>
          </li>
        </ul>
        <section className="job-main-section">
          <div className="description_header fadeIn">
            <Description
              jobId={jobId}
              companyId={companyId}
              companyImage={companyImage}
              jobTitle={jobTitle}
              companyName={companyName}
              timeElapsed={timeElapsed}
              location={location}
              jobSaved={jobSaved}
              lastDateOfApplication={lastDateOfApplication}
              employmentType={employmentType}
              jobCategory={jobCategory}
              jobDescription={jobDescription}
              jobSkills={jobSkills}
              totalApplications={totalApplications}
              jobVisits={jobVisits}
            />
          </div>
          <JobAttr title="Visión general" info={parse(jobDescription)} />
          <JobAttr
            title="Último día de aplicación"
            info={lastDateOfApplication}
          />
          <JobAttr title="Tipo de empleo" info={employmentType} />
          <JobAttr title="Ubicación" info={location} />
          <JobAttr title="Experiencia" info={experience} />
          <JobAttr title="Salario" info={salary} />
          <JobAttr title="Categoría" info={jobCategory} />
          <JobAttr title="Habilidades" info={jobSkills} />
          <JobAttr title="Idiomas" info={jobLanguages} />
          <JobAttr title="Grados" info={jobDegrees} />
        </section>
        <div className="sidebar">
          <ApplicationSidebar
            jobId={jobId}
            showModal={handleShowApplyModal}
            toggleApply={handleApply}
            isJobApplied={isJobApplied}
          />
          <Widget
            companyIndustry={companyIndustry}
            companySize={companySize}
            companyAddress={companyAddress}
            companyWebsite={companyWebsite}
            companyFoundationYear={companyFoundationYear}
          />
        </div>
      </main>
      <ApplyModal
        show={showApplyModal}
        onApplied={handleApply}
        onHide={() => setShowApplyModal(false)}
        jobId={jobId}
        userProfiles={userProfiles}
      />
    </>
  )
}

export default View